Update runtime files
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 299bcba..e7707ca 100644
--- 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 @@
 			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("&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 @@
 		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 @@
 	    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 @@
 
 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 @@
 
 							*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_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_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 @@
 		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 @@
 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
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 5c4b61a..0d11fac 100644
--- 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 @@
 			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 @@
 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 @@
 
 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:
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index f016c4a..f349dd2 100644
--- 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 @@
 	-(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: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 @@
 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|.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 8fcbc99..3f77562 100644
--- 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 @@
 '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 @@
 '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 @@
 			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 @@
 						*'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.
 
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 1799faf..6fe56c0 100644
--- 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 @@
        /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 @@
 
    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*
diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt
index 83fc193..92e759f 100644
--- 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 @@
 
 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
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 4d80e60..04c059c 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2415,6 +2415,7 @@
 :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 @@
 :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 @@
 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-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-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 @@
 {offset}	pattern.txt	/*{offset}*
 {register}	change.txt	/*{register}*
 {rhs}	map.txt	/*{rhs}*
+{server}	remote.txt	/*{server}*
 {subject}	helphelp.txt	/*{subject}*
 {}	intro.txt	/*{}*
 }	motion.txt	/*}*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index bd0c07c..29c64af 100644
--- 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 @@
 							*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 @@
 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)
 
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 435002b..eb269e1 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -162,7 +162,7 @@
 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)
 
diff --git a/runtime/doc/vim-ja.UTF-8.1 b/runtime/doc/vim-ja.UTF-8.1
index 8751391..e18211e 100644
--- 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 書式
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index edd61d9..987495a 100644
--- 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 @@
 	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 @@
 	[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 @@
 Comparators ~
 
 The 'ignorecase' option is not used for comparators that use strings.
+Thus "=~" works like "=~#".
 
 
 Abort after error ~
@@ -1430,32 +1432,61 @@
 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*
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index df076d1..3b7f92d 100644
--- 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")
diff --git a/runtime/lang/menu_ja_jp.euc-jp.vim b/runtime/lang/menu_ja_jp.euc-jp.vim
index 3df1b25..21138f1 100644
--- 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 @@
 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 @@
     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	¥¦¥£¥ó¥É¥¦Ê¬³ä
diff --git a/runtime/lang/menu_ja_jp.utf-8.vim b/runtime/lang/menu_ja_jp.utf-8.vim
index 1f3c429..b3a8d64 100644
--- 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 @@
 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 @@
     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	ウィンドウ分割
diff --git a/runtime/lang/menu_japanese_japan.932.vim b/runtime/lang/menu_japanese_japan.932.vim
index b5b9ffa..530131b 100644
--- 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 @@
 menutrans &Help			ƒwƒ‹ƒv(&H)
 menutrans &Overview<Tab><F1>	ŠT—ª(&O)<Tab><F1>
 menutrans &User\ Manual		ƒ†[ƒU[ƒ}ƒjƒ…ƒAƒ‹(&U)
-menutrans &How-to\ links	&How-toƒŠƒ“ƒN
+menutrans &How-To\ links	&How-toƒŠƒ“ƒN
 menutrans &Credits		ƒNƒŒƒWƒbƒg(&C)
 menutrans Co&pying		’˜ìŒ î•ñ(&P)
 menutrans &Sponsor/Register	ƒXƒ|ƒ“ƒT[/“o˜^(&S)
@@ -271,10 +272,9 @@
     tmenu ToolBar.Cut		ƒNƒŠƒbƒvƒ{[ƒh‚ÖØ‚èŽæ‚è
     tmenu ToolBar.Copy		ƒNƒŠƒbƒvƒ{[ƒh‚ÖƒRƒs[
     tmenu ToolBar.Paste		ƒNƒŠƒbƒvƒ{[ƒ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		V‹KƒEƒBƒ“ƒhƒEì¬
       tmenu ToolBar.WinSplit	ƒEƒBƒ“ƒhƒE•ªŠ„
diff --git a/runtime/syntax/structurizr.vim b/runtime/syntax/structurizr.vim
index 73629b1..ab9e4ee 100644
--- 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 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 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 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 "\!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='"'
 
diff --git a/src/po/de.po b/src/po/de.po
index c97129b..c113406 100644
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -10038,5 +10038,3 @@
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "Name der dynamischen MzScheme GC Bibliothek"
-
-
diff --git a/src/po/en_GB.po b/src/po/en_GB.po
index 77e7f89..bbd5c37 100644
--- a/src/po/en_GB.po
+++ b/src/po/en_GB.po
@@ -557,7 +557,6 @@
 msgstr "E536: Comma required"
 
 
-
 msgid "E542: unbalanced groups"
 msgstr "E542: Unbalanced groups"
 
@@ -761,5 +760,3 @@
 
 msgid "can't delete OutputObject attributes"
 msgstr "cannot delete OutputObject attributes"
-
-
diff --git a/src/po/es.po b/src/po/es.po
index d18568c..a523ea8 100644
--- a/src/po/es.po
+++ b/src/po/es.po
@@ -6337,5 +6337,3 @@
 
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "La búsqueda ha llegado al FINAL, continuando desde el PRINCIPIO"
-
-
diff --git a/src/po/fi.po b/src/po/fi.po
index 213a294..6e9b720 100644
--- a/src/po/fi.po
+++ b/src/po/fi.po
@@ -9883,5 +9883,3 @@
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "MzSchemen GC:n dynaamisen kirjaston nimi"
-
-
diff --git a/src/po/it.po b/src/po/it.po
index 71ba8bf..a6a05d5 100644
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -9278,4 +9278,3 @@
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "nome della libreria dinamica MzScheme GC"
-
diff --git a/src/po/ja.euc-jp.po b/src/po/ja.euc-jp.po
index 92493d1..d25cbf7 100644
--- a/src/po/ja.euc-jp.po
+++ b/src/po/ja.euc-jp.po
@@ -14,8 +14,8 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
 "¤³¤Î¥³¥Þ¥ó¥É¤Ï̵¸ú¤Ç¤¹¡¢¤´¤á¤ó¤Ê¤µ¤¤: 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 msgid "E1034: Cannot use reserved name %s"
 msgstr "E1034: ͽÌó̾ %s ¤Ï»ÈÍѤǤ­¤Þ¤»¤ó"
 
+#, no-c-format
 msgid "E1035: % requires number arguments"
 msgstr "E1035: % ¤Ë¤Ï¿ôÃͤΰú¿ô¤¬É¬ÍפǤ¹"
 
@@ -7466,10 +7446,16 @@
 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 @@
 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 @@
 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 @@
 msgid "E1117: Cannot use ! with nested :def"
 msgstr "E1117: ! ¤òÆþ¤ì»Ò¤Ë¤Ê¤Ã¤¿ :def ¤ÈÁȤ߹ç¤ï¤»¤Æ¤Ï»È¤¨¤Þ¤»¤ó"
 
-msgid "E1118: Cannot change list"
-msgstr "E1118: ¥ê¥¹¥È¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó"
+msgid "E1118: Cannot change locked list"
+msgstr "E1118: ¥í¥Ã¥¯¤µ¤ì¤¿¥ê¥¹¥È¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó"
 
-msgid "E1119: Cannot change list item"
-msgstr "E1119: ¥ê¥¹¥È¤ÎÍ×ÁǤòÊѹ¹¤Ç¤­¤Þ¤»¤ó"
+msgid "E1119: Cannot change locked list item"
+msgstr "E1119: ¥í¥Ã¥¯¤µ¤ì¤¿¥ê¥¹¥È¤ÎÍ×ÁǤòÊѹ¹¤Ç¤­¤Þ¤»¤ó"
 
 msgid "E1120: Cannot change dict"
 msgstr "E1120: ¼­½ñ¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó"
@@ -7669,6 +7661,11 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 "--¥Ð¥Ã¥Õ¥¡¤Ë¹Ô¤¬¤¢¤ê¤Þ¤»¤ó--"
 
diff --git a/src/po/ja.po b/src/po/ja.po
index b5fb57f..59f0212 100644
--- a/src/po/ja.po
+++ b/src/po/ja.po
@@ -14,8 +14,8 @@
 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 @@
 
 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 @@
 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 @@
 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 @@
 "このコマンドは無効です、ごめんなさい: 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 msgid "E1034: Cannot use reserved name %s"
 msgstr "E1034: 予約名 %s は使用できません"
 
+#, no-c-format
 msgid "E1035: % requires number arguments"
 msgstr "E1035: % には数値の引数が必要です"
 
@@ -7466,10 +7446,16 @@
 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 @@
 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 @@
 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 @@
 msgid "E1117: Cannot use ! with nested :def"
 msgstr "E1117: ! を入れ子になった :def と組み合わせては使えません"
 
-msgid "E1118: Cannot change list"
-msgstr "E1118: リストを変更できません"
+msgid "E1118: Cannot change locked list"
+msgstr "E1118: ロックされたリストを変更できません"
 
-msgid "E1119: Cannot change list item"
-msgstr "E1119: リストの要素を変更できません"
+msgid "E1119: Cannot change locked list item"
+msgstr "E1119: ロックされたリストの要素を変更できません"
 
 msgid "E1120: Cannot change dict"
 msgstr "E1120: 辞書を変更できません"
@@ -7669,6 +7661,11 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 "--バッファに行がありません--"
 
diff --git a/src/po/ja.sjis.po b/src/po/ja.sjis.po
index 367abad..dc7cf3b 100644
--- a/src/po/ja.sjis.po
+++ b/src/po/ja.sjis.po
@@ -14,8 +14,8 @@
 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 @@
 
 msgid ""
 "&OK\n"
-"&Load File"
+"&Load File\n"
+"Load File &and Options"
 msgstr ""
 "&OK\n"
-"ƒtƒ@ƒCƒ‹“Ǎž(&L)"
+"ƒtƒ@ƒCƒ‹“Ǎž(&L)\n"
+"ƒtƒ@ƒCƒ‹‚ƃIƒvƒVƒ‡ƒ“‚ð“Ǎž(&A)"
 
 msgid "<empty>"
 msgstr "<‹ó>"
@@ -3082,36 +3084,6 @@
 msgid "'redrawtime' exceeded, syntax highlighting disabled"
 msgstr "'redrawtime' ‚𒴉߂µ‚½‚½‚߁A\\•¶ƒnƒCƒ‰ƒCƒg‚Í–³Œø‰»‚³‚ê‚Ü‚·"
 
-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 ‚̓Zƒbƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ"
 
@@ -3248,7 +3220,7 @@
 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 @@
 "‚±‚̃Rƒ}ƒ“ƒh‚Í–³Œø‚Å‚·A‚²‚ß‚ñ‚È‚³‚¢: Perlƒ‰ƒCƒuƒ‰ƒŠ‚ðƒ[ƒh‚Å‚«‚Ü‚¹‚ñ‚Å‚µ"
 "‚½B"
 
-msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-msgstr ""
-"E299: ƒTƒ“ƒhƒ{ƒbƒNƒX‚Å‚Í Safe ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚µ‚È‚¢PerlƒXƒNƒŠƒvƒg‚͋ւ¶‚ç‚ê"
-"‚Ä‚¢‚Ü‚·"
-
 msgid "Edit with Vim using &tabpages"
 msgstr "Vim‚Ń^ƒuƒy[ƒW‚ðŽg‚Á‚ĕҏW‚·‚é (&T)"
 
@@ -4836,6 +4803,11 @@
 msgid "E298: Didn't get block nr 2?"
 msgstr "E298: ƒuƒƒbƒN 2 ‚ðŽæ“¾‚Å‚«‚Ü‚¹‚ñ?"
 
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr ""
+"E299: ƒTƒ“ƒhƒ{ƒbƒNƒX‚Å‚Í Safe ƒ‚ƒWƒ…[ƒ‹‚ðŽg—p‚µ‚È‚¢PerlƒXƒNƒŠƒvƒg‚͋ւ¶‚ç‚ê"
+"‚Ä‚¢‚Ü‚·"
+
 msgid "E300: Swap file already exists (symlink attack?)"
 msgstr "E300: ƒXƒƒbƒvƒtƒ@ƒCƒ‹‚ªŠù‚É‘¶Ý‚µ‚Ü‚· (symlink‚É‚æ‚éUŒ‚?)"
 
@@ -5418,6 +5390,10 @@
 msgid "E464: Ambiguous use of user-defined command"
 msgstr "E464: ƒ†[ƒU[’è‹`ƒRƒ}ƒ“ƒh‚Ì‚ ‚¢‚Ü‚¢‚ÈŽg—p‚Å‚·"
 
+#, c-format
+msgid "E464: Ambiguous use of user-defined command: %s"
+msgstr "E464: ƒ†[ƒU[’è‹`ƒRƒ}ƒ“ƒh‚Ì‚ ‚¢‚Ü‚¢‚ÈŽg—p‚Å‚·: %s"
+
 msgid "E465: :winsize requires two number arguments"
 msgstr "E465: :winsize ‚É‚Í2‚‚̐”’l‚̈ø”‚ª•K—v‚Å‚·"
 
@@ -6498,6 +6474,7 @@
 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 @@
 msgid "E863: Not allowed for a terminal in a popup window"
 msgstr "E863: ’[––‚̓|ƒbƒvƒAƒbƒvƒEƒBƒ“ƒhƒE‚ł͋–‚³‚ê‚Ü‚¹‚ñ"
 
+#, no-c-format
 msgid ""
 "E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
 "used"
@@ -7019,6 +6997,7 @@
 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 @@
 msgid "E1034: Cannot use reserved name %s"
 msgstr "E1034: —\\–ñ–¼ %s ‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñ"
 
+#, no-c-format
 msgid "E1035: % requires number arguments"
 msgstr "E1035: % ‚ɂ͐”’l‚̈ø”‚ª•K—v‚Å‚·"
 
@@ -7466,10 +7446,16 @@
 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ƒ}ƒ“ƒhCüŽq‚Å‚·"
+
 msgid "E1083: Missing backtick"
 msgstr "E1083: ƒoƒbƒNƒNƒH[ƒg‚ª‚ ‚è‚Ü‚¹‚ñ"
 
@@ -7487,6 +7473,9 @@
 msgid "E1087: Cannot use an index when declaring a variable"
 msgstr "E1087: •ϐ”‚ðéŒ¾‚·‚éÛ‚ɃCƒ“ƒfƒbƒNƒX‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñ"
 
+msgid "E1088: Script cannot import itself"
+msgstr "E1088: ƒXƒNƒŠƒvƒgŽ©g‚ðƒCƒ“ƒ|[ƒg‚Å‚«‚Ü‚¹‚ñ"
+
 #, c-format
 msgid "E1089: Unknown variable: %s"
 msgstr "E1089: •s–¾‚ȕϐ”: %s"
@@ -7499,6 +7488,9 @@
 msgid "E1091: Function is not compiled: %s"
 msgstr "E1091: ŠÖ”‚̓Rƒ“ƒpƒCƒ‹‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ: %s"
 
+msgid "E1092: Cannot nest :redir"
+msgstr "E1092: :redir ‚Í“ü‚êŽq‚ɂł«‚Ü‚¹‚ñ"
+
 #, c-format
 msgid "E1093: Expected %d items but got %d"
 msgstr "E1093: %d ŒÂ‚Ì—v‘f‚ªŠú‘Ò‚³‚ê‚Ä‚¢‚Ü‚·‚ª %d ŒÂ‚Å‚µ‚½"
@@ -7591,11 +7583,11 @@
 msgid "E1117: Cannot use ! with nested :def"
 msgstr "E1117: ! ‚ð“ü‚êŽq‚ɂȂÁ‚½ :def ‚Æ‘g‚ݍ‡‚킹‚Ă͎g‚¦‚Ü‚¹‚ñ"
 
-msgid "E1118: Cannot change list"
-msgstr "E1118: ƒŠƒXƒg‚ð•ύX‚Å‚«‚Ü‚¹‚ñ"
+msgid "E1118: Cannot change locked list"
+msgstr "E1118: ƒƒbƒN‚³‚ꂽƒŠƒXƒg‚ð•ύX‚Å‚«‚Ü‚¹‚ñ"
 
-msgid "E1119: Cannot change list item"
-msgstr "E1119: ƒŠƒXƒg‚Ì—v‘f‚ð•ύX‚Å‚«‚Ü‚¹‚ñ"
+msgid "E1119: Cannot change locked list item"
+msgstr "E1119: ƒƒbƒN‚³‚ꂽƒŠƒXƒg‚Ì—v‘f‚ð•ύX‚Å‚«‚Ü‚¹‚ñ"
 
 msgid "E1120: Cannot change dict"
 msgstr "E1120: Ž«‘‚ð•ύX‚Å‚«‚Ü‚¹‚ñ"
@@ -7669,6 +7661,11 @@
 msgid "E1141: Indexable type required"
 msgstr "E1141: ƒCƒ“ƒfƒbƒNƒX‰Â”\\‚ÈŒ^‚ª•K—v‚Å‚·"
 
+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 @@
 msgid "E1157: Missing return type"
 msgstr "E1157: –ß‚è’l‚ÌŒ^‚ª‚ ‚è‚Ü‚¹‚ñ"
 
-msgid "E1158: Cannot use flatten() in Vim9 script"
-msgstr "E1158: Vim9 ƒXƒNƒŠƒvƒg‚Å‚Í flatten() ‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñ"
+msgid "E1158: Cannot use flatten() in Vim9 script, use flattennew()"
+msgstr ""
+"E1158: Vim9 ƒXƒNƒŠƒvƒg‚Å‚Í flatten() ‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñAflattennew() ‚ðŽg‚Á‚Ä"
+"‚­‚¾‚³‚¢"
 
 msgid "E1159: Cannot split a window when closing the buffer"
 msgstr "E1159: ƒoƒbƒtƒ@‚ð•‚¶‚Ä‚¢‚éŠÔ‚ɃEƒBƒ“ƒhƒE‚𕪊„‚·‚邱‚Ƃ͂ł«‚Ü‚¹‚ñ"
@@ -7764,8 +7763,9 @@
 msgid "E1168: Argument already declared in the script: %s"
 msgstr "E1168: ˆø”‚ÍŠù‚ɃXƒNƒŠƒvƒg“à‚Ő錾‚³‚ê‚Ä‚¢‚Ü‚·: %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: ƒRƒƒ“ƒg‚ÌŠJŽn‚É #{ ‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñ"
@@ -7813,9 +7813,6 @@
 msgid "E1181: Cannot use an underscore here"
 msgstr "E1181: ‚±‚±‚ł̓Aƒ“ƒ_[ƒXƒRƒA‚ÍŽg‚¦‚Ü‚¹‚ñ"
 
-msgid "E1182: Blob required"
-msgstr "E1182: BlobŒ^‚ª•K—v‚Å‚·"
-
 #, c-format
 msgid "E1183: Cannot use a range with an assignment operator: %s"
 msgstr "E1183: ‘ã“ü‰‰ŽZŽq‚Ŕ͈͎͂g—p‚Å‚«‚Ü‚¹‚ñ: %s"
@@ -7823,9 +7820,6 @@
 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 @@
 msgid "E1262: Cannot import the same script twice: %s"
 msgstr "E1262: “¯‚¶ƒXƒNƒŠƒvƒg‚ð2‰ñƒCƒ“ƒ|[ƒg‚·‚邱‚Ƃ͂ł«‚Ü‚¹‚ñ: %s"
 
-msgid "E1263: Using autoload in a script not under an autoload directory"
-msgstr "E1263: autoloadƒfƒBƒŒƒNƒgƒŠ‚É–³‚¢ƒXƒNƒŠƒvƒg‚Åautoload‚ðŽg‚Á‚Ä‚¢‚Ü‚·"
+msgid "E1263: cannot use name with # in Vim9 script, use export instead"
+msgstr ""
+"E1263: Vim9 ƒXƒNƒŠƒvƒg‚Å‚Í # “ü‚è‚Ì–¼‘O‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñA‘ã‚í‚è‚É export ‚ðŽg"
+"—p‚µ‚Ä‚­‚¾‚³‚¢"
 
 #, c-format
 msgid "E1264: Autoload import cannot use absolute or relative path: %s"
 msgstr ""
 "E1264: autoloadƒCƒ“ƒ|[ƒg‚Őâ‘΂܂½‚Í‘Š‘ÎƒpƒX‚ðŽg‚¤‚±‚Ƃ͂ł«‚Ü‚¹‚ñ: %s"
 
+msgid "E1265: Cannot use a partial here"
+msgstr "E1265: ‚±‚±‚ł͕”•ª“K—p‚ÍŽg‚¦‚Ü‚¹‚ñ"
+
+msgid ""
+"E1266: Critical error in python3 initialization, check your python3 "
+"installation"
+msgstr ""
+"E1266: python3‰Šú‰»’†‚ɏd‘å‚ȃGƒ‰[‚ª‹N‚«‚Ü‚µ‚½Bpython3‚̃Cƒ“ƒXƒg[ƒ‹ó‹µ‚ð"
+"Šm”F‚µ‚Ä‚­‚¾‚³‚¢"
+
+#, 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 ƒXƒNƒŠƒvƒg‚Å‚Í :s ‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñ: %s"
+
+#, c-format
+msgid "E1269: Cannot create a Vim9 script variable in a function: %s"
+msgstr "E1269: ŠÖ”“à‚Å Vim9 ƒXƒNƒŠƒvƒg•ϐ”‚͍쐬‚Å‚«‚Ü‚¹‚ñ: %s"
+
 msgid "--No lines in buffer--"
 msgstr "--ƒoƒbƒtƒ@‚ɍs‚ª‚ ‚è‚Ü‚¹‚ñ--"
 
diff --git a/src/po/sk.cp1250.po b/src/po/sk.cp1250.po
index 9cb663e..f046554 100644
--- a/src/po/sk.cp1250.po
+++ b/src/po/sk.cp1250.po
@@ -284,9 +284,6 @@
 msgid " Adding"
 msgstr " Pridávam"
 
-#. 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 "-- H¾adám..."
@@ -477,10 +474,6 @@
 msgstr "E699: Príliš 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 @@
 msgid "Writing viminfo file \"%s\""
 msgstr "Ukládám viminfo súboru \"%s\""
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Tento viminfo súbor bol vytvorený editorom Vim %s.\n"
@@ -1212,7 +1204,6 @@
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
 msgstr "E608: Nemožno spracova výnimku :throw s preponou 'Vim'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr "Spracovanie výnimky: %s"
@@ -1295,7 +1286,6 @@
 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 @@
 msgid "[Incomplete last line]"
 msgstr "[neúplný 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: Súbor bol zmenený od jeho naèítania!!!"
@@ -1649,7 +1637,6 @@
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "samomazací automatický príkaz: %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 @@
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Nájs a Nahradi (použite '\\\\' ak chcete nájs '\\')"
 
-#. 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 @@
 "\n"
 "# Súborové znaèky:\n"
 
-#. Write the jumplist with -'
 #, c-format
 msgid ""
 "\n"
@@ -3329,7 +3314,6 @@
 msgid "      NEWER than swap file!\n"
 msgstr "      NOVŠÍ ako odkladací súbor!\n"
 
-#. Some of these messages are long to allow translation to
 #. * other languages.
 msgid ""
 "\n"
@@ -3433,7 +3417,6 @@
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Odde¾ovaè nesmie by èasou cesty ponuky"
 
-#. Now we have found the matching menu, and we list the mappings
 #. Highlight title
 msgid ""
 "\n"
@@ -4714,7 +4697,6 @@
 msgid "Sorry, only %ld suggestions"
 msgstr "Prepáète, iba %ld návrhov"
 
-#. avoid more prompt
 #, c-format
 msgid "Change \"%.*s\" to:"
 msgstr "Zmeni \"%.*s\" na:"
@@ -4730,7 +4712,6 @@
 msgid "E753: Not found: %s"
 msgstr "E753: Nenájdené: %s"
 
-#. This should have been checked when generating the .spl
 #. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783: duplicitný znak v MAP položke"
@@ -4955,7 +4936,6 @@
 msgid "File \"%s\" does not exist"
 msgstr "Súbor \"%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 @@
 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: Príkaz prerušený"
 
@@ -5775,4 +5752,3 @@
 
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "h¾adanie dosiahlo koniec, pokraèovanie od zaèiatku"
-
diff --git a/src/po/sk.po b/src/po/sk.po
index 75ce451..f1d29b0 100644
--- a/src/po/sk.po
+++ b/src/po/sk.po
@@ -284,9 +284,6 @@
 msgid " Adding"
 msgstr " Pridávam"
 
-#. 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 "-- Hµadám..."
@@ -477,10 +474,6 @@
 msgstr "E699: Príli¹ 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 @@
 msgid "Writing viminfo file \"%s\""
 msgstr "Ukládám viminfo súboru \"%s\""
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Tento viminfo súbor bol vytvorený editorom Vim %s.\n"
@@ -1212,7 +1204,6 @@
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
 msgstr "E608: Nemo¾no spracova» výnimku :throw s preponou 'Vim'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr "Spracovanie výnimky: %s"
@@ -1295,7 +1286,6 @@
 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 @@
 msgid "[Incomplete last line]"
 msgstr "[neúplný 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: Súbor bol zmenený od jeho naèítania!!!"
@@ -1649,7 +1637,6 @@
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "samomazací automatický príkaz: %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 @@
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Nájs» a Nahradi» (pou¾ite '\\\\' ak chcete nájs» '\\')"
 
-#. 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 @@
 "\n"
 "# Súborové znaèky:\n"
 
-#. Write the jumplist with -'
 #, c-format
 msgid ""
 "\n"
@@ -3329,7 +3314,6 @@
 msgid "      NEWER than swap file!\n"
 msgstr "      NOV©Í ako odkladací súbor!\n"
 
-#. Some of these messages are long to allow translation to
 #. * other languages.
 msgid ""
 "\n"
@@ -3433,7 +3417,6 @@
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Oddeµovaè nesmie by» èas»ou cesty ponuky"
 
-#. Now we have found the matching menu, and we list the mappings
 #. Highlight title
 msgid ""
 "\n"
@@ -4714,7 +4697,6 @@
 msgid "Sorry, only %ld suggestions"
 msgstr "Prepáète, iba %ld návrhov"
 
-#. avoid more prompt
 #, c-format
 msgid "Change \"%.*s\" to:"
 msgstr "Zmeni» \"%.*s\" na:"
@@ -4730,7 +4712,6 @@
 msgid "E753: Not found: %s"
 msgstr "E753: Nenájdené: %s"
 
-#. This should have been checked when generating the .spl
 #. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783: duplicitný znak v MAP polo¾ke"
@@ -4955,7 +4936,6 @@
 msgid "File \"%s\" does not exist"
 msgstr "Súbor \"%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 @@
 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: Príkaz preru¹ený"
 
@@ -5775,4 +5752,3 @@
 
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "hµadanie dosiahlo koniec, pokraèovanie od zaèiatku"
-
diff --git a/src/po/sr.po b/src/po/sr.po
index 753dde3..14dc7a6 100644
--- a/src/po/sr.po
+++ b/src/po/sr.po
@@ -9972,5 +9972,3 @@
 
 msgid "name of the MzScheme GC dynamic library"
 msgstr "име MzScheme GC динамичке библиотеке"
-
-
diff --git a/src/po/zh_CN.po b/src/po/zh_CN.po
index 6d4b367..403847f 100644
--- 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 @@
 "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 @@
 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 @@
 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 @@
 
 #. must display the prompt
 msgid "No undo possible; continue anyway"
-msgstr "ÎÞ·¨³·Ïú£»Çë¼ÌÐø"
+msgstr "ÎÞ·¨³·Ïú£»ÈÔÈ»¼ÌÐø"
 
 msgid "Already at oldest change"
 msgstr "ÒÑλÓÚ×î¾ÉµÄ¸Ä±ä"
@@ -5560,13 +5560,13 @@
 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      "