let s:lang = substitute(s:lang, '\.[^.]*', "", "")
exe "runtime! lang/menu_" . s:lang . "[^a-z]*vim"
+ if !exists("did_menu_trans") && s:lang =~ '_'
+ " If the language includes a region try matching without that region.
+ " (e.g. find menu_de.vim if s:lang == de_DE).
+ let langonly = substitute(s:lang, '_.*', "", "")
+ exe "runtime! lang/menu_" . langonly . "[^a-z]*vim"
+ endif
+
if !exists("did_menu_trans") && strlen($LANG) > 1 && s:lang !~ '^en_us'
" On windows locale names are complicated, try using $LANG, it might
" have been set by set_init_1(). But don't do this for "en" or "en_us".