changeset 27804:8fc68ce4a097

Update runtime files Commit: https://github.com/vim/vim/commit/944697ae19683441981539cd4d2469df89d6ec82 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 20 19:48:20 2022 +0000 Update runtime files
author Bram Moolenaar <Bram@vim.org>
date Sun, 20 Feb 2022 21:00:04 +0100
parents 9824bd8b05df
children afbe86e8b24a
files runtime/doc/builtin.txt runtime/doc/editing.txt runtime/doc/eval.txt runtime/doc/options.txt runtime/doc/os_win32.txt runtime/doc/remote.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/usr_41.txt runtime/doc/vim-ja.UTF-8.1 runtime/doc/vim9.txt runtime/filetype.vim runtime/lang/menu_ja_jp.euc-jp.vim runtime/lang/menu_ja_jp.utf-8.vim runtime/lang/menu_japanese_japan.932.vim runtime/syntax/structurizr.vim src/po/de.po src/po/en_GB.po src/po/es.po src/po/fi.po src/po/it.po src/po/ja.euc-jp.po src/po/ja.po src/po/ja.sjis.po src/po/sk.cp1250.po src/po/sk.po src/po/sr.po src/po/zh_CN.po
diffstat 28 files changed, 381 insertions(+), 329 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt*	For Vim version 8.2.  Last change: 2022 Feb 08
+*builtin.txt*	For Vim version 8.2.  Last change: 2022 Feb 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2082,9 +2082,12 @@ exists({expr})	The result is a Number, w
 			dict.key	|internal-variables|).  Also works
 			list[i]		for |curly-braces-names|, |Dictionary|
 			import.Func	entries, |List| items, imported
-					items,etc.
+					items, etc.
 					Does not work for local variables in a
 					compiled `:def` function.
+					Also works for a function in |Vim9|
+					script, since it can be used as a
+					function reference.
 					Beware that evaluating an index may
 					cause an error message for an invalid
 					expression.  E.g.: >
@@ -2137,7 +2140,8 @@ exists({expr})	The result is a Number, w
 			exists("&shortname")
 			exists("$HOSTNAME")
 			exists("*strftime")
-			exists("*s:MyFunc")
+			exists("*s:MyFunc")	" only for legacy script
+			exists("*MyFunc")
 			exists("bufcount")
 			exists(":Make")
 			exists("#CursorHold")
@@ -4999,12 +5003,12 @@ listener_add({callback} [, {buf}])			*li
 		Returns a unique ID that can be passed to |listener_remove()|.
 
 		The {callback} is invoked with five arguments:
-		    a:bufnr	the buffer that was changed
-		    a:start	first changed line number
-		    a:end	first line number below the change
-		    a:added	number of lines added, negative if lines were
+		    bufnr	the buffer that was changed
+		    start	first changed line number
+		    end		first line number below the change
+		    added	number of lines added, negative if lines were
 				deleted
-		    a:changes	a List of items with details about the changes
+		    changes	a List of items with details about the changes
 
 		Example: >
 	    func Listener(bufnr, start, end, added, changes)
@@ -5012,7 +5016,7 @@ listener_add({callback} [, {buf}])			*li
 	    endfunc
 	    call listener_add('Listener', bufnr)
 
-<		The List cannot be changed.  Each item in a:changes is a
+<		The List cannot be changed.  Each item in "changes" is a
 		dictionary with these entries:
 		    lnum	the first line number of the change
 		    end		the first line below the change
