changeset 13818:28ac7914b2b6

Update runtime files and translations commit https://github.com/vim/vim/commit/15142e27aaafa15b72d1042c25fbb5e4f12b6736 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Apr 30 22:19:58 2018 +0200 Update runtime files and translations
author Christian Brabandt <cb@256bit.org>
date Mon, 30 Apr 2018 22:30:08 +0200
parents 49f764b1d6cc
children 31bb8e1f7625
files runtime/doc/autocmd.txt runtime/doc/develop.txt runtime/doc/eval.txt runtime/doc/options.txt runtime/doc/quickfix.txt runtime/doc/scroll.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/windows.txt runtime/lang/menu_fr_fr.latin1.vim runtime/syntax/vim.vim runtime/tutor/tutor.ru runtime/tutor/tutor.ru.cp1251 src/po/de.po src/po/eo.po src/po/fr.po src/po/ru.cp1251.po src/po/ru.po
diffstat 19 files changed, 2602 insertions(+), 1908 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.0.  Last change: 2018 Apr 19
+*autocmd.txt*   For Vim version 8.0.  Last change: 2018 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -347,6 +347,7 @@ Name			triggered by ~
 			when popup menu visible
 |TextYankPost|		after text is yanked or deleted
 
+|ColorSchemePre|	before loading a color scheme
 |ColorScheme|		after loading a color scheme
 
 |RemoteReply|		a reply from a server Vim was received
@@ -562,6 +563,10 @@ ColorScheme			After loading a color sche
 				set, and <amatch> for the new colorscheme
 				name.
 
+							*ColorSchemePre*
+ColorSchemePre			Before loading a color scheme. |:colorscheme|
+				Useful to setup removing things added by a
+				color scheme, before another one is loaded.
 
 							*CompleteDone*
 CompleteDone			After Insert mode completion is done.  Either
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt*   For Vim version 8.0.  Last change: 2018 Apr 18
+*develop.txt*   For Vim version 8.0.  Last change: 2018 Apr 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -182,7 +182,7 @@ 6. Make a note about what changed, prefe
    include the diff. Or create a pull request on github.
 
 
-C COMPILER						*style-compiler*
+C COMPILER				*style-compiler* *ANSI-C* *C89* *C99*
 
 The minimal C compiler version supported is C89, also known as ANSI C.
 Later standards, such as C99, are not widely supported, or at least not 100%
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -4762,8 +4762,8 @@ getqflist([{what}])					*getqflist()*
 		returns only the items listed in {what} as a dictionary. The
 		following string items are supported in {what}:
 			changedtick	get the total number of changes made
-					to the list
-			context	get the context stored with |setqflist()|
+					to the list |quickfix-changedtick|
+			context	get the |quickfix-context|
 			efm	errorformat to use when parsing "lines". If
 				not present, then the 'errorformat' option
 				value is used.
@@ -4772,15 +4772,15 @@ getqflist([{what}])					*getqflist()*
 				current list or the list specified by "nr"
 			idx	index of the current entry in the list
 			items	quickfix list entries
-			lines	use 'errorformat' to extract items from a list
-				of lines and return the resulting entries.
-				Only a |List| type is accepted.  The current
-				quickfix list is not modified.
+			lines	parse a list of lines using 'efm' and return
+				the resulting entries.  Only a |List| type is
+				accepted.  The current quickfix list is not
+				modified. See |quickfix-parse|.
 			nr	get information for this quickfix list; zero
 				means the current quickfix list and "$" means
 				the last quickfix list
 			size	number of entries in the quickfix list
-			title	get the list title
+			title	get the list title |quickfix-title|
 			winid	get the quickfix |window-ID|
 			all	all of the above quickfix properties
 		Non-string items in {what} are ignored. To get the value of a
@@ -4798,7 +4798,7 @@ getqflist([{what}])					*getqflist()*
 		The returned dictionary contains the following entries:
 			changedtick	total number of changes made to the
 					list |quickfix-changedtick|
-			context	context information stored with |setqflist()|.
+			context	quickfix list context. See |quickfix-context|
 				If not present, set to "".
 			id	quickfix list ID |quickfix-ID|. If not
 				present, set to 0.
@@ -4813,12 +4813,11 @@ getqflist([{what}])					*getqflist()*
 				to "".
 			winid	quickfix |window-ID|. If not present, set to 0
 
-		Examples: >
+		Examples (See also |getqflist-examples|): >
 			:echo getqflist({'all': 1})
 			:echo getqflist({'nr': 2, 'title': 1})
 			:echo getqflist({'lines' : ["F1:10:L10"]})
 <
-
 getreg([{regname} [, 1 [, {list}]]])			*getreg()*
 		The result is a String, which is the contents of register
 		{regname}.  Example: >
@@ -7270,7 +7269,7 @@ setqflist({list} [, {action} [, {what}]]
 		only the items listed in {what} are set. The first {list}
 		argument is ignored.  The following items can be specified in
 		{what}:
-		    context	any Vim type can be stored as a context
+		    context	quickfix list context. See |quickfix-context|
 		    efm		errorformat to use when parsing text from
 				"lines". If this is not present, then the
 				'errorformat' option value is used.
@@ -7292,10 +7291,10 @@ setqflist({list} [, {action} [, {what}]]
 		list is modified, "id" should be used instead of "nr" to
 		specify the list.
 
-		Examples: >
+		Examples (See also |setqflist-examples|): >
 		   :call setqflist([], 'r', {'title': 'My search'})
 		   :call setqflist([], 'r', {'nr': 2, 'title': 'Errors'})
-		   :call setqflist([], 'a', {'id':myid, 'lines':["F1:10:L10"]})
+		   :call setqflist([], 'a', {'id':qfid, 'lines':["F1:10:L10"]})
 <
 		Returns zero for success, -1 for failure.
 
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2018 Apr 21
+*options.txt*	For Vim version 8.0.  Last change: 2018 Apr 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2117,7 +2117,7 @@ A jump table for the options with a shor
 								*cpo-E*
 		E	It is an error when using "y", "d", "c", "g~", "gu" or
 			"gU" on an Empty region.  The operators only work when
-			at least one character is to be operate on.  Example:
+			at least one character is to be operated on.  Example:
 			This makes "y0" fail in the first column.
 								*cpo-f*
 		f	When included, a ":read" command with a file name
@@ -6084,7 +6084,7 @@ A jump table for the options with a shor
 			{only available when compiled with the |+reltime|
 			feature}
 	The time in milliseconds for redrawing the display.  This applies to
-	searching for patterns for 'hlsearch', |:match| highlighting an syntax
+	searching for patterns for 'hlsearch', |:match| highlighting and syntax
 	highlighting.
 	When redrawing takes more than this many milliseconds no further
 	matches will be highlighted.
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 8.0.  Last change: 2018 Mar 29
+*quickfix.txt*  For Vim version 8.0.  Last change: 2018 Apr 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -597,6 +597,96 @@ present).  Examples: >
 	echo getqflist({'winid' : 1}).winid
 	echo getloclist(2, {'winid' : 1}).winid
 <
+							*getqflist-examples*
+The getqflist() and getloclist() functions can be used to get the various
+attributes of a quickfix and location list respectively. Some examples for
+using these functions are below:
+>
+    " get the title of the current quickfix list
+    :echo getqflist({'title' : 0}).title
+
+    " get the identifier of the current quickfix list
+    :let qfid = getqflist({'id' : 0}).id
+
+    " get the index of the current quickfix list in the stack
+    :let qfnum = getqflist({'nr' : 0}).nr
+
+    " get the items of a quickfix list specified by an identifier
+    :echo getqflist({'id' : qfid, 'items' : 0}).items
+
+    " get the number of entries in a quickfix list specified by an id
+    :echo getqflist({'id' : qfid, 'size' : 0}).size
+
+    " get the context of the third quickfix list in the stack
+    :echo getqflist({'nr' : 3, 'context' : 0}).context
+
+    " get the number of quickfix lists in the stack
+    :echo getqflist({'nr' : '$'}).nr
+
+    " get the number of times the current quickfix list is changed
+    :echo getqflist({'changedtick' : 0}).changedtick
+
+    " get the current entry in a quickfix list specified by an identifier
+    :echo getqflist({'id' : qfid, 'idx' : 0}).idx
+
+    " get all the quickfix list attributes using an identifier
+    :echo getqflist({'id' : qfid, 'all' : 0})
+
+    " parse text from a List of lines and return a quickfix list
+    :let myList = ["a.java:10:L10", "b.java:20:L20"]
+    :echo getqflist({'lines' : myList}).items
+
+    " parse text using a custom 'efm' and return a quickfix list
+    :echo getqflist({'lines' : ['a.c#10#Line 10'], 'efm':'%f#%l#%m'}).items
+
+    " get the quickfix list window id
+    :echo getqflist({'winid' : 0}).winid
+
+    " get the context of the current location list
+    :echo getloclist(0, {'context' : 0}).context
+
+    " get the location list window id of the third window
+    :echo getloclist(3, {'winid' : 0}).winid
+<
+							*setqflist-examples*
+The setqflist() and setloclist() functions can be used to set the various
+attributes of a quickfix and location list respectively. Some examples for
+using these functions are below:
+>
+    " set the title of the current quickfix list
+    :call setqflist([], 'a', {'title' : 'Mytitle'})
+
+    " set the context of a quickfix list specified by an identifier
+    :call setqflist([], 'a', {'id' : qfid, 'context' : {'val' : 100}})
+
+    " create a new quickfix list from a command output
+    :call setqflist([], ' ', {'lines' : systemlist('grep -Hn main *.c')})
+
+    " parse text using a custom efm and add to a particular quickfix list
+    :call setqflist([], 'a', {'id' : qfid,
+		\ 'lines' : ["a.c#10#L10", "b.c#20#L20"], 'efm':'%f#%l#%m'})
+
+    " add items to the quickfix list specified by an identifier
+    :let newItems = [{'filename' : 'a.txt', 'lnum' : 10, 'text' : "Apple"},
+		    \ {'filename' : 'b.txt', 'lnum' : 20, 'text' : "Orange"}]
+    :call setqflist([], 'a', {'id' : qfid, 'items' : newItems})
+
+    " free all the quickfix lists in the stack
+    :call setqflist([], 'f')
+
+    " set the title of the fourth quickfix list
+    :call setqflist([], 'a', {'nr' : 4, 'title' : 'SomeTitle'})
+
+    " create a new quickfix list at the end of the stack
+    :call setqflist([], ' ', {'nr' : '$',
+			\ 'lines' : systemlist('grep -Hn class *.java')})
+
+    " create a new location list from a command output
+    :call setloclist(0, [], ' ', {'lines' : systemlist('grep -Hn main *.c')})
+
+    " replace the location list entries for the third window
+    :call setloclist(3, [], 'r', {'items' : newItems})
+<
 =============================================================================
 3. Using more than one list of errors			*quickfix-error-lists*
 
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt*    For Vim version 8.0.  Last change: 2016 Nov 10
+*scroll.txt*    For Vim version 8.0.  Last change: 2018 Apr 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -32,6 +32,7 @@ seen):
 
 							*CTRL-E*
 CTRL-E			Scroll window [count] lines downwards in the buffer.
+			The text moves upwards on the screen.
 			Mnemonic: Extra lines.
 
 							*CTRL-D*
@@ -70,6 +71,7 @@ seen):
 
 							*CTRL-Y*
 CTRL-Y			Scroll window [count] lines upwards in the buffer.
+			The text moves downwards on the screen.
 			Note: When using the MS-Windows key bindings CTRL-Y is
 			remapped to redo.
 
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.0.  Last change: 2018 Jan 31
+*syntax.txt*	For Vim version 8.0.  Last change: 2018 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4627,7 +4627,9 @@ in their own color.
 				runtime colors/evening.vim
 				hi Statement ctermfg=Blue guifg=Blue
 
