blob: 150ccd967b1419f5d847e687442a2a266690ee7d [file] [log] [blame]
Bram Moolenaara9604e62018-07-21 05:56:22 +02001Language files for Vim: Translated menus
Bram Moolenaar071d4272004-06-13 20:20:40 +00002
3The contents of each menu file is a sequence of lines with "menutrans"
4commands. Read one of the existing files to get an idea of how this works.
5
6More information in the on-line help:
7
8 :help multilang-menus
9 :help :menutrans
10 :help 'langmenu'
11 :help :language
12
Bram Moolenaar8cc5b552022-06-23 13:04:20 +010013You can find a couple of helper tools for translating menus on github:
14https://github.com/adaext/vim-menutrans-helper
15
Bram Moolenaar071d4272004-06-13 20:20:40 +000016The "$VIMRUNTIME/menu.vim" file will search for a menu translation file. This
17depends on the value of the "v:lang" variable.
18
19 "menu_" . v:lang . ".vim"
20
21When the 'menutrans' option is set, its value will be used instead of v:lang.
22
23The file name is always lower case. It is the full name as the ":language"
24command shows (the LC_MESSAGES value).
25
26For example, to use the Big5 (Taiwan) menus on MS-Windows the $LANG will be
27
28 Chinese(Taiwan)_Taiwan.950
29
30and use the menu translation file:
31
32 $VIMRUNTIME/lang/menu_chinese(taiwan)_taiwan.950.vim
33
34On Unix you should set $LANG, depending on your shell:
35
36 csh/tcsh: setenv LANG "zh_TW.Big5"
37 sh/bash/ksh: export LANG="zh_TW.Big5"
38
39and the menu translation file is:
40
41 $VIMRUNTIME/lang/menu_zh_tw.big5.vim
42
43The menu translation file should set the "did_menu_trans" variable so that Vim
44will not load another file.
45
46
47AUTOMATIC CONVERSION
48
49When Vim was compiled with multi-byte support, conversion between latin1 and
50UTF-8 will always be possible. Other conversions depend on the iconv
51library, which is not always available.
52For UTF-8 menu files which only use latin1 characters, you can rely on Vim
53doing the conversion. Let the UTF-8 menu file source the latin1 menu file,
54and put "scriptencoding latin1" in that one.
55Other conversions may not always be available (e.g., between iso-8859-# and
56MS-Windows codepages), thus the converted menu file must be available.