@@ -5139,7 +5143,7 @@ luaeval({expr} [, {expr}])					*luaeval(
 
 map({expr1}, {expr2})					*map()*
 		{expr1} must be a |List|, |String|, |Blob| or |Dictionary|.
-		When {expr1} is a |List|| or |Dictionary|, replace each
+		When {expr1} is a |List| or |Dictionary|, replace each
 		item in {expr1} with the result of evaluating {expr2}.
 		For a |Blob| each byte is replaced.
 		For a |String|, each character, including composing
@@ -6617,16 +6621,22 @@ reltimestr({time})				*reltimestr()*
 
 							*remote_expr()* *E449*
 remote_expr({server}, {string} [, {idvar} [, {timeout}]])
-		Send the {string} to {server}.  The string is sent as an
-		expression and the result is returned after evaluation.
-		The result must be a String or a |List|.  A |List| is turned
-		into a String by joining the items with a line break in
-		between (not at the end), like with join(expr, "\n").
+		Send the {string} to {server}.  The {server} argument is a
+		string, also see |{server}|.
+
+		The string is sent as an expression and the result is returned
+		after evaluation.  The result must be a String or a |List|.  A
+		|List| is turned into a String by joining the items with a
+		line break in between (not at the end), like with join(expr,
+		"\n").
+
 		If {idvar} is present and not empty, it is taken as the name
 		of a variable and a {serverid} for later use with
 		|remote_read()| is stored there.
+
 		If {timeout} is given the read times out after this many
 		seconds.  Otherwise a timeout of 600 seconds is used.
+
 		See also |clientserver| |RemoteReply|.
 		This function is not available in the |sandbox|.
 		{only available when compiled with the |+clientserver| feature}
@@ -6647,7 +6657,7 @@ remote_expr({server}, {string} [, {idvar
 
 remote_foreground({server})				*remote_foreground()*
 		Move the Vim server with the name {server} to the foreground.
-		The {server} argument is a string.
+		The {server} argument is a string, also see |{server}|.
 		This works like: >
 			remote_expr({server}, "foreground()")
 <		Except that on Win32 systems the client does the work, to work
@@ -6696,12 +6706,17 @@ remote_read({serverid}, [{timeout}])			*
 <
 							*remote_send()* *E241*
 remote_send({server}, {string} [, {idvar}])
-		Send the {string} to {server}.  The string is sent as input
-		keys and the function returns immediately.  At the Vim server
-		the keys are not mapped |:map|.
+		Send the {string} to {server}.  The {server} argument is a
+		string, also see |{server}|.
+
+		The string is sent as input keys and the function returns
+		immediately.  At the Vim server the keys are not mapped
+		|:map|.
+
 		If {idvar} is present, it is taken as the name of a variable
 		and a {serverid} for later use with remote_read() is stored
 		there.
+
 		See also |clientserver| |RemoteReply|.
 		This function is not available in the |sandbox|.
 		{only available when compiled with the |+clientserver| feature}
@@ -6916,6 +6931,8 @@ screenpos({winid}, {lnum}, {col})				*sc
 		as if 'conceallevel' is zero.  You can set the cursor to the
 		right position and use |screencol()| to get the value with
 		|conceal| taken into account.
+		If the position is in a closed fold the screen position of the
+		first character is returned, {col} is not used.
 
 		Can also be used as a |method|: >
 			GetWinid()->screenpos(lnum, col)
@@ -7897,7 +7914,7 @@ sha256({string})						*sha256()*
 shellescape({string} [, {special}])			*shellescape()*
 		Escape {string} for use as a shell command argument.
 		When the 'shell' contains powershell (MS-Windows) or pwsh
-		(MS-Windows, Linux, and MacOS) then it will enclose {string}
+		(MS-Windows, Linux, and macOS) then it will enclose {string}
 		in single quotes and will double up all internal single
 		quotes.
 		On MS-Windows, when 'shellslash' is not set, it will enclose
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 8.2.  Last change: 2022 Feb 04
+*editing.txt*   For Vim version 8.2.  Last change: 2022 Feb 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -222,7 +222,7 @@ 2. Editing a file					*edit-a-file*
 			Edit {file} always.  Discard any changes to the
 			current buffer.
 			Also see |++opt| and |+cmd|.
-
+							*:edit_#* *:e#*
 :e[dit] [++opt] [+cmd] #[count]
 			Edit the [count]th buffer (as shown by |:files|).
 			This command does the same as [count] CTRL-^.  But ":e
@@ -389,7 +389,7 @@ as a wildcard when "[" is in the 'isfnam
 is to use "path\[[]abc]", this matches the file "path\[abc]".
 
 					*starstar-wildcard*
-Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
+Expanding "**" is possible on Unix, Win32, macOS and a few other systems.
 This allows searching a directory tree.  This goes up to 100 directories deep.
 Note there are some commands where this works slightly differently, see
 |file-searching|.
@@ -1695,7 +1695,7 @@ which version of the file you want to ke
 
 The accuracy of the time check depends on the filesystem.  On Unix it is
 usually sub-second.  With old file sytems and on MS-Windows it is normally one
-second.  Use has('nanotime') check if sub-second time stamp checks are
+second.  Use `has('nanotime')` to check if sub-second time stamp checks are
 available.
 
 There is one situation where you get the message while there is nothing wrong:
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2022 Feb 04
+*eval.txt*	For Vim version 8.2.  Last change: 2022 Feb 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1371,7 +1371,7 @@ And NOT: >
 	-(1.234->string())
 
 What comes after "->" can be a name, a simple expression (not containing any
-parenthesis), or any expression in parenthesis: >
+parenthesis), or any expression in parentheses: >
 	base->name(args)
 	base->some.name(args)
 	base->alist[idx](args)
@@ -2182,7 +2182,8 @@ v:lnum		Line number for the 'foldexpr' |
 
 						*v:maxcol* *maxcol-variable*
 v:maxcol	Maximum line length.  Depending on where it is used it can be
-		screen columns, characters or bytes.
+		screen columns, characters or bytes.  The value currently is
+		2147483647 on all systems.
 
 					*v:mouse_win* *mouse_win-variable*
 v:mouse_win	Window number for a mouse click obtained with |getchar()|.
@@ -3001,8 +3002,9 @@ Also note that if you have two script fi
 other and vice versa, before the used function is defined, it won't work.
 Avoid using the autoload functionality at the toplevel.
 
-In |Vim9| script you will get error *E1263* if you use a function name with a
-"#" character when not in an autoload script.
+In |Vim9| script you will get error *E1263* if you define a function with
+a "#" character in the name.  You should use a name without "#" and use
+`:export`.
 
 Hint: If you distribute a bunch of scripts you can pack them together with the
 |vimball| utility.  Also read the user manual |distribute-script|.
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2022 Feb 08
+*options.txt*	For Vim version 8.2.  Last change: 2022 Feb 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4038,7 +4038,7 @@ A jump table for the options with a shor
 'guitablabel' 'gtl'	string	(default empty)
 			global
 			{only available when compiled with GUI enabled}
-	When nonempty describes the text to use in a label of the GUI tab
+	When non-empty describes the text to use in a label of the GUI tab
 	pages line.  When empty and when the result is empty Vim will use a
 	default label.  See |setting-guitablabel| for more info.
 
@@ -4056,7 +4056,7 @@ A jump table for the options with a shor
 'guitabtooltip' 'gtt'	string	(default empty)
 			global
 			{only available when compiled with GUI enabled}
-	When nonempty describes the text to use in a tooltip for the GUI tab
+	When non-empty describes the text to use in a tooltip for the GUI tab
 	pages line.  When empty Vim will use a default tooltip.
 	This option is otherwise just like 'guitablabel' above.
 	You can include a line break.  Simplest method is to use |:let|: >
@@ -7459,7 +7459,7 @@ A jump table for the options with a shor
 			global or local to window |global-local|
 			{not available when compiled without the |+statusline|
 			feature}
-	When nonempty, this option determines the content of the status line.
+	When non-empty, this option determines the content of the status line.
 	Also see |status-line|.
 
 	The option consists of printf style '%' items interspersed with
@@ -7767,7 +7767,7 @@ A jump table for the options with a shor
 						*'tabline'* *'tal'*
 'tabline' 'tal'		string	(default empty)
 			global
-	When nonempty, this option determines the content of the tab pages
+	When non-empty, this option determines the content of the tab pages
 	line at the top of the Vim window.  When empty Vim will use a default
 	tab pages line.  See |setting-tabline| for more info.
 
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt*  For Vim version 8.2.  Last change: 2021 Apr 05
+*os_win32.txt*  For Vim version 8.2.  Last change: 2022 Feb 14
 
 
 		  VIM REFERENCE MANUAL    by George Reilly
@@ -294,7 +294,7 @@ A. When using :! to run an external comm
        /b    no console window will be opened
    You can use only one of these flags at a time.  A second one will be
    treated as the start of the command.
-
+						*windows-asynchronously*
 Q. How do I avoid getting a window for programs that I run asynchronously?
 A. You have two possible solutions depending on what you want:
    1) You may use the /min flag in order to run program in a minimized state
@@ -308,17 +308,17 @@ A. You have two possible solutions depen
 
    Example for a console application, run Exuberant ctags: >
         :!start /min ctags -R .
-<  When it has finished you should see file named "tags" in your current
+<   When it has finished you should see file named "tags" in your current
    directory.  You should notice the window title blinking on your taskbar.
    This is more noticeable for commands that take longer.
    Now delete the "tags" file and run this command: >
         :!start /b ctags -R .
-<  You should have the same "tags" file, but this time there will be no
+<   You should have the same "tags" file, but this time there will be no
    blinking on the taskbar.
    Example for a GUI application: >
         :!start /min notepad
         :!start /b notepad
-<  The first command runs notepad minimized and the second one runs it
+<   The first command runs notepad minimized and the second one runs it
    normally.
 
 						*windows-icon*
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -1,4 +1,4 @@
-*remote.txt*    For Vim version 8.2.  Last change: 2021 Dec 27
+*remote.txt*    For Vim version 8.2.  Last change: 2022 Feb 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -120,6 +120,10 @@ when sending command to it.
 
 The --serverlist argument will cause Vim to print a list of registered command
 servers on the standard output (stdout) and exit.
+							*{server}*
+The {server} argument is used by several functions.  When this is an empty
+string then on Unix the default server name is used, which is "GVIM".  On
+MS-Windows an empty string does not work.
 
 Win32 Note: Making the Vim server go to the foreground doesn't always work,
 because MS-Windows doesn't allow it.  The client will move the server to the
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2415,6 +2415,7 @@ 90.5	usr_90.txt	/*90.5*
 :dsp	tagsrch.txt	/*:dsp*
 :dsplit	tagsrch.txt	/*:dsplit*
 :e	editing.txt	/*:e*
+:e#	editing.txt	/*:e#*
 :ea	undo.txt	/*:ea*
 :earlier	undo.txt	/*:earlier*
 :ec	eval.txt	/*:ec*
@@ -2432,6 +2433,7 @@ 90.5	usr_90.txt	/*90.5*
 :edit	editing.txt	/*:edit*
 :edit!	editing.txt	/*:edit!*
 :edit!_f	editing.txt	/*:edit!_f*
+:edit_#	editing.txt	/*:edit_#*
 :edit_f	editing.txt	/*:edit_f*
 :el	eval.txt	/*:el*
 :else	eval.txt	/*:else*
@@ -4032,6 +4034,7 @@ E1075	vim9.txt	/*E1075*
 E1076	eval.txt	/*E1076*
 E1077	vim9.txt	/*E1077*
 E108	eval.txt	/*E108*
+E1080	vim9.txt	/*E1080*
 E1081	eval.txt	/*E1081*
 E1083	editing.txt	/*E1083*
 E1084	eval.txt	/*E1084*
@@ -10529,6 +10532,7 @@ vim9-namespace	vim9.txt	/*vim9-namespace
 vim9-no-dict-function	vim9.txt	/*vim9-no-dict-function*
 vim9-rationale	vim9.txt	/*vim9-rationale*
 vim9-reload	vim9.txt	/*vim9-reload*
+vim9-s-namespace	vim9.txt	/*vim9-s-namespace*
 vim9-scopes	vim9.txt	/*vim9-scopes*
 vim9-script-intro	usr_46.txt	/*vim9-script-intro*
 vim9-types	vim9.txt	/*vim9-types*
@@ -10686,6 +10690,7 @@ windowid	windows.txt	/*windowid*
 windowid-variable	eval.txt	/*windowid-variable*
 windows	windows.txt	/*windows*
 windows-3.1	os_win32.txt	/*windows-3.1*
+windows-asynchronously	os_win32.txt	/*windows-asynchronously*
 windows-icon	os_win32.txt	/*windows-icon*
 windows-intro	windows.txt	/*windows-intro*
 windows-starting	windows.txt	/*windows-starting*
@@ -10859,6 +10864,7 @@ zz	scroll.txt	/*zz*
 {offset}	pattern.txt	/*{offset}*
 {register}	change.txt	/*{register}*
 {rhs}	map.txt	/*{rhs}*
+{server}	remote.txt	/*{server}*
 {subject}	helphelp.txt	/*{subject}*
 {}	intro.txt	/*{}*
 }	motion.txt	/*}*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2022 Feb 11
+*todo.txt*      For Vim version 8.2.  Last change: 2022 Feb 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,13 +38,9 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Disallow using "s:" in Vim9 script at the script level.
-Disallow a legacy function creating an s: variable in Vim9 script.
-
 Once Vim9 is stable:
 - Use Vim9 for runtime files.
 - Check code coverage, add more tests if needed.
-	vim9compile.c
 	vim9execute.c
 	vim9expr.c
 	vim9instr.c
@@ -421,9 +417,6 @@ When editing a file with ":edit" the out
 editing it with "vim file" it is absolute. (#355)
 Which one should it be?
 
-:map output does not clear the reset of the command line.
-(#5623, also see #5962)
-
 Problem with auto-formatting - inserting space and putting cursor before added
 character. (#6154)
 
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -162,7 +162,7 @@ and avoid errors.  Such as thinking that
 negative, while it is actually seen as a subtraction.
 
 To actually have the minus sign be used for negation, you can put the second
-expression in parenthesis: >
+expression in parentheses: >
 
 	echo -0x7f (-0o36)
 
--- a/runtime/doc/vim-ja.UTF-8.1
+++ b/runtime/doc/vim-ja.UTF-8.1
@@ -1,4 +1,4 @@
-.TH VIM 1 "2006 Apr 11"
+.TH VIM 1 "2021 Jun 13"
 .SH 名前
 vim \- Vi IMproved, プログラマのテキストエディタ
 .SH 書式
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2022 Feb 11
+*vim9.txt*	For Vim version 8.2.  Last change: 2022 Feb 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -282,13 +282,14 @@ If you do want to keep items, use: >
 	vim9script noclear
 
 You want to use this in scripts that use a `finish` command to bail out at
-some point when loaded again.  E.g. when a buffer local option is set: >
+some point when loaded again.  E.g. when a buffer local option is set to a
+function, the function does not need to be defined more than once: >
 	vim9script noclear
 	setlocal completefunc=SomeFunc
-	if exists('*g:SomeFunc')
+	if exists('*SomeFunc')
 	  finish
 	endif
-	def g:SomeFunc()
+	def SomeFunc()
 	....
 
 
@@ -422,7 +423,7 @@ similar to how a function argument can b
 	[a, _, c] = theList
 To ignore any remaining items: >
 	[a, b; _] = longList
-<							*E1163*
+<							*E1163* *E1080*
 Declaring more than one variable at a time, using the unpack notation, is
 possible.  Each variable can have a type or infer it from the value: >
 	var [v1: number, v2] = GetValues()
@@ -837,6 +838,7 @@ Instead of `:k` you can use `:mark`.
 Comparators ~
 
 The 'ignorecase' option is not used for comparators that use strings.
+Thus "=~" works like "=~#".
 
 
 Abort after error ~
@@ -1430,32 +1432,61 @@ In legacy Vim script, where a number was
 automatically converted to a number.  This was convenient for an actual number
 such as "123", but leads to unexpected problems (and no error message) if the
 string doesn't start with a number.  Quite often this leads to hard-to-find
-bugs.
+bugs. e.g.: >
+	echo 123 == '123'
+<	1 ~
+With an accidental space: >
+	echo 123 == ' 123'
+<	0 ~
 							*E1206* *E1210* *E1212*
 In Vim9 script this has been made stricter.  In most places it works just as
-before, if the value used matches the expected type.  There will sometimes be
+before if the value used matches the expected type.  There will sometimes be
 an error, thus breaking backwards compatibility.  For example:
 - Using a number other than 0 or 1 where a boolean is expected.  *E1023*
 - Using a string value when setting a number option.
 - Using a number where a string is expected.   *E1024* *E1105*
 
 One consequence is that the item type of a list or dict given to |map()| must
-not change.  This will give an error in Vim9 script: >
-	echo map([1, 2, 3], (i, v) => 'item ' .. i)
-	E1012: Type mismatch; expected number but got string
-Instead use |mapnew()|: >
-	echo mapnew([1, 2, 3], (i, v) => 'item ' .. i)
-	['item 0', 'item 1', 'item 2']
+not change, if the type was declared.  This will give an error in Vim9
+script: >
+	var mylist: list<number> = [1, 2, 3]
+	echo map(mylist, (i, v) => 'item ' .. i)
+<	E1012: Type mismatch; expected number but got string in map() ~
 
-If the item type was determined to be "any" it can change to a more specific
-type.  E.g. when a list of mixed types gets changed to a list of strings: >
+Instead use |mapnew()|, it creates a new list: >
+	var mylist: list<number> = [1, 2, 3]
+	echo mapnew(mylist, (i, v) => 'item ' .. i)
+<	['item 0', 'item 1', 'item 2'] ~
+
+If the item type was not declared or determined to be "any" it can change to a
+more specific type.  E.g. when a list of mixed types gets changed to a list of
+strings: >
 	var mylist = [1, 2.0, '3']
 	# typename(mylist) == "list<any>"
 	map(mylist, (i, v) => 'item ' .. i)
 	# typename(mylist) == "list<string>", no error
-<								*E1158*
+
+There is a subtle difference between using a list constant directly and
+through a variable declaraiton.  Because of type inference, when using a list
+constant to initialize a variable, this also sets the declared type: >
+	var mylist = [1, 2, 3]
+	# typename(mylist) == "list<number>"
+	echo map(mylist, (i, v) => 'item ' .. i)  # Error!
+
+When using the list constant directly, the type is not declared and is allowed
+to change: >
+	echo map([1, 2, 3], (i, v) => 'item ' .. i)  # OK
+
+The reasoning behind this is that when a type is declared and the list is
+passed around and changed, the declaration must always hold.  So that you can
+rely on the type to match the declared type.  For a constant this is not
+needed.
+
+								*E1158*
 Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use
-|flattennew()| instead.
+|flattennew()| instead.  Since |flatten()| is intended to always change the
+type, it can not be used in Vim9 script.
+
 			 *E1211* *E1217* *E1218* *E1219* *E1220* *E1221*
 			 *E1222* *E1223* *E1224* *E1225* *E1226* *E1227*
 			 *E1228* *E1238* *E1250* *E1251* *E1252* *E1253*
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2022 Jan 31
+" Last Change:	2022 Feb 13
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
--- a/runtime/lang/menu_ja_jp.euc-jp.vim
+++ b/runtime/lang/menu_ja_jp.euc-jp.vim
@@ -2,13 +2,14 @@
 "
 " Menu Translations:	Japanese (EUC-JP)
 " Last Translator:	MURAOKA Taro  <koron.kaoriya@gmail.com>
-" Last Change:		18-Jul-2018.
-" Generated from menu_ja_jp.utf-8.vim, DO NOT EDIT
+" Last Change:		20-Feb-2022.
 "
-" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
+" Copyright (C) 2001-2022 MURAOKA Taro <koron.kaoriya@gmail.com>,
 "			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
+"
+" Generated from menu_ja_jp.utf-8.vim, DO NOT EDIT
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -24,7 +25,7 @@ scriptencoding euc-jp
 menutrans &Help			إ(&H)
 menutrans &Overview<Tab><F1>	ά(&O)<Tab><F1>
 menutrans &User\ Manual		桼ޥ˥奢(&U)
-menutrans &How-to\ links	&How-to
+menutrans &How-To\ links	&How-to
 menutrans &Credits		쥸å(&C)
 menutrans Co&pying		(&P)
 menutrans &Sponsor/Register	ݥ󥵡/Ͽ(&S)
@@ -271,10 +272,9 @@ if has("toolbar")
     tmenu ToolBar.Cut		åץܡɤڤ
     tmenu ToolBar.Copy		åץܡɤإԡ
     tmenu ToolBar.Paste		åץܡɤŽդ
-    tmenu ToolBar.Find		...
+    tmenu ToolBar.Replace	 / ִ...
     tmenu ToolBar.FindNext	򸡺
     tmenu ToolBar.FindPrev	򸡺
-    tmenu ToolBar.Replace	ִ...
     if 0	" disabled; These are in the Windows menu
       tmenu ToolBar.New		ɥ
       tmenu ToolBar.WinSplit	ɥʬ
--- a/runtime/lang/menu_ja_jp.utf-8.vim
+++ b/runtime/lang/menu_ja_jp.utf-8.vim
@@ -2,13 +2,14 @@
 "
 " Menu Translations:	Japanese (UTF-8)
 " Last Translator:	MURAOKA Taro  <koron.kaoriya@gmail.com>
-" Last Change:		18-Jul-2018.
-" Original translations
+" Last Change:		20-Feb-2022.
 "
-" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
+" Copyright (C) 2001-2022 MURAOKA Taro <koron.kaoriya@gmail.com>,
 "			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
+"
+" Original translations
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -24,7 +25,7 @@ scriptencoding utf-8
 menutrans &Help			ヘルプ(&H)
 menutrans &Overview<Tab><F1>	概略(&O)<Tab><F1>
 menutrans &User\ Manual		ユーザーマニュアル(&U)
-menutrans &How-to\ links	&How-toリンク
+menutrans &How-To\ links	&How-toリンク
 menutrans &Credits		クレジット(&C)
 menutrans Co&pying		著作権情報(&P)
 menutrans &Sponsor/Register	スポンサー/登録(&S)
@@ -271,10 +272,9 @@ if has("toolbar")
     tmenu ToolBar.Cut		クリップボードへ切り取り
     tmenu ToolBar.Copy		クリップボードへコピー
     tmenu ToolBar.Paste		クリップボードから貼り付け
-    tmenu ToolBar.Find		検索...
+    tmenu ToolBar.Replace	検索 / 置換...
     tmenu ToolBar.FindNext	次を検索
     tmenu ToolBar.FindPrev	前を検索
-    tmenu ToolBar.Replace	置換...
     if 0	" disabled; These are in the Windows menu
       tmenu ToolBar.New		新規ウィンドウ作成
       tmenu ToolBar.WinSplit	ウィンドウ分割
--- a/runtime/lang/menu_japanese_japan.932.vim
+++ b/runtime/lang/menu_japanese_japan.932.vim
@@ -2,13 +2,14 @@
 "
 " Menu Translations:	Japanese (CP932)
 " Last Translator:	MURAOKA Taro  <koron.kaoriya@gmail.com>
-" Last Change:		18-Jul-2018.
-" Generated from menu_ja_jp.utf-8.vim, DO NOT EDIT
+" Last Change:		20-Feb-2022.
 "
-" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
+" Copyright (C) 2001-2022 MURAOKA Taro <koron.kaoriya@gmail.com>,
 "			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
+"
+" Generated from menu_ja_jp.utf-8.vim, DO NOT EDIT
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -24,7 +25,7 @@ scriptencoding cp932
 menutrans &Help			wv(&H)
 menutrans &Overview<Tab><F1>	T(&O)<Tab><F1>
 menutrans &User\ Manual		[U[}jA(&U)
-menutrans &How-to\ links	&How-toN
+menutrans &How-To\ links	&How-toN
 menutrans &Credits		NWbg(&C)
 menutrans Co&pying		쌠(&P)
 menutrans &Sponsor/Register	X|T[/o^(&S)
@@ -271,10 +272,9 @@ if has("toolbar")
     tmenu ToolBar.Cut		Nbv{[h֐؂
     tmenu ToolBar.Copy		Nbv{[hփRs[
     tmenu ToolBar.Paste		Nbv{[h\t
-    tmenu ToolBar.Find		...
+    tmenu ToolBar.Replace	 / u...
     tmenu ToolBar.FindNext	
     tmenu ToolBar.FindPrev	O
-    tmenu ToolBar.Replace	u...
     if 0	" disabled; These are in the Windows menu
       tmenu ToolBar.New		VKEBhE쐬
       tmenu ToolBar.WinSplit	EBhE
--- a/runtime/syntax/structurizr.vim
+++ b/runtime/syntax/structurizr.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:      Structurizr DSL
 " Maintainer:    Bastian Venthur <venthur@debian.org>
-" Last Change:   2021-08-16
+" Last Change:   2022-02-15
 " Remark:        For a language reference, see
 "                https://github.com/structurizr/dsl
 
@@ -30,6 +30,7 @@ syn keyword skeyword deployment
 syn keyword skeyword deploymentenvironment
 syn keyword skeyword deploymentgroup
 syn keyword skeyword deploymentnode
+syn keyword skeyword description
 syn keyword skeyword dynamic
 syn keyword skeyword element
 syn keyword skeyword enterprise
@@ -37,7 +38,6 @@ syn keyword skeyword exclude
 syn keyword skeyword filtered
 syn keyword skeyword group
 syn keyword skeyword healthcheck
-syn keyword skeyword impliedrelationships
 syn keyword skeyword include
 syn keyword skeyword infrastructurenode
 syn keyword skeyword model
@@ -51,6 +51,7 @@ syn keyword skeyword styles
 syn keyword skeyword systemcontext
 syn keyword skeyword systemlandscape
 syn keyword skeyword tags
+syn keyword skeyword technology
 syn keyword skeyword terminology
 syn keyword skeyword theme
 syn keyword skeyword title
@@ -63,7 +64,11 @@ syn match skeyword "\!adrs\s\+"
 syn match skeyword "\!constant\s\+"
 syn match skeyword "\!docs\s\+"
 syn match skeyword "\!identifiers\s\+"
+syn match skeyword "\!impliedrelationships\s\+"
 syn match skeyword "\!include\s\+"
+syn match skeyword "\!plugin\s\+"
+syn match skeyword "\!ref\s\+"
+syn match skeyword "\!script\s\+"
 
 syn region sstring oneline start='"' end='"'
 
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -10038,5 +10038,3 @@ msgstr "Name der dynamischen MzScheme Bi
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "Name der dynamischen MzScheme GC Bibliothek"
-
-
--- a/src/po/en_GB.po
+++ b/src/po/en_GB.po
@@ -557,7 +557,6 @@ msgid "E536: comma required"
 msgstr "E536: Comma required"
 
 
-
 msgid "E542: unbalanced groups"
 msgstr "E542: Unbalanced groups"
 
@@ -761,5 +760,3 @@ msgstr "E749: Empty buffer"
 
 msgid "can't delete OutputObject attributes"
 msgstr "cannot delete OutputObject attributes"
-
-
--- a/src/po/es.po
+++ b/src/po/es.po
@@ -6337,5 +6337,3 @@ msgstr "La búsqueda ha llegado al PRINCIPIO, continuando desde el FINAL"
 
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "La búsqueda ha llegado al FINAL, continuando desde el PRINCIPIO"
-
-
--- a/src/po/fi.po
+++ b/src/po/fi.po
@@ -9883,5 +9883,3 @@ msgstr "MzSchemen dynaamisen kirjaston n
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "MzSchemen GC:n dynaamisen kirjaston nimi"
-
-
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -9278,4 +9278,3 @@ msgstr "nome della libreria dinamica MzS
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "nome della libreria dinamica MzScheme GC"
-
--- a/src/po/ja.euc-jp.po
+++ b/src/po/ja.euc-jp.po
@@ -14,8 +14,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-16 10:46+0900\n"
-"PO-Revision-Date: 2022-01-16 12:43+0900\n"
+"POT-Creation-Date: 2022-02-18 13:52+0900\n"
+"PO-Revision-Date: 2022-02-20 01:53+0900\n"
 "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
 "Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
 "Language: ja\n"
@@ -780,10 +780,12 @@ msgstr "ٹ"
 
 msgid ""
 "&OK\n"
-"&Load File"
+"&Load File\n"
+"Load File &and Options"
 msgstr ""
 "&OK\n"
-"եɹ(&L)"
+"եɹ(&L)\n"
+"եȥץɹ(&A)"
 
 msgid "<empty>"
 msgstr "<>"
@@ -3082,36 +3084,6 @@ msgstr "ΥХåե줿ʸǤϤޤ"
 msgid "'redrawtime' exceeded, syntax highlighting disabled"
 msgstr "'redrawtime' Ķᤷᡢʸϥ饤Ȥ̵ޤ"
 
-msgid "syntax conceal on"
-msgstr "ʸ conceal ϸ on Ǥ"
-
-msgid "syntax conceal off"
-msgstr "ʸ conceal ϸ off Ǥ"
-
-msgid "syntax case ignore"
-msgstr "ʸʸʸϸ ignore Ǥ"
-
-msgid "syntax case match"
-msgstr "ʸʸʸϸ match Ǥ"
-
-msgid "syntax foldlevel start"
-msgstr "ʸ foldlevel ϸ start Ǥ"
-
-msgid "syntax foldlevel minimum"
-msgstr "ʸ foldlevel ϸ minimum Ǥ"
-
-msgid "syntax spell toplevel"
-msgstr "ʸ spell ϸ toplevel Ǥ"
-
-msgid "syntax spell notoplevel"
-msgstr "ʸ spell ϸ notoplevel Ǥ"
-
-msgid "syntax spell default"
-msgstr "ʸ spell ϸ default Ǥ"
-
-msgid "syntax iskeyword "
-msgstr "ʸ iskeyword "
-
 msgid "syntax iskeyword not set"
 msgstr "ʸ iskeyword ϥåȤƤޤ"
 
@@ -3248,7 +3220,7 @@ msgstr "λ"
 msgid "(Invalid)"
 msgstr "(̵)"
 
-# no-c-format
+#, no-c-format
 msgid "%a %b %d %H:%M:%S %Y"
 msgstr "%Y/%m/%d (%a) %H:%M:%S"
 
@@ -3816,11 +3788,6 @@ msgstr ""
 "Υޥɤ̵Ǥʤ: Perl饤֥ɤǤޤǤ"
 ""
 
-msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-msgstr ""
-"E299: ɥܥåǤ Safe ⥸塼ѤʤPerlץȤ϶ؤ"
-"Ƥޤ"
-
 msgid "Edit with Vim using &tabpages"
 msgstr "Vimǥ֥ڡȤäԽ (&T)"
 
@@ -4836,6 +4803,11 @@ msgstr "E298: ֥å 1 Ǥޤ?"
 msgid "E298: Didn't get block nr 2?"
 msgstr "E298: ֥å 2 Ǥޤ?"
 
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr ""
+"E299: ɥܥåǤ Safe ⥸塼ѤʤPerlץȤ϶ؤ"
+"Ƥޤ"
+
 msgid "E300: Swap file already exists (symlink attack?)"
 msgstr "E300: åץե뤬¸ߤޤ (symlinkˤ빶?)"
 
@@ -5418,6 +5390,10 @@ msgstr "E463: ΰ褬ݸƤΤǡѹǤޤ"
 msgid "E464: Ambiguous use of user-defined command"
 msgstr "E464: 桼ޥɤΤޤʻѤǤ"
 
+#, c-format
+msgid "E464: Ambiguous use of user-defined command: %s"
+msgstr "E464: 桼ޥɤΤޤʻѤǤ: %s"
+
 msgid "E465: :winsize requires two number arguments"
 msgstr "E465: :winsize ˤ2ĤοͤΰɬפǤ"
 
@@ -6498,6 +6474,7 @@ msgstr "E802: ̵ ID: %d (1 ʾǤʤФʤޤ)"
 msgid "E803: ID not found: %d"
 msgstr "E803: ID Ϥޤ: %d"
 
+#, no-c-format
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804: '%' ưȤ߹碌ƤϻȤޤ"
 
@@ -6696,6 +6673,7 @@ msgstr "E862: Ǥ g: ϻȤޤ"
 msgid "E863: Not allowed for a terminal in a popup window"
 msgstr "E863: üϥݥåץåץɥǤϵޤ"
 
+#, no-c-format
 msgid ""
 "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
 "used"
@@ -7019,6 +6997,7 @@ msgstr "E949: ˥ե뤬ѹޤ"
 msgid "E950: Cannot convert between %s and %s"
 msgstr "E950: %s  %s δ֤ѴǤޤ"
 
+#, no-c-format
 msgid "E951: \\% value too large"
 msgstr "E951: \\% ͤ礭᤮ޤ"
 
@@ -7325,6 +7304,7 @@ msgstr "E1033: Ƥcatchcatchˤãޤ"
 msgid "E1034: Cannot use reserved name %s"
 msgstr "E1034: ͽ̾ %s ϻѤǤޤ"
 
+#, no-c-format
 msgid "E1035: % requires number arguments"
 msgstr "E1035: % ˤϿͤΰɬפǤ"
 
@@ -7466,10 +7446,16 @@ msgstr "E1076: Vimưݡդǥѥ뤵Ƥޤ"
 msgid "E1077: Missing argument type for %s"
 msgstr "E1077: %s ΰηޤ"
 
+msgid "E1080: Invalid assignment"
+msgstr "E1080: ̵Ǥ"
+
 #, c-format
 msgid "E1081: Cannot unlet %s"
 msgstr "E1081: %s  unlet Ǥޤ"
 
+msgid "E1082: Command modifier without command"
+msgstr "E1082: ޥɤʤΥޥɽҤǤ"
+
 msgid "E1083: Missing backtick"
 msgstr "E1083: ХåȤޤ"
 
@@ -7487,6 +7473,9 @@ msgstr "E1086: ؿȤǤ"
 msgid "E1087: Cannot use an index when declaring a variable"
 msgstr "E1087: ѿݤ˥ǥåϻѤǤޤ"
 
+msgid "E1088: Script cannot import itself"
+msgstr "E1088: ץȼȤ򥤥ݡȤǤޤ"
+
 #, c-format
 msgid "E1089: Unknown variable: %s"
 msgstr "E1089: ѿ: %s"
@@ -7499,6 +7488,9 @@ msgstr "E1090:  %s ФǤޤ"
 msgid "E1091: Function is not compiled: %s"
 msgstr "E1091: ؿϥѥ뤵Ƥޤ: %s"
 
+msgid "E1092: Cannot nest :redir"
+msgstr "E1092: :redir ҤˤǤޤ"
+
 #, c-format
 msgid "E1093: Expected %d items but got %d"
 msgstr "E1093: %d ĤǤԤƤޤ %d ĤǤ"
@@ -7591,11 +7583,11 @@ msgstr "E1116: \"assert_fails()\" 5ʸǤʤФʤޤ"
 msgid "E1117: Cannot use ! with nested :def"
 msgstr "E1117: ! Ҥˤʤä :def Ȥ߹碌ƤϻȤޤ"
 
-msgid "E1118: Cannot change list"
-msgstr "E1118: ꥹȤѹǤޤ"
-
-msgid "E1119: Cannot change list item"
-msgstr "E1119: ꥹȤǤѹǤޤ"
+msgid "E1118: Cannot change locked list"
+msgstr "E1118: å줿ꥹȤѹǤޤ"
+
+msgid "E1119: Cannot change locked list item"
+msgstr "E1119: å줿ꥹȤǤѹǤޤ"
 
 msgid "E1120: Cannot change dict"
 msgstr "E1120: ѹǤޤ"
@@ -7669,6 +7661,11 @@ msgstr "E1140: :for ΰϥꥹȤΥ󥹤ǤʤФʤޤ"
 msgid "E1141: Indexable type required"
 msgstr "E1141: ǥåǽʷɬפǤ"
 
+msgid "E1142: Calling test_garbagecollect_now() while v:testing is not set"
+msgstr ""
+"E1142: v:testing ꤵƤʤ֤ test_garbagecollect_now() Ƥ"
+"ޤ"
+
 #, c-format
 msgid "E1143: Empty expression: \"%s\""
 msgstr "E1143: μǤ: \"%s\""
@@ -7721,8 +7718,10 @@ msgstr "E1156: ꥹȤƵŪѹ뤳ȤϤǤޤ"
 msgid "E1157: Missing return type"
 msgstr "E1157: ͤηޤ"
 
-msgid "E1158: Cannot use flatten() in Vim9 script"
-msgstr "E1158: Vim9 ץȤǤ flatten() ϻѤǤޤ"
+msgid "E1158: Cannot use flatten() in Vim9 script, use flattennew()"
+msgstr ""
+"E1158: Vim9 ץȤǤ flatten() ϻѤǤޤflattennew() Ȥä"
+""
 
 msgid "E1159: Cannot split a window when closing the buffer"
 msgstr "E1159: ХåեĤƤ֤˥ɥʬ䤹뤳ȤϤǤޤ"
@@ -7764,8 +7763,9 @@ msgstr "E1167: ̾¸ѿ򱣤Ƥޤ: %s"
 msgid "E1168: Argument already declared in the script: %s"
 msgstr "E1168: ϴ˥ץƤޤ: %s"
 
-msgid "E1169: 'import * as {name}' not supported here"
-msgstr "E1169: 'import * as {name}' ϤǤϥݡȤƤޤ"
+#, c-format
+msgid "E1169: Expression too recursive: %s"
+msgstr "E1169: κƵޤ: %s"
 
 msgid "E1170: Cannot use #{ to start a comment"
 msgstr "E1170: ȤγϤ #{ ϻѤǤޤ"
@@ -7813,9 +7813,6 @@ msgstr "E1180: ѰηϥꥹȤǤʤФʤޤ: %s"
 msgid "E1181: Cannot use an underscore here"
 msgstr "E1181: ǤϥϻȤޤ"
 
-msgid "E1182: Blob required"
-msgstr "E1182: BlobɬפǤ"
-
 #, c-format
 msgid "E1183: Cannot use a range with an assignment operator: %s"
 msgstr "E1183: 黻ҤϰϤϻѤǤޤ: %s"
@@ -7823,9 +7820,6 @@ msgstr "E1183: 黻ҤϰϤϻѤǤޤ: %s"
 msgid "E1184: Blob not set"
 msgstr "E1184: Blob ꤵƤޤ"
 
-msgid "E1185: Cannot nest :redir"
-msgstr "E1185: :redir ҤˤǤޤ"
-
 msgid "E1185: Missing :redir END"
 msgstr "E1185: :redir END ޤ"
 
@@ -8115,14 +8109,38 @@ msgstr "E1261: \"as\" Ȥ鷺 .vim 򥤥ݡȤ뤳ȤϤǤޤ"
 msgid "E1262: Cannot import the same script twice: %s"
 msgstr "E1262: ƱץȤ2󥤥ݡȤ뤳ȤϤǤޤ: %s"
 
-msgid "E1263: Using autoload in a script not under an autoload directory"
-msgstr "E1263: autoloadǥ쥯ȥ̵ץȤautoloadȤäƤޤ"
+msgid "E1263: cannot use name with # in Vim9 script, use export instead"
+msgstr ""
+"E1263: Vim9 ץȤǤ # ̾ϻѤǤޤ export "
+"ѤƤ"
 
 #, c-format
 msgid "E1264: Autoload import cannot use absolute or relative path: %s"
 msgstr ""
 "E1264: autoloadݡȤФޤХѥȤȤϤǤޤ: %s"
 
+msgid "E1265: Cannot use a partial here"
+msgstr "E1265: ǤʬŬѤϻȤޤ"
+
+msgid ""
+"E1266: Critical error in python3 initialization, check your python3 "
+"installation"
+msgstr ""
+"E1266: python3˽ʥ顼ޤpython3Υ󥹥ȡ"
+"ǧƤ"
+
+#, c-format
+msgid "E1267: Function name must start with a capital: %s"
+msgstr "E1267: ؿ̾ʸǻϤޤʤФʤޤ: %s"
+
+#, c-format
+msgid "E1268: Cannot use s: in Vim9 script: %s"
+msgstr "E1268: Vim9 ץȤǤ :s ϻѤǤޤ: %s"
+
+#, c-format
+msgid "E1269: Cannot create a Vim9 script variable in a function: %s"
+msgstr "E1269: ؿ Vim9 ץѿϺǤޤ: %s"
+
 msgid "--No lines in buffer--"
 msgstr "--Хåե˹Ԥޤ--"
 
--- a/src/po/ja.po
+++ b/src/po/ja.po
@@ -14,8 +14,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-16 10:46+0900\n"
-"PO-Revision-Date: 2022-01-16 12:43+0900\n"
+"POT-Creation-Date: 2022-02-18 13:52+0900\n"
+"PO-Revision-Date: 2022-02-20 01:53+0900\n"
 "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
 "Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
 "Language: ja\n"
@@ -780,10 +780,12 @@ msgstr "警告"
 
 msgid ""
 "&OK\n"
-"&Load File"
+"&Load File\n"
+"Load File &and Options"
 msgstr ""
 "&OK\n"
-"ファイル読込(&L)"
+"ファイル読込(&L)\n"
+"ファイルとオプションを読込(&A)"
 
 msgid "<empty>"
 msgstr "<空>"
@@ -3082,36 +3084,6 @@ msgstr "このバッファに定義された構文要素はありません"
 msgid "'redrawtime' exceeded, syntax highlighting disabled"
 msgstr "'redrawtime' を超過したため、構文ハイライトは無効化されます"
 
-msgid "syntax conceal on"
-msgstr "構文の conceal は現在 on です"
-
-msgid "syntax conceal off"
-msgstr "構文の conceal は現在 off です"
-
-msgid "syntax case ignore"
-msgstr "構文の大文字小文字は現在 ignore です"
-
-msgid "syntax case match"
-msgstr "構文の大文字小文字は現在 match です"
-
-msgid "syntax foldlevel start"
-msgstr "構文の foldlevel は現在 start です"
-
-msgid "syntax foldlevel minimum"
-msgstr "構文の foldlevel は現在 minimum です"
-
-msgid "syntax spell toplevel"
-msgstr "構文の spell は現在 toplevel です"
-
-msgid "syntax spell notoplevel"
-msgstr "構文の spell は現在 notoplevel です"
-
-msgid "syntax spell default"
-msgstr "構文の spell は現在 default です"
-
-msgid "syntax iskeyword "
-msgstr "構文用 iskeyword "
-
 msgid "syntax iskeyword not set"
 msgstr "構文用 iskeyword はセットされていません"
 
@@ -3248,7 +3220,7 @@ msgstr "終了"
 msgid "(Invalid)"
 msgstr "(無効)"
 
-# no-c-format
+#, no-c-format
 msgid "%a %b %d %H:%M:%S %Y"
 msgstr "%Y/%m/%d (%a) %H:%M:%S"
 
@@ -3816,11 +3788,6 @@ msgstr ""
 "このコマンドは無効です、ごめんなさい: Perlライブラリをロードできませんでし"
 "た。"
 
-msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-msgstr ""
-"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
-"ています"
-
 msgid "Edit with Vim using &tabpages"
 msgstr "Vimでタブページを使って編集する (&T)"
 
@@ -4836,6 +4803,11 @@ msgstr "E298: ブロック 1 を取得できません?"
 msgid "E298: Didn't get block nr 2?"
 msgstr "E298: ブロック 2 を取得できません?"
 
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr ""
+"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
+"ています"
+
 msgid "E300: Swap file already exists (symlink attack?)"
 msgstr "E300: スワップファイルが既に存在します (symlinkによる攻撃?)"
 
@@ -5418,6 +5390,10 @@ msgstr "E463: 領域が保護されているので、変更できません"
 msgid "E464: Ambiguous use of user-defined command"
 msgstr "E464: ユーザー定義コマンドのあいまいな使用です"
 
+#, c-format
+msgid "E464: Ambiguous use of user-defined command: %s"
+msgstr "E464: ユーザー定義コマンドのあいまいな使用です: %s"
+
 msgid "E465: :winsize requires two number arguments"
 msgstr "E465: :winsize には2つの数値の引数が必要です"
 
@@ -6498,6 +6474,7 @@ msgstr "E802: 無効な ID: %d (1 以上でなければなりません)"
 msgid "E803: ID not found: %d"
 msgstr "E803: ID はありません: %d"
 
+#, no-c-format
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804: '%' を浮動小数点数と組み合わせては使えません"
 
@@ -6696,6 +6673,7 @@ msgstr "E862: ここでは g: は使えません"
 msgid "E863: Not allowed for a terminal in a popup window"
 msgstr "E863: 端末はポップアップウィンドウでは許されません"
 
+#, no-c-format
 msgid ""
 "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
 "used"
@@ -7019,6 +6997,7 @@ msgstr "E949: 書込み中にファイルが変更されました"
 msgid "E950: Cannot convert between %s and %s"
 msgstr "E950: %s と %s の間で変換できません"
 
+#, no-c-format
 msgid "E951: \\% value too large"
 msgstr "E951: \\% 値が大き過ぎます"
 
@@ -7325,6 +7304,7 @@ msgstr "E1033: 全てをcatchした後のcatchには到達しません"
 msgid "E1034: Cannot use reserved name %s"
 msgstr "E1034: 予約名 %s は使用できません"
 
+#, no-c-format
 msgid "E1035: % requires number arguments"
 msgstr "E1035: % には数値の引数が必要です"
 
@@ -7466,10 +7446,16 @@ msgstr "E1076: このVimは浮動小数点数サポート付きでコンパイルされていません"
 msgid "E1077: Missing argument type for %s"
 msgstr "E1077: %s の引数の型がありません"
 
+msgid "E1080: Invalid assignment"
+msgstr "E1080: 無効な代入です"
+
 #, c-format
 msgid "E1081: Cannot unlet %s"
 msgstr "E1081: %s を unlet できません"
 
+msgid "E1082: Command modifier without command"
+msgstr "E1082: コマンドなしのコマンド修飾子です"
+
 msgid "E1083: Missing backtick"
 msgstr "E1083: バッククォートがありません"
 
@@ -7487,6 +7473,9 @@ msgstr "E1086: 関数参照が不正です"
 msgid "E1087: Cannot use an index when declaring a variable"
 msgstr "E1087: 変数を宣言する際にインデックスは使用できません"
 
+msgid "E1088: Script cannot import itself"
+msgstr "E1088: スクリプト自身をインポートできません"
+
 #, c-format
 msgid "E1089: Unknown variable: %s"
 msgstr "E1089: 不明な変数: %s"
@@ -7499,6 +7488,9 @@ msgstr "E1090: 引数 %s に対して代入できません"
 msgid "E1091: Function is not compiled: %s"
 msgstr "E1091: 関数はコンパイルされていません: %s"
 
+msgid "E1092: Cannot nest :redir"
+msgstr "E1092: :redir は入れ子にできません"
+
 #, c-format
 msgid "E1093: Expected %d items but got %d"
 msgstr "E1093: %d 個の要素が期待されていますが %d 個でした"
@@ -7591,11 +7583,11 @@ msgstr "E1116: \"assert_fails()\" の第5引数は文字列でなければなりません"
 msgid "E1117: Cannot use ! with nested :def"
 msgstr "E1117: ! を入れ子になった :def と組み合わせては使えません"
 
-msgid "E1118: Cannot change list"
-msgstr "E1118: リストを変更できません"
-
-msgid "E1119: Cannot change list item"
-msgstr "E1119: リストの要素を変更できません"
+msgid "E1118: Cannot change locked list"
+msgstr "E1118: ロックされたリストを変更できません"
+
+msgid "E1119: Cannot change locked list item"
+msgstr "E1119: ロックされたリストの要素を変更できません"
 
 msgid "E1120: Cannot change dict"
 msgstr "E1120: 辞書を変更できません"
@@ -7669,6 +7661,11 @@ msgstr "E1140: :for の引数はリストのシーケンスでなければなりません"
 msgid "E1141: Indexable type required"
 msgstr "E1141: インデックス可能な型が必要です"
 
+msgid "E1142: Calling test_garbagecollect_now() while v:testing is not set"
+msgstr ""
+"E1142: v:testing が設定されていない状態で test_garbagecollect_now() を呼んで"
+"います"
+
 #, c-format
 msgid "E1143: Empty expression: \"%s\""
 msgstr "E1143: 空の式です: \"%s\""
@@ -7721,8 +7718,10 @@ msgstr "E1156: 引数リストを再帰的に変更することはできません"
 msgid "E1157: Missing return type"
 msgstr "E1157: 戻り値の型がありません"
 
-msgid "E1158: Cannot use flatten() in Vim9 script"
-msgstr "E1158: Vim9 スクリプトでは flatten() は使用できません"
+msgid "E1158: Cannot use flatten() in Vim9 script, use flattennew()"
+msgstr ""
+"E1158: Vim9 スクリプトでは flatten() は使用できません、flattennew() を使って"
+"ください"
 
 msgid "E1159: Cannot split a window when closing the buffer"
 msgstr "E1159: バッファを閉じている間にウィンドウを分割することはできません"
@@ -7764,8 +7763,9 @@ msgstr "E1167: 引数名が既存の変数を隠しています: %s"
 msgid "E1168: Argument already declared in the script: %s"
 msgstr "E1168: 引数は既にスクリプト内で宣言されています: %s"
 
-msgid "E1169: 'import * as {name}' not supported here"
-msgstr "E1169: 'import * as {name}' はここではサポートされていません"
+#, c-format
+msgid "E1169: Expression too recursive: %s"
+msgstr "E1169: 式の再帰が深すぎます: %s"
 
 msgid "E1170: Cannot use #{ to start a comment"
 msgstr "E1170: コメントの開始に #{ は使用できません"
@@ -7813,9 +7813,6 @@ msgstr "E1180: 可変引数の型はリストでなければなりません: %s"
 msgid "E1181: Cannot use an underscore here"
 msgstr "E1181: ここではアンダースコアは使えません"
 
-msgid "E1182: Blob required"
-msgstr "E1182: Blob型が必要です"
-
 #, c-format
 msgid "E1183: Cannot use a range with an assignment operator: %s"
 msgstr "E1183: 代入演算子で範囲は使用できません: %s"
@@ -7823,9 +7820,6 @@ msgstr "E1183: 代入演算子で範囲は使用できません: %s"
 msgid "E1184: Blob not set"
 msgstr "E1184: Blob は設定されていません"
 
-msgid "E1185: Cannot nest :redir"
-msgstr "E1185: :redir は入れ子にできません"
-
 msgid "E1185: Missing :redir END"
 msgstr "E1185: :redir END がありません"
 
@@ -8115,14 +8109,38 @@ msgstr "E1261: \"as\" を使わずに .vim をインポートすることはできません"
 msgid "E1262: Cannot import the same script twice: %s"
 msgstr "E1262: 同じスクリプトを2回インポートすることはできません: %s"
 
-msgid "E1263: Using autoload in a script not under an autoload directory"
-msgstr "E1263: autoloadディレクトリに無いスクリプトでautoloadを使っています"
+msgid "E1263: cannot use name with # in Vim9 script, use export instead"
+msgstr ""
+"E1263: Vim9 スクリプトでは # 入りの名前は使用できません、代わりに export を使"
+"用してください"
 
 #, c-format
 msgid "E1264: Autoload import cannot use absolute or relative path: %s"
 msgstr ""
 "E1264: autoloadインポートで絶対または相対パスを使うことはできません: %s"
 
+msgid "E1265: Cannot use a partial here"
+msgstr "E1265: ここでは部分適用は使えません"
+
+msgid ""
+"E1266: Critical error in python3 initialization, check your python3 "
+"installation"
+msgstr ""
+"E1266: python3初期化中に重大なエラーが起きました。python3のインストール状況を"
+"確認してください"
+
+#, c-format
+msgid "E1267: Function name must start with a capital: %s"
+msgstr "E1267: 関数名は大文字で始まらなければなりません: %s"
+
+#, c-format
+msgid "E1268: Cannot use s: in Vim9 script: %s"
+msgstr "E1268: Vim9 スクリプトでは :s は使用できません: %s"
+
+#, c-format
+msgid "E1269: Cannot create a Vim9 script variable in a function: %s"
+msgstr "E1269: 関数内で Vim9 スクリプト変数は作成できません: %s"
+
 msgid "--No lines in buffer--"
 msgstr "--バッファに行がありません--"
 
--- a/src/po/ja.sjis.po
+++ b/src/po/ja.sjis.po
@@ -14,8 +14,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-01-16 10:46+0900\n"
-"PO-Revision-Date: 2022-01-16 12:43+0900\n"
+"POT-Creation-Date: 2022-02-18 13:52+0900\n"
+"PO-Revision-Date: 2022-02-20 01:53+0900\n"
 "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
 "Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
 "Language: ja\n"
@@ -780,10 +780,12 @@ msgstr "x"
 
 msgid ""
 "&OK\n"
-"&Load File"
+"&Load File\n"
+"Load File &and Options"
 msgstr ""
 "&OK\n"
-"t@CǍ(&L)"
+"t@CǍ(&L)\n"
+"t@CƃIvVǍ(&A)"
 
 msgid "<empty>"
 msgstr "<>"
@@ -3082,36 +3084,6 @@ msgstr "̃obt@ɒ`ꂽ\\vf͂܂"
 msgid "'redrawtime' exceeded, syntax highlighting disabled"
 msgstr "'redrawtime' 𒴉߂߁A\\nCCg͖܂"
 
-msgid "syntax conceal on"
-msgstr "\\ conceal ͌ on ł"
-
-msgid "syntax conceal off"
-msgstr "\\ conceal ͌ off ł"
-
-msgid "syntax case ignore"
-msgstr "\\̑啶͌ ignore ł"
-
-msgid "syntax case match"
-msgstr "\\̑啶͌ match ł"
-
-msgid "syntax foldlevel start"
-msgstr "\\ foldlevel ͌ start ł"
-
-msgid "syntax foldlevel minimum"
-msgstr "\\ foldlevel ͌ minimum ł"
-
-msgid "syntax spell toplevel"
-msgstr "\\ spell ͌ toplevel ł"
-
-msgid "syntax spell notoplevel"
-msgstr "\\ spell ͌ notoplevel ł"
-
-msgid "syntax spell default"
-msgstr "\\ spell ͌ default ł"
-
-msgid "syntax iskeyword "
-msgstr "\\p iskeyword "
-
 msgid "syntax iskeyword not set"
 msgstr "\\p iskeyword ̓ZbgĂ܂"
 
@@ -3248,7 +3220,7 @@ msgstr "I"
 msgid "(Invalid)"
 msgstr "()"
 
-# no-c-format
+#, no-c-format
 msgid "%a %b %d %H:%M:%S %Y"
 msgstr "%Y/%m/%d (%a) %H:%M:%S"
 
@@ -3816,11 +3788,6 @@ msgstr ""
 "̃R}h͖łA߂Ȃ: PerlCu[hł܂ł"
 "B"
 
-msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-msgstr ""
-"E299: Th{bNXł Safe W[gpȂPerlXNvg͋ւ"
-"Ă܂"
-
 msgid "Edit with Vim using &tabpages"
 msgstr "VimŃ^uy[WgĕҏW (&T)"
 
@@ -4836,6 +4803,11 @@ msgstr "E298: ubN 1 擾ł܂?"
 msgid "E298: Didn't get block nr 2?"
 msgstr "E298: ubN 2 擾ł܂?"
 
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr ""
+"E299: Th{bNXł Safe W[gpȂPerlXNvg͋ւ"
+"Ă܂"
+
 msgid "E300: Swap file already exists (symlink attack?)"
 msgstr "E300: Xbvt@Cɑ݂܂ (symlinkɂU?)"
 
@@ -5418,6 +5390,10 @@ msgstr "E463: ̈悪ی삳Ă̂ŁAύXł܂"
 msgid "E464: Ambiguous use of user-defined command"
 msgstr "E464: [U[`R}ĥ܂Ȏgpł"
 
+#, c-format
+msgid "E464: Ambiguous use of user-defined command: %s"
+msgstr "E464: [U[`R}ĥ܂Ȏgpł: %s"
+
 msgid "E465: :winsize requires two number arguments"
 msgstr "E465: :winsize ɂ2‚̐l̈Kvł"
 
@@ -6498,6 +6474,7 @@ msgstr "E802:  ID: %d (1 ȏłȂ΂Ȃ܂)"
 msgid "E803: ID not found: %d"
 msgstr "E803: ID ͂܂: %d"
 
+#, no-c-format
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804: '%' 𕂓_Ƒgݍ킹Ă͎g܂"
 
@@ -6696,6 +6673,7 @@ msgstr "E862: ł g: ͎g܂"
 msgid "E863: Not allowed for a terminal in a popup window"
 msgstr "E863: [̓|bvAbvEBhEł͋܂"
 
+#, no-c-format
 msgid ""
 "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
 "used"
@@ -7019,6 +6997,7 @@ msgstr "E949: ݒɃt@CύX܂"
 msgid "E950: Cannot convert between %s and %s"
 msgstr "E950: %s  %s ̊Ԃŕϊł܂"
 
+#, no-c-format
 msgid "E951: \\% value too large"
 msgstr "E951: \\% l傫߂܂"
 
@@ -7325,6 +7304,7 @@ msgstr "E1033: SĂcatchcatchɂ͓B܂"
 msgid "E1034: Cannot use reserved name %s"
 msgstr "E1034: \\ %s ͎gpł܂"
 
+#, no-c-format
 msgid "E1035: % requires number arguments"
 msgstr "E1035: % ɂ͐l̈Kvł"
 
@@ -7466,10 +7446,16 @@ msgstr "E1076: Vim͕_T|[gtŃRpCĂ܂"
 msgid "E1077: Missing argument type for %s"
 msgstr "E1077: %s ̈̌^܂"
 
+msgid "E1080: Invalid assignment"
+msgstr "E1080: ȑł"
+
 #, c-format
 msgid "E1081: Cannot unlet %s"
 msgstr "E1081: %s  unlet ł܂"
 
+msgid "E1082: Command modifier without command"
+msgstr "E1082: R}hȂ̃R}hCqł"
+
 msgid "E1083: Missing backtick"
 msgstr "E1083: obNNH[g܂"
 
@@ -7487,6 +7473,9 @@ msgstr "E1086: ֐QƂsł"
 msgid "E1087: Cannot use an index when declaring a variable"
 msgstr "E1087: ϐ錾ۂɃCfbNX͎gpł܂"
 
+msgid "E1088: Script cannot import itself"
+msgstr "E1088: XNvggC|[gł܂"
+
 #, c-format
 msgid "E1089: Unknown variable: %s"
 msgstr "E1089: sȕϐ: %s"
@@ -7499,6 +7488,9 @@ msgstr "E1090:  %s ɑ΂đł܂"
 msgid "E1091: Function is not compiled: %s"
 msgstr "E1091: ֐̓RpCĂ܂: %s"
 
+msgid "E1092: Cannot nest :redir"
+msgstr "E1092: :redir ͓qɂł܂"
+
 #, c-format
 msgid "E1093: Expected %d items but got %d"
 msgstr "E1093: %d ‚̗vf҂Ă܂ %d ‚ł"
@@ -7591,11 +7583,11 @@ msgstr "E1116: \"assert_fails()\" ̑5͕łȂ΂Ȃ܂"
 msgid "E1117: Cannot use ! with nested :def"
 msgstr "E1117: ! qɂȂ :def Ƒgݍ킹Ă͎g܂"
 
-msgid "E1118: Cannot change list"
-msgstr "E1118: XgύXł܂"
-
-msgid "E1119: Cannot change list item"
-msgstr "E1119: Xg̗vfύXł܂"
+msgid "E1118: Cannot change locked list"
+msgstr "E1118: bNꂽXgύXł܂"
+
+msgid "E1119: Cannot change locked list item"
+msgstr "E1119: bNꂽXg̗vfύXł܂"
 
 msgid "E1120: Cannot change dict"
 msgstr "E1120: ύXł܂"
@@ -7669,6 +7661,11 @@ msgstr "E1140: :for ̈̓Xg̃V[PXłȂ΂Ȃ܂"
 msgid "E1141: Indexable type required"
 msgstr "E1141: CfbNX”\\Ȍ^Kvł"
 
+msgid "E1142: Calling test_garbagecollect_now() while v:testing is not set"
+msgstr ""
+"E1142: v:testing ݒ肳ĂȂԂ test_garbagecollect_now() Ă"
+"܂"
+
 #, c-format
 msgid "E1143: Empty expression: \"%s\""
 msgstr "E1143: ̎ł: \"%s\""
@@ -7721,8 +7718,10 @@ msgstr "E1156: XgċAIɕύX邱Ƃ͂ł܂"
 msgid "E1157: Missing return type"
 msgstr "E1157: ߂ľ^܂"
 
-msgid "E1158: Cannot use flatten() in Vim9 script"
-msgstr "E1158: Vim9 XNvgł flatten() ͎gpł܂"
+msgid "E1158: Cannot use flatten() in Vim9 script, use flattennew()"
+msgstr ""
+"E1158: Vim9 XNvgł flatten() ͎gpł܂Aflattennew() g"
+""
 
 msgid "E1159: Cannot split a window when closing the buffer"
 msgstr "E1159: obt@‚ĂԂɃEBhE𕪊邱Ƃ͂ł܂"
@@ -7764,8 +7763,9 @@ msgstr "E1167: ̕ϐBĂ܂: %s"
 msgid "E1168: Argument already declared in the script: %s"
 msgstr "E1168: ͊ɃXNvgŐ錾Ă܂: %s"
 
-msgid "E1169: 'import * as {name}' not supported here"
-msgstr "E1169: 'import * as {name}' ͂ł̓T|[gĂ܂"
+#, c-format
+msgid "E1169: Expression too recursive: %s"
+msgstr "E1169: ̍ċA[܂: %s"
 
 msgid "E1170: Cannot use #{ to start a comment"
 msgstr "E1170: Rg̊Jn #{ ͎gpł܂"
@@ -7813,9 +7813,6 @@ msgstr "E1180: •ψ̌^̓XgłȂ΂Ȃ܂: %s"
 msgid "E1181: Cannot use an underscore here"
 msgstr "E1181: ł̓A_[XRA͎g܂"
 
-msgid "E1182: Blob required"
-msgstr "E1182: Blob^Kvł"
-
 #, c-format
 msgid "E1183: Cannot use a range with an assignment operator: %s"
 msgstr "E1183: ZqŔ͈͎͂gpł܂: %s"
@@ -7823,9 +7820,6 @@ msgstr "E1183: ZqŔ͈͎͂gpł܂: %s"
 msgid "E1184: Blob not set"
 msgstr "E1184: Blob ͐ݒ肳Ă܂"
 
-msgid "E1185: Cannot nest :redir"
-msgstr "E1185: :redir ͓qɂł܂"
-
 msgid "E1185: Missing :redir END"
 msgstr "E1185: :redir END ܂"
 
@@ -8115,14 +8109,38 @@ msgstr "E1261: \"as\" g킸 .vim C|[g邱Ƃ͂ł܂"
 msgid "E1262: Cannot import the same script twice: %s"
 msgstr "E1262: XNvg2C|[g邱Ƃ͂ł܂: %s"
 
-msgid "E1263: Using autoload in a script not under an autoload directory"
-msgstr "E1263: autoloadfBNgɖXNvgautoloadgĂ܂"
+msgid "E1263: cannot use name with # in Vim9 script, use export instead"
+msgstr ""
+"E1263: Vim9 XNvgł # ̖O͎gpł܂A export g"
+"pĂ"
 
 #, c-format
 msgid "E1264: Autoload import cannot use absolute or relative path: %s"
 msgstr ""
 "E1264: autoloadC|[gŐ΂܂͑΃pXgƂ͂ł܂: %s"
 
+msgid "E1265: Cannot use a partial here"
+msgstr "E1265: ł͕Kp͎g܂"
+
+msgid ""
+"E1266: Critical error in python3 initialization, check your python3 "
+"installation"
+msgstr ""
+"E1266: python3ɏdȃG[N܂Bpython3̃CXg[󋵂"
+"mFĂ"
+
+#, c-format
+msgid "E1267: Function name must start with a capital: %s"
+msgstr "E1267: ֐͑啶Ŏn܂Ȃ΂Ȃ܂: %s"
+
+#, c-format
+msgid "E1268: Cannot use s: in Vim9 script: %s"
+msgstr "E1268: Vim9 XNvgł :s ͎gpł܂: %s"
+
+#, c-format
+msgid "E1269: Cannot create a Vim9 script variable in a function: %s"
+msgstr "E1269: ֐ Vim9 XNvgϐ͍쐬ł܂: %s"
+
 msgid "--No lines in buffer--"
 msgstr "--obt@ɍs܂--"
 
--- a/src/po/sk.cp1250.po
+++ b/src/po/sk.cp1250.po
@@ -284,9 +284,6 @@ msgstr "Prehadvam tagy."
 msgid " Adding"
 msgstr " Pridvam"
 
-#. showmode might reset the internal line pointers, so it must
-#. * be called before line = ml_get(), or when this address is no
-#. * longer needed.  -- Acevedo.
 #.
 msgid "-- Searching..."
 msgstr "-- Hadm..."
@@ -477,10 +474,6 @@ msgid "E699: Too many arguments"
 msgstr "E699: Prli mnoho argumentov"
 
 #.
-#. * Yes this is ugly, I don't particularly like it either.  But doing it
-#. * this way has the compelling advantage that translations need not to
-#. * be touched at all.  See below what 'ok' and 'ync' are used for.
-#.
 msgid "&Ok"
 msgstr "&Ok"
 
@@ -709,7 +702,6 @@ msgstr "E138: Ned sa uloi viminfo sbor %s!"
 msgid "Writing viminfo file \"%s\""
 msgstr "Ukldm viminfo sboru \"%s\""
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Tento viminfo sbor bol vytvoren editorom Vim %s.\n"
@@ -1212,7 +1204,6 @@ msgstr "E196: V tejto verzi nie s digraphy podporovan"
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
 msgstr "E608: Nemono spracova vnimku :throw s preponou 'Vim'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr "Spracovanie vnimky: %s"
@@ -1295,7 +1286,6 @@ msgstr "E601: vnorenie :try je prli hlbok"
 msgid "E603: :catch without :try"
 msgstr "E603: :catch bez :try"
 
-#. Give up for a ":catch" after ":finally" and ignore it.
 #. * Just parse.
 msgid "E604: :catch after :finally"
 msgstr "E604: :catch nasleduje po :finally"
@@ -1568,8 +1558,6 @@ msgstr "[bez znaku konca riadku]"
 msgid "[Incomplete last line]"
 msgstr "[nepln posledn riadok]"
 
-#. don't overwrite messages here
-#. must give this prompt
 #. don't use emsg() here, don't want to flush the buffers
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "VAROVANIE: Sbor bol zmenen od jeho natania!!!"
@@ -1649,7 +1637,6 @@ msgstr "--Vymazan--"
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "samomazac automatick prkaz: %s <buffer=%d>"
 
-#. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367: Skupina \"%s\" neexistuje"
@@ -1923,7 +1910,6 @@ msgstr "Njs reazec (pouite '\\\\' ak chete njs '\\')"
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Njs a Nahradi (pouite '\\\\' ak chcete njs '\\')"
 
-#. We fake this: Use a filter that doesn't select anything and a default
 #. * file name that won't be used.
 msgid "Not Used"
 msgstr "[neupravovan]"
@@ -2960,7 +2946,6 @@ msgstr ""
 "\n"
 "# Sborov znaky:\n"
 
-#. Write the jumplist with -'
 #, c-format
 msgid ""
 "\n"
@@ -3329,7 +3314,6 @@ msgstr "Pri otvran sboru \""
 msgid "      NEWER than swap file!\n"
 msgstr "      NOV ako odkladac sbor!\n"
 
-#. Some of these messages are long to allow translation to
 #. * other languages.
 msgid ""
 "\n"
@@ -3433,7 +3417,6 @@ msgstr "E331: Poloky ponuky sa nejd pridva priamo na litu"
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Oddeova nesmie by asou cesty ponuky"
 
-#. Now we have found the matching menu, and we list the mappings
 #. Highlight title
 msgid ""
 "\n"
@@ -4714,7 +4697,6 @@ msgstr "Prepte, iadne nvrhy"
 msgid "Sorry, only %ld suggestions"
 msgstr "Prepte, iba %ld nvrhov"
 
-#. avoid more prompt
 #, c-format
 msgid "Change \"%.*s\" to:"
 msgstr "Zmeni \"%.*s\" na:"
@@ -4730,7 +4712,6 @@ msgstr "E752: iadny predchdzajce nahradenie poda slovnka"
 msgid "E753: Not found: %s"
 msgstr "E753: Nenjden: %s"
 
-#. This should have been checked when generating the .spl
 #. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783: duplicitn znak v MAP poloke"
@@ -4955,7 +4936,6 @@ msgstr "E428: Za posledn vyhovujci tag sa ned preskoi"
 msgid "File \"%s\" does not exist"
 msgstr "Sbor \"%s\" neexistuje"
 
-#. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
 msgstr "tag %d z %d%s"
@@ -5436,9 +5416,6 @@ msgid "--No lines in buffer--"
 msgstr "--Buffer neobsahuje iadne riadky--"
 
 #.
-#. * The error messages that can be shared are included here.
-#. * Excluded are errors that are only used once and debugging messages.
-#.
 msgid "E470: Command aborted"
 msgstr "E470: Prkaz preruen"
 
@@ -5775,4 +5752,3 @@ msgstr "hadanie dosiahlo zaiatok, pokraovanie od konca"
 
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "hadanie dosiahlo koniec, pokraovanie od zaiatku"
-
--- a/src/po/sk.po
+++ b/src/po/sk.po
@@ -284,9 +284,6 @@ msgstr "Prehadvam tagy."
 msgid " Adding"
 msgstr " Pridvam"
 
-#. showmode might reset the internal line pointers, so it must
-#. * be called before line = ml_get(), or when this address is no
-#. * longer needed.  -- Acevedo.
 #.
 msgid "-- Searching..."
 msgstr "-- Hadm..."
@@ -477,10 +474,6 @@ msgid "E699: Too many arguments"
 msgstr "E699: Prli mnoho argumentov"
 
 #.
-#. * Yes this is ugly, I don't particularly like it either.  But doing it
-#. * this way has the compelling advantage that translations need not to
-#. * be touched at all.  See below what 'ok' and 'ync' are used for.
-#.
 msgid "&Ok"
 msgstr "&Ok"
 
@@ -709,7 +702,6 @@ msgstr "E138: Ned sa uloi viminfo sbor %s!"
 msgid "Writing viminfo file \"%s\""
 msgstr "Ukldm viminfo sboru \"%s\""
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Tento viminfo sbor bol vytvoren editorom Vim %s.\n"
@@ -1212,7 +1204,6 @@ msgstr "E196: V tejto verzi nie s digraphy podporovan"
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
 msgstr "E608: Nemono spracova vnimku :throw s preponou 'Vim'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr "Spracovanie vnimky: %s"
@@ -1295,7 +1286,6 @@ msgstr "E601: vnorenie :try je prli hlbok"
 msgid "E603: :catch without :try"
 msgstr "E603: :catch bez :try"
 
-#. Give up for a ":catch" after ":finally" and ignore it.
 #. * Just parse.
 msgid "E604: :catch after :finally"
 msgstr "E604: :catch nasleduje po :finally"
@@ -1568,8 +1558,6 @@ msgstr "[bez znaku konca riadku]"
 msgid "[Incomplete last line]"
 msgstr "[nepln posledn riadok]"
 
-#. don't overwrite messages here
-#. must give this prompt
 #. don't use emsg() here, don't want to flush the buffers
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "VAROVANIE: Sbor bol zmenen od jeho natania!!!"
@@ -1649,7 +1637,6 @@ msgstr "--Vymazan--"
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "samomazac automatick prkaz: %s <buffer=%d>"
 
-#. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367: Skupina \"%s\" neexistuje"
@@ -1923,7 +1910,6 @@ msgstr "Njs reazec (pouite '\\\\' ak chete njs '\\')"
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Njs a Nahradi (pouite '\\\\' ak chcete njs '\\')"
 
-#. We fake this: Use a filter that doesn't select anything and a default
 #. * file name that won't be used.
 msgid "Not Used"
 msgstr "[neupravovan]"
@@ -2960,7 +2946,6 @@ msgstr ""
 "\n"
 "# Sborov znaky:\n"
 
-#. Write the jumplist with -'
 #, c-format
 msgid ""
 "\n"
@@ -3329,7 +3314,6 @@ msgstr "Pri otvran sboru \""
 msgid "      NEWER than swap file!\n"
 msgstr "      NOV ako odkladac sbor!\n"
 
-#. Some of these messages are long to allow translation to
 #. * other languages.
 msgid ""
 "\n"
@@ -3433,7 +3417,6 @@ msgstr "E331: Poloky ponuky sa nejd pridva priamo na litu"
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Oddeova nesmie by asou cesty ponuky"
 
-#. Now we have found the matching menu, and we list the mappings
 #. Highlight title
 msgid ""
 "\n"
@@ -4714,7 +4697,6 @@ msgstr "Prepte, iadne nvrhy"
 msgid "Sorry, only %ld suggestions"
 msgstr "Prepte, iba %ld nvrhov"
 
-#. avoid more prompt
 #, c-format
 msgid "Change \"%.*s\" to:"
 msgstr "Zmeni \"%.*s\" na:"
@@ -4730,7 +4712,6 @@ msgstr "E752: iadny predchdzajce nahradenie poda slovnka"
 msgid "E753: Not found: %s"
 msgstr "E753: Nenjden: %s"
 
-#. This should have been checked when generating the .spl
 #. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783: duplicitn znak v MAP poloke"
@@ -4955,7 +4936,6 @@ msgstr "E428: Za posledn vyhovujci tag sa ned preskoi"
 msgid "File \"%s\" does not exist"
 msgstr "Sbor \"%s\" neexistuje"
 
-#. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
 msgstr "tag %d z %d%s"
@@ -5436,9 +5416,6 @@ msgid "--No lines in buffer--"
 msgstr "--Buffer neobsahuje iadne riadky--"
 
 #.
-#. * The error messages that can be shared are included here.
-#. * Excluded are errors that are only used once and debugging messages.
-#.
 msgid "E470: Command aborted"
 msgstr "E470: Prkaz preruen"
 
@@ -5775,4 +5752,3 @@ msgstr "hadanie dosiahlo zaiatok, pokraovanie od konca"
 
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "hadanie dosiahlo koniec, pokraovanie od zaiatku"
-
--- a/src/po/sr.po
+++ b/src/po/sr.po
@@ -9972,5 +9972,3 @@ msgstr "име MzScheme динамичке библиотеке"
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "име MzScheme GC динамичке библиотеке"
-
-
--- a/src/po/zh_CN.po
+++ b/src/po/zh_CN.po
@@ -9,7 +9,7 @@
 #   Edyfox <edyfox@gmail.com>
 #   Yuheng Xie <elephant@linux.net.cn>
 #
-# Original translations.
+# Generated from zh_CN.UTF-8.po, DO NOT EDIT.
 #
 msgid ""
 msgstr ""
@@ -17,8 +17,8 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2006-04-21 15:16+0800\n"
 "PO-Revision-Date: 2006-04-21 14:00+0800\n"
-"Last-Translator: Yuheng Xie <elephant@linux.net.cn>\n"
-"Language-Team: Simplified Chinese <i18n-translation@lists.linux.net.cn>\n"
+"Last-Translator: Yuheng Xie\n"
+"Language-Team: Simplified Chinese\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=gb2312\n"
 "Content-Transfer-Encoding: 8-bit\n"
@@ -241,9 +241,8 @@ msgstr " ļȫ (^F^N^P)"
 msgid " Tag completion (^]^N^P)"
 msgstr " Tag ȫ (^]^N^P)"
 
-#, fuzzy
-#~ msgid " Path pattern completion (^N^P)"
-#~ msgstr " ·ģʽȫ (^N^P)"
+msgid " Path pattern completion (^N^P)"
+msgstr " ͷļģʽȫ (^N^P)"
 
 msgid " Definition completion (^D^N^P)"
 msgstr " 岹ȫ (^D^N^P)"
@@ -2862,7 +2861,8 @@ msgstr "-X\t\t\tӵ X Server"
 msgid "--remote <files>\tEdit <files> in a Vim server if possible"
 msgstr "--remote <files>\tпܣ Vim ϱ༭ļ <files>"
 
-msgid "--remote-silent <files>  Same, don't complain if there is no server"
+msgid ""
+"--remote-silent <files>  Same, don't complain if there is no server"
 msgstr "--remote-silent <files>  ͬϣҲʱԹ"
 
 msgid ""
@@ -5243,7 +5243,7 @@ msgstr "Vim: ˳...\n"
 
 #. must display the prompt
 msgid "No undo possible; continue anyway"
-msgstr "޷"
+msgstr "޷Ȼ"
 
 msgid "Already at oldest change"
 msgstr "λɵĸı"
@@ -5560,13 +5560,13 @@ msgid "type  :help cp-default<Enter> for
 msgstr "  :help cp-default<Enter> 鿴˵    "
 
 msgid "menu  Help->Orphans           for information    "
-msgstr "˵  Help->Orphans           鿴˵           "
+msgstr "˵  ->¶           鿴˵           "
 
 msgid "Running modeless, typed text is inserted"
 msgstr "ģʽУּ"
 
 msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
-msgstr "˵  Edit->Global Settings->Toggle Insert Mode  "
+msgstr "˵  ༭->ȫ趨->/زģʽ  "
 
 #, fuzzy
 #~ msgid "                              for two modes      "