aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-10-27 18:08:06 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-10-28 08:03:31 +0800
commit5568267ccb94924b9dcf7bfa5d52da0f16d161e4 (patch)
treed62afdcc3603149e9c6834b0f9536018e93e3d93 /runtime
parentf44ad753801d881f5352c9182167ced18e79e456 (diff)
downloadrneovim-5568267ccb94924b9dcf7bfa5d52da0f16d161e4.tar.gz
rneovim-5568267ccb94924b9dcf7bfa5d52da0f16d161e4.tar.bz2
rneovim-5568267ccb94924b9dcf7bfa5d52da0f16d161e4.zip
vim-patch:8.2.1544: cannot translate messages in a Vim script
Problem: Cannot translate messages in a Vim script. Solution: Add gettext(). Try it out for a few messages in the options window. https://github.com/vim/vim/commit/0b39c3fd4c5d1c8ebd2efa85fced7df5e17efd3b Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/builtin.txt14
-rw-r--r--runtime/doc/usr_41.txt1
-rw-r--r--runtime/optwin.vim14
3 files changed, 22 insertions, 7 deletions
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 2c00f755be..8c9c14ffde 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -220,6 +220,7 @@ gettabvar({nr}, {varname} [, {def}])
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
any {name} in {winnr} in tab page {tabnr}
gettagstack([{nr}]) Dict get the tag stack of window {nr}
+gettext({text}) String lookup translation of {text}
getwininfo([{winid}]) List list of info about each window
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
getwinposx() Number X coord in pixels of Vim window
@@ -3584,6 +3585,19 @@ gettagstack([{winnr}]) *gettagstack()*
Can also be used as a |method|: >
GetWinnr()->gettagstack()
+
+gettext({text}) *gettext()*
+ Translate {text} if possible.
+ This is mainly for use in the distributed Vim scripts. When
+ generating message translations the {text} is extracted by
+ xgettext, the translator can add the translated message in the
+ .po file and Vim will lookup the translation when gettext() is
+ called.
+ For {text} double quoted strings are preferred, because
+ xgettext does not understand escaping in single quoted
+ strings.
+
+
getwininfo([{winid}]) *getwininfo()*
Returns information about windows as a |List| with Dictionaries.
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index d2db967c97..6d139643d6 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -639,6 +639,7 @@ String manipulation: *string-functions*
execute() execute an Ex command and get the output
win_execute() like execute() but in a specified window
trim() trim characters from a string
+ gettext() lookup message translation
List manipulation: *list-functions*
get() get an item without error for wrong index
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index 4db5e20921..16af8fce17 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -149,13 +149,13 @@ exe $OPTWIN_CMD . ' new option-window'
setlocal ts=15 tw=0 noro buftype=nofile
" Insert help and a "set" command for each option.
-call append(0, '" Each "set" line shows the current value of an option (on the left).')
-call append(1, '" Hit <CR> on a "set" line to execute it.')
-call append(2, '" A boolean option will be toggled.')
-call append(3, '" For other options you can edit the value before hitting <CR>.')
-call append(4, '" Hit <CR> on a help line to open a help window on this option.')
-call append(5, '" Hit <CR> on an index line to jump there.')
-call append(6, '" Hit <Space> on a "set" line to refresh it.')
+call append(0, gettext('" Each "set" line shows the current value of an option (on the left).'))
+call append(1, gettext('" Hit <Enter> on a "set" line to execute it.'))
+call append(2, gettext('" A boolean option will be toggled.'))
+call append(3, gettext('" For other options you can edit the value before hitting <Enter>.'))
+call append(4, gettext('" Hit <Enter> on a help line to open a help window on this option.'))
+call append(5, gettext('" Hit <Enter> on an index line to jump there.'))
+call append(6, gettext('" Hit <Space> on a "set" line to refresh it.'))
" These functions are called often below. Keep them fast!