changeset 15033:f8b0f1e42f2c

Update runtime files. commit https://github.com/vim/vim/commit/f0d58efc9dc46be37c629cbc99b4125448ca39fd Author: Bram Moolenaar <Bram@vim.org> Date: Fri Nov 16 16:13:44 2018 +0100 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Fri, 16 Nov 2018 16:15:07 +0100
parents 4b3b0ea9b09d
children 6e4e0d43b20b
files runtime/autoload/tohtml.vim runtime/doc/eval.txt runtime/doc/gui.txt runtime/doc/if_perl.txt runtime/doc/indent.txt runtime/doc/motion.txt runtime/doc/options.txt runtime/doc/pattern.txt runtime/doc/starting.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/tagsrch.txt runtime/doc/todo.txt runtime/lang/menu_ja_jp.euc-jp.vim runtime/lang/menu_ja_jp.utf-8.vim runtime/lang/menu_japanese_japan.932.vim runtime/plugin/tohtml.vim runtime/syntax/2html.vim runtime/tutor/tutor.uk.utf-8 src/po/de.po src/po/ja.euc-jp.po src/po/ja.po src/po/ja.sjis.po
diffstat 23 files changed, 887 insertions(+), 781 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/tohtml.vim
+++ b/runtime/autoload/tohtml.vim
@@ -1,6 +1,6 @@
 " Vim autoload file for the tohtml plugin.
 " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
-" Last Change: 2013 Sep 03
+" Last Change: 2018 Nov 11
 "
 " Additional contributors:
 "
@@ -544,12 +544,16 @@ func! tohtml#Diff2HTML(win_list, buf_lis
     " add required javascript in reverse order so we can just call append again
     " and again without adjusting {{{
 
-    " insert script closing tag
-    call append(style_start, [
-	  \ '',
-	  \ s:settings.use_xhtml ? '//]]>' : '-->',
-	  \ "</script>"
-	  \ ])
+    let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids || !empty(s:settings.prevent_copy)
+
+    " insert script closing tag if needed
+    if s:uses_script
+      call append(style_start, [
+	    \ '',
+	    \ s:settings.use_xhtml ? '//]]>' : '-->',
+	    \ "</script>"
+	    \ ])
+    endif
 
     " insert script which corrects the size of small input elements in
     " prevent_copy mode. See 2html.vim for details on why this is needed and how
@@ -575,55 +579,61 @@ func! tohtml#Diff2HTML(win_list, buf_lis
 	    \ '}'
 	    \ ])
     endif
-    "
+
     " insert javascript to get IDs from line numbers, and to open a fold before
     " jumping to any lines contained therein
-    call append(style_start, [
-	  \ "  /* Always jump to new location even if the line was hidden inside a fold, or",
-	  \ "   * we corrected the raw number to a line ID.",
-	  \ "   */",
-	  \ "  if (lineElem) {",
-	  \ "    lineElem.scrollIntoView(true);",
-	  \ "  }",
-	  \ "  return true;",
-	  \ "}",
-	  \ "if ('onhashchange' in window) {",
-	  \ "  window.onhashchange = JumpToLine;",
-	  \ "}"
-	  \ ])
-    if s:settings.dynamic_folds
+    if s:settings.line_ids
+      call append(style_start, [
+	    \ "  /* Always jump to new location even if the line was hidden inside a fold, or",
+	    \ "   * we corrected the raw number to a line ID.",
+	    \ "   */",
+	    \ "  if (lineElem) {",
+	    \ "    lineElem.scrollIntoView(true);",
+	    \ "  }",
+	    \ "  return true;",
+	    \ "}",
+	    \ "if ('onhashchange' in window) {",
+	    \ "  window.onhashchange = JumpToLine;",
+	    \ "}"
+	    \ ])
+
+      if s:settings.dynamic_folds
+	call append(style_start, [
+	      \ "",
+	      \ "  /* navigate upwards in the DOM tree to open all folds containing the line */",
+	      \ "  var node = lineElem;",
+	      \ "  while (node && node.id != 'vimCodeElement".s:settings.id_suffix."')",
+	      \ "  {",
+	      \ "    if (node.className == 'closed-fold')",
+	      \ "    {",
+	      \ "      /* toggle open the fold ID (remove window ID) */",
+	      \ "      toggleFold(node.id.substr(4));",
+	      \ "    }",
+	      \ "    node = node.parentNode;",
+	      \ "  }",
+	      \ ])
+      endif
+    endif
+
+    if s:settings.line_ids
       call append(style_start, [
 	    \ "",
-	    \ "  /* navigate upwards in the DOM tree to open all folds containing the line */",
-	    \ "  var node = lineElem;",
-	    \ "  while (node && node.id != 'vimCodeElement".s:settings.id_suffix."')",
-	    \ "  {",
-	    \ "    if (node.className == 'closed-fold')",
-	    \ "    {",
-	    \ "      /* toggle open the fold ID (remove window ID) */",
-	    \ "      toggleFold(node.id.substr(4));",
-	    \ "    }",
-	    \ "    node = node.parentNode;",
+	    \ "/* function to open any folds containing a jumped-to line before jumping to it */",
+	    \ "function JumpToLine()",
+	    \ "{",
+	    \ "  var lineNum;",
+	    \ "  lineNum = window.location.hash;",
+	    \ "  lineNum = lineNum.substr(1); /* strip off '#' */",
+	    \ "",
+	    \ "  if (lineNum.indexOf('L') == -1) {",
+	    \ "    lineNum = 'L'+lineNum;",
 	    \ "  }",
+	    \ "  if (lineNum.indexOf('W') == -1) {",
+	    \ "    lineNum = 'W1'+lineNum;",
+	    \ "  }",
+	    \ "  var lineElem = document.getElementById(lineNum);"
 	    \ ])
     endif
-    call append(style_start, [
-	  \ "",
-	  \ "/* function to open any folds containing a jumped-to line before jumping to it */",
-	  \ "function JumpToLine()",
-	  \ "{",
-	  \ "  var lineNum;",
-	  \ "  lineNum = window.location.hash;",
-	  \ "  lineNum = lineNum.substr(1); /* strip off '#' */",
-	  \ "",
-	  \ "  if (lineNum.indexOf('L') == -1) {",
-	  \ "    lineNum = 'L'+lineNum;",
-	  \ "  }",
-	  \ "  if (lineNum.indexOf('W') == -1) {",
-	  \ "    lineNum = 'W1'+lineNum;",
-	  \ "  }",
-	  \ "  lineElem = document.getElementById(lineNum);"
-	  \ ])
 
     " Insert javascript to toggle matching folds open and closed in all windows,
     " if dynamic folding is active.
@@ -648,11 +658,13 @@ func! tohtml#Diff2HTML(win_list, buf_lis
 	    \ ])
     endif
 