-<			After the color scheme has been loaded the
+<			Before the color scheme will be loaded the
+			|ColorSchemePre| autocommand event is triggered.
+			After the color scheme has been loaded the
 			|ColorScheme| autocommand event is triggered.
 			For info about writing a colorscheme file: >
 				:edit $VIMRUNTIME/colors/README.txt
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3529,6 +3529,7 @@ 90.5	usr_90.txt	/*90.5*
 @r	eval.txt	/*@r*
 A	insert.txt	/*A*
 ACL	editing.txt	/*ACL*
+ANSI-C	develop.txt	/*ANSI-C*
 ATTENTION	usr_11.txt	/*ATTENTION*
 Abbreviations	map.txt	/*Abbreviations*
 Aleph	options.txt	/*Aleph*
@@ -3565,6 +3566,8 @@ BufWritePre	autocmd.txt	/*BufWritePre*
 C	change.txt	/*C*
 C-editing	tips.txt	/*C-editing*
 C-indenting	indent.txt	/*C-indenting*
+C89	develop.txt	/*C89*
+C99	develop.txt	/*C99*
 COMSPEC	starting.txt	/*COMSPEC*
 CR-used-for-NL	pattern.txt	/*CR-used-for-NL*
 CTRL-6	editing.txt	/*CTRL-6*
@@ -3693,6 +3696,7 @@ CmdlineLeave	autocmd.txt	/*CmdlineLeave*
 CmdwinEnter	autocmd.txt	/*CmdwinEnter*
 CmdwinLeave	autocmd.txt	/*CmdwinLeave*
 ColorScheme	autocmd.txt	/*ColorScheme*
+ColorSchemePre	autocmd.txt	/*ColorSchemePre*
 Command-line	cmdline.txt	/*Command-line*
 Command-line-mode	cmdline.txt	/*Command-line-mode*
 CompleteDone	autocmd.txt	/*CompleteDone*
@@ -5116,6 +5120,7 @@ asin()	eval.txt	/*asin()*
 asm.vim	syntax.txt	/*asm.vim*
 asm68k	syntax.txt	/*asm68k*
 asmh8300.vim	syntax.txt	/*asmh8300.vim*
+assert-return	eval.txt	/*assert-return*
 assert_beeps()	eval.txt	/*assert_beeps()*
 assert_equal()	eval.txt	/*assert_equal()*
 assert_equalfile()	eval.txt	/*assert_equalfile()*
@@ -6618,6 +6623,7 @@ getmatches()	eval.txt	/*getmatches()*
 getpid()	eval.txt	/*getpid()*
 getpos()	eval.txt	/*getpos()*
 getqflist()	eval.txt	/*getqflist()*
+getqflist-examples	quickfix.txt	/*getqflist-examples*
 getreg()	eval.txt	/*getreg()*
 getregtype()	eval.txt	/*getregtype()*
 getscript	pi_getscript.txt	/*getscript*
@@ -8356,6 +8362,7 @@ setloclist()	eval.txt	/*setloclist()*
 setmatches()	eval.txt	/*setmatches()*
 setpos()	eval.txt	/*setpos()*
 setqflist()	eval.txt	/*setqflist()*
+setqflist-examples	quickfix.txt	/*setqflist-examples*
 setreg()	eval.txt	/*setreg()*
 settabvar()	eval.txt	/*settabvar()*
 settabwinvar()	eval.txt	/*settabwinvar()*
@@ -9730,6 +9737,7 @@ zz	scroll.txt	/*zz*
 {Visual}	intro.txt	/*{Visual}*
 {address}	cmdline.txt	/*{address}*
 {arglist}	editing.txt	/*{arglist}*
+{bufname}	windows.txt	/*{bufname}*
 {char1-char2}	intro.txt	/*{char1-char2}*
 {event}	autocmd.txt	/*{event}*
 {file}	editing.txt	/*{file}*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2018 Apr 20
+*todo.txt*      For Vim version 8.0.  Last change: 2018 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -40,32 +40,31 @@ Terminal emulator window:
 
 Problem with sudo. #2758
 
+Make assert_functions return non-zero on failure.  Make sure they add one
+entry to v:errors then.
+Use WaitForAssert() in tests: give error when failed.
+Remove asserts after WaitFor().
+
+balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
+20, #2481)
+Also see #2352, want better control over balloon, perhaps set the position.
+
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
 
-Patch to avoid bad highlighting caused by #if. (ichizok, #2731)
-
-Patch to refactor qf_set_properties(). (Yegappan, Apr 17, #2812)
-
-Patch for static analysis warnings. (Christian Brabandt, 2018 Apr 1, #2770)
-Ther are more here: https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
-
-Patch to refactor ex_helpgrep. (Yegappan, #2766, 2018 Mar 30)
-Also in email, take the one with a test.
-
-Allow for C99 features, decide which ones are OK:
-- "inline"
-- "long long"
-- flexible array members (change code to avoid FORTIFY_SOURCE problems)
+Patch to shorten filenames in quickfix window. (Yegappan, 2018 Apr 28, #2851,
+closes #2846)
+
+More warnings from static analysis:
+https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
 
 Looks like an error for inserting register makes ":file other" not work.
 (Tom M, 2018 Mar 28)  Reset did_emsg after inserting a register.
 Or at the top of the loop? (Apr 4)
 
-Patch to fix mouse pointer after :tselect. (Hirohito Higashi, #2709)
-How to reproduce the problem?  Remarks by Hirohito, Apr 8.
-
-Patch to avoid job killed when I/O is disconnected. (ichizok, #2734)
+Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
+8, #1757)  Now part of #2322.  Or #2327?  #1757 was re-opened, include that
+first.
 
 When opening foo/x.txt and bar/x.txt get swap file warning.  Should check the
 file name. (Juergen Weigert)
@@ -80,14 +79,6 @@ Tests failing for "make testgui" with GT
 - Test_setbufvar_options()
 - Test_exit_callback_interval()
 
-Mouse pointer sticks to stop shape.  Only on Windows GUI?  #2709
-
-Patch to make log_tr() use variable arguments. (Ichizok, 2018 Mar 20, #2730)
-
-balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
-20, #2481)
-Also see #2352, want better control over balloon, perhaps set the position.
-
 Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
 or asyncmake: 
@@ -96,18 +87,13 @@ or asyncmake:
 Add a ModeChanged autocommand that has an argument indicating the old and new
 mode.  Also used for switching Terminal mode.
 
-Cursor in status line after search. (#2530)
+Patch to shorten filenames in quickfix window. (Yegappan Lakshmanan, 2018
+Apr 27)
 
 Add an option with file patterns, to be used when unloading a buffer: If there
 is a match, remove entries for the buffer from marks, jumplist, etc.  To be
 used for git temp files.
 
-Patch to fix that an empty buffer remains when using :argedit. (Christian,
-#2713)  Updated patch.
-
-Patch to fix interaction between 'virtualedit' and i_CTRL-G_j. (Christian
-Brabandt, #2743)
-
 Cursor in wrong position when line wraps. (#2540)
 
 Add an option similar to 'lazyredraw' to skip redrawing while executing a
@@ -131,6 +117,9 @@ Jan 15, #2555)
 
 Check argument of systemlist(). (Pavlov)
 
+Patch to support 256 colors in Windows console. (Nobuhiro Takasaki, 2018 Apr
+25, #2821)
+
 Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745)
 
 No maintainer for Vietnamese translations.
@@ -146,10 +135,6 @@ Should be supported with a flag.
 Starting job with cwd option, when the directory does not exist, gives a
 confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
 
-Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
-8, #1757)  Now part of #2322.  Or #2327?  #1757 was re-opened, include that
-first.
-
 Add the debug command line history to viminfo.
 
 Avoid that "sign unplace id" does a redraw right away, esp. when there is a
@@ -163,6 +148,9 @@ Add Makefiles to the runtime/spell direc
 Will have to explain the manual steps (downloading the .aff and .dic files,
 applying the diff, etc.
 
+Pasting a register in Visual mode cannot be repeated. (Mahmoud Al-Qudsi, 2018
+Apr 26, #2849)
+
 User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a
 word is re-added to it. (Matej Cepl, 2018 Feb 6)
 
@@ -252,9 +240,6 @@ ml_get errors with buggy script. (Domini
 
 Error in emsg with buggy script. (Dominique, 2017 Apr 30)
 
-Using CTRL-G j in insert mode in combination with 'virtualedit' doesn't work
-as expected. (Rich, 2018 March 23, #2743)
-
 Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
 #2478)
 
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.0.  Last change: 2018 Mar 29
+*windows.txt*   For Vim version 8.0.  Last change: 2018 Apr 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1083,10 +1083,8 @@ list of buffers. |unlisted-buffer|
 <
 
 :bdelete[!] {bufname}						*E93* *E94*
-		Like ":bdelete[!] [N]", but buffer given by name.  Note that a
-		buffer whose name is a number cannot be referenced by that
-		name; use the buffer number instead.  Insert a backslash
-		before a space in a buffer name.
+		Like ":bdelete[!] [N]", but buffer given by name, see
+		|{bufname}|.
 
 :bdelete[!] N1 N2 ...
 		Do ":bdelete[!]" for buffer N1, N2, etc.  The arguments can be
@@ -1123,10 +1121,8 @@ list of buffers. |unlisted-buffer|
 		into a loaded buffer.
 
 :bunload[!] {bufname}
-		Like ":bunload[!] [N]", but buffer given by name.  Note that a
-		buffer whose name is a number cannot be referenced by that
-		name; use the buffer number instead.  Insert a backslash
-		before a space in a buffer name.
+		Like ":bunload[!] [N]", but buffer given by name.
+		Also see |{bufname}|.
 
 :N,Mbunload[!]	Do ":bunload[!]" for all buffers in the range N to M
 		|inclusive|.
@@ -1144,10 +1140,16 @@ list of buffers. |unlisted-buffer|
 		list, without setting the 'buflisted' flag.
 		Also see |+cmd|.
 
-:[N]b[uffer][!] [+cmd] {bufname}
-		Edit buffer for {bufname} from the buffer list.  See
-		|:buffer-!| for [!].  This will also edit a buffer that is not
-		in the buffer list, without setting the 'buflisted' flag.
+:[N]b[uffer][!] [+cmd] {bufname}				*{bufname}*
+		Edit buffer for {bufname} from the buffer list.  A partial
+		name also works, so long as it is unique in the list of
+		buffers.
+		Note that a buffer whose name is a number cannot be referenced
+		by that name; use the buffer number instead.
+		Insert a backslash before a space in a buffer name.
+		See |:buffer-!| for [!].
+		This will also edit a buffer that is not in the buffer list,
+		without setting the 'buflisted' flag.
 		Also see |+cmd|.
 
 :[N]sb[uffer] [+cmd] [N]				*:sb* *:sbuffer*
@@ -1159,7 +1161,7 @@ list of buffers. |unlisted-buffer|
 		Also see |+cmd|.
 
 :[N]sb[uffer] [+cmd] {bufname}
-		Split window and edit buffer for {bufname} from the buffer
+		Split window and edit buffer for |{bufname}| from the buffer
 		list.  This will also edit a buffer that is not in the buffer
 		list, without setting the 'buflisted' flag.
 		Note: If what you want to do is split the buffer, make a copy
--- a/runtime/lang/menu_fr_fr.latin1.vim
+++ b/runtime/lang/menu_fr_fr.latin1.vim
@@ -2,7 +2,7 @@
 " Maintainer:		Adrien Beau <version.francaise@free.fr>
 " First Version:	Francois Thunus <thunus@systran.fr>
 " Last Modification:    David Blanchet <david.blanchet@free.fr>
-" Last Change:		2012 May 01
+" Last Change:		2018 Apr 25
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -47,7 +47,7 @@ menutrans &Close<Tab>:close			&Fermer<Ta
 menutrans &Save<Tab>:w				&Enregistrer<Tab>:w
 menutrans Save\ &As\.\.\.<Tab>:sav		Enregistrer\ &sous\.\.\.<Tab>:sav
 " -SEP2-
-menutrans Split\ &Diff\ with\.\.\.		&Difference\ avec\.\.\.
+menutrans Split\ &Diff\ with\.\.\.		&Diffrence\ avec\.\.\.
 "menutrans Split\ Patched\ &By\.\.\.		&Patcher\ avec\.\.\.
 menutrans Split\ Patched\ &By\.\.\.		&Tester\ un\ patch\.\.\.
 " -SEP3-
@@ -121,7 +121,7 @@ menutrans Soft\ &Tabstop				&Pseudo-tabu
 menutrans Te&xt\ Width\.\.\.				Largeur\ du\ te&xte\.\.\.
 menutrans &File\ Format\.\.\.				Format\ du\ &fichier\.\.\.
 
-let g:menutrans_textwidth_dialog = "Entrez la nouvelle largeur du texte\n(0 pour dsactiver le formattage)."
+let g:menutrans_textwidth_dialog = "Entrez la nouvelle largeur du texte\n(0 pour dsactiver le formatage)."
 let g:menutrans_fileformat_dialog = "Choisissez le format dans lequel crire le fichier."
 let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Annuler "
 
@@ -340,7 +340,7 @@ fun! Do_toolbar_tmenu()
   tmenu ToolBar.WinClose			Fermer fentre
  endif
   tmenu ToolBar.LoadSesn			Ouvrir session
-  tmenu ToolBar.SaveSesn			Enregister session courante
+  tmenu ToolBar.SaveSesn			Enregistrer session courante
   tmenu ToolBar.RunScript			Lancer un script Vim
   tmenu ToolBar.Make				Lancer make
   tmenu ToolBar.RunCtags			Crer les tiquettes
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:	Vim 8.0 script
 " Maintainer:	Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	February 13, 2018
-" Version:		8.0-12
-" URL:			http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
+" Last Change:	April 30, 2018
+" Version:	8.0-14
+" URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -19,34 +19,34 @@ syn keyword vimTodo contained	COMBAK	FIX
 syn cluster vimCommentGroup	contains=vimTodo,@Spell
 
 " regular vim commands {{{2
-syn keyword vimCommand contained	a  arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cadde[xpr] cc cf[ile] changes cla[st] cnf[ile] comp[iler] cq[uit] cw[indow] delep dell diffg[et] dig[raphs] doau ea el[se] endt[ry] f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] isp[lit] keepa l[ist] lat lcl[ose] lex[pr] lgete[xpr] lla[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkv[imrc] n[ext] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] pyx quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tm[enu] to[pleft] tu[nmenu] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] ws[verb] xmapc[lear] xprop
-syn keyword vimCommand contained	ab argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] ccl[ose] cfdo chd[ir] cle[arjumps] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier elsei[f] endw[hile] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] iuna[bbrev] keepalt la[st] later lcs lf[ile] lgr[ep] lli[st] lo[adview] lop[en] lua m[ove] mes mkvie[w] nb[key] noa nos[wapfile] on[ly] packl[oadall] po[p] pro ps[earch] ptl[ast] pu[t] pydo pyxdo r[ead] redraws[tatus] rew[ind] rubyd[o] sIc sIp san[dbox] sbf[irst] sbr[ewind] sci scs setl[ocal] sgc sgp sie sin sm[agic] sn[ext] sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tf[irst] tma[p] tp[revious] tunma[p] unh[ide] v  vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme
-syn keyword vimCommand contained	abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cd cfir[st] che[ckpath] clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] ec em[enu] ene[w] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i  imapc[lear] j[oin] keepj[umps] lad[dexpr] lb[uffer] lcscope lfdo lgrepa[dd] lmak[e] loadk lp[revious] luado ma[rk] messages mod[e] nbc[lose] noautocmd nu[mber] opt[ions] pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] pyxfile rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] th[row] tmapc[lear] tr[ewind] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu
-syn keyword vimCommand contained	abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] cdo cg[etfile] checkt[ime] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echoe[rr] en[dif] ex filetype fix[del] for gui helpg[rep] ia in ju[mps] keepp[atterns] laddb[uffer] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mk[exrc] mz[scheme] nbs[tart] noh[lsearch] o[pen] ownsyntax pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t  tabc[lose] tabl[ast] tabp[revious] tcld[o] tj[ump] tn[ext] try una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo
-syn keyword vimCommand contained	al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] ce[nter] cgetb[uffer] chi[story] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro k  lN[ext] laddf[ile] lc[d] le[ft] lg[etfile] lhi[story] lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] new nor ol[dfiles] p[rint] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do pythonx qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tl[ast] tno[remap] ts[elect] undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank]
-syn keyword vimCommand contained	ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fin[d] foldc[lose] g  h[elp] hi if is[earch] kee[pmarks] lNf[ile] lan[guage] lch[dir] lefta[bove] lgetb[uffer] ll lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell]
+syn keyword vimCommand contained	a arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cadde[xpr] cc cf[ile] changes cla[st] cnf[ile] comp[iler] cq[uit] cw[indow] delep dell diffg[et] dig[raphs] doau ea el[se] endt[ry] f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] isp[lit] keepa l[ist] lat lcl[ose] lex[pr] lgete[xpr] lla[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkv[imrc] n[ext] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] pyx quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tm[enu] to[pleft] tu[nmenu] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] ws[verb] xmapc[lear] xprop
+syn keyword vimCommand contained	ab argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] ccl[ose] cfdo chd[ir] cle[arjumps] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier elsei[f] endw[hile] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] iuna[bbrev] keepalt la[st] later lcs lf[ile] lgr[ep] lli[st] lo[adview] lop[en] lua m[ove] mes mkvie[w] nb[key] noa nos[wapfile] on[ly] packl[oadall] po[p] pro ps[earch] ptl[ast] pu[t] pydo pyxdo r[ead] redraws[tatus] rew[ind] rubyd[o] sIc sIp san[dbox] sbf[irst] sbr[ewind] sci scs setl[ocal] sgc sgp sie sin sm[agic] sn[ext] sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tf[irst] tma[p] tp[revious] tunma[p] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme
+syn keyword vimCommand contained	abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cd cfir[st] che[ckpath] clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] ec em[enu] ene[w] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] j[oin] keepj[umps] lad[dexpr] lb[uffer] lcscope lfdo lgrepa[dd] lmak[e] loadk lp[revious] luado ma[rk] messages mod[e] nbc[lose] noautocmd nu[mber] opt[ions] pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] pyxfile rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] th[row] tmapc[lear] tr[ewind] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu
+syn keyword vimCommand contained	abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] cdo cg[etfile] checkt[ime] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echoe[rr] en[dif] ex filetype fix[del] for gui helpg[rep] ia in ju[mps] keepp[atterns] laddb[uffer] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mk[exrc] mz[scheme] nbs[tart] noh[lsearch] o[pen] ownsyntax pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcld[o] tj[ump] tn[ext] try una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo
+syn keyword vimCommand contained	al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] ce[nter] cgetb[uffer] chi[story] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro k lN[ext] laddf[ile] lc[d] le[ft] lg[etfile] lhi[story] lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] new nor ol[dfiles] p[rint] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do pythonx qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tl[ast] tno[remap] ts[elect] undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank]
+syn keyword vimCommand contained	ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fin[d] foldc[lose] g h[elp] hi if is[earch] kee[pmarks] lNf[ile] lan[guage] lch[dir] lefta[bove] lgetb[uffer] ll lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell]
 syn match   vimCommand contained	"\<z[-+^.=]\=\>"
-syn keyword vimStdPlugin contained	DiffOrig Man N[ext] P[rint] S  TOhtml XMLent XMLns
+syn keyword vimStdPlugin contained	DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns
 
 " vimOptions are caught only when contained in a vimSet {{{2
-syn keyword vimOption contained	acd ambw arshape background ballooneval bg bomb bs cb ch cinoptions cms commentstring copyindent cscopepathcomp csprg cursorbind delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imactivatekey imi imstyle indentkeys isf isprint km laststatus lisp loadplugins lz mat maxmempattern mh mmp more mouses mzq number opendevice paragraphs penc pi previewheight printmbcharset pvw rdt renderoptions rl ru sbo scrollbind secure shcf shelltemp shortmess showtabline sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs termguicolors tf title tms ts ttybuiltin tx undolevels vbs viewdir vop wd wic wildmode winheight wm wrapscan
-syn keyword vimOption contained	ai anti autochdir backspace balloonexpr bh breakat bsdir cc charconvert cinw co compatible cot cscopeprg csqf cursorcolumn dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imaf iminsert inc indk isfname joinspaces kmp lazyredraw lispwords lpl ma matchpairs maxmemtot mis mmt mouse mouseshape mzquantum numberwidth operatorfunc paste perldll pm previewwindow printmbfont pythondll re report rlc rubydll sbr scrolljump sel shell shelltype shortname shq slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc termkey tgc titlelen to tsl ttyfast uc undoreload vdir viewoptions wa weirdinvert wig wildoptions winminheight wmh write
-syn keyword vimOption contained	akm antialias autoindent backup bdir bin breakindent bsk ccv ci cinwords cocu complete cp cscopequickfix csre cursorline dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imak ims include inex isi js kp lbr list lrm macatsui matchtime mco mkspellmem mod mousef mouset mzschemedll nuw opfunc pastetoggle pex pmbcs printdevice printoptions pythonthreedll readonly restorescreen rnu ruf sc scrolloff selection shellcmdflag shellxescape showbreak si sm so spellfile spr st sts swapsync syn tag tal tcldll termsize tgst titleold toolbar tsr ttym udf updatecount ve vif wak wfh wildchar wim winminwidth wmnu writeany
-syn keyword vimOption contained	al ar autoread backupcopy bdlay binary breakindentopt bt cd cin clipboard cole completefunc cpo cscoperelative cst cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imc imsearch includeexpr inf isident key langmap lcs listchars ls magic maxcombine mef ml modeline mousefocus mousetime mzschemegcdll odev osfiletype patchexpr pexpr pmbfn printencoding prompt pyx redrawtime revins ro ruler scb scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc terse thesaurus titlestring toolbariconsize ttimeout ttymouse udir updatetime verbose viminfo warn wfw wildcharm winaltkeys winptydll wmw writebackup
-syn keyword vimOption contained	aleph arab autowrite backupdir belloff bk bri bufhidden cdpath cindent cm colorcolumn completeopt cpoptions cscopetag csto debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imcmdline imsf incsearch infercase isk keymap langmenu linebreak lm lsp makeef maxfuncdepth menc mls modelines mousehide mp nf oft pa patchmode pfn popt printexpr pt pyxversion regexpengine ri rop rulerformat scl scs sessionoptions shellquote shiftround showfulltag sidescrolloff smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term textauto tildeop tk top ttimeoutlen ttyscroll ul ur verbosefile viminfofile wb wh wildignore window winwidth wop writedelay
-syn keyword vimOption contained	allowrevins arabic autowriteall backupext beval bkc briopt buflisted cedit cink cmdheight columns concealcursor cpt cscopetagorder csverb deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imd imst inde insertmode iskeyword keymodel langnoremap lines lmap luadll makeencoding maxmapdepth menuitems mm modifiable mousem mps nrformats ofu packpath path ph pp printfont pumheight qe relativenumber rightleft rs runtimepath scr sect sft shellredir shiftwidth showmatch signcolumn smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi textmode timeout tl tpm ttm ttytype undodir ut vfile virtualedit wc whichwrap wildignorecase winfixheight wiv wrap ws
-syn keyword vimOption contained	altkeymap arabicshape aw backupskip bex bl brk buftype cf cinkeys cmdwinheight com conceallevel crb cscopeverbose cuc def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imdisable imstatusfunc indentexpr is isp keywordprg langremap linespace lnr lw makeprg maxmem mfd mmd modified mousemodel msm nu omnifunc para pdev pheader preserveindent printheader pvh quoteescape remap rightleftcmd rtp sb scroll sections sh shellslash shm showmode siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding textwidth timeoutlen tm tr tty tw undofile vb vi visualbell wcm wi wildmenu winfixwidth wiw wrapmargin ww
-syn keyword vimOption contained	ambiwidth ari awa balloondelay bexpr bo browsedir casemap cfu cino cmp comments confirm cryptmethod cspc cul define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls
+syn keyword vimOption contained	acd ambw arshape background ballooneval bex bl brk buftype cf cinkeys cmdwinheight com conceallevel crb cscopeverbose cuc def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace lnr lw makeprg maxmem mfd mmd modified mousemodel msm nu omnifunc para pdev pheader preserveindent printheader pumwidth pythonthreehome readonly restorescreen rnu ruf sc scrolloff selection shellcmdflag shellxescape showbreak si sm so spellfile spr st sts swapsync syn tag tal tcldll termwinscroll tgc titlelen toolbariconsize ttimeout ttymouse tx undolevels vbs viewdir vop wd wic wildmode winheight wm wrapscan
+syn keyword vimOption contained	ai anti autochdir backspace balloonevalterm bexpr bo browsedir casemap cfu cino cmp comments confirm cryptmethod cspc cul define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp loadplugins lz mat maxmempattern mh mmp more mouses mzq number opendevice paragraphs penc pi previewheight printmbcharset pvh pyx redrawtime revins ro ruler scb scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc termwinsize tgst titleold top ttimeoutlen ttyscroll uc undoreload vdir viewoptions wa weirdinvert wig wildoptions winminheight wmh write
+syn keyword vimOption contained	akm antialias autoindent backup balloonexpr bg bomb bs cb ch cinoptions cms commentstring copyindent cscopepathcomp csprg cursorbind delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lpl ma matchpairs maxmemtot mis mmt mouse mouseshape mzquantum numberwidth operatorfunc paste perldll pm previewwindow printmbfont pvw pyxversion regexpengine ri rop rulerformat scl scs sessionoptions shellquote shiftround showfulltag sidescrolloff smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term terse thesaurus titlestring tpm ttm ttytype udf updatecount ve vif wak wfh wildchar wim winminwidth wmnu writeany
+syn keyword vimOption contained	al ar autoread backupcopy bdir bh breakat bsdir cc charconvert cinw co compatible cot cscopeprg csqf cursorcolumn dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list lrm macatsui matchtime mco mkspellmem mod mousef mouset mzschemedll nuw opfunc pastetoggle pex pmbcs printdevice printoptions pw qe relativenumber rightleft rs runtimepath scr sect sft shellredir shiftwidth showmatch signcolumn smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi textauto tildeop tl tr tty tw udir updatetime verbose viminfo warn wfw wildcharm winaltkeys winptydll wmw writebackup
+syn keyword vimOption contained	aleph arab autowrite backupdir bdlay bin breakindent bsk ccv ci cinwords cocu complete cp cscopequickfix csre cursorline dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imc imsf inde is isprint kmp lbr listchars ls magic maxcombine mef ml modeline mousefocus mousetime mzschemegcdll odev osfiletype patchexpr pexpr pmbfn printencoding prompt pythondll quoteescape remap rightleftcmd rtp sb scroll sections sh shellslash shm showmode siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding textmode timeout tm ts ttybuiltin twk ul ur verbosefile viminfofile wb wh wildignore window winwidth wop writedelay
+syn keyword vimOption contained	allowrevins arabic autowriteall backupext belloff binary breakindentopt bt cd cin clipboard cole completefunc cpo cscoperelative cst cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm lsp makeef maxfuncdepth menc mls modelines mousehide mp nf oft pa patchmode pfn popt printexpr pt pythonhome rdt renderoptions rl ru sbo scrollbind secure shcf shelltemp shortmess showtabline sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs termguicolors textwidth timeoutlen to tsl ttyfast tws undodir ut vfile virtualedit wc whichwrap wildignorecase winfixheight wiv wrap ws
+syn keyword vimOption contained	altkeymap arabicshape aw backupskip beval bk bri bufhidden cdpath cindent cm colorcolumn completeopt cpoptions cscopetag csto debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap luadll makeencoding maxmapdepth menuitems mm modifiable mousem mps nrformats ofu packpath path ph pp printfont pumheight pythonthreedll re report rlc rubydll sbr scrolljump sel shell shelltype shortname shq slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc termwinkey tf title toolbar tsr ttym twsl undofile vb vi visualbell wcm wi wildmenu winfixwidth wiw wrapmargin ww
+syn keyword vimOption contained	ambiwidth ari awa balloondelay bevalterm bkc briopt buflisted cedit cink cmdheight columns concealcursor cpt cscopetagorder csverb deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imdisable imstyle indk isi key langmenu lines
 
 " vimOptions: These are the turn-off setting variants {{{2
-syn keyword vimOption contained	noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolazyredraw nolinebreak nolist noloadplugins nolrm noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
-syn keyword vimOption contained	noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolbr nolisp nolnr nolpl nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
-syn keyword vimOption contained	noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs
+syn keyword vimOption contained	noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolist noloadplugins nolrm noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
+syn keyword vimOption contained	noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa noballoonevalterm nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs nolazyredraw nolisp nolnr nolpl nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
+syn keyword vimOption contained	noakm noanti noarab noari noautoindent noautowriteall nobackup nobeval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolbr
 
 " vimOptions: These are the invertible variants {{{2
-syn keyword vimOption contained	invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlazyredraw invlinebreak invlist invloadplugins invlrm invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
-syn keyword vimOption contained	invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlbr invlisp invlnr invlpl invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
-syn keyword vimOption contained	invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs
+syn keyword vimOption contained	invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbevalterm invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlinebreak invlist invloadplugins invlrm invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
+syn keyword vimOption contained	invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invballoonevalterm invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs invlazyredraw invlisp invlnr invlpl invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
+syn keyword vimOption contained	invakm invanti invarab invari invautoindent invautowriteall invbackup invbeval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlbr
 
 " termcap codes (which can also be set) {{{2
 syn keyword vimOption contained	t_8b t_AB t_al t_bc t_BE t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_EI t_F2 t_F4 t_F6 t_F8 t_fs t_IE t_k1 t_k2 t_K3 t_K4 t_K5 t_K6 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_PE t_PS t_RB t_RC t_RF t_RI t_RS t_RV t_Sb t_SC t_se t_Sf t_SH t_SI t_so t_sr t_SR t_te t_Te t_ti t_ts t_Ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_VS t_WP t_WS t_xn t_xs t_ZH t_ZR
@@ -66,21 +66,21 @@ syn keyword vimErrSetting contained	bios
 
 " AutoCmd Events {{{2
 syn case ignore
-syn keyword vimAutoEvent contained	BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme CompleteDone CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabEnter TabLeave TabNew TermChanged TermResponse TextChanged TextChangedI User VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave WinNew
+syn keyword vimAutoEvent contained	BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineChanged CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme CompleteDone CursorHold CursorHoldI CursorMoved CursorMovedI DirChanged EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabEnter TabLeave TabNew TermChanged TerminalOpen TermResponse TextChanged TextChangedI TextChangedP TextYankPost User VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave WinNew
 
 " Highlight commonly used Groupnames {{{2
 syn keyword vimGroup contained	Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
 
 " Default highlighting groups {{{2
-syn keyword vimHLGroup contained	ColorColumn Cursor CursorColumn CursorIM CursorLine CursorLineNr DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question QuickFixLine Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
+syn keyword vimHLGroup contained	ColorColumn Cursor CursorColumn CursorIM CursorLine CursorLineNr DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question QuickFixLine Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC StatusLineTerm TabLine TabLineFill TabLineSel Terminal Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu
 syn match vimHLGroup contained	"Conceal"
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	abs append argv assert_fails assert_notequal atan browsedir bufname byte2line ceil ch_close ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler eval exepath extend filter floor foldclosed foldtextresult garbagecollect getbufvar getcmdline getcompletion getfperm getline getpos gettabinfo getwinposx glob2regpat haslocaldir histget hostname input inputsave isdirectory job_getchannel job_status js_encode len line2byte log10 mapcheck matcharg matchstr mkdir nr2char pow py3eval readfile remote_expr remote_send repeat screenattr search searchpos setbufvar setline setqflist setwinvar simplify soundfold sqrt strcharpart strftime string strridx submatch synID synstack tabpagebuflist tagfiles tanh term_getattr term_getline term_getstatus term_gettty term_sendkeys term_wait test_feedinput test_null_channel test_null_list test_override timer_pause timer_stopall tr undofile values wildmenumode win_findbuf winheight winline winrestview wordcount
-syn keyword vimFuncName contained	acos argc asin assert_false assert_notmatch atan2 bufexists bufnr byteidx changenr ch_close_in ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eventhandler exists feedkeys finddir fmod foldclosedend foreground get getchar getcmdpos getcurpos getfsize getloclist getqflist gettabvar getwinposy globpath hasmapto histnr iconv inputdialog inputsecret islocked job_info job_stop json_decode libcall lispindent luaeval match matchdelete matchstrpos mode or prevnonblank pyeval reltime remote_foreground remote_startserver resolve screenchar searchdecl server2client setcharsearch setloclist setreg sha256 sin spellbadword str2float strchars strgetchar strlen strtrans substitute synIDattr system tabpagenr taglist tempname term_getcursor term_getscrolled term_gettitle term_list term_setsize test_alloc_fail test_garbagecollect_now test_null_dict test_null_partial test_settime timer_start tolower trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview writefile
-syn keyword vimFuncName contained	add argidx assert_equal assert_inrange assert_report balloon_show buflisted bufwinid byteidxcomp char2nr ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete empty executable exp filereadable findfile fnameescape foldlevel funcref getbufinfo getcharmod getcmdtype getcwd getftime getmatches getreg gettabwinvar getwinvar has histadd hlexists indent inputlist insert isnan job_setoptions join json_encode libcallnr localtime map matchadd matchend max mzeval pathshorten printf pyxeval reltimefloat remote_peek remove reverse screencol searchpair serverlist setcmdpos setmatches settabvar shellescape sinh spellsuggest str2nr strdisplaywidth stridx strpart strwidth synconcealed synIDtrans systemlist tabpagewinnr tan term_getaltscreen term_getjob term_getsize term_getttty term_scrape term_start test_autochdir test_ignore_error test_null_job test_null_string timer_info timer_stop toupper type uniq visualmode wincol win_gotoid win_id2win winrestcmd winwidth xor
-syn keyword vimFuncName contained	and arglistid assert_exception assert_match assert_true browse bufloaded bufwinnr call ch_canread ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype escape execute expand filewritable float2nr fnamemodify foldtext function getbufline getcharsearch getcmdwintype getfontname getftype getpid getregtype getwininfo glob has_key histdel hlID index inputrestore invert items job_start js_decode keys line log maparg matchaddpos matchlist min nextnonblank perleval pumvisible range reltimestr remote_read rename round screenrow searchpairpos setbufline setfperm setpos settabwinvar shiftwidth sort split
+syn keyword vimFuncName contained	abs append argv assert_equalfile assert_inrange assert_report balloon_show bufexists bufnr byteidx changenr ch_close_in ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eventhandler exists feedkeys finddir fmod foldclosedend foreground get getchangelist getcmdline getcompletion getfperm getjumplist getpid getregtype getwininfo getwinvar has histadd hlexists indent inputlist insert isnan job_setoptions join json_encode libcallnr localtime map matchadd matchend max mzeval option_save pow py3eval readfile remote_expr remote_send repeat screenattr search searchpos setbufvar setline setqflist setwinvar simplify soundfold sqrt strchars stridx strridx substitute synIDtrans tabpagebuflist taglist term_dumpdiff term_getansicolors term_getline term_gettitle term_sendkeys term_setsize test_autochdir test_ignore_error test_null_job test_null_string timer_info timer_stop toupper trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview wordcount
+syn keyword vimFuncName contained	acos argc asin assert_exception assert_match assert_true balloon_split buflisted bufwinid byteidxcomp char2nr ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete empty executable exp filereadable findfile fnameescape foldlevel funcref getbufinfo getchar getcmdpos getcurpos getfsize getline getpos gettabinfo getwinpos glob has_key histdel hlID index inputrestore invert items job_start js_decode keys line log maparg matchaddpos matchlist min nextnonblank or prevnonblank pyeval reltime remote_foreground remote_startserver resolve screenchar searchdecl server2client setcharsearch setloclist setreg sha256 sin spellbadword str2float strdisplaywidth string strtrans synconcealed synstack tabpagenr tan term_dumpload term_getattr term_getscrolled term_gettty term_setansicolors term_start test_feedinput test_null_channel test_null_list test_override timer_pause timer_stopall tr type uniq visualmode wincol win_gotoid win_id2win winrestcmd win_screenpos writefile
+syn keyword vimFuncName contained	add argidx assert_beeps assert_fails assert_notequal atan browse bufloaded bufwinnr call ch_canread ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype escape execute expand filewritable float2nr fnamemodify foldtext function getbufline getcharmod getcmdtype getcwd getftime getloclist getqflist gettabvar getwinposx glob2regpat haslocaldir histget hostname input inputsave isdirectory job_getchannel job_status js_encode len line2byte log10 mapcheck matcharg matchstr mkdir nr2char pathshorten printf pyxeval reltimefloat remote_peek remove reverse screencol searchpair serverlist setcmdpos setmatches settabvar shellescape sinh spellsuggest str2nr strftime strlen strwidth synID system tabpagewinnr tanh term_dumpwrite term_getcursor term_getsize term_list term_setkill term_wait test_garbagecollect_now test_null_dict test_null_partial test_settime timer_start tolower trim undofile values wildmenumode win_findbuf winheight winline winrestview winwidth xor
+syn keyword vimFuncName contained	and arglistid assert_equal assert_false assert_notmatch atan2 browsedir bufname byte2line ceil ch_close ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler eval exepath extend filter floor foldclosed foldtextresult garbagecollect getbufvar getcharsearch getcmdwintype getfontname getftype getmatches getreg gettabwinvar getwinposy globpath hasmapto histnr iconv inputdialog inputsecret islocked job_info job_stop json_decode libcall lispindent luaeval match matchdelete matchstrpos mode option_restore perleval pumvisible range reltimestr remote_read rename round screenrow searchpairpos setbufline setfperm setpos settabwinvar shiftwidth sort split strcharpart strgetchar strpart submatch synIDattr systemlist tagfiles tempname term_getaltscreen term_getjob term_getstatus term_scrape term_setrestore test_alloc_fail
 
 "--- syntax here and above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
@@ -670,8 +670,8 @@ if (g:vimsyn_embed =~# 'p' && has("perl"
  unlet! b:current_syntax
  syn cluster vimFuncBodyList	add=vimPerlRegion
  exe "syn include @vimPerlScript ".s:perlpath
- VimFoldp syn region vimPerlRegion  matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimPerlScript
- VimFoldp syn region vimPerlRegion	matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+	contains=@vimPerlScript
+ VimFoldp syn region vimPerlRegion  matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(\S*\)\ze\(\s*["#].*\)\=$+ end=+^\z1\ze\(\s*[#"].*\)\=$+	contains=@vimPerlScript
+ VimFoldp syn region vimPerlRegion	matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+			contains=@vimPerlScript
  syn cluster vimFuncBodyList	add=vimPerlRegion
 else
  syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
@@ -693,8 +693,8 @@ if (g:vimsyn_embed =~# 'r' && has("ruby"
  syn cluster vimFuncBodyList	add=vimRubyRegion
  unlet! b:current_syntax
  exe "syn include @vimRubyScript ".s:rubypath
- VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimRubyScript
- syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+		contains=@vimRubyScript
+ VimFoldr syn region vimRubyRegion	matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+	contains=@vimRubyScript
+ syn region vimRubyRegion	matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+			contains=@vimRubyScript
  syn cluster vimFuncBodyList	add=vimRubyRegion
 else
  syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
@@ -716,10 +716,10 @@ if g:vimsyn_embed =~# 'P' && has("python
  unlet! b:current_syntax
  syn cluster vimFuncBodyList	add=vimPythonRegion
  exe "syn include @vimPythonScript ".s:pythonpath
- VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimPythonScript
- VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+		contains=@vimPythonScript
- VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimPythonScript
- VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+		contains=@vimPythonScript
+ VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+	contains=@vimPythonScript
+ VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+			contains=@vimPythonScript
+ VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+	contains=@vimPythonScript
+ VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+			contains=@vimPythonScript
  syn cluster vimFuncBodyList	add=vimPythonRegion
 else
  syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
--- a/runtime/tutor/tutor.ru
+++ b/runtime/tutor/tutor.ru
@@ -69,7 +69,7 @@
 				vimtutor <ENTER>
 
   4.     ,    ,    1  3
-         .
+          .
 
 !  :q! <ENTER>      . 
 	        .
@@ -790,10 +790,10 @@
   1.   ,     --->,   
         xxx.
 
-  2.    R          
+  2.    R    ,     , 
        xxx.
 
-  3.  <ESC>     .    
+  3.  <ESC>     . ,   
        Σ.
 
   4.        xxx.
--- a/runtime/tutor/tutor.ru.cp1251
+++ b/runtime/tutor/tutor.ru.cp1251
@@ -69,7 +69,7 @@
 				vimtutor <ENTER>
 
   4.     ,    ,    1  3
-         .
+          .
 
 !  :q! <ENTER>      . 
 	        .
@@ -790,10 +790,10 @@
   1.   ,     --->,   
         xxx.
 
-  2.    R          
+  2.    R    ,     , 
        xxx.
 
-  3.  <ESC>     .    
+  3.  <ESC>     . ,   
        .
 
   4.        xxx.
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -11,14 +11,15 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim(deutsch)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-15 22:00+0200\n"
+"POT-Creation-Date: 2018-04-30 15:16+0200\n"
 "PO-Revision-Date: 2008-05-24 17:26+0200\n"
-"Last-Translator: Christian Brabandt\n"
-"Language-Team: German <de@li.org>\n"
+"Last-Translator: Christian Brabandt <cb@256bit.org>\n"
+"Language-Team: German\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO_8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgid "E831: bf_key_init() called with empty password"
 msgstr "E831: bf_key_init() mit leerem passwort aufgerufen."
@@ -535,21 +536,6 @@ msgstr "E743: Variable ist zu tief verschachtelt fr (un)lock."
 msgid "E109: Missing ':' after '?'"
 msgstr "E109: Fehlender ':' nach '?'"
 
-msgid "E691: Can only compare List with List"
-msgstr "E691: Kann nur eine Liste mit einer Liste vergleichen."
-
-msgid "E692: Invalid operation for List"
-msgstr "E692: Unzulssige Operation fr Listen"
-
-msgid "E735: Can only compare Dictionary with Dictionary"
-msgstr "E735: Kann nur ein Dictionary mit einem Dictionary vergleichen"
-
-msgid "E736: Invalid operation for Dictionary"
-msgstr "E736: Unzulssige Funktion fr ein Dictionary"
-
-msgid "E694: Invalid operation for Funcrefs"
-msgstr "E694: Unzulssige Operation fr Funktionsreferenzen"
-
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804: Kann '%' mit Floats benutzen."
 
@@ -678,6 +664,21 @@ msgstr ""
 "\n"
 "\tZuletzt gesetzt in "
 
+msgid "E691: Can only compare List with List"
+msgstr "E691: Kann nur eine Liste mit einer Liste vergleichen."
+
+msgid "E692: Invalid operation for List"
+msgstr "E692: Unzulssige Operation fr Listen"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Kann nur ein Dictionary mit einem Dictionary vergleichen"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Unzulssige Funktion fr ein Dictionary"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Unzulssige Operation fr Funktionsreferenzen"
+
 msgid "map() argument"
 msgstr "map() Argument"
 
@@ -703,6 +704,11 @@ msgstr "E785: complete() kann nur im Einfge-Modus verwendet werden."
 msgid "&Ok"
 msgstr "&Ok"
 
+msgid "+-%s%3ld line: "
+msgid_plural "+-%s%3ld lines: "
+msgstr[0] "+-%s%3ld Zeile, "
+msgstr[1] "+-%s%3ld Zeilen, "
+
 #, c-format
 msgid "E700: Unknown function: %s"
 msgstr "E700: Unbekannte Funktion: %s"
@@ -807,10 +813,19 @@ msgstr "E677: Fehler beim Schreiben einer temporren Datei"
 msgid "E921: Invalid callback argument"
 msgstr "E921: Unglgltiges Callback Argument"
 
+msgid "<%s>%s%s  %d,  Hex %02x,  Oct %03o, Digr %s"
+msgstr "<%s>%s%s  %d,  Hex %02x,  Oktal %03o, Digr %s"
+
 #, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
 msgstr "<%s>%s%s  %d,  Hex %02x,  Oktal %03o"
 
+msgid "> %d, Hex %04x, Oct %o, Digr %s"
+msgstr "> %d, Hex %04x, Oktal %o, Digr %s"
+
+msgid "> %d, Hex %08x, Oct %o, Digr %s"
+msgstr "> %d, Hex %08x, Oktal %o, Digr %s"
+
 #, c-format
 msgid "> %d, Hex %04x, Octal %o"
 msgstr "> %d, Hex %04x, Oktal %o"
@@ -1117,6 +1132,13 @@ msgstr "Keine Alt-Dateien"
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "Debug-Modus. Geben Sie \"cont\" zum Fortsetzen ein."
 
+msgid "Oldval = \"%s\""
+msgstr "Alter Wert = \"%s\""
+
+#, c-format
+msgid "Newval = \"%s\""
+msgstr "Neuer Wert = \"%s\""
+
 #, c-format
 msgid "line %ld: %s"
 msgstr "Zeile %ld: %s"
@@ -1147,6 +1169,10 @@ msgstr "Keine Haltepunkte definiert"
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d  %s %s  Zeile %ld"
 
+#, c-format
+msgid "%3d  expr %s"
+msgstr "%3d expr %s"
+
 msgid "E750: First use \":profile start {fname}\""
 msgstr "E750: Benutze vorher :profile start <fname>"
 
@@ -1154,6 +1180,7 @@ msgstr "E750: Benutze vorher :profile st
 msgid "Save changes to \"%s\"?"
 msgstr "nderungen in \"%s\" speichern?"
 
+#, c-format
 msgid "E947: Job still running in buffer \"%s\""
 msgstr "E947: Job noch aktiv in Puffer \"%s\""
 
@@ -1306,9 +1333,6 @@ msgstr ""
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Der Befehl ist in dieser Version nicht implementiert"
 
-msgid "E172: Only one file name allowed"
-msgstr "E172: Nur ein Dateiname erlaubt"
-
 msgid "1 more file to edit.  Quit anyway?"
 msgstr "Eine weitere Datei zum Editieren. Trotzdem beenden?"
 
@@ -1793,9 +1817,6 @@ msgstr "E509: Sicherungsdatei kann nicht
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: Sicherungsdatei kann nicht erstellt werden (erzwinge mit !)"
 
-msgid "E460: The resource fork would be lost (add ! to override)"
-msgstr "E460: Der Ressourcefork geht verloren (erzwinge mit !)"
-
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: Temporre Datei kann nicht zum Schreiben geffnet werden"
 
@@ -1808,8 +1829,8 @@ msgstr "E166: Gelinkte Datei kann nicht zum Schreiben geffnet werden"
 msgid "E212: Can't open file for writing"
 msgstr "E212: Datei kann nicht zum Schreiben geffnet werden"
 
-msgid "E667: Fsync failed"
-msgstr "E667: Fsync fehlgeschlagen"
+msgid "E949: File changed while writing"
+msgstr "E949: Datei wurde whrend des Schreibens verndert"
 
 msgid "E512: Close failed"
 msgstr "E512: Fehler beim Schlieen"
@@ -2069,6 +2090,11 @@ msgid "E351: Cannot delete fold with cur
 msgstr ""
 "E351: Faltung kann mit der aktuellen Faltungsmethode nicht gelscht werden"
 
+msgid "+--%3ld line folded "
+msgid_plural "+--%3ld lines folded "
+msgstr[0] "%3ld Zeile gefaltet "
+msgstr[1] "%3ld Zeilen gefaltet "
+
 msgid "E222: Add to read buffer"
 msgstr "E222: Zum Lesepuffer hinzufgen"
 
@@ -4273,9 +4299,8 @@ msgstr ""
 "Sp %s von %s; Zeile %ld von %ld; Wort %lld von %lld; Zeichen %lld von %lld; "
 "Byte %lld von %lld"
 
-#, c-format
-msgid "(+%ld for BOM)"
-msgstr "(+%ld fr BOM)"
+msgid "(+%lld for BOM)"
+msgstr "(+%lld fr BOM)"
 
 msgid "Thanks for flying Vim"
 msgstr "Danke fr die Benutzung von Vim"
@@ -4327,6 +4352,9 @@ msgstr "E835: Widerspricht Wert aus 'fil
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617: Kann in der GTK+ 2 GUI nicht verndert werden"
 
+msgid "E950: Cannot convert between %s and %s"
+msgstr "E950: Kann nicht zwischen %s und %s konvertieren."
+
 msgid "E524: Missing colon"
 msgstr "E524: Fehlender Doppelpunkt"
 
@@ -4393,6 +4421,9 @@ msgstr "E590: Ein Vorschaufenster existi
 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
 msgstr "W17: Arabisch bentigt UTF-8, bitte ':set encoding=utf-8' ausfhren"
 
+msgid "E954: 24-bit colors are not supported on this environment"
+msgstr "E954: 24-bit Farben werden in dieser Umgebung nicht untersttzt"
+
 #, c-format
 msgid "E593: Need at least %d lines"
 msgstr "E593: Mindestens %d Zeilen werden bentigt"
@@ -4678,6 +4709,9 @@ msgstr "Vim Achtung"
 msgid "shell returned %d"
 msgstr "Shell gab %d zurck"
 
+msgid "E926: Current location list was changed"
+msgstr "E926: Aktuelle Positionsliste wurde gendert."
+
 #, c-format
 msgid "E372: Too many %%%c in format string"
 msgstr "E372: Zu viele %%%c im Format"
@@ -4716,9 +4750,6 @@ msgstr "E924: Aktuelles Fenster wurde ge
 msgid "E925: Current quickfix was changed"
 msgstr "E925: Aktuelle Quickfix wurde gendert."
 
-msgid "E926: Current location list was changed"
-msgstr "E926: Aktuelle Positionsliste wurde gendert."
-
 #, c-format
 msgid "(%d of %d)%s%s: "
 msgstr "(%d aus %d)%s%s: "
@@ -4881,6 +4912,9 @@ msgstr "E877: (NFA regexp) Ungltige Zeichenklasse: %ld"
 msgid "E867: (NFA) Unknown operator '\\z%c'"
 msgstr "E867: (NFA) Unbekannter Operator '\\z%c'"
 
+msgid "E951: \\% value too large"
+msgstr "E951: \\% Wert zu gro"
+
 #, c-format
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: (NFA) Unbekannter Operator '\\%%%c'"
@@ -5302,9 +5336,8 @@ msgstr "Lese Wrterbuch-Datei %s ..."
 msgid "E760: No word count in %s"
 msgstr "E760: Keine Wrter gezhlt in %s"
 
-#, c-format
-msgid "line %6d, word %6d - %s"
-msgstr "Zeile %6d, Wort %6d - %s"
+msgid "line %6d, word %6ld - %s"
+msgstr "Zeile %6d, Wort %6ld - %s"
 
 #, c-format
 msgid "Duplicate word in %s line %d: %s"
@@ -5390,8 +5423,8 @@ msgstr "Geschtzter Speicher zur Laufzeit: %d Bytes"
 msgid "E751: Output file name must not have region name"
 msgstr "E751: Ausgabedatei darf keinen Regionsnamen haben"
 
-msgid "E754: Only up to 8 regions supported"
-msgstr "E754: Maximal 8 Regionen untersttzt"
+msgid "E754: Only up to %ld regions supported"
+msgstr "E754: Maximal %ld Regionen untersttzt"
 
 #, c-format
 msgid "E755: Invalid region in %s"
@@ -5781,6 +5814,10 @@ msgstr ""
 msgid "Cannot open $VIMRUNTIME/rgb.txt"
 msgstr "Kann Datei $VIMRUNTIME/rgb.txt nicht ffnen."
 
+#, c-format
+msgid "Kill job in \"%s\"?"
+msgstr "Beende job in \"%s\"?"
+
 msgid "Terminal"
 msgstr "Terminal"
 
@@ -5796,6 +5833,12 @@ msgstr "Fhre aus"
 msgid "finished"
 msgstr "beendet"
 
+msgid "E953: File exists: %s"
+msgstr "E953: Datei existiert bereits: %s"
+
+msgid "E955: Not a terminal buffer"
+msgstr "E955: Kein Terminal Puffer"
+
 msgid "new shell started\n"
 msgstr "neue Shell gestartet\n"
 
@@ -6109,27 +6152,20 @@ msgstr ""
 
 msgid ""
 "\n"
-"MacOS X (unix) version"
-msgstr ""
-"\n"
-"MacOS X (unix) Version"
-
-msgid ""
-"\n"
-"MacOS X version"
-msgstr ""
-"\n"
-"MacOS X Version"
-
-msgid ""
-"\n"
-"MacOS version"
+"macOS version"
 msgstr ""
 "\n"
 "MacOS Version"
 
 msgid ""
 "\n"
+"macOS version w/o darwin feat."
+msgstr ""
+"\n"
+"MacOS Version ohne Darwin"
+
+msgid ""
+"\n"
 "OpenVMS version"
 msgstr ""
 "\n"
@@ -6230,9 +6266,6 @@ msgstr "mit Carbon GUI."
 msgid "with Cocoa GUI."
 msgstr "mit Cocoa GUI."
 
-msgid "with (classic) GUI."
-msgstr "mit (klassischem) GUI."
-
 msgid "  Features included (+) or not (-):\n"
 msgstr " Ein- (+) oder ausschlielich (-) der Eigenschaften:\n"
 
@@ -6532,6 +6565,12 @@ msgstr "E474: Ungltiges Argument"
 msgid "E475: Invalid argument: %s"
 msgstr "E475: Ungltiges Argument: %s"
 
+msgid "E475: Invalid value for argument %s"
+msgstr "E475: Ungltiger Wert fr Argument: %s"
+
+msgid "E475: Invalid value for argument %s: %s"
+msgstr "E475: Ungltiger Wert fr Argument %s: %s"
+
 #, c-format
 msgid "E15: Invalid expression: %s"
 msgstr "E15: ungltiger Ausdruck: %s"
@@ -6550,6 +6589,9 @@ msgstr "E17: \"%s\" ist ein Verzeichnis"
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364: Bibliotheksaufruf fr \"%s()\" schlug fehl"
 
+msgid "E667: Fsync failed"
+msgstr "E667: Fsync fehlgeschlagen"
+
 #, c-format
 msgid "E448: Could not load library function %s"
 msgstr "E448: Bibliotheksfunktion %s konnte nicht geladen werden"
@@ -6828,6 +6870,9 @@ msgstr "E850: Ungltiger Register Name"
 msgid "E919: Directory not found in '%s': \"%s\""
 msgstr "E919: Verzeichnis nicht gefunden in '%s': \"%s\""
 
+msgid "E952: Autocommand caused recursive behavior"
+msgstr "E952: Autokommando verursachten Rekursion"
+
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "Suche erreichte den ANFANG und wurde am ENDE fortgesetzt"
 
@@ -7101,3 +7146,48 @@ msgid ""
 msgstr ""
 "Fehler beim setzen des Pfades: sys.path ist keine Liste\n"
 "Fgen Sie vim.VIM_SPECIAL_PATH zu sys.path hinzu"
+
+msgid ""
+"Vim macro files (*.vim)\t*.vim\n"
+"All Files (*.*)\t*.*\n"
+msgstr ""
+"Vim Dateien (*.vim)\t*.vim\n"
+"Alle Dateien (*.*)\t*.*\n"
+
+msgid "All Files (*.*)\t*.*\n"
+msgstr "Alle Dateien (*.*)\t*.*\n"
+
+msgid ""
+"All Files (*.*)\t*.*\n"
+"C source (*.c, *.h)\t*.c;*.h\n"
+"C++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
+"VB code (*.bas, *.frm)\t*.bas;*.frm\n"
+"Vim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
+msgstr ""
+"Alle Dateien (*.*)\t*.*\n"
+"C Quellcode (*.c, *.h)\t*.c;*.h\n"
+"C++ Quellcode (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
+"VB Quellcode (*.bas, *.frm)\t*.bas;*.frm\n"
+"Vim Dateien (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
+
+msgid ""
+"Vim macro files (*.vim)\t*.vim\n"
+"All Files (*)\t*\n"
+msgstr ""
+"Vim Dateien (*.vim)\t*.vim\n"
+"Alle Dateien (*)\t*\n"
+
+msgid "All Files (*)\t*\n"
+msgstr ""
+"Alle Dateien (*)\t*\n"
+
+msgid ""
+"All Files (*)\t*\n"
+"C source (*.c, *.h)\t*.c;*.h\n"
+"C++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
+"Vim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
+msgstr ""
+"Alle Dateien (*)\t*\n"
+"C Quellcode (*.c, *.h)\t*.c;*.h\n"
+"C++ Quellcode (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
+"Vim Dateien (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
--- a/src/po/eo.po
+++ b/src/po/eo.po
@@ -17,8 +17,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim(Esperanto)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-02 22:42+0200\n"
-"PO-Revision-Date: 2017-10-02 22:57+0200\n"
+"POT-Creation-Date: 2018-04-30 19:32+0200\n"
+"PO-Revision-Date: 2018-05-30 20:14+0200\n"
 "Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n"
 "Language-Team: \n"
 "Language: eo\n"
@@ -543,21 +543,6 @@ msgstr "E743: variablo ingita tro profunde por (mal)ŝlosi"
 msgid "E109: Missing ':' after '?'"
 msgstr "E109: Mankas ':' malantaŭ '?'"
 
-msgid "E691: Can only compare List with List"
-msgstr "E691: Eblas nur kompari Liston kun Listo"
-
-msgid "E692: Invalid operation for List"
-msgstr "E692: Nevalida operacio de Listoj"
-
-msgid "E735: Can only compare Dictionary with Dictionary"
-msgstr "E735: Eblas nur kompari Vortaron kun Vortaro"
-
-msgid "E736: Invalid operation for Dictionary"
-msgstr "E736: Nevalida operacio de Vortaro"
-
-msgid "E694: Invalid operation for Funcrefs"
-msgstr "E694: Nevalida operacio de Funcref-oj"
-
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804: Ne eblas uzi '%' kun Glitpunktnombro"
 
@@ -683,6 +668,21 @@ msgstr ""
 "\n"
 "\tLaste ŝaltita de "
 
+msgid "E691: Can only compare List with List"
+msgstr "E691: Eblas nur kompari Liston kun Listo"
+
+msgid "E692: Invalid operation for List"
+msgstr "E692: Nevalida operacio de Listoj"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Eblas nur kompari Vortaron kun Vortaro"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Nevalida operacio de Vortaro"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Nevalida operacio de Funcref-oj"
+
 msgid "map() argument"
 msgstr "argumento de map()"
 
@@ -709,6 +709,12 @@ msgid "&Ok"
 msgstr "&Bone"
 
 #, c-format
+msgid "+-%s%3ld line: "
+msgid_plural "+-%s%3ld lines: "
+msgstr[0] "+-%s%3ld linio: "
+msgstr[1] "+-%s%3ld linioj: "
+
+#, c-format
 msgid "E700: Unknown function: %s"
 msgstr "E700: Nekonata funkcio: %s"
 
@@ -811,10 +817,22 @@ msgid "E921: Invalid callback argument"
 msgstr "E921: Nevalida argumento de reagfunctio"
 
 #, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Oct %03o, Digr %s"
+msgstr "<%s>%s%s  %d,  Deksesuma %02x,  Okuma %03o, Digr %s"
+
+#, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
 msgstr "<%s>%s%s  %d,  Deksesuma %02x,  Okuma %03o"
 
 #, c-format
+msgid "> %d, Hex %04x, Oct %o, Digr %s"
+msgstr "> %d, Deksesuma %04x, Okuma %o, Digr %s"
+
+#, c-format
+msgid "> %d, Hex %08x, Oct %o, Digr %s"
+msgstr "> %d, Deksesuma %08x, Okuma %o, Digr %s"
+
+#, c-format
 msgid "> %d, Hex %04x, Octal %o"
 msgstr "> %d, Deksesuma %04x, Okuma %o"
 
@@ -1119,6 +1137,14 @@ msgid "Entering Debug mode.  Type \"cont
 msgstr "Eniras sencimigan reĝimon.  Tajpu \"cont\" por daŭrigi."
 
 #, c-format
+msgid "Oldval = \"%s\""
+msgstr "Malnovaval = \"%s\""
+
+#, c-format
+msgid "Newval = \"%s\""
+msgstr "Novaval = \"%s\""
+
+#, c-format
 msgid "line %ld: %s"
 msgstr "linio %ld: %s"
 
@@ -1148,6 +1174,10 @@ msgstr "Neniu kontrolpunkto estas difini
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d  %s %s  linio %ld"
 
+#, c-format
+msgid "%3d  expr %s"
+msgstr "%3d  espr %s"
+
 msgid "E750: First use \":profile start {fname}\""
 msgstr "E750: Uzu unue \":profile start {dosiernomo}\""
 
@@ -1302,9 +1332,6 @@ msgstr "E943: Tabulo de komandoj estas ĝisdatigenda, lanĉu 'make cmdidx'"
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Bedaŭrinde, tiu komando ne haveblas en tiu versio"
 
-msgid "E172: Only one file name allowed"
-msgstr "E172: Nur unu dosiernomo permesebla"
-
 msgid "1 more file to edit.  Quit anyway?"
 msgstr "1 plia redaktenda dosiero. Ĉu tamen eliri?"
 
@@ -1781,9 +1808,6 @@ msgstr "E509: Ne eblas krei restaŭrkopion (aldonu ! por transpasi)"
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: Ne eblas krei restaŭrkopion (aldonu ! por transpasi)"
 
-msgid "E460: The resource fork would be lost (add ! to override)"
-msgstr "E460: La rimeda forko estus perdita (aldonu ! por transpasi)"
-
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: Ne eblas trovi provizoran dosieron por skribi"
 
@@ -1796,9 +1820,8 @@ msgstr "E166: Ne eblas malfermi ligitan 
 msgid "E212: Can't open file for writing"
 msgstr "E212: Ne eblas malfermi la dosieron por skribi"
 
-# AM: fsync: ne traduku (nomo de C-komando)
-msgid "E667: Fsync failed"
-msgstr "E667: Fsync malsukcesis"
+msgid "E949: File changed while writing"
+msgstr "E949: Dosiero ŝanĝiĝis dum skribo"
 
 msgid "E512: Close failed"
 msgstr "E512: Fermo malsukcesis"
@@ -2047,11 +2070,17 @@ msgstr "E350: Ne eblas krei faldon per l
 msgid "E351: Cannot delete fold with current 'foldmethod'"
 msgstr "E351: Ne eblas forviŝi faldon per la aktuala 'foldmethod'"
 
+#, c-format
+msgid "+--%3ld line folded "
+msgid_plural "+--%3ld lines folded "
+msgstr[0] "+--%3ld linio faldita"
+msgstr[1] "+--%3ld linioj falditaj"
+
 msgid "E222: Add to read buffer"
 msgstr "E222: Aldoni al lega bufro"
 
 msgid "E223: recursive mapping"
-msgstr "E223: rekursia mapo"
+msgstr "E223: rikura mapo"
 
 #, c-format
 msgid "E224: global abbreviation already exists for %s"
@@ -4221,8 +4250,8 @@ msgstr ""
 "Bajto %lld de %lld"
 
 #, c-format
-msgid "(+%ld for BOM)"
-msgstr "(+%ld por BOM)"
+msgid "(+%lld for BOM)"
+msgstr "(+%lld por BOM)"
 
 msgid "Thanks for flying Vim"
 msgstr "Dankon pro flugi per Vim"
@@ -4274,6 +4303,10 @@ msgstr "E835: Konfliktoj kun la valoro d
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617: Ne ŝanĝeblas en la grafika interfaco GTK+ 2"
 
+#, c-format
+msgid "E950: Cannot convert between %s and %s"
+msgstr "E950: Ne eblas konverti de %s al %s"
+
 msgid "E524: Missing colon"
 msgstr "E524: Mankas dupunkto"
 
@@ -4340,6 +4373,9 @@ msgstr "E590: Antaŭvida fenestro jam ekzistas"
 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
 msgstr "W17: La araba bezonas UTF-8, tajpu \":set encoding=utf-8\""
 
+msgid "E954: 24-bit colors are not supported on this environment"
+msgstr "E954: 24-bitaj koloroj ne estas subtenataj en tiu sistemo"
+
 #, c-format
 msgid "E593: Need at least %d lines"
 msgstr "E593: Bezonas almenaŭ %d liniojn"
@@ -4626,6 +4662,9 @@ msgstr "Averto de Vim"
 msgid "shell returned %d"
 msgstr "la ŝelo liveris %d"
 
+msgid "E926: Current location list was changed"
+msgstr "E926: Aktuala listo de lokoj ŝanĝiĝis"
+
 #, c-format
 msgid "E372: Too many %%%c in format string"
 msgstr "E372: Tro da %%%c en formata ĉeno"
@@ -4664,9 +4703,6 @@ msgstr "E924: Aktuala vindozo fermiĝis"
 msgid "E925: Current quickfix was changed"
 msgstr "E925: Aktuala rapidriparo ŝanĝiĝis"
 
-msgid "E926: Current location list was changed"
-msgstr "E926: Aktuala listo de lokoj ŝanĝiĝis"
-
 #, c-format
 msgid "(%d of %d)%s%s: "
 msgstr "(%d de %d)%s%s: "
@@ -4830,6 +4866,9 @@ msgstr "E877: (NFA-regulesprimo) Nevalid
 msgid "E867: (NFA) Unknown operator '\\z%c'"
 msgstr "E867: (NFA) Nekonata operatoro '\\z%c'"
 
+msgid "E951: \\% value too large"
+msgstr "E951: tro larga valoro de \\%"
+
 #, c-format
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: (NFA) Nekonata operatoro '\\%%%c'"
@@ -5248,8 +5287,8 @@ msgid "E760: No word count in %s"
 msgstr "E760: Ne estas nombro de vortoj en %s"
 
 #, c-format
-msgid "line %6d, word %6d - %s"
-msgstr "linio %6d, vorto %6d - %s"
+msgid "line %6d, word %6ld - %s"
+msgstr "linio %6d, vorto %6ld - %s"
 
 #, c-format
 msgid "Duplicate word in %s line %d: %s"
@@ -5335,8 +5374,9 @@ msgstr "Evaluo de memoro uzata: %d bajto
 msgid "E751: Output file name must not have region name"
 msgstr "E751: Nomo de eliga dosiero ne devas havi nomon de regiono"
 
-msgid "E754: Only up to 8 regions supported"
-msgstr "E754: Nur 8 regionoj subtenataj"
+#, c-format
+msgid "E754: Only up to %ld regions supported"
+msgstr "E754: Nur ĝis %ld regionoj subtenataj"
 
 #, c-format
 msgid "E755: Invalid region in %s"
@@ -5723,6 +5763,10 @@ msgstr ""
 msgid "Cannot open $VIMRUNTIME/rgb.txt"
 msgstr "Ne povas malfermi $VIMRUNTIME/rgb.txt"
 
+#, c-format
+msgid "Kill job in \"%s\"?"
+msgstr "Ĉu ĉesigi taskon en \"%s\"?"
+
 msgid "Terminal"
 msgstr "Terminalo"
 
@@ -5738,6 +5782,13 @@ msgstr "ruliĝas"
 msgid "finished"
 msgstr "finiĝis"
 
+#, c-format
+msgid "E953: File exists: %s"
+msgstr "E953: Dosiero jam ekzistas: %s"
+
+msgid "E955: Not a terminal buffer"
+msgstr "E955: Ne estas bufro de terminalo"
+
 msgid "new shell started\n"
 msgstr "nova ŝelo lanĉita\n"
 
@@ -6043,24 +6094,17 @@ msgstr ""
 
 msgid ""
 "\n"
-"MacOS X (unix) version"
-msgstr ""
-"\n"
-"Versio Mak OS X (unikso)"
+"macOS version"
+msgstr ""
+"\n"
+"Versio makOS"
 
 msgid ""
 "\n"
-"MacOS X version"
-msgstr ""
-"\n"
-"Versio Mak OS X"
-
-msgid ""
-"\n"
-"MacOS version"
-msgstr ""
-"\n"
-"Versio Mak OS"
+"macOS version w/o darwin feat."
+msgstr ""
+"\n"
+"Versio makOS sen ebloj de darwin."
 
 msgid ""
 "\n"
@@ -6164,9 +6208,6 @@ msgstr "kun grafika interfaco Carbon."
 msgid "with Cocoa GUI."
 msgstr "kun grafika interfaco Cocoa."
 
-msgid "with (classic) GUI."
-msgstr "kun (klasika) grafika interfaco."
-
 msgid "  Features included (+) or not (-):\n"
 msgstr "  Ebloj inkluzivitaj (+) aŭ ne (-):\n"
 
@@ -6475,6 +6516,14 @@ msgid "E475: Invalid argument: %s"
 msgstr "E475: Nevalida argumento: %s"
 
 #, c-format
+msgid "E475: Invalid value for argument %s"
+msgstr "E475: Nevalida valoro de argumento: %s"
+
+#, c-format
+msgid "E475: Invalid value for argument %s: %s"
+msgstr "E475: Nevalida valoro de argumento %s: %s"
+
+#, c-format
 msgid "E15: Invalid expression: %s"
 msgstr "E15: Nevalida esprimo: %s"
 
@@ -6492,6 +6541,10 @@ msgstr "E17: \"%s\" estas dosierujo"
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364: Alvoko al biblioteko malsukcesis por \"%s()\""
 
+# AM: fsync: ne traduku (nomo de C-komando)
+msgid "E667: Fsync failed"
+msgstr "E667: Fsync malsukcesis"
+
 #, c-format
 msgid "E448: Could not load library function %s"
 msgstr "E448: Ne eblis ŝargi bibliotekan funkcion %s"
@@ -6762,6 +6815,9 @@ msgstr "E850: Nevalida nomo de reĝistro"
 msgid "E919: Directory not found in '%s': \"%s\""
 msgstr "E919: Dosierujo ne trovita en '%s': \"%s\""
 
+msgid "E952: Autocommand caused recursive behavior"
+msgstr "E952: Aŭtokomandoj kaŭzis rikiran konduton"
+
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "serĉo atingis SUPRON, daŭrigonte al SUBO"
 
@@ -7024,3 +7080,47 @@ msgid ""
 msgstr ""
 "Agordo de serĉvojo malsukcesis: sys.path ne estas listo\n"
 "Vi nun devas aldoni vim.VIM_SPECIAL_PATH al sys.path"
+
+msgid ""
+"Vim macro files (*.vim)\t*.vim\n"
+"All Files (*.*)\t*.*\n"
+msgstr ""
+"Doserioj de vim-makrooj (*.vim)\t*.vim\n"
+"Ĉiuj dosieroj (*.*)\t*.*\n"
+
+msgid "All Files (*.*)\t*.*\n"
+msgstr "Ĉiuj dosieroj (*.*)\t*.*\n"
+
+msgid ""
+"All Files (*.*)\t*.*\n"
+"C source (*.c, *.h)\t*.c;*.h\n"
+"C++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
+"VB code (*.bas, *.frm)\t*.bas;*.frm\n"
+"Vim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
+msgstr ""
+"Ĉiuj dosieroj (*.*)\t*.*\n"
+"Dosieroj C (*.c, *.h)\t*.c;*.h\n"
+"Dosieroj C++ (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
+"Fonto VB (*.bas, *.frm)\t.bas;*.frm\n"
+"Dosieroj Vim (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
+
+msgid ""
+"Vim macro files (*.vim)\t*.vim\n"
+"All Files (*)\t*\n"
+msgstr ""
+"Doserioj de vim-makrooj (*.vim)\t*.vim\n"
+"Ĉiuj dosieroj (*)\t*\n"
+
+msgid "All Files (*)\t*\n"
+msgstr "Ĉiuj dosieroj (*)\t*\n"
+
+msgid ""
+"All Files (*)\t*\n"
+"C source (*.c, *.h)\t*.c;*.h\n"
+"C++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
+"Vim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
+msgstr ""
+"Ĉiuj dosieroj (*)\t*\n"
+"Dosieroj C (*.c, *.h)\t*.c;*.h\n"
+"Dosieroj C++ (*.cpp, *.hpp)\t*.cpp;*.hpp\n"
+"Dosieroj Vim (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n"
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -6,14 +6,14 @@
 #  FIRST AUTHOR  DindinX         <David.Odin@bigfoot.com>    2000.
 # SECOND AUTHOR  Adrien Beau     <version.francaise@free.fr> 2002, 2003.
 #  THIRD AUTHOR  David Blanchet  <david.blanchet@free.fr>    2006, 2008.
-# FOURTH AUTHOR  Dominique Pell <dominique.pelle@gmail.com> 2008, 2017.
+# FOURTH AUTHOR  Dominique Pell <dominique.pelle@gmail.com> 2008, 2018.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: Vim(Franais)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-10-04 23:32+0200\n"
-"PO-Revision-Date: 2017-10-04 23:44+0200\n"
+"POT-Creation-Date: 2018-04-27 17:51+0200\n"
+"PO-Revision-Date: 2018-04-27 18:06+0200\n"
 "Last-Translator: Dominique Pell <dominique.pelle@gmail.com>\n"
 "Language-Team: \n"
 "Language: fr\n"
@@ -592,7 +592,7 @@ msgstr "E108: Variable inexistante : %s"
 
 #, c-format
 msgid "E940: Cannot lock or unlock variable %s"
-msgstr "E940: Impossible de (d)verrouiler la variable %s"
+msgstr "E940: Impossible de (d)verrouiller la variable %s"
 
 msgid "E743: variable nested too deep for (un)lock"
 msgstr "E743: variable trop imbrique pour la (d)verrouiller"
@@ -602,21 +602,6 @@ msgstr "E743: variable trop imbrique pour la (d)verrouiller"
 msgid "E109: Missing ':' after '?'"
 msgstr "E109: Il manque ':' aprs '?'"
 
-msgid "E691: Can only compare List with List"
-msgstr "E691: Une Liste ne peut tre compare qu'avec une Liste"
-
-msgid "E692: Invalid operation for List"
-msgstr "E692: Opration invalide avec les Liste"
-
-msgid "E735: Can only compare Dictionary with Dictionary"
-msgstr "E735: Un Dictionnaire ne peut tre compar qu'avec un Dictionnaire"
-
-msgid "E736: Invalid operation for Dictionary"
-msgstr "E736: Opration invalide avec les Dictionnaires"
-
-msgid "E694: Invalid operation for Funcrefs"
-msgstr "E694: Opration invalide avec les Funcrefs"
-
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804: Impossible d'utiliser '%' avec un Flottant"
 
@@ -751,6 +736,21 @@ msgstr ""
 "\n"
 "\tModifi la dernire fois dans "
 
+msgid "E691: Can only compare List with List"
+msgstr "E691: Une Liste ne peut tre compare qu'avec une Liste"
+
+msgid "E692: Invalid operation for List"
+msgstr "E692: Opration invalide avec les Liste"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Un Dictionnaire ne peut tre compar qu'avec un Dictionnaire"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Opration invalide avec les Dictionnaires"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Opration invalide avec les Funcrefs"
+
 msgid "map() argument"
 msgstr "argument de map()"
 
@@ -779,6 +779,12 @@ msgid "&Ok"
 msgstr "&Ok"
 
 #, c-format
+msgid "+-%s%3ld line: "
+msgid_plural "+-%s%3ld lines: "
+msgstr[0] "+-%s%3ld ligne : "
+msgstr[1] "+-%s%3ld lignes : "
+
+#, c-format
 msgid "E700: Unknown function: %s"
 msgstr "E700: Fonction inconnue : %s"
 
@@ -886,10 +892,22 @@ msgid "E921: Invalid callback argument"
 msgstr "E921: Argument de callback invalide"
 
 #, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Oct %03o, Digr %s"
+msgstr "<%s>%s%s  %d,  Hexa %02x,  Octal %03o, Digr %s"
+
+#, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
 msgstr "<%s>%s%s  %d,  Hexa %02x,  Octal %03o"
 
 #, c-format
+msgid "> %d, Hex %04x, Oct %o, Digr %s"
+msgstr "> %d, Hexa %04x, Octal %o, Digr %s"
+
+#, c-format
+msgid "> %d, Hex %08x, Oct %o, Digr %s"
+msgstr "> %d, Hexa %08x, Octal %o, Digr %s"
+
+#, c-format
 msgid "> %d, Hex %04x, Octal %o"
 msgstr "> %d, Hexa %04x, Octal %o"
 
@@ -1279,6 +1297,14 @@ msgid "Entering Debug mode.  Type \"cont
 msgstr "Mode dbogage activ. Tapez \"cont\" pour continuer."
 
 #, c-format
+msgid "Oldval = \"%s\""
+msgstr "Ancienneval = \"%s\""
+
+#, c-format
+msgid "Newval = \"%s\""
+msgstr "Nouvelleval = \"%s\""
+
+#, c-format
 msgid "line %ld: %s"
 msgstr "ligne %ld : %s"
 
@@ -1310,6 +1336,10 @@ msgstr "Aucun point d'arrt n'est dfini"
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d  %s %s  ligne %ld"
 
+#, c-format
+msgid "%3d  expr %s"
+msgstr "%3d  expr %s"
+
 msgid "E750: First use \":profile start {fname}\""
 msgstr "E750: Utilisez d'abord \":profile start {nomfichier}\""
 
@@ -1472,9 +1502,6 @@ msgstr ""
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Dsol, cette commande n'est pas disponible dans cette version"
 
-msgid "E172: Only one file name allowed"
-msgstr "E172: Un seul nom de fichier autoris"
-
 msgid "1 more file to edit.  Quit anyway?"
 msgstr "Encore 1 fichier  diter. Quitter tout de mme ?"
 
@@ -1964,10 +1991,6 @@ msgid "E510: Can't make backup file (add
 msgstr ""
 "E510: Impossible de gnrer la copie de secours (ajoutez ! pour passer outre)"
 
-msgid "E460: The resource fork would be lost (add ! to override)"
-msgstr ""
-"E460: Les ressources partages seraient perdues (ajoutez ! pour passer outre)"
-
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: Impossible de gnrer un fichier temporaire pour y crire"
 
@@ -1980,8 +2003,8 @@ msgstr "E166: Impossible d'ouvrir le lien pour y crire"
 msgid "E212: Can't open file for writing"
 msgstr "E212: Impossible d'ouvrir le fichier pour y crire"
 
-msgid "E667: Fsync failed"
-msgstr "E667: Fsynch a chou"
+msgid "E949: File changed while writing"
+msgstr "E949: Fichier modifi aprs criture"
 
 msgid "E512: Close failed"
 msgstr "E512: Erreur de fermeture de fichier"
@@ -2237,6 +2260,12 @@ msgstr "E350: Impossible de crer un repli avec la 'foldmethod'e actuelle"
 msgid "E351: Cannot delete fold with current 'foldmethod'"
 msgstr "E351: Impossible de supprimer un repli avec la 'foldmethod'e actuelle"
 
+#, c-format
+msgid "+--%3ld line folded "
+msgid_plural "+--%3ld lines folded "
+msgstr[0] "+--%3ld ligne dplace "
+msgstr[1] "+--%3ld lignes dplaces "
+
 msgid "E222: Add to read buffer"
 msgstr "E222: Ajout au tampon de lecture"
 
@@ -3370,7 +3399,8 @@ msgid "-i <viminfo>\t\tUse <viminfo> ins
 msgstr "-i <viminfo>\t\tUtiliser <viminfo> au lieu du viminfo habituel"
 
 msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
-msgstr "--clean\t\t'nocompatible', rglages par dfaut, aucun greffon ni viminfo"
+msgstr ""
+"--clean\t\t'nocompatible', rglages par dfaut, aucun greffon ni viminfo"
 
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h ou --help\t\tAfficher l'aide (ce message) puis quitter"
@@ -4448,8 +4478,8 @@ msgstr ""
 "sur %lld ; Octet %lld sur %lld"
 
 #, c-format
-msgid "(+%ld for BOM)"
-msgstr "(+%ld pour le BOM)"
+msgid "(+%lld for BOM)"
+msgstr "(+%lld pour le BOM)"
 
 msgid "Thanks for flying Vim"
 msgstr "Merci d'avoir choisi Vim"
@@ -4501,6 +4531,10 @@ msgstr "E835: Conflits avec la valeur de
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617: Non modifiable dans l'interface graphique GTK+ 2"
 
+#, c-format
+msgid "E950: Cannot convert between %s and %s"
+msgstr "E950: Impossible de convertir de %s  %s"
+
 msgid "E524: Missing colon"
 msgstr "E524: ':' manquant"
 
@@ -4562,7 +4596,8 @@ msgid "E542: unbalanced groups"
 msgstr "E542: parenthses non quilibres"
 
 msgid "E946: Cannot make a terminal with running job modifiable"
-msgstr "E946: terminal avec tche en cours d'excution ne peut pas tre modifiable"
+msgstr ""
+"E946: terminal avec tche en cours d'excution ne peut pas tre modifiable"
 
 msgid "E590: A preview window already exists"
 msgstr "E590: Il existe dj une fentre de prvisualisation"
@@ -4570,6 +4605,9 @@ msgstr "E590: Il existe dj une fentre de prvisualisation"
 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
 msgstr "W17: L'arabe ncessite l'UTF-8, tapez ':set encoding=utf-8'"
 
+msgid "E954: 24-bit colors are not supported on this environment"
+msgstr "E954: Couleurs en 24-bits non-supportes sur cet environnement."
+
 #, c-format
 msgid "E593: Need at least %d lines"
 msgstr "E593: Au moins %d lignes sont ncessaires"
@@ -4857,6 +4895,9 @@ msgstr "Alerte Vim"
 msgid "shell returned %d"
 msgstr "le shell a retourn %d"
 
+msgid "E926: Current location list was changed"
+msgstr "E926: La liste d'emplacements courante a chang"
+
 #, c-format
 msgid "E372: Too many %%%c in format string"
 msgstr "E372: Trop de %%%c dans la chane de format"
@@ -4895,9 +4936,6 @@ msgstr "E924: La fentre courante doit tre ferme"
 msgid "E925: Current quickfix was changed"
 msgstr "E925: Le quickfix courant a chang"
 
-msgid "E926: Current location list was changed"
-msgstr "E926: La liste d'emplacements courante a chang"
-
 #, c-format
 msgid "(%d of %d)%s%s: "
 msgstr "(%d sur %d)%s%s : "
@@ -5060,6 +5098,9 @@ msgstr "E877: (regexp NFA) Classe de caractre invalide : %ld"
 msgid "E867: (NFA) Unknown operator '\\z%c'"
 msgstr "E867: (NFA) Oprateur inconnu '\\z%c'"
 
+msgid "E951: \\% value too large"
+msgstr "E951: valeur \\% trop grande"
+
 #, c-format
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: (NFA) Oprateur inconnu '\\%%%c'"
@@ -5483,8 +5524,8 @@ msgid "E760: No word count in %s"
 msgstr "E760: Nombre de mots non indiqu dans %s"
 
 #, c-format
-msgid "line %6d, word %6d - %s"
-msgstr "ligne %6d, mot %6d - %s"
+msgid "line %6d, word %6ld - %s"
+msgstr "ligne %6d, mot %6ld - %s"
 
 #, c-format
 msgid "Duplicate word in %s line %d: %s"
@@ -5570,8 +5611,9 @@ msgstr "Estimation de mmoire consomme : %d octets"
 msgid "E751: Output file name must not have region name"
 msgstr "E751: Le nom du fichier ne doit pas contenir de nom de rgion"
 
-msgid "E754: Only up to 8 regions supported"
-msgstr "E754: 8 rgions au maximum sont supportes"
+#, c-format
+msgid "E754: Only up to %ld regions supported"
+msgstr "E754: %ld rgions au maximum supportes"
 
 #, c-format
 msgid "E755: Invalid region in %s"
@@ -5966,6 +6008,10 @@ msgstr ""
 msgid "Cannot open $VIMRUNTIME/rgb.txt"
 msgstr "Impossible d'ouvrir $VIMRUNTIME/rgb.txt"
 
+#, c-format
+msgid "Kill job in \"%s\"?"
+msgstr "Terminer la tche d'excution dans \"%s\"?"
+
 msgid "Terminal"
 msgstr "Terminal"
 
@@ -5981,6 +6027,13 @@ msgstr "en cours"
 msgid "finished"
 msgstr "fini"
 
+#, c-format
+msgid "E953: File exists: %s"
+msgstr "E953: Le fichier existe dj : %s"
+
+msgid "E955: Not a terminal buffer"
+msgstr "E955: Ce n'est pas un buffer de terminal"
+
 msgid "new shell started\n"
 msgstr "nouveau shell dmarr\n"
 
@@ -6312,24 +6365,17 @@ msgstr ""
 
 msgid ""
 "\n"
-"MacOS X (unix) version"
-msgstr ""
-"\n"
-"Version MaxOS X (unix)"
+"macOS version"
+msgstr ""
+"\n"
+"Version macOS"
 
 msgid ""
 "\n"
-"MacOS X version"
-msgstr ""
-"\n"
-"Version MacOS X"
-
-msgid ""
-"\n"
-"MacOS version"
-msgstr ""
-"\n"
-"Version MacOS"
+"macOS version w/o darwin feat."
+msgstr ""
+"\n"
+"Version macOS sans fonctionalits darwin"
 
 msgid ""
 "\n"
@@ -6433,9 +6479,6 @@ msgstr "avec interface graphique Carbon.
 msgid "with Cocoa GUI."
 msgstr "avec interface graphique Cocoa."
 
-msgid "with (classic) GUI."
-msgstr "avec interface graphique (classic)."
-
 msgid "  Features included (+) or not (-):\n"
 msgstr "  Fonctionnalits incluses (+) ou non (-) :\n"
 
@@ -6741,6 +6784,14 @@ msgid "E475: Invalid argument: %s"
 msgstr "E475: Argument invalide : %s"
 
 #, c-format
+msgid "E475: Invalid value for argument %s"
+msgstr "E475: Valeur d'argument invalide : %s"
+
+#, c-format
+msgid "E475: Invalid value for argument %s: %s"
+msgstr "E475: Valeur d'argument invalide %s : %s"
+
+#, c-format
 msgid "E15: Invalid expression: %s"
 msgstr "E15: Expression invalide : %s"
 
@@ -6758,6 +6809,9 @@ msgstr "E17: \"%s\" est un rpertoire"
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364: L'appel  la bibliothque a chou pour \"%s()\""
 
+msgid "E667: Fsync failed"
+msgstr "E667: Fsynch a chou"
+
 #, c-format
 msgid "E448: Could not load library function %s"
 msgstr "E448: Impossible de charger la fonction %s de la bibliothque"
@@ -7032,6 +7086,9 @@ msgstr "E850: Nom de registre invalide"
 msgid "E919: Directory not found in '%s': \"%s\""
 msgstr "E919: Rpertoire introuvable dans '%s' : \"%s\""
 
+msgid "E952: Autocommand caused recursive behavior"
+msgstr "E952: Une autocommande a caus une rcursivit"
+
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "La recherche a atteint le HAUT, et continue en BAS"
 
--- a/src/po/ru.cp1251.po
+++ b/src/po/ru.cp1251.po
@@ -3,20 +3,22 @@
 #       Vim ":help uganda"
 #
 # vassily "vr" ragosin <vrr@users.sourceforge.net>, 2004
-# Sergey Alyoshin <alyoshin.s@gmail.com>, 2013-2014
+# Sergey Alyoshin <alyoshin.s@gmail.com>, 2013-2014, 2016, 2018
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: vim_ru\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-10 11:52+0400\n"
-"PO-Revision-Date: 2014-10-10 12:00+0400\n"
+"POT-Creation-Date: 2018-04-28 21:50+0300\n"
+"PO-Revision-Date: 2018-04-28 21:51+0300\n"
 "Last-Translator: Sergey Alyoshin <alyoshin.s@gmail.com>\n"
 "Language-Team: \n"
 "Language: Russian\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=cp1251\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 msgid "E831: bf_key_init() called with empty password"
 msgstr "E831: bf_key_init()    "
@@ -49,6 +51,12 @@ msgstr "E82:       , ..."
 msgid "E83: Cannot allocate buffer, using other one..."
 msgstr "E83:     ,   ..."
 
+msgid "E931: Buffer cannot be registered"
+msgstr "E931:   "
+
+msgid "E937: Attempt to delete a buffer that is in use"
+msgstr "E937:    "
+
 msgid "E515: No buffers were unloaded"
 msgstr "E515:        "
 
@@ -85,14 +93,9 @@ msgstr "E90:      "
 msgid "E84: No modified buffer found"
 msgstr "E84:    "
 
-#. back where we started, didn't find anything.
 msgid "E85: There is no listed buffer"
 msgstr "E85:    "
 
-#, c-format
-msgid "E86: Buffer %ld does not exist"
-msgstr "E86:  %ld  "
-
 msgid "E87: Cannot go beyond last buffer"
 msgstr "E87:   "
 
@@ -104,6 +107,18 @@ msgid "E89: No write since last change f
 msgstr ""
 "E89:    %ld   ( !,   )"
 
+msgid "E948: Job still running (add ! to end the job)"
+msgstr "E948:    ( !,  )"
+
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37:    ( !,   )"
+
+msgid "E948: Job still running"
+msgstr "E948:   "
+
+msgid "E37: No write since last change"
+msgstr "E37:   "
+
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: :    "
 
@@ -159,7 +174,6 @@ msgstr ". %ld  %ld --%d%%-- . "
 msgid "[No Name]"
 msgstr "[ ]"
 
-#. must be a help buffer
 msgid "help"
 msgstr ""
 
@@ -185,6 +199,10 @@ msgstr ""
 "\n"
 "#  :\n"
 
+msgid "E382: Cannot write, 'buftype' option is set"
+msgstr ""
+"E382:  ,   'buftype'    "
+
 msgid "[Scratch]"
 msgstr "[]"
 
@@ -203,9 +221,64 @@ msgstr "  %s:"
 msgid "    line=%ld  id=%d  name=%s"
 msgstr "    =%ld  id=%d  =%s"
 
+msgid "E902: Cannot connect to port"
+msgstr "E902:    "
+
+msgid "E901: gethostbyname() in channel_open()"
+msgstr "E901: gethostbyname()  channel_open()"
+
+msgid "E898: socket() in channel_open()"
+msgstr "E898: socket()  channel_open()"
+
+msgid "E903: received command with non-string argument"
+msgstr "E903:      "
+
+msgid "E904: last argument for expr/call must be a number"
+msgstr "E904:         "
+
+msgid "E904: third argument for call must be a list"
+msgstr "E904:       "
+
+#, c-format
+msgid "E905: received unknown command: %s"
+msgstr "E905:    %s"
+
+#, c-format
+msgid "E630: %s(): write while not connected"
+msgstr "E630: %s():   "
+
+#, c-format
+msgid "E631: %s(): write failed"
+msgstr "E631:    %s()"
+
+#, c-format
+msgid "E917: Cannot use a callback with %s()"
+msgstr "E917:      %s()"
+
+msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel"
+msgstr ""
+"E912:   ch_evalexpr()  ch_sendexpr()   nl "
+" raw"
+
+msgid "E906: not an open channel"
+msgstr "E906:   "
+
+msgid "E920: _io file requires _name to be set"
+msgstr "E920:  _io   _name"
+
+msgid "E915: in_io buffer requires in_buf or in_name to be set"
+msgstr "E915:  in_io   in_buf  in_name"
+
+#, c-format
+msgid "E918: buffer must be loaded: %s"
+msgstr "E918:    : %s"
+
 msgid "E821: File is encrypted with unknown method"
 msgstr "E821:    "
 
+msgid "Warning: Using a weak encryption method; see :help 'cm'"
+msgstr ":    , . :help 'cm'"
+
 msgid "Enter encryption key: "
 msgstr "   : "
 
@@ -219,7 +292,30 @@ msgid "[crypted]"
 msgstr "[]"
 
 #, c-format
-msgid "E96: Can not diff more than %ld buffers"
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720:    : %s"
+
+#, c-format
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721:    : \"%s\""
+
+#, c-format
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722:    : %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723:    '}': %s"
+
+msgid "extend() argument"
+msgstr " extend()"
+
+#, c-format
+msgid "E737: Key already exists: %s"
+msgstr "E737:   : %s"
+
+#, c-format
+msgid "E96: Cannot diff more than %ld buffers"
 msgstr "E96:         %ld "
 
 msgid "E810: Cannot read or write temp files"
@@ -275,7 +371,6 @@ msgstr "E791:    "
 msgid " Keyword completion (^N^P)"
 msgstr "    (^N^P)"
 
-#. ctrl_x_mode == 0, ^P/^N compl.
 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 msgstr "  ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
@@ -347,13 +442,12 @@ msgstr ": %s"
 msgid "Scanning tags."
 msgstr "   ."
 
+msgid "match in file"
+msgstr "  "
+
 msgid " Adding"
 msgstr " "
 
-#. 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 "-- ..."
 
@@ -378,51 +472,12 @@ msgid "E18: Unexpected characters in :le
 msgstr "E18:    :let"
 
 #, c-format
-msgid "E684: list index out of range: %ld"
-msgstr "E684:     : %ld"
-
-#, c-format
 msgid "E121: Undefined variable: %s"
 msgstr "E121:  : %s"
 
 msgid "E111: Missing ']'"
 msgstr "E111:  ']'"
 
-#, c-format
-msgid "E686: Argument of %s must be a List"
-msgstr "E686:  %s   "
-
-#, c-format
-msgid "E712: Argument of %s must be a List or Dictionary"
-msgstr "E712:  %s     "
-
-msgid "E713: Cannot use empty key for Dictionary"
-msgstr "E713:      "
-
-msgid "E714: List required"
-msgstr "E714:  "
-
-msgid "E715: Dictionary required"
-msgstr "E715:  "
-
-#, c-format
-msgid "E118: Too many arguments for function: %s"
-msgstr "E118:      %s"
-
-#, c-format
-msgid "E716: Key not present in Dictionary: %s"
-msgstr "E716:    : %s"
-
-#, c-format
-msgid "E122: Function %s already exists, add ! to replace it"
-msgstr "E122:  %s  .  !,   ."
-
-msgid "E717: Dictionary entry already exists"
-msgstr "E717:     "
-
-msgid "E718: Funcref required"
-msgstr "E718:    "
-
 msgid "E719: Cannot use [:] with a Dictionary"
 msgstr "E719:   [:]  "
 
@@ -431,10 +486,6 @@ msgid "E734: Wrong variable type for %s=
 msgstr "E734:     %s="
 
 #, c-format
-msgid "E130: Unknown function: %s"
-msgstr "E130:  : %s"
-
-#, c-format
 msgid "E461: Illegal variable name: %s"
 msgstr "E461:   : %s"
 
@@ -473,37 +524,19 @@ msgid "E690: Missing \"in\" after :for"
 msgstr "E690:  \"in\"  :for"
 
 #, c-format
-msgid "E107: Missing parentheses: %s"
-msgstr "E107:  : %s"
-
-#, c-format
 msgid "E108: No such variable: \"%s\""
 msgstr "E108:   : \"%s\""
 
+#, c-format
+msgid "E940: Cannot lock or unlock variable %s"
+msgstr "E940:  ()  %s"
+
 msgid "E743: variable nested too deep for (un)lock"
 msgstr "E743:      ()"
 
 msgid "E109: Missing ':' after '?'"
 msgstr "E109:  ':'  '?'"
 
-msgid "E691: Can only compare List with List"
-msgstr "E691:      "
-
-msgid "E692: Invalid operation for List"
-msgstr "E692:    "
-
-msgid "E735: Can only compare Dictionary with Dictionary"
-msgstr "E735:      "
-
-msgid "E736: Invalid operation for Dictionary"
-msgstr "E736:    "
-
-msgid "E693: Can only compare Funcref with Funcref"
-msgstr "E693:          "
-
-msgid "E694: Invalid operation for Funcrefs"
-msgstr "E694:      "
-
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804:   '%'     "
 
@@ -513,6 +546,9 @@ msgstr "E110:  ')'"
 msgid "E695: Cannot index a Funcref"
 msgstr "E695:     "
 
+msgid "E909: Cannot index a special variable"
+msgstr "E909:    "
+
 #, c-format
 msgid "E112: Option name missing: %s"
 msgstr "E112:    : %s"
@@ -529,167 +565,12 @@ msgstr "E114:  : %s"
 msgid "E115: Missing quote: %s"
 msgstr "E115:  : %s"
 
-#, c-format
-msgid "E696: Missing comma in List: %s"
-msgstr "E696:    : %s"
-
-#, c-format
-msgid "E697: Missing end of List ']': %s"
-msgstr "E697:    ']': %s"
-
-#, c-format
-msgid "E720: Missing colon in Dictionary: %s"
-msgstr "E720:    : %s"
-
-#, c-format
-msgid "E721: Duplicate key in Dictionary: \"%s\""
-msgstr "E721:    : \"%s\""
-
-#, c-format
-msgid "E722: Missing comma in Dictionary: %s"
-msgstr "E722:    : %s"
-
-#, c-format
-msgid "E723: Missing end of Dictionary '}': %s"
-msgstr "E723:    '}': %s"
+msgid "Not enough memory to set references, garbage collection aborted!"
+msgstr "    ,   !"
 
 msgid "E724: variable nested too deep for displaying"
 msgstr "E724:      "
 
-#, c-format
-msgid "E740: Too many arguments for function %s"
-msgstr "E740:      %s"
-
-#, c-format
-msgid "E116: Invalid arguments for function %s"
-msgstr "E116:    %s  "
-
-#, c-format
-msgid "E117: Unknown function: %s"
-msgstr "E117:  : %s"
-
-#, c-format
-msgid "E119: Not enough arguments for function: %s"
-msgstr "E119:     %s"
-
-#, c-format
-msgid "E120: Using <SID> not in a script context: %s"
-msgstr "E120: <SID>   : %s"
-
-#, c-format
-msgid "E725: Calling dict function without Dictionary: %s"
-msgstr "E725:   dict  : %s"
-
-msgid "E808: Number or Float required"
-msgstr "E808:       "
-
-msgid "add() argument"
-msgstr " add()"
-
-msgid "E699: Too many arguments"
-msgstr "E699:   "
-
-msgid "E785: complete() can only be used in Insert mode"
-msgstr "E785: complete()      "
-
-#.
-#. * 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"
-
-#, c-format
-msgid "E737: Key already exists: %s"
-msgstr "E737:   : %s"
-
-msgid "extend() argument"
-msgstr " extend()"
-
-msgid "map() argument"
-msgstr " map()"
-
-msgid "filter() argument"
-msgstr " filter()"
-
-#, c-format
-msgid "+-%s%3ld lines: "
-msgstr "+-%s%3ld : "
-
-#, c-format
-msgid "E700: Unknown function: %s"
-msgstr "E700:  : %s"
-
-msgid ""
-"&OK\n"
-"&Cancel"
-msgstr ""
-"&OK\n"
-"&C "
-
-msgid "called inputrestore() more often than inputsave()"
-msgstr " inputrestore()  ,   inputsave()"
-
-msgid "insert() argument"
-msgstr " insert()"
-
-msgid "E786: Range not allowed"
-msgstr "E786:   "
-
-msgid "E701: Invalid type for len()"
-msgstr "E701:    len()"
-
-msgid "E726: Stride is zero"
-msgstr "E726:  "
-
-msgid "E727: Start past end"
-msgstr "E727:   "
-
-msgid "<empty>"
-msgstr "<>"
-
-msgid "E240: No connection to Vim server"
-msgstr "E240:     Vim"
-
-#, c-format
-msgid "E241: Unable to send to %s"
-msgstr "E241:      %s"
-
-msgid "E277: Unable to read a server reply"
-msgstr "E277:   "
-
-msgid "remove() argument"
-msgstr " remove()"
-
-msgid "E655: Too many symbolic links (cycle?)"
-msgstr "E655:     (?)"
-
-msgid "reverse() argument"
-msgstr " reverse()"
-
-msgid "E258: Unable to send to client"
-msgstr "E258:    "
-
-msgid "sort() argument"
-msgstr " sort()"
-
-msgid "uniq() argument"
-msgstr " uniq()"
-
-msgid "E702: Sort compare function failed"
-msgstr "E702:      "
-
-msgid "E882: Uniq compare function failed"
-msgstr ""
-"E882:       "
-
-msgid "(Invalid)"
-msgstr "()"
-
-msgid "E677: Error writing temp file"
-msgstr "E677:     "
-
 msgid "E805: Using a Float as a Number"
 msgstr "E805:       "
 
@@ -702,6 +583,33 @@ msgstr "E745:    "
 msgid "E728: Using a Dictionary as a Number"
 msgstr "E728:    "
 
+msgid "E910: Using a Job as a Number"
+msgstr "E910:    "
+
+msgid "E913: Using a Channel as a Number"
+msgstr "E913:    "
+
+msgid "E891: Using a Funcref as a Float"
+msgstr "E891:         "
+
+msgid "E892: Using a String as a Float"
+msgstr "E892:       "
+
+msgid "E893: Using a List as a Float"
+msgstr "E893:       "
+
+msgid "E894: Using a Dictionary as a Float"
+msgstr "E894:       "
+
+msgid "E907: Using a special value as a Float"
+msgstr "E907:        "
+
+msgid "E911: Using a Job as a Float"
+msgstr "E911:       "
+
+msgid "E914: Using a Channel as a Float"
+msgstr "E914:       "
+
 msgid "E729: using Funcref as a String"
 msgstr "E729:      "
 
@@ -711,9 +619,8 @@ msgstr "E730:    "
 msgid "E731: using Dictionary as a String"
 msgstr "E731:    "
 
-#, c-format
-msgid "E706: Variable type mismatch for: %s"
-msgstr "E706:    : %s"
+msgid "E908: using an invalid value as a String"
+msgstr "E908:     "
 
 #, c-format
 msgid "E795: Cannot delete variable %s"
@@ -743,81 +650,6 @@ msgstr "E742:    %s"
 msgid "E698: variable nested too deep for making a copy"
 msgstr "E698:      "
 
-#, c-format
-msgid "E123: Undefined function: %s"
-msgstr "E123:  : %s"
-
-#, c-format
-msgid "E124: Missing '(': %s"
-msgstr "E124:  '(': %s"
-
-msgid "E862: Cannot use g: here"
-msgstr "E862:    g:"
-
-#, c-format
-msgid "E125: Illegal argument: %s"
-msgstr "E125:  : %s"
-
-#, c-format
-msgid "E853: Duplicate argument name: %s"
-msgstr "E853:   : %s"
-
-msgid "E126: Missing :endfunction"
-msgstr "E126:   :endfunction"
-
-#, c-format
-msgid "E707: Function name conflicts with variable: %s"
-msgstr "E707:     : %s"
-
-#, c-format
-msgid "E127: Cannot redefine function %s: It is in use"
-msgstr "E127:    %s,  "
-
-#, c-format
-msgid "E746: Function name does not match script file name: %s"
-msgstr "E746:       : %s"
-
-msgid "E129: Function name required"
-msgstr "E129:   "
-
-#, c-format
-msgid "E128: Function name must start with a capital or \"s:\": %s"
-msgstr "E128:         \"s:\": %s"
-
-#, c-format
-msgid "E884: Function name cannot contain a colon: %s"
-msgstr "E884:      : %s"
-
-#, c-format
-msgid "E131: Cannot delete function %s: It is in use"
-msgstr "E131:    %s,  "
-
-msgid "E132: Function call depth is higher than 'maxfuncdepth'"
-msgstr "E132:    ,   'maxfuncdepth'"
-
-#, c-format
-msgid "calling %s"
-msgstr " %s"
-
-#, c-format
-msgid "%s aborted"
-msgstr "%s "
-
-#, c-format
-msgid "%s returning #%ld"
-msgstr "%s  #%ld"
-
-#, c-format
-msgid "%s returning %s"
-msgstr "%s  %s"
-
-#, c-format
-msgid "continuing in %s"
-msgstr "  %s"
-
-msgid "E133: :return not inside a function"
-msgstr "E133:  :return  "
-
 msgid ""
 "\n"
 "# global variables:\n"
@@ -832,20 +664,179 @@ msgstr ""
 "\n"
 "\t      "
 
-msgid "No old files"
-msgstr "  "
+msgid "E691: Can only compare List with List"
+msgstr "E691:      "
+
+msgid "E692: Invalid operation for List"
+msgstr "E692:    "
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735:      "
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736:    "
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694:      "
+
+msgid "map() argument"
+msgstr " map()"
+
+msgid "filter() argument"
+msgstr " filter()"
+
+#, c-format
+msgid "E686: Argument of %s must be a List"
+msgstr "E686:  %s   "
+
+msgid "E928: String required"
+msgstr "E928:  "
+
+msgid "E808: Number or Float required"
+msgstr "E808:       "
+
+msgid "add() argument"
+msgstr " add()"
+
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete()      "
+
+msgid "&Ok"
+msgstr "&Ok"
+
+#, c-format
+msgid "+-%s%3ld line: "
+msgid_plural "+-%s%3ld lines: "
+msgstr[0] "+-%s%3ld : "
+msgstr[1] "+-%s%3ld : "
+msgstr[2] "+-%s%3ld : "
+
+#, c-format
+msgid "E700: Unknown function: %s"
+msgstr "E700:  : %s"
+
+msgid "E922: expected a dict"
+msgstr "E922:  "
+
+msgid "E923: Second argument of function() must be a list or a dict"
+msgstr "E923:   ()     "
+
+msgid ""
+"&OK\n"
+"&Cancel"
+msgstr ""
+"&OK\n"
+"&C "
+
+msgid "called inputrestore() more often than inputsave()"
+msgstr " inputrestore()  ,   inputsave()"
+
+msgid "insert() argument"
+msgstr " insert()"
+
+msgid "E786: Range not allowed"
+msgstr "E786:   "
+
+msgid "E916: not a valid job"
+msgstr "E916:  "
+
+msgid "E701: Invalid type for len()"
+msgstr "E701:    len()"
+
+#, c-format
+msgid "E798: ID is reserved for \":match\": %ld"
+msgstr "E798: ID   \":match\": %ld"
+
+msgid "E726: Stride is zero"
+msgstr "E726:  "
+
+msgid "E727: Start past end"
+msgstr "E727:   "
+
+msgid "<empty>"
+msgstr "<>"
+
+msgid "E240: No connection to the X server"
+msgstr "E240:    X-"
+
+#, c-format
+msgid "E241: Unable to send to %s"
+msgstr "E241:      %s"
+
+msgid "E277: Unable to read a server reply"
+msgstr "E277:   "
+
+msgid "E941: already started a server"
+msgstr "E941:   "
+
+msgid "E942: +clientserver feature not available"
+msgstr "E942:  +clientserver "
+
+msgid "remove() argument"
+msgstr " remove()"
+
+msgid "E655: Too many symbolic links (cycle?)"
+msgstr "E655:     (?)"
+
+msgid "reverse() argument"
+msgstr " reverse()"
+
+msgid "E258: Unable to send to client"
+msgstr "E258:    "
+
+#, c-format
+msgid "E927: Invalid action: '%s'"
+msgstr "E927:  : '%s'"
+
+msgid "sort() argument"
+msgstr " sort()"
+
+msgid "uniq() argument"
+msgstr " uniq()"
+
+msgid "E702: Sort compare function failed"
+msgstr "E702:      "
+
+msgid "E882: Uniq compare function failed"
+msgstr ""
+"E882:       "
+
+msgid "(Invalid)"
+msgstr "()"
+
+#, c-format
+msgid "E935: invalid submatch number: %d"
+msgstr "E935:   : %d"
+
+msgid "E677: Error writing temp file"
+msgstr "E677:     "
+
+msgid "E921: Invalid callback argument"
+msgstr "E921:    "
+
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Oct %03o, Digr %s"
+msgstr "<%s>%s%s  %d,   %02x,   %03o,  %s"
 
 #, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,   %02x,   %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Oct %o, Digr %s"
+msgstr "> %d,  %04x,  %o,  %s"
+
+#, c-format
+msgid "> %d, Hex %08x, Oct %o, Digr %s"
+msgstr "> %d,  %08x,  %o,  %s"
 
 #, c-format
 msgid "> %d, Hex %04x, Octal %o"
-msgstr "> %d, Hex %04x, Octal %o"
+msgstr "> %d,  %04x,  %o"
 
 #, c-format
 msgid "> %d, Hex %08x, Octal %o"
-msgstr "> %d, Hex %08x, Octal %o"
+msgstr "> %d,  %08x,  %o"
 
 msgid "E134: Move lines into themselves"
 msgstr "E134:     "
@@ -891,12 +882,15 @@ msgstr "  "
 msgid " FAILED"
 msgstr " "
 
-#. avoid a wait_return for this message, it's annoying
 #, c-format
 msgid "E137: Viminfo file is not writable: %s"
 msgstr "E137:     viminfo : %s"
 
 #, c-format
+msgid "E929: Too many viminfo temp files, like %s!"
+msgstr "E929:     viminfo,   %s"
+
+#, c-format
 msgid "E138: Can't write viminfo file %s!"
 msgstr "E138:    viminfo %s!"
 
@@ -908,7 +902,6 @@ msgstr "  viminfo \"%s\""
 msgid "E886: Can't rename viminfo file to %s!"
 msgstr "E886:    viminfo  %s!"
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "#   viminfo   Vim %s.\n"
@@ -926,6 +919,13 @@ msgstr "#   'encoding'    \n"
 msgid "Illegal starting char"
 msgstr "  "
 
+msgid ""
+"\n"
+"# Bar lines, copied verbatim:\n"
+msgstr ""
+"\n"
+"#   '|',  :\n"
+
 msgid "Save As"
 msgstr " "
 
@@ -1015,14 +1015,14 @@ msgid "%ld substitutions"
 msgstr "%ld "
 
 msgid " on 1 line"
-msgstr "   "
+msgstr "  1 ."
 
 #, c-format
 msgid " on %ld lines"
 msgstr "  %ld ."
 
-msgid "E147: Cannot do :global recursive"
-msgstr "E147:  :global    "
+msgid "E147: Cannot do :global recursive with a range"
+msgstr "E147:   :global   "
 
 msgid "E148: Regular expression missing from global"
 msgstr "E148:   :global   "
@@ -1060,8 +1060,8 @@ msgid "Sorry, help file \"%s\" not found
 msgstr ",   \"%s\"  "
 
 #, c-format
-msgid "E150: Not a directory: %s"
-msgstr "E150: %s   "
+msgid "E151: No match: %s"
+msgstr "E151:  : %s"
 
 #, c-format
 msgid "E152: Cannot open %s for writing"
@@ -1080,6 +1080,10 @@ msgid "E154: Duplicate tag \"%s\" in fil
 msgstr "E154:   \"%s\"   %s/%s"
 
 #, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: %s   "
+
+#, c-format
 msgid "E160: Unknown sign command: %s"
 msgstr "E160:    %s"
 
@@ -1104,6 +1108,9 @@ msgstr "E159:   "
 msgid "E158: Invalid buffer name: %s"
 msgstr "E158:   : %s"
 
+msgid "E934: Cannot jump to a buffer that does not have a name"
+msgstr "E934:      "
+
 #, c-format
 msgid "E157: Invalid sign ID: %ld"
 msgstr "E157:  ID : %ld"
@@ -1121,10 +1128,21 @@ msgstr " ( )"
 msgid "[Deleted]"
 msgstr "[]"
 
+msgid "No old files"
+msgstr "  "
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "  .    \"cont\""
 
 #, c-format
+msgid "Oldval = \"%s\""
+msgstr ".. = \"%s\""
+
+#, c-format
+msgid "Newval = \"%s\""
+msgstr "..  = \"%s\""
+
+#, c-format
 msgid "line %ld: %s"
 msgstr " %ld: %s"
 
@@ -1132,6 +1150,13 @@ msgstr " %ld: %s"
 msgid "cmd: %s"
 msgstr ": %s"
 
+msgid "frame is zero"
+msgstr " "
+
+#, c-format
+msgid "frame at highest level: %d"
+msgstr " : %d"
+
 #, c-format
 msgid "Breakpoint in \"%s%s\" line %ld"
 msgstr "   \"%s%s\" . %ld"
@@ -1147,6 +1172,10 @@ msgstr "   "
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d  %s %s . %ld"
 
+#, c-format
+msgid "%3d  expr %s"
+msgstr "%3d  . %s"
+
 msgid "E750: First use \":profile start {fname}\""
 msgstr "E750:   \":profile start {-}\""
 
@@ -1154,8 +1183,9 @@ msgstr "E750:   \":profile start {-}\""
 msgid "Save changes to \"%s\"?"
 msgstr "   \"%s\"?"
 
-msgid "Untitled"
-msgstr " "
+#, c-format
+msgid "E947: Job still running in buffer \"%s\""
+msgstr "E947:      \"%s\""
 
 #, c-format
 msgid "E162: No write since last change for buffer \"%s\""
@@ -1187,8 +1217,18 @@ msgid "Searching for \"%s\""
 msgstr " \"%s\""
 
 #, c-format
-msgid "not found in 'runtimepath': \"%s\""
-msgstr "   'runtimepath': \"%s\""
+msgid "not found in '%s': \"%s\""
+msgstr "   '%s': \"%s\""
+
+#, c-format
+msgid "W20: Required python version 2.x not supported, ignoring file: %s"
+msgstr ""
+"W20:   python   2.x,  : %s"
+
+#, c-format
+msgid "W21: Required python version 3.x not supported, ignoring file: %s"
+msgstr ""
+"W21:   python   3.x,  : %s"
 
 msgid "Source Vim script"
 msgstr "  Vim"
@@ -1217,6 +1257,10 @@ msgstr " %ld:  \"%s\""
 msgid "finished sourcing %s"
 msgstr "  %s "
 
+#, c-format
+msgid "continuing in %s"
+msgstr "  %s"
+
 msgid "modeline"
 msgstr " "
 
@@ -1284,12 +1328,12 @@ msgstr "  ,   "
 msgid "E494: Use w or w>>"
 msgstr "E494:  w  w>>"
 
+msgid "E943: Command table needs to be updated, run 'make cmdidxs'"
+msgstr "E943:     ,  'make cmdidxs'"
+
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: ,      "
 
-msgid "E172: Only one file name allowed"
-msgstr "E172:      "
-
 msgid "1 more file to edit.  Quit anyway?"
 msgstr "1   . ?"
 
@@ -1309,10 +1353,10 @@ msgstr "E174:   .  !  ."
 
 msgid ""
 "\n"
-"    Name        Args Range Complete  Definition"
-msgstr ""
-"\n"
-"          . . .    "
+"    Name        Args       Address   Complete  Definition"
+msgstr ""
+"\n"
+"             .     .     .   "
 
 msgid "No user-defined commands found"
 msgstr ",  ,  ."
@@ -1332,6 +1376,9 @@ msgstr "E178:   -  "
 msgid "E179: argument required for -complete"
 msgstr "E179:  -complete   "
 
+msgid "E179: argument required for -addr"
+msgstr "E179:  -addr   "
+
 #, c-format
 msgid "E181: Invalid attribute: %s"
 msgstr "E181:  : %s"
@@ -1351,6 +1398,10 @@ msgid "E184: No such user-defined comman
 msgstr "E184:    : %s"
 
 #, c-format
+msgid "E180: Invalid address type value: %s"
+msgstr "E180:    : %s"
+
+#, c-format
 msgid "E180: Invalid complete value: %s"
 msgstr "E180:   : %s"
 
@@ -1414,6 +1465,9 @@ msgstr "E188:        "
 msgid "E466: :winpos requires two number arguments"
 msgstr "E466:  :winpos     "
 
+msgid "E930: Cannot use :redir inside execute()"
+msgstr "E930:   :redir  execute()"
+
 msgid "Save Redirection"
 msgstr " "
 
@@ -1438,7 +1492,6 @@ msgstr "E189: \"%s\"  ( !,   )"
 msgid "E190: Cannot open \"%s\" for writing"
 msgstr "E190:     \"%s\""
 
-#. set mark
 msgid "E191: Argument must be a letter or forward/backward quote"
 msgstr "E191:    /   "
 
@@ -1476,6 +1529,9 @@ msgstr "E500:     "
 msgid "E195: Cannot open viminfo file for reading"
 msgstr "E195:    viminfo  "
 
+msgid "Untitled"
+msgstr " "
+
 msgid "E196: No digraphs in this version"
 msgstr "E196:      "
 
@@ -1483,7 +1539,6 @@ msgid "E608: Cannot :throw exceptions wi
 msgstr ""
 "E608:    :throw     'Vim'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr " : %s"
@@ -1500,7 +1555,6 @@ msgstr "  : %s"
 msgid "%s, line %ld"
 msgstr "%s,  %ld"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception caught: %s"
 msgstr "  : %s"
@@ -1526,7 +1580,6 @@ msgstr "  "
 msgid "Error"
 msgstr ""
 
-#. if (pending & CSTP_INTERRUPT)
 msgid "Interrupt"
 msgstr ""
 
@@ -1569,15 +1622,12 @@ msgstr "E601:    :try"
 msgid "E603: :catch without :try"
 msgstr "E603: :catch  :try"
 
-#. Give up for a ":catch" after ":finally" and ignore it.
-#. * Just parse.
 msgid "E604: :catch after :finally"
 msgstr "E604: :catch  :finally"
 
 msgid "E606: :finally without :try"
 msgstr "E606: :finally  :try"
 
-#. Give up for a multiple ":finally" and ignore it.
 msgid "E607: multiple :finally"
 msgstr "E607:   :finally"
 
@@ -1622,6 +1672,9 @@ msgstr ""
 msgid "Input Line"
 msgstr " "
 
+msgid "Debug Line"
+msgstr " "
+
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar   "
 
@@ -1667,7 +1720,6 @@ msgstr "Vim:      stdin...\n"
 msgid "Reading from stdin..."
 msgstr "     stdin..."
 
-#. Re-opening the original file failed!
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202:      !"
 
@@ -1760,9 +1812,6 @@ msgid "E510: Can't make backup file (add
 msgstr ""
 "E510:     ( !,   )"
 
-msgid "E460: The resource fork would be lost (add ! to override)"
-msgstr "E460:     ( !,   )"
-
 msgid "E214: Can't find temp file for writing"
 msgstr "E214:      "
 
@@ -1771,13 +1820,13 @@ msgstr ""
 "E213:   ( !    )"
 
 msgid "E166: Can't open linked file for writing"
-msgstr "E166:      "
+msgstr "E166:       "
 
 msgid "E212: Can't open file for writing"
 msgstr "E212:     "
 
-msgid "E667: Fsync failed"
-msgstr "E667:     fsync()"
+msgid "E949: File changed while writing"
+msgstr "E949:     "
 
 msgid "E512: Close failed"
 msgstr "E512:    "
@@ -1875,20 +1924,12 @@ msgstr "1 "
 msgid "%lld characters"
 msgstr ": %lld"
 
-#. Explicit typecast avoids warning on Mac OS X 10.6
-#, c-format
-msgid "%ld characters"
-msgstr ": %ld"
-
 msgid "[noeol]"
 msgstr "[noeol]"
 
 msgid "[Incomplete last line]"
 msgstr "[  ]"
 
-#. 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 ":     !!!"
 
@@ -1972,11 +2013,16 @@ msgstr "----"
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "- : %s <=%d>"
 
-#. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367:  \"%s\"  "
 
+msgid "E936: Cannot delete the current group"
+msgstr "E936:    "
+
+msgid "W19: Deleting augroup that is still in use"
+msgstr "W19:     "
+
 #, c-format
 msgid "E215: Illegal character after *: %s"
 msgstr "E215:    *: %s"
@@ -1989,7 +2035,6 @@ msgstr "E216:  : %s"
 msgid "E216: No such group or event: %s"
 msgstr "E216:    : %s"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Auto-Commands ---"
@@ -2040,8 +2085,11 @@ msgstr ""
 "E351:          'foldmethod'"
 
 #, c-format
-msgid "+--%3ld lines folded "
-msgstr "+--%3ld   "
+msgid "+--%3ld line folded "
+msgid_plural "+--%3ld lines folded "
+msgstr[0] "+--%3ld    "
+msgstr[1] "+--%3ld    "
+msgstr[2] "+--%3ld    "
 
 msgid "E222: Add to read buffer"
 msgstr "E222:    "
@@ -2137,6 +2185,18 @@ msgstr ""
 "E232: \"\"  ,   ,   , "
 "   "
 
+msgid "_Cancel"
+msgstr "_"
+
+msgid "_Save"
+msgstr " _"
+
+msgid "_Open"
+msgstr "_"
+
+msgid "_OK"
+msgstr "_"
+
 msgid ""
 "&Yes\n"
 "&No\n"
@@ -2146,8 +2206,14 @@ msgstr ""
 "&\n"
 "&"
 
+msgid "Yes"
+msgstr ""
+
+msgid "No"
+msgstr ""
+
 msgid "Input _Methods"
-msgstr " "
+msgstr "_ "
 
 msgid "VIM - Search and Replace..."
 msgstr "VIM    ..."
@@ -2156,46 +2222,43 @@ msgid "VIM - Search..."
 msgstr "VIM  ..."
 
 msgid "Find what:"
-msgstr " :"
+msgstr " :"
 
 msgid "Replace with:"
-msgstr "  :"
-
-#. whole word only button
+msgstr " :"
+
 msgid "Match whole word only"
 msgstr "  "
 
-#. match case button
 msgid "Match case"
-msgstr " "
+msgstr " "
 
 msgid "Direction"
 msgstr ""
 
-#. 'Up' and 'Down' buttons
 msgid "Up"
 msgstr ""
 
 msgid "Down"
 msgstr ""
 
-#. 'Find Next' button
 msgid "Find Next"
 msgstr " "
 
-#. 'Replace' button
 msgid "Replace"
-msgstr ""
-
-#. 'Replace All' button
+msgstr ""
+
 msgid "Replace All"
 msgstr " "
 
+msgid "_Close"
+msgstr "_"
+
 msgid "Vim: Received \"die\" request from session manager\n"
 msgstr "Vim:        \n"
 
-msgid "Close"
-msgstr ""
+msgid "Close tab"
+msgstr " "
 
 msgid "New tab"
 msgstr " "
@@ -2242,6 +2305,21 @@ msgstr " &"
 msgid "&Undo"
 msgstr "&"
 
+msgid "Open tab..."
+msgstr " ..."
+
+msgid "Find string (use '\\\\' to find  a '\\')"
+msgstr "  ( '\\\\'   '\\')"
+
+msgid "Find & Replace (use '\\\\' to find  a '\\')"
+msgstr "   ( '\\\\'   '\\')"
+
+msgid "Not Used"
+msgstr " "
+
+msgid "Directory\t*.nothing\n"
+msgstr "\t*.\n"
+
 #, c-format
 msgid "E671: Cannot find window title \"%s\""
 msgstr "E671:    \"%s\"  "
@@ -2253,26 +2331,6 @@ msgstr "E243:   : \"-%s\";   OLE."
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672:      MDI"
 
-msgid "Close tab"
-msgstr " "
-
-msgid "Open tab..."
-msgstr " ..."
-
-msgid "Find string (use '\\\\' to find  a '\\')"
-msgstr "  ( '\\\\'   '\\')"
-
-msgid "Find & Replace (use '\\\\' to find  a '\\')"
-msgstr "   ( '\\\\'   '\\')"
-
-#. 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 " "
-
-msgid "Directory\t*.nothing\n"
-msgstr "\t*.\n"
-
 msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
 msgstr ""
 "Vim E458:      ,    "
@@ -2329,7 +2387,6 @@ msgstr "Vim   "
 msgid "Name:"
 msgstr ":"
 
-#. create toggle button
 msgid "Show size in Points"
 msgstr "   "
 
@@ -2535,6 +2592,7 @@ msgstr "%-5s: %s%*s (: %s)"
 
 msgid ""
 "\n"
+"       a: Find assignments to this symbol\n"
 "       c: Find functions calling this function\n"
 "       d: Find functions called by this function\n"
 "       e: Find this egrep pattern\n"
@@ -2545,6 +2603,7 @@ msgid ""
 "       t: Find this text string\n"
 msgstr ""
 "\n"
+"       a:     \n"
 "       c:     \n"
 "       d:     \n"
 "       e:    egrep\n"
@@ -2559,7 +2618,7 @@ msgid "E625: cannot open cscope database
 msgstr "E625:     cscope: %s"
 
 msgid "E626: cannot get cscope database information"
-msgstr "E626:     cscope  "
+msgstr "E626:     cscope "
 
 msgid "E568: duplicate cscope database not added"
 msgstr "E568:    cscope  "
@@ -2572,7 +2631,6 @@ msgstr "E261:   cscope %s  "
 msgid "cscope connection %s closed"
 msgstr "  cscope %s "
 
-#. should not reach here
 msgid "E570: fatal error in cs_manage_matches"
 msgstr "E570:    cs_manage_matches"
 
@@ -2614,7 +2672,14 @@ msgid ""
 "loaded."
 msgstr ""
 "E815:      ,     "
-"MzScheme"
+"MzScheme."
+
+msgid ""
+"E895: Sorry, this command is disabled, the MzScheme's racket/base module "
+"could not be loaded."
+msgstr ""
+"E895:      ,     "
+"racket/base  MzScheme."
 
 msgid "invalid expression"
 msgstr " "
@@ -2721,102 +2786,12 @@ msgstr "E272:  "
 msgid "E273: unknown longjmp status %d"
 msgstr "E273:   longjmp %d"
 
-msgid "Toggle implementation/definition"
-msgstr "  /"
-
-msgid "Show base class of"
-msgstr "  "
-
-msgid "Show overridden member function"
-msgstr "  "
-
-msgid "Retrieve from file"
-msgstr "  "
-
-msgid "Retrieve from project"
-msgstr "  "
-
-msgid "Retrieve from all projects"
-msgstr "   "
-
-msgid "Retrieve"
-msgstr ""
-
-msgid "Show source of"
-msgstr "  "
-
-msgid "Find symbol"
-msgstr " "
-
-msgid "Browse class"
-msgstr " "
-
-msgid "Show class in hierarchy"
-msgstr "   "
-
-msgid "Show class in restricted hierarchy"
-msgstr "    "
-
-msgid "Xref refers to"
-msgstr "Xref  "
-
-msgid "Xref referred by"
-msgstr "  xref "
-
-msgid "Xref has a"
-msgstr "Xref "
-
-msgid "Xref used by"
-msgstr "Xref "
-
-msgid "Show docu of"
-msgstr " docu"
-
-msgid "Generate docu for"
-msgstr " docu"
-
-msgid ""
-"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in "
-"$PATH).\n"
-msgstr ""
-"   SNiFF+.   ."
-"(sniffemacs      $PATH).\n"
-
-msgid "E274: Sniff: Error during read. Disconnected"
-msgstr "E274: Sniff:    . "
-
-msgid "SNiFF+ is currently "
-msgstr "   SNiFF+ "
-
-msgid "not "
-msgstr " "
-
-msgid "connected"
-msgstr ""
-
-#, c-format
-msgid "E275: Unknown SNiFF+ request: %s"
-msgstr "E275:   SNiFF+: %s"
-
-msgid "E276: Error connecting to SNiFF+"
-msgstr "E276:    SNiFF+"
-
-msgid "E278: SNiFF+ not connected"
-msgstr "E278: SNiFF+  "
-
-msgid "E279: Not a SNiFF+ buffer"
-msgstr "E279:    SNiFF+"
-
-msgid "Sniff: Error during write. Disconnected"
-msgstr "Sniff:    . "
-
 msgid "invalid buffer number"
 msgstr "  "
 
 msgid "not implemented yet"
 msgstr "  "
 
-#. ???
 msgid "cannot set line(s)"
 msgstr "    "
 
@@ -2857,7 +2832,6 @@ msgstr ""
 "     :     "
 " "
 
-#. This should never happen.  Famous last word?
 msgid ""
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
@@ -2898,6 +2872,18 @@ msgstr ""
 "E251:      VIM  . "
 "!"
 
+#, c-format
+msgid "E938: Duplicate key in JSON: \"%s\""
+msgstr "E938:    JSON: \"%s\""
+
+#, c-format
+msgid "E696: Missing comma in List: %s"
+msgstr "E696:    : %s"
+
+#, c-format
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697:    ']': %s"
+
 msgid "Unknown option argument"
 msgstr "  "
 
@@ -2924,13 +2910,13 @@ msgstr "  : %d\n"
 msgid "netbeans is not supported with this GUI\n"
 msgstr "NetBeans      \n"
 
+msgid "'-nb' cannot be used: not enabled at compile time\n"
+msgstr "  '-nb':    \n"
+
 msgid "This Vim was not compiled with the diff feature."
 msgstr ""
 " Vim       "
 
-msgid "'-nb' cannot be used: not enabled at compile time\n"
-msgstr "  '-nb':    \n"
-
 msgid "Attempt to open script file again: \""
 msgstr "    : \""
 
@@ -2943,13 +2929,15 @@ msgstr "    : \""
 msgid "Vim: Error: Failure to start gvim from NetBeans\n"
 msgstr "Vim: :    gvim  NetBeans\n"
 
+msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n"
+msgstr "Vim: :   Vim     Cygwin\n"
+
 msgid "Vim: Warning: Output is not to a terminal\n"
 msgstr "Vim: :     \n"
 
 msgid "Vim: Warning: Input is not from a terminal\n"
 msgstr "Vim: :     \n"
 
-#. just in case..
 msgid "pre-vimrc command line"
 msgstr "    vimrc"
 
@@ -2976,7 +2964,8 @@ msgstr "-t         "
 # \n\t\t..    80 
 msgid "-q [errorfile]  edit file with first error"
 msgstr ""
-"-q [-]     "
+"-q [-]\n"
+"\t\t\t\t        "
 
 msgid ""
 "\n"
@@ -3076,8 +3065,8 @@ msgstr "-N\t\t\t    Vi: 'nocompatible'"
 # \n\t\t..    80 
 msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]"
 msgstr ""
-"-V[N][]\t\t   "
-"[ N] [  ]"
+"-V[N][]\t\t  \n"
+"\t\t\t\t[ N] [  ]"
 
 msgid "-D\t\t\tDebugging mode"
 msgstr "-D\t\t\t "
@@ -3112,6 +3101,12 @@ msgstr "-F\t\t\t   \"\""
 msgid "-T <terminal>\tSet terminal type to <terminal>"
 msgstr "-T <>\t   <>"
 
+msgid "--not-a-term\t\tSkip warning for input/output not being a terminal"
+msgstr "--not-a-term\t\t   /   "
+
+msgid "--ttyfail\t\tExit if input or output is not a terminal"
+msgstr "--ttyfail\t\t  /   "
+
 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
 msgstr "-u <vimrc>\t\t <vimrc>    .vimrc"
 
@@ -3124,12 +3119,14 @@ msgstr "--noplugin\t\t   "
 # \n\t\t..    80 
 msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
 msgstr ""
-"-p[N]\t\t N  ( :     )"
+"-p[N]\t\t N  ( :  \n"
+"\t\t\t\t  )"
 
 # \n\t\t..    80 
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
 msgstr ""
-"-o[N]\t\t N  ( :     )"
+"-o[N]\t\t N  ( :  \n"
+"\t\t\t\t  )"
 
 msgid "-O[N]\t\tLike -o but split vertically"
 msgstr "-O[N]\t\t ,   -o,     "
@@ -3149,13 +3146,14 @@ msgstr "-c <>\t\t <>    "
 # \n\t\t..    80 
 msgid "-S <session>\t\tSource file <session> after loading the first file"
 msgstr ""
-"-S <>\t\t  <>   "
-" "
+"-S <>\t\t  <>  \n"
+"\t\t\t\t "
 
 # \n\t\t..    80 
 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
 msgstr ""
-"-s <>\t      <>"
+"-s <>\t    \n"
+"\t\t\t\t <>"
 
 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
 msgstr "-w <>\t      <>"
@@ -3167,7 +3165,7 @@ msgid "-x\t\t\tEdit encrypted files"
 msgstr "-x\t\t\t  "
 
 msgid "-display <display>\tConnect vim to this particular X-server"
-msgstr "-display <>\t VIM   X-"
+msgstr "-display <>\t Vim   X-"
 
 msgid "-X\t\t\tDo not connect to X server"
 msgstr "-X\t\t\t     X"
@@ -3212,6 +3210,11 @@ msgstr "--startuptime <>\t      <>"
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\t  .viminfo  <viminfo>"
 
+msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
+msgstr ""
+"--clean\t\t   Vi, Vim  ,\n"
+"\t\t\t\t ,  viminfo"
+
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h  --help\t  ( )   "
 
@@ -3240,21 +3243,19 @@ msgstr ""
 "  gvim ( Athena):\n"
 
 msgid "-display <display>\tRun vim on <display>"
-msgstr "-display <>\t VIM   <>"
+msgstr "-display <>\t Vim   <>"
 
 msgid "-iconic\t\tStart vim iconified"
-msgstr "-iconic\t\t VIM   "
+msgstr "-iconic\t\t Vim   "
 
 msgid "-background <color>\tUse <color> for the background (also: -bg)"
-msgstr ""
-"-background <>\t  <>   (: -bg)"
+msgstr "-background <>\t  <>   ( -bg)"
 
 msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
-msgstr ""
-"-foreground <>\t <>    (: -fg)"
+msgstr "-foreground <>\t <>    ( -fg)"
 
 msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
-msgstr "-font <>\t\t <>    (: -fn)"
+msgstr "-font <>\t <>    ( -fn)"
 
 msgid "-boldfont <font>\tUse <font> for bold text"
 msgstr "-boldfont <>\t <>   "
@@ -3263,24 +3264,23 @@ msgid "-italicfont <font>\tUse <font> fo
 msgstr "-italicfont <>\t <>   "
 
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
-msgstr ""
-"-geometry <>\t  <> (: -geom)"
+msgstr "-geometry <>\t  <> ( -geom)"
 
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
-msgstr "-borderwidth <>\t <>  (: -bw)"
+msgstr "-borderwidth <>\t <>  ( -bw)"
 
 msgid "-scrollbarwidth <width>  Use a scrollbar width of <width> (also: -sw)"
 msgstr ""
-"-scrollbarwidth <>     (: -sw)"
+"-scrollbarwidth <>     ( -sw)"
 
 msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
-msgstr "-menuheight <>\t <>  (: -mh)"
+msgstr "-menuheight <>\t <>  ( -mh)"
 
 msgid "-reverse\t\tUse reverse video (also: -rv)"
-msgstr "-reverse\t\t   (: -rv)"
+msgstr "-reverse\t\t   ( -rv)"
 
 msgid "+reverse\t\tDon't use reverse video (also: +rv)"
-msgstr "+reverse\t\t    (: +rv)"
+msgstr "+reverse\t\t    ( +rv)"
 
 msgid "-xrm <resource>\tSet the specified resource"
 msgstr "-xrm <>\t  <>"
@@ -3294,11 +3294,12 @@ msgstr ""
 
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr ""
-"-display <>\t VIM   <> (: --display)"
+"-display <>\t Vim   <> ( --display)"
 
 msgid "--role <role>\tSet a unique role to identify the main window"
 msgstr ""
-"--role <>\t  <>    "
+"--role <>\t  <>\n"
+"\t\t\t\t   "
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\t Vim    GTK"
@@ -3315,11 +3316,9 @@ msgstr "--windowid <HWND>\t Vim    win32"
 msgid "No display"
 msgstr " "
 
-#. Failed to send, abort.
 msgid ": Send failed.\n"
 msgstr ":   .\n"
 
-#. Let vim start normally.
 msgid ": Send failed. Trying to execute locally\n"
 msgstr ":   .   \n"
 
@@ -3340,7 +3339,6 @@ msgstr "  "
 msgid "E283: No marks matching \"%s\""
 msgstr "E283:  ,   \"%s\""
 
-#. Highlight title
 msgid ""
 "\n"
 "mark line  col file/text"
@@ -3348,7 +3346,6 @@ msgstr ""
 "\n"
 "    /"
 
-#. Highlight title
 msgid ""
 "\n"
 " jump line  col file/text"
@@ -3356,7 +3353,6 @@ msgstr ""
 "\n"
 "    /"
 
-#. Highlight title
 msgid ""
 "\n"
 "change line  col text"
@@ -3371,7 +3367,6 @@ msgstr ""
 "\n"
 "#  :\n"
 
-#. Write the jumplist with -'
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
@@ -3444,7 +3439,6 @@ msgstr "E298:     2?"
 msgid "E843: Error while updating swap file crypt"
 msgstr "E843:     -"
 
-#. could not (re)open the swap file, what can we do????
 msgid "E301: Oops, lost the swap file!!!"
 msgstr "E301: ,  -!!!"
 
@@ -3629,7 +3623,6 @@ msgstr ""
 msgid "Using crypt key from swap file for the text file.\n"
 msgstr "    -   .\n"
 
-#. use msg() to start the scrolling properly
 msgid "Swap files found:"
 msgstr " -:"
 
@@ -3800,23 +3793,17 @@ msgstr "  : \""
 msgid "      NEWER than swap file!\n"
 msgstr "                     ,  -!\n"
 
-#. Some of these messages are long to allow translation to
-#. * other languages.
 msgid ""
 "\n"
 "(1) Another program may be editing the same file.  If this is the case,\n"
 "    be careful not to end up with two different instances of the same\n"
-"    file when making changes."
+"    file when making changes.  Quit, or continue with caution.\n"
 msgstr ""
 "\n"
 "(1) ,        .\n"
 "      ,      , \n"
-"               ."
-
-#  , " \n"  ..   .
-msgid "  Quit, or continue with caution.\n"
-msgstr ""
-"         .\n"
+"               .\n"
+"        .\n"
 
 msgid "(2) An edit session for this file crashed.\n"
 msgstr "(2)      .\n"
@@ -3894,7 +3881,6 @@ msgstr "E328:      "
 msgid "E329: No menu \"%s\""
 msgstr "E329:   %s"
 
-#. Only a mnemonic or accelerator is not valid.
 msgid "E792: Empty menu name"
 msgstr "E792:   "
 
@@ -3907,8 +3893,6 @@ msgstr "E331:        "
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332:        "
 
-#. Now we have found the matching menu, and we list the mappings
-#. Highlight title
 msgid ""
 "\n"
 "--- Menus ---"
@@ -3919,6 +3903,10 @@ msgstr ""
 msgid "Tear off this menu"
 msgstr "  "
 
+#, c-format
+msgid "E335: Menu not defined for %s mode"
+msgstr "E335:      %s"
+
 msgid "E333: Menu path must lead to a menu item"
 msgstr "E333:        "
 
@@ -3926,10 +3914,6 @@ msgstr "E333:        "
 msgid "E334: Menu not found: %s"
 msgstr "E334:   : %s"
 
-#, c-format
-msgid "E335: Menu not defined for %s mode"
-msgstr "E335:      %s"
-
 msgid "E336: Menu path must lead to a sub-menu"
 msgstr "E336:       "
 
@@ -4001,7 +3985,6 @@ msgstr " "
 msgid "Open File dialog"
 msgstr " "
 
-#. TODO: non-GUI file selector here
 msgid "E338: Sorry, no file browser in console mode"
 msgstr ""
 "E338: ,         "
@@ -4120,20 +4103,11 @@ msgstr "E346:        \"%s\""
 msgid "E347: No more file \"%s\" found in path"
 msgstr "E347:       \"%s\""
 
-msgid "Cannot connect to Netbeans #2"
-msgstr "   NetBeans #2"
-
-msgid "Cannot connect to Netbeans"
-msgstr "   NetBeans"
-
 #, c-format
 msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
 msgstr ""
 "E668:         NetBeans: \"%s\""
 
-msgid "read from Netbeans socket"
-msgstr "   NetBeans"
-
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
 msgstr "E658:    NetBeans   %ld"
@@ -4155,7 +4129,7 @@ msgid "E774: 'operatorfunc' is empty"
 msgstr "E774:   'operatorfunc'   "
 
 msgid "E775: Eval feature not available"
-msgstr "E775: eval  "
+msgstr "E775: eval "
 
 msgid "Warning: terminal cannot highlight"
 msgstr ":     "
@@ -4176,8 +4150,9 @@ msgstr "E662:    "
 msgid "E663: At end of changelist"
 msgstr "E663:    "
 
-msgid "Type  :quit<Enter>  to exit Vim"
-msgstr " :quit<Enter>     Vim"
+msgid "Type  :qa!  and press <Enter> to abandon all changes and exit Vim"
+msgstr ""
+"  :qa!    <Enter>        Vim"
 
 #, c-format
 msgid "1 line %sed 1 time"
@@ -4209,7 +4184,6 @@ msgstr "    (%ld) "
 msgid "E748: No previously used register"
 msgstr "E748:    "
 
-#. must display the prompt
 msgid "cannot yank; delete anyway"
 msgstr "  ,  "
 
@@ -4224,25 +4198,30 @@ msgstr " : %ld"
 msgid "freeing %ld lines"
 msgstr " : %ld"
 
-msgid "block of 1 line yanked"
-msgstr "    "
-
-msgid "1 line yanked"
-msgstr "  "
-
-#, c-format
-msgid "block of %ld lines yanked"
-msgstr "   : %ld"
-
-#, c-format
-msgid "%ld lines yanked"
-msgstr " : %ld"
+#, c-format
+msgid " into \"%c"
+msgstr "  \"%c"
+
+#, c-format
+msgid "block of 1 line yanked%s"
+msgstr "    %s"
+
+#, c-format
+msgid "1 line yanked%s"
+msgstr "  %s"
+
+#, c-format
+msgid "block of %ld lines yanked%s"
+msgstr "   %ld %s"
+
+#, c-format
+msgid "%ld lines yanked%s"
+msgstr " %ld %s"
 
 #, c-format
 msgid "E353: Nothing in register %s"
 msgstr "E353:   %s  "
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Registers ---"
@@ -4276,35 +4255,32 @@ msgid "%ld Cols; "
 msgstr ": %ld; "
 
 #, c-format
-msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-msgstr " %s%ld  %ld ; %ld  %ld ; %ld  %ld "
+msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes"
+msgstr " %s%ld  %ld ; %lld  %lld ; %lld  %lld "
 
 #, c-format
 msgid ""
-"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
-"Bytes"
-msgstr ""
-" %s%ld  %ld .; %ld  %ld ; %ld  %ld .; %ld  %ld "
-""
-
-#, c-format
-msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-msgstr ". %s  %s; . %ld  %ld; . %ld  %ld;  %ld  %ld"
+"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of "
+"%lld Bytes"
+msgstr ""
+" %s%ld  %ld .; %lld  %lld ; %lld  %lld .; %lld  "
+"%lld "
+
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld"
+msgstr ". %s  %s; . %ld  %ld; . %lld  %lld;  %lld  %lld"
 
 #, c-format
 msgid ""
-"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
-"%ld"
-msgstr ""
-". %s  %s; . %ld  %ld; . %ld  %ld; . %ld  %ld;  %ld "
-" %ld"
-
-#, c-format
-msgid "(+%ld for BOM)"
-msgstr "(+%ld   BOM)"
-
-msgid "%<%f%h%m%=Page %N"
-msgstr "%<%f%h%m%=. %N"
+"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte "
+"%lld of %lld"
+msgstr ""
+". %s  %s; . %ld  %ld; . %lld  %lld; . %lld  %lld;  "
+"%lld  %lld"
+
+#, c-format
+msgid "(+%lld for BOM)"
+msgstr "(+%lld   BOM)"
 
 msgid "Thanks for flying Vim"
 msgstr "   Vim"
@@ -4331,6 +4307,10 @@ msgstr "E522:    termcap"
 msgid "E539: Illegal character <%s>"
 msgstr "E539:   <%s>"
 
+#, c-format
+msgid "For option %s"
+msgstr "  %s"
+
 msgid "E529: Cannot set 'term' to empty string"
 msgstr "E529:   'term'     "
 
@@ -4352,6 +4332,10 @@ msgstr "E835:    'fillchars'"
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617:        GTK+ 2"
 
+#, c-format
+msgid "E950: Cannot convert between %s and %s"
+msgstr "E950:   %s  %s"
+
 msgid "E524: Missing colon"
 msgstr "E524:  "
 
@@ -4411,6 +4395,9 @@ msgstr "E541:   "
 msgid "E542: unbalanced groups"
 msgstr "E542:  "
 
+msgid "E946: Cannot make a terminal with running job modifiable"
+msgstr "E946:       "
+
 msgid "E590: A preview window already exists"
 msgstr "E590:    "
 
@@ -4418,6 +4405,9 @@ msgid "W17: Arabic requires UTF-8, do ':
 msgstr ""
 "W17:    UTF-8,  ':set encoding=utf-8'"
 
+msgid "E954: 24-bit colors are not supported on this environment"
+msgstr "E954: 24       "
+
 #, c-format
 msgid "E593: Need at least %d lines"
 msgstr "E593:    %d "
@@ -4430,9 +4420,6 @@ msgstr "E594:    %d "
 msgid "E355: Unknown option: %s"
 msgstr "E355:  : %s"
 
-#. There's another character after zeros or the string
-#. * is empty.  In both cases, we are trying to set a
-#. * num option using a string.
 #, c-format
 msgid "E521: Number required: &%s = '%s'"
 msgstr "E521:   : &%s = '%s'"
@@ -4456,7 +4443,7 @@ msgid ""
 "--- Local option values ---"
 msgstr ""
 "\n"
-"---    ---"
+"---    ---"
 
 msgid ""
 "\n"
@@ -4505,7 +4492,6 @@ msgstr "   ?!\n"
 msgid "mch_get_shellsize: not a console??\n"
 msgstr "mch_get_shellsize:   ??\n"
 
-#. if Vim opened a window: Executing a shell may cause crashes
 msgid "E360: Cannot execute shell with -f option"
 msgstr "E360:      -f"
 
@@ -4527,9 +4513,6 @@ msgstr " /"
 msgid "Message"
 msgstr ""
 
-msgid "'columns' is not 80, cannot execute external commands"
-msgstr "  'columns'   80,    "
-
 msgid "E237: Printer selection failed"
 msgstr "E237:    "
 
@@ -4554,6 +4537,10 @@ msgid "E244: Illegal charset name \"%s\"
 msgstr "E244:    \"%s\"    \"%s\""
 
 #, c-format
+msgid "E244: Illegal quality name \"%s\" in font name \"%s\""
+msgstr "E244:    \"%s\"    \"%s\""
+
+#, c-format
 msgid "E245: Illegal char '%c' in font name \"%s\""
 msgstr "E245:   '%c'    \"%s\""
 
@@ -4588,25 +4575,13 @@ msgstr ""
 "\n"
 "     "
 
-msgid "Could not set security context "
-msgstr "    "
-
-msgid " for "
-msgstr "  "
-
-#. no enough size OR unexpected error
-msgid "Could not get security context "
-msgstr "    "
-
-msgid ". Removing it!\n"
-msgstr ".  !\n"
-
-msgid ""
-"\n"
-"Cannot execute shell "
-msgstr ""
-"\n"
-"   "
+#, c-format
+msgid "Could not set security context %s for %s"
+msgstr "    %s   %s"
+
+#, c-format
+msgid "Could not get security context %s for %s. Removing it!"
+msgstr "    %s  %s.  !"
 
 msgid ""
 "\n"
@@ -4638,6 +4613,13 @@ msgstr ""
 
 msgid ""
 "\n"
+"Cannot execute shell "
+msgstr ""
+"\n"
+"   "
+
+msgid ""
+"\n"
 "Command terminated\n"
 msgstr ""
 "\n"
@@ -4679,10 +4661,6 @@ msgid "Could not fix up function pointer
 msgstr "     DLL!"
 
 #, c-format
-msgid "shell returned %d"
-msgstr "     %d"
-
-#, c-format
 msgid "Vim: Caught %s event\n"
 msgstr "Vim:   %s\n"
 
@@ -4711,6 +4689,13 @@ msgid "Vim Warning"
 msgstr " Vim"
 
 #, c-format
+msgid "shell returned %d"
+msgstr "     %d"
+
+msgid "E926: Current location list was changed"
+msgstr "E926:    "
+
+#, c-format
 msgid "E372: Too many %%%c in format string"
 msgstr "E372:      %%%c"
 
@@ -4742,6 +4727,12 @@ msgstr "E379:        "
 msgid "E553: No more items"
 msgstr "E553:   "
 
+msgid "E924: Current window was closed"
+msgstr "E924:    "
+
+msgid "E925: Current quickfix was changed"
+msgstr "E925:     "
+
 #, c-format
 msgid "(%d of %d)%s%s: "
 msgstr "(%d  %d)%s%s: "
@@ -4749,19 +4740,18 @@ msgstr "(%d  %d)%s%s: "
 msgid " (line deleted)"
 msgstr " ( )"
 
+#, c-format
+msgid "%serror list %d of %d; %d errors "
+msgstr "%s  %d  %d; %d "
+
 msgid "E380: At bottom of quickfix stack"
 msgstr "E380:    "
 
 msgid "E381: At top of quickfix stack"
 msgstr "E381:    "
 
-#, c-format
-msgid "error list %d of %d; %d errors"
-msgstr "  %d  %d; %d "
-
-msgid "E382: Cannot write, 'buftype' option is set"
-msgstr ""
-"E382:  ,   'buftype'    "
+msgid "No entries"
+msgstr " "
 
 msgid "Error file"
 msgstr " "
@@ -4787,6 +4777,12 @@ msgstr "E369:    %s%%[]"
 msgid "E769: Missing ] after %s["
 msgstr "E769:  ]  %s["
 
+msgid "E944: Reverse range in character class"
+msgstr "E944:     "
+
+msgid "E945: Range too large in character class"
+msgstr "E945:      "
+
 #, c-format
 msgid "E53: Unmatched %s%%("
 msgstr "E53:    %s%%("
@@ -4813,6 +4809,9 @@ msgstr "E69:  ]  %s%%["
 msgid "E70: Empty %s%%[]"
 msgstr "E70:  %s%%[]"
 
+msgid "E65: Illegal back reference"
+msgstr "E65:   "
+
 msgid "E339: Pattern too long"
 msgstr "E339:   "
 
@@ -4849,9 +4848,6 @@ msgstr "E63:   \\_"
 msgid "E64: %s%c follows nothing"
 msgstr "E64: %s%c     "
 
-msgid "E65: Illegal back reference"
-msgstr "E65:   "
-
 msgid "E68: Invalid character after \\z"
 msgstr "E68:    \\z"
 
@@ -4881,6 +4877,9 @@ msgstr ""
 "E864:  \\%#=    0, 1  2.   "
 " "
 
+msgid "Switching to backtracking RE engine for pattern: "
+msgstr "   .   : "
+
 msgid "E865: (NFA) Regexp end encountered prematurely"
 msgstr "E865: ()    "
 
@@ -4896,11 +4895,13 @@ msgstr "E877: (.  )   : %ld"
 msgid "E867: (NFA) Unknown operator '\\z%c'"
 msgstr "E867: ()   '\\z%c'"
 
+msgid "E951: \\% value too large"
+msgstr "E951: \\%   "
+
 #, c-format
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: ()   '\\%%%c'"
 
-#. should never happen
 msgid "E868: Error building NFA with equivalence class!"
 msgstr "E868:       !"
 
@@ -4911,11 +4912,9 @@ msgstr "E869: ()   '\\@%c'"
 msgid "E870: (NFA regexp) Error reading repetition limits"
 msgstr "E870: (.  )     "
 
-#. Can't have a multi follow a multi.
 msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
 msgstr "E871: (.  )      !"
 
-#. Too many `('
 msgid "E872: (NFA regexp) Too many '('"
 msgstr "E872: (.  )   '('"
 
@@ -4980,9 +4979,6 @@ msgstr " "
 msgid " Arabic"
 msgstr " "
 
-msgid " (lang)"
-msgstr " ()"
-
 msgid " (paste)"
 msgstr " ()"
 
@@ -5025,7 +5021,6 @@ msgstr "E386:  ';'   '?'  '/'"
 msgid " (includes previously listed match)"
 msgstr " (   )"
 
-#. cursor at status line
 msgid "--- Included files "
 msgstr "---   "
 
@@ -5077,8 +5072,49 @@ msgstr ""
 "#  %s :\n"
 "~"
 
-msgid "E759: Format error in spell file"
-msgstr "E759:     "
+msgid "E756: Spell checking is not enabled"
+msgstr "E756:   "
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
+msgstr ""
+":     \"%s_%s.spl\"  \"%s_ascii.spl"
+"\""
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr ""
+":     \"%s.%s.spl\"  \"%s.ascii.spl"
+"\""
+
+msgid "E797: SpellFileMissing autocommand deleted buffer"
+msgstr "E797:      SpellFileMissing"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr ":  %s  "
+
+msgid "Sorry, no suggestions"
+msgstr ",  "
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr ",  %ld "
+
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr " \"%.*s\" :"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752:    "
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753:  : %s"
 
 msgid "E758: Truncated spell file"
 msgstr "E758:   "
@@ -5100,21 +5136,6 @@ msgstr "E762:   FOL, LOW  UPP   "
 msgid "Compressing word tree..."
 msgstr "  ..."
 
-msgid "E756: Spell checking is not enabled"
-msgstr "E756:   "
-
-#, c-format
-msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
-msgstr ""
-":     \"%s_%s.spl\"  \"%s_ascii.spl"
-"\""
-
-#, c-format
-msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-msgstr ""
-":     \"%s.%s.spl\"  \"%s.ascii.spl"
-"\""
-
 #, c-format
 msgid "Reading spell file \"%s\""
 msgstr "   \"%s\""
@@ -5132,8 +5153,24 @@ msgid "E770: Unsupported section in spel
 msgstr "E770:     "
 
 #, c-format
-msgid "Warning: region %s not supported"
-msgstr ":  %s  "
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778:      .sug: %s"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779:   .sug,  : %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780:  .sug     Vim: %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781:  .sug    .spl: %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782:     .sug: %s"
 
 #, c-format
 msgid "Reading affix file %s ..."
@@ -5281,8 +5318,8 @@ msgid "E760: No word count in %s"
 msgstr "E760:      %s"
 
 #, c-format
-msgid "line %6d, word %6d - %s"
-msgstr " %6d,  %6d  %s"
+msgid "line %6d, word %6ld - %s"
+msgstr " %6d,  %6ld  %s"
 
 #, c-format
 msgid "Duplicate word in %s line %d: %s"
@@ -5346,10 +5383,6 @@ msgstr " %d  %d ;  %d (%d%%)"
 msgid "Reading back spell file..."
 msgstr "   ..."
 
-#.
-#. * Go through the trie of good words, soundfold each word and add it to
-#. * the soundfold trie.
-#.
 msgid "Performing soundfolding..."
 msgstr "  ..."
 
@@ -5372,8 +5405,9 @@ msgstr "    : %d "
 msgid "E751: Output file name must not have region name"
 msgstr "E751:        "
 
-msgid "E754: Only up to 8 regions supported"
-msgstr "E754:    8- "
+#, c-format
+msgid "E754: Only up to %ld regions supported"
+msgstr "E754:    %ld "
 
 #, c-format
 msgid "E755: Invalid region in %s"
@@ -5404,62 +5438,40 @@ msgstr " '%.*s'   %s"
 msgid "E763: Word characters differ between spell files"
 msgstr "E763:      "
 
-msgid "Sorry, no suggestions"
-msgstr ",  "
-
-#, c-format
-msgid "Sorry, only %ld suggestions"
-msgstr ",  %ld "
-
-#. for when 'cmdheight' > 1
-#. avoid more prompt
-#, c-format
-msgid "Change \"%.*s\" to:"
-msgstr " \"%.*s\" :"
-
-#, c-format
-msgid " < \"%.*s\""
-msgstr " < \"%.*s\""
-
-msgid "E752: No previous spell replacement"
-msgstr "E752:    "
-
-#, c-format
-msgid "E753: Not found: %s"
-msgstr "E753:  : %s"
-
-#, c-format
-msgid "E778: This does not look like a .sug file: %s"
-msgstr "E778:      .sug: %s"
-
-#, c-format
-msgid "E779: Old .sug file, needs to be updated: %s"
-msgstr "E779:   .sug,  : %s"
-
-#, c-format
-msgid "E780: .sug file is for newer version of Vim: %s"
-msgstr "E780:  .sug     Vim: %s"
-
-#, c-format
-msgid "E781: .sug file doesn't match .spl file: %s"
-msgstr "E781:  .sug    .spl: %s"
-
-#, c-format
-msgid "E782: error while reading .sug file: %s"
-msgstr "E782:     .sug: %s"
-
-#. This should have been checked when generating the .spl
-#. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783:     MAP"
 
 msgid "No Syntax items defined for this buffer"
 msgstr "      "
 
+msgid "syntax conceal on"
+msgstr "  "
+
+msgid "syntax conceal off"
+msgstr "  "
+
 #, c-format
 msgid "E390: Illegal argument: %s"
 msgstr "E390:  : %s"
 
+msgid "syntax case ignore"
+msgstr "  "
+
+msgid "syntax case match"
+msgstr "  "
+
+msgid "syntax spell toplevel"
+msgstr "    "
+
+msgid "syntax spell notoplevel"
+msgstr "     "
+
+msgid "syntax spell default"
+msgstr "    "
+
+msgid "syntax iskeyword "
+msgstr "  "
+
 #, c-format
 msgid "E391: No such syntax cluster: %s"
 msgstr "E391:   %s  "
@@ -5537,6 +5549,10 @@ msgid "E789: Missing ']': %s"
 msgstr "E789:  ']': %s"
 
 #, c-format
+msgid "E890: trailing char after ']': %s]%s"
+msgstr "E890:    ']': %s]%s"
+
+#, c-format
 msgid "E398: Missing '=': %s"
 msgstr "E398:  '=': %s"
 
@@ -5688,7 +5704,6 @@ msgstr "E428:        "
 msgid "File \"%s\" does not exist"
 msgstr " \"%s\"  "
 
-#. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
 msgstr " %d  %d%s"
@@ -5703,7 +5718,6 @@ msgstr "       !"
 msgid "E429: File \"%s\" does not exist"
 msgstr "E429:  \"%s\"  "
 
-#. Highlight title
 msgid ""
 "\n"
 "  # TO tag         FROM line  in file/text"
@@ -5734,7 +5748,6 @@ msgstr "  %ld"
 msgid "E432: Tags file not sorted: %s"
 msgstr "E432:    : %s"
 
-#. never opened any tags file
 msgid "E433: No tags file"
 msgstr "E433:    "
 
@@ -5770,7 +5783,6 @@ msgstr "E436:  termcap   \"%s\""
 msgid "E437: terminal capability \"cm\" required"
 msgstr "E437:    \"cm\""
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Terminal keys ---"
@@ -5778,6 +5790,35 @@ msgstr ""
 "\n"
 "---   ---"
 
+msgid "Cannot open $VIMRUNTIME/rgb.txt"
+msgstr "  $VIMRUNTIME/rgb.txt"
+
+#, c-format
+msgid "Kill job in \"%s\"?"
+msgstr "   \"%s\"?"
+
+msgid "Terminal"
+msgstr ""
+
+msgid "Terminal-finished"
+msgstr "-"
+
+msgid "active"
+msgstr ""
+
+msgid "running"
+msgstr ""
+
+msgid "finished"
+msgstr ""
+
+#, c-format
+msgid "E953: File exists: %s"
+msgstr "E953:  : %s"
+
+msgid "E955: Not a terminal buffer"
+msgstr "E955:    "
+
 msgid "new shell started\n"
 msgstr "  \n"
 
@@ -5787,12 +5828,9 @@ msgstr "Vim:   , ...\n"
 msgid "Used CUT_BUFFER0 instead of empty selection"
 msgstr "    CUT_BUFFER0"
 
-#. This happens when the FileChangedRO autocommand changes the
-#. * file in a way it becomes shorter.
 msgid "E881: Line count changed unexpectedly"
 msgstr "E881:    "
 
-#. must display the prompt
 msgid "No undo possible; continue anyway"
 msgstr " ;  "
 
@@ -5915,7 +5953,7 @@ msgstr "   .                "
 
 #, c-format
 msgid "%ld seconds ago"
-msgstr "%ld  "
+msgstr "%ld "
 
 msgid "E790: undojoin is not allowed after undo"
 msgstr "E790:      "
@@ -5926,13 +5964,133 @@ msgstr "E439:   "
 msgid "E440: undo line missing"
 msgstr "E440:   "
 
-#. Only MS VC 4.1 and earlier can do Win32s
-msgid ""
-"\n"
-"MS-Windows 16/32-bit GUI version"
-msgstr ""
-"\n"
-"     MS-Windows 16/32 "
+#, c-format
+msgid "E122: Function %s already exists, add ! to replace it"
+msgstr "E122:  %s  .  !,   ."
+
+msgid "E717: Dictionary entry already exists"
+msgstr "E717:     "
+
+msgid "E718: Funcref required"
+msgstr "E718:    "
+
+#, c-format
+msgid "E130: Unknown function: %s"
+msgstr "E130:  : %s"
+
+#, c-format
+msgid "E125: Illegal argument: %s"
+msgstr "E125:  : %s"
+
+#, c-format
+msgid "E853: Duplicate argument name: %s"
+msgstr "E853:   : %s"
+
+#, c-format
+msgid "E740: Too many arguments for function %s"
+msgstr "E740:      %s"
+
+#, c-format
+msgid "E116: Invalid arguments for function %s"
+msgstr "E116:    %s  "
+
+msgid "E132: Function call depth is higher than 'maxfuncdepth'"
+msgstr "E132:    ,   'maxfuncdepth'"
+
+#, c-format
+msgid "calling %s"
+msgstr " %s"
+
+#, c-format
+msgid "%s aborted"
+msgstr "%s "
+
+#, c-format
+msgid "%s returning #%ld"
+msgstr "%s  #%ld"
+
+#, c-format
+msgid "%s returning %s"
+msgstr "%s  %s"
+
+msgid "E699: Too many arguments"
+msgstr "E699:   "
+
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117:  : %s"
+
+#, c-format
+msgid "E933: Function was deleted: %s"
+msgstr "E933:  : %s"
+
+#, c-format
+msgid "E119: Not enough arguments for function: %s"
+msgstr "E119:     %s"
+
+#, c-format
+msgid "E120: Using <SID> not in a script context: %s"
+msgstr "E120: <SID>   : %s"
+
+#, c-format
+msgid "E725: Calling dict function without Dictionary: %s"
+msgstr "E725:   dict  : %s"
+
+msgid "E129: Function name required"
+msgstr "E129:   "
+
+#, c-format
+msgid "E128: Function name must start with a capital or \"s:\": %s"
+msgstr "E128:         \"s:\": %s"
+
+#, c-format
+msgid "E884: Function name cannot contain a colon: %s"
+msgstr "E884:      : %s"
+
+#, c-format
+msgid "E123: Undefined function: %s"
+msgstr "E123:  : %s"
+
+#, c-format
+msgid "E124: Missing '(': %s"
+msgstr "E124:  '(': %s"
+
+msgid "E862: Cannot use g: here"
+msgstr "E862:    g:"
+
+#, c-format
+msgid "E932: Closure function should not be at top level: %s"
+msgstr "E932: -      : %s"
+
+msgid "E126: Missing :endfunction"
+msgstr "E126:   :endfunction"
+
+#, c-format
+msgid "W22: Text found after :endfunction: %s"
+msgstr "W22:   :endfunction: %s"
+
+#, c-format
+msgid "E707: Function name conflicts with variable: %s"
+msgstr "E707:     : %s"
+
+#, c-format
+msgid "E127: Cannot redefine function %s: It is in use"
+msgstr "E127:    %s,  "
+
+#, c-format
+msgid "E746: Function name does not match script file name: %s"
+msgstr "E746:       : %s"
+
+#, c-format
+msgid "E131: Cannot delete function %s: It is in use"
+msgstr "E131:    %s,  "
+
+msgid "E133: :return not inside a function"
+msgstr "E133:  :return  "
+
+#, c-format
+msgid "E107: Missing parentheses: %s"
+msgstr "E107:  : %s"
 
 msgid ""
 "\n"
@@ -5948,9 +6106,6 @@ msgstr ""
 "\n"
 "     MS-Windows 32 "
 
-msgid " in Win32s mode"
-msgstr "   Win32"
-
 msgid " with OLE support"
 msgstr "   OLE"
 
@@ -5970,45 +6125,17 @@ msgstr ""
 
 msgid ""
 "\n"
-"MS-Windows 16-bit version"
-msgstr ""
-"\n"
-"  MS-Windows 16 "
-
-msgid ""
-"\n"
-"32-bit MS-DOS version"
-msgstr ""
-"\n"
-"  MS-DOS 32 "
-
-msgid ""
-"\n"
-"16-bit MS-DOS version"
-msgstr ""
-"\n"
-"  MS-DOS 16 "
+"macOS version"
+msgstr ""
+"\n"
+"  macOS"
 
 msgid ""
 "\n"
-"MacOS X (unix) version"
-msgstr ""
-"\n"
-"  MacOS X (unix)"
-
-msgid ""
-"\n"
-"MacOS X version"
-msgstr ""
-"\n"
-"  MacOS X"
-
-msgid ""
-"\n"
-"MacOS version"
-msgstr ""
-"\n"
-"  MacOS"
+"macOS version w/o darwin feat."
+msgstr ""
+"\n"
+"  macOS  darwin"
 
 msgid ""
 "\n"
@@ -6039,7 +6166,7 @@ msgid ""
 "Compiled "
 msgstr ""
 "\n"
-" "
+": "
 
 msgid "by "
 msgstr " "
@@ -6077,11 +6204,14 @@ msgid ""
 "Tiny version "
 msgstr ""
 "\n"
-" \"\" "
+"  "
 
 msgid "without GUI."
 msgstr "  ."
 
+msgid "with GTK3 GUI."
+msgstr "   GTK3."
+
 msgid "with GTK2-GNOME GUI."
 msgstr "   GTK2-GNOME."
 
@@ -6109,11 +6239,8 @@ msgstr "   Carbon."
 msgid "with Cocoa GUI."
 msgstr "   Cocoa."
 
-msgid "with (classic) GUI."
-msgstr "   ."
-
 msgid "  Features included (+) or not (-):\n"
-msgstr "   (+)   (-) :\n"
+msgstr "  (+)  (-) :\n"
 
 msgid "   system vimrc file: \""
 msgstr "              vimrc: \""
@@ -6145,6 +6272,9 @@ msgstr "    gvimrc: \""
 msgid "3rd user gvimrc file: \""
 msgstr "    gvimrc: \""
 
+msgid "       defaults file: \""
+msgstr "                       : \""
+
 msgid "    system menu file: \""
 msgstr "               : \""
 
@@ -6176,7 +6306,7 @@ msgid "by Bram Moolenaar et al."
 msgstr "   "
 
 msgid "Vim is open source and freely distributable"
-msgstr "Vim       "
+msgstr "Vim       "
 
 msgid "Help poor children in Uganda!"
 msgstr "      !"
@@ -6191,7 +6321,7 @@ msgid "type  :help<Enter>  or  <F1>  for
 msgstr " :help<Enter>  <F1>             "
 
 msgid "type  :help version8<Enter>   for version info"
-msgstr " :help version8<Enter>         "
+msgstr " :help version8<Enter>            "
 
 msgid "Running in Vi compatible mode"
 msgstr "  Vi- "
@@ -6235,12 +6365,6 @@ msgstr " :help register<Enter>          "
 msgid "menu  Help->Sponsor/Register  for information    "
 msgstr " ->/          "
 
-msgid "WARNING: Windows 95/98/ME detected"
-msgstr ":  Windows 95/98/ME"
-
-msgid "type  :help windows95<Enter>  for info on this"
-msgstr " :help windows95<Enter>         "
-
 msgid "Already only one window"
 msgstr "    "
 
@@ -6272,10 +6396,26 @@ msgstr "E446:      "
 msgid "E447: Can't find file \"%s\" in path"
 msgstr "E447:  \"%s\"     "
 
+#, c-format
+msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)"
+msgstr "E799:  ID: %ld (     1)"
+
+#, c-format
+msgid "E801: ID already taken: %ld"
+msgstr "E801: ID  : %ld"
+
 msgid "List or number required"
 msgstr "   "
 
 #, c-format
+msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)"
+msgstr "E802:  ID: %ld (     1)"
+
+#, c-format
+msgid "E803: ID not found: %ld"
+msgstr "E803: ID  : %ld"
+
+#, c-format
 msgid "E370: Could not load library %s"
 msgstr "E370:    %s"
 
@@ -6299,7 +6439,6 @@ msgstr "   Vim"
 msgid "Edit with &Vim"
 msgstr "&   Vim"
 
-#. Now concatenate
 msgid "Edit with existing Vim - "
 msgstr "   Vim  "
 
@@ -6318,10 +6457,6 @@ msgstr "  !"
 msgid "--No lines in buffer--"
 msgstr "--     --"
 
-#.
-#. * 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:   "
 
@@ -6378,6 +6513,10 @@ msgstr "E236:  \"%s\"   "
 msgid "E473: Internal error"
 msgstr "E473:  "
 
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E685:  : %s"
+
 msgid "Interrupted"
 msgstr ""
 
@@ -6392,6 +6531,14 @@ msgid "E475: Invalid argument: %s"
 msgstr "E475:  : %s"
 
 #, c-format
+msgid "E475: Invalid value for argument %s"
+msgstr "E475:   : %s"
+
+#, c-format
+msgid "E475: Invalid value for argument %s: %s"
+msgstr "E475:    %s: %s"
+
+#, c-format
 msgid "E15: Invalid expression: %s"
 msgstr "E15:  : %s"
 
@@ -6409,6 +6556,9 @@ msgstr "E17: \"%s\"  "
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364:    \"%s()\"  "
 
+msgid "E667: Fsync failed"
+msgstr "E667:     fsync()"
+
 #, c-format
 msgid "E448: Could not load library function %s"
 msgstr "E448:     %s  "
@@ -6505,12 +6655,6 @@ msgstr "E484:    %s"
 msgid "E485: Can't read file %s"
 msgstr "E485:    %s"
 
-msgid "E37: No write since last change (add ! to override)"
-msgstr "E37:    ( !,   )"
-
-msgid "E37: No write since last change"
-msgstr "E37:   "
-
 msgid "E38: Null argument"
 msgstr "E38:  "
 
@@ -6563,6 +6707,31 @@ msgstr "E46:       \"%s\""
 msgid "E794: Cannot set variable in the sandbox: \"%s\""
 msgstr "E794:     : \"%s\""
 
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713:      "
+
+msgid "E715: Dictionary required"
+msgstr "E715:  "
+
+#, c-format
+msgid "E684: list index out of range: %ld"
+msgstr "E684:     : %ld"
+
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118:      %s"
+
+#, c-format
+msgid "E716: Key not present in Dictionary: %s"
+msgstr "E716:    : %s"
+
+msgid "E714: List required"
+msgstr "E714:  "
+
+#, c-format
+msgid "E712: Argument of %s must be a List or Dictionary"
+msgstr "E712:  %s     "
+
 msgid "E47: Error while reading errorfile"
 msgstr "E47:     "
 
@@ -6622,8 +6791,8 @@ msgstr ""
 msgid "E80: Error while writing"
 msgstr "E80:   "
 
-msgid "Zero count"
-msgstr "  "
+msgid "E939: Positive count required"
+msgstr "E939:   "
 
 msgid "E81: Using <SID> not in a script context"
 msgstr "E81:  <SID>   "
@@ -6637,16 +6806,16 @@ msgstr "E463:    "
 msgid "E744: NetBeans does not allow changes in read-only files"
 msgstr "E744: NetBeans        "
 
-#, c-format
-msgid "E685: Internal error: %s"
-msgstr "E685:  : %s"
-
 msgid "E363: pattern uses more memory than 'maxmempattern'"
 msgstr "E363:      'maxmempattern'"
 
 msgid "E749: empty buffer"
 msgstr "E749:  "
 
+#, c-format
+msgid "E86: Buffer %ld does not exist"
+msgstr "E86:  %ld  "
+
 msgid "E682: Invalid search pattern or delimiter"
 msgstr "E682:     "
 
@@ -6660,6 +6829,13 @@ msgstr "E764:  '%s'  "
 msgid "E850: Invalid register name"
 msgstr "E850:   "
 
+#, c-format
+msgid "E919: Directory not found in '%s': \"%s\""
+msgstr "E919:     '%s': \"%s\""
+
+msgid "E952: Autocommand caused recursive behavior"
+msgstr "E952:    "
+
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "     "
 
@@ -6767,7 +6943,6 @@ msgstr "       "
 msgid "list index out of range"
 msgstr "    "
 
-#. No more suitable format specifications in python-2.3
 #, c-format
 msgid "internal error: failed to get vim list item %d"
 msgstr " :     VIM- %d"
@@ -6814,9 +6989,6 @@ msgstr "    %s"
 msgid "function %s does not exist"
 msgstr " %s  "
 
-msgid "function constructor does not accept keyword arguments"
-msgstr "       "
-
 #, c-format
 msgid "failed to run function %s"
 msgstr "   %s"
@@ -6905,6 +7077,10 @@ msgid "unable to convert %s to vim dicti
 msgstr "  %s   VIM"
 
 #, c-format
+msgid "unable to convert %s to vim list"
+msgstr "  %s   VIM"
+
+#, c-format
 msgid "unable to convert %s to vim structure"
 msgstr "  %s   VIM"
 
@@ -6932,3 +7108,4 @@ msgstr ""
 "   : sys.path   \n"
 "  vim.VIM_SPECIAL_PATH  sys.path"
 
+
--- a/src/po/ru.po
+++ b/src/po/ru.po
@@ -3,20 +3,22 @@
 # Об условиях использования читайте в редакторе Vim ":help uganda"
 #
 # vassily "vr" ragosin <vrr@users.sourceforge.net>, 2004
-# Sergey Alyoshin <alyoshin.s@gmail.com>, 2013-2014
+# Sergey Alyoshin <alyoshin.s@gmail.com>, 2013-2014, 2016, 2018
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: vim_ru\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-10-10 11:52+0400\n"
-"PO-Revision-Date: 2014-10-10 12:00+0400\n"
+"POT-Creation-Date: 2018-04-28 21:50+0300\n"
+"PO-Revision-Date: 2018-04-28 21:51+0300\n"
 "Last-Translator: Sergey Alyoshin <alyoshin.s@gmail.com>\n"
 "Language-Team: \n"
 "Language: Russian\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 msgid "E831: bf_key_init() called with empty password"
 msgstr "E831: bf_key_init() вызван с пустым паролем"
@@ -49,6 +51,12 @@ msgstr "E82: Невозможно выделить память даже для одного буфера, выход..."
 msgid "E83: Cannot allocate buffer, using other one..."
 msgstr "E83: Невозможно выделить память для буфера, используем другой буфер..."
 
+msgid "E931: Buffer cannot be registered"
+msgstr "E931: Невозможно зарегистрировать буфер"
+
+msgid "E937: Attempt to delete a buffer that is in use"
+msgstr "E937: Попытка удалить используемый буфер"
+
 msgid "E515: No buffers were unloaded"
 msgstr "E515: Ни один буфер не был выгружен из памяти"
 
@@ -85,14 +93,9 @@ msgstr "E90: Невозможно выгрузить из памяти последний буфер"
 msgid "E84: No modified buffer found"
 msgstr "E84: Изменённых буферов не обнаружено"
 
-#. back where we started, didn't find anything.
 msgid "E85: There is no listed buffer"
 msgstr "E85: Буферы в списке отсутствуют"
 
-#, c-format
-msgid "E86: Buffer %ld does not exist"
-msgstr "E86: Буфер %ld не существует"
-
 msgid "E87: Cannot go beyond last buffer"
 msgstr "E87: Это последний буфер"
 
@@ -104,6 +107,18 @@ msgid "E89: No write since last change f
 msgstr ""
 "E89: Изменения в буфере %ld не сохранены (добавьте !, чтобы обойти проверку)"
 
+msgid "E948: Job still running (add ! to end the job)"
+msgstr "E948: Задание ещё выполняется (добавьте !, чтобы завершить)"
+
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37: Изменения не сохранены (добавьте !, чтобы обойти проверку)"
+
+msgid "E948: Job still running"
+msgstr "E948: Задание ещё выполняется"
+
+msgid "E37: No write since last change"
+msgstr "E37: Изменения не сохранены"
+
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: Предупреждение: переполнение списка имён файлов"
 
@@ -159,7 +174,6 @@ msgstr "стр. %ld из %ld --%d%%-- кол. "
 msgid "[No Name]"
 msgstr "[Нет имени]"
 
-#. must be a help buffer
 msgid "help"
 msgstr "справка"
 
@@ -185,6 +199,10 @@ msgstr ""
 "\n"
 "# Список буферов:\n"
 
+msgid "E382: Cannot write, 'buftype' option is set"
+msgstr ""
+"E382: Запись невозможна, значение опции 'buftype' не является пустой строкой"
+
 msgid "[Scratch]"
 msgstr "[Временный]"
 
@@ -203,9 +221,64 @@ msgstr "Значки для %s:"
 msgid "    line=%ld  id=%d  name=%s"
 msgstr "    строка=%ld  id=%d  имя=%s"
 
+msgid "E902: Cannot connect to port"
+msgstr "E902: Невозможно соединиться с портом"
+
+msgid "E901: gethostbyname() in channel_open()"
+msgstr "E901: gethostbyname() в channel_open()"
+
+msgid "E898: socket() in channel_open()"
+msgstr "E898: socket() в channel_open()"
+
+msgid "E903: received command with non-string argument"
+msgstr "E903: Получена команда с не строковым параметром"
+
+msgid "E904: last argument for expr/call must be a number"
+msgstr "E904: Последний параметр для выражения или вызова должен быть числом"
+
+msgid "E904: third argument for call must be a list"
+msgstr "E904: Третий параметр для вызова должен быть списком"
+
+#, c-format
+msgid "E905: received unknown command: %s"
+msgstr "E905: Получена неизвестная команда %s"
+
+#, c-format
+msgid "E630: %s(): write while not connected"
+msgstr "E630: %s(): запись без соединения"
+
+#, c-format
+msgid "E631: %s(): write failed"
+msgstr "E631: Ошибка записи в %s()"
+
+#, c-format
+msgid "E917: Cannot use a callback with %s()"
+msgstr "E917: Невозможно использовать обратный вызов с %s()"
+
+msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel"
+msgstr ""
+"E912: Невозможно использовать ch_evalexpr() или ch_sendexpr() с каналом nl "
+"или raw"
+
+msgid "E906: not an open channel"
+msgstr "E906: Не открытый канал"
+
+msgid "E920: _io file requires _name to be set"
+msgstr "E920: Файл _io требует установленного _name"
+
+msgid "E915: in_io buffer requires in_buf or in_name to be set"
+msgstr "E915: буфер in_io требует установленного in_buf или in_name"
+
+#, c-format
+msgid "E918: buffer must be loaded: %s"
+msgstr "E918: Буфер должен быть загружен: %s"
+
 msgid "E821: File is encrypted with unknown method"
 msgstr "E821: Файл зашифрован неизвестным методом"
 
+msgid "Warning: Using a weak encryption method; see :help 'cm'"
+msgstr "Предупреждение: Используется слабый метод шифрования, см. :help 'cm'"
+
 msgid "Enter encryption key: "
 msgstr "Введите пароль для шифрования: "
 
@@ -219,7 +292,30 @@ msgid "[crypted]"
 msgstr "[зашифровано]"
 
 #, c-format
-msgid "E96: Can not diff more than %ld buffers"
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720: Пропущено двоеточие в словаре: %s"
+
+#, c-format
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721: Повтор ключа в словаре: \"%s\""
+
+#, c-format
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722: Пропущена запятая в словаре: %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723: Пропущено окончание словаря '}': %s"
+
+msgid "extend() argument"
+msgstr "параметра extend()"
+
+#, c-format
+msgid "E737: Key already exists: %s"
+msgstr "E737: Ключ уже существует: %s"
+
+#, c-format
+msgid "E96: Cannot diff more than %ld buffers"
 msgstr "E96: Следить за отличиями можно не более чем в %ld буферах"
 
 msgid "E810: Cannot read or write temp files"
@@ -275,7 +371,6 @@ msgstr "E791: пустая запись раскладки клавиатуры"
 msgid " Keyword completion (^N^P)"
 msgstr " Автодополнение ключевого слова (^N^P)"
 
-#. ctrl_x_mode == 0, ^P/^N compl.
 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 msgstr " Режим ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
@@ -347,13 +442,12 @@ msgstr "Просмотр: %s"
 msgid "Scanning tags."
 msgstr "Выполняется поиск среди меток."
 
+msgid "match in file"
+msgstr "соответствие в файле"
+
 msgid " Adding"
 msgstr " Добавление"
 
-#. 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 "-- Поиск..."
 
@@ -378,51 +472,12 @@ msgid "E18: Unexpected characters in :le
 msgstr "E18: Неожиданные символы в :let"
 
 #, c-format
-msgid "E684: list index out of range: %ld"
-msgstr "E684: Индекс списка за пределами диапазона: %ld"
-
-#, c-format
 msgid "E121: Undefined variable: %s"
 msgstr "E121: Неопределённая переменная: %s"
 
 msgid "E111: Missing ']'"
 msgstr "E111: Пропущена ']'"
 
-#, c-format
-msgid "E686: Argument of %s must be a List"
-msgstr "E686: Параметр %s должен быть списком"
-
-#, c-format
-msgid "E712: Argument of %s must be a List or Dictionary"
-msgstr "E712: Параметр %s должен быть списком или словарём"
-
-msgid "E713: Cannot use empty key for Dictionary"
-msgstr "E713: Невозможно использовать пустой ключ для словаря"
-
-msgid "E714: List required"
-msgstr "E714: Требуется список"
-
-msgid "E715: Dictionary required"
-msgstr "E715: Требуется словарь"
-
-#, c-format
-msgid "E118: Too many arguments for function: %s"
-msgstr "E118: Слишком много параметров для функции %s"
-
-#, c-format
-msgid "E716: Key not present in Dictionary: %s"
-msgstr "E716: Нет ключа в словаре: %s"
-
-#, c-format
-msgid "E122: Function %s already exists, add ! to replace it"
-msgstr "E122: Функция %s уже существует. Добавьте !, чтобы заменить её."
-
-msgid "E717: Dictionary entry already exists"
-msgstr "E717: Запись уже существует в словаре"
-
-msgid "E718: Funcref required"
-msgstr "E718: Требуется ссылка на функцию"
-
 msgid "E719: Cannot use [:] with a Dictionary"
 msgstr "E719: Невозможно использовать [:] со словарём"
 
@@ -431,10 +486,6 @@ msgid "E734: Wrong variable type for %s=
 msgstr "E734: Неправильный тип переменной для %s="
 
 #, c-format
-msgid "E130: Unknown function: %s"
-msgstr "E130: Неизвестная функция: %s"
-
-#, c-format
 msgid "E461: Illegal variable name: %s"
 msgstr "E461: Недопустимое имя переменной: %s"
 
@@ -473,37 +524,19 @@ msgid "E690: Missing \"in\" after :for"
 msgstr "E690: Пропущено \"in\" после :for"
 
 #, c-format
-msgid "E107: Missing parentheses: %s"
-msgstr "E107: Пропущены скобки: %s"
-
-#, c-format
 msgid "E108: No such variable: \"%s\""
 msgstr "E108: Нет такой переменной: \"%s\""
 
+#, c-format
+msgid "E940: Cannot lock or unlock variable %s"
+msgstr "E940: Невозможно (раз)блокировать переменную %s"
+
 msgid "E743: variable nested too deep for (un)lock"
 msgstr "E743: Слишком глубоко вложенные переменные для (раз)блокировки"
 
 msgid "E109: Missing ':' after '?'"
 msgstr "E109: Пропущено ':' после '?'"
 
-msgid "E691: Can only compare List with List"
-msgstr "E691: Список можно сравнивать только со списком"
-
-msgid "E692: Invalid operation for List"
-msgstr "E692: Недопустимая операция для списков"
-
-msgid "E735: Can only compare Dictionary with Dictionary"
-msgstr "E735: Словарь можно сравнивать только со словарём"
-
-msgid "E736: Invalid operation for Dictionary"
-msgstr "E736: Недопустимая операция для словаря"
-
-msgid "E693: Can only compare Funcref with Funcref"
-msgstr "E693: Ссылку на функцию можно сравнивать только с ссылкой на функцию"
-
-msgid "E694: Invalid operation for Funcrefs"
-msgstr "E694: Недопустимая операция для ссылки на функцию"
-
 msgid "E804: Cannot use '%' with Float"
 msgstr "E804: Невозможно использовать '%' с числом с плавающей точкой"
 
@@ -513,6 +546,9 @@ msgstr "E110: Пропущена ')'"
 msgid "E695: Cannot index a Funcref"
 msgstr "E695: Невозможно индексировать ссылку на функцию"
 
+msgid "E909: Cannot index a special variable"
+msgstr "E909: Невозможно индексировать специальную переменную"
+
 #, c-format
 msgid "E112: Option name missing: %s"
 msgstr "E112: Не указано имя опции: %s"
@@ -529,167 +565,12 @@ msgstr "E114: Пропущена кавычка: %s"
 msgid "E115: Missing quote: %s"
 msgstr "E115: Пропущена кавычка: %s"
 
-#, c-format
-msgid "E696: Missing comma in List: %s"
-msgstr "E696: Пропущена запятая в списке: %s"
-
-#, c-format
-msgid "E697: Missing end of List ']': %s"
-msgstr "E697: Пропущено окончание списка ']': %s"
-
-#, c-format
-msgid "E720: Missing colon in Dictionary: %s"
-msgstr "E720: Пропущено двоеточие в словаре: %s"
-
-#, c-format
-msgid "E721: Duplicate key in Dictionary: \"%s\""
-msgstr "E721: Повтор ключа в словаре: \"%s\""
-
-#, c-format
-msgid "E722: Missing comma in Dictionary: %s"
-msgstr "E722: Пропущена запятая в словаре: %s"
-
-#, c-format
-msgid "E723: Missing end of Dictionary '}': %s"
-msgstr "E723: Пропущено окончание словаря '}': %s"
+msgid "Not enough memory to set references, garbage collection aborted!"
+msgstr "Недостаточно памяти для установки ссылки, сборка мусора прекращена!"
 
 msgid "E724: variable nested too deep for displaying"
 msgstr "E724: Слишком глубоко вложенные переменные для отображения"
 
-#, c-format
-msgid "E740: Too many arguments for function %s"
-msgstr "E740: Слишком много параметров для функции %s"
-
-#, c-format
-msgid "E116: Invalid arguments for function %s"
-msgstr "E116: Параметры для функции %s заданы неверно"
-
-#, c-format
-msgid "E117: Unknown function: %s"
-msgstr "E117: Неизвестная функция: %s"
-
-#, c-format
-msgid "E119: Not enough arguments for function: %s"
-msgstr "E119: Недостаточно параметров для функции %s"
-
-#, c-format
-msgid "E120: Using <SID> not in a script context: %s"
-msgstr "E120: <SID> используется вне сценария: %s"
-
-#, c-format
-msgid "E725: Calling dict function without Dictionary: %s"
-msgstr "E725: Вызов функции dict без словаря: %s"
-
-msgid "E808: Number or Float required"
-msgstr "E808: Требуется целое число или с плавающей точкой"
-
-msgid "add() argument"
-msgstr "параметра add()"
-
-msgid "E699: Too many arguments"
-msgstr "E699: Слишком много параметров"
-
-msgid "E785: complete() can only be used in Insert mode"
-msgstr "E785: complete() может использоваться только в режиме Вставки"
-
-#.
-#. * 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"
-
-#, c-format
-msgid "E737: Key already exists: %s"
-msgstr "E737: Ключ уже существует: %s"
-
-msgid "extend() argument"
-msgstr "параметра extend()"
-
-msgid "map() argument"
-msgstr "параметра map()"
-
-msgid "filter() argument"
-msgstr "параметра filter()"
-
-#, c-format
-msgid "+-%s%3ld lines: "
-msgstr "+-%s%3ld строк: "
-
-#, c-format
-msgid "E700: Unknown function: %s"
-msgstr "E700: Неизвестная функция: %s"
-
-msgid ""
-"&OK\n"
-"&Cancel"
-msgstr ""
-"&OK\n"
-"&C Отмена"
-
-msgid "called inputrestore() more often than inputsave()"
-msgstr "Функция inputrestore() вызывается чаще, чем функция inputsave()"
-
-msgid "insert() argument"
-msgstr "параметра insert()"
-
-msgid "E786: Range not allowed"
-msgstr "E786: Диапазон не допускается"
-
-msgid "E701: Invalid type for len()"
-msgstr "E701: Неправильные тип для len()"
-
-msgid "E726: Stride is zero"
-msgstr "E726: Нулевой шаг"
-
-msgid "E727: Start past end"
-msgstr "E727: Начало после конца"
-
-msgid "<empty>"
-msgstr "<пусто>"
-
-msgid "E240: No connection to Vim server"
-msgstr "E240: Нет связи с сервером Vim"
-
-#, c-format
-msgid "E241: Unable to send to %s"
-msgstr "E241: Не могу отправить сообщение для %s"
-
-msgid "E277: Unable to read a server reply"
-msgstr "E277: Сервер не отвечает"
-
-msgid "remove() argument"
-msgstr "параметра remove()"
-
-msgid "E655: Too many symbolic links (cycle?)"
-msgstr "E655: Слишком много символических ссылок (цикл?)"
-
-msgid "reverse() argument"
-msgstr "параметра reverse()"
-
-msgid "E258: Unable to send to client"
-msgstr "E258: Не могу ответить клиенту"
-
-msgid "sort() argument"
-msgstr "параметра sort()"
-
-msgid "uniq() argument"
-msgstr "параметра uniq()"
-
-msgid "E702: Sort compare function failed"
-msgstr "E702: Неудачное завершение функции сравнения при сортировке"
-
-msgid "E882: Uniq compare function failed"
-msgstr ""
-"E882: Неудачное завершение функции сравнения при проверке единственности"
-
-msgid "(Invalid)"
-msgstr "(Неправильно)"
-
-msgid "E677: Error writing temp file"
-msgstr "E677: Ошибка записи во временный файл"
-
 msgid "E805: Using a Float as a Number"
 msgstr "E805: Использование числа с плавающей точкой как целого"
 
@@ -702,6 +583,33 @@ msgstr "E745: Использование списка как числа"
 msgid "E728: Using a Dictionary as a Number"
 msgstr "E728: Использование словаря как числа"
 
+msgid "E910: Using a Job as a Number"
+msgstr "E910: Использование задания как числа"
+
+msgid "E913: Using a Channel as a Number"
+msgstr "E913: Использование канала как числа"
+
+msgid "E891: Using a Funcref as a Float"
+msgstr "E891: Использование ссылки на функцию как числа с плавающей точкой"
+
+msgid "E892: Using a String as a Float"
+msgstr "E892: Использование строки как числа с плавающей точкой"
+
+msgid "E893: Using a List as a Float"
+msgstr "E893: Использование списка как числа с плавающей точкой"
+
+msgid "E894: Using a Dictionary as a Float"
+msgstr "E894: Использование словаря как числа с плавающей точкой"
+
+msgid "E907: Using a special value as a Float"
+msgstr "E907: Использование специального значения как числа с плавающей точкой"
+
+msgid "E911: Using a Job as a Float"
+msgstr "E911: Использование задания как числа с плавающей точкой"
+
+msgid "E914: Using a Channel as a Float"
+msgstr "E914: Использование канала как числа с плавающей точкой"
+
 msgid "E729: using Funcref as a String"
 msgstr "E729: Использование ссылки на функцию как строки"
 
@@ -711,9 +619,8 @@ msgstr "E730: Использование списка как строки"
 msgid "E731: using Dictionary as a String"
 msgstr "E731: Использование словаря как строки"
 
-#, c-format
-msgid "E706: Variable type mismatch for: %s"
-msgstr "E706: Несоответствие типа переменной для: %s"
+msgid "E908: using an invalid value as a String"
+msgstr "E908: Использование неправильного значения как строки"
 
 #, c-format
 msgid "E795: Cannot delete variable %s"
@@ -743,81 +650,6 @@ msgstr "E742: Невозможно изменить значение %s"
 msgid "E698: variable nested too deep for making a copy"
 msgstr "E698: Слишком глубоко вложенные переменные для копирования"
 
-#, c-format
-msgid "E123: Undefined function: %s"
-msgstr "E123: Неопределённая функция: %s"
-
-#, c-format
-msgid "E124: Missing '(': %s"
-msgstr "E124: Пропущена '(': %s"
-
-msgid "E862: Cannot use g: here"
-msgstr "E862: Здесь невозможно использовать g:"
-
-#, c-format
-msgid "E125: Illegal argument: %s"
-msgstr "E125: Недопустимый параметр: %s"
-
-#, c-format
-msgid "E853: Duplicate argument name: %s"
-msgstr "E853: Повторяющееся имя параметра: %s"
-
-msgid "E126: Missing :endfunction"
-msgstr "E126: Пропущена команда :endfunction"
-
-#, c-format
-msgid "E707: Function name conflicts with variable: %s"
-msgstr "E707: Имя функции конфликтует с переменной: %s"
-
-#, c-format
-msgid "E127: Cannot redefine function %s: It is in use"
-msgstr "E127: Невозможно переопределить функцию %s, она используется"
-
-#, c-format
-msgid "E746: Function name does not match script file name: %s"
-msgstr "E746: Имя функции не соответствует имени файла сценария: %s"
-
-msgid "E129: Function name required"
-msgstr "E129: Требуется имя функции"
-
-#, c-format
-msgid "E128: Function name must start with a capital or \"s:\": %s"
-msgstr "E128: Имя функции должно начинаться с заглавной буквы или \"s:\": %s"
-
-#, c-format
-msgid "E884: Function name cannot contain a colon: %s"
-msgstr "E884: Имя функции не может содержать двоеточие: %s"
-
-#, c-format
-msgid "E131: Cannot delete function %s: It is in use"
-msgstr "E131: Невозможно удалить функцию %s, она используется"
-
-msgid "E132: Function call depth is higher than 'maxfuncdepth'"
-msgstr "E132: Глубина вызова функции больше, чем значение 'maxfuncdepth'"
-
-#, c-format
-msgid "calling %s"
-msgstr "вызов %s"
-
-#, c-format
-msgid "%s aborted"
-msgstr "%s прервана"
-
-#, c-format
-msgid "%s returning #%ld"
-msgstr "%s возвращает #%ld"
-
-#, c-format
-msgid "%s returning %s"
-msgstr "%s возвращает %s"
-
-#, c-format
-msgid "continuing in %s"
-msgstr "продолжение в %s"
-
-msgid "E133: :return not inside a function"
-msgstr "E133: команда :return вне функции"
-
 msgid ""
 "\n"
 "# global variables:\n"
@@ -832,20 +664,179 @@ msgstr ""
 "\n"
 "\tВ последний раз опция изменена в "
 
-msgid "No old files"
-msgstr "Нет старых файлов"
+msgid "E691: Can only compare List with List"
+msgstr "E691: Список можно сравнивать только со списком"
+
+msgid "E692: Invalid operation for List"
+msgstr "E692: Недопустимая операция для списков"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Словарь можно сравнивать только со словарём"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Недопустимая операция для словаря"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Недопустимая операция для ссылки на функцию"
+
+msgid "map() argument"
+msgstr "параметра map()"
+
+msgid "filter() argument"
+msgstr "параметра filter()"
+
+#, c-format
+msgid "E686: Argument of %s must be a List"
+msgstr "E686: Параметр %s должен быть списком"
+
+msgid "E928: String required"
+msgstr "E928: Требуется строка"
+
+msgid "E808: Number or Float required"
+msgstr "E808: Требуется целое число или с плавающей точкой"
+
+msgid "add() argument"
+msgstr "параметра add()"
+
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() может использоваться только в режиме Вставки"
+
+msgid "&Ok"
+msgstr "&Ok"
+
+#, c-format
+msgid "+-%s%3ld line: "
+msgid_plural "+-%s%3ld lines: "
+msgstr[0] "+-%s%3ld строка: "
+msgstr[1] "+-%s%3ld строки: "
+msgstr[2] "+-%s%3ld строк: "
+
+#, c-format
+msgid "E700: Unknown function: %s"
+msgstr "E700: Неизвестная функция: %s"
+
+msgid "E922: expected a dict"
+msgstr "E922: Ожидался словарь"
+
+msgid "E923: Second argument of function() must be a list or a dict"
+msgstr "E923: Второй параметр функции() должен быть списком или словарём"
+
+msgid ""
+"&OK\n"
+"&Cancel"
+msgstr ""
+"&OK\n"
+"&C Отмена"
+
+msgid "called inputrestore() more often than inputsave()"
+msgstr "Функция inputrestore() вызывается чаще, чем функция inputsave()"
+
+msgid "insert() argument"
+msgstr "параметра insert()"
+
+msgid "E786: Range not allowed"
+msgstr "E786: Диапазон не допускается"
+
+msgid "E916: not a valid job"
+msgstr "E916: Недопустимое задание"
+
+msgid "E701: Invalid type for len()"
+msgstr "E701: Неправильные тип для len()"
+
+#, c-format
+msgid "E798: ID is reserved for \":match\": %ld"
+msgstr "E798: ID зарезервирован для \":match\": %ld"
+
+msgid "E726: Stride is zero"
+msgstr "E726: Нулевой шаг"
+
+msgid "E727: Start past end"
+msgstr "E727: Начало после конца"
+
+msgid "<empty>"
+msgstr "<пусто>"
+
+msgid "E240: No connection to the X server"
+msgstr "E240: Нет связи с X-сервером"
+
+#, c-format
+msgid "E241: Unable to send to %s"
+msgstr "E241: Не могу отправить сообщение для %s"
+
+msgid "E277: Unable to read a server reply"
+msgstr "E277: Сервер не отвечает"
+
+msgid "E941: already started a server"
+msgstr "E941: Сервер уже запущен"
+
+msgid "E942: +clientserver feature not available"
+msgstr "E942: Особенность +clientserver недоступна"
+
+msgid "remove() argument"
+msgstr "параметра remove()"
+
+msgid "E655: Too many symbolic links (cycle?)"
+msgstr "E655: Слишком много символических ссылок (цикл?)"
+
+msgid "reverse() argument"
+msgstr "параметра reverse()"
+
+msgid "E258: Unable to send to client"
+msgstr "E258: Не могу ответить клиенту"
+
+#, c-format
+msgid "E927: Invalid action: '%s'"
+msgstr "E927: Неправильное действие: '%s'"
+
+msgid "sort() argument"
+msgstr "параметра sort()"
+
+msgid "uniq() argument"
+msgstr "параметра uniq()"
+
+msgid "E702: Sort compare function failed"
+msgstr "E702: Неудачное завершение функции сравнения при сортировке"
+
+msgid "E882: Uniq compare function failed"
+msgstr ""
+"E882: Неудачное завершение функции сравнения при проверке единственности"
+
+msgid "(Invalid)"
+msgstr "(Неправильно)"
+
+#, c-format
+msgid "E935: invalid submatch number: %d"
+msgstr "E935: Недопустимый номер подсоответствия: %d"
+
+msgid "E677: Error writing temp file"
+msgstr "E677: Ошибка записи во временный файл"
+
+msgid "E921: Invalid callback argument"
+msgstr "E921: Недопустимый параметр обратного вызова"
+
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Oct %03o, Digr %s"
+msgstr "<%s>%s%s  %d,  Шес %02x,  Вос %03o, Дигр %s"
 
 #, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  Шес %02x,  Вос %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Oct %o, Digr %s"
+msgstr "> %d, Шес %04x, Вос %o, Дигр %s"
+
+#, c-format
+msgid "> %d, Hex %08x, Oct %o, Digr %s"
+msgstr "> %d, Шес %08x, Вос %o, Дигр %s"
 
 #, c-format
 msgid "> %d, Hex %04x, Octal %o"
-msgstr "> %d, Hex %04x, Octal %o"
+msgstr "> %d, Шес %04x, Вос %o"
 
 #, c-format
 msgid "> %d, Hex %08x, Octal %o"
-msgstr "> %d, Hex %08x, Octal %o"
+msgstr "> %d, Шес %08x, Вос %o"
 
 msgid "E134: Move lines into themselves"
 msgstr "E134: Строки перемещаются сами на себя"
@@ -891,12 +882,15 @@ msgstr " старых файлов"
 msgid " FAILED"
 msgstr " НЕУДАЧНО"
 
-#. avoid a wait_return for this message, it's annoying
 #, c-format
 msgid "E137: Viminfo file is not writable: %s"
 msgstr "E137: Права на запись файла viminfo отсутствуют: %s"
 
 #, c-format
+msgid "E929: Too many viminfo temp files, like %s!"
+msgstr "E929: Слишком много временных файлов viminfo, таких как %s"
+
+#, c-format
 msgid "E138: Can't write viminfo file %s!"
 msgstr "E138: Невозможно записать файл viminfo %s!"
 
@@ -908,7 +902,6 @@ msgstr "Запись файла viminfo \"%s\""
 msgid "E886: Can't rename viminfo file to %s!"
 msgstr "E886: Невозможно переименовать файл viminfo в %s!"
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Этот файл viminfo автоматически создан Vim %s.\n"
@@ -926,6 +919,13 @@ msgstr "# Значение опции 'encoding' в момент записи файла\n"
 msgid "Illegal starting char"
 msgstr "Недопустимый начальный символ"
 
+msgid ""
+"\n"
+"# Bar lines, copied verbatim:\n"
+msgstr ""
+"\n"
+"# Строк с '|', точно скопировано:\n"
+
 msgid "Save As"
 msgstr "Сохранить как"
 
@@ -1015,14 +1015,14 @@ msgid "%ld substitutions"
 msgstr "%ld замен"
 
 msgid " on 1 line"
-msgstr " в одной строке"
+msgstr " в 1 стр."
 
 #, c-format
 msgid " on %ld lines"
 msgstr " в %ld стр."
 
-msgid "E147: Cannot do :global recursive"
-msgstr "E147: Команда :global не может быть рекурсивной"
+msgid "E147: Cannot do :global recursive with a range"
+msgstr "E147: Невозможно выполнить :global рекурсивно с диапазоном"
 
 msgid "E148: Regular expression missing from global"
 msgstr "E148: В команде :global пропущено регулярное выражение"
@@ -1060,8 +1060,8 @@ msgid "Sorry, help file \"%s\" not found
 msgstr "Извините, файл справки \"%s\" не найден"
 
 #, c-format
-msgid "E150: Not a directory: %s"
-msgstr "E150: %s не является каталогом"
+msgid "E151: No match: %s"
+msgstr "E151: Нет соответствия: %s"
 
 #, c-format
 msgid "E152: Cannot open %s for writing"
@@ -1080,6 +1080,10 @@ msgid "E154: Duplicate tag \"%s\" in fil
 msgstr "E154: Повторяющаяся метка \"%s\" в файле %s/%s"
 
 #, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: %s не является каталогом"
+
+#, c-format
 msgid "E160: Unknown sign command: %s"
 msgstr "E160: Неизвестная команда значка %s"
 
@@ -1104,6 +1108,9 @@ msgstr "E159: Пропущен номер значка"
 msgid "E158: Invalid buffer name: %s"
 msgstr "E158: Неправильное имя буфера: %s"
 
+msgid "E934: Cannot jump to a buffer that does not have a name"
+msgstr "E934: Невозможно перейти к буферу без имени"
+
 #, c-format
 msgid "E157: Invalid sign ID: %ld"
 msgstr "E157: Неправильный ID значка: %ld"
@@ -1121,10 +1128,21 @@ msgstr " (не поддерживается)"
 msgid "[Deleted]"
 msgstr "[Удалено]"
 
+msgid "No old files"
+msgstr "Нет старых файлов"
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "Включён режим отладки. Для продолжения наберите \"cont\""
 
 #, c-format
+msgid "Oldval = \"%s\""
+msgstr "Преж.зн. = \"%s\""
+
+#, c-format
+msgid "Newval = \"%s\""
+msgstr "Нов.зн.  = \"%s\""
+
+#, c-format
 msgid "line %ld: %s"
 msgstr "строка %ld: %s"
 
@@ -1132,6 +1150,13 @@ msgstr "строка %ld: %s"
 msgid "cmd: %s"
 msgstr "команда: %s"
 
+msgid "frame is zero"
+msgstr "нулевой фрейм"
+
+#, c-format
+msgid "frame at highest level: %d"
+msgstr "максимальный фрейм: %d"
+
 #, c-format
 msgid "Breakpoint in \"%s%s\" line %ld"
 msgstr "Точка остановки в \"%s%s\" стр. %ld"
@@ -1147,6 +1172,10 @@ msgstr "Точки остановки не определены"
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d  %s %s стр. %ld"
 
+#, c-format
+msgid "%3d  expr %s"
+msgstr "%3d  выр. %s"
+
 msgid "E750: First use \":profile start {fname}\""
 msgstr "E750: Первое использование \":profile start {имя-файла}\""
 
@@ -1154,8 +1183,9 @@ msgstr "E750: Первое использование \":profile start {имя-файла}\""
 msgid "Save changes to \"%s\"?"
 msgstr "Сохранить изменения в \"%s\"?"
 
-msgid "Untitled"
-msgstr "Без имени"
+#, c-format
+msgid "E947: Job still running in buffer \"%s\""
+msgstr "E947: Задание ещё выполняется в буфере \"%s\""
 
 #, c-format
 msgid "E162: No write since last change for buffer \"%s\""
@@ -1187,8 +1217,18 @@ msgid "Searching for \"%s\""
 msgstr "Поиск \"%s\""
 
 #, c-format
-msgid "not found in 'runtimepath': \"%s\""
-msgstr "не найдено в 'runtimepath': \"%s\""
+msgid "not found in '%s': \"%s\""
+msgstr "не найдено в '%s': \"%s\""
+
+#, c-format
+msgid "W20: Required python version 2.x not supported, ignoring file: %s"
+msgstr ""
+"W20: Не поддерживается python требуемой версии 2.x, файл проигнорирован: %s"
+
+#, c-format
+msgid "W21: Required python version 3.x not supported, ignoring file: %s"
+msgstr ""
+"W21: Не поддерживается python требуемой версии 3.x, файл проигнорирован: %s"
 
 msgid "Source Vim script"
 msgstr "Выполнить сценарий Vim"
@@ -1217,6 +1257,10 @@ msgstr "строка %ld: считывание \"%s\""
 msgid "finished sourcing %s"
 msgstr "считывание сценария %s завершено"
 
+#, c-format
+msgid "continuing in %s"
+msgstr "продолжение в %s"
+
 msgid "modeline"
 msgstr "режимная строка"
 
@@ -1284,12 +1328,12 @@ msgstr "Задан обратный диапазон, меняем границы местами"
 msgid "E494: Use w or w>>"
 msgstr "E494: Используйте w или w>>"
 
+msgid "E943: Command table needs to be updated, run 'make cmdidxs'"
+msgstr "E943: Таблица команд должна быть обновлена, выполните 'make cmdidxs'"
+
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Извините, эта команда недоступна в данной версии"
 
-msgid "E172: Only one file name allowed"
-msgstr "E172: Разрешено использовать только одно имя файла"
-
 msgid "1 more file to edit.  Quit anyway?"
 msgstr "1 файл ожидает редактирования. Выйти?"
 
@@ -1309,10 +1353,10 @@ msgstr "E174: Команда уже существует. Добавьте ! для замены."
 
 msgid ""
 "\n"
-"    Name        Args Range Complete  Definition"
-msgstr ""
-"\n"
-"    Имя      Парам. Диап. Дополн.    Определение"
+"    Name        Args       Address   Complete  Definition"
+msgstr ""
+"\n"
+"    Имя         Парам.     Диап.     Дополн.   Определение"
 
 msgid "No user-defined commands found"
 msgstr "Команды, определённые пользователем, не обнаружены."
@@ -1332,6 +1376,9 @@ msgstr "E178: Неправильное значение числа-приставки по умолчанию"
 msgid "E179: argument required for -complete"
 msgstr "E179: Для -complete требуется указать параметр"
 
+msgid "E179: argument required for -addr"
+msgstr "E179: Для -addr требуется указать параметр"
+
 #, c-format
 msgid "E181: Invalid attribute: %s"
 msgstr "E181: Неправильный атрибут: %s"
@@ -1351,6 +1398,10 @@ msgid "E184: No such user-defined comman
 msgstr "E184: Нет такой команды пользователя: %s"
 
 #, c-format
+msgid "E180: Invalid address type value: %s"
+msgstr "E180: Неправильное значение типа адреса: %s"
+
+#, c-format
 msgid "E180: Invalid complete value: %s"
 msgstr "E180: Неправильное значение дополнения: %s"
 
@@ -1414,6 +1465,9 @@ msgstr "E188: В данной системе определение положения окна не работает"
 msgid "E466: :winpos requires two number arguments"
 msgstr "E466: Команда :winpos требует указания двух числовых параметров"
 
+msgid "E930: Cannot use :redir inside execute()"
+msgstr "E930: Невозможно использовать :redir внутри execute()"
+
 msgid "Save Redirection"
 msgstr "Перенаправление записи"
 
@@ -1438,7 +1492,6 @@ msgstr "E189: \"%s\" существует (добавьте !, чтобы обойти проверку)"
 msgid "E190: Cannot open \"%s\" for writing"
 msgstr "E190: Невозможно открыть для записи \"%s\""
 
-#. set mark
 msgid "E191: Argument must be a letter or forward/backward quote"
 msgstr "E191: Параметр должен быть прямой/обратной кавычкой или буквой"
 
@@ -1476,6 +1529,9 @@ msgstr "E500: Результатом выражения является пустая строка"
 msgid "E195: Cannot open viminfo file for reading"
 msgstr "E195: Невозможно открыть файл viminfo для чтения"
 
+msgid "Untitled"
+msgstr "Без имени"
+
 msgid "E196: No digraphs in this version"
 msgstr "E196: В этой версии диграфы не работают"
 
@@ -1483,7 +1539,6 @@ msgid "E608: Cannot :throw exceptions wi
 msgstr ""
 "E608: Невозможно выполнить команду :throw для исключений с приставкой 'Vim'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr "Исключительная ситуация: %s"
@@ -1500,7 +1555,6 @@ msgstr "Исключительная ситуация проигнорирована: %s"
 msgid "%s, line %ld"
 msgstr "%s, строка %ld"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception caught: %s"
 msgstr "Обработка исключительной ситуации: %s"
@@ -1526,7 +1580,6 @@ msgstr "Ошибка и прерывание"
 msgid "Error"
 msgstr "Ошибка"
 
-#. if (pending & CSTP_INTERRUPT)
 msgid "Interrupt"
 msgstr "Прерывание"
 
@@ -1569,15 +1622,12 @@ msgstr "E601: Слишком глубоко вложенный :try"
 msgid "E603: :catch without :try"
 msgstr "E603: :catch без :try"
 
-#. Give up for a ":catch" after ":finally" and ignore it.
-#. * Just parse.
 msgid "E604: :catch after :finally"
 msgstr "E604: :catch после :finally"
 
 msgid "E606: :finally without :try"
 msgstr "E606: :finally без :try"
 
-#. Give up for a multiple ":finally" and ignore it.
 msgid "E607: multiple :finally"
 msgstr "E607: Обнаружено несколько :finally"
 
@@ -1622,6 +1672,9 @@ msgstr "Выражение"
 msgid "Input Line"
 msgstr "Строка ввода"
 
+msgid "Debug Line"
+msgstr "Строка отладки"
+
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar больше длины команды"
 
@@ -1667,7 +1720,6 @@ msgstr "Vim: Чтение из стандартного потока ввода stdin...\n"
 msgid "Reading from stdin..."
 msgstr "Чтение из стандартного потока ввода stdin..."
 
-#. Re-opening the original file failed!
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202: В результате преобразования файл стал нечитаемым!"
 
@@ -1760,9 +1812,6 @@ msgid "E510: Can't make backup file (add
 msgstr ""
 "E510: Невозможно создать резервный файл (добавьте !, чтобы обойти проверку)"
 
-msgid "E460: The resource fork would be lost (add ! to override)"
-msgstr "E460: Ветвь ресурса будет потеряна (добавьте !, чтобы обойти проверку)"
-
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: Временный файл для записи не найден"
 
@@ -1771,13 +1820,13 @@ msgstr ""
 "E213: Перекодировка невозможна (добавьте ! для записи без перекодировки)"
 
 msgid "E166: Can't open linked file for writing"
-msgstr "E166: Невозможно открыть связанный файл для записи"
+msgstr "E166: Невозможно открыть файл по ссылке для записи"
 
 msgid "E212: Can't open file for writing"
 msgstr "E212: Невозможно открыть файл для записи"
 
-msgid "E667: Fsync failed"
-msgstr "E667: Не удалось выполнить функцию fsync()"
+msgid "E949: File changed while writing"
+msgstr "E949: Файл был изменён после записи"
 
 msgid "E512: Close failed"
 msgstr "E512: Операция закрытия не удалась"
@@ -1875,20 +1924,12 @@ msgstr "1 символ"
 msgid "%lld characters"
 msgstr "символов: %lld"
 
-#. Explicit typecast avoids warning on Mac OS X 10.6
-#, c-format
-msgid "%ld characters"
-msgstr "символов: %ld"
-
 msgid "[noeol]"
 msgstr "[noeol]"
 
 msgid "[Incomplete last line]"
 msgstr "[Незавершённая последняя строка]"
 
-#. 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 "ПРЕДУПРЕЖДЕНИЕ: Файл изменён с момента чтения!!!"
 
@@ -1972,11 +2013,16 @@ msgstr "--Удалено--"
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "авто-удаление автокоманды: %s <буффер=%d>"
 
-#. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367: Группа \"%s\" не существует"
 
+msgid "E936: Cannot delete the current group"
+msgstr "E936: Невозможно удалить текущую группу"
+
+msgid "W19: Deleting augroup that is still in use"
+msgstr "W19: Удаление ещё используемой группы автокоманд"
+
 #, c-format
 msgid "E215: Illegal character after *: %s"
 msgstr "E215: Недопустимые символы после *: %s"
@@ -1989,7 +2035,6 @@ msgstr "E216: Несуществующее событие: %s"
 msgid "E216: No such group or event: %s"
 msgstr "E216: Несуществующая группа или событие: %s"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Auto-Commands ---"
@@ -2040,8 +2085,11 @@ msgstr ""
 "E351: Складка не может быть удалена с текущим значением опции 'foldmethod'"
 
 #, c-format
-msgid "+--%3ld lines folded "
-msgstr "+--%3ld строк в складке"
+msgid "+--%3ld line folded "
+msgid_plural "+--%3ld lines folded "
+msgstr[0] "+--%3ld строка в складке "
+msgstr[1] "+--%3ld строки в складке "
+msgstr[2] "+--%3ld строк в складке "
 
 msgid "E222: Add to read buffer"
 msgstr "E222: Добавление в буфер чтения"
@@ -2137,6 +2185,18 @@ msgstr ""
 "E232: \"Пузырь\" для вычислений, включающий и сообщение, и обратный вызов, "
 "не может быть создан"
 
+msgid "_Cancel"
+msgstr "О_тмена"
+
+msgid "_Save"
+msgstr "Сохранить _как"
+
+msgid "_Open"
+msgstr "_Открыть"
+
+msgid "_OK"
+msgstr "_Да"
+
 msgid ""
 "&Yes\n"
 "&No\n"
@@ -2146,8 +2206,14 @@ msgstr ""
 "&Нет\n"
 "О&тмена"
 
+msgid "Yes"
+msgstr "Да"
+
+msgid "No"
+msgstr "Нет"
+
 msgid "Input _Methods"
-msgstr "Методы Ввода"
+msgstr "_Методы Ввода"
 
 msgid "VIM - Search and Replace..."
 msgstr "VIM — Поиск и замена..."
@@ -2156,46 +2222,43 @@ msgid "VIM - Search..."
 msgstr "VIM — Поиск..."
 
 msgid "Find what:"
-msgstr "Что ищем:"
+msgstr "Что найти:"
 
 msgid "Replace with:"
-msgstr "На что заменяем:"
-
-#. whole word only button
+msgstr "Заменить на:"
+
 msgid "Match whole word only"
 msgstr "Только точные соответствия"
 
-#. match case button
 msgid "Match case"
-msgstr "Регистрозависимые соответствия"
+msgstr "Учитывать регистр"
 
 msgid "Direction"
 msgstr "Направление"
 
-#. 'Up' and 'Down' buttons
 msgid "Up"
 msgstr "Вверх"
 
 msgid "Down"
 msgstr "Вниз"
 
-#. 'Find Next' button
 msgid "Find Next"
 msgstr "Найти следующее"
 
-#. 'Replace' button
 msgid "Replace"
-msgstr "Замена"
-
-#. 'Replace All' button
+msgstr "Заменить"
+
 msgid "Replace All"
 msgstr "Заменить все"
 
+msgid "_Close"
+msgstr "_Закрыть"
+
 msgid "Vim: Received \"die\" request from session manager\n"
 msgstr "Vim: Получен запрос на прекращение работы от диспетчера сеансов\n"
 
-msgid "Close"
-msgstr "Закрыть"
+msgid "Close tab"
+msgstr "Закрыть вкладку"
 
 msgid "New tab"
 msgstr "Новая вкладка"
@@ -2242,6 +2305,21 @@ msgstr "Заменить &все"
 msgid "&Undo"
 msgstr "О&тмена"
 
+msgid "Open tab..."
+msgstr "Открыть вкладку..."
+
+msgid "Find string (use '\\\\' to find  a '\\')"
+msgstr "Поиск строки (используйте '\\\\' для поиска '\\')"
+
+msgid "Find & Replace (use '\\\\' to find  a '\\')"
+msgstr "Поиск и замена (используйте '\\\\' для поиска '\\')"
+
+msgid "Not Used"
+msgstr "Не используется"
+
+msgid "Directory\t*.nothing\n"
+msgstr "Каталог\t*.ничего\n"
+
 #, c-format
 msgid "E671: Cannot find window title \"%s\""
 msgstr "E671: Окно с заголовком \"%s\" не обнаружено"
@@ -2253,26 +2331,6 @@ msgstr "E243: Параметр не поддерживается: \"-%s\"; используйте версию OLE."
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: Невозможно открыть окно внутри приложения MDI"
 
-msgid "Close tab"
-msgstr "Закрыть вкладку"
-
-msgid "Open tab..."
-msgstr "Открыть вкладку..."
-
-msgid "Find string (use '\\\\' to find  a '\\')"
-msgstr "Поиск строки (используйте '\\\\' для поиска '\\')"
-
-msgid "Find & Replace (use '\\\\' to find  a '\\')"
-msgstr "Поиск и замена (используйте '\\\\' для поиска '\\')"
-
-#. 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 "Не используется"
-
-msgid "Directory\t*.nothing\n"
-msgstr "Каталог\t*.ничего\n"
-
 msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
 msgstr ""
 "Vim E458: Невозможно выделить запись в таблице цвета, некоторые цвета могут "
@@ -2329,7 +2387,6 @@ msgstr "Vim — Выбор шрифта"
 msgid "Name:"
 msgstr "Название:"
 
-#. create toggle button
 msgid "Show size in Points"
 msgstr "Показывать размер в пунктах"
 
@@ -2535,6 +2592,7 @@ msgstr "%-5s: %s%*s (использование: %s)"
 
 msgid ""
 "\n"
+"       a: Find assignments to this symbol\n"
 "       c: Find functions calling this function\n"
 "       d: Find functions called by this function\n"
 "       e: Find this egrep pattern\n"
@@ -2545,6 +2603,7 @@ msgid ""
 "       t: Find this text string\n"
 msgstr ""
 "\n"
+"       a: Найти присваивания для этого символа\n"
 "       c: Найти функции вызывающие эту функцию\n"
 "       d: Найти функции вызываемые этой функцией\n"
 "       e: Найти этот шаблон egrep\n"
@@ -2559,7 +2618,7 @@ msgid "E625: cannot open cscope database
 msgstr "E625: Невозможно открыть базу данных cscope: %s"
 
 msgid "E626: cannot get cscope database information"
-msgstr "E626: Информация о базе данных cscope не доступна"
+msgstr "E626: Информация о базе данных cscope недоступна"
 
 msgid "E568: duplicate cscope database not added"
 msgstr "E568: Данная база данных cscope уже подсоединена"
@@ -2572,7 +2631,6 @@ msgstr "E261: Соединение с cscope %s не обнаружено"
 msgid "cscope connection %s closed"
 msgstr "соединение с cscope %s закрыто"
 
-#. should not reach here
 msgid "E570: fatal error in cs_manage_matches"
 msgstr "E570: Критическая ошибка в cs_manage_matches"
 
@@ -2614,7 +2672,14 @@ msgid ""
 "loaded."
 msgstr ""
 "E815: К сожалению эта команда не работает, поскольку не загружена библиотека "
-"MzScheme"
+"MzScheme."
+
+msgid ""
+"E895: Sorry, this command is disabled, the MzScheme's racket/base module "
+"could not be loaded."
+msgstr ""
+"E895: К сожалению эта команда не работает, поскольку не загружен модуль "
+"racket/base для MzScheme."
 
 msgid "invalid expression"
 msgstr "неправильное выражение"
@@ -2721,102 +2786,12 @@ msgstr "E272: Необработанное исключение"
 msgid "E273: unknown longjmp status %d"
 msgstr "E273: Неизвестное состояние longjmp %d"
 
-msgid "Toggle implementation/definition"
-msgstr "Переключение между реализацией/определением"
-
-msgid "Show base class of"
-msgstr "Показать основной класс"
-
-msgid "Show overridden member function"
-msgstr "Показать перегруженные функции"
-
-msgid "Retrieve from file"
-msgstr "Получить из файла"
-
-msgid "Retrieve from project"
-msgstr "Получить из проекта"
-
-msgid "Retrieve from all projects"
-msgstr "Получить из всех проектов"
-
-msgid "Retrieve"
-msgstr "Получить"
-
-msgid "Show source of"
-msgstr "Показать исходный код"
-
-msgid "Find symbol"
-msgstr "Найти символ"
-
-msgid "Browse class"
-msgstr "Просмотр класса"
-
-msgid "Show class in hierarchy"
-msgstr "Показать класс в иерархии"
-
-msgid "Show class in restricted hierarchy"
-msgstr "Показать класс в ограниченной иерархии"
-
-msgid "Xref refers to"
-msgstr "Xref ссылается на"
-
-msgid "Xref referred by"
-msgstr "Ссылка на xref из"
-
-msgid "Xref has a"
-msgstr "Xref имеет"
-
-msgid "Xref used by"
-msgstr "Xref используется"
-
-msgid "Show docu of"
-msgstr "Показать docu"
-
-msgid "Generate docu for"
-msgstr "Создать docu"
-
-msgid ""
-"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in "
-"$PATH).\n"
-msgstr ""
-"Невозможно подсоединиться к SNiFF+. Проверьте настройки окружения."
-"(sniffemacs должны быть указаны в переменной $PATH).\n"
-
-msgid "E274: Sniff: Error during read. Disconnected"
-msgstr "E274: Sniff: Ошибка во время чтения. Отсоединение"
-
-msgid "SNiFF+ is currently "
-msgstr "В настоящий момент SNiFF+ "
-
-msgid "not "
-msgstr "не "
-
-msgid "connected"
-msgstr "подсоединён"
-
-#, c-format
-msgid "E275: Unknown SNiFF+ request: %s"
-msgstr "E275: Неизвестный запрос SNiFF+: %s"
-
-msgid "E276: Error connecting to SNiFF+"
-msgstr "E276: Ошибка соединения со SNiFF+"
-
-msgid "E278: SNiFF+ not connected"
-msgstr "E278: SNiFF+ не подсоединён"
-
-msgid "E279: Not a SNiFF+ buffer"
-msgstr "E279: Это не буфер SNiFF+"
-
-msgid "Sniff: Error during write. Disconnected"
-msgstr "Sniff: Ошибка во время записи. Отсоединение"
-
 msgid "invalid buffer number"
 msgstr "неправильный номер буфера"
 
 msgid "not implemented yet"
 msgstr "пока не реализовано"
 
-#. ???
 msgid "cannot set line(s)"
 msgstr "невозможно назначить строку или строки"
 
@@ -2857,7 +2832,6 @@ msgstr ""
 "невозможно зарегистрировать команду с обратным вызовом: буфер или окно в "
 "процессе удаления"
 
-#. This should never happen.  Famous last word?
 msgid ""
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
@@ -2898,6 +2872,18 @@ msgstr ""
 "E251: Неправильно сформировано значение данного процесса VIM в реестре. "
 "Удалено!"
 
+#, c-format
+msgid "E938: Duplicate key in JSON: \"%s\""
+msgstr "E938: Повтор ключа в JSON: \"%s\""
+
+#, c-format
+msgid "E696: Missing comma in List: %s"
+msgstr "E696: Пропущена запятая в списке: %s"
+
+#, c-format
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697: Пропущено окончание списка ']': %s"
+
 msgid "Unknown option argument"
 msgstr "Неизвестный необязательный параметр"
 
@@ -2924,13 +2910,13 @@ msgstr "Файлов для редактирования: %d\n"
 msgid "netbeans is not supported with this GUI\n"
 msgstr "NetBeans не поддерживается с этим графическим интерфейсом\n"
 
+msgid "'-nb' cannot be used: not enabled at compile time\n"
+msgstr "Невозможно использовать '-nb': не включено при компиляции\n"
+
 msgid "This Vim was not compiled with the diff feature."
 msgstr ""
 "Данный Vim был скомпилирован с выключенной особенностью просмотра отличий"
 
-msgid "'-nb' cannot be used: not enabled at compile time\n"
-msgstr "Невозможно использовать '-nb': не включено при компиляции\n"
-
 msgid "Attempt to open script file again: \""
 msgstr "Попытка повторного открытия файла сценария: \""
 
@@ -2943,13 +2929,15 @@ msgstr "Невозможно открыть для вывода сценария: \""
 msgid "Vim: Error: Failure to start gvim from NetBeans\n"
 msgstr "Vim: Ошибка: Не удалось запустить gvim из NetBeans\n"
 
+msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n"
+msgstr "Vim: Ошибка: Данная версия Vim не работает в терминале Cygwin\n"
+
 msgid "Vim: Warning: Output is not to a terminal\n"
 msgstr "Vim: Предупреждение: Вывод осуществляется не на терминал\n"
 
 msgid "Vim: Warning: Input is not from a terminal\n"
 msgstr "Vim: Предупреждение: Ввод происходит не с терминала\n"
 
-#. just in case..
 msgid "pre-vimrc command line"
 msgstr "командная строка перед выполнением vimrc"
 
@@ -2976,7 +2964,8 @@ msgstr "-t метка    редактирование файла с указанной меткой"
 # \n\t\t.. для умещения в 80 столбцов
 msgid "-q [errorfile]  edit file with first error"
 msgstr ""
-"-q [файл-ошибок] редактирование файла с первой ошибкой"
+"-q [файл-ошибок]\n"
+"\t\t\t\t    редактирование файла с первой ошибкой"
 
 msgid ""
 "\n"
@@ -3076,8 +3065,8 @@ msgstr "-N\t\t\tРежим неполной совместимости с Vi: 'nocompatible'"
 # \n\t\t.. для умещения в 80 столбцов
 msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]"
 msgstr ""
-"-V[N][файл]\t\tВыводить дополнительные сообщения "
-"[уровень N] [записывать в файл]"
+"-V[N][файл]\t\tВыводить дополнительные сообщения\n"
+"\t\t\t\t[уровень N] [записывать в файл]"
 
 msgid "-D\t\t\tDebugging mode"
 msgstr "-D\t\t\tРежим отладки"
@@ -3112,6 +3101,12 @@ msgstr "-F\t\t\tЗапуск в режиме \"Фарси\""
 msgid "-T <terminal>\tSet terminal type to <terminal>"
 msgstr "-T <терминал>\tНазначить указанный тип <терминала>"
 
+msgid "--not-a-term\t\tSkip warning for input/output not being a terminal"
+msgstr "--not-a-term\t\tНе предупреждать при вводе/выводе не в терминал"
+
+msgid "--ttyfail\t\tExit if input or output is not a terminal"
+msgstr "--ttyfail\t\tВыйти при вводе/выводе не в терминал"
+
 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
 msgstr "-u <vimrc>\t\tИспользовать <vimrc> вместо любых файлов .vimrc"
 
@@ -3124,12 +3119,14 @@ msgstr "--noplugin\t\tНе загружать сценарии модулей"
 # \n\t\t.. для умещения в 80 столбцов
 msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
 msgstr ""
-"-p[N]\t\tОткрыть N вкладок (по умолчанию: по одной на каждый файл)"
+"-p[N]\t\tОткрыть N вкладок (по умолчанию: по одной\n"
+"\t\t\t\tна каждый файл)"
 
 # \n\t\t.. для умещения в 80 столбцов
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
 msgstr ""
-"-o[N]\t\tОткрыть N окон (по умолчанию: по одному на каждый файл)"
+"-o[N]\t\tОткрыть N окон (по умолчанию: по одному\n"
+"\t\t\t\tна каждый файл)"
 
 msgid "-O[N]\t\tLike -o but split vertically"
 msgstr "-O[N]\t\tТо же, что и -o, но с вертикальным разделением окон"
@@ -3149,13 +3146,14 @@ msgstr "-c <команда>\t\tВыполнить <команду> после загрузки первого файла"
 # \n\t\t.. для умещения в 80 столбцов
 msgid "-S <session>\t\tSource file <session> after loading the first file"
 msgstr ""
-"-S <сеанс>\t\tПрочитать сценарий <сеанса> после загрузки "
-"первого файла"
+"-S <сеанс>\t\tПрочитать сценарий <сеанса> после загрузки\n"
+"\t\t\t\tпервого файла"
 
 # \n\t\t.. для умещения в 80 столбцов
 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
 msgstr ""
-"-s <сценарий>\tПрочитать команды Обычного режима из файла <сценария>"
+"-s <сценарий>\tПрочитать команды Обычного режима из\n"
+"\t\t\t\tфайла <сценария>"
 
 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
 msgstr "-w <сценарий>\tДобавлять все введённые команды в файл <сценария>"
@@ -3167,7 +3165,7 @@ msgid "-x\t\t\tEdit encrypted files"
 msgstr "-x\t\t\tРедактирование зашифрованных файлов"
 
 msgid "-display <display>\tConnect vim to this particular X-server"
-msgstr "-display <экран>\tПодсоединить VIM к указанному X-серверу"
+msgstr "-display <экран>\tПодсоединить Vim к указанному X-серверу"
 
 msgid "-X\t\t\tDo not connect to X server"
 msgstr "-X\t\t\tНе выполнять соединение с сервером X"
@@ -3212,6 +3210,11 @@ msgstr "--startuptime <файл>\tЗаписать временную метку о запуске в <файл>"
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tИспользовать вместо .viminfo файл <viminfo>"
 
+msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
+msgstr ""
+"--clean\t\tНеполная совместимость с Vi, Vim по умолчанию,\n"
+"\t\t\t\tбез модулей, без viminfo"
+
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h или --help\tВывести справку (это сообщение) и завершить работу"
 
@@ -3240,21 +3243,19 @@ msgstr ""
 "Параметры для gvim (версия Athena):\n"
 
 msgid "-display <display>\tRun vim on <display>"
-msgstr "-display <дисплей>\tЗапустить VIM на указанном <дисплее>"
+msgstr "-display <дисплей>\tЗапустить Vim на указанном <дисплее>"
 
 msgid "-iconic\t\tStart vim iconified"
-msgstr "-iconic\t\tЗапустить VIM в свёрнутом виде"
+msgstr "-iconic\t\tЗапустить Vim в свёрнутом виде"
 
 msgid "-background <color>\tUse <color> for the background (also: -bg)"
-msgstr ""
-"-background <цвет>\tИспользовать указанный <цвет> для фона (также: -bg)"
+msgstr "-background <цвет>\tИспользовать указанный <цвет> для фона (или -bg)"
 
 msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
-msgstr ""
-"-foreground <цвет>\tИспользовать <цвет> для обычного текста (также: -fg)"
+msgstr "-foreground <цвет>\tИспользовать <цвет> для обычного текста (или -fg)"
 
 msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
-msgstr "-font <шрифт>\t\tИспользовать <шрифт> для обычного текста (также: -fn)"
+msgstr "-font <шрифт>\tИспользовать <шрифт> для обычного текста (или -fn)"
 
 msgid "-boldfont <font>\tUse <font> for bold text"
 msgstr "-boldfont <шрифт>\tИспользовать <шрифт> для жирного текста"
@@ -3263,24 +3264,23 @@ msgid "-italicfont <font>\tUse <font> fo
 msgstr "-italicfont <шрифт>\tИспользовать <шрифт> для наклонного текста"
 
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
-msgstr ""
-"-geometry <геометрия>\tИспользовать начальную <геометрию> (также: -geom)"
+msgstr "-geometry <геометрия>\tИспользовать начальную <геометрию> (или -geom)"
 
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
-msgstr "-borderwidth <ширина>\tИспользовать <ширину> бордюра (также: -bw)"
+msgstr "-borderwidth <ширина>\tИспользовать <ширину> бордюра (или -bw)"
 
 msgid "-scrollbarwidth <width>  Use a scrollbar width of <width> (also: -sw)"
 msgstr ""
-"-scrollbarwidth <ширина> Использовать ширину полосы прокрутки (также: -sw)"
+"-scrollbarwidth <ширина> Использовать ширину полосы прокрутки (или -sw)"
 
 msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
-msgstr "-menuheight <высота>\tИспользовать <высоту> меню (также: -mh)"
+msgstr "-menuheight <высота>\tИспользовать <высоту> меню (или -mh)"
 
 msgid "-reverse\t\tUse reverse video (also: -rv)"
-msgstr "-reverse\t\tИспользовать инверсный видеорежим (также: -rv)"
+msgstr "-reverse\t\tИспользовать инверсный видеорежим (или -rv)"
 
 msgid "+reverse\t\tDon't use reverse video (also: +rv)"
-msgstr "+reverse\t\tНе использовать инверсный видеорежим (также: +rv)"
+msgstr "+reverse\t\tНе использовать инверсный видеорежим (или +rv)"
 
 msgid "-xrm <resource>\tSet the specified resource"
 msgstr "-xrm <ресурс>\tУстановить указанный <ресурс>"
@@ -3294,11 +3294,12 @@ msgstr ""
 
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr ""
-"-display <дисплей>\tЗапустить VIM на указанном <дисплее> (также: --display)"
+"-display <дисплей>\tЗапустить Vim на указанном <дисплее> (или --display)"
 
 msgid "--role <role>\tSet a unique role to identify the main window"
 msgstr ""
-"--role <роль>\tУстановить уникальную <роль> для идентификации главного окна"
+"--role <роль>\tУстановить уникальную <роль>\n"
+"\t\t\t\tдля идентификации главного окна"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tОткрыть Vim внутри другого компонента GTK"
@@ -3315,11 +3316,9 @@ msgstr "--windowid <HWND>\tОткрыть Vim внутри другого компонента win32"
 msgid "No display"
 msgstr "Нет дисплея"
 
-#. Failed to send, abort.
 msgid ": Send failed.\n"
 msgstr ": Отправка не удалась.\n"
 
-#. Let vim start normally.
 msgid ": Send failed. Trying to execute locally\n"
 msgstr ": Отправка не удалась. Попытка местного выполнения\n"
 
@@ -3340,7 +3339,6 @@ msgstr "Нет установленных отметок"
 msgid "E283: No marks matching \"%s\""
 msgstr "E283: Нет отметок, совпадающих с \"%s\""
 
-#. Highlight title
 msgid ""
 "\n"
 "mark line  col file/text"
@@ -3348,7 +3346,6 @@ msgstr ""
 "\n"
 "отмет стр  кол файл/текст"
 
-#. Highlight title
 msgid ""
 "\n"
 " jump line  col file/text"
@@ -3356,7 +3353,6 @@ msgstr ""
 "\n"
 "прыжок стр  кол файл/текст"
 
-#. Highlight title
 msgid ""
 "\n"
 "change line  col text"
@@ -3371,7 +3367,6 @@ msgstr ""
 "\n"
 "# Глобальные отметки:\n"
 
-#. Write the jumplist with -'
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
@@ -3444,7 +3439,6 @@ msgstr "E298: Не получен блок номер 2?"
 msgid "E843: Error while updating swap file crypt"
 msgstr "E843: Ошибка при обновлении шифрования своп-файла"
 
-#. could not (re)open the swap file, what can we do????
 msgid "E301: Oops, lost the swap file!!!"
 msgstr "E301: Ой, потерялся своп-файл!!!"
 
@@ -3629,7 +3623,6 @@ msgstr ""
 msgid "Using crypt key from swap file for the text file.\n"
 msgstr "Использование ключа шифрования из своп-файла для текстового файла.\n"
 
-#. use msg() to start the scrolling properly
 msgid "Swap files found:"
 msgstr "Обнаружены своп-файлы:"
 
@@ -3800,23 +3793,17 @@ msgstr "при открытии файла: \""
 msgid "      NEWER than swap file!\n"
 msgstr "                    Более СВЕЖИЙ, чем своп-файл!\n"
 
-#. Some of these messages are long to allow translation to
-#. * other languages.
 msgid ""
 "\n"
 "(1) Another program may be editing the same file.  If this is the case,\n"
 "    be careful not to end up with two different instances of the same\n"
-"    file when making changes."
+"    file when making changes.  Quit, or continue with caution.\n"
 msgstr ""
 "\n"
 "(1) Возможно, редактирование этого же файла выполняется в другой программе.\n"
 "    Если это так, то будьте внимательны при внесении изменений, чтобы\n"
-"    у вас не появилось два разных варианта одного и того же файла."
-
-# Сообщение разделено, " \n" добавлено т.к. строка не помещается.
-msgid "  Quit, or continue with caution.\n"
-msgstr ""
-"    Завершите работу или продолжайте с осторожностью.\n"
+"    у вас не появилось два разных варианта одного и того же файла.\n"
+"    Выйдите или продолжайте с осторожностью.\n"
 
 msgid "(2) An edit session for this file crashed.\n"
 msgstr "(2) Сеанс редактирования этого файла завершён аварийно.\n"
@@ -3894,7 +3881,6 @@ msgstr "E328: Меню в этом режиме не существует"
 msgid "E329: No menu \"%s\""
 msgstr "E329: Нет меню %s"
 
-#. Only a mnemonic or accelerator is not valid.
 msgid "E792: Empty menu name"
 msgstr "E792: Пустое имя меню"
 
@@ -3907,8 +3893,6 @@ msgstr "E331: Элементы меню нельзя добавлять непосредственно в полоску меню"
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Разделители не могут быть компонентом пути к меню"
 
-#. Now we have found the matching menu, and we list the mappings
-#. Highlight title
 msgid ""
 "\n"
 "--- Menus ---"
@@ -3919,6 +3903,10 @@ msgstr ""
 msgid "Tear off this menu"
 msgstr "Оторвать это меню"
 
+#, c-format
+msgid "E335: Menu not defined for %s mode"
+msgstr "E335: Меню не определено для режима %s"
+
 msgid "E333: Menu path must lead to a menu item"
 msgstr "E333: Путь к меню должен вести к элементу меню"
 
@@ -3926,10 +3914,6 @@ msgstr "E333: Путь к меню должен вести к элементу меню"
 msgid "E334: Menu not found: %s"
 msgstr "E334: Меню не найдено: %s"
 
-#, c-format
-msgid "E335: Menu not defined for %s mode"
-msgstr "E335: Меню не определено для режима %s"
-
 msgid "E336: Menu path must lead to a sub-menu"
 msgstr "E336: Путь к меню должен вести к подменю"
 
@@ -4001,7 +3985,6 @@ msgstr "Сохранение файла"
 msgid "Open File dialog"
 msgstr "Открытие файла"
 
-#. TODO: non-GUI file selector here
 msgid "E338: Sorry, no file browser in console mode"
 msgstr ""
 "E338: Извините, но в консольном режиме нет проводника по файловой системе"
@@ -4120,20 +4103,11 @@ msgstr "E346: В пути смены каталога больше нет каталогов \"%s\""
 msgid "E347: No more file \"%s\" found in path"
 msgstr "E347: В известных каталогах больше нет файлов \"%s\""
 
-msgid "Cannot connect to Netbeans #2"
-msgstr "Невозможно соединиться с NetBeans #2"
-
-msgid "Cannot connect to Netbeans"
-msgstr "Невозможно соединиться с NetBeans"
-
 #, c-format
 msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
 msgstr ""
 "E668: Неправильный режим доступа к информации о соединении с NetBeans: \"%s\""
 
-msgid "read from Netbeans socket"
-msgstr "чтение из гнезда NetBeans"
-
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
 msgstr "E658: Потеряно соединение с NetBeans для буфера %ld"
@@ -4155,7 +4129,7 @@ msgid "E774: 'operatorfunc' is empty"
 msgstr "E774: Значением опции 'operatorfunc' является пустая строка"
 
 msgid "E775: Eval feature not available"
-msgstr "E775: eval не доступна"
+msgstr "E775: eval недоступна"
 
 msgid "Warning: terminal cannot highlight"
 msgstr "Предупреждение: терминал не может выполнять подсветку"
@@ -4176,8 +4150,9 @@ msgstr "E662: В начале списка изменений"
 msgid "E663: At end of changelist"
 msgstr "E663: В конце списка изменений"
 
-msgid "Type  :quit<Enter>  to exit Vim"
-msgstr "Введите :quit<Enter>  для выхода из Vim"
+msgid "Type  :qa!  and press <Enter> to abandon all changes and exit Vim"
+msgstr ""
+"Введите  :qa!  и нажмите <Enter> для отмены всех изменений и выхода из Vim"
 
 #, c-format
 msgid "1 line %sed 1 time"
@@ -4209,7 +4184,6 @@ msgstr "Изменены отступы в строках (%ld) "
 msgid "E748: No previously used register"
 msgstr "E748: Нет предыдущего использованного регистра"
 
-#. must display the prompt
 msgid "cannot yank; delete anyway"
 msgstr "скопировать не удалось, удаление выполнено"
 
@@ -4224,25 +4198,30 @@ msgstr "изменено строк: %ld"
 msgid "freeing %ld lines"
 msgstr "очищено строк: %ld"
 
-msgid "block of 1 line yanked"
-msgstr "скопирован блок из одной строки"
-
-msgid "1 line yanked"
-msgstr "скопирована одна строка"
-
-#, c-format
-msgid "block of %ld lines yanked"
-msgstr "скопирован блок из строк: %ld"
-
-#, c-format
-msgid "%ld lines yanked"
-msgstr "скопировано строк: %ld"
+#, c-format
+msgid " into \"%c"
+msgstr " в \"%c"
+
+#, c-format
+msgid "block of 1 line yanked%s"
+msgstr "скопирован блок из одной строки%s"
+
+#, c-format
+msgid "1 line yanked%s"
+msgstr "скопирована одна строка%s"
+
+#, c-format
+msgid "block of %ld lines yanked%s"
+msgstr "скопирован блок из %ld строк%s"
+
+#, c-format
+msgid "%ld lines yanked%s"
+msgstr "скопировано %ld строк%s"
 
 #, c-format
 msgid "E353: Nothing in register %s"
 msgstr "E353: В регистре %s ничего нет"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Registers ---"
@@ -4276,35 +4255,32 @@ msgid "%ld Cols; "
 msgstr "Колонок: %ld; "
 
 #, c-format
-msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-msgstr "Выделено %s%ld из %ld строк; %ld из %ld слов; %ld из %ld байт"
+msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes"
+msgstr "Выделено %s%ld из %ld строк; %lld из %lld слов; %lld из %lld байт"
 
 #, c-format
 msgid ""
-"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
-"Bytes"
-msgstr ""
-"Выделено %s%ld из %ld стр.; %ld из %ld слов; %ld из %ld симв.; %ld из %ld "
-"байт"
-
-#, c-format
-msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-msgstr "Кол. %s из %s; стр. %ld из %ld; сл. %ld из %ld; байт %ld из %ld"
+"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of "
+"%lld Bytes"
+msgstr ""
+"Выделено %s%ld из %ld стр.; %lld из %lld слов; %lld из %lld симв.; %lld из "
+"%lld байт"
+
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld"
+msgstr "Кол. %s из %s; стр. %ld из %ld; сл. %lld из %lld; байт %lld из %lld"
 
 #, c-format
 msgid ""
-"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
-"%ld"
-msgstr ""
-"Кол. %s из %s; стр. %ld из %ld; сл. %ld из %ld; симв. %ld из %ld; байт %ld "
-"из %ld"
-
-#, c-format
-msgid "(+%ld for BOM)"
-msgstr "(+%ld с учётом BOM)"
-
-msgid "%<%f%h%m%=Page %N"
-msgstr "%<%f%h%m%=Стр. %N"
+"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte "
+"%lld of %lld"
+msgstr ""
+"Кол. %s из %s; стр. %ld из %ld; сл. %lld из %lld; симв. %lld из %lld; байт "
+"%lld из %lld"
+
+#, c-format
+msgid "(+%lld for BOM)"
+msgstr "(+%lld с учётом BOM)"
 
 msgid "Thanks for flying Vim"
 msgstr "Благодарим за использование Vim"
@@ -4331,6 +4307,10 @@ msgstr "E522: Не обнаружено в termcap"
 msgid "E539: Illegal character <%s>"
 msgstr "E539: Недопустимый символ <%s>"
 
+#, c-format
+msgid "For option %s"
+msgstr "Для опции %s"
+
 msgid "E529: Cannot set 'term' to empty string"
 msgstr "E529: Значение опции 'term' не может быть пустой строкой"
 
@@ -4352,6 +4332,10 @@ msgstr "E835: Конфликтует со значением 'fillchars'"
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
 msgstr "E617: Не может быть изменено в графическом интерфейсе GTK+ 2"
 
+#, c-format
+msgid "E950: Cannot convert between %s and %s"
+msgstr "E950: Невозможно преобразовать %s и %s"
+
 msgid "E524: Missing colon"
 msgstr "E524: Пропущено двоеточие"
 
@@ -4411,6 +4395,9 @@ msgstr "E541: Слишком много элементов"
 msgid "E542: unbalanced groups"
 msgstr "E542: Несбалансированные группы"
 
+msgid "E946: Cannot make a terminal with running job modifiable"
+msgstr "E946: Невозможно сделать терминал изменённым с запущенным заданием"
+
 msgid "E590: A preview window already exists"
 msgstr "E590: Окно предпросмотра уже есть"
 
@@ -4418,6 +4405,9 @@ msgid "W17: Arabic requires UTF-8, do ':
 msgstr ""
 "W17: Арабский требует использования UTF-8, введите ':set encoding=utf-8'"
 
+msgid "E954: 24-bit colors are not supported on this environment"
+msgstr "E954: 24 битный цвет не поддерживается в этом окружении"
+
 #, c-format
 msgid "E593: Need at least %d lines"
 msgstr "E593: Нужно хотя бы %d строк"
@@ -4430,9 +4420,6 @@ msgstr "E594: Нужно хотя бы %d колонок"
 msgid "E355: Unknown option: %s"
 msgstr "E355: Неизвестная опция: %s"
 
-#. There's another character after zeros or the string
-#. * is empty.  In both cases, we are trying to set a
-#. * num option using a string.
 #, c-format
 msgid "E521: Number required: &%s = '%s'"
 msgstr "E521: Требуется указать число: &%s = '%s'"
@@ -4456,7 +4443,7 @@ msgid ""
 "--- Local option values ---"
 msgstr ""
 "\n"
-"--- Местные значения опций ---"
+"--- Локальные значения опций ---"
 
 msgid ""
 "\n"
@@ -4505,7 +4492,6 @@ msgstr "невозможно сменить режим консоли?!\n"
 msgid "mch_get_shellsize: not a console??\n"
 msgstr "mch_get_shellsize: не в консоли??\n"
 
-#. if Vim opened a window: Executing a shell may cause crashes
 msgid "E360: Cannot execute shell with -f option"
 msgstr "E360: Невозможно выполнить оболочку с параметром -f"
 
@@ -4527,9 +4513,6 @@ msgstr "ОШИБКА ВВОДА/ВЫВОДА"
 msgid "Message"
 msgstr "Сообщение"
 
-msgid "'columns' is not 80, cannot execute external commands"
-msgstr "Значение опции 'columns' не равно 80, внешние программы не выполняются"
-
 msgid "E237: Printer selection failed"
 msgstr "E237: Неудачное завершение выбора принтера"
 
@@ -4554,6 +4537,10 @@ msgid "E244: Illegal charset name \"%s\"
 msgstr "E244: Недопустимое имя кодировки \"%s\" в имени шрифта \"%s\""
 
 #, c-format
+msgid "E244: Illegal quality name \"%s\" in font name \"%s\""
+msgstr "E244: Недопустимое имя свойства \"%s\" в имени шрифта \"%s\""
+
+#, c-format
 msgid "E245: Illegal char '%c' in font name \"%s\""
 msgstr "E245: Недопустимый символ '%c' в имени шрифта \"%s\""
 
@@ -4588,25 +4575,13 @@ msgstr ""
 "\n"
 "Невозможно установить контекст безопасности для "
 
-msgid "Could not set security context "
-msgstr "Невозможно установить контекст безопасности "
-
-msgid " for "
-msgstr " для "
-
-#. no enough size OR unexpected error
-msgid "Could not get security context "
-msgstr "Невозможно получить контекст безопасности "
-
-msgid ". Removing it!\n"
-msgstr ". Будет удалён!\n"
-
-msgid ""
-"\n"
-"Cannot execute shell "
-msgstr ""
-"\n"
-"Невозможно запустить оболочку "
+#, c-format
+msgid "Could not set security context %s for %s"
+msgstr "Невозможно установить контекст безопасности %s для для %s"
+
+#, c-format
+msgid "Could not get security context %s for %s. Removing it!"
+msgstr "Невозможно получить контекст безопасности %s для %s. Будет удалено!"
 
 msgid ""
 "\n"
@@ -4638,6 +4613,13 @@ msgstr ""
 
 msgid ""
 "\n"
+"Cannot execute shell "
+msgstr ""
+"\n"
+"Невозможно запустить оболочку "
+
+msgid ""
+"\n"
 "Command terminated\n"
 msgstr ""
 "\n"
@@ -4679,10 +4661,6 @@ msgid "Could not fix up function pointer
 msgstr "Невозможно исправить указатели функций для DLL!"
 
 #, c-format
-msgid "shell returned %d"
-msgstr "завершение работы оболочки с кодом %d"
-
-#, c-format
 msgid "Vim: Caught %s event\n"
 msgstr "Vim: Перехвачено событие %s\n"
 
@@ -4711,6 +4689,13 @@ msgid "Vim Warning"
 msgstr "Предупреждение Vim"
 
 #, c-format
+msgid "shell returned %d"
+msgstr "завершение работы оболочки с кодом %d"
+
+msgid "E926: Current location list was changed"
+msgstr "E926: Изменён список текущих расположений"
+
+#, c-format
 msgid "E372: Too many %%%c in format string"
 msgstr "E372: В строке формата слишком много %%%c"
 
@@ -4742,6 +4727,12 @@ msgstr "E379: Имя каталога не задано или равно пустой строке"
 msgid "E553: No more items"
 msgstr "E553: Больше нет элементов"
 
+msgid "E924: Current window was closed"
+msgstr "E924: Текущее окно было закрыто"
+
+msgid "E925: Current quickfix was changed"
+msgstr "E925: Изменён список текущих быстрых исправлений"
+
 #, c-format
 msgid "(%d of %d)%s%s: "
 msgstr "(%d из %d)%s%s: "
@@ -4749,19 +4740,18 @@ msgstr "(%d из %d)%s%s: "
 msgid " (line deleted)"
 msgstr " (строка удалена)"
 
+#, c-format
+msgid "%serror list %d of %d; %d errors "
+msgstr "%sсписок ошибок %d из %d; %d ошибок"
+
 msgid "E380: At bottom of quickfix stack"
 msgstr "E380: Внизу стека быстрых исправлений"
 
 msgid "E381: At top of quickfix stack"
 msgstr "E381: Наверху стека быстрых исправлений"
 
-#, c-format
-msgid "error list %d of %d; %d errors"
-msgstr "список ошибок %d из %d; %d ошибок"
-
-msgid "E382: Cannot write, 'buftype' option is set"
-msgstr ""
-"E382: Запись невозможна, значение опции 'buftype' не является пустой строкой"
+msgid "No entries"
+msgstr "Нет элементов"
 
 msgid "Error file"
 msgstr "Файл ошибок"
@@ -4787,6 +4777,12 @@ msgstr "E369: Недопустимый элемент в %s%%[]"
 msgid "E769: Missing ] after %s["
 msgstr "E769: Пропущена ] после %s["
 
+msgid "E944: Reverse range in character class"
+msgstr "E944: Обратный диапазон в символьном классе"
+
+msgid "E945: Range too large in character class"
+msgstr "E945: Диапазон слишком велик в символьном классе"
+
 #, c-format
 msgid "E53: Unmatched %s%%("
 msgstr "E53: Нет пары для %s%%("
@@ -4813,6 +4809,9 @@ msgstr "E69: Пропущена ] после %s%%["
 msgid "E70: Empty %s%%[]"
 msgstr "E70: Пустое %s%%[]"
 
+msgid "E65: Illegal back reference"
+msgstr "E65: Недопустимая обратная ссылка"
+
 msgid "E339: Pattern too long"
 msgstr "E339: Слишком длинный шаблон"
 
@@ -4849,9 +4848,6 @@ msgstr "E63: Недопустимое использование \\_"
 msgid "E64: %s%c follows nothing"
 msgstr "E64: %s%c ни за чем не следует"
 
-msgid "E65: Illegal back reference"
-msgstr "E65: Недопустимая обратная ссылка"
-
 msgid "E68: Invalid character after \\z"
 msgstr "E68: Недопустимый символ после \\z"
 
@@ -4881,6 +4877,9 @@ msgstr ""
 "E864: после \\%#= может быть только 0, 1 или 2. Будет использоваться "
 "автоматическая машина"
 
+msgid "Switching to backtracking RE engine for pattern: "
+msgstr "Включено отслеживание движка рег. выражений для шаблона: "
+
 msgid "E865: (NFA) Regexp end encountered prematurely"
 msgstr "E865: (НКА) неожиданный конец регулярного выражения"
 
@@ -4896,11 +4895,13 @@ msgstr "E877: (рег. выражение НКА) неправильный класс символов: %ld"
 msgid "E867: (NFA) Unknown operator '\\z%c'"
 msgstr "E867: (НКА) неизвестный оператор '\\z%c'"
 
+msgid "E951: \\% value too large"
+msgstr "E951: \\% значение слишком большое"
+
 #, c-format
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: (НКА) неизвестный оператор '\\%%%c'"
 
-#. should never happen
 msgid "E868: Error building NFA with equivalence class!"
 msgstr "E868: ошибка при создании НКА с классом эквивалентности!"
 
@@ -4911,11 +4912,9 @@ msgstr "E869: (НКА) неизвестный оператор '\\@%c'"
 msgid "E870: (NFA regexp) Error reading repetition limits"
 msgstr "E870: (рег. выражение НКА) ошибка при чтении границ повторения"
 
-#. Can't have a multi follow a multi.
 msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
 msgstr "E871: (рег. выражение НКА) множество не может следовать за множеством!"
 
-#. Too many `('
 msgid "E872: (NFA regexp) Too many '('"
 msgstr "E872: (рег. выражение НКА) слишком много '('"
 
@@ -4980,9 +4979,6 @@ msgstr " Иврит"
 msgid " Arabic"
 msgstr " Арабский"
 
-msgid " (lang)"
-msgstr " (язык)"
-
 msgid " (paste)"
 msgstr " (вклейка)"
 
@@ -5025,7 +5021,6 @@ msgstr "E386: После ';' ожидается ввод '?' или '/'"
 msgid " (includes previously listed match)"
 msgstr " (включает раннее показанные соответствия)"
 
-#. cursor at status line
 msgid "--- Included files "
 msgstr "--- Включённые файлы "
 
@@ -5077,8 +5072,49 @@ msgstr ""
 "# Последний %sШаблон поиска:\n"
 "~"
 
-msgid "E759: Format error in spell file"
-msgstr "E759: Ошибка формата в файле правописания"
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: Проверка правописания выключена"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
+msgstr ""
+"Предупреждение: Невозможно найти список слов \"%s_%s.spl\" или \"%s_ascii.spl"
+"\""
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr ""
+"Предупреждение: Невозможно найти список слов \"%s.%s.spl\" или \"%s.ascii.spl"
+"\""
+
+msgid "E797: SpellFileMissing autocommand deleted buffer"
+msgstr "E797: Буфер удалён при выполнении автокоманды SpellFileMissing"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "Предупреждение: регион %s не поддерживается"
+
+msgid "Sorry, no suggestions"
+msgstr "Извините, нет предположений"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "Извините, только %ld предположений"
+
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "Заменить \"%.*s\" на:"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: Нет предыдущей замены правописания"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: Не найдено: %s"
 
 msgid "E758: Truncated spell file"
 msgstr "E758: Файл правописания обрезан"
@@ -5100,21 +5136,6 @@ msgstr "E762: Символы в FOL, LOW или UPP за пределами диапазона"
 msgid "Compressing word tree..."
 msgstr "Сжатие дерева слов..."
 
-msgid "E756: Spell checking is not enabled"
-msgstr "E756: Проверка правописания выключена"
-
-#, c-format
-msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
-msgstr ""
-"Предупреждение: Невозможно найти список слов \"%s_%s.spl\" или \"%s_ascii.spl"
-"\""
-
-#, c-format
-msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-msgstr ""
-"Предупреждение: Невозможно найти список слов \"%s.%s.spl\" или \"%s.ascii.spl"
-"\""
-
 #, c-format
 msgid "Reading spell file \"%s\""
 msgstr "Чтение файла правописания \"%s\""
@@ -5132,8 +5153,24 @@ msgid "E770: Unsupported section in spel
 msgstr "E770: Неподдерживаемый раздел в файле правописания"
 
 #, c-format
-msgid "Warning: region %s not supported"
-msgstr "Предупреждение: регион %s не поддерживается"
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: Это не похоже на файл .sug: %s"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Старый файл .sug, требует обновления: %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: Файл .sug для более новой версии Vim: %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: Файл .sug не соответствует файлу .spl: %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: Ошибка при чтении файла .sug: %s"
 
 #, c-format
 msgid "Reading affix file %s ..."
@@ -5281,8 +5318,8 @@ msgid "E760: No word count in %s"
 msgstr "E760: Количество слов не указано в %s"
 
 #, c-format
-msgid "line %6d, word %6d - %s"
-msgstr "строка %6d, слово %6d — %s"
+msgid "line %6d, word %6ld - %s"
+msgstr "строка %6d, слово %6ld — %s"
 
 #, c-format
 msgid "Duplicate word in %s line %d: %s"
@@ -5346,10 +5383,6 @@ msgstr "Сжато %d из %d узлов; осталось %d (%d%%)"
 msgid "Reading back spell file..."
 msgstr "Чтение записанного файла правописания..."
 
-#.
-#. * Go through the trie of good words, soundfold each word and add it to
-#. * the soundfold trie.
-#.
 msgid "Performing soundfolding..."
 msgstr "Выполнение звуковой свёртки..."
 
@@ -5372,8 +5405,9 @@ msgstr "Оценка использования памяти при выполнении: %d байт"
 msgid "E751: Output file name must not have region name"
 msgstr "E751: Имя выходного файла не должно содержать названия региона"
 
-msgid "E754: Only up to 8 regions supported"
-msgstr "E754: Поддерживается не более 8-ми регионов"
+#, c-format
+msgid "E754: Only up to %ld regions supported"
+msgstr "E754: Поддерживается не более %ld регионов"
 
 #, c-format
 msgid "E755: Invalid region in %s"
@@ -5404,62 +5438,40 @@ msgstr "Слово '%.*s' добавлено в %s"
 msgid "E763: Word characters differ between spell files"
 msgstr "E763: Символы слов отличаются в файлах правописания"
 
-msgid "Sorry, no suggestions"
-msgstr "Извините, нет предположений"
-
-#, c-format
-msgid "Sorry, only %ld suggestions"
-msgstr "Извините, только %ld предположений"
-
-#. for when 'cmdheight' > 1
-#. avoid more prompt
-#, c-format
-msgid "Change \"%.*s\" to:"
-msgstr "Заменить \"%.*s\" на:"
-
-#, c-format
-msgid " < \"%.*s\""
-msgstr " < \"%.*s\""
-
-msgid "E752: No previous spell replacement"
-msgstr "E752: Нет предыдущей замены правописания"
-
-#, c-format
-msgid "E753: Not found: %s"
-msgstr "E753: Не найдено: %s"
-
-#, c-format
-msgid "E778: This does not look like a .sug file: %s"
-msgstr "E778: Это не похоже на файл .sug: %s"
-
-#, c-format
-msgid "E779: Old .sug file, needs to be updated: %s"
-msgstr "E779: Старый файл .sug, требует обновления: %s"
-
-#, c-format
-msgid "E780: .sug file is for newer version of Vim: %s"
-msgstr "E780: Файл .sug для более новой версии Vim: %s"
-
-#, c-format
-msgid "E781: .sug file doesn't match .spl file: %s"
-msgstr "E781: Файл .sug не соответствует файлу .spl: %s"
-
-#, c-format
-msgid "E782: error while reading .sug file: %s"
-msgstr "E782: Ошибка при чтении файла .sug: %s"
-
-#. This should have been checked when generating the .spl
-#. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783: Повторяющийся символ в элементе MAP"
 
 msgid "No Syntax items defined for this buffer"
 msgstr "Синтаксические элементы для данного буфера не определены"
 
+msgid "syntax conceal on"
+msgstr "синтаксическое скрытие включено"
+
+msgid "syntax conceal off"
+msgstr "синтаксическое скрытие отключено"
+
 #, c-format
 msgid "E390: Illegal argument: %s"
 msgstr "E390: Недопустимый параметр: %s"
 
+msgid "syntax case ignore"
+msgstr "синтаксическое игнорирование регистра"
+
+msgid "syntax case match"
+msgstr "синтаксическое соответствие регистра"
+
+msgid "syntax spell toplevel"
+msgstr "синтаксическая проверка правописания верхнего уровня"
+
+msgid "syntax spell notoplevel"
+msgstr "синтаксическая проверка правописания без верхнего уровня"
+
+msgid "syntax spell default"
+msgstr "синтаксическая проверка правописания по умолчанию"
+
+msgid "syntax iskeyword "
+msgstr "синтаксическое ключевое слово"
+
 #, c-format
 msgid "E391: No such syntax cluster: %s"
 msgstr "E391: Синтаксический кластер %s не найден"
@@ -5537,6 +5549,10 @@ msgid "E789: Missing ']': %s"
 msgstr "E789: Пропущено ']': %s"
 
 #, c-format
+msgid "E890: trailing char after ']': %s]%s"
+msgstr "E890: Лишние символы после ']': %s]%s"
+
+#, c-format
 msgid "E398: Missing '=': %s"
 msgstr "E398: Пропущено '=': %s"
 
@@ -5688,7 +5704,6 @@ msgstr "E428: Невозможно перейти в позицию за последней совпадающей меткой"
 msgid "File \"%s\" does not exist"
 msgstr "Файл \"%s\" не существует"
 
-#. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
 msgstr "метка %d из %d%s"
@@ -5703,7 +5718,6 @@ msgstr " Используется метка с символами в другом регистре!"
 msgid "E429: File \"%s\" does not exist"
 msgstr "E429: Файл \"%s\" не существует"
 
-#. Highlight title
 msgid ""
 "\n"
 "  # TO tag         FROM line  in file/text"
@@ -5734,7 +5748,6 @@ msgstr "Перед байтом %ld"
 msgid "E432: Tags file not sorted: %s"
 msgstr "E432: Файл меток не отсортирован: %s"
 
-#. never opened any tags file
 msgid "E433: No tags file"
 msgstr "E433: Файл меток не обнаружен"
 
@@ -5770,7 +5783,6 @@ msgstr "E436: В termcap нет записи \"%s\""
 msgid "E437: terminal capability \"cm\" required"
 msgstr "E437: Требуется способность терминала \"cm\""
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Terminal keys ---"
@@ -5778,6 +5790,35 @@ msgstr ""
 "\n"
 "--- Кнопки терминала ---"
 
+msgid "Cannot open $VIMRUNTIME/rgb.txt"
+msgstr "Невозможно открыть $VIMRUNTIME/rgb.txt"
+
+#, c-format
+msgid "Kill job in \"%s\"?"
+msgstr "Убить задание в \"%s\"?"
+
+msgid "Terminal"
+msgstr "Терминал"
+
+msgid "Terminal-finished"
+msgstr "Терминал-завершено"
+
+msgid "active"
+msgstr "активно"
+
+msgid "running"
+msgstr "выполнение"
+
+msgid "finished"
+msgstr "завершено"
+
+#, c-format
+msgid "E953: File exists: %s"
+msgstr "E953: Файл существует: %s"
+
+msgid "E955: Not a terminal buffer"
+msgstr "E955: Не является буфером терминала"
+
 msgid "new shell started\n"
 msgstr "запуск новой оболочки\n"
 
@@ -5787,12 +5828,9 @@ msgstr "Vim: Ошибка чтения ввода, выход...\n"
 msgid "Used CUT_BUFFER0 instead of empty selection"
 msgstr "Вместо пустого выделения используется CUT_BUFFER0"
 
-#. This happens when the FileChangedRO autocommand changes the
-#. * file in a way it becomes shorter.
 msgid "E881: Line count changed unexpectedly"
 msgstr "E881: Неожиданно изменился счётчик строк"
 
-#. must display the prompt
 msgid "No undo possible; continue anyway"
 msgstr "Отмена невозможна; продолжать выполнение"
 
@@ -5915,7 +5953,7 @@ msgstr " номер  измен.  когда              сохранено"
 
 #, c-format
 msgid "%ld seconds ago"
-msgstr "%ld с назад"
+msgstr "%ldс назад"
 
 msgid "E790: undojoin is not allowed after undo"
 msgstr "E790: Объединение отмен не допускается после отмены"
@@ -5926,13 +5964,133 @@ msgstr "E439: Повреждён список отмены"
 msgid "E440: undo line missing"
 msgstr "E440: Потеряна строка отмены"
 
-#. Only MS VC 4.1 and earlier can do Win32s
-msgid ""
-"\n"
-"MS-Windows 16/32-bit GUI version"
-msgstr ""
-"\n"
-"Версия с графическим интерфейсом для MS-Windows 16/32 бит"
+#, c-format
+msgid "E122: Function %s already exists, add ! to replace it"
+msgstr "E122: Функция %s уже существует. Добавьте !, чтобы заменить её."
+
+msgid "E717: Dictionary entry already exists"
+msgstr "E717: Запись уже существует в словаре"
+
+msgid "E718: Funcref required"
+msgstr "E718: Требуется ссылка на функцию"
+
+#, c-format
+msgid "E130: Unknown function: %s"
+msgstr "E130: Неизвестная функция: %s"
+
+#, c-format
+msgid "E125: Illegal argument: %s"
+msgstr "E125: Недопустимый параметр: %s"
+
+#, c-format
+msgid "E853: Duplicate argument name: %s"
+msgstr "E853: Повторяющееся имя параметра: %s"
+
+#, c-format
+msgid "E740: Too many arguments for function %s"
+msgstr "E740: Слишком много параметров для функции %s"
+
+#, c-format
+msgid "E116: Invalid arguments for function %s"
+msgstr "E116: Параметры для функции %s заданы неверно"
+
+msgid "E132: Function call depth is higher than 'maxfuncdepth'"
+msgstr "E132: Глубина вызова функции больше, чем значение 'maxfuncdepth'"
+
+#, c-format
+msgid "calling %s"
+msgstr "вызов %s"
+
+#, c-format
+msgid "%s aborted"
+msgstr "%s прервана"
+
+#, c-format
+msgid "%s returning #%ld"
+msgstr "%s возвращает #%ld"
+
+#, c-format
+msgid "%s returning %s"
+msgstr "%s возвращает %s"
+
+msgid "E699: Too many arguments"
+msgstr "E699: Слишком много параметров"
+
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117: Неизвестная функция: %s"
+
+#, c-format
+msgid "E933: Function was deleted: %s"
+msgstr "E933: Функция удалена: %s"
+
+#, c-format
+msgid "E119: Not enough arguments for function: %s"
+msgstr "E119: Недостаточно параметров для функции %s"
+
+#, c-format
+msgid "E120: Using <SID> not in a script context: %s"
+msgstr "E120: <SID> используется вне сценария: %s"
+
+#, c-format
+msgid "E725: Calling dict function without Dictionary: %s"
+msgstr "E725: Вызов функции dict без словаря: %s"
+
+msgid "E129: Function name required"
+msgstr "E129: Требуется имя функции"
+
+#, c-format
+msgid "E128: Function name must start with a capital or \"s:\": %s"
+msgstr "E128: Имя функции должно начинаться с заглавной буквы или \"s:\": %s"
+
+#, c-format
+msgid "E884: Function name cannot contain a colon: %s"
+msgstr "E884: Имя функции не может содержать двоеточие: %s"
+
+#, c-format
+msgid "E123: Undefined function: %s"
+msgstr "E123: Неопределённая функция: %s"
+
+#, c-format
+msgid "E124: Missing '(': %s"
+msgstr "E124: Пропущена '(': %s"
+
+msgid "E862: Cannot use g: here"
+msgstr "E862: Здесь невозможно использовать g:"
+
+#, c-format
+msgid "E932: Closure function should not be at top level: %s"
+msgstr "E932: функция-замыкание не должна быть на верхнем уровне: %s"
+
+msgid "E126: Missing :endfunction"
+msgstr "E126: Пропущена команда :endfunction"
+
+#, c-format
+msgid "W22: Text found after :endfunction: %s"
+msgstr "W22: Текст после :endfunction: %s"
+
+#, c-format
+msgid "E707: Function name conflicts with variable: %s"
+msgstr "E707: Имя функции конфликтует с переменной: %s"
+
+#, c-format
+msgid "E127: Cannot redefine function %s: It is in use"
+msgstr "E127: Невозможно переопределить функцию %s, она используется"
+
+#, c-format
+msgid "E746: Function name does not match script file name: %s"
+msgstr "E746: Имя функции не соответствует имени файла сценария: %s"
+
+#, c-format
+msgid "E131: Cannot delete function %s: It is in use"
+msgstr "E131: Невозможно удалить функцию %s, она используется"
+
+msgid "E133: :return not inside a function"
+msgstr "E133: команда :return вне функции"
+
+#, c-format
+msgid "E107: Missing parentheses: %s"
+msgstr "E107: Пропущены скобки: %s"
 
 msgid ""
 "\n"
@@ -5948,9 +6106,6 @@ msgstr ""
 "\n"
 "Версия с графическим интерфейсом для MS-Windows 32 бит"
 
-msgid " in Win32s mode"
-msgstr " в режиме Win32"
-
 msgid " with OLE support"
 msgstr " с поддержкой OLE"
 
@@ -5970,45 +6125,17 @@ msgstr ""
 
 msgid ""
 "\n"
-"MS-Windows 16-bit version"
-msgstr ""
-"\n"
-"Версия для MS-Windows 16 бит"
-
-msgid ""
-"\n"
-"32-bit MS-DOS version"
-msgstr ""
-"\n"
-"Версия для MS-DOS 32 бит"
-
-msgid ""
-"\n"
-"16-bit MS-DOS version"
-msgstr ""
-"\n"
-"Версия для MS-DOS 16 бит"
+"macOS version"
+msgstr ""
+"\n"
+"Версия для macOS"
 
 msgid ""
 "\n"
-"MacOS X (unix) version"
-msgstr ""
-"\n"
-"Версия для MacOS X (unix)"
-
-msgid ""
-"\n"
-"MacOS X version"
-msgstr ""
-"\n"
-"Версия для MacOS X"
-
-msgid ""
-"\n"
-"MacOS version"
-msgstr ""
-"\n"
-"Версия для MacOS"
+"macOS version w/o darwin feat."
+msgstr ""
+"\n"
+"Версия для macOS без darwin"
 
 msgid ""
 "\n"
@@ -6039,7 +6166,7 @@ msgid ""
 "Compiled "
 msgstr ""
 "\n"
-"Скомпилирован "
+"Скомпилировано: "
 
 msgid "by "
 msgstr " "
@@ -6077,11 +6204,14 @@ msgid ""
 "Tiny version "
 msgstr ""
 "\n"
-"Версия \"Кроха\" "
+"Крохотная версия "
 
 msgid "without GUI."
 msgstr "без графического интерфейса."
 
+msgid "with GTK3 GUI."
+msgstr "с графическим интерфейсом GTK3."
+
 msgid "with GTK2-GNOME GUI."
 msgstr "с графическим интерфейсом GTK2-GNOME."
 
@@ -6109,11 +6239,8 @@ msgstr "с графическим интерфейсом Carbon."
 msgid "with Cocoa GUI."
 msgstr "с графическим интерфейсом Cocoa."
 
-msgid "with (classic) GUI."
-msgstr "с классическим графическим интерфейсом."
-
 msgid "  Features included (+) or not (-):\n"
-msgstr "  Включённые (+) и отключённые (-) особенности:\n"
+msgstr "  Включённые(+) и отключённые(-) особенности:\n"
 
 msgid "   system vimrc file: \""
 msgstr "            общесистемный файл vimrc: \""
@@ -6145,6 +6272,9 @@ msgstr " второй пользовательский файл gvimrc: \""
 msgid "3rd user gvimrc file: \""
 msgstr " третий пользовательский файл gvimrc: \""
 
+msgid "       defaults file: \""
+msgstr "                      файл умолчаний: \""
+
 msgid "    system menu file: \""
 msgstr "             общесистемный файл меню: \""
 
@@ -6176,7 +6306,7 @@ msgid "by Bram Moolenaar et al."
 msgstr "Брам Мооленаар и другие"
 
 msgid "Vim is open source and freely distributable"
-msgstr "Vim это свободно распространяемая программа с открытым кодом"
+msgstr "Vim — свободно распространяемая программа с открытым кодом"
 
 msgid "Help poor children in Uganda!"
 msgstr "Бедным детям в Уганде нужна ваша помощь!"
@@ -6191,7 +6321,7 @@ msgid "type  :help<Enter>  or  <F1>  for
 msgstr "наберите :help<Enter> или <F1>   для получения справки        "
 
 msgid "type  :help version8<Enter>   for version info"
-msgstr "наберите :help version8<Enter>   чтобы узнать об этой версии  "
+msgstr "наберите :help version8<Enter>   для информации о версии      "
 
 msgid "Running in Vi compatible mode"
 msgstr "Работа в Vi-совместимом режиме"
@@ -6235,12 +6365,6 @@ msgstr "наберите :help register<Enter>   для получения информации     "
 msgid "menu  Help->Sponsor/Register  for information    "
 msgstr "меню Справка->Помощь/Регистрация для получения информации       "
 
-msgid "WARNING: Windows 95/98/ME detected"
-msgstr "ПРЕДУПРЕЖДЕНИЕ: обнаружена Windows 95/98/ME"
-
-msgid "type  :help windows95<Enter>  for info on this"
-msgstr "наберите :help windows95<Enter>  для получения информации     "
-
 msgid "Already only one window"
 msgstr "На экране всего одно окно"
 
@@ -6272,10 +6396,26 @@ msgstr "E446: Нет имени файла в позиции курсора"
 msgid "E447: Can't find file \"%s\" in path"
 msgstr "E447: Файл \"%s\" не найден по известным путям"
 
+#, c-format
+msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)"
+msgstr "E799: Неверный ID: %ld (должен быть больше или равен 1)"
+
+#, c-format
+msgid "E801: ID already taken: %ld"
+msgstr "E801: ID уже занят: %ld"
+
 msgid "List or number required"
 msgstr "Требуется список или число"
 
 #, c-format
+msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)"
+msgstr "E802: Неверный ID: %ld (должен быть больше или равен 1)"
+
+#, c-format
+msgid "E803: ID not found: %ld"
+msgstr "E803: ID не найден: %ld"
+
+#, c-format
 msgid "E370: Could not load library %s"
 msgstr "E370: Невозможно загрузить библиотеку %s"
 
@@ -6299,7 +6439,6 @@ msgstr "Сравнить с помощью Vim"
 msgid "Edit with &Vim"
 msgstr "Ре&дактировать с помощью Vim"
 
-#. Now concatenate
 msgid "Edit with existing Vim - "
 msgstr "Редактировать в запущенном Vim — "
 
@@ -6318,10 +6457,6 @@ msgstr "Слишком длинный путь!"
 msgid "--No lines in buffer--"
 msgstr "-- Нет строк в буфере --"
 
-#.
-#. * 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: Выполнение команды прервано"
 
@@ -6378,6 +6513,10 @@ msgstr "E236: Шрифт \"%s\" не является моноширинным"
 msgid "E473: Internal error"
 msgstr "E473: Внутренняя ошибка"
 
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E685: Внутренняя ошибка: %s"
+
 msgid "Interrupted"
 msgstr "Прервано"
 
@@ -6392,6 +6531,14 @@ msgid "E475: Invalid argument: %s"
 msgstr "E475: Недопустимый параметр: %s"
 
 #, c-format
+msgid "E475: Invalid value for argument %s"
+msgstr "E475: Недопустимое значение параметра: %s"
+
+#, c-format
+msgid "E475: Invalid value for argument %s: %s"
+msgstr "E475: Недопустимое значение параметра %s: %s"
+
+#, c-format
 msgid "E15: Invalid expression: %s"
 msgstr "E15: Недопустимое выражение: %s"
 
@@ -6409,6 +6556,9 @@ msgstr "E17: \"%s\" является каталогом"
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364: Неудачный вызов функции \"%s()\" из библиотеки"
 
+msgid "E667: Fsync failed"
+msgstr "E667: Не удалось выполнить функцию fsync()"
+
 #, c-format
 msgid "E448: Could not load library function %s"
 msgstr "E448: Не удалось загрузить функцию %s из библиотеки"
@@ -6505,12 +6655,6 @@ msgstr "E484: Невозможно открыть файл %s"
 msgid "E485: Can't read file %s"
 msgstr "E485: Невозможно прочитать файл %s"
 
-msgid "E37: No write since last change (add ! to override)"
-msgstr "E37: Изменения не сохранены (добавьте !, чтобы обойти проверку)"
-
-msgid "E37: No write since last change"
-msgstr "E37: Изменения не сохранены"
-
 msgid "E38: Null argument"
 msgstr "E38: Нулевой параметр"
 
@@ -6563,6 +6707,31 @@ msgstr "E46: Невозможно изменить переменную только для чтения \"%s\""
 msgid "E794: Cannot set variable in the sandbox: \"%s\""
 msgstr "E794: Невозможно изменить переменную в песочнице: \"%s\""
 
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Невозможно использовать пустой ключ для словаря"
+
+msgid "E715: Dictionary required"
+msgstr "E715: Требуется словарь"
+
+#, c-format
+msgid "E684: list index out of range: %ld"
+msgstr "E684: Индекс списка за пределами диапазона: %ld"
+
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118: Слишком много параметров для функции %s"
+
+#, c-format
+msgid "E716: Key not present in Dictionary: %s"
+msgstr "E716: Нет ключа в словаре: %s"
+
+msgid "E714: List required"
+msgstr "E714: Требуется список"
+
+#, c-format
+msgid "E712: Argument of %s must be a List or Dictionary"
+msgstr "E712: Параметр %s должен быть списком или словарём"
+
 msgid "E47: Error while reading errorfile"
 msgstr "E47: Ошибка при чтении файла ошибок"
 
@@ -6622,8 +6791,8 @@ msgstr ""
 msgid "E80: Error while writing"
 msgstr "E80: Ошибка при записи"
 
-msgid "Zero count"
-msgstr "Нулевое значение счётчика"
+msgid "E939: Positive count required"
+msgstr "E939: Требуется положительный счётчик"
 
 msgid "E81: Using <SID> not in a script context"
 msgstr "E81: Использование <SID> вне контекста сценария"
@@ -6637,16 +6806,16 @@ msgstr "E463: Невозможно изменить охраняемую область"
 msgid "E744: NetBeans does not allow changes in read-only files"
 msgstr "E744: NetBeans не допускает изменений в файлах только для чтения"
 
-#, c-format
-msgid "E685: Internal error: %s"
-msgstr "E685: Внутренняя ошибка: %s"
-
 msgid "E363: pattern uses more memory than 'maxmempattern'"
 msgstr "E363: Шаблон использует больше памяти чем 'maxmempattern'"
 
 msgid "E749: empty buffer"
 msgstr "E749: Пустой буфер"
 
+#, c-format
+msgid "E86: Buffer %ld does not exist"
+msgstr "E86: Буфер %ld не существует"
+
 msgid "E682: Invalid search pattern or delimiter"
 msgstr "E682: Неправильная строка поиска или разделитель"
 
@@ -6660,6 +6829,13 @@ msgstr "E764: Опция '%s' не установлена"
 msgid "E850: Invalid register name"
 msgstr "E850: Недопустимое имя регистра"
 
+#, c-format
+msgid "E919: Directory not found in '%s': \"%s\""
+msgstr "E919: Каталог не найден в '%s': \"%s\""
+
+msgid "E952: Autocommand caused recursive behavior"
+msgstr "E952: Автокоманда вызвала рекурсивное поведение"
+
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "Поиск будет продолжен с КОНЦА документа"
 
@@ -6767,7 +6943,6 @@ msgstr "Конструктор списка не допускает ключевые слова как аргументы"
 msgid "list index out of range"
 msgstr "Индекс списка за пределами диапазона"
 
-#. No more suitable format specifications in python-2.3
 #, c-format
 msgid "internal error: failed to get vim list item %d"
 msgstr "Внутренняя ошибка: не удалось получить элемент VIM-списка %d"
@@ -6814,9 +6989,6 @@ msgstr "Не существует безымянной функции %s"
 msgid "function %s does not exist"
 msgstr "Функция %s не существует"
 
-msgid "function constructor does not accept keyword arguments"
-msgstr "Конструктор функции не допускает ключевые слова как аргументы"
-
 #, c-format
 msgid "failed to run function %s"
 msgstr "Невозможно выполнить функцию %s"
@@ -6905,6 +7077,10 @@ msgid "unable to convert %s to vim dicti
 msgstr "Невозможно преобразовать %s в словарь VIM"
 
 #, c-format
+msgid "unable to convert %s to vim list"
+msgstr "Невозможно преобразовать %s в список VIM"
+
+#, c-format
 msgid "unable to convert %s to vim structure"
 msgstr "Невозможно преобразовать %s в структуру VIM"
 
@@ -6932,3 +7108,4 @@ msgstr ""
 "Ошибка при установке пути: sys.path не является списком\n"
 "Следует добавить vim.VIM_SPECIAL_PATH в sys.path"
 
+