-    " insert script tag; javascript is always needed for the line number
-    " normalization for URL hashes
-    call append(style_start, [
-	  \ "<script type='text/javascript'>",
-	  \ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
+    if s:uses_script
+      " insert script tag; javascript is always needed for the line number
+      " normalization for URL hashes
+      call append(style_start, [
+	    \ "<script type='text/javascript'>",
+	    \ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
+    endif
 
     " Insert styles from all the generated html documents and additional styles
     " for the table-based layout of the side-by-side diff. The diff should take
@@ -767,7 +779,7 @@ func! tohtml#GetUserSettings() "{{{
     if user_settings.no_pre == 0
       call tohtml#GetOption(user_settings,
 	    \ 'expand_tabs',
-	    \ &expandtab || &ts != 8 || user_settings.number_lines ||
+	    \ &expandtab || &ts != 8 || &vts != '' || user_settings.number_lines ||
 	    \   (user_settings.dynamic_folds && !user_settings.no_foldcolumn))
     else
       let user_settings.expand_tabs = 1
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -2026,7 +2026,7 @@ append({lnum}, {text})		Number	append {t
 appendbufline({expr}, {lnum}, {text})
 				Number	append {text} below line {lnum}
 					in buffer {expr}
-argc( [{winid}])		Number	number of files in the argument list
+argc([{winid}])			Number	number of files in the argument list
 argidx()			Number	current index in the argument list
 arglistid([{winnr} [, {tabnr}]]) Number	argument list id
 argv({nr} [, {winid}])		String	{nr} entry of the argument list
@@ -2386,7 +2386,7 @@ sha256({string})		String	SHA256 checksum
 shellescape({string} [, {special}])
 				String	escape {string} for use as shell
 					command argument
-shiftwidth()			Number	effective value of 'shiftwidth'
+shiftwidth([{list}])		Number	effective value of 'shiftwidth'
 simplify({filename})		String	simplify filename as much as possible
 sin({expr})			Float	sine of {expr}
 sinh({expr})			Float	hyperbolic sine of {expr}
@@ -7639,12 +7639,20 @@ shellescape({string} [, {special}])			*s
 <		See also |::S|.
 
 
-shiftwidth()						*shiftwidth()*
+shiftwidth([{list}])						*shiftwidth()*
 		Returns the effective value of 'shiftwidth'. This is the
 		'shiftwidth' value unless it is zero, in which case it is the
 		'tabstop' value.  This function was introduced with patch
 		7.3.694 in 2012, everybody should have it by now.
 
+		When there is one argument {list} this is used as position
+		|List| for which to return the 'shiftwidth' value (actually
+		only the column number is relevant). This matters for the
+		'vartabstop' feature. For the {list} arguments see |cursor()|
+		function. If the 'vartabstop' setting is enabled and no
+		{list} argument is given, the current cursor position is
+		taken into account.
+
 
 simplify({filename})					*simplify()*
 		Simplify the file name as much as possible without changing
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -878,7 +878,7 @@ 5.4 Executing Menus					*execute-menus*
 				    't': |:tlmenu| Terminal mode
 				    'i': |:imenu|  Insert mode
 				    'c': |:cmenu|  Cmdline mode
-				
+
 
 If the console-mode vim has been compiled with WANT_MENU defined, you can
 use :emenu to access useful menu items you may have got used to from GUI
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -45,8 +45,8 @@ The Perl patches for Vim were made by:
 	Matt Gerassimof
 
 Perl for MS-Windows (and other platforms) can be found at:
-http://www.perl.org/ The ActiveState one should work, Strawberry Perl is a
-good alternative.
+	http://www.perl.org/
+The ActiveState one should work, Strawberry Perl is a good alternative.
 
 ==============================================================================
 3. Using the Perl interface				*perl-using*
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -603,14 +603,14 @@ the use of square and curly brackets, an
 These conventions are not universally followed, so the Clojure indent script
 offers a few configurable options, listed below.
 
-If the current vim does not include searchpairpos(), the indent script falls
+If the current vim does not include |searchpairpos()|, the indent script falls
 back to normal 'lisp' indenting, and the following options are ignored.
 
 							*g:clojure_maxlines*
 
-Set maximum scan distance of searchpairpos(). Larger values trade performance
-for correctness when dealing with very long forms. A value of 0 will scan
-without limits.
+Set maximum scan distance of |searchpairpos()|. Larger values trade
+performance for correctness when dealing with very long forms. A value of 0
+will scan without limits.
 >
 	" Default
 	let g:clojure_maxlines = 100
@@ -936,14 +936,14 @@ given are the defaults.  Note that the v
 that you can change the value of 'shiftwidth' later.
 
 Indent after an open paren: >
-	let g:pyindent_open_paren = '&sw * 2'
+	let g:pyindent_open_paren = 'shiftwidth() * 2'
 Indent after a nested paren: >
-	let g:pyindent_nested_paren = '&sw'
+	let g:pyindent_nested_paren = 'shiftwidth()'
 Indent for a continuation line: >
-	let g:pyindent_continue = '&sw * 2'
+	let g:pyindent_continue = 'shiftwidth() * 2'
 
-The method uses searchpair() to look back for unclosed parenthesis.  This can
-sometimes be slow, thus it timeouts after 150 msec.  If you notice the
+The method uses |searchpair()| to look back for unclosed parenthesis.  This
+can sometimes be slow, thus it timeouts after 150 msec.  If you notice the
 indenting isn't correct, you can set a larger timeout in msec: >
 	let g:pyindent_searchpair_timeout = 500
 
@@ -1039,7 +1039,7 @@ Furthermore, setting the variable b:veri
 indenting width (default is 'shiftwidth'): >
 
   let b:verilog_indent_width = 4
-  let b:verilog_indent_width = &sw * 2
+  let b:verilog_indent_width = shiftwidth() * 2
 
 In addition, you can turn the verbose mode for debug issue: >
 
@@ -1162,7 +1162,7 @@ VIM							*ft-vim-indent*
 For indenting Vim scripts there is one variable that specifies the amount of
 indent for a continuation line, a line that starts with a backslash: >
 
-	:let g:vim_indent_cont = &sw * 3
+	:let g:vim_indent_cont = shiftwidth() * 3
 
 Three times shiftwidth is the default value.
 
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1025,7 +1025,7 @@ remembered.  You can return to that posi
 unless the line containing that position was changed or deleted.  The
 following commands are "jump" commands: "'", "`", "G", "/", "?", "n", "N",
 "%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H" and the
-commands that start editing a new file. 
+commands that start editing a new file.
 
 							*CTRL-O*
 CTRL-O			Go to [count] Older cursor position in jump list
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1057,9 +1057,9 @@ A jump table for the options with a shor
 	- To include a comma in a directory name precede it with a backslash.
 	- A directory name may end in an '/'.
 	- For Unix and Win32, if a directory ends in two path separators "//",
-	  the swap file name will be built from the complete path to the file
-	  with all path separators changed to percent '%' signs. This will
-	  ensure file name uniqueness in the backup directory.
+	  the backup file name will be built from the complete path to the
+	  file with all path separators changed to percent '%' signs. This
+	  will ensure file name uniqueness in the backup directory.
 	  On Win32, it is also possible to end with "\\".  However, When a
 	  separating comma is following, you must use "//", since "\\" will
 	  include the comma in the file name. Therefore it is recommended to
@@ -2686,11 +2686,11 @@ A jump table for the options with a shor
 				option to see when this happens.
 
 		indent-heuristic
-                                 Use the indent heuristic for the internal
-                                 diff library.
+				Use the indent heuristic for the internal
+				diff library.
 
                 algorithm:{text} Use the specified diff algorithm with the
-				internal diff engine. Currently supported 
+				internal diff engine. Currently supported
 				algorithms are:
 				myers      the default algorithm
 				minimal    spend extra time to generate the
@@ -8120,13 +8120,14 @@ A jump table for the options with a shor
 			global or local to buffer |global-local|
 			{not in Vi}
 	List of file names, separated by commas, that are used to lookup words
-	for thesaurus completion commands |i_CTRL-X_CTRL-T|.  Each line in
-	the file should contain words with similar meaning, separated by
-	non-keyword characters (white space is preferred).  Maximum line
-	length is 510 bytes.
-	To obtain a file to be used here, check out this ftp site:
-	ftp://ftp.cerias.purdue.edu/pub/dict/wordlists/  First get the README
-	file.
+	for thesaurus completion commands |i_CTRL-X_CTRL-T|.
+
+	Each line in the file should contain words with similar meaning,
+	separated by non-keyword characters (white space is preferred).
+	Maximum line length is 510 bytes.
+
+	Unfortunately we currently cannot recommend a file to be used here.
+
 	To include a comma in a file name precede it with a backslash.  Spaces
 	after a comma are ignored, otherwise spaces are included in the file
 	name.  See |option-backslash| about using backslashes.
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -295,7 +295,7 @@ the "*" is under your right hand middle 
 
 								*E956*
 In very rare cases a regular expression is used recursively.  This can happen
-when executing a pattern takes a long time and when checkig for messages on
+when executing a pattern takes a long time and when checking for messages on
 channels a callback is invoked that also uses a pattern or an autocommand is
 triggered.  In most cases this should be fine, but if a pattern is in use when
 it's used again it fails.  Usually this means there is something wrong with
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -515,7 +515,7 @@ a slash.  Thus "-R" means recovery and "
 --clean		Similar to "-u DEFAULTS -U NONE -i NONE":
 		- initializations from files and environment variables is
 		  skipped
-		-'runtimepath'and 'packpath' are set to exclude home
+		- 'runtimepath' and 'packpath' are set to exclude home
 		  directory entries (does not happen with -u DEFAULTS).
 		- the |defaults.vim| script is loaded, which implies
 		  'nocompatible': use Vim defaults
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -671,12 +671,12 @@ the rendered page generated by 2html.vim
    :let g:html_no_pre = 1
 <
 							  *g:html_expand_tabs*
-Default: 1 if 'tabstop' is 8, 'expandtab' is 0, and no fold column or line
-		numbers occur in the generated HTML;
-	 0 otherwise.
-When 0, <Tab> characters in the buffer text are replaced with an appropriate
+Default: 0 if 'tabstop' is 8, 'expandtab' is 0, 'vartabstop' is not in use,
+	       and no fold column or line numbers occur in the generated HTML;
+	 1 otherwise.
+When 1, <Tab> characters in the buffer text are replaced with an appropriate
 number of space characters, or &nbsp; references if |g:html_no_pre| is 1.
-When 1, if |g:html_no_pre| is 0 or unset, <Tab> characters in the buffer text
+When 0, if |g:html_no_pre| is 0 or unset, <Tab> characters in the buffer text
 are included as-is in the generated HTML. This is useful for when you want to
 allow copy and paste from a browser without losing the actual whitespace in
 the source document. Note that this can easily break text alignment and
@@ -774,6 +774,8 @@ When 1, generate XHTML 1.0 instead (XML 
     :let g:html_use_xhtml = 1
 <
 
+ vim:tw=78:sw=4:ts=8:sts=4:ft=help:norl:ai:noet:
+
 ABEL						*abel.vim* *ft-abel-syntax*
 
 ABEL highlighting provides some user-defined options.  To enable them, assign
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4652,6 +4652,7 @@ E958	eval.txt	/*E958*
 E96	diff.txt	/*E96*
 E960	options.txt	/*E960*
 E961	cmdline.txt	/*E961*
+E962	eval.txt	/*E962*
 E97	diff.txt	/*E97*
 E98	diff.txt	/*E98*
 E99	diff.txt	/*E99*
@@ -6692,6 +6693,7 @@ getscript-start	pi_getscript.txt	/*getsc
 gettabinfo()	eval.txt	/*gettabinfo()*
 gettabvar()	eval.txt	/*gettabvar()*
 gettabwinvar()	eval.txt	/*gettabwinvar()*
+gettagstack()	eval.txt	/*gettagstack()*
 getwininfo()	eval.txt	/*getwininfo()*
 getwinpos()	eval.txt	/*getwinpos()*
 getwinposx()	eval.txt	/*getwinposx()*
@@ -8435,6 +8437,7 @@ setqflist-examples	quickfix.txt	/*setqfl
 setreg()	eval.txt	/*setreg()*
 settabvar()	eval.txt	/*settabvar()*
 settabwinvar()	eval.txt	/*settabwinvar()*
+settagstack()	eval.txt	/*settagstack()*
 setting-guifont	gui.txt	/*setting-guifont*
 setting-guitablabel	tabpage.txt	/*setting-guitablabel*
 setting-tabline	tabpage.txt	/*setting-tabline*
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -179,8 +179,8 @@ commands explained above the tag stack w
    1  1 main		1  harddisk2:text/vim/test
    2  1 FuncB	       59  harddisk2:text/vim/src/main.c
 
-The gettagstack() function returns the tag stack of a specified window. The
-settagstack() function modifies the tag stack of a window.
+The |gettagstack()| function returns the tag stack of a specified window. The
+|settagstack()| function modifies the tag stack of a window.
 
 							*E73*
 When you try to use the tag stack while it doesn't contain anything you will
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -38,6 +38,8 @@ browser use: https://github.com/vim/vim/
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+runtest: for flaky test, try more often if error message changes (5 times)
+
 'incsearch' with :s: (#3321)
 - :s/foo  using CTRL-G moves to another line, should not happen, or use the
   correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
@@ -92,6 +94,19 @@ Terminal emulator window:
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
 
+Users get used to "function!" because they reload a script file.  How about
+recognizing the script is re-sourced and not giving an error for the first
+function that overwrites.  Then one can leave out the exclamation mark and
+catch actual errors, overwriting a function from another script.
+
+Update for German spell files: https://github.com/chrisbra/vim/compare/5e021c990f8817a50d3264782a5...3b27c92f297540761ebbd92d04fb3
+(Christian Brabandt, 2018 Nov 4)
+
+Patch for comparing quickfix and location stacks. (Yegappan, 2018 Nov 15)
+
+Patch to fix visual block problem. (Tom M, tommm, 2018 Nov 14)
+Also will write a test.
+
 Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
 #3417)
 
@@ -115,6 +130,9 @@ Include part of #3242?
 When a terminal exit_cb closes the window, a following typed key is lost, if
 it's in a mapping. (2018 Oct 6, #2302, #3522)
 
+Patch for dos installer to use logic instead of $HOME.  (Ken Takata, Nov 5,
+#3564)
+
 Completion mixes results from the current buffer with tags and other files.
 Happens when typing CTRL-N while still search for results.  E.g., type "b_" in
 terminal.c and then CTRL-N twice.
@@ -126,6 +144,9 @@ Williams, 2018 Oct 30)
 
 Problem with :tlmenu: Detach item added with all modes?  Issue #3563.
 
+Patch to avoid that increment or decrement gets interrupted by updating folds.
+(Christian Brabandt, 2018 Nov 6, #3599)
+
 C syntax: {} inside () causes following {} to be highlighted as error.
 (Michalis Giannakidis, 2006 Jun 1)
 
@@ -220,6 +241,9 @@ Set g:actual_curbuf when evaluating 'sta
 
 ml_get error. (Dominique Pelle, 2018 Sep 14, #3434)
 
+Patch to use forward slash for completion even when 'shellslash' is set.
+Adds 'completepathslash'.  (Yasuhiro Matsumoto, 2018 Nov 15, #3612)
+
 Only output t_Cs when t_Ce is also set.  do not use Cs and Ce termcap entries.  (Daniel Hahler, 2018 Sep 25)
 Add t_cS and t_cR for cursor color select and reset.  Use Cs and Cr terminfo
 values.
@@ -311,6 +335,7 @@ 2018 Sep 14)
 Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
 Maybe call it v:motiontype.  Update in #3490.
 Alternative: add the force flag to mode(), after "no".
+Patch ready to include?
 
 Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
@@ -369,7 +394,6 @@ Jun 10, #2998)
 
 Improve the installer for MS-Windows.  There are a few alternatives:
 - mui2 installer improved by Ken Takata (2018 Sep 29)
-- Add silent install option. (Shane Lee, #751)
 - Installer from Cream (Steve Hall).
 - Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
     https://github.com/gpwen/vim-installer-mui2
--- a/runtime/lang/menu_ja_jp.euc-jp.vim
+++ b/runtime/lang/menu_ja_jp.euc-jp.vim
@@ -2,9 +2,9 @@
 "
 " Menu Translations:	Japanese (EUC-JP)
 " Last Translator:	MURAOKA Taro  <koron.kaoriya@gmail.com>
-" Last Change:		28-Jan-2016.
+" Last Change:		18-Jul-2018.
 "
-" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
+" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
 "			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
--- a/runtime/lang/menu_ja_jp.utf-8.vim
+++ b/runtime/lang/menu_ja_jp.utf-8.vim
@@ -2,9 +2,9 @@
 "
 " Menu Translations:	Japanese (UTF-8)
 " Last Translator:	MURAOKA Taro  <koron.kaoriya@gmail.com>
-" Last Change:		28-Jan-2016.
+" Last Change:		18-Jul-2018.
 "
-" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
+" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
 "			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
--- a/runtime/lang/menu_japanese_japan.932.vim
+++ b/runtime/lang/menu_japanese_japan.932.vim
@@ -2,9 +2,9 @@
 "
 " Menu Translations:	Japanese (CP932)
 " Last Translator:	MURAOKA Taro  <koron.kaoriya@gmail.com>
-" Last Change:		28-Jan-2016.
+" Last Change:		18-Jul-2018.
 "
-" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
+" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
 "			  vim-jp <http://vim-jp.org/>
 "
 " THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
--- a/runtime/plugin/tohtml.vim
+++ b/runtime/plugin/tohtml.vim
@@ -1,82 +1,33 @@
 " Vim plugin for converting a syntax highlighted file to HTML.
 " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
-" Last Change: 2015 Sep 08
+" Last Change: 2018 Nov 11
 "
 " The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
 " $VIMRUNTIME/syntax/2html.vim
 "
-" TODO: {{{
-"   * Options for generating the CSS in external style sheets. New :TOcss
-"     command to convert the current color scheme into a (mostly) generic CSS
-"     stylesheet which can be re-used. Alternate stylesheet support? Good start
-"     by Erik Falor
-"     ( https://groups.google.com/d/topic/vim_use/7XTmC4D22dU/discussion ).
-"   * Add optional argument to :TOhtml command to specify mode (gui, cterm,
-"     term) to use for the styling. Suggestion by "nacitar".
-"   * Add way to override or specify which RGB colors map to the color numbers
-"     in cterm. Get better defaults than just guessing? Suggestion by "nacitar".
-"   * Disable filetype detection until after all processing is done.
-"   * Add option for not generating the hyperlink on stuff that looks like a
-"     URL? Or just color the link to fit with the colorscheme (and only special
-"     when hovering)?
-"   * Bug: Opera does not allow printing more than one page if uncopyable
-"     regions is turned on. Possible solution: Add normal text line numbers with
-"     display:none, set to display:inline for print style sheets, and hide
-"     <input> elements for print, to allow Opera printing multiple pages (and
-"     other uncopyable areas?). May need to make the new text invisible to IE
-"     with conditional comments to prevent copying it, IE for some reason likes
-"     to copy hidden text. Other browsers too?
-"   * Bug: still a 1px gap throughout the fold column when html_prevent_copy is
-"     "fn" in some browsers. Specifically, in Chromium on Ubuntu (but not Chrome
-"     on Windows). Perhaps it is font related?
-"   * Bug: still some gaps in the fold column when html_prevent_copy contains
-"     'd' and showing the whole diff (observed in multiple browsers). Only gaps
-"     on diff lines though.
-"   * Undercurl support via CSS3, with fallback to dotted or something:
-"	https://groups.google.com/d/topic/vim_use/BzXA6He1pHg/discussion
-"   * Redo updates for modified default foldtext (v11) when/if the patch is
-"     accepted to modify it.
-"   * Test case +diff_one_file-dynamic_folds+expand_tabs-hover_unfold
-"		+ignore_conceal-ignore_folding+no_foldcolumn+no_pre+no_progress
-"		+number_lines-pre_wrap-use_css+use_xhtml+whole_filler.xhtml
-"     does not show the whole diff filler as it is supposed to?
-"   * Bug: when 'isprint' is wrong for the current encoding, will generate
-"     invalid content. Can/should anything be done about this? Maybe a separate
-"     plugin to correct 'isprint' based on encoding?
-"   * Check to see if the windows-125\d encodings actually work in Unix without
-"     the 8bit- prefix. Add prefix to autoload dictionaries for Unix if not.
-"   * Font auto-detection similar to
-"     http://www.vim.org/scripts/script.php?script_id=2384 but for a variety of
-"     platforms.
-"   * Error thrown when sourcing 2html.vim directly when plugins are not loaded.
-"   * Pull in code from http://www.vim.org/scripts/script.php?script_id=3113 :
-"	- listchars support
-"	- full-line background highlight
-"	- other?
-"   * Make it so deleted lines in a diff don't create side-scrolling (get it
-"     free with full-line background highlight above).
-"   * Restore open/closed folds and cursor position after processing each file
-"     with option not to restore for speed increase.
-"   * Add extra meta info (generation time, etc.)?
-"   * Tidy up so we can use strict doctype in even more situations
-"   * Implementation detail: add threshold for writing the lines to the html
-"     buffer before we're done (5000 or so lines should do it)
-"   * TODO comments for code cleanup scattered throughout
-"}}}
-
 if exists('g:loaded_2html_plugin')
   finish
 endif
-let g:loaded_2html_plugin = 'vim7.4_v2'
+let g:loaded_2html_plugin = 'vim8.1_v1'
 
 "
 " Changelog: {{{
-"   7.4_v2  (this version): Fix error raised when converting a diff containing
+"   8.1_v1  (this version): Fix Bitbucket issue #6: Don't generate empty script
+"                           tag.
+"                           Fix Bitbucket issue #5: javascript should
+"                           declare variables with "var".
+"                           Fix Bitbucket issue #13: errors thrown sourcing
+"                           2html.vim directly when plugins not loaded.
+"                           Fix Bitbucket issue #16: support 'vartabstop'.
+"
+"   7.4 updates: {{{
+"   7.4_v2  (Vim 7.4.0899): Fix error raised when converting a diff containing
 "                           an empty buffer. Jan Stocker: allow g:html_font to
 "                           take a list so it is easier to specfiy fallback
 "                           fonts in the generated CSS.
 "   7.4_v1  (Vim 7.4.0000): Fix modeline mangling for new "Vim:" format, and
 "			    also for version-specific modelines like "vim>703:".
+"}}}
 "
 "   7.3 updates: {{{
 "   7.3_v14 (Vim 7.3.1246): Allow suppressing line number anchors using
@@ -170,9 +121,69 @@ let g:loaded_2html_plugin = 'vim7.4_v2'
 "}}}
 "}}}
 
+" TODO: {{{
+"   * Check the issue tracker:
+"     https://bitbucket.org/fritzophrenic/vim-tohtml/issues?status=new&status=open
+"   * Options for generating the CSS in external style sheets. New :TOcss
+"     command to convert the current color scheme into a (mostly) generic CSS
+"     stylesheet which can be re-used. Alternate stylesheet support? Good start
+"     by Erik Falor
+"     ( https://groups.google.com/d/topic/vim_use/7XTmC4D22dU/discussion ).
+"   * Add optional argument to :TOhtml command to specify mode (gui, cterm,
+"     term) to use for the styling. Suggestion by "nacitar".
+"   * Add way to override or specify which RGB colors map to the color numbers
+"     in cterm. Get better defaults than just guessing? Suggestion by "nacitar".
+"   * Disable filetype detection until after all processing is done.
+"   * Add option for not generating the hyperlink on stuff that looks like a
+"     URL? Or just color the link to fit with the colorscheme (and only special
+"     when hovering)?
+"   * Bug: Opera does not allow printing more than one page if uncopyable
+"     regions is turned on. Possible solution: Add normal text line numbers with
+"     display:none, set to display:inline for print style sheets, and hide
+"     <input> elements for print, to allow Opera printing multiple pages (and
+"     other uncopyable areas?). May need to make the new text invisible to IE
+"     with conditional comments to prevent copying it, IE for some reason likes
+"     to copy hidden text. Other browsers too?
+"   * Bug: still a 1px gap throughout the fold column when html_prevent_copy is
+"     "fn" in some browsers. Specifically, in Chromium on Ubuntu (but not Chrome
+"     on Windows). Perhaps it is font related?
+"   * Bug: still some gaps in the fold column when html_prevent_copy contains
+"     'd' and showing the whole diff (observed in multiple browsers). Only gaps
+"     on diff lines though.
+"   * Undercurl support via CSS3, with fallback to dotted or something:
+"	https://groups.google.com/d/topic/vim_use/BzXA6He1pHg/discussion
+"   * Redo updates for modified default foldtext (v11) when/if the patch is
+"     accepted to modify it.
+"   * Test case +diff_one_file-dynamic_folds+expand_tabs-hover_unfold
+"		+ignore_conceal-ignore_folding+no_foldcolumn+no_pre+no_progress
+"		+number_lines-pre_wrap-use_css+use_xhtml+whole_filler.xhtml
+"     does not show the whole diff filler as it is supposed to?
+"   * Bug: when 'isprint' is wrong for the current encoding, will generate
+"     invalid content. Can/should anything be done about this? Maybe a separate
+"     plugin to correct 'isprint' based on encoding?
+"   * Check to see if the windows-125\d encodings actually work in Unix without
+"     the 8bit- prefix. Add prefix to autoload dictionaries for Unix if not.
+"   * Font auto-detection similar to
+"     http://www.vim.org/scripts/script.php?script_id=2384 but for a variety of
+"     platforms.
+"   * Pull in code from http://www.vim.org/scripts/script.php?script_id=3113 :
+"	- listchars support
+"	- full-line background highlight
+"	- other?
+"   * Make it so deleted lines in a diff don't create side-scrolling (get it
+"     free with full-line background highlight above).
+"   * Restore open/closed folds and cursor position after processing each file
+"     with option not to restore for speed increase.
+"   * Add extra meta info (generation time, etc.)?
+"   * Tidy up so we can use strict doctype in even more situations
+"   * Implementation detail: add threshold for writing the lines to the html
+"     buffer before we're done (5000 or so lines should do it)
+"   * TODO comments for code cleanup scattered throughout
+"}}}
+
 " Define the :TOhtml command when:
 " - 'compatible' is not set
-" - this plugin was not already loaded
+" - this plugin or user override was not already loaded
 " - user commands are available. {{{
 if !&cp && !exists(":TOhtml") && has("user_commands")
   command -range=% -bar TOhtml :call tohtml#Convert2HTML(<line1>, <line2>)
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
-" Last Change: 2015 Sep 08
+" Last Change: 2018 Nov 11
 "
 " Additional contributors:
 "
@@ -633,6 +633,45 @@ if s:current_syntax == ''
   let s:current_syntax = 'none'
 endif
 
+" If the user is sourcing this script directly then the plugin version isn't
+" known because the main plugin script didn't load. In the usual case where the
+" user still has the full Vim runtime installed, or has this full plugin
+" installed in a package or something, then we can extract the version from the
+" main plugin file at it's usual spot relative to this file. Otherwise the user
+" is assembling their runtime piecemeal and we have no idea what versions of
+" other files may be present so don't even try to make a guess or assume the
+" presence of other specific files with specific meaning.
+"
+" We don't want to actually source the main plugin file here because the user
+" may have a good reason not to (e.g. they define their own TOhtml command or
+" something).
+"
+" If this seems way too complicated and convoluted, it is. Probably I should
+" have put the version information in the autoload file from the start. But the
+" version has been in the global variable for so long that changing it could
+" break a lot of user scripts.
+if exists("g:loaded_2html_plugin")
+  let s:pluginversion = g:loaded_2html_plugin
+else
+  if !exists("g:unloaded_tohtml_plugin")
+    let s:main_plugin_path = expand("<sfile>:p:h:h")."/plugin/tohtml.vim"
+    if filereadable(s:main_plugin_path)
+      let s:lines = readfile(s:main_plugin_path, "", 20)
+      call filter(s:lines, 'v:val =~ "loaded_2html_plugin = "')
+      if empty(s:lines)
+	let g:unloaded_tohtml_plugin = "unknown"
+      else
+	let g:unloaded_tohtml_plugin = substitute(s:lines[0], '.*loaded_2html_plugin = \([''"]\)\(\%(\1\@!.\)\+\)\1', '\2', '')
+      endif
+      unlet s:lines
+    else
+      let g:unloaded_tohtml_plugin = "unknown"
+    endif
+    unlet s:main_plugin_path
+  endif
+  let s:pluginversion = g:unloaded_tohtml_plugin
+endif
+
 " Split window to create a buffer with the HTML file.
 let s:orgbufnr = winbufnr(0)
 let s:origwin_stl = &l:stl
@@ -721,7 +760,7 @@ endif
 call extend(s:lines, [
       \ ("<title>".expand("%:p:~")."</title>"),
       \ ("<meta name=\"Generator\" content=\"Vim/".v:version/100.".".v:version%100.'"'.s:tag_close),
-      \ ("<meta name=\"plugin-version\" content=\"".g:loaded_2html_plugin.'"'.s:tag_close)
+      \ ("<meta name=\"plugin-version\" content=\"".s:pluginversion.'"'.s:tag_close)
       \ ])
 call add(s:lines, '<meta name="syntax" content="'.s:current_syntax.'"'.s:tag_close)
 call add(s:lines, '<meta name="settings" content="'.
@@ -807,12 +846,15 @@ if s:settings.use_css
   endif
 endif
 
-" insert script tag; javascript is always needed for the line number
-" normalization for URL hashes
-call extend(s:lines, [
-      \ "",
-      \ "<script type='text/javascript'>",
-      \ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
+let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids || !empty(s:settings.prevent_copy)
+
+" insert script tag if needed
+if s:uses_script
+  call extend(s:lines, [
+        \ "",
+        \ "<script type='text/javascript'>",
+        \ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
+endif
 
 " insert javascript to toggle folds open and closed
 if s:settings.dynamic_folds
@@ -849,8 +891,9 @@ if s:settings.line_ids
 	\ "  if (lineNum.indexOf('L') == -1) {",
 	\ "    lineNum = 'L'+lineNum;",
 	\ "  }",
-	\ "  lineElem = document.getElementById(lineNum);"
+	\ "  var lineElem = document.getElementById(lineNum);"
 	\ ])
+
   if s:settings.dynamic_folds
     call extend(s:lines, [
 	  \ "",
@@ -940,12 +983,14 @@ if !empty(s:settings.prevent_copy)
 	\ ])
 endif
 
-" insert script closing tag
-call extend(s:lines, [
-      \ '',
-      \ s:settings.use_xhtml ? '//]]>' : '-->',
-      \ "</script>"
-      \ ])
+" insert script closing tag if needed
+if s:uses_script
+  call extend(s:lines, [
+        \ '',
+        \ s:settings.use_xhtml ? '//]]>' : '-->',
+        \ "</script>"
+        \ ])
+endif
 
 call extend(s:lines, ["</head>"])
 if !empty(s:settings.prevent_copy)
@@ -1525,10 +1570,22 @@ while s:lnum <= s:end
 	if s:settings.expand_tabs
 	  let s:offset = 0
 	  let s:idx = stridx(s:expandedtab, "\t")
+	  let s:tablist = split(&vts,',')
+	  if empty(s:tablist)
+	    let s:tablist = [ &ts ]
+	  endif
+	  let s:tabidx = 0
+	  let s:tabwidth = 0
 	  while s:idx >= 0
+	    while s:startcol+s:idx > s:tabwidth + s:tablist[s:tabidx] 
+	      let s:tabwidth += s:tablist[s:tabidx]
+	      if s:tabidx < len(s:tablist)-1
+		let s:tabidx = s:tabidx+1
+	      endif
+	    endwhile
 	    if has("multi_byte_encoding")
 	      if s:startcol + s:idx == 1
-		let s:i = &ts
+		let s:i = s:tablist[s:tabidx]
 	      else
 		if s:idx == 0
 		  let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
@@ -1536,11 +1593,11 @@ while s:lnum <= s:end
 		  let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
 		endif
 		let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
-		let s:i = &ts - (s:vcol % &ts)
+		let s:i = s:tablist[s:tabidx] - (s:vcol - s:tabwidth)
 	      endif
 	      let s:offset -= s:i - 1
 	    else
-	      let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
+	      let s:i = s:tablist[s:tabidx] - ((s:idx + s:startcol - 1) - s:tabwidth)
 	    endif
 	    let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
 	    let s:idx = stridx(s:expandedtab, "\t")
--- a/runtime/tutor/tutor.uk.utf-8
+++ b/runtime/tutor/tutor.uk.utf-8
@@ -1,5 +1,5 @@
 ===============================================================================
-=                         Ласкаво простимо в уроки VIM                        =
+=                         Ласкаво просимо в уроки VIM                        =
 ===============================================================================
         
      Vim дуже потужний редактор, що має багато команд. Всі команди неможливо
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-11-01 09:43+0100\n"
+"POT-Creation-Date: 2018-11-04 18:02+0100\n"
 "PO-Revision-Date: 2008-05-24 17:26+0200\n"
 "Last-Translator: Christian Brabandt <cb@256bit.org>\n"
 "Language-Team: German\n"
@@ -58,7 +58,7 @@ msgid "E937: Attempt to delete a buffer 
 msgstr "E937: Versuch, Puffer zu lschen, der noch benutzt wird."
 
 msgid "E515: No buffers were unloaded"
-msgstr "E515: Kein Puffer wurden entladen."
+msgstr "E515: Kein Puffer wurde entladen."
 
 msgid "E516: No buffers were deleted"
 msgstr "E516: Kein Puffer wurde gelscht."
@@ -85,7 +85,7 @@ msgstr[0] "%d Puffer vollstndig gelscht"
 msgstr[1] "%d Puffer vollstndig gelscht"
 
 msgid "E90: Cannot unload last buffer"
-msgstr "E90: Kann letzten Puffer nicht ausladen"
+msgstr "E90: Kann letzten Puffer nicht entladen"
 
 msgid "E84: No modified buffer found"
 msgstr "E84: Keinen vernderter Puffer gefunden"
@@ -154,7 +154,7 @@ msgid "[RO]"
 msgstr "[RO]"
 
 msgid "[readonly]"
-msgstr "[Nur Lesen]"
+msgstr "[Schreibgeschtzt]"
 
 #, c-format
 msgid "%ld line --%d%%--"
@@ -334,7 +334,7 @@ msgid "Patch file"
 msgstr "Patch-Datei"
 
 msgid "E816: Cannot read patch output"
-msgstr "E816: Kann Patch Ausgabe nicht lesen."
+msgstr "E816: Patch-Ausgabe kann nicht gelesen werden."
 
 msgid "E98: Cannot read diff output"
 msgstr "E98: Diff-Ausgabe kann nicht gelesen werden."
@@ -346,7 +346,7 @@ msgid "E99: Current buffer is not in dif
 msgstr "E99: Aktueller Puffer ist nicht im Diff-Modus."
 
 msgid "E793: No other buffer in diff mode is modifiable"
-msgstr "E793: Kein weitere Puffer im diff-Modues ist modifizierbar."
+msgstr "E793: Kein weiterer Puffer im diff-Modues ist modifizierbar."
 
 msgid "E100: No other buffer in diff mode"
 msgstr "E100: Kein weiterer Puffer ist im Diff-Modus."
@@ -366,10 +366,10 @@ msgid "E787: Buffer changed unexpectedly
 msgstr "E787: Puffer nderte sich unerwartet."
 
 msgid "E104: Escape not allowed in digraph"
-msgstr "E104: 'Escape' ist in einem Digraphen nicht erlaubt."
+msgstr "E104: <Escape> ist in einem Digraphen nicht erlaubt."
 
 msgid "E544: Keymap file not found"
-msgstr "E544: Datei fr die Tastaturbelegung (keymap) nicht gefunden."
+msgstr "E544: Keymap-Datei fr die Tastaturbelegung nicht gefunden."
 
 msgid "E105: Using :loadkeymap not in a sourced file"
 msgstr "E105: :loadkeymap auerhalb einer eingelesenen Datei."
@@ -378,46 +378,46 @@ msgid "E791: Empty keymap entry"
 msgstr "E791: Leerer keymap Eintrag"
 
 msgid " Keyword completion (^N^P)"
-msgstr " Stichwort-Ergnzung (^N^P)"
+msgstr " Stichwort Vervollstndigung (^N^P)"
 
 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 msgstr " ^X Modus (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
-msgstr " Zeilen-Ergnzung (^L^N^P)"
+msgstr " Zeilen-Vervollstndigung (^L^N^P)"
 
 msgid " File name completion (^F^N^P)"
-msgstr " Dateinamen-Ergnzung (^F^N^P)"
+msgstr " Dateinamen-Vervollstndigung (^F^N^P)"
 
 msgid " Tag completion (^]^N^P)"
-msgstr " Tag-Ergnzung  (^]^N^P)"
+msgstr " Tag-Vervollstndigung  (^]^N^P)"
 
 msgid " Path pattern completion (^N^P)"
-msgstr " Pfadmuster-Ergnzung (^N^P)"
+msgstr " Pfad-Vervollstndigung (^N^P)"
 
 msgid " Definition completion (^D^N^P)"
-msgstr " Definitions-Ergnzung (^D^N^P)"
+msgstr " Definitions-Vervollstndigung (^D^N^P)"
 
 msgid " Dictionary completion (^K^N^P)"
-msgstr " Dictionary-Ergnzung (^K^N^P) "
+msgstr " Dictionary-Vervollstndigung (^K^N^P) "
 
 msgid " Thesaurus completion (^T^N^P)"
-msgstr " Thesaurus-Ergnzung (^T^N^P)"
+msgstr " Thesaurus-Vervollstndigung (^T^N^P)"
 
 msgid " Command-line completion (^V^N^P)"
-msgstr " Kommandozeilen-Ergnzung (^V^N^P)"
+msgstr " Kommandozeilen-Vervollstndigung (^V^N^P)"
 
 msgid " User defined completion (^U^N^P)"
-msgstr " Benutzerdefinierte Ergnzung (^U^N^P)"
+msgstr " Benutzerdefinierte Vervollstndigung (^U^N^P)"
 
 msgid " Omni completion (^O^N^P)"
-msgstr " Omni-Ergnzung (^O^N^P)"
+msgstr " Omni-Vervollstndigung (^O^N^P)"
 
 msgid " Spelling suggestion (s^N^P)"
 msgstr " Vorschlag der Rechtschreibprfung (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
-msgstr " Lokale Stichwort-Ergnzung(^N^P)"
+msgstr " Lokale Stichwort-Vervollstndigung(^N^P)"
 
 msgid "Hit end of paragraph"
 msgstr "Absatzende erreicht"
@@ -492,11 +492,11 @@ msgstr "E719: Kann [:] nicht mit einem D
 
 #, c-format
 msgid "E734: Wrong variable type for %s="
-msgstr "E734: Falscher Typ der Variable fr %s="
+msgstr "E734: Falscher Variablentyp fr %s="
 
 #, c-format
 msgid "E461: Illegal variable name: %s"
-msgstr "E461: Unzulssiger Name der Variable: %s"
+msgstr "E461: Unzulssiger Variablenname: %s"
 
 msgid "E806: using Float as a String"
 msgstr "E806: Float als String benutzt."
@@ -521,7 +521,7 @@ msgid "E708: [:] must come last"
 msgstr "E708: [:] muss am Schluss kommen."
 
 msgid "E709: [:] requires a List value"
-msgstr "E709: [:] bentigt eine Liste als Wert"
+msgstr "E709: [:] bentigt einen Listenwert"
 
 msgid "E710: List value has more items than target"
 msgstr "E710: Listenwert hat mehr Eintrge als das Ziel."
@@ -538,10 +538,10 @@ msgstr "E108: Keine solche Variable: \"%
 
 #, c-format
 msgid "E940: Cannot lock or unlock variable %s"
-msgstr "E940: Kann Variable \"%s\" nicht sperren  bzw. entsperren."
+msgstr "E940: Kann Variable \"%s\" nicht sperren bzw. entsperren."
 
 msgid "E743: variable nested too deep for (un)lock"
-msgstr "E743: Variable ist zu tief verschachtelt fr (un)lock."
+msgstr "E743: Variable ist zu tief verschachtelt zum (ent)sperren."
 
 msgid "E109: Missing ':' after '?'"
 msgstr "E109: Fehlender ':' nach '?'"
@@ -720,8 +720,8 @@ msgstr "&Ok"
 #, c-format
 msgid "+-%s%3ld line: "
 msgid_plural "+-%s%3ld lines: "
-msgstr[0] "+-%s%3ld Zeile, "
-msgstr[1] "+-%s%3ld Zeilen, "
+msgstr[0] "+-%s%3ld Zeile: "
+msgstr[1] "+-%s%3ld Zeilen: "
 
 #, c-format
 msgid "E700: Unknown function: %s"
@@ -967,8 +967,8 @@ msgstr "E141: Kein Dateiname fr Puffer %ld"
 
 msgid "E142: File not written: Writing is disabled by 'write' option"
 msgstr ""
-"E142: Datei wurde nicht geschrieben: Schreiben ist durch die Option 'write' "
-"ausgeschaltet"
+"E142: Datei wurde nicht geschrieben: Schreiben ist durch die 'write' Option "
+"deaktiviert"
 
 #, c-format
 msgid ""
@@ -1244,7 +1244,7 @@ msgstr "in '%s' nicht gefunden: \"%s\""
 #, c-format
 msgid "W20: Required python version 2.x not supported, ignoring file: %s"
 msgstr ""
-"W20: Erfoderliche Python Version 2.x nicht untersttzt, ignoriere Datei: %s"
+"W20: Erforderliche Python Version 2.x nicht untersttzt, ignoriere Datei: %s"
 
 #, c-format
 msgid "W21: Required python version 3.x not supported, ignoring file: %s"
@@ -1571,7 +1571,7 @@ msgid "E196: No digraphs in this version
 msgstr "E196: Keine Digraphen in dieser Version."
 
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
-msgstr "E608: Kann nicht :throw Exceptions mit 'Vim' Prfix"
+msgstr "E608: Kann nicht Exceptions mit 'Vim' Prfix werfen (:throw)"
 
 #, c-format
 msgid "Exception thrown: %s"
@@ -1681,7 +1681,7 @@ msgid "tagname"
 msgstr "Tag-Name"
 
 msgid " kind file\n"
-msgstr " verwandte Datei\n"
+msgstr " Typ Datei\n"
 
 msgid "'history' option is zero"
 msgstr "Option 'history' ist Null"
@@ -1861,7 +1861,7 @@ msgstr "E512: Fehler beim Schlieen"
 
 msgid "E513: write error, conversion failed (make 'fenc' empty to override)"
 msgstr ""
-"E513: Schreibfehler, Umwandlung schlug fehl (leere 'fenc' um sie zu "
+"E513: Schreibfehler, Umwandlung schlug fehl (leere 'fenc' um es zu "
 "erzwingen)"
 
 #, c-format
@@ -1869,8 +1869,8 @@ msgid ""
 "E513: write error, conversion failed in line %ld (make 'fenc' empty to "
 "override)"
 msgstr ""
-"E513: Schreibfehler, Konvertierung fehlgeschlagen in Zeile %ld (leere 'fenc' "
-"um sie zu erzwingen)"
+"E513: Schreibfehler, Konvertierung in Zeile %ld fehlgeschlagen (leere 'fenc' "
+"um es zu erzwingen)"
 
 msgid "E514: write error (file system full?)"
 msgstr "E514: Schreibfehler (Dateisystem voll?)"
@@ -1914,7 +1914,7 @@ msgid ""
 "WARNING: Original file may be lost or damaged\n"
 msgstr ""
 "\n"
-"ACHTUNG: Original-Datei knnte verloren oder zerstrt sein\n"
+"ACHTUNG: Original-Datei knnte verloren oder beschdigt sein\n"
 
 msgid "don't quit the editor until the file is successfully written!"
 msgstr ""
@@ -1960,7 +1960,7 @@ msgid "WARNING: The file has been change
 msgstr "ACHTUNG: Die Datei wurde seit dem letzten Lesen gendert!!!"
 
 msgid "Do you really want to write to it"
-msgstr "Mchten Sie es wirklich schreiben"
+msgstr "Mchten Sie sie wirklich schreiben"
 
 #, c-format
 msgid "E208: Error writing to \"%s\""
@@ -2049,7 +2049,7 @@ msgid "E936: Cannot delete the current g
 msgstr "E936: Kann die aktuelle Gruppe nicht lschen."
 
 msgid "W19: Deleting augroup that is still in use"
-msgstr "W19: Lsche Autogruppe, die noch in Benutztung ist."
+msgstr "W19: Lsche Autogruppe, die noch in Benutzung ist."
 
 #, c-format
 msgid "E215: Illegal character after *: %s"
@@ -2186,10 +2186,10 @@ msgid "E616: vim_SelFile: can't get font
 msgstr "E616: vim_SelFile: kann Schriftart %s nicht erhalten"
 
 msgid "E614: vim_SelFile: can't return to current directory"
-msgstr "E614: vim_SelFile: kann nicht zum laufenden Verzeichnis zurckkehren."
+msgstr "E614: vim_SelFile: kann nicht zum aktuellen Verzeichnis zurckkehren."
 
 msgid "Pathname:"
-msgstr "Pfad:"
+msgstr "Pfadname:"
 
 msgid "E615: vim_SelFile: can't get current directory"
 msgstr "E615: vim_SelFile: aktuelles Verzeichnis kann nicht ermittelt werden."
@@ -2208,7 +2208,7 @@ msgstr "Vim-Dialog"
 
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr ""
-"E232: BalloonEval kann nicht mit sowohl \"message\" und \"callback\" erzeugt "
+"E232: BalloonEval kann nicht sowohl mit \"message\" als auch \"callback\" erzeugt "
 "werden"
 
 msgid "_Cancel"
@@ -2293,7 +2293,7 @@ msgid "Open Tab..."
 msgstr "ffne Reiter..."
 
 msgid "Vim: Main window unexpectedly destroyed\n"
-msgstr "Vim: Hauptfenster unerwartet gelscht\n"
+msgstr "Vim: Hauptfenster unerwartet zerstrt\n"
 
 msgid "&Filter"
 msgstr "&Filter"
@@ -2314,7 +2314,7 @@ msgid "Files"
 msgstr "Dateien"
 
 msgid "&OK"
-msgstr "&Ok"
+msgstr "&OK"
 
 msgid "Selection"
 msgstr "Auswahl"
@@ -2488,10 +2488,10 @@ msgid "E621: \"%s\" resource file has wr
 msgstr "E621: \"%s\" Ressource-Datei hat die falsche Version."
 
 msgid "E673: Incompatible multi-byte encoding and character set."
-msgstr "E673: Unzulssiger Multi-Byte Zeichensatz"
+msgstr "E673: Inkompatible Multi-Byte Kodierung und Zeichensatz"
 
 msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
-msgstr "E674: printmbcharset darf nicht leer sein mit Multi-Byte Zeichensatz."
+msgstr "E674: printmbcharset darf nicht leer sein mit Multi-Byte Kodierung."
 
 msgid "E675: No default font specified for multi-byte printing."
 msgstr "E675: Keine Standardschriftart angegeben fr Multi-Byte Ausdruck."
@@ -2537,7 +2537,7 @@ msgid "Show this message"
 msgstr "diese Nachricht anzeigen"
 
 msgid "Kill a connection"
-msgstr "Verbindung abbrechen"
+msgstr "Verbindung beenden"
 
 msgid "Reinit all connections"
 msgstr "Verbindungen reinitialisieren"
@@ -2550,7 +2550,7 @@ msgid "E560: Usage: cs[cope] %s"
 msgstr "E560: Verwendung: cs[cope] %s"
 
 msgid "This cscope command does not support splitting the window.\n"
-msgstr "Dieser cscope-Befehl untersttzt nicht Teilen des Fensters.\n"
+msgstr "Dieser cscope-Befehl untersttzt nicht das Teilen des Fensters.\n"
 
 msgid "E562: Usage: cstag <ident>"
 msgstr "E562: Verwendung: cstag <ident>"
@@ -2682,7 +2682,7 @@ msgid "E609: Cscope error: %s"
 msgstr "E609: Cscope Fehler: %s"
 
 msgid "All cscope databases reset"
-msgstr "alle cscope Datenbanken zurckgesetzt"
+msgstr "Alle cscope Datenbanken zurckgesetzt"
 
 msgid "no cscope connections\n"
 msgstr "keine cscope-Verbindungen\n"
@@ -2847,7 +2847,7 @@ msgid "unknown vimOption"
 msgstr "unbekannte vimOption"
 
 msgid "keyboard interrupt"
-msgstr "Tastatur-Unterbrechung"
+msgstr "Tastatur-Interrupt"
 
 msgid "vim error"
 msgstr "vim Fehler"
@@ -2865,8 +2865,8 @@ msgid ""
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
 msgstr ""
-"E280: TCL FATALER FEHLER: reflist kaputt!? Bitte vim-dev@vim."
-"orgbenachrichtigen."
+"E280: TCL FATALER FEHLER: reflist kaputt!? Bitte vim-dev@vim.org "
+"benachrichtigen."
 
 msgid "cannot register callback command: buffer/window reference not found"
 msgstr ""
@@ -2881,7 +2881,7 @@ msgstr ""
 
 #, c-format
 msgid "E572: exit code %d"
-msgstr "E572: Ekit-Code %d"
+msgstr "E572: Exit-Code %d"
 
 msgid "cannot get line"
 msgstr "kann Zeile nicht erhalten"
@@ -3057,7 +3057,7 @@ msgid "-E\t\t\tImproved Ex mode"
 msgstr "-E\t\t\tVerbesserter Ex Modus"
 
 msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")"
-msgstr "-s\t\t\tLeiser (batch) Modus (nur fr \"ex\")"
+msgstr "-s\t\t\tLeiser (Batch) Modus (nur fr \"ex\")"
 
 msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
 msgstr "-d\t\t\tDiff Modus (wie \"vimdiff\")"
@@ -3128,7 +3128,7 @@ msgstr "-T <terminal>\tSetze Terminaltyp
 msgid "--not-a-term\t\tSkip warning for input/output not being a terminal"
 msgstr ""
 "--not-a-term\t\tKeine Warnung ausgeben, wenn Eingabe/Ausgabe nicht auf einem "
-"Terminal ausgegebn wird"
+"Terminal ausgegeben wird"
 
 msgid "--ttyfail\t\tExit if input or output is not a terminal"
 msgstr ""
@@ -3293,7 +3293,7 @@ msgstr "-italicfont <Schriftart>\tBenutze <Schriftart> fr geneigten Text"
 
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
 msgstr ""
-"-geometry <geom>\tbenutze <geom> fr die Anfangs Abmessungen (auch mit: -"
+"-geometry <geom>\tBenutze <geom> fr die Anfangs Abmessungen (auch mit: -"
 "geom)"
 
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
@@ -3398,14 +3398,14 @@ msgid ""
 "# File marks:\n"
 msgstr ""
 "\n"
-"# Datei-Marken:\n"
+"# Datei-Markierungen:\n"
 
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
 msgstr ""
 "\n"
-"# Geschichte (neueste zuerst):\n"
+"# Jumplist (neueste zuerst):\n"
 
 msgid ""
 "\n"
@@ -3430,7 +3430,7 @@ msgid "E286: Failed to open input method
 msgstr "E286: Eingabemethode konnte nicht geffnet werden"
 
 msgid "E287: Warning: Could not set destroy callback to IM"
-msgstr "E287: Achtung: Destroy Callabck konnte nicht auf IM gesetzt werden"
+msgstr "E287: Achtung: Destroy Callback konnte nicht auf IM gesetzt werden"
 
 msgid "E288: input method doesn't support any style"
 msgstr "E288: Eingabemethode untersttzt keinen einzigen Stil"
@@ -3466,10 +3466,10 @@ msgid "E298: Didn't get block nr 2?"
 msgstr "E298: Block Nr. 2 nicht erhalten?"
 
 msgid "E843: Error while updating swap file crypt"
-msgstr "E843: Fehler beim Aktualisieren der Verschlsselung der swap Datei."
+msgstr "E843: Fehler beim Aktualisieren der Verschlsselung der Auslagerungsdatei."
 
 msgid "E301: Oops, lost the swap file!!!"
-msgstr "E301: Ups, Verlust der Auslagerungsdatei!!!"
+msgstr "E301: Upps, Verlust der Auslagerungsdatei!!!"
 
 msgid "E302: Could not rename swap file"
 msgstr "E302: Auslagerungsdatei konnte nicht umbenannt werden"
@@ -3521,20 +3521,20 @@ msgid " cannot be used on this computer.
 msgstr " kann auf diesem Rechner nicht verwendet werden.\n"
 
 msgid "The file was created on "
-msgstr "Die Datei wurde erstellt um "
+msgstr "Die Datei wurde erstellt am "
 
 msgid ""
 ",\n"
 "or the file has been damaged."
 msgstr ""
 ",\n"
-"oder die Datei wurde zerstrt."
+"oder die Datei wurde beschdigt."
 
 #, c-format
 msgid ""
 "E833: %s is encrypted and this version of Vim does not support encryption"
 msgstr ""
-"E833: %s is verschlsselt, aber diese Version von Vim untersttzt "
+"E833: %s ist verschlsselt, aber diese Version von Vim untersttzt "
 "Verschlsselung nicht."
 
 msgid " has been damaged (page size is smaller than minimum value).\n"
@@ -3553,7 +3553,7 @@ msgstr "E308: Achtung: Die Originaldatei knnte verndert worden sein"
 
 #, c-format
 msgid "Swap file is encrypted: \"%s\""
-msgstr "Swap Datei is verschlsselt: \"%s\""
+msgstr "Swap Datei ist verschlsselt: \"%s\""
 
 msgid ""
 "\n"
@@ -3587,7 +3587,7 @@ msgstr ""
 
 #, c-format
 msgid "E309: Unable to read block 1 from %s"
-msgstr "E309: Block 1 kann nicht nicht von %s gelesen werden"
+msgstr "E309: Block 1 von %s kann nicht gelesen werden"
 
 msgid "???MANY LINES MISSING"
 msgstr "???VIELE ZEILEN FEHLEN"
@@ -3630,7 +3630,7 @@ msgid "See \":help E312\" for more infor
 msgstr "Lesen Sie \":help E312\" fr weitere Informationen."
 
 msgid "Recovery completed. You should check if everything is OK."
-msgstr "Wiederherstellung beendet. Prfen Sie, ob alles alles OK ist."
+msgstr "Wiederherstellung beendet. Prfen Sie, ob alles OK ist."
 
 msgid ""
 "\n"
@@ -3712,14 +3712,14 @@ msgstr ""
 "     Benutzer-Name: "
 
 msgid "   host name: "
-msgstr "   Host-Name: "
+msgstr "   Hostname: "
 
 msgid ""
 "\n"
 "         host name: "
 msgstr ""
 "\n"
-"         Host-Name: "
+"         Hostname: "
 
 msgid ""
 "\n"
@@ -3775,7 +3775,7 @@ msgid "stack_idx should be 0"
 msgstr "stack_idx sollte 0 sein"
 
 msgid "E318: Updated too many blocks?"
-msgstr "E318: Zu viele Blocks aktualisiert?"
+msgstr "E318: Zu viele Blcke aktualisiert?"
 
 msgid "E317: pointer block id wrong 4"
 msgstr "E317: Zeiger Block id falsch 4"
@@ -3828,7 +3828,7 @@ msgid "      CANNOT BE FOUND"
 msgstr "      WURDE NICHT GEFUNDEN"
 
 msgid "      NEWER than swap file!\n"
-msgstr "      neuer als Auslagerungsdatei!\n"
+msgstr "      NEUER als Auslagerungsdatei!\n"
 
 msgid ""
 "\n"
@@ -3913,7 +3913,7 @@ msgid "E327: Part of menu-item path is n
 msgstr "E327: Teil des Menpunkt-Pfades muss zum Untermen fhren"
 
 msgid "E328: Menu only exists in another mode"
-msgstr "E328: Men existiert nur in anderen Modus"
+msgstr "E328: Men existiert nur in anderen Modi"
 
 #, c-format
 msgid "E329: No menu \"%s\""
@@ -4107,7 +4107,7 @@ msgid "E546: Illegal mode"
 msgstr "E546: Unzulssiger Modus"
 
 msgid "E547: Illegal mouseshape"
-msgstr "E547: Unzulssiger Mauszeiger"
+msgstr "E547: Unzulssiger Mauszeigerform"
 
 msgid "E548: digit expected"
 msgstr "E548: Ziffer erwartet"
@@ -4170,7 +4170,7 @@ msgid "E774: 'operatorfunc' is empty"
 msgstr "E774: 'operatorfunc' is empty"
 
 msgid "E775: Eval feature not available"
-msgstr "E775: Evaluierungsfunktion nicht verfgbar"
+msgstr "E775: Eval Eigenschaft nicht verfgbar"
 
 msgid "Warning: terminal cannot highlight"
 msgstr "Achtung: Terminal untersttzt keine Hervorhebung"
@@ -4280,7 +4280,7 @@ msgid ""
 "E883: search pattern and expression register may not contain two or more "
 "lines"
 msgstr ""
-"E883: Suchmuster und Ausdrucksregister drfen nicht mehr als 1 Zeile "
+"E883: Suchmuster- und Ausdrucksregister drfen nicht mehr als 1 Zeile "
 "enthalten."
 
 #, c-format
@@ -4797,7 +4797,7 @@ msgid "Cannot open file \"%s\""
 msgstr "Kann Datei \"%s\" nicht ffnen"
 
 msgid "E681: Buffer is not loaded"
-msgstr "E681: Buffer ist nicht geladen"
+msgstr "E681: Puffer ist nicht geladen"
 
 msgid "E777: String or List expected"
 msgstr "E777: Zeichenkette oder Liste erwartet"
@@ -5345,7 +5345,7 @@ msgstr "Lese Wrterbuch-Datei %s..."
 
 #, c-format
 msgid "E760: No word count in %s"
-msgstr "E760: Keine Wrter gezhlt in %s"
+msgstr "E760: Kein Wortanzahl in %s"
 
 #, c-format
 msgid "line %6d, word %6ld - %s"
@@ -5404,7 +5404,7 @@ msgid "Ignored %d words with non-ASCII c
 msgstr "%d Wrter mit nicht-ASCII Zeichen ignoriert"
 
 msgid "E845: Insufficient memory, word list will be incomplete"
-msgstr "E845: Nicht ausreichend Speicher, Wortlist wird unvollstndig sein"
+msgstr "E845: Nicht ausreichend Speicher, Wortliste wird unvollstndig sein"
 
 #, c-format
 msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
@@ -5455,7 +5455,7 @@ msgstr "Fertig!"
 
 #, c-format
 msgid "E765: 'spellfile' does not have %ld entries"
-msgstr "E765: 'spellfile' hat nicht %ld Eintrge"
+msgstr "E765: 'spellfile' hat keine %ld Eintrge"
 
 #, c-format
 msgid "Word '%.*s' removed from %s"
@@ -5685,10 +5685,10 @@ msgid "E418: Illegal value: %s"
 msgstr "E418: Unzulssiger Wert: %s"
 
 msgid "E419: FG color unknown"
-msgstr "E419: FG Farbe unbekannt"
+msgstr "E419: Vordergrundfarbe unbekannt"
 
 msgid "E420: BG color unknown"
-msgstr "E420: BG Farbe unbekannt"
+msgstr "E420: Hintergrundfarbe unbekannt"
 
 #, c-format
 msgid "E421: Color name or number not recognized: %s"
@@ -5728,7 +5728,7 @@ msgid "E426: tag not found: %s"
 msgstr "E426: Konnte Tag \"%s\" nicht finden"
 
 msgid "  # pri kind tag"
-msgstr "   # pri verw. tag"
+msgstr "   # Prio Art Tag"
 
 msgid "file\n"
 msgstr "Datei\n"
@@ -5773,7 +5773,7 @@ msgid "E430: Tag file path truncated for
 msgstr "E430: Tag-Dateipfad wurde abgeschnitten fr %s\n"
 
 msgid "Ignoring long line in tags file"
-msgstr "Ignoriere zu lange Zeile in Tagsdatei"
+msgstr "Ignoriere zu lange Zeile in Tag-Datei"
 
 #, c-format
 msgid "E431: Format error in tags file \"%s\""
@@ -5781,7 +5781,7 @@ msgstr "E431: Format Fehler in Tag-Datei
 
 #, c-format
 msgid "Before byte %ld"
-msgstr "Vor byte %ld"
+msgstr "Vor Byte %ld"
 
 #, c-format
 msgid "E432: Tags file not sorted: %s"
@@ -5847,7 +5847,7 @@ msgid "active"
 msgstr "aktiv"
 
 msgid "running"
-msgstr "Fhre aus"
+msgstr "fhre aus"
 
 msgid "finished"
 msgstr "beendet"
@@ -5887,7 +5887,7 @@ msgstr "E825: Beschdigte Undo-Datei (%s): %s"
 
 msgid "Cannot write undo file in any directory in 'undodir'"
 msgstr ""
-"Undo-Datei kann nicht in eines der Verzeichnisse aus 'undodir' geschrieben "
+"Undo-Datei kann in keines der Verzeichnisse aus 'undodir' geschrieben "
 "werden."
 
 #, c-format
@@ -6106,7 +6106,7 @@ msgid "E124: Missing '(': %s"
 msgstr "E124: Fehlendes '(': %s"
 
 msgid "E862: Cannot use g: here"
-msgstr "E862: g: kann nicht hier benutzt werden"
+msgstr "E862: g: kann hier nicht benutzt werden"
 
 #, c-format
 msgid "E932: Closure function should not be at top level: %s"
@@ -6365,7 +6365,7 @@ msgid "Vim is open source and freely dis
 msgstr "Vim ist Open Source und kann frei weitergegeben werden"
 
 msgid "Help poor children in Uganda!"
-msgstr "Helfen Sie armen Kindern in Uganda!"
+msgstr "Hilf armen Kindern in Uganda!"
 
 msgid "type  :help iccf<Enter>       for information "
 msgstr "Tippe  :help iccf<Enter>        fr Informationen darber "
@@ -6412,7 +6412,7 @@ msgid "Sponsor Vim development!"
 msgstr "Untersttzen Sie die Entwicklung von Vim"
 
 msgid "Become a registered Vim user!"
-msgstr "Werden Sie ein registrierter Benutzer von Vim!"
+msgstr "Werd ein registrierter Vim-Nutzer!"
 
 msgid "type  :help sponsor<Enter>    for information "
 msgstr "Tippe  :help sponsor<Enter>     fr mehr Informationen    "
@@ -6531,7 +6531,7 @@ msgid "E471: Argument required"
 msgstr "E471: Argument bentigt"
 
 msgid "E10: \\ should be followed by /, ? or &"
-msgstr "E10: \\ sollte von /, ? or & gefolgt werden"
+msgstr "E10: \\ sollte von /, ? oder & gefolgt werden"
 
 msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
 msgstr "E11: Ungltig im Kommandozeilenfenster; <CR> fhrt aus, CTRL-C beendet"
@@ -6631,7 +6631,7 @@ msgid "E448: Could not load library func
 msgstr "E448: Bibliotheksfunktion %s konnte nicht geladen werden"
 
 msgid "E19: Mark has invalid line number"
-msgstr "E19: Marke hat ungltige Zeilennummer"
+msgstr "E19: Markierung hat ungltige Zeilennummer"
 
 msgid "E20: Mark not set"
 msgstr "E20: Markierung nicht gesetzt"
@@ -6758,7 +6758,7 @@ msgid "E459: Cannot go back to previous 
 msgstr "E459: Kann nicht ins vorhergehende Verzeichnis wechseln"
 
 msgid "E42: No Errors"
-msgstr "E42: Kein Fehler"
+msgstr "E42: Keine Fehler"
 
 msgid "E776: No location list"
 msgstr "E776: Keine Positionsliste"
@@ -6830,10 +6830,10 @@ msgid "E72: Close error on swap file"
 msgstr "E72: Fehler beim Schlieen der Auslagerungsdatei"
 
 msgid "E73: tag stack empty"
-msgstr "E73: tag Stapel leer."
+msgstr "E73: Tag Stapel leer."
 
 msgid "E74: Command too complex"
-msgstr "E74: Befehl zu kompliziert"
+msgstr "E74: Befehl zu komplex"
 
 msgid "E75: Name too long"
 msgstr "E75: Name zu lang"
@@ -6863,7 +6863,7 @@ msgid "E80: Error while writing"
 msgstr "E80: Fehler whrend des Schreibens"
 
 msgid "E939: Positive count required"
-msgstr "E939: Positiver Zahl bentigt"
+msgstr "E939: Positive Zahl bentigt"
 
 msgid "E81: Using <SID> not in a script context"
 msgstr "E81: <SID> wurde nicht in einer Skript-Umgebung benutzt"
@@ -6921,10 +6921,10 @@ msgid "empty keys are not allowed"
 msgstr "Leerer Schlssel nicht erlaubt"
 
 msgid "dictionary is locked"
-msgstr "Dictionary is gesperrt"
+msgstr "Dictionary ist gesperrt"
 
 msgid "list is locked"
-msgstr "Liste is gesperrt"
+msgstr "Liste ist gesperrt"
 
 #, c-format
 msgid "failed to add key '%s' to dictionary"
@@ -7009,7 +7009,7 @@ msgstr "Hashtab vernderte sich whrend der Initialisierung"
 #, c-format
 msgid "expected sequence element of size 2, but got sequence of size %d"
 msgstr ""
-"erwartete Sequenz Element der Gre 2, but erhielt Sequenz der Gre %d"
+"erwartete Sequenz Element der Gre 2, erhielt jedoch Sequenz der Gre %d"
 
 msgid "list constructor does not accept keyword arguments"
 msgstr "Listen Konstruktor akzeptiert keine Keyword Argumente"
@@ -7031,7 +7031,7 @@ msgstr ""
 
 #, c-format
 msgid "internal error: no vim list item %d"
-msgstr "interner Fehler: Keine Vim Listobjekt %d"
+msgstr "interner Fehler: Kein Vim Listobjekt %d"
 
 msgid "internal error: not enough list items"
 msgstr "interner Fehler: nicht gengend Listobjekte"
@@ -7080,7 +7080,7 @@ msgstr "Konnte globale Option %s nicht a
 
 #, c-format
 msgid "unable to unset option %s which does not have global value"
-msgstr "konnte option %s nicht aufheben, da sie keinen globalen Wert hat"
+msgstr "konnte Option %s nicht aufheben, da sie keinen globalen Wert hat"
 
 msgid "attempt to refer to deleted tab page"
 msgstr "Versuch, Bezug auf einen gelschten Reiter zu nehmen"
--- a/src/po/ja.euc-jp.po
+++ b/src/po/ja.euc-jp.po
@@ -14,8 +14,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-07-18 00:43+0900\n"
-"PO-Revision-Date: 2017-05-18 00:45+0900\n"
+"POT-Creation-Date: 2018-11-13 19:44+0900\n"
+"PO-Revision-Date: 2018-11-16 09:41+0900\n"
 "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
 "Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
 "Language: ja\n"
@@ -69,26 +69,20 @@ msgstr "E516: 줿ХåեϤޤ"
 msgid "E517: No buffers were wiped out"
 msgstr "E517: ˴줿ХåեϤޤ"
 
-msgid "1 buffer unloaded"
-msgstr "1 ĤΥХåեޤ"
-
-#, c-format
-msgid "%d buffers unloaded"
-msgstr "%d ĤΥХåեޤ"
-
-msgid "1 buffer deleted"
-msgstr "1 ĤΥХåեޤ"
-
-#, c-format
-msgid "%d buffers deleted"
-msgstr "%d ĤΥХåեޤ"
-
-msgid "1 buffer wiped out"
-msgstr "1 ĤΥХåե˴ޤ"
-
-#, c-format
-msgid "%d buffers wiped out"
-msgstr "%d ĤΥХåե˴ޤ"
+#, c-format
+msgid "%d buffer unloaded"
+msgid_plural "%d buffers unloaded"
+msgstr[0] "%d ĤΥХåեޤ"
+
+#, c-format
+msgid "%d buffer deleted"
+msgid_plural "%d buffers deleted"
+msgstr[0] "%d ĤΥХåեޤ"
+
+#, c-format
+msgid "%d buffer wiped out"
+msgid_plural "%d buffers wiped out"
+msgstr[0] "%d ĤΥХåե˴ޤ"
 
 msgid "E90: Cannot unload last buffer"
 msgstr "E90: ǸΥХåեϲǤޤ"
@@ -162,12 +156,9 @@ msgid "[readonly]"
 msgstr "[ɹ]"
 
 #, c-format
-msgid "1 line --%d%%--"
-msgstr "1  --%d%%--"
-
-#, c-format
-msgid "%ld lines --%d%%--"
-msgstr "%ld  --%d%%--"
+msgid "%ld line --%d%%--"
+msgid_plural "%ld lines --%d%%--"
+msgstr[0] "%ld  --%d%%--"
 
 #, c-format
 msgid "line %ld of %ld --%d%%-- col "
@@ -321,12 +312,19 @@ msgstr "E737: ϴ¸ߤޤ: %s"
 msgid "E96: Cannot diff more than %ld buffers"
 msgstr "E96: %ld ʾΥХåեdiffǤޤ"
 
+#, c-format
+msgid "Not enough memory to use internal diff for buffer \"%s\""
+msgstr "Хåե \"%s\" ѤdiffȤΥ꤬­Ƥޤ"
+
 msgid "E810: Cannot read or write temp files"
 msgstr "E810: եɹ⤷ϽǤޤ"
 
 msgid "E97: Cannot create diffs"
 msgstr "E97: ʬǤޤ"
 
+msgid "E960: Problem creating the internal diff"
+msgstr "E960: diff꤬ȯޤ"
+
 msgid "Patch file"
 msgstr "ѥåե"
 
@@ -336,6 +334,9 @@ msgstr "E816: patchνϤɹޤ"
 msgid "E98: Cannot read diff output"
 msgstr "E98: diffνϤɹޤ"
 
+msgid "E959: Invalid diff format."
+msgstr "E959: ̵diffǤ"
+
 msgid "E99: Current buffer is not in diff mode"
 msgstr "E99: ߤΥХåեϺʬ⡼ɤǤϤޤ"
 
@@ -667,6 +668,9 @@ msgstr ""
 "\n"
 "\tǸ˥åȤץ: "
 
+msgid " line "
+msgstr "  "
+
 msgid "E691: Can only compare List with List"
 msgstr "E691: ꥹȷϥꥹȷȤӤǤޤ"
 
@@ -744,6 +748,9 @@ msgstr "E916: ͭʥ֤ǤϤޤ"
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() ˤ̵ʷǤ"
 
+msgid "E957: Invalid window number"
+msgstr "E957: ̵ʥɥֹǤ"
+
 #, c-format
 msgid "E798: ID is reserved for \":match\": %ld"
 msgstr "E798: ID  \":match\" Τͽ󤵤Ƥޤ: %ld"
@@ -790,6 +797,10 @@ msgstr "E258: 饤Ȥ뤳ȤǤޤ"
 msgid "E927: Invalid action: '%s'"
 msgstr "E927: ̵Ǥ: %s"
 
+#, c-format
+msgid "E962: Invalid action: '%s'"
+msgstr "E962: ̵Ǥ: %s"
+
 msgid "sort() argument"
 msgstr "sort() ΰ"
 
@@ -839,15 +850,13 @@ msgstr "> %d, 16ʿ %04x, 8ʿ %o"
 msgid "> %d, Hex %08x, Octal %o"
 msgstr "> %d, 16ʿ %08x, 8ʿ %o"
 
-msgid "E134: Move lines into themselves"
-msgstr "E134: Ԥ򤽤켫ȤˤϰưǤޤ"
-
-msgid "1 line moved"
-msgstr "1 Ԥưޤ"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "%ld Ԥưޤ"
+msgid "E134: Cannot move a range of lines into itself"
+msgstr "E134: ԤϰϤ򤽤켫ȤˤϰưǤޤ"
+
+#, c-format
+msgid "%ld line moved"
+msgid_plural "%ld lines moved"
+msgstr[0] "%ld Ԥưޤ"
 
 #, c-format
 msgid "%ld lines filtered"
@@ -999,26 +1008,25 @@ msgstr "%s ִޤ? (y/n/a/q/l/^E/^Y)"
 msgid "(Interrupted) "
 msgstr "(ޤޤ) "
 
-msgid "1 match"
-msgstr "1 ս곺ޤ"
-
-msgid "1 substitution"
-msgstr "1 սִޤ"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld ս곺ޤ"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld սִޤ"
-
-msgid " on 1 line"
-msgstr " ( 1 )"
-
-#, c-format
-msgid " on %ld lines"
-msgstr " ( %ld )"
+#, c-format
+msgid "%ld match on %ld line"
+msgid_plural "%ld matches on %ld line"
+msgstr[0] "%ld ս곺ޤ ( %ld )"
+
+#, c-format
+msgid "%ld substitution on %ld line"
+msgid_plural "%ld substitutions on %ld line"
+msgstr[0] "%ld սִޤ ( %ld )"
+
+#, c-format
+msgid "%ld match on %ld lines"
+msgid_plural "%ld matches on %ld lines"
+msgstr[0] "%ld ս곺ޤ ( %ld )"
+
+#, c-format
+msgid "%ld substitution on %ld lines"
+msgid_plural "%ld substitutions on %ld lines"
+msgstr[0] "%ld սִޤ ( %ld )"
 
 msgid "E147: Cannot do :global recursive with a range"
 msgstr "E147: :global ϰդǺƵŪˤϻȤޤ"
@@ -1334,19 +1342,15 @@ msgstr ""
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: ΥСǤϤΥޥɤѤǤޤ󡢤ʤ"
 
-msgid "1 more file to edit.  Quit anyway?"
-msgstr "Խ٤ե뤬 1 Ĥޤλޤ?"
-
-#, c-format
-msgid "%d more files to edit.  Quit anyway?"
-msgstr "Խ٤ե뤬 %d Ĥޤλޤ?"
-
-msgid "E173: 1 more file to edit"
-msgstr "E173: Խ٤ե뤬 1 Ĥޤ"
-
-#, c-format
-msgid "E173: %ld more files to edit"
-msgstr "E173: Խ٤ե뤬 %ld Ĥޤ"
+#, c-format
+msgid "%d more file to edit.  Quit anyway?"
+msgid_plural "%d more files to edit.  Quit anyway?"
+msgstr[0] "Խ٤ե뤬 %d Ĥޤλޤ?"
+
+#, c-format
+msgid "E173: %ld more file to edit"
+msgid_plural "E173: %ld more files to edit"
+msgstr[0] "E173: Խ٤ե뤬 %ld Ĥޤ"
 
 msgid "E174: Command already exists: add ! to replace it"
 msgstr "E174: ޥɤˤޤ: ˤ ! ɲäƤ"
@@ -1521,6 +1525,9 @@ msgstr "E498: \"<sfile>\"֤ :source оݥե̾ޤ"
 msgid "E842: no line number to use for \"<slnum>\""
 msgstr "E842: \"<slnum>\"ֹ֤椬ޤ"
 
+msgid "E961: no line number to use for \"<sflnum>\""
+msgstr "E961: \"<sflnum>\"ֹ֤椬ޤ"
+
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr ""
@@ -1725,9 +1732,6 @@ msgstr "ɸϤɹ..."
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202: ѴեɹԲĤˤޤ"
 
-msgid "[fifo/socket]"
-msgstr "[FIFO/å]"
-
 msgid "[fifo]"
 msgstr "[FIFO]"
 
@@ -1904,19 +1908,15 @@ msgstr "[unix]"
 msgid "[unix format]"
 msgstr "[unixեޥå]"
 
-msgid "1 line, "
-msgstr "1 , "
-
-#, c-format
-msgid "%ld lines, "
-msgstr "%ld , "
-
-msgid "1 character"
-msgstr "1 ʸ"
-
-#, c-format
-msgid "%lld characters"
-msgstr "%lld ʸ"
+#, c-format
+msgid "%ld line, "
+msgid_plural "%ld lines, "
+msgstr[0] "%ld , "
+
+#, c-format
+msgid "%lld character"
+msgid_plural "%lld characters"
+msgstr[0] "%lld ʸ"
 
 msgid "[noeol]"
 msgstr "[noeol]"
@@ -2289,11 +2289,11 @@ msgstr "ɥ(&U)"
 msgid "Open tab..."
 msgstr "֥ڡ򳫤"
 
-msgid "Find string (use '\\\\' to find a '\\')"
-msgstr "ʸ ('\\' 򸡺ˤ '\\\\')"
-
-msgid "Find & Replace (use '\\\\' to find a '\\')"
-msgstr "ִ ('\\' 򸡺ˤ '\\\\')"
+msgid "Find string"
+msgstr "ʸ"
+
+msgid "Find & Replace"
+msgstr "ִ"
 
 msgid "Not Used"
 msgstr "Ȥޤ"
@@ -2710,19 +2710,6 @@ msgstr "ϰϳιֹǤ"
 msgid "not allowed in the Vim sandbox"
 msgstr "ɥܥåǤϵޤ"
 
-#, c-format
-msgid "E370: Could not load library %s"
-msgstr "E370: 饤֥ %s ɤǤޤǤ"
-
-msgid "Sorry, this command is disabled: the Perl library could not be loaded."
-msgstr ""
-"Υޥɤ̵Ǥʤ: Perl饤֥ɤǤޤǤ."
-
-msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-msgstr ""
-"E299: ɥܥåǤ Safe ⥸塼ѤʤPerlץȤ϶ؤ"
-"Ƥޤ"
-
 msgid "E836: This Vim cannot execute :python after using :py3"
 msgstr "E836: VimǤ :py3 Ȥä :python Ȥޤ"
 
@@ -3003,7 +2990,7 @@ msgid "-g\t\t\tRun using GUI (like \"gvi
 msgstr "-g\t\t\tGUIǵư (\"gvim\" Ʊ)"
 
 msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
-msgstr "-f or  --nofork\tե饦: GUIϤȤforkʤ"
+msgstr "-f  or  --nofork\tե饦: GUIϤȤforkʤ"
 
 msgid "-v\t\t\tVi mode (like \"vi\")"
 msgstr "-v\t\t\tVi⡼ (\"vi\" Ʊ)"
@@ -3148,7 +3135,7 @@ msgstr "--remote-silent <files>  Ʊ塢С̵ƤٹʸϤʤ"
 
 msgid ""
 "--remote-wait <files>  As --remote but wait for files to have been edited"
-msgstr "--remote-wait <files>\t--remote եԽΤԤ"
+msgstr "--remote-wait <files>  --remote եԽΤԤ"
 
 msgid ""
 "--remote-wait-silent <files>  Same, don't complain if there is no server"
@@ -3266,7 +3253,7 @@ msgid "--role <role>\tSet a unique role 
 msgstr "--role <role>\tᥤ󥦥ɥ̤դ(role)ꤹ"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
-msgstr "--socketid <xid>\tۤʤGTK widgetVim򳫤"
+msgstr "--socketid <xid>\tۤʤGTK widgetVim򳫤"
 
 msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout"
 msgstr "--echo-wid\t\tɥIDɸϤ˽Ϥ"
@@ -3322,7 +3309,7 @@ msgid ""
 "change line  col text"
 msgstr ""
 "\n"
-"ѹ         ƥ"
+"ѹ         ƥ"
 
 msgid ""
 "\n"
@@ -3649,7 +3636,7 @@ msgstr ""
 "\n"
 "        ץID: "
 
-msgid " (still running)"
+msgid " (STILL RUNNING)"
 msgstr " (ޤ¹)"
 
 msgid ""
@@ -3745,6 +3732,9 @@ msgstr ""
 msgid "While opening file \""
 msgstr "Υե򳫤Ƥ \""
 
+msgid "      CANNOT BE FOUND"
+msgstr "      Ĥޤ"
+
 msgid "      NEWER than swap file!\n"
 msgstr "      åץե⿷Ǥ!\n"
 
@@ -3960,19 +3950,15 @@ msgstr ""
 msgid "Type number and <Enter> (empty cancels): "
 msgstr "ֹ<Enter>ϤƤ (ǥ󥻥): "
 
-msgid "1 more line"
-msgstr "1  ɲäޤ"
-
-msgid "1 line less"
-msgstr "1  ޤ"
-
-#, c-format
-msgid "%ld more lines"
-msgstr "%ld  ɲäޤ"
-
-#, c-format
-msgid "%ld fewer lines"
-msgstr "%ld  ޤ"
+#, c-format
+msgid "%ld more line"
+msgid_plural "%ld more lines"
+msgstr[0] "%ld  ɲäޤ"
+
+#, c-format
+msgid "%ld line less"
+msgid_plural "%ld fewer lines"
+msgstr[0] "%ld  ޤ"
 
 msgid " (Interrupted)"
 msgstr " (ޤޤ)"
@@ -4042,7 +4028,7 @@ msgstr ""
 
 #, c-format
 msgid "E344: Can't find directory \"%s\" in cdpath"
-msgstr "E344: cdpathˤ \"%s\" Ȥե뤬ޤ"
+msgstr "E344: cdpathˤ \"%s\" Ȥǥ쥯ȥ꤬ޤ"
 
 #, c-format
 msgid "E345: Can't find file \"%s\" in path"
@@ -4050,7 +4036,7 @@ msgstr "E345: pathˤ \"%s\" Ȥե뤬ޤ"
 
 #, c-format
 msgid "E346: No more directory \"%s\" found in cdpath"
-msgstr "E346: cdpathˤϤʾ \"%s\" Ȥե뤬ޤ"
+msgstr "E346: cdpathˤϤʾ \"%s\" Ȥǥ쥯ȥ꤬ޤ"
 
 #, c-format
 msgid "E347: No more file \"%s\" found in path"
@@ -4108,31 +4094,23 @@ msgstr ""
 ""
 
 #, c-format
-msgid "1 line %sed 1 time"
-msgstr "1 Ԥ %s  1 ޤ"
-
-#, c-format
-msgid "1 line %sed %d times"
-msgstr "1 Ԥ %s  %d ޤ"
-
-#, c-format
-msgid "%ld lines %sed 1 time"
-msgstr "%ld Ԥ %s  1 ޤ"
-
-#, c-format
-msgid "%ld lines %sed %d times"
-msgstr "%ld Ԥ %s  %d ޤ"
+msgid "%ld line %sed %d time"
+msgid_plural "%ld line %sed %d times"
+msgstr[0] "%ld Ԥ %s  %d ޤ"
+
+#, c-format
+msgid "%ld lines %sed %d time"
+msgid_plural "%ld lines %sed %d times"
+msgstr[0] "%ld Ԥ %s  %d ޤ"
 
 #, c-format
 msgid "%ld lines to indent... "
 msgstr "%ld ԤǥȤޤ... "
 
-msgid "1 line indented "
-msgstr "1 Ԥ򥤥ǥȤޤ "
-
-#, c-format
-msgid "%ld lines indented "
-msgstr "%ld Ԥ򥤥ǥȤޤ "
+#, c-format
+msgid "%ld line indented "
+msgid_plural "%ld lines indented "
+msgstr[0] "%ld Ԥ򥤥ǥȤޤ "
 
 msgid "E748: No previously used register"
 msgstr "E748: ޤ쥸ѤƤޤ"
@@ -4140,12 +4118,10 @@ msgstr "E748: ޤ쥸ѤƤޤ"
 msgid "cannot yank; delete anyway"
 msgstr "󥯤Ǥޤ; Ȥˤõ"
 
-msgid "1 line changed"
-msgstr "1 Ԥѹޤ"
-
-#, c-format
-msgid "%ld lines changed"
-msgstr "%ld Ԥѹޤ"
+#, c-format
+msgid "%ld line changed"
+msgid_plural "%ld lines changed"
+msgstr[0] "%ld Ԥѹޤ"
 
 #, c-format
 msgid "freeing %ld lines"
@@ -4156,20 +4132,14 @@ msgid " into \"%c"
 msgstr " \"%c "
 
 #, c-format
-msgid "block of 1 line yanked%s"
-msgstr "1 ԤΥ֥å%s󥯤ޤ"
-
-#, c-format
-msgid "1 line yanked%s"
-msgstr "1 Ԥ%s󥯤ޤ"
-
-#, c-format
-msgid "block of %ld lines yanked%s"
-msgstr "%ld ԤΥ֥å%s󥯤ޤ"
-
-#, c-format
-msgid "%ld lines yanked%s"
-msgstr "%ld Ԥ%s󥯤ޤ"
+msgid "block of %ld line yanked%s"
+msgid_plural "block of %ld lines yanked%s"
+msgstr[0] "%ld ԤΥ֥å%s󥯤ޤ"
+
+#, c-format
+msgid "%ld line yanked%s"
+msgid_plural "%ld lines yanked%s"
+msgstr[0] "%ld Ԥ%s󥯤ޤ"
 
 #, c-format
 msgid "E353: Nothing in register %s"
@@ -5387,6 +5357,9 @@ msgstr "E783: MAP ȥ˽ʣʸ¸ߤޤ"
 msgid "No Syntax items defined for this buffer"
 msgstr "ΥХåե줿ʸǤϤޤ"
 
+msgid "'redrawtime' exceeded, syntax highlighting disabled"
+msgstr "'redrawtime' Ķᤷᡢʸϥ饤Ȥ̵ޤ"
+
 msgid "syntax conceal on"
 msgstr "ʸ conceal ϸ on Ǥ"
 
@@ -5415,6 +5388,9 @@ msgstr "ʸ spell ϸ default Ǥ"
 msgid "syntax iskeyword "
 msgstr "ʸ iskeyword "
 
+msgid "syntax iskeyword not set"
+msgstr "ʸ iskeyword ϥåȤƤޤ"
+
 #, c-format
 msgid "E391: No such syntax cluster: %s"
 msgstr "E391: Τ褦ʹʸ饹Ϥޤ: %s"
@@ -5754,6 +5730,9 @@ msgstr "¹"
 msgid "finished"
 msgstr "λ"
 
+msgid "E958: Job already finished"
+msgstr "E958: ֤ϤǤ˽λƤޤ"
+
 #, c-format
 msgid "E953: File exists: %s"
 msgstr "E953: եϴ¸ߤޤ: %s"
@@ -5893,8 +5872,9 @@ msgid "number changes  when             
 msgstr "   ѹ   ѹ           ¸"
 
 #, c-format
-msgid "%ld seconds ago"
-msgstr "%ld ÷вᤷƤޤ"
+msgid "%ld second ago"
+msgid_plural "%ld seconds ago"
+msgstr[0] "%ld ÷вᤷƤޤ"
 
 msgid "E790: undojoin is not allowed after undo"
 msgstr "E790: undo ľ undojoin ϤǤޤ"
@@ -6360,6 +6340,19 @@ msgstr "E802: ̵ ID: %ld (1 ʾǤʤФʤޤ)"
 msgid "E803: ID not found: %ld"
 msgstr "E803: ID Ϥޤ: %ld"
 
+#, c-format
+msgid "E370: Could not load library %s"
+msgstr "E370: 饤֥ %s ɤǤޤǤ"
+
+msgid "Sorry, this command is disabled: the Perl library could not be loaded."
+msgstr ""
+"Υޥɤ̵Ǥʤ: Perl饤֥ɤǤޤǤ."
+
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr ""
+"E299: ɥܥåǤ Safe ⥸塼ѤʤPerlץȤ϶ؤ"
+"Ƥޤ"
+
 msgid "Edit with &multiple Vims"
 msgstr "ʣVimԽ (&M)"
 
@@ -6372,6 +6365,9 @@ msgstr "VimǺʬɽ"
 msgid "Edit with &Vim"
 msgstr "VimԽ (&V)"
 
+msgid "Edit with existing Vim"
+msgstr "ưѤVimԽ"
+
 msgid "Edit with existing Vim - "
 msgstr "ưѤVimԽ - "
 
--- a/src/po/ja.po
+++ b/src/po/ja.po
@@ -14,8 +14,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-07-18 00:43+0900\n"
-"PO-Revision-Date: 2017-05-18 00:45+0900\n"
+"POT-Creation-Date: 2018-11-13 19:44+0900\n"
+"PO-Revision-Date: 2018-11-16 09:41+0900\n"
 "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
 "Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
 "Language: ja\n"
@@ -69,26 +69,20 @@ msgstr "E516: 削除されたバッファはありません"
 msgid "E517: No buffers were wiped out"
 msgstr "E517: 破棄されたバッファはありません"
 
-msgid "1 buffer unloaded"
-msgstr "1 個のバッファが解放されました"
-
-#, c-format
-msgid "%d buffers unloaded"
-msgstr "%d 個のバッファが解放されました"
-
-msgid "1 buffer deleted"
-msgstr "1 個のバッファが削除されました"
-
-#, c-format
-msgid "%d buffers deleted"
-msgstr "%d 個のバッファが削除されました"
-
-msgid "1 buffer wiped out"
-msgstr "1 個のバッファが破棄されました"
-
-#, c-format
-msgid "%d buffers wiped out"
-msgstr "%d 個のバッファが破棄されました"
+#, c-format
+msgid "%d buffer unloaded"
+msgid_plural "%d buffers unloaded"
+msgstr[0] "%d 個のバッファが解放されました"
+
+#, c-format
+msgid "%d buffer deleted"
+msgid_plural "%d buffers deleted"
+msgstr[0] "%d 個のバッファが削除されました"
+
+#, c-format
+msgid "%d buffer wiped out"
+msgid_plural "%d buffers wiped out"
+msgstr[0] "%d 個のバッファが破棄されました"
 
 msgid "E90: Cannot unload last buffer"
 msgstr "E90: 最後のバッファは解放できません"
@@ -162,12 +156,9 @@ msgid "[readonly]"
 msgstr "[読込専用]"
 
 #, c-format
-msgid "1 line --%d%%--"
-msgstr "1 行 --%d%%--"
-
-#, c-format
-msgid "%ld lines --%d%%--"
-msgstr "%ld 行 --%d%%--"
+msgid "%ld line --%d%%--"
+msgid_plural "%ld lines --%d%%--"
+msgstr[0] "%ld 行 --%d%%--"
 
 #, c-format
 msgid "line %ld of %ld --%d%%-- col "
@@ -321,12 +312,19 @@ msgstr "E737: キーは既に存在します: %s"
 msgid "E96: Cannot diff more than %ld buffers"
 msgstr "E96: %ld 以上のバッファはdiffできません"
 
+#, c-format
+msgid "Not enough memory to use internal diff for buffer \"%s\""
+msgstr "バッファ \"%s\" 用に内部diffを使うためのメモリが不足しています"
+
 msgid "E810: Cannot read or write temp files"
 msgstr "E810: 一時ファイルの読込もしくは書込ができません"
 
 msgid "E97: Cannot create diffs"
 msgstr "E97: 差分を作成できません"
 
+msgid "E960: Problem creating the internal diff"
+msgstr "E960: 内部diff作成時に問題が発生しました"
+
 msgid "Patch file"
 msgstr "パッチファイル"
 
@@ -336,6 +334,9 @@ msgstr "E816: patchの出力を読込めません"
 msgid "E98: Cannot read diff output"
 msgstr "E98: diffの出力を読込めません"
 
+msgid "E959: Invalid diff format."
+msgstr "E959: 無効なdiff形式です"
+
 msgid "E99: Current buffer is not in diff mode"
 msgstr "E99: 現在のバッファは差分モードではありません"
 
@@ -667,6 +668,9 @@ msgstr ""
 "\n"
 "\t最後にセットしたスクリプト: "
 
+msgid " line "
+msgstr " 行 "
+
 msgid "E691: Can only compare List with List"
 msgstr "E691: リスト型はリスト型としか比較できません"
 
@@ -744,6 +748,9 @@ msgstr "E916: 有効なジョブではありません"
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() には無効な型です"
 
+msgid "E957: Invalid window number"
+msgstr "E957: 無効なウィンドウ番号です"
+
 #, c-format
 msgid "E798: ID is reserved for \":match\": %ld"
 msgstr "E798: ID は \":match\" のために予約されています: %ld"
@@ -790,6 +797,10 @@ msgstr "E258: クライアントへ送ることができません"
 msgid "E927: Invalid action: '%s'"
 msgstr "E927: 無効な操作です: %s"
 
+#, c-format
+msgid "E962: Invalid action: '%s'"
+msgstr "E962: 無効な操作です: %s"
+
 msgid "sort() argument"
 msgstr "sort() の引数"
 
@@ -839,15 +850,13 @@ msgstr "> %d, 16進数 %04x, 8進数 %o"
 msgid "> %d, Hex %08x, Octal %o"
 msgstr "> %d, 16進数 %08x, 8進数 %o"
 
-msgid "E134: Move lines into themselves"
-msgstr "E134: 行をそれ自身には移動できません"
-
-msgid "1 line moved"
-msgstr "1 行が移動されました"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "%ld 行が移動されました"
+msgid "E134: Cannot move a range of lines into itself"
+msgstr "E134: 行の範囲をそれ自身には移動できません"
+
+#, c-format
+msgid "%ld line moved"
+msgid_plural "%ld lines moved"
+msgstr[0] "%ld 行が移動されました"
 
 #, c-format
 msgid "%ld lines filtered"
@@ -999,26 +1008,25 @@ msgstr "%s に置換しますか? (y/n/a/q/l/^E/^Y)"
 msgid "(Interrupted) "
 msgstr "(割込まれました) "
 
-msgid "1 match"
-msgstr "1 箇所該当しました"
-
-msgid "1 substitution"
-msgstr "1 箇所置換しました"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld 箇所該当しました"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld 箇所置換しました"
-
-msgid " on 1 line"
-msgstr " (計 1 行内)"
-
-#, c-format
-msgid " on %ld lines"
-msgstr " (計 %ld 行内)"
+#, c-format
+msgid "%ld match on %ld line"
+msgid_plural "%ld matches on %ld line"
+msgstr[0] "%ld 箇所該当しました (計 %ld 行内)"
+
+#, c-format
+msgid "%ld substitution on %ld line"
+msgid_plural "%ld substitutions on %ld line"
+msgstr[0] "%ld 箇所置換しました (計 %ld 行内)"
+
+#, c-format
+msgid "%ld match on %ld lines"
+msgid_plural "%ld matches on %ld lines"
+msgstr[0] "%ld 箇所該当しました (計 %ld 行内)"
+
+#, c-format
+msgid "%ld substitution on %ld lines"
+msgid_plural "%ld substitutions on %ld lines"
+msgstr[0] "%ld 箇所置換しました (計 %ld 行内)"
 
 msgid "E147: Cannot do :global recursive with a range"
 msgstr "E147: :global を範囲付きで再帰的には使えません"
@@ -1334,19 +1342,15 @@ msgstr ""
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: このバージョンではこのコマンドは利用できません、ごめんなさい"
 
-msgid "1 more file to edit.  Quit anyway?"
-msgstr "編集すべきファイルが 1 個ありますが、終了しますか?"
-
-#, c-format
-msgid "%d more files to edit.  Quit anyway?"
-msgstr "編集すべきファイルがあと %d 個ありますが、終了しますか?"
-
-msgid "E173: 1 more file to edit"
-msgstr "E173: 編集すべきファイルが 1 個あります"
-
-#, c-format
-msgid "E173: %ld more files to edit"
-msgstr "E173: 編集すべきファイルがあと %ld 個あります"
+#, c-format
+msgid "%d more file to edit.  Quit anyway?"
+msgid_plural "%d more files to edit.  Quit anyway?"
+msgstr[0] "編集すべきファイルがあと %d 個ありますが、終了しますか?"
+
+#, c-format
+msgid "E173: %ld more file to edit"
+msgid_plural "E173: %ld more files to edit"
+msgstr[0] "E173: 編集すべきファイルがあと %ld 個あります"
 
 msgid "E174: Command already exists: add ! to replace it"
 msgstr "E174: コマンドが既にあります: 再定義するには ! を追加してください"
@@ -1521,6 +1525,9 @@ msgstr "E498: \"<sfile>\"を置き換える :source 対象ファイル名がありません"
 msgid "E842: no line number to use for \"<slnum>\""
 msgstr "E842: \"<slnum>\"を置き換える行番号がありません"
 
+msgid "E961: no line number to use for \"<sflnum>\""
+msgstr "E961: \"<sflnum>\"を置き換える行番号がありません"
+
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr ""
@@ -1725,9 +1732,6 @@ msgstr "標準入力から読込み中..."
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202: 変換がファイルを読込不可にしました"
 
-msgid "[fifo/socket]"
-msgstr "[FIFO/ソケット]"
-
 msgid "[fifo]"
 msgstr "[FIFO]"
 
@@ -1904,19 +1908,15 @@ msgstr "[unix]"
 msgid "[unix format]"
 msgstr "[unixフォーマット]"
 
-msgid "1 line, "
-msgstr "1 行, "
-
-#, c-format
-msgid "%ld lines, "
-msgstr "%ld 行, "
-
-msgid "1 character"
-msgstr "1 文字"
-
-#, c-format
-msgid "%lld characters"
-msgstr "%lld 文字"
+#, c-format
+msgid "%ld line, "
+msgid_plural "%ld lines, "
+msgstr[0] "%ld 行, "
+
+#, c-format
+msgid "%lld character"
+msgid_plural "%lld characters"
+msgstr[0] "%lld 文字"
 
 msgid "[noeol]"
 msgstr "[noeol]"
@@ -2289,11 +2289,11 @@ msgstr "アンドゥ(&U)"
 msgid "Open tab..."
 msgstr "タブページを開く"
 
-msgid "Find string (use '\\\\' to find a '\\')"
-msgstr "検索文字列 ('\\' を検索するには '\\\\')"
-
-msgid "Find & Replace (use '\\\\' to find a '\\')"
-msgstr "検索・置換 ('\\' を検索するには '\\\\')"
+msgid "Find string"
+msgstr "検索文字列"
+
+msgid "Find & Replace"
+msgstr "検索・置換"
 
 msgid "Not Used"
 msgstr "使われません"
@@ -2710,19 +2710,6 @@ msgstr "範囲外の行番号です"
 msgid "not allowed in the Vim sandbox"
 msgstr "サンドボックスでは許されません"
 
-#, c-format
-msgid "E370: Could not load library %s"
-msgstr "E370: ライブラリ %s をロードできませんでした"
-
-msgid "Sorry, this command is disabled: the Perl library could not be loaded."
-msgstr ""
-"このコマンドは無効です、ごめんなさい: Perlライブラリをロードできませんでした."
-
-msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-msgstr ""
-"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
-"ています"
-
 msgid "E836: This Vim cannot execute :python after using :py3"
 msgstr "E836: このVimでは :py3 を使った後に :python を使えません"
 
@@ -3003,7 +2990,7 @@ msgid "-g\t\t\tRun using GUI (like \"gvi
 msgstr "-g\t\t\tGUIで起動する (\"gvim\" と同じ)"
 
 msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
-msgstr "-f or  --nofork\tフォアグラウンド: GUIを始めるときにforkしない"
+msgstr "-f  or  --nofork\tフォアグラウンド: GUIを始めるときにforkしない"
 
 msgid "-v\t\t\tVi mode (like \"vi\")"
 msgstr "-v\t\t\tViモード (\"vi\" と同じ)"
@@ -3148,7 +3135,7 @@ msgstr "--remote-silent <files>  同上、サーバーが無くても警告文を出力しない"
 
 msgid ""
 "--remote-wait <files>  As --remote but wait for files to have been edited"
-msgstr "--remote-wait <files>\t--remote後 ファイルの編集が終わるのを待つ"
+msgstr "--remote-wait <files>  --remote後 ファイルの編集が終わるのを待つ"
 
 msgid ""
 "--remote-wait-silent <files>  Same, don't complain if there is no server"
@@ -3266,7 +3253,7 @@ msgid "--role <role>\tSet a unique role 
 msgstr "--role <role>\tメインウィンドウを識別する一意な役割(role)を設定する"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
-msgstr "--socketid <xid>\t異なるGTK widgetでVimを開く"
+msgstr "--socketid <xid>\t異なるGTK widgetの内部にVimを開く"
 
 msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout"
 msgstr "--echo-wid\t\tウィンドウIDを標準出力に出力する"
@@ -3322,7 +3309,7 @@ msgid ""
 "change line  col text"
 msgstr ""
 "\n"
-"変更   行    列  テキスト"
+"変更     行   列 テキスト"
 
 msgid ""
 "\n"
@@ -3649,7 +3636,7 @@ msgstr ""
 "\n"
 "        プロセスID: "
 
-msgid " (still running)"
+msgid " (STILL RUNNING)"
 msgstr " (まだ実行中)"
 
 msgid ""
@@ -3745,6 +3732,9 @@ msgstr ""
 msgid "While opening file \""
 msgstr "次のファイルを開いている最中 \""
 
+msgid "      CANNOT BE FOUND"
+msgstr "      見つかりません"
+
 msgid "      NEWER than swap file!\n"
 msgstr "      スワップファイルよりも新しいです!\n"
 
@@ -3960,19 +3950,15 @@ msgstr ""
 msgid "Type number and <Enter> (empty cancels): "
 msgstr "番号と<Enter>を入力してください (空でキャンセル): "
 
-msgid "1 more line"
-msgstr "1 行 追加しました"
-
-msgid "1 line less"
-msgstr "1 行 削除しました"
-
-#, c-format
-msgid "%ld more lines"
-msgstr "%ld 行 追加しました"
-
-#, c-format
-msgid "%ld fewer lines"
-msgstr "%ld 行 削除しました"
+#, c-format
+msgid "%ld more line"
+msgid_plural "%ld more lines"
+msgstr[0] "%ld 行 追加しました"
+
+#, c-format
+msgid "%ld line less"
+msgid_plural "%ld fewer lines"
+msgstr[0] "%ld 行 削除しました"
 
 msgid " (Interrupted)"
 msgstr " (割込まれました)"
@@ -4042,7 +4028,7 @@ msgstr ""
 
 #, c-format
 msgid "E344: Can't find directory \"%s\" in cdpath"
-msgstr "E344: cdpathには \"%s\" というファイルがありません"
+msgstr "E344: cdpathには \"%s\" というディレクトリがありません"
 
 #, c-format
 msgid "E345: Can't find file \"%s\" in path"
@@ -4050,7 +4036,7 @@ msgstr "E345: pathには \"%s\" というファイルがありません"
 
 #, c-format
 msgid "E346: No more directory \"%s\" found in cdpath"
-msgstr "E346: cdpathにはこれ以上 \"%s\" というファイルがありません"
+msgstr "E346: cdpathにはこれ以上 \"%s\" というディレクトリがありません"
 
 #, c-format
 msgid "E347: No more file \"%s\" found in path"
@@ -4108,31 +4094,23 @@ msgstr ""
 "さい"
 
 #, c-format
-msgid "1 line %sed 1 time"
-msgstr "1 行が %s で 1 回処理されました"
-
-#, c-format
-msgid "1 line %sed %d times"
-msgstr "1 行が %s で %d 回処理されました"
-
-#, c-format
-msgid "%ld lines %sed 1 time"
-msgstr "%ld 行が %s で 1 回処理されました"
-
-#, c-format
-msgid "%ld lines %sed %d times"
-msgstr "%ld 行が %s で %d 回処理されました"
+msgid "%ld line %sed %d time"
+msgid_plural "%ld line %sed %d times"
+msgstr[0] "%ld 行が %s で %d 回処理されました"
+
+#, c-format
+msgid "%ld lines %sed %d time"
+msgid_plural "%ld lines %sed %d times"
+msgstr[0] "%ld 行が %s で %d 回処理されました"
 
 #, c-format
 msgid "%ld lines to indent... "
 msgstr "%ld 行がインデントされます... "
 
-msgid "1 line indented "
-msgstr "1 行をインデントしました "
-
-#, c-format
-msgid "%ld lines indented "
-msgstr "%ld 行をインデントしました "
+#, c-format
+msgid "%ld line indented "
+msgid_plural "%ld lines indented "
+msgstr[0] "%ld 行をインデントしました "
 
 msgid "E748: No previously used register"
 msgstr "E748: まだレジスタを使用していません"
@@ -4140,12 +4118,10 @@ msgstr "E748: まだレジスタを使用していません"
 msgid "cannot yank; delete anyway"
 msgstr "ヤンクできません; とにかく消去"
 
-msgid "1 line changed"
-msgstr "1 行が変更されました"
-
-#, c-format
-msgid "%ld lines changed"
-msgstr "%ld 行が変更されました"
+#, c-format
+msgid "%ld line changed"
+msgid_plural "%ld lines changed"
+msgstr[0] "%ld 行が変更されました"
 
 #, c-format
 msgid "freeing %ld lines"
@@ -4156,20 +4132,14 @@ msgid " into \"%c"
 msgstr " \"%c に"
 
 #, c-format
-msgid "block of 1 line yanked%s"
-msgstr "1 行のブロックが%sヤンクされました"
-
-#, c-format
-msgid "1 line yanked%s"
-msgstr "1 行が%sヤンクされました"
-
-#, c-format
-msgid "block of %ld lines yanked%s"
-msgstr "%ld 行のブロックが%sヤンクされました"
-
-#, c-format
-msgid "%ld lines yanked%s"
-msgstr "%ld 行が%sヤンクされました"
+msgid "block of %ld line yanked%s"
+msgid_plural "block of %ld lines yanked%s"
+msgstr[0] "%ld 行のブロックが%sヤンクされました"
+
+#, c-format
+msgid "%ld line yanked%s"
+msgid_plural "%ld lines yanked%s"
+msgstr[0] "%ld 行が%sヤンクされました"
 
 #, c-format
 msgid "E353: Nothing in register %s"
@@ -5387,6 +5357,9 @@ msgstr "E783: MAP エントリに重複文字が存在します"
 msgid "No Syntax items defined for this buffer"
 msgstr "このバッファに定義された構文要素はありません"
 
+msgid "'redrawtime' exceeded, syntax highlighting disabled"
+msgstr "'redrawtime' を超過したため、構文ハイライトは無効化されます"
+
 msgid "syntax conceal on"
 msgstr "構文の conceal は現在 on です"
 
@@ -5415,6 +5388,9 @@ msgstr "構文の spell は現在 default です"
 msgid "syntax iskeyword "
 msgstr "構文用 iskeyword "
 
+msgid "syntax iskeyword not set"
+msgstr "構文用 iskeyword はセットされていません"
+
 #, c-format
 msgid "E391: No such syntax cluster: %s"
 msgstr "E391: そのような構文クラスタはありません: %s"
@@ -5754,6 +5730,9 @@ msgstr "実行中"
 msgid "finished"
 msgstr "終了"
 
+msgid "E958: Job already finished"
+msgstr "E958: ジョブはすでに終了しています"
+
 #, c-format
 msgid "E953: File exists: %s"
 msgstr "E953: ファイルは既に存在します: %s"
@@ -5893,8 +5872,9 @@ msgid "number changes  when             
 msgstr "通番   変更数   変更時期           保存済"
 
 #, c-format
-msgid "%ld seconds ago"
-msgstr "%ld 秒経過しています"
+msgid "%ld second ago"
+msgid_plural "%ld seconds ago"
+msgstr[0] "%ld 秒経過しています"
 
 msgid "E790: undojoin is not allowed after undo"
 msgstr "E790: undo の直後に undojoin はできません"
@@ -6360,6 +6340,19 @@ msgstr "E802: 無効な ID: %ld (1 以上でなければなりません)"
 msgid "E803: ID not found: %ld"
 msgstr "E803: ID はありません: %ld"
 
+#, c-format
+msgid "E370: Could not load library %s"
+msgstr "E370: ライブラリ %s をロードできませんでした"
+
+msgid "Sorry, this command is disabled: the Perl library could not be loaded."
+msgstr ""
+"このコマンドは無効です、ごめんなさい: Perlライブラリをロードできませんでした."
+
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr ""
+"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
+"ています"
+
 msgid "Edit with &multiple Vims"
 msgstr "複数のVimで編集する (&M)"
 
@@ -6372,6 +6365,9 @@ msgstr "Vimで差分を表示する"
 msgid "Edit with &Vim"
 msgstr "Vimで編集する (&V)"
 
+msgid "Edit with existing Vim"
+msgstr "起動済のVimで編集する"
+
 msgid "Edit with existing Vim - "
 msgstr "起動済のVimで編集する - "
 
--- a/src/po/ja.sjis.po
+++ b/src/po/ja.sjis.po
@@ -14,8 +14,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim 8.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-07-18 00:43+0900\n"
-"PO-Revision-Date: 2017-05-18 00:45+0900\n"
+"POT-Creation-Date: 2018-11-13 19:44+0900\n"
+"PO-Revision-Date: 2018-11-16 09:41+0900\n"
 "Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
 "Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
 "Language: ja\n"
@@ -69,26 +69,20 @@ msgstr "E516: 폜ꂽobt@͂܂"
 msgid "E517: No buffers were wiped out"
 msgstr "E517: jꂽobt@͂܂"
 
-msgid "1 buffer unloaded"
-msgstr "1 ‚̃obt@܂"
-
-#, c-format
-msgid "%d buffers unloaded"
-msgstr "%d ‚̃obt@܂"
-
-msgid "1 buffer deleted"
-msgstr "1 ‚̃obt@폜܂"
-
-#, c-format
-msgid "%d buffers deleted"
-msgstr "%d ‚̃obt@폜܂"
-
-msgid "1 buffer wiped out"
-msgstr "1 ‚̃obt@j܂"
-
-#, c-format
-msgid "%d buffers wiped out"
-msgstr "%d ‚̃obt@j܂"
+#, c-format
+msgid "%d buffer unloaded"
+msgid_plural "%d buffers unloaded"
+msgstr[0] "%d ‚̃obt@܂"
+
+#, c-format
+msgid "%d buffer deleted"
+msgid_plural "%d buffers deleted"
+msgstr[0] "%d ‚̃obt@폜܂"
+
+#, c-format
+msgid "%d buffer wiped out"
+msgid_plural "%d buffers wiped out"
+msgstr[0] "%d ‚̃obt@j܂"
 
 msgid "E90: Cannot unload last buffer"
 msgstr "E90: Ō̃obt@͉ł܂"
@@ -162,12 +156,9 @@ msgid "[readonly]"
 msgstr "[Ǎp]"
 
 #, c-format
-msgid "1 line --%d%%--"
-msgstr "1 s --%d%%--"
-
-#, c-format
-msgid "%ld lines --%d%%--"
-msgstr "%ld s --%d%%--"
+msgid "%ld line --%d%%--"
+msgid_plural "%ld lines --%d%%--"
+msgstr[0] "%ld s --%d%%--"
 
 #, c-format
 msgid "line %ld of %ld --%d%%-- col "
@@ -321,12 +312,19 @@ msgstr "E737: L[͊ɑ݂܂: %s"
 msgid "E96: Cannot diff more than %ld buffers"
 msgstr "E96: %ld ȏ̃obt@diffł܂"
 
+#, c-format
+msgid "Not enough memory to use internal diff for buffer \"%s\""
+msgstr "obt@ \"%s\" pɓdiffg߂̃sĂ܂"
+
 msgid "E810: Cannot read or write temp files"
 msgstr "E810: ꎞt@C̓Ǎ͏ł܂"
 
 msgid "E97: Cannot create diffs"
 msgstr "E97: 쐬ł܂"
 
+msgid "E960: Problem creating the internal diff"
+msgstr "E960: diff쐬ɖ肪܂"
+
 msgid "Patch file"
 msgstr "pb`t@C"
 
@@ -336,6 +334,9 @@ msgstr "E816: patch̏o͂Ǎ߂܂"
 msgid "E98: Cannot read diff output"
 msgstr "E98: diff̏o͂Ǎ߂܂"
 
+msgid "E959: Invalid diff format."
+msgstr "E959: diff`ł"
+
 msgid "E99: Current buffer is not in diff mode"
 msgstr "E99: ݂̃obt@͍[hł͂܂"
 
@@ -667,6 +668,9 @@ msgstr ""
 "\n"
 "\tŌɃZbgXNvg: "
 
+msgid " line "
+msgstr " s "
+
 msgid "E691: Can only compare List with List"
 msgstr "E691: Xg^̓Xg^Ƃrł܂"
 
@@ -744,6 +748,9 @@ msgstr "E916: LȃWuł͂܂"
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() ɂ͖Ȍ^ł"
 
+msgid "E957: Invalid window number"
+msgstr "E957: ȃEBhEԍł"
+
 #, c-format
 msgid "E798: ID is reserved for \":match\": %ld"
 msgstr "E798: ID  \":match\" ̂߂ɗ\\񂳂Ă܂: %ld"
@@ -790,6 +797,10 @@ msgstr "E258: NCAg֑邱Ƃł܂"
 msgid "E927: Invalid action: '%s'"
 msgstr "E927: ȑł: %s"
 
+#, c-format
+msgid "E962: Invalid action: '%s'"
+msgstr "E962: ȑł: %s"
+
 msgid "sort() argument"
 msgstr "sort() ̈"
 
@@ -839,15 +850,13 @@ msgstr "> %d, 16i %04x, 8i %o"
 msgid "> %d, Hex %08x, Octal %o"
 msgstr "> %d, 16i %08x, 8i %o"
 
-msgid "E134: Move lines into themselves"
-msgstr "E134: sꎩgɂ͈ړł܂"
-
-msgid "1 line moved"
-msgstr "1 sړ܂"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "%ld sړ܂"
+msgid "E134: Cannot move a range of lines into itself"
+msgstr "E134: s͈̔͂ꎩgɂ͈ړł܂"
+
+#, c-format
+msgid "%ld line moved"
+msgid_plural "%ld lines moved"
+msgstr[0] "%ld sړ܂"
 
 #, c-format
 msgid "%ld lines filtered"
@@ -999,26 +1008,25 @@ msgstr "%s ɒu܂? (y/n/a/q/l/^E/^Y)"
 msgid "(Interrupted) "
 msgstr "(܂܂) "
 
-msgid "1 match"
-msgstr "1 ӏY܂"
-
-msgid "1 substitution"
-msgstr "1 ӏu܂"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld ӏY܂"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld ӏu܂"
-
-msgid " on 1 line"
-msgstr " (v 1 s)"
-
-#, c-format
-msgid " on %ld lines"
-msgstr " (v %ld s)"
+#, c-format
+msgid "%ld match on %ld line"
+msgid_plural "%ld matches on %ld line"
+msgstr[0] "%ld ӏY܂ (v %ld s)"
+
+#, c-format
+msgid "%ld substitution on %ld line"
+msgid_plural "%ld substitutions on %ld line"
+msgstr[0] "%ld ӏu܂ (v %ld s)"
+
+#, c-format
+msgid "%ld match on %ld lines"
+msgid_plural "%ld matches on %ld lines"
+msgstr[0] "%ld ӏY܂ (v %ld s)"
+
+#, c-format
+msgid "%ld substitution on %ld lines"
+msgid_plural "%ld substitutions on %ld lines"
+msgstr[0] "%ld ӏu܂ (v %ld s)"
 
 msgid "E147: Cannot do :global recursive with a range"
 msgstr "E147: :global ͈͕tōċAIɂ͎g܂"
@@ -1334,19 +1342,15 @@ msgstr ""
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: ̃o[Wł͂̃R}h͗pł܂A߂Ȃ"
 
-msgid "1 more file to edit.  Quit anyway?"
-msgstr "ҏWׂt@C 1 ‚܂AI܂?"
-
-#, c-format
-msgid "%d more files to edit.  Quit anyway?"
-msgstr "ҏWׂt@C %d ‚܂AI܂?"
-
-msgid "E173: 1 more file to edit"
-msgstr "E173: ҏWׂt@C 1 ‚܂"
-
-#, c-format
-msgid "E173: %ld more files to edit"
-msgstr "E173: ҏWׂt@C %ld ‚܂"
+#, c-format
+msgid "%d more file to edit.  Quit anyway?"
+msgid_plural "%d more files to edit.  Quit anyway?"
+msgstr[0] "ҏWׂt@C %d ‚܂AI܂?"
+
+#, c-format
+msgid "E173: %ld more file to edit"
+msgid_plural "E173: %ld more files to edit"
+msgstr[0] "E173: ҏWׂt@C %ld ‚܂"
 
 msgid "E174: Command already exists: add ! to replace it"
 msgstr "E174: R}hɂ܂: Ē`ɂ ! ljĂ"
@@ -1521,6 +1525,9 @@ msgstr "E498: \"<sfile>\"u :source Ώۃt@C܂"
 msgid "E842: no line number to use for \"<slnum>\""
 msgstr "E842: \"<slnum>\"usԍ܂"
 
+msgid "E961: no line number to use for \"<sflnum>\""
+msgstr "E961: \"<sflnum>\"usԍ܂"
+
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr ""
@@ -1725,9 +1732,6 @@ msgstr "W͂Ǎݒ..."
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202: ϊt@CǍs‚ɂ܂"
 
-msgid "[fifo/socket]"
-msgstr "[FIFO/\\Pbg]"
-
 msgid "[fifo]"
 msgstr "[FIFO]"
 
@@ -1904,19 +1908,15 @@ msgstr "[unix]"
 msgid "[unix format]"
 msgstr "[unixtH[}bg]"
 
-msgid "1 line, "
-msgstr "1 s, "
-
-#, c-format
-msgid "%ld lines, "
-msgstr "%ld s, "
-
-msgid "1 character"
-msgstr "1 "
-
-#, c-format
-msgid "%lld characters"
-msgstr "%lld "
+#, c-format
+msgid "%ld line, "
+msgid_plural "%ld lines, "
+msgstr[0] "%ld s, "
+
+#, c-format
+msgid "%lld character"
+msgid_plural "%lld characters"
+msgstr[0] "%lld "
 
 msgid "[noeol]"
 msgstr "[noeol]"
@@ -2289,11 +2289,11 @@ msgstr "AhD(&U)"
 msgid "Open tab..."
 msgstr "^uy[WJ"
 
-msgid "Find string (use '\\\\' to find a '\\')"
-msgstr " ('\\' ɂ '\\\\')"
-
-msgid "Find & Replace (use '\\\\' to find a '\\')"
-msgstr "Eu ('\\' ɂ '\\\\')"
+msgid "Find string"
+msgstr ""
+
+msgid "Find & Replace"
+msgstr "Eu"
 
 msgid "Not Used"
 msgstr "g܂"
@@ -2710,19 +2710,6 @@ msgstr "͈͊O̍sԍł"
 msgid "not allowed in the Vim sandbox"
 msgstr "Th{bNXł͋܂"
 
-#, c-format
-msgid "E370: Could not load library %s"
-msgstr "E370: Cu %s [hł܂ł"
-
-msgid "Sorry, this command is disabled: the Perl library could not be loaded."
-msgstr ""
-"̃R}h͖łA߂Ȃ: PerlCu[hł܂ł."
-
-msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-msgstr ""
-"E299: Th{bNXł Safe W[gpȂPerlXNvg͋ւ"
-"Ă܂"
-
 msgid "E836: This Vim cannot execute :python after using :py3"
 msgstr "E836: Vimł :py3 g :python g܂"
 
@@ -3003,7 +2990,7 @@ msgid "-g\t\t\tRun using GUI (like \"gvi
 msgstr "-g\t\t\tGUIŋN (\"gvim\" Ɠ)"
 
 msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
-msgstr "-f or  --nofork\ttHAOEh: GUIn߂ƂforkȂ"
+msgstr "-f  or  --nofork\ttHAOEh: GUIn߂ƂforkȂ"
 
 msgid "-v\t\t\tVi mode (like \"vi\")"
 msgstr "-v\t\t\tVi[h (\"vi\" Ɠ)"
@@ -3148,7 +3135,7 @@ msgstr "--remote-silent <files>  AT[o[Ăxo͂Ȃ"
 
 msgid ""
 "--remote-wait <files>  As --remote but wait for files to have been edited"
-msgstr "--remote-wait <files>\t--remote t@C̕ҏWÎ҂"
+msgstr "--remote-wait <files>  --remote t@C̕ҏWÎ҂"
 
 msgid ""
 "--remote-wait-silent <files>  Same, don't complain if there is no server"
@@ -3266,7 +3253,7 @@ msgid "--role <role>\tSet a unique role 
 msgstr "--role <role>\tCEBhEʂӂȖ(role)ݒ肷"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
-msgstr "--socketid <xid>\tقȂGTK widgetVimJ"
+msgstr "--socketid <xid>\tقȂGTK widget̓VimJ"
 
 msgid "--echo-wid\t\tMake gvim echo the Window ID on stdout"
 msgstr "--echo-wid\t\tEBhEIDWo͂ɏo͂"
@@ -3322,7 +3309,7 @@ msgid ""
 "change line  col text"
 msgstr ""
 "\n"
-"ύX   s      eLXg"
+"ύX     s    eLXg"
 
 msgid ""
 "\n"
@@ -3649,7 +3636,7 @@ msgstr ""
 "\n"
 "        vZXID: "
 
-msgid " (still running)"
+msgid " (STILL RUNNING)"
 msgstr " (܂s)"
 
 msgid ""
@@ -3745,6 +3732,9 @@ msgstr ""
 msgid "While opening file \""
 msgstr "̃t@CJĂŒ \""
 
+msgid "      CANNOT BE FOUND"
+msgstr "      ‚܂"
+
 msgid "      NEWER than swap file!\n"
 msgstr "      Xbvt@CVł!\n"
 
@@ -3960,19 +3950,15 @@ msgstr ""
 msgid "Type number and <Enter> (empty cancels): "
 msgstr "ԍ<Enter>͂Ă (ŃLZ): "
 
-msgid "1 more line"
-msgstr "1 s lj܂"
-
-msgid "1 line less"
-msgstr "1 s 폜܂"
-
-#, c-format
-msgid "%ld more lines"
-msgstr "%ld s lj܂"
-
-#, c-format
-msgid "%ld fewer lines"
-msgstr "%ld s 폜܂"
+#, c-format
+msgid "%ld more line"
+msgid_plural "%ld more lines"
+msgstr[0] "%ld s lj܂"
+
+#, c-format
+msgid "%ld line less"
+msgid_plural "%ld fewer lines"
+msgstr[0] "%ld s 폜܂"
 
 msgid " (Interrupted)"
 msgstr " (܂܂)"
@@ -4042,7 +4028,7 @@ msgstr ""
 
 #, c-format
 msgid "E344: Can't find directory \"%s\" in cdpath"
-msgstr "E344: cdpathɂ \"%s\" Ƃt@C܂"
+msgstr "E344: cdpathɂ \"%s\" ƂfBNg܂"
 
 #, c-format
 msgid "E345: Can't find file \"%s\" in path"
@@ -4050,7 +4036,7 @@ msgstr "E345: pathɂ \"%s\" Ƃt@C܂"
 
 #, c-format
 msgid "E346: No more directory \"%s\" found in cdpath"
-msgstr "E346: cdpathɂ͂ȏ \"%s\" Ƃt@C܂"
+msgstr "E346: cdpathɂ͂ȏ \"%s\" ƂfBNg܂"
 
 #, c-format
 msgid "E347: No more file \"%s\" found in path"
@@ -4108,31 +4094,23 @@ msgstr ""
 ""
 
 #, c-format
-msgid "1 line %sed 1 time"
-msgstr "1 s %s  1 񏈗܂"
-
-#, c-format
-msgid "1 line %sed %d times"
-msgstr "1 s %s  %d 񏈗܂"
-
-#, c-format
-msgid "%ld lines %sed 1 time"
-msgstr "%ld s %s  1 񏈗܂"
-
-#, c-format
-msgid "%ld lines %sed %d times"
-msgstr "%ld s %s  %d 񏈗܂"
+msgid "%ld line %sed %d time"
+msgid_plural "%ld line %sed %d times"
+msgstr[0] "%ld s %s  %d 񏈗܂"
+
+#, c-format
+msgid "%ld lines %sed %d time"
+msgid_plural "%ld lines %sed %d times"
+msgstr[0] "%ld s %s  %d 񏈗܂"
 
 #, c-format
 msgid "%ld lines to indent... "
 msgstr "%ld sCfg܂... "
 
-msgid "1 line indented "
-msgstr "1 sCfg܂ "
-
-#, c-format
-msgid "%ld lines indented "
-msgstr "%ld sCfg܂ "
+#, c-format
+msgid "%ld line indented "
+msgid_plural "%ld lines indented "
+msgstr[0] "%ld sCfg܂ "
 
 msgid "E748: No previously used register"
 msgstr "E748: ܂WX^gpĂ܂"
@@ -4140,12 +4118,10 @@ msgstr "E748: ܂WX^gpĂ܂"
 msgid "cannot yank; delete anyway"
 msgstr "Nł܂; Ƃɂ"
 
-msgid "1 line changed"
-msgstr "1 sύX܂"
-
-#, c-format
-msgid "%ld lines changed"
-msgstr "%ld sύX܂"
+#, c-format
+msgid "%ld line changed"
+msgid_plural "%ld lines changed"
+msgstr[0] "%ld sύX܂"
 
 #, c-format
 msgid "freeing %ld lines"
@@ -4156,20 +4132,14 @@ msgid " into \"%c"
 msgstr " \"%c "
 
 #, c-format
-msgid "block of 1 line yanked%s"
-msgstr "1 s̃ubN%sN܂"
-
-#, c-format
-msgid "1 line yanked%s"
-msgstr "1 s%sN܂"
-
-#, c-format
-msgid "block of %ld lines yanked%s"
-msgstr "%ld s̃ubN%sN܂"
-
-#, c-format
-msgid "%ld lines yanked%s"
-msgstr "%ld s%sN܂"
+msgid "block of %ld line yanked%s"
+msgid_plural "block of %ld lines yanked%s"
+msgstr[0] "%ld s̃ubN%sN܂"
+
+#, c-format
+msgid "%ld line yanked%s"
+msgid_plural "%ld lines yanked%s"
+msgstr[0] "%ld s%sN܂"
 
 #, c-format
 msgid "E353: Nothing in register %s"
@@ -5387,6 +5357,9 @@ msgstr "E783: MAP Ggɏd݂܂"
 msgid "No Syntax items defined for this buffer"
 msgstr "̃obt@ɒ`ꂽ\\vf͂܂"
 
+msgid "'redrawtime' exceeded, syntax highlighting disabled"
+msgstr "'redrawtime' 𒴉߂߁A\\nCCg͖܂"
+
 msgid "syntax conceal on"
 msgstr "\\ conceal ͌ on ł"
 
@@ -5415,6 +5388,9 @@ msgstr "\\ spell ͌ default ł"
 msgid "syntax iskeyword "
 msgstr "\\p iskeyword "
 
+msgid "syntax iskeyword not set"
+msgstr "\\p iskeyword ̓ZbgĂ܂"
+
 #, c-format
 msgid "E391: No such syntax cluster: %s"
 msgstr "E391: ̂悤ȍ\\NX^͂܂: %s"
@@ -5754,6 +5730,9 @@ msgstr "s"
 msgid "finished"
 msgstr "I"
 
+msgid "E958: Job already finished"
+msgstr "E958: Wu͂łɏIĂ܂"
+
 #, c-format
 msgid "E953: File exists: %s"
 msgstr "E953: t@C͊ɑ݂܂: %s"
@@ -5893,8 +5872,9 @@ msgid "number changes  when             
 msgstr "ʔ   ύX   ύX           ۑ"
 
 #, c-format
-msgid "%ld seconds ago"
-msgstr "%ld bo߂Ă܂"
+msgid "%ld second ago"
+msgid_plural "%ld seconds ago"
+msgstr[0] "%ld bo߂Ă܂"
 
 msgid "E790: undojoin is not allowed after undo"
 msgstr "E790: undo ̒ undojoin ͂ł܂"
@@ -6360,6 +6340,19 @@ msgstr "E802:  ID: %ld (1 ȏłȂ΂Ȃ܂)"
 msgid "E803: ID not found: %ld"
 msgstr "E803: ID ͂܂: %ld"
 
+#, c-format
+msgid "E370: Could not load library %s"
+msgstr "E370: Cu %s [hł܂ł"
+
+msgid "Sorry, this command is disabled: the Perl library could not be loaded."
+msgstr ""
+"̃R}h͖łA߂Ȃ: PerlCu[hł܂ł."
+
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr ""
+"E299: Th{bNXł Safe W[gpȂPerlXNvg͋ւ"
+"Ă܂"
+
 msgid "Edit with &multiple Vims"
 msgstr "VimŕҏW (&M)"
 
@@ -6372,6 +6365,9 @@ msgstr "Vimō\\"
 msgid "Edit with &Vim"
 msgstr "VimŕҏW (&V)"
 
+msgid "Edit with existing Vim"
+msgstr "NςVimŕҏW"
+
 msgid "Edit with existing Vim - "
 msgstr "NςVimŕҏW - "