Long overdue runtime update.
diff --git a/src/po/check.vim b/src/po/check.vim
index a8866eb..a1ec623 100644
--- a/src/po/check.vim
+++ b/src/po/check.vim
@@ -146,7 +146,10 @@
 " Check that the file is well formed according to msgfmts understanding
 if executable("msgfmt")
   let filename = expand("%")
-  let a = system("msgfmt --statistics OLD_PO_FILE_INPUT=yes " . filename)
+  " Newer msgfmt does not take OLD_PO_FILE_INPUT argument, must be in
+  " environment.
+  let $OLD_PO_FILE_INPUT = 'yes'
+  let a = system("msgfmt --statistics " . filename)
   if v:shell_error != 0
     let error = matchstr(a, filename.':\zs\d\+\ze:')+0
     for line in split(a, '\n') | echomsg line | endfor
diff --git a/src/po/de.po b/src/po/de.po
index 214cb8d..e7239e3 100644
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: Vim(deutsch)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-08-01 14:56+0200\n"
+"POT-Creation-Date: 2017-10-15 22:00+0200\n"
 "PO-Revision-Date: 2008-05-24 17:26+0200\n"
 "Last-Translator: Christian Brabandt\n"
 "Language-Team: German <de@li.org>\n"
@@ -106,6 +106,18 @@
 msgstr ""
 "E89: Puffer %ld seit der letzten Änderung nicht gesichert (erzwinge mit !)"
 
+msgid "E948: Job still running (add ! to end the job)"
+msgstr "E948: Job läuft noch (Beenden mit !)"
+
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37: Kein Schreibvorgang seit der letzten Änderung (erzwinge mit !)"
+
+msgid "E948: Job still running"
+msgstr "E948: Job läuft noch"
+
+msgid "E37: No write since last change"
+msgstr "E37: Nicht geschrieben seit letzter Änderung"
+
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: Achtung: Überlauf der Dateinamensliste."
 
@@ -1142,8 +1154,8 @@
 msgid "Save changes to \"%s\"?"
 msgstr "Änderungen in \"%s\" speichern?"
 
-msgid "Untitled"
-msgstr "Unbenannt"
+msgid "E947: Job still running in buffer \"%s\""
+msgstr "E947: Job noch aktiv in Puffer \"%s\""
 
 #, c-format
 msgid "E162: No write since last change for buffer \"%s\""
@@ -1501,6 +1513,9 @@
 msgid "E195: Cannot open viminfo file for reading"
 msgstr "E195: viminfo kann nicht zum Lesen geöffnet werden."
 
+msgid "Untitled"
+msgstr "Unbenannt"
+
 msgid "E196: No digraphs in this version"
 msgstr "E196: Keine Digraphen in dieser Version."
 
@@ -3875,6 +3890,10 @@
 msgid "Tear off this menu"
 msgstr "Reiße dieses Menü ab"
 
+#, c-format
+msgid "E335: Menu not defined for %s mode"
+msgstr "E335: Menü ist für Modus %s nicht definiert"
+
 msgid "E333: Menu path must lead to a menu item"
 msgstr "E333: Menü-Pfad muss zu einem Menüpunkt führen"
 
@@ -3882,10 +3901,6 @@
 msgid "E334: Menu not found: %s"
 msgstr "E334: Menü nicht gefunden: %s"
 
-#, c-format
-msgid "E335: Menu not defined for %s mode"
-msgstr "E335: Menü ist für Modus %s nicht definiert"
-
 msgid "E336: Menu path must lead to a sub-menu"
 msgstr "E336: Menü-Pfad muss zum Untermenü führen"
 
@@ -4262,9 +4277,6 @@
 msgid "(+%ld for BOM)"
 msgstr "(+%ld für BOM)"
 
-msgid "%<%f%h%m%=Page %N"
-msgstr "%<%f%h%m%=Seite %N"
-
 msgid "Thanks for flying Vim"
 msgstr "Danke für die Benutzung von Vim"
 
@@ -5775,6 +5787,9 @@
 msgid "Terminal-finished"
 msgstr "Terminal beendet"
 
+msgid "active"
+msgstr "aktiv"
+
 msgid "running"
 msgstr "Führe aus"
 
@@ -6637,12 +6652,6 @@
 msgid "E485: Can't read file %s"
 msgstr "E485: Kann Datei %s nicht lesen"
 
-msgid "E37: No write since last change (add ! to override)"
-msgstr "E37: Kein Schreibvorgang seit der letzten Änderung (erzwinge mit !)"
-
-msgid "E37: No write since last change"
-msgstr "E37: Nicht geschrieben seit letzter Änderung"
-
 msgid "E38: Null argument"
 msgstr "E38: Null-Argument"
 
diff --git a/src/po/eo.po b/src/po/eo.po
index 188d86f..cc0893d 100644
--- a/src/po/eo.po
+++ b/src/po/eo.po
@@ -17,8 +17,8 @@
 msgstr ""
 "Project-Id-Version: Vim(Esperanto)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-07-11 23:10+0200\n"
-"PO-Revision-Date: 2017-07-12 05:14+0200\n"
+"POT-Creation-Date: 2017-10-02 22:42+0200\n"
+"PO-Revision-Date: 2017-10-02 22:57+0200\n"
 "Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n"
 "Language-Team: \n"
 "Language: eo\n"
@@ -99,7 +99,6 @@
 msgid "E84: No modified buffer found"
 msgstr "E84: Neniu modifita bufro trovita"
 
-#. back where we started, didn't find anything.
 msgid "E85: There is no listed buffer"
 msgstr "E85: Estas neniu listigita bufro"
 
@@ -115,6 +114,18 @@
 "E89: Neniu skribo de post la lasta ŝanĝo de la bufro %ld (aldonu ! por "
 "transpasi)"
 
+msgid "E948: Job still running (add ! to end the job)"
+msgstr "E948: Tasko akoraŭ aktiva (aldonu ! por fini la taskon)"
+
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37: Neniu skribo de post lasta ŝanĝo (aldonu ! por transpasi)"
+
+msgid "E948: Job still running"
+msgstr "E948: Tasko ankoraŭ aktiva"
+
+msgid "E37: No write since last change"
+msgstr "E37: Neniu skribo de post lasta ŝanĝo"
+
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: Averto: Listo de dosiernomoj troas"
 
@@ -170,7 +181,6 @@
 msgid "[No Name]"
 msgstr "[Neniu nomo]"
 
-#. must be a help buffer
 msgid "help"
 msgstr "helpo"
 
@@ -196,6 +206,9 @@
 "\n"
 "# Listo de bufroj:\n"
 
+msgid "E382: Cannot write, 'buftype' option is set"
+msgstr "E382: Ne eblas skribi, opcio 'buftype' estas ŝaltita"
+
 msgid "[Scratch]"
 msgstr "[Malneto]"
 
@@ -363,7 +376,6 @@
 msgid " Keyword completion (^N^P)"
 msgstr " Kompletigo de ŝlosilvorto (^N^P)"
 
-#. ctrl_x_mode == 0, ^P/^N compl.
 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 msgstr " Reĝimo ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
@@ -442,10 +454,6 @@
 msgid " Adding"
 msgstr " Aldonanta"
 
-#. showmode might reset the internal line pointers, so it must
-#. * be called before line = ml_get(), or when this address is no
-#. * longer needed.  -- Acevedo.
-#.
 msgid "-- Searching..."
 msgstr "-- Serĉanta..."
 
@@ -466,7 +474,6 @@
 msgid "match %d"
 msgstr "kongruo %d"
 
-#. maximum nesting of lists and dicts
 msgid "E18: Unexpected characters in :let"
 msgstr "E18: Neatenditaj signoj en \":let\""
 
@@ -526,8 +533,6 @@
 msgid "E108: No such variable: \"%s\""
 msgstr "E108: Ne estas tia variablo: \"%s\""
 
-#. For historic reasons this error is not given for a list or dict.
-#. * E.g., the b: dict could be locked/unlocked.
 #, c-format
 msgid "E940: Cannot lock or unlock variable %s"
 msgstr "E940: Ne eblas ŝlosi aŭ malŝlosi variablon %s"
@@ -700,11 +705,6 @@
 msgid "E785: complete() can only be used in Insert mode"
 msgstr "E785: complete() uzeblas nur en Enmeta reĝimo"
 
-#.
-#. * Yes this is ugly, I don't particularly like it either.  But doing it
-#. * this way has the compelling advantage that translations need not to
-#. * be touched at all.  See below what 'ok' and 'ync' are used for.
-#.
 msgid "&Ok"
 msgstr "&Bone"
 
@@ -865,7 +865,6 @@
 msgid " FAILED"
 msgstr " MALSUKCESIS"
 
-#. avoid a wait_return for this message, it's annoying
 #, c-format
 msgid "E137: Viminfo file is not writable: %s"
 msgstr "E137: Dosiero viminfo ne skribeblas: %s"
@@ -886,7 +885,6 @@
 msgid "E886: Can't rename viminfo file to %s!"
 msgstr "E886: Ne eblas renomi dosieron viminfo al %s!"
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Tiu dosiero viminfo estis kreita de Vim %s.\n"
@@ -1005,7 +1003,6 @@
 msgid " on %ld lines"
 msgstr " en %ld linioj"
 
-#. will increment global_busy to break out of the loop
 msgid "E147: Cannot do :global recursive with a range"
 msgstr "E147: Ne eblas fari \":global\" rekursie kun amplekso"
 
@@ -1158,8 +1155,9 @@
 msgid "Save changes to \"%s\"?"
 msgstr "Ĉu konservi ŝanĝojn al \"%s\"?"
 
-msgid "Untitled"
-msgstr "Sen titolo"
+#, c-format
+msgid "E947: Job still running in buffer \"%s\""
+msgstr "E947: Tasko ankoraŭ aktiva en la bufro \"%s\""
 
 #, c-format
 msgid "E162: No write since last change for buffer \"%s\""
@@ -1199,7 +1197,7 @@
 
 #, c-format
 msgid "W21: Required python version 3.x not supported, ignoring file: %s"
-msgstr "W21: pitono versio 3.x bezonata sed nesubtenata, ignore de dosiero: %s"
+msgstr "W21: pitono versio 3.x bezonata sed nesubtenata, ignoro de dosiero: %s"
 
 msgid "Source Vim script"
 msgstr "Ruli Vim-skripton"
@@ -1466,7 +1464,6 @@
 msgid "E190: Cannot open \"%s\" for writing"
 msgstr "E190: Ne eblas malfermi \"%s\" por skribi"
 
-#. set mark
 msgid "E191: Argument must be a letter or forward/backward quote"
 msgstr "E191: Argumento devas esti litero, citilo aŭ retrocitilo"
 
@@ -1508,13 +1505,15 @@
 msgid "E195: Cannot open viminfo file for reading"
 msgstr "E195: Ne eblas malfermi dosieron viminfo en lega reĝimo"
 
+msgid "Untitled"
+msgstr "Sen titolo"
+
 msgid "E196: No digraphs in this version"
 msgstr "E196: Neniu duliteraĵo en tiu versio"
 
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
 msgstr "E608: Ne eblas lanĉi (:throw) escepton kun prefikso 'Vim'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr "Escepto lanĉita: %s"
@@ -1531,7 +1530,6 @@
 msgid "%s, line %ld"
 msgstr "%s, linio %ld"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception caught: %s"
 msgstr "Kaptis escepton: %s"
@@ -1557,7 +1555,6 @@
 msgid "Error"
 msgstr "Eraro"
 
-#. if (pending & CSTP_INTERRUPT)
 msgid "Interrupt"
 msgstr "Interrompo"
 
@@ -1600,15 +1597,12 @@
 msgid "E603: :catch without :try"
 msgstr "E603: \":catch\" sen \":try\""
 
-#. Give up for a ":catch" after ":finally" and ignore it.
-#. * Just parse.
 msgid "E604: :catch after :finally"
 msgstr "E604: \":catch\" malantaŭ \":finally\""
 
 msgid "E606: :finally without :try"
 msgstr "E606: \":finally\" sen \":try\""
 
-#. Give up for a multiple ":finally" and ignore it.
 msgid "E607: multiple :finally"
 msgstr "E607: pluraj \":finally\""
 
@@ -1701,7 +1695,6 @@
 msgid "Reading from stdin..."
 msgstr "Legado el stdin..."
 
-#. Re-opening the original file failed!
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202: Konverto igis la dosieron nelegebla!"
 
@@ -1907,9 +1900,6 @@
 msgid "[Incomplete last line]"
 msgstr "[Nekompleta lasta linio]"
 
-#. don't overwrite messages here
-#. must give this prompt
-#. don't use emsg() here, don't want to flush the buffers
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "AVERTO: La dosiero estas ŝanĝita de post kiam ĝi estis legita!!!"
 
@@ -1988,7 +1978,6 @@
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "aŭto-forviŝas aŭtokomandon: %s <bufro=%d>"
 
-#. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367: Ne ekzistas tia grupo: \"%s\""
@@ -2011,7 +2000,6 @@
 msgid "E216: No such group or event: %s"
 msgstr "E216: Ne ekzistas tia grupo aŭ evento: %s"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Auto-Commands ---"
@@ -2195,18 +2183,15 @@
 msgid "Replace with:"
 msgstr "Anstataŭigi per:"
 
-#. whole word only button
 msgid "Match whole word only"
 msgstr "Kongrui kun nur plena vorto"
 
-#. match case button
 msgid "Match case"
 msgstr "Uskleca kongruo"
 
 msgid "Direction"
 msgstr "Direkto"
 
-#. 'Up' and 'Down' buttons
 msgid "Up"
 msgstr "Supren"
 
@@ -2285,8 +2270,6 @@
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Trovi kaj anstataŭigi (uzu '\\\\' por trovi '\\')"
 
-#. We fake this: Use a filter that doesn't select anything and a default
-#. * file name that won't be used.
 msgid "Not Used"
 msgstr "Ne uzata"
 
@@ -2360,7 +2343,6 @@
 msgid "Name:"
 msgstr "Nomo:"
 
-#. create toggle button
 msgid "Show size in Points"
 msgstr "Montri grandon en punktoj"
 
@@ -2606,7 +2588,6 @@
 msgid "cscope connection %s closed"
 msgstr "konekto cscope %s fermita"
 
-#. should not reach here
 msgid "E570: fatal error in cs_manage_matches"
 msgstr "E570: neriparebla eraro en cs_manage_matches"
 
@@ -2768,7 +2749,6 @@
 msgid "not implemented yet"
 msgstr "ankoraŭ ne realigita"
 
-#. ???
 msgid "cannot set line(s)"
 msgstr "ne eblas meti la linio(j)n"
 
@@ -2809,7 +2789,6 @@
 msgstr ""
 "ne eblas registri postalvokan komandon: bufro/fenestro estas jam forviŝiĝanta"
 
-#. This should never happen.  Famous last word?
 msgid ""
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
@@ -2913,7 +2892,6 @@
 msgid "Vim: Warning: Input is not from a terminal\n"
 msgstr "Vim: Averto: Enigo ne estas el terminalo\n"
 
-#. just in case..
 msgid "pre-vimrc command line"
 msgstr "komanda linio pre-vimrc"
 
@@ -3179,6 +3157,9 @@
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tUzi <viminfo> anstataŭ .viminfo"
 
+msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
+msgstr "--clean\t\t'nocompatible', defaŭltaj agordoj de Vim, neniu viminfo"
+
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h  aŭ  --help\tAfiŝi Helpon (tiun mesaĝon) kaj eliri"
 
@@ -3279,11 +3260,9 @@
 msgid "No display"
 msgstr "Neniu ekrano"
 
-#. Failed to send, abort.
 msgid ": Send failed.\n"
 msgstr ": Sendo malsukcesis.\n"
 
-#. Let vim start normally.
 msgid ": Send failed. Trying to execute locally\n"
 msgstr ": Sendo malsukcesis. Provo de loka plenumo\n"
 
@@ -3304,7 +3283,6 @@
 msgid "E283: No marks matching \"%s\""
 msgstr "E283: Neniu marko kongruas kun \"%s\""
 
-#. Highlight title
 msgid ""
 "\n"
 "mark line  col file/text"
@@ -3312,7 +3290,6 @@
 "\n"
 "mark linio kol dosiero/teksto"
 
-#. Highlight title
 msgid ""
 "\n"
 " jump line  col file/text"
@@ -3320,7 +3297,6 @@
 "\n"
 " salt linio kol dosiero/teksto"
 
-#. Highlight title
 msgid ""
 "\n"
 "change line  col text"
@@ -3335,7 +3311,6 @@
 "\n"
 "# Markoj de dosiero:\n"
 
-#. Write the jumplist with -'
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
@@ -3405,7 +3380,6 @@
 msgid "E843: Error while updating swap file crypt"
 msgstr "E843: Eraro dum ĝisdatigo de ĉifrada permutodosiero .swp"
 
-#. could not (re)open the swap file, what can we do????
 msgid "E301: Oops, lost the swap file!!!"
 msgstr "E301: Ve, perdis la permutodosieron .swp!!!"
 
@@ -3589,7 +3563,6 @@
 msgstr ""
 "Uzas ŝlosilon de ĉifrado el permuto dosiero .swp por la teksta dosiero.\n"
 
-#. use msg() to start the scrolling properly
 msgid "Swap files found:"
 msgstr "Permutodosiero .swp trovita:"
 
@@ -3759,8 +3732,6 @@
 msgid "      NEWER than swap file!\n"
 msgstr "      PLI NOVA ol permutodosiero .swp!\n"
 
-#. Some of these messages are long to allow translation to
-#. * other languages.
 msgid ""
 "\n"
 "(1) Another program may be editing the same file.  If this is the case,\n"
@@ -3850,7 +3821,6 @@
 msgid "E329: No menu \"%s\""
 msgstr "E329: Neniu menuo \"%s\""
 
-#. Only a mnemonic or accelerator is not valid.
 msgid "E792: Empty menu name"
 msgstr "E792: Malplena nomo de menuo"
 
@@ -3863,8 +3833,6 @@
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Disigilo ne rajtas esti ero de vojo de menuo"
 
-#. Now we have found the matching menu, and we list the mappings
-#. Highlight title
 msgid ""
 "\n"
 "--- Menus ---"
@@ -3875,6 +3843,10 @@
 msgid "Tear off this menu"
 msgstr "Disigi tiun menuon"
 
+#, c-format
+msgid "E335: Menu not defined for %s mode"
+msgstr "E335: Menuo ne estas difinita por reĝimo %s"
+
 msgid "E333: Menu path must lead to a menu item"
 msgstr "E333: Vojo de menuo devas konduki al menuero"
 
@@ -3882,10 +3854,6 @@
 msgid "E334: Menu not found: %s"
 msgstr "E334: Menuo netrovita: %s"
 
-#, c-format
-msgid "E335: Menu not defined for %s mode"
-msgstr "E335: Menuo ne estas difinita por reĝimo %s"
-
 msgid "E336: Menu path must lead to a sub-menu"
 msgstr "E336: Vojo de menuo devas konduki al sub-menuo"
 
@@ -3957,7 +3925,6 @@
 msgid "Open File dialog"
 msgstr "Dialogujo de dosiera malfermo"
 
-#. TODO: non-GUI file selector here
 msgid "E338: Sorry, no file browser in console mode"
 msgstr "E338: Bedaŭrinde ne estas dosierfoliumilo en konzola reĝimo"
 
@@ -4125,7 +4092,9 @@
 msgstr "E663: Ĉe fino de ŝanĝlisto"
 
 msgid "Type  :qa!  and press <Enter> to abandon all changes and exit Vim"
-msgstr "Tajpu  :qa!  kaj premu <Enenklavon> por forlasi ĉiujn ŝanĝojn kaj eliri el Vim"
+msgstr ""
+"Tajpu  :qa!  kaj premu <Enenklavon> por forlasi ĉiujn ŝanĝojn kaj eliri el "
+"Vim"
 
 #, c-format
 msgid "1 line %sed 1 time"
@@ -4157,7 +4126,6 @@
 msgid "E748: No previously used register"
 msgstr "E748: Neniu reĝistro antaŭe uzata"
 
-#. must display the prompt
 msgid "cannot yank; delete anyway"
 msgstr "ne eblas kopii; tamen forviŝi"
 
@@ -4172,25 +4140,30 @@
 msgid "freeing %ld lines"
 msgstr "malokupas %ld liniojn"
 
-msgid "block of 1 line yanked"
-msgstr "bloko de 1 linio kopiita"
-
-msgid "1 line yanked"
-msgstr "1 linio kopiita"
+#, c-format
+msgid " into \"%c"
+msgstr " en \"%c"
 
 #, c-format
-msgid "block of %ld lines yanked"
-msgstr "bloko de %ld linioj kopiita"
+msgid "block of 1 line yanked%s"
+msgstr "bloko de 1 linio kopiita%s"
 
 #, c-format
-msgid "%ld lines yanked"
-msgstr "%ld linioj kopiitaj"
+msgid "1 line yanked%s"
+msgstr "1 linio kopiita%s"
+
+#, c-format
+msgid "block of %ld lines yanked%s"
+msgstr "bloko de %ld linioj kopiita%s"
+
+#, c-format
+msgid "%ld lines yanked%s"
+msgstr "%ld linioj kopiitaj%s"
 
 #, c-format
 msgid "E353: Nothing in register %s"
 msgstr "E353: Nenio en reĝistro %s"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Registers ---"
@@ -4251,9 +4224,6 @@
 msgid "(+%ld for BOM)"
 msgstr "(+%ld por BOM)"
 
-msgid "%<%f%h%m%=Page %N"
-msgstr "%<%f%h%m%=Folio %N"
-
 msgid "Thanks for flying Vim"
 msgstr "Dankon pro flugi per Vim"
 
@@ -4361,6 +4331,9 @@
 msgid "E542: unbalanced groups"
 msgstr "E542: misekvilibraj grupoj"
 
+msgid "E946: Cannot make a terminal with running job modifiable"
+msgstr "E946: Ne eblas igi modifebla terminalon kun aktiva tasko"
+
 msgid "E590: A preview window already exists"
 msgstr "E590: Antaŭvida fenestro jam ekzistas"
 
@@ -4379,9 +4352,6 @@
 msgid "E355: Unknown option: %s"
 msgstr "E355: Nekonata opcio: %s"
 
-#. There's another character after zeros or the string
-#. * is empty.  In both cases, we are trying to set a
-#. * num option using a string.
 #, c-format
 msgid "E521: Number required: &%s = '%s'"
 msgstr "E521: Nombro bezonata: &%s = '%s'"
@@ -4454,7 +4424,6 @@
 msgid "mch_get_shellsize: not a console??\n"
 msgstr "mch_get_shellsize: ne estas konzolo??\n"
 
-#. if Vim opened a window: Executing a shell may cause crashes
 msgid "E360: Cannot execute shell with -f option"
 msgstr "E360: Ne eblas plenumi ŝelon kun opcio -f"
 
@@ -4680,7 +4649,6 @@
 msgid "E377: Invalid %%%c in format string"
 msgstr "E377: Nevalida %%%c en formata ĉeno"
 
-#. nothing found
 msgid "E378: 'errorformat' contains no pattern"
 msgstr "E378: 'errorformat' enhavas neniun ŝablonon"
 
@@ -4719,9 +4687,6 @@
 msgid "No entries"
 msgstr "Neniu ano"
 
-msgid "E382: Cannot write, 'buftype' option is set"
-msgstr "E382: Ne eblas skribi, opcio 'buftype' estas ŝaltita"
-
 msgid "Error file"
 msgstr "Erara Dosiero"
 
@@ -4869,7 +4834,6 @@
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: (NFA) Nekonata operatoro '\\%%%c'"
 
-#. should never happen
 msgid "E868: Error building NFA with equivalence class!"
 msgstr "E868: Eraro dum prekomputado de NFA kun ekvivalentoklaso!"
 
@@ -4880,13 +4844,11 @@
 msgid "E870: (NFA regexp) Error reading repetition limits"
 msgstr "E870: (NFS-regulesprimo) Eraro dum legado de limoj de ripeto"
 
-#. Can't have a multi follow a multi.
 msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
 msgstr ""
 "E871: (NFA-regulesprimo) Ne povas havi mult-selekton tuj post alia mult-"
 "selekto!"
 
-#. Too many `('
 msgid "E872: (NFA regexp) Too many '('"
 msgstr "E872: (NFA-regulesprimo) tro da '('"
 
@@ -4907,7 +4869,7 @@
 "statoj en la staplo"
 
 msgid "E876: (NFA regexp) Not enough space to store the whole NFA "
-msgstr "E876: (NFA-regulesprimo) ne sufiĉa spaco por enmomorigi la tutan NFA "
+msgstr "E876: (NFA-regulesprimo) ne sufiĉa spaco por enmemorigi la tutan NFA "
 
 msgid "E878: (NFA) Could not allocate memory for branch traversal!"
 msgstr "E878: (NFA) Ne povis asigni memoron por traigi branĉojn!"
@@ -4994,7 +4956,6 @@
 msgid " (includes previously listed match)"
 msgstr " (enhavas antaŭe listigitajn kongruojn)"
 
-#. cursor at status line
 msgid "--- Included files "
 msgstr "--- Inkluzivitaj dosieroj "
 
@@ -5071,8 +5032,6 @@
 msgid "Sorry, only %ld suggestions"
 msgstr "Bedaŭrinde estas nur %ld sugestoj"
 
-#. for when 'cmdheight' > 1
-#. avoid more prompt
 #, c-format
 msgid "Change \"%.*s\" to:"
 msgstr "Anstataŭigi \"%.*s\" per:"
@@ -5354,10 +5313,6 @@
 msgid "Reading back spell file..."
 msgstr "Relegas la dosieron de literumo..."
 
-#.
-#. * Go through the trie of good words, soundfold each word and add it to
-#. * the soundfold trie.
-#.
 msgid "Performing soundfolding..."
 msgstr "Fonetika analizado..."
 
@@ -5412,8 +5367,6 @@
 msgid "E763: Word characters differ between spell files"
 msgstr "E763: Signoj de vorto malsamas tra literumaj dosieroj"
 
-#. This should have been checked when generating the .spl
-#. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783: ripetita signo en rikordo MAP"
 
@@ -5443,7 +5396,8 @@
 msgstr "sen literumado en teksto sen sintaksa grupo"
 
 msgid "syntax spell default"
-msgstr "literumado en teksto sen sintaksa grupo, nur se ne estas @Spell aŭ @NoSpell"
+msgstr ""
+"literumado en teksto sen sintaksa grupo, nur se ne estas @Spell aŭ @NoSpell"
 
 msgid "syntax iskeyword "
 msgstr "sintakso iskeyword "
@@ -5680,7 +5634,6 @@
 msgid "File \"%s\" does not exist"
 msgstr "La dosiero \"%s\" ne ekzistas"
 
-#. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
 msgstr "etikedo %d de %d%s"
@@ -5695,7 +5648,6 @@
 msgid "E429: File \"%s\" does not exist"
 msgstr "E429: Dosiero \"%s\" ne ekzistas"
 
-#. Highlight title
 msgid ""
 "\n"
 "  # TO tag         FROM line  in file/text"
@@ -5726,7 +5678,6 @@
 msgid "E432: Tags file not sorted: %s"
 msgstr "E432: Etikeda dosiero ne estas ordigita: %s"
 
-#. never opened any tags file
 msgid "E433: No tags file"
 msgstr "E433: Neniu etikeda dosiero"
 
@@ -5762,7 +5713,6 @@
 msgid "E437: terminal capability \"cm\" required"
 msgstr "E437: kapablo de terminalo \"cm\" bezonata"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Terminal keys ---"
@@ -5773,6 +5723,21 @@
 msgid "Cannot open $VIMRUNTIME/rgb.txt"
 msgstr "Ne povas malfermi $VIMRUNTIME/rgb.txt"
 
+msgid "Terminal"
+msgstr "Terminalo"
+
+msgid "Terminal-finished"
+msgstr "Terminalo-finiĝis"
+
+msgid "active"
+msgstr "aktiva"
+
+msgid "running"
+msgstr "ruliĝas"
+
+msgid "finished"
+msgstr "finiĝis"
+
 msgid "new shell started\n"
 msgstr "nova ŝelo lanĉita\n"
 
@@ -5782,12 +5747,9 @@
 msgid "Used CUT_BUFFER0 instead of empty selection"
 msgstr "Uzis CUT_BUFFER0 anstataŭ malplenan apartigon"
 
-#. This happens when the FileChangedRO autocommand changes the
-#. * file in a way it becomes shorter.
 msgid "E881: Line count changed unexpectedly"
 msgstr "E881: Nombro de linioj ŝanĝiĝis neatendite"
 
-#. must display the prompt
 msgid "No undo possible; continue anyway"
 msgstr "Malfaro neebla; tamen daŭrigi"
 
@@ -6421,7 +6383,6 @@
 msgid "Edit with &Vim"
 msgstr "Redakti per &Vim"
 
-#. Now concatenate
 msgid "Edit with existing Vim - "
 msgstr "Redakti per ekzistanta Vim - "
 
@@ -6440,10 +6401,6 @@
 msgid "--No lines in buffer--"
 msgstr "--Neniu linio en bufro--"
 
-#.
-#. * The error messages that can be shared are included here.
-#. * Excluded are errors that are only used once and debugging messages.
-#.
 msgid "E470: Command aborted"
 msgstr "E470: komando ĉesigita"
 
@@ -6629,12 +6586,6 @@
 msgid "E485: Can't read file %s"
 msgstr "E485: Ne eblas legi dosieron %s"
 
-msgid "E37: No write since last change (add ! to override)"
-msgstr "E37: Neniu skribo de post lasta ŝanĝo (aldonu ! por transpasi)"
-
-msgid "E37: No write since last change"
-msgstr "E37: Neniu skribo de post lasta ŝanĝo"
-
 msgid "E38: Null argument"
 msgstr "E38: Nula argumento"
 
@@ -6914,7 +6865,6 @@
 msgid "list index out of range"
 msgstr "indekso de listo ekster limoj"
 
-#. No more suitable format specifications in python-2.3
 #, c-format
 msgid "internal error: failed to get vim list item %d"
 msgstr "interna eraro: obteno de vim-a listero %d malsukcesis"
diff --git a/src/po/fi.po b/src/po/fi.po
index b3daa5e..73136d9 100644
--- a/src/po/fi.po
+++ b/src/po/fi.po
@@ -1,6 +1,6 @@
 # Finnish translation for Vim.
 # Copyright (C) 2003-2006 Free Software Foundation, Inc.
-# 2007-2016, Flammie Pirinen <flammie@iki.fi>
+# 2007-2018, Flammie Pirinen <flammie@iki.fi>
 #
 # Jargonia ei ole yritetty suotta kotoperäistää missä teknisempi lainasanasto
 # tulee paremmin kyseeseen.
@@ -16,15 +16,15 @@
 msgstr ""
 "Project-Id-Version: Vim 7\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-08-23 12:27+0200\n"
-"PO-Revision-Date: 2016-08-29 11:27+0200\n"
+"POT-Creation-Date: 2017-10-04 17:59+0200\n"
+"PO-Revision-Date: 2017-10-05 11:17+0200\n"
 "Last-Translator: Flammie A Pirinen <flammie@iki.fi>\n"
 "Language-Team: Finnish <laatu@lokalisointi.org>\n"
 "Language: fi\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 msgid "E831: bf_key_init() called with empty password"
 msgstr "E831: bf_key_init() tyhjällä salasanalla"
@@ -59,6 +59,9 @@
 msgid "E931: Buffer cannot be registered"
 msgstr "E931: Puskuria ei voi rekisteröidä"
 
+msgid "E937: Attempt to delete a buffer that is in use"
+msgstr "E937: Ei voida poistaa puskuria joka on käytössä"
+
 msgid "E515: No buffers were unloaded"
 msgstr "E515: Puskureita ei vapautettu"
 
@@ -95,7 +98,6 @@
 msgid "E84: No modified buffer found"
 msgstr "E84: Ei muokattuja puskureita"
 
-#. back where we started, didn't find anything.
 msgid "E85: There is no listed buffer"
 msgstr "E85: Luetteloitua puskuria ei ole"
 
@@ -111,6 +113,19 @@
 "E89: Puskurin %ld muutoksia ei ole tallennettu (lisää komentoon ! "
 "ohittaaksesi)"
 
+msgid "E948: Job still running (add ! to end the job)"
+msgstr "E948: Komento on kesken (lisää loppuun ! lopettaaksesi komennon)"
+
+msgid "E37: No write since last change (add ! to override)"
+msgstr ""
+"E37: Viimeisen muutoksen jälkeen ei ole kirjoitettu (lisää ! ohittaaksesi)"
+
+msgid "E948: Job still running"
+msgstr "E948: Komento on vielä käynnissä"
+
+msgid "E37: No write since last change"
+msgstr "E37: Viimeisimmän muutoksen jälkeen ei ole kirjoitettu mitään"
+
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: Varoitus: Tiedostonimiluettelon ylivuoto"
 
@@ -166,7 +181,6 @@
 msgid "[No Name]"
 msgstr "[Nimetön]"
 
-#. must be a help buffer
 msgid "help"
 msgstr "ohje"
 
@@ -194,6 +208,9 @@
 "\n"
 "# Puskuriluettelo:\n"
 
+msgid "E382: Cannot write, 'buftype' option is set"
+msgstr "E382: Ei voi kirjoittaa, buftype asetettu"
+
 msgid "[Scratch]"
 msgstr "[Raapust]"
 
@@ -215,13 +232,41 @@
 msgid "E902: Cannot connect to port"
 msgstr "E902: Ei voi yhdistää porttiin"
 
+msgid "E901: gethostbyname() in channel_open()"
+msgstr "E901: gethostbyname() funktiossa channel_open()"
+
+msgid "E898: socket() in channel_open()"
+msgstr "E898: socket() funktiossa channel_open()"
+
+msgid "E903: received command with non-string argument"
+msgstr "E903: komennolla ei-merkkijonoargumentti"
+
+msgid "E904: last argument for expr/call must be a number"
+msgstr "E904: viimeisen expr/call-argumentin pitää olla numero"
+
+msgid "E904: third argument for call must be a list"
+msgstr "E904: kolmannen argumentin pitää olla lista"
+
+#, c-format
+msgid "E905: received unknown command: %s"
+msgstr "E905: tuntematon komento: %s"
+
+#, c-format
+msgid "E630: %s(): write while not connected"
+msgstr "E630: %s(): ei voi kirjoittaa ilman yhteyttä"
+
+#, c-format
+msgid "E631: %s(): write failed"
+msgstr "E631: %s(): kirjoitus epäonnistui"
+
 #, c-format
 msgid "E917: Cannot use a callback with %s()"
 msgstr "E917: Ei voitu käyttää callbackia %s()"
 
 msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel"
-msgstr "E912: ei voida käyttää funktioita ch_evalexpr(), ch_sendexpr()"
-" raa'an tai nl-kanavan kanssa"
+msgstr ""
+"E912: ei voida käyttää funktioita ch_evalexpr(), ch_sendexpr() raa'an tai nl-"
+"kanavan kanssa"
 
 msgid "E906: not an open channel"
 msgstr "E906: ei ole avoin kanava"
@@ -334,7 +379,6 @@
 msgid " Keyword completion (^N^P)"
 msgstr " Avainsanatäydennys (^N^P)"
 
-#. ctrl_x_mode == 0, ^P/^N compl.
 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 msgstr " ^X-tila (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
@@ -406,13 +450,12 @@
 msgid "Scanning tags."
 msgstr "Luetaan tägejä."
 
+msgid "match in file"
+msgstr "täsmäys tiedostossa"
+
 msgid " Adding"
 msgstr " Lisätään"
 
-#. showmode might reset the internal line pointers, so it must
-#. * be called before line = ml_get(), or when this address is no
-#. * longer needed.  -- Acevedo.
-#.
 msgid "-- Searching..."
 msgstr "-- Haetaan..."
 
@@ -433,7 +476,6 @@
 msgid "match %d"
 msgstr "täsmäys %d"
 
-#. maximum nesting of lists and dicts
 msgid "E18: Unexpected characters in :let"
 msgstr "E18: Odottamattomia merkkejä komennossa :let"
 
@@ -493,6 +535,10 @@
 msgid "E108: No such variable: \"%s\""
 msgstr "E108: Muuttujaa %s ei ole"
 
+#, c-format
+msgid "E940: Cannot lock or unlock variable %s"
+msgstr "E940: Muuttujaa %s ei voi lukita tai avata"
+
 msgid "E743: variable nested too deep for (un)lock"
 msgstr "E743: muuttujassa liian monta tasoa lukituksen käsittelyyn"
 
@@ -543,8 +589,8 @@
 msgstr "E115: Puuttuva lainausmerkki: %s"
 
 msgid "Not enough memory to set references, garbage collection aborted!"
-msgstr "Ei tarpeeksi muistia viitteiden asettamista varten, roskiekeruu "
-"peruttiin."
+msgstr ""
+"Ei tarpeeksi muistia viitteiden asettamista varten, roskiekeruu peruttiin."
 
 msgid "E724: variable nested too deep for displaying"
 msgstr "E724: muuttuja on upotettu liian syvälle näytettäväksi"
@@ -662,21 +708,10 @@
 msgid "E785: complete() can only be used in Insert mode"
 msgstr "E785: complete() toimii vain syöttötilassa"
 
-#.
-#. * Yes this is ugly, I don't particularly like it either.  But doing it
-#. * this way has the compelling advantage that translations need not to
-#. * be touched at all.  See below what 'ok' and 'ync' are used for.
-#.
 msgid "&Ok"
 msgstr "&Ok"
 
 #, c-format
-msgid "+-%s%3ld line: "
-msgid_plural "+-%s%3ld lines: "
-msgstr[0] "+-%s%3ld rivi: "
-msgstr[1] "+-%s%3ld riviä: "
-
-#, c-format
 msgid "E700: Unknown function: %s"
 msgstr "E700: Tuntematon funktio: %s"
 
@@ -709,6 +744,10 @@
 msgid "E701: Invalid type for len()"
 msgstr "E701: Virheellinen tyyppi funktiolle len()"
 
+#, c-format
+msgid "E798: ID is reserved for \":match\": %ld"
+msgstr "E798: ID on varattu kohteelle \":match\": %ld"
+
 msgid "E726: Stride is zero"
 msgstr "E726: Stride on nolla"
 
@@ -718,8 +757,8 @@
 msgid "<empty>"
 msgstr "<tyhjä>"
 
-msgid "E240: No connection to Vim server"
-msgstr "E240: Ei yhteyttä vim-palvelimeen"
+msgid "E240: No connection to the X server"
+msgstr "E240: Ei yhteyttä X-palvelimeen"
 
 #, c-format
 msgid "E241: Unable to send to %s"
@@ -728,6 +767,12 @@
 msgid "E277: Unable to read a server reply"
 msgstr "E277: Palvelimen vastauksen lukeminen ei onnistunut"
 
+msgid "E941: already started a server"
+msgstr "E941: palvelin on jo käynnissä"
+
+msgid "E942: +clientserver feature not available"
+msgstr "E942: +clientserver-toiminto ei ole saatavilla"
+
 msgid "remove() argument"
 msgstr "remove()-argumentti"
 
@@ -769,6 +814,156 @@
 msgid "E921: Invalid callback argument"
 msgstr "E921: Virheellinen callback-argumentti"
 
+msgid "Entering Debug mode.  Type \"cont\" to continue."
+msgstr "Siirrytään vianetsintätilaan, kirjoita cont jatkaaksesi."
+
+#, c-format
+msgid "line %ld: %s"
+msgstr "rivi %ld: %s"
+
+#, c-format
+msgid "cmd: %s"
+msgstr "kmnt: %s"
+
+msgid "frame is zero"
+msgstr "kehys on nolla"
+
+#, c-format
+msgid "frame at highest level: %d"
+msgstr "kehys ylimmällä tasolla: %d"
+
+#, c-format
+msgid "Breakpoint in \"%s%s\" line %ld"
+msgstr "Katkaisukohta %s%s rivillä %ld"
+
+#, c-format
+msgid "E161: Breakpoint not found: %s"
+msgstr "E161: Katkaisukohta puuttuu: %s"
+
+msgid "No breakpoints defined"
+msgstr "Ei katkaisukohtia"
+
+#, c-format
+msgid "%3d  %s %s  line %ld"
+msgstr "%3d  %s %s  rivi %ld"
+
+msgid "E750: First use \":profile start {fname}\""
+msgstr "E750: Aloita käskyllä :profile start {fname}"
+
+msgid "Save As"
+msgstr "Tallenna nimellä"
+
+#, c-format
+msgid "Save changes to \"%s\"?"
+msgstr "Tallennetaanko muutokset tiedostoon %s?"
+
+#, c-format
+msgid "E947: Job still running in buffer \"%s\""
+msgstr "E947: Komento on vielä käynnissä puskurissa \"%s\""
+
+#, c-format
+msgid "E162: No write since last change for buffer \"%s\""
+msgstr "E162: Muutoksia ei ole kirjoitettu puskurin %s viime muutoksen jälkeen"
+
+msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
+msgstr "Varoitus: Puskuri vaihtui odottamatta (tarkista autocommands)"
+
+msgid "E163: There is only one file to edit"
+msgstr "E163: Vain yksi tiedosto muokattavana"
+
+msgid "E164: Cannot go before first file"
+msgstr "E164: Ensimmäisen tiedoston ohi ei voi mennä"
+
+msgid "E165: Cannot go beyond last file"
+msgstr "E165: Viimeisen tiedoston ohi ei voi mennä"
+
+#, c-format
+msgid "E666: compiler not supported: %s"
+msgstr "E666: kääntäjää ei tueta: %s"
+
+#, c-format
+msgid "Searching for \"%s\" in \"%s\""
+msgstr "Etsitään ilmausta %s kohteesta %s"
+
+#, c-format
+msgid "Searching for \"%s\""
+msgstr "Etsitään ilmausta %s"
+
+#, c-format
+msgid "not found in '%s': \"%s\""
+msgstr "'%s' ei löydy kohteesta: %s"
+
+#, c-format
+msgid "W20: Required python version 2.x not supported, ignoring file: %s"
+msgstr "W20: Vaadittu python-versio 2.x ei ole tuettu. Ohitetaan: %s"
+
+#, c-format
+msgid "W21: Required python version 3.x not supported, ignoring file: %s"
+msgstr "W21: Vaadittu python-versio 3.x ei ole tuettu. Ohitetaan: %s"
+
+msgid "Source Vim script"
+msgstr "Lataa vim-skripti"
+
+#, c-format
+msgid "Cannot source a directory: \"%s\""
+msgstr "Hakemistoa ei voi ladata: %s"
+
+#, c-format
+msgid "could not source \"%s\""
+msgstr "ei voitu ladata %s"
+
+#, c-format
+msgid "line %ld: could not source \"%s\""
+msgstr "rivi %ld: ei voitu ladata %s"
+
+#, c-format
+msgid "sourcing \"%s\""
+msgstr "ladataan %s"
+
+#, c-format
+msgid "line %ld: sourcing \"%s\""
+msgstr "rivi %ld: ladataan %s"
+
+#, c-format
+msgid "finished sourcing %s"
+msgstr "ladattu %s"
+
+#, c-format
+msgid "continuing in %s"
+msgstr "jatkaa kohdassa %s"
+
+msgid "modeline"
+msgstr "mode-rivi"
+
+msgid "--cmd argument"
+msgstr "--cmd-argumentti"
+
+msgid "-c argument"
+msgstr "-c-argumentti"
+
+msgid "environment variable"
+msgstr "ympäristömuuttuja"
+
+msgid "error handler"
+msgstr "virhekäsittelin"
+
+msgid "W15: Warning: Wrong line separator, ^M may be missing"
+msgstr "W15: Varoitus: Väärä rivierotin, ^M saattaa puuttua"
+
+msgid "E167: :scriptencoding used outside of a sourced file"
+msgstr "E167: :scriptencoding ladatun tiedoston ulkopuolella"
+
+msgid "E168: :finish used outside of a sourced file"
+msgstr "E168: :finish ladatun tiedoston ulkopuolella"
+
+#, c-format
+msgid "Current %slanguage: \"%s\""
+msgstr "Käytössä oleva %skieli: %s"
+
+#, c-format
+msgid "E197: Cannot set language to \"%s\""
+msgstr "E197: Kieleksi ei voitu asettaa kieltä %s"
+
 # puhutaan merkin ulkoasusta snprintf(..., c, c, c, c)
 #, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
@@ -825,7 +1020,6 @@
 msgid " FAILED"
 msgstr " EPÄONNISTUI"
 
-#. avoid a wait_return for this message, it's annoying
 #, c-format
 msgid "E137: Viminfo file is not writable: %s"
 msgstr "E137: Viminfo-tiedostoon ei voitu kirjoittaa: %s"
@@ -846,7 +1040,6 @@
 msgid "E886: Can't rename viminfo file to %s!"
 msgstr "E886: Viminfo-tiedostoa ei voit uudelleennimetä nimelle %s"
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Vimin %s generoima viminfo-tiedosto.\n"
@@ -871,9 +1064,6 @@
 "\n"
 "# Bar-rivit, kopiotu sellaisenaan:\n"
 
-msgid "Save As"
-msgstr "Tallenna nimellä"
-
 msgid "Write partial file?"
 msgstr "Kirjoita osittainen tiedosto"
 
@@ -966,7 +1156,7 @@
 msgid " on %ld lines"
 msgstr " %ld rivillä"
 
-msgid "E147: Cannot do :global recursive"
+msgid "E147: Cannot do :global recursive with a range"
 msgstr "E147: :globalia ei voi suorittaa rekursiivisesti"
 
 msgid "E148: Regular expression missing from global"
@@ -1005,6 +1195,10 @@
 msgstr "ohjetiedostoa %s ei löydy"
 
 #, c-format
+msgid "E151: No match: %s"
+msgstr "E151: Ei täsmää: %s"
+
+#, c-format
 msgid "E152: Cannot open %s for writing"
 msgstr "E152: Ei voi avata tiedostoa %s kirjoittamista varten"
 
@@ -1072,144 +1266,6 @@
 msgid "No old files"
 msgstr "Ei vanhoja tiedostoja"
 
-msgid "Entering Debug mode.  Type \"cont\" to continue."
-msgstr "Siirrytään vianetsintätilaan, kirjoita cont jatkaaksesi."
-
-#, c-format
-msgid "line %ld: %s"
-msgstr "rivi %ld: %s"
-
-#, c-format
-msgid "cmd: %s"
-msgstr "kmnt: %s"
-
-msgid "frame is zero"
-msgstr "kehys on nolla"
-
-#, c-format
-msgid "frame at highest level: %d"
-msgstr "kehys ylimmällä tasolla: %d"
-
-#, c-format
-msgid "Breakpoint in \"%s%s\" line %ld"
-msgstr "Katkaisukohta %s%s rivillä %ld"
-
-#, c-format
-msgid "E161: Breakpoint not found: %s"
-msgstr "E161: Katkaisukohta puuttuu: %s"
-
-msgid "No breakpoints defined"
-msgstr "Ei katkaisukohtia"
-
-#, c-format
-msgid "%3d  %s %s  line %ld"
-msgstr "%3d  %s %s  rivi %ld"
-
-msgid "E750: First use \":profile start {fname}\""
-msgstr "E750: Aloita käskyllä :profile start {fname}"
-
-#, c-format
-msgid "Save changes to \"%s\"?"
-msgstr "Tallennetaanko muutokset tiedostoon %s?"
-
-msgid "Untitled"
-msgstr "Nimetön"
-
-#, c-format
-msgid "E162: No write since last change for buffer \"%s\""
-msgstr "E162: Muutoksia ei ole kirjoitettu puskurin %s viime muutoksen jälkeen"
-
-msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
-msgstr "Varoitus: Puskuri vaihtui odottamatta (tarkista autocommands)"
-
-msgid "E163: There is only one file to edit"
-msgstr "E163: Vain yksi tiedosto muokattavana"
-
-msgid "E164: Cannot go before first file"
-msgstr "E164: Ensimmäisen tiedoston ohi ei voi mennä"
-
-msgid "E165: Cannot go beyond last file"
-msgstr "E165: Viimeisen tiedoston ohi ei voi mennä"
-
-#, c-format
-msgid "E666: compiler not supported: %s"
-msgstr "E666: kääntäjää ei tueta: %s"
-
-#, c-format
-msgid "Searching for \"%s\" in \"%s\""
-msgstr "Etsitään ilmausta %s kohteesta %s"
-
-#, c-format
-msgid "Searching for \"%s\""
-msgstr "Etsitään ilmausta %s"
-
-#, c-format
-msgid "not found in '%s': \"%s\""
-msgstr "'%s' ei löydy kohteesta: %s"
-
-msgid "Source Vim script"
-msgstr "Lataa vim-skripti"
-
-#, c-format
-msgid "Cannot source a directory: \"%s\""
-msgstr "Hakemistoa ei voi ladata: %s"
-
-#, c-format
-msgid "could not source \"%s\""
-msgstr "ei voitu ladata %s"
-
-#, c-format
-msgid "line %ld: could not source \"%s\""
-msgstr "rivi %ld: ei voitu ladata %s"
-
-#, c-format
-msgid "sourcing \"%s\""
-msgstr "ladataan %s"
-
-#, c-format
-msgid "line %ld: sourcing \"%s\""
-msgstr "rivi %ld: ladataan %s"
-
-#, c-format
-msgid "finished sourcing %s"
-msgstr "ladattu %s"
-
-#, c-format
-msgid "continuing in %s"
-msgstr "jatkaa kohdassa %s"
-
-msgid "modeline"
-msgstr "mode-rivi"
-
-msgid "--cmd argument"
-msgstr "--cmd-argumentti"
-
-msgid "-c argument"
-msgstr "-c-argumentti"
-
-msgid "environment variable"
-msgstr "ympäristömuuttuja"
-
-msgid "error handler"
-msgstr "virhekäsittelin"
-
-msgid "W15: Warning: Wrong line separator, ^M may be missing"
-msgstr "W15: Varoitus: Väärä rivierotin, ^M saattaa puuttua"
-
-msgid "E167: :scriptencoding used outside of a sourced file"
-msgstr "E167: :scriptencoding ladatun tiedoston ulkopuolella"
-
-msgid "E168: :finish used outside of a sourced file"
-msgstr "E168: :finish ladatun tiedoston ulkopuolella"
-
-#, c-format
-msgid "Current %slanguage: \"%s\""
-msgstr "Käytössä oleva %skieli: %s"
-
-#, c-format
-msgid "E197: Cannot set language to \"%s\""
-msgstr "E197: Kieleksi ei voitu asettaa kieltä %s"
-
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "Siirrytään Ex-tilaan, kirjoita visual palataksesi normaaliin tilaan."
 
@@ -1244,6 +1300,9 @@
 msgid "E494: Use w or w>>"
 msgstr "E494: Käytä w:tä tai w>>:aa"
 
+msgid "E943: Command table needs to be updated, run 'make cmdidxs'"
+msgstr "E943: Komentotaulukko pitää päivittää komennolla 'make cmdidxs'"
+
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Komento ei ole käytettävissä tässä versiossa"
 
@@ -1406,7 +1465,6 @@
 msgid "E190: Cannot open \"%s\" for writing"
 msgstr "E190: Tiedostoa %s ei voitu avata kirjoittamista varten"
 
-#. set mark
 msgid "E191: Argument must be a letter or forward/backward quote"
 msgstr "E191: Argumentin eteen- tai taaksepäin lainaukseen pitää olla kirjain"
 
@@ -1444,13 +1502,15 @@
 msgid "E195: Cannot open viminfo file for reading"
 msgstr "E195: Viminfoa ei voi avata lukemista varten"
 
+msgid "Untitled"
+msgstr "Nimetön"
+
 msgid "E196: No digraphs in this version"
 msgstr "E196: Digraafeja ei ole tässä versiossa"
 
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
 msgstr "E608: Vim-alkuisia poikkeuksia ei voi heittää :throw-komennolla"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr "Poikkeus heitetty: %s"
@@ -1467,7 +1527,6 @@
 msgid "%s, line %ld"
 msgstr "%s, rivi %ld"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception caught: %s"
 msgstr "Poikkeus otettu kiinni: %s"
@@ -1493,7 +1552,6 @@
 msgid "Error"
 msgstr "Virhe"
 
-#. if (pending & CSTP_INTERRUPT)
 msgid "Interrupt"
 msgstr "Keskeytys"
 
@@ -1536,15 +1594,12 @@
 msgid "E603: :catch without :try"
 msgstr "E603: :catch ilman komentoa :try"
 
-#. Give up for a ":catch" after ":finally" and ignore it.
-#. * Just parse.
 msgid "E604: :catch after :finally"
 msgstr "E604: :catch ilman komentoa :finally"
 
 msgid "E606: :finally without :try"
 msgstr "E606: :finally ilman komentoa :try"
 
-#. Give up for a multiple ":finally" and ignore it.
 msgid "E607: multiple :finally"
 msgstr "E607: :finally monta kertaa"
 
@@ -1638,7 +1693,6 @@
 msgid "Reading from stdin..."
 msgstr "Luetaan vakiosyötteestä"
 
-#. Re-opening the original file failed!
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202: Muunnos teki tiedostosta lukukelvottoman."
 
@@ -1856,9 +1910,6 @@
 msgstr "[Vajaa viimeinen rivi]"
 
 # Jos aukiolevaa tiedostoa sörkkii toisella ohjelmalla
-#. don't overwrite messages here
-#. must give this prompt
-#. don't use emsg() here, don't want to flush the buffers
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "VAROITUS: tiedosto on muuttunut viime lukukerran jälkeen!"
 
@@ -1934,21 +1985,23 @@
 msgid "E321: Could not reload \"%s\""
 msgstr "E321: Ei voitu uudelleenavata %s"
 
+msgid "--Deleted--"
+msgstr "--Poistettu--"
+
 #, c-format
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "poistetaan autocommand automaattisesti: %s <puskuri=%d>"
 
-#. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367: Ryhmää ei ole: %s"
 
+msgid "E936: Cannot delete the current group"
+msgstr "E936: Nykyistä ryhmää ei voi poistaa"
+
 msgid "W19: Deleting augroup that is still in use"
 msgstr "W19: käytössä oleva augroup poistetaan"
 
-msgid "--Deleted--"
-msgstr "--Poistettu--"
-
 #, c-format
 msgid "E215: Illegal character after *: %s"
 msgstr "E215: Virheellinen merkki *:n jälkeen: %s"
@@ -1961,7 +2014,6 @@
 msgid "E216: No such group or event: %s"
 msgstr "E216: Ryhmää tai eventtiä ei ole: %s"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Auto-Commands ---"
@@ -2009,12 +2061,6 @@
 msgid "E351: Cannot delete fold with current 'foldmethod'"
 msgstr "E351: Taitosta ei voi poistaa tällä foldmethodilla"
 
-#, c-format
-msgid "+--%3ld line folded "
-msgid_plural "+--%3ld lines folded "
-msgstr[0] "+--%3ld rivi taitettu pois "
-msgstr[1] "+--%3ld riviä taitettu pois "
-
 msgid "E222: Add to read buffer"
 msgstr "E222: Lisää lukupuskuriin"
 
@@ -2046,6 +2092,37 @@
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: Virheellinen tila"
 
+msgid "<cannot open> "
+msgstr "<ei voi avata> "
+
+#, c-format
+msgid "E616: vim_SelFile: can't get font %s"
+msgstr "E616: vim_SelFile: ei saada fonttia %s"
+
+msgid "E614: vim_SelFile: can't return to current directory"
+msgstr "E614: vim_SelFile: nykyiseen hakemistoon ei voi palata"
+
+msgid "Pathname:"
+msgstr "Polku:"
+
+msgid "E615: vim_SelFile: can't get current directory"
+msgstr "E615: vim_SelFile: nykyistä hakemistoa ei saada selville"
+
+msgid "OK"
+msgstr "OK"
+
+msgid "Cancel"
+msgstr "Peru"
+
+msgid "Vim dialog"
+msgstr "Vim-ikkuna"
+
+msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
+msgstr "Vierityspalkki: Pixmapin geometria ei selviä"
+
+msgid "E232: Cannot create BalloonEval with both message and callback"
+msgstr "E232: Ei voi luoda BalloonEvalia viestille ja callbackille"
+
 msgid "E851: Failed to create a new process for the GUI"
 msgstr "E851: Ei voitu luoda uutta prosessia käyttöliittymälle"
 
@@ -2075,37 +2152,6 @@
 msgid "No match at cursor, finding next"
 msgstr "Ei täsmäystä kursorin alla, etsitään seuraava"
 
-msgid "<cannot open> "
-msgstr "<ei voi avata> "
-
-#, c-format
-msgid "E616: vim_SelFile: can't get font %s"
-msgstr "E616: vim_SelFile: ei saada fonttia %s"
-
-msgid "E614: vim_SelFile: can't return to current directory"
-msgstr "E614: vim_SelFile: nykyiseen hakemistoon ei voi palata"
-
-msgid "Pathname:"
-msgstr "Polku:"
-
-msgid "E615: vim_SelFile: can't get current directory"
-msgstr "E615: vim_SelFile: nykyistä hakemistoa ei saada selville"
-
-msgid "OK"
-msgstr "OK"
-
-msgid "Cancel"
-msgstr "Peru"
-
-msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
-msgstr "Vierityspalkki: Pixmapin geometria ei selviä"
-
-msgid "Vim dialog"
-msgstr "Vim-ikkuna"
-
-msgid "E232: Cannot create BalloonEval with both message and callback"
-msgstr "E232: Ei voi luoda BalloonEvalia viestille ja callbackille"
-
 msgid "_Cancel"
 msgstr "_Peru"
 
@@ -2148,18 +2194,15 @@
 msgid "Replace with:"
 msgstr "Korvaa:"
 
-#. whole word only button
 msgid "Match whole word only"
 msgstr "Korvaa kokonaisia sanoja"
 
-#. match case button
 msgid "Match case"
 msgstr "Kirjaintaso"
 
 msgid "Direction"
 msgstr "Suunta"
 
-#. 'Up' and 'Down' buttons
 msgid "Up"
 msgstr "Ylös"
 
@@ -2238,8 +2281,6 @@
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Etsi ja korvaa (\\\\:llä löytää \\:t)"
 
-#. We fake this: Use a filter that doesn't select anything and a default
-#. * file name that won't be used.
 msgid "Not Used"
 msgstr "Ei käytössä"
 
@@ -2296,9 +2337,7 @@
 
 #, c-format
 msgid "Font1 width: %ld"
-msgstr ""
-"Fontti1:n leveys: %ld"
-
+msgstr "Fontti1:n leveys: %ld"
 
 msgid "Invalid font specification"
 msgstr "Virheellinen fonttimääritys"
@@ -2315,7 +2354,6 @@
 msgid "Name:"
 msgstr "Nimi:"
 
-#. create toggle button
 msgid "Show size in Points"
 msgstr "Näytä koko pisteinä"
 
@@ -2560,7 +2598,6 @@
 msgid "cscope connection %s closed"
 msgstr "cscope-yhteys %s on katkaistu"
 
-#. should not reach here
 msgid "E570: fatal error in cs_manage_matches"
 msgstr "E570: kriittinen virhe cs_manage_matches-funktiossa"
 
@@ -2658,14 +2695,16 @@
 msgid "not allowed in the Vim sandbox"
 msgstr "ei sallittu Vimin hiekkalaatikossa"
 
-msgid "E836: This Vim cannot execute :python after using :py3"
-msgstr "E836: Python: Ei voi käyttää komentoja :py ja :py3 samassa istunnossa"
+msgid "E837: This Vim cannot execute :py3 after using :python"
+msgstr "E837: Python: Ei voi käyttää komentoja :py ja :py3 samassa istunnossa"
 
 msgid ""
 "E263: Sorry, this command is disabled, the Python library could not be "
 "loaded."
-msgstr ""
-"E263: komento ei toimi, Python-kirjaston lataaminen ei onnistunut."
+msgstr "E263: komento ei toimi, Python-kirjaston lataaminen ei onnistunut."
+
+msgid "E836: This Vim cannot execute :python after using :py3"
+msgstr "E836: Python: Ei voi käyttää komentoja :py ja :py3 samassa istunnossa"
 
 msgid ""
 "E887: Sorry, this command is disabled, the Python's site module could not be "
@@ -2676,9 +2715,6 @@
 msgid "E659: Cannot invoke Python recursively"
 msgstr "E659: Pythonia ei voi kutsua rekursiivisesti"
 
-msgid "E837: This Vim cannot execute :py3 after using :python"
-msgstr "E837: Python: Ei voi käyttää komentoja :py ja :py3 samassa istunnossa"
-
 msgid "E265: $_ must be an instance of String"
 msgstr "E265: muuttujan $_ pitää olla Stringin instanssi"
 
@@ -2714,7 +2750,6 @@
 msgid "not implemented yet"
 msgstr "ei toteutettu"
 
-#. ???
 msgid "cannot set line(s)"
 msgstr "ei voi asettaa rivejä"
 
@@ -2753,7 +2788,6 @@
 "cannot register callback command: buffer/window is already being deleted"
 msgstr "callbackia ei voi rekisteröidä: puskuri tai ikkuna on poistettu"
 
-#. This should never happen.  Famous last word?
 msgid ""
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
@@ -2789,6 +2823,10 @@
 msgstr "E251: VIMin instanssin rekisteriarvo on virheellinen, poistettiin."
 
 #, c-format
+msgid "E938: Duplicate key in JSON: \"%s\""
+msgstr "E938: Kaksi samaa avainta JSONissa: %s"
+
+#, c-format
 msgid "E696: Missing comma in List: %s"
 msgstr "E696: Listasta puuttuu pilkku: %s"
 
@@ -2848,7 +2886,6 @@
 msgid "Vim: Warning: Input is not from a terminal\n"
 msgstr "Vim: Varoitus: Syöte ei tule terminaalilta\n"
 
-#. just in case..
 msgid "pre-vimrc command line"
 msgstr "esi-vimrc-komentorivi"
 
@@ -3011,6 +3048,10 @@
 msgid "--not-a-term\t\tSkip warning for input/output not being a terminal"
 msgstr "--not-a-term\t\tOhita varoitus siitä että i/o ei ole terminaali"
 
+msgid "--ttyfail\t\tExit if input or output is not a terminal"
+msgstr "--ttyfail\t\tLopeta jos syöttö tai tuloste ei tule terminaalista tai "
+"terminaaliin vastaavasti"
+
 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
 msgstr "-u <vimrc>\t\tKäytä <vimrc>-tiedostoa .vimrc:iden sijasta"
 
@@ -3109,6 +3150,10 @@
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tKäytä <viminfo>-tiedostoa .viminfon sijaan"
 
+msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
+msgstr "--clean\t\t'nocompatible', Vimin oletukset,"
+"ei liitännäisiä tai viminfoa"
+
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h tai --help\tTulosta ohje (tämä viesti) ja lopeta"
 
@@ -3210,11 +3255,9 @@
 msgid "No display"
 msgstr "Ei näyttöä"
 
-#. Failed to send, abort.
 msgid ": Send failed.\n"
 msgstr ": Lähetys epäonnistui.\n"
 
-#. Let vim start normally.
 msgid ": Send failed. Trying to execute locally\n"
 msgstr ": Lähetys epäonnistui. Yritetään suorittaa paikallisena\n"
 
@@ -3235,7 +3278,6 @@
 msgid "E283: No marks matching \"%s\""
 msgstr "E283: Mikään merkki ei täsmää ilmaukseen \"%s\""
 
-#. Highlight title
 msgid ""
 "\n"
 "mark line  col file/text"
@@ -3243,7 +3285,6 @@
 "\n"
 "merkki rivi sarake tiedosto/teksti"
 
-#. Highlight title
 msgid ""
 "\n"
 " jump line  col file/text"
@@ -3251,7 +3292,6 @@
 "\n"
 "hyppy rivi sarake tiedosto/teksti"
 
-#. Highlight title
 msgid ""
 "\n"
 "change line  col text"
@@ -3266,7 +3306,6 @@
 "\n"
 "# Tiedoston merkit:\n"
 
-#. Write the jumplist with -'
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
@@ -3336,7 +3375,6 @@
 msgid "E843: Error while updating swap file crypt"
 msgstr "E843: Virhe päivitettäessä swapin kryptausta"
 
-#. could not (re)open the swap file, what can we do????
 msgid "E301: Oops, lost the swap file!!!"
 msgstr "E301: Hups, swap-tiedosto hävisi!"
 
@@ -3515,7 +3553,6 @@
 msgid "Using crypt key from swap file for the text file.\n"
 msgstr "Käytetään swäpin salausavainta tekstitiedostolle\n"
 
-#. use msg() to start the scrolling properly
 msgid "Swap files found:"
 msgstr "Swap-tiedostoja löytyi:"
 
@@ -3685,8 +3722,6 @@
 msgid "      NEWER than swap file!\n"
 msgstr "   joka on UUDEMPI kuin swap-tiedosto!\n"
 
-#. Some of these messages are long to allow translation to
-#. * other languages.
 msgid ""
 "\n"
 "(1) Another program may be editing the same file.  If this is the case,\n"
@@ -3774,7 +3809,6 @@
 msgid "E329: No menu \"%s\""
 msgstr "E329: Ei valikkoa %s"
 
-#. Only a mnemonic or accelerator is not valid.
 msgid "E792: Empty menu name"
 msgstr "E792: tyhjä valikkonimi"
 
@@ -3787,8 +3821,6 @@
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Erotin ei voi olla valikkopolun osa"
 
-#. Now we have found the matching menu, and we list the mappings
-#. Highlight title
 msgid ""
 "\n"
 "--- Menus ---"
@@ -3799,6 +3831,10 @@
 msgid "Tear off this menu"
 msgstr "Repäise valikko irti"
 
+#, c-format
+msgid "E335: Menu not defined for %s mode"
+msgstr "E335: Valikkoa ei ole määritelty %s-tilassa"
+
 msgid "E333: Menu path must lead to a menu item"
 msgstr "E333: Valikkopolun on johdettava valikkokohtaan"
 
@@ -3806,10 +3842,6 @@
 msgid "E334: Menu not found: %s"
 msgstr "E334: Valikkoa ei löydy: %s"
 
-#, c-format
-msgid "E335: Menu not defined for %s mode"
-msgstr "E335: Valikkoa ei ole määritelty %s-tilassa"
-
 msgid "E336: Menu path must lead to a sub-menu"
 msgstr "E336: Valikkopolun pitää johtaa alivalikkoon"
 
@@ -3879,7 +3911,6 @@
 msgid "Open File dialog"
 msgstr "Avausikkuna"
 
-#. TODO: non-GUI file selector here
 msgid "E338: Sorry, no file browser in console mode"
 msgstr "E338: tiedostonselain puuttuu konsolitilasta"
 
@@ -4042,8 +4073,8 @@
 msgid "E663: At end of changelist"
 msgstr "E663: Muutoslistan lopussa"
 
-msgid "Type  :quit<Enter>  to exit Vim"
-msgstr "Komento :quit<Enter> lopettaa Vimin"
+msgid "Type  :qa!  and press <Enter> to abandon all changes and exit Vim"
+msgstr "Kirjoita :qa! ja <Enter> niin hylkäät muutokset ja lopetat Vimin"
 
 #, c-format
 msgid "1 line %sed 1 time"
@@ -4075,7 +4106,6 @@
 msgid "E748: No previously used register"
 msgstr "E748: Ei aiemmin käytettyjä rekisterejä"
 
-#. must display the prompt
 msgid "cannot yank; delete anyway"
 msgstr "Ei voi kopioida; poista joka tapauksessa"
 
@@ -4090,25 +4120,30 @@
 msgid "freeing %ld lines"
 msgstr "vapautetaan %ld riviä"
 
-msgid "block of 1 line yanked"
-msgstr "1 rivin lohko kopioitu"
-
-msgid "1 line yanked"
-msgstr "1 rivi kopioitu"
+#, c-format
+msgid " into \"%c"
+msgstr " kohteeksi \"%c"
 
 #, c-format
-msgid "block of %ld lines yanked"
-msgstr "lohko %ld riviltä kopioitu"
+msgid "block of 1 line yanked%s"
+msgstr "1 rivin lohko kopioitu%s"
 
 #, c-format
-msgid "%ld lines yanked"
-msgstr "%ld riviä kopioitu"
+msgid "1 line yanked%s"
+msgstr "1 rivi kopioitu%s"
+
+#, c-format
+msgid "block of %ld lines yanked%s"
+msgstr "lohko %ld riviltä kopioitu%s"
+
+#, c-format
+msgid "%ld lines yanked%s"
+msgstr "%ld riviä kopioitu%s"
 
 #, c-format
 msgid "E353: Nothing in register %s"
 msgstr "E353: Rekisterissä %s ei ole mitään"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Registers ---"
@@ -4149,8 +4184,8 @@
 msgid ""
 "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of "
 "%lld Bytes"
-msgstr "Valittu %s%ld/%ld riviä, %lld/%lld sanaa, %lld/%lld merkkiä, "
-"%lld/%lld tavua"
+msgstr ""
+"Valittu %s%ld/%ld riviä, %lld/%lld sanaa, %lld/%lld merkkiä, %lld/%lld tavua"
 
 #, c-format
 msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld"
@@ -4160,17 +4195,14 @@
 msgid ""
 "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte "
 "%lld of %lld"
-msgstr "Sarake %s/%s, rivi %ld/%ld, sana %lld/%lld, merkki %lld/%lld, tavu "
-"%lld/%lld"
+msgstr ""
+"Sarake %s/%s, rivi %ld/%ld, sana %lld/%lld, merkki %lld/%lld, tavu %lld/%lld"
 
 # Unicode Byte Order Mark
 #, c-format
 msgid "(+%ld for BOM)"
 msgstr "(+%ld BOMista)"
 
-msgid "%<%f%h%m%=Page %N"
-msgstr "%<%f%h%m%=Sivu %N"
-
 msgid "Thanks for flying Vim"
 msgstr "Kiitos että ajoit Vimiä"
 
@@ -4278,6 +4310,9 @@
 msgid "E542: unbalanced groups"
 msgstr "E542: epätasapainoisia ryhmiä"
 
+msgid "E946: Cannot make a terminal with running job modifiable"
+msgstr "E946: Terminaalia jossa suoritetaan komentoa ei voi tehdä muokattavaksi"
+
 msgid "E590: A preview window already exists"
 msgstr "E590: Esikatseluikkuna on jo olemassa"
 
@@ -4296,9 +4331,6 @@
 msgid "E355: Unknown option: %s"
 msgstr "E355: Tuntematon asetus: %s"
 
-#. There's another character after zeros or the string
-#. * is empty.  In both cases, we are trying to set a
-#. * num option using a string.
 #, c-format
 msgid "E521: Number required: &%s = '%s'"
 msgstr "E521: tarvitaan luku: &%s = '%s'"
@@ -4371,7 +4403,6 @@
 msgid "mch_get_shellsize: not a console??\n"
 msgstr "mch_get_shellsize: ei ole konsoli?\n"
 
-#. if Vim opened a window: Executing a shell may cause crashes
 msgid "E360: Cannot execute shell with -f option"
 msgstr "E360: Kuorta ei voi avata asetuksella -f"
 
@@ -4393,9 +4424,6 @@
 msgid "Message"
 msgstr "Viesti"
 
-msgid "'columns' is not 80, cannot execute external commands"
-msgstr "columns ei ole 80, ei voi suorittaa ulkoista komentoa"
-
 msgid "E237: Printer selection failed"
 msgstr "E237: Tulostimen valinta epäonnistui"
 
@@ -4461,14 +4489,12 @@
 
 #, c-format
 msgid "Could not set security context %s for %s"
-msgstr ""
-"Ei voitu asettaa turvallisuuskontekstia %s kohteelle %s"
+msgstr "Ei voitu asettaa turvallisuuskontekstia %s kohteelle %s"
 
 # mikä security context?
 #, c-format
 msgid "Could not get security context %s for %s. Removing it!"
-msgstr ""
-"Ei saatu turvallisuuskontekstia %s kohteelle %s ja se poistetaan"
+msgstr "Ei saatu turvallisuuskontekstia %s kohteelle %s ja se poistetaan"
 
 msgid ""
 "\n"
@@ -4602,7 +4628,6 @@
 msgid "E377: Invalid %%%c in format string"
 msgstr "E377: Virheellinen %%%c muotoilumerkkijonossa"
 
-#. nothing found
 msgid "E378: 'errorformat' contains no pattern"
 msgstr "E378: errorformatissa ei ole kuvioita"
 
@@ -4641,9 +4666,6 @@
 msgid "No entries"
 msgstr "Ei kenttiä"
 
-msgid "E382: Cannot write, 'buftype' option is set"
-msgstr "E382: Ei voi kirjoittaa, buftype asetettu"
-
 msgid "Error file"
 msgstr "Virhetiedosto"
 
@@ -4668,6 +4690,12 @@
 msgid "E769: Missing ] after %s["
 msgstr "E769: ] puuttuu merkinnän %s[ jäljestä"
 
+msgid "E944: Reverse range in character class"
+msgstr "E944: Merkiluokan arvoalua on takaperin"
+
+msgid "E945: Range too large in character class"
+msgstr "E945: Liian laaja valikoima merkkiluokassa"
+
 #, c-format
 msgid "E53: Unmatched %s%%("
 msgstr "E53: Pariton %s%%("
@@ -4694,6 +4722,9 @@
 msgid "E70: Empty %s%%[]"
 msgstr "E70: Tyhjä %s%%[]"
 
+msgid "E65: Illegal back reference"
+msgstr "E65: Virheellinen täsmäysviittaus"
+
 msgid "E339: Pattern too long"
 msgstr "E339: Liian pitkä kuvio"
 
@@ -4730,9 +4761,6 @@
 msgid "E64: %s%c follows nothing"
 msgstr "E64: %s%c jälkeen ei minkään"
 
-msgid "E65: Illegal back reference"
-msgstr "E65: Virheellinen täsmäysviittaus"
-
 msgid "E68: Invalid character after \\z"
 msgstr "E68: Virheellinen merkki ilmauksen \\z jälkeen"
 
@@ -4784,7 +4812,6 @@
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: (NFA) Tuntematon operaattori '\\%%%c'"
 
-#. should never happen
 msgid "E868: Error building NFA with equivalence class!"
 msgstr "E868: Virhe NFA:n ekvivalenssiluokkia tekemisessä"
 
@@ -4795,11 +4822,9 @@
 msgid "E870: (NFA regexp) Error reading repetition limits"
 msgstr "E870: (NFA regexp) Virhe luettaessa toiston määriä"
 
-#. Can't have a multi follow a multi.
 msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
 msgstr "E871: (NFA regexp) Multi ei voi seurata multia"
 
-#. Too many `('
 msgid "E872: (NFA regexp) Too many '('"
 msgstr "E872: (NFA regexp) Liian monta suljetta '('"
 
@@ -4816,8 +4841,8 @@
 "E875: (NFA regexp) (While converting from postfix to NFA), too many states "
 "left on stack"
 msgstr ""
-"E875: (NFA regexp) (Muunnettaessa postfixistä NFA:ksi), liikaa "
-"tiloja jäljellä pinossa"
+"E875: (NFA regexp) (Muunnettaessa postfixistä NFA:ksi), liikaa tiloja "
+"jäljellä pinossa"
 
 msgid "E876: (NFA regexp) Not enough space to store the whole NFA "
 msgstr "E876: (NFA regexp) Tila ei riitä NFA:n tallentamiseen"
@@ -4908,7 +4933,6 @@
 msgid " (includes previously listed match)"
 msgstr " (sisältää viimeksi luetellun täsmäyksen)"
 
-#. cursor at status line
 msgid "--- Included files "
 msgstr "--- Sisällytetyt tiedostot "
 
@@ -4971,6 +4995,9 @@
 msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
 msgstr "Varoitus: Ei löydetty sanalistaa %s.%s.spl tai %s.ascii.spl"
 
+msgid "E797: SpellFileMissing autocommand deleted buffer"
+msgstr "E797: SpellFileMissing autocommand poisti puskurin"
+
 #, c-format
 msgid "Warning: region %s not supported"
 msgstr "Varoitus: osaa %s ei tueta"
@@ -4982,8 +5009,6 @@
 msgid "Sorry, only %ld suggestions"
 msgstr "vain %ld ehdotusta"
 
-#. for when 'cmdheight' > 1
-#. avoid more prompt
 #, c-format
 msgid "Change \"%.*s\" to:"
 msgstr "Muuta %.*s:"
@@ -5266,10 +5291,6 @@
 msgid "Reading back spell file..."
 msgstr "Luetaan taas oikaisulukutiedostoa..."
 
-#.
-#. * Go through the trie of good words, soundfold each word and add it to
-#. * the soundfold trie.
-#.
 msgid "Performing soundfolding..."
 msgstr "Ääntämyksen mukaan yhdistellään..."
 
@@ -5324,18 +5345,37 @@
 msgid "E763: Word characters differ between spell files"
 msgstr "E763: Sanan merkit muuttuvat oikaisulukutiedostojen välillä"
 
-#. This should have been checked when generating the .spl
-#. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783: kaksoiskappale merkistä MAP-kohdassa"
 
 msgid "No Syntax items defined for this buffer"
 msgstr "Ei syntaksikohteita tälle puskurille"
 
+msgid "syntax conceal on"
+msgstr "syntaksin piilotus päällä"
+
+msgid "syntax conceal off"
+msgstr "syntaksin piilotus pois"
+
 #, c-format
 msgid "E390: Illegal argument: %s"
 msgstr "E390: Virheellinen argumentti: %s"
 
+msgid "syntax case ignore"
+msgstr "syntaksin merkkitason ohitus "
+
+msgid "syntax case match"
+msgstr "syntaksin merkkitason täsmäys"
+
+msgid "syntax spell toplevel"
+msgstr "syntaksin oikaisuluku päätasolla"
+
+msgid "syntax spell notoplevel"
+msgstr "syntaksin oikaisuluku ei-päätasolla"
+
+msgid "syntax spell default"
+msgstr "syntaksin oikaisuluku oletusarvolla"
+
 msgid "syntax iskeyword "
 msgstr "syntax iskeyword "
 
@@ -5570,7 +5610,6 @@
 msgid "File \"%s\" does not exist"
 msgstr "Tiedostoa %s ei ole"
 
-#. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
 msgstr "tägi %d/%d%s"
@@ -5585,7 +5624,6 @@
 msgid "E429: File \"%s\" does not exist"
 msgstr "E429: Tiedostoa %s ei ole"
 
-#. Highlight title
 msgid ""
 "\n"
 "  # TO tag         FROM line  in file/text"
@@ -5616,7 +5654,6 @@
 msgid "E432: Tags file not sorted: %s"
 msgstr "E432: Tägitiedosto ei ole järjestetty: %s"
 
-#. never opened any tags file
 msgid "E433: No tags file"
 msgstr "E433: Ei tägitiedostoja"
 
@@ -5652,7 +5689,6 @@
 msgid "E437: terminal capability \"cm\" required"
 msgstr "E437: terminaalilla pitää olla cm kyvyissään"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Terminal keys ---"
@@ -5663,6 +5699,21 @@
 msgid "Cannot open $VIMRUNTIME/rgb.txt"
 msgstr "Ei voida avata tiedostoa $VIMRUNTIME/rgb.txt"
 
+msgid "Terminal"
+msgstr "Terminaali"
+
+msgid "Terminal-finished"
+msgstr "Terminaali-lopetettu"
+
+msgid "active"
+msgstr "aktiivinen"
+
+msgid "running"
+msgstr "suoritetaan"
+
+msgid "finished"
+msgstr "lopetettu"
+
 msgid "new shell started\n"
 msgstr "uusi kuori avattu\n"
 
@@ -5672,12 +5723,9 @@
 msgid "Used CUT_BUFFER0 instead of empty selection"
 msgstr "Käytettiin CUT_BUFFER0:aa tyhjän valinnan sijaan"
 
-#. This happens when the FileChangedRO autocommand changes the
-#. * file in a way it becomes shorter.
 msgid "E881: Line count changed unexpectedly"
 msgstr "E881: Rivimäärä vaihtui odottamatta"
 
-#. must display the prompt
 msgid "No undo possible; continue anyway"
 msgstr "Ei voi kumota, jatketaan silti"
 
@@ -5889,15 +5937,11 @@
 
 #, c-format
 msgid "E128: Function name must start with a capital or \"s:\": %s"
-msgstr ""
-"E128: Funktion nimen pitää alkaa suuraakkosella tai merkeillä ’s:’: "
-"%s"
+msgstr "E128: Funktion nimen pitää alkaa suuraakkosella tai merkeillä ’s:’: %s"
 
 #, c-format
 msgid "E884: Function name cannot contain a colon: %s"
-msgstr ""
-"E884: Funktion nimessä ei saa olla kaksoispistettä: "
-"%s"
+msgstr "E884: Funktion nimessä ei saa olla kaksoispistettä: %s"
 
 #, c-format
 msgid "E123: Undefined function: %s"
@@ -5911,13 +5955,17 @@
 msgstr "E862: g: ei toimi täällä"
 
 #, c-format
-msgid "E932 Closure function should not be at top level: %s"
-msgstr "E932 Sulkeumafunktio ei voi olla uloimmalla tasolla: %s"
+msgid "E932: Closure function should not be at top level: %s"
+msgstr "E932: Sulkeumafunktion ei pitäisi olla uloimmalla tasolla: %s"
 
 msgid "E126: Missing :endfunction"
 msgstr "E126: :endfunction puuttuu"
 
 #, c-format
+msgid "W22: Text found after :endfunction: %s"
+msgstr "W22: Ylimääräistä tekstiä :endfunction jälkeen: %s"
+
+#, c-format
 msgid "E707: Function name conflicts with variable: %s"
 msgstr "E707: Funktion nimi on ristiriidassa muuttujan kanssa: %s"
 
@@ -5940,14 +5988,6 @@
 msgid "E107: Missing parentheses: %s"
 msgstr "E107: Sulkeita puuttuu: %s"
 
-#. Only MS VC 4.1 and earlier can do Win32s
-msgid ""
-"\n"
-"MS-Windows 16/32-bit GUI version"
-msgstr ""
-"\n"
-"MS-Windows 16- t. 32-bittinen GUI-versio"
-
 msgid ""
 "\n"
 "MS-Windows 64-bit GUI version"
@@ -5962,9 +6002,6 @@
 "\n"
 "MS-Windows 32-bittinen GUI-version"
 
-msgid " in Win32s mode"
-msgstr " Win32s-tilassa"
-
 msgid " with OLE support"
 msgstr " OLE-tuella"
 
@@ -6234,12 +6271,6 @@
 msgid "menu  Help->Sponsor/Register  for information    "
 msgstr "valikko Ohje->Sponsoroi/Rekisteröi lisätietoja varten"
 
-msgid "WARNING: Windows 95/98/ME detected"
-msgstr "VAROITUS: Window 95/98/ME havaittu"
-
-msgid "type  :help windows95<Enter>  for info on this"
-msgstr "kirjoita :help windows95<Enter> lisätietoja varten"
-
 msgid "Already only one window"
 msgstr "Enää yksi ikkuna jäljellä"
 
@@ -6271,10 +6302,26 @@
 msgid "E447: Can't find file \"%s\" in path"
 msgstr "E447: Tiedosto %s ei löydy polulta"
 
+#, c-format
+msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)"
+msgstr "E799: Käyttökelvoton ID: %ld (pitää olla vähintään 1)"
+
+#, c-format
+msgid "E801: ID already taken: %ld"
+msgstr "E801: ID jo käytössä: %ld"
+
 msgid "List or number required"
 msgstr "Lista tai luku tarvitaan"
 
 #, c-format
+msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)"
+msgstr "E802: Käyttöklvoton ID: %ld (pitää olla vähintään 1)"
+
+#, c-format
+msgid "E803: ID not found: %ld"
+msgstr "E803: ID:tä ei löydy: %ld"
+
+#, c-format
 msgid "E370: Could not load library %s"
 msgstr "E370: Kirjaston %s lataaminen ei onnistu"
 
@@ -6296,7 +6343,6 @@
 msgid "Edit with &Vim"
 msgstr "Muokkaa &Vimillä"
 
-#. Now concatenate
 msgid "Edit with existing Vim - "
 msgstr "Muokkaa olemassaolevalla Vimillä - "
 
@@ -6315,10 +6361,6 @@
 msgid "--No lines in buffer--"
 msgstr "--Ei rivejä puskurissa--"
 
-#.
-#. * The error messages that can be shared are included here.
-#. * Excluded are errors that are only used once and debugging messages.
-#.
 msgid "E470: Command aborted"
 msgstr "E470: Komento peruttu"
 
@@ -6375,6 +6417,10 @@
 msgid "E473: Internal error"
 msgstr "E473: Sisäinen virhe"
 
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E685: Sisäinen virhe: %s"
+
 msgid "Interrupted"
 msgstr "Keskeytetty"
 
@@ -6500,13 +6546,6 @@
 msgid "E485: Can't read file %s"
 msgstr "E485: Ei voi lukea tiedostoa %s"
 
-msgid "E37: No write since last change (add ! to override)"
-msgstr ""
-"E37: Viimeisen muutoksen jälkeen ei ole kirjoitettu (lisää ! ohittaaksesi)"
-
-msgid "E37: No write since last change"
-msgstr "E37: Viimeisimmän muutoksen jälkeen ei ole kirjoitettu mitään"
-
 msgid "E38: Null argument"
 msgstr "E38: Null-argumentti"
 
@@ -6643,8 +6682,8 @@
 msgid "E80: Error while writing"
 msgstr "E80: Kirjoitusvirhe"
 
-msgid "Zero count"
-msgstr "Nollalaskuri"
+msgid "E939: Positive count required"
+msgstr "E939: Positiivinen luku tarvitaan"
 
 msgid "E81: Using <SID> not in a script context"
 msgstr "E81: <SID> skriptin ulkopuolella"
@@ -6658,10 +6697,6 @@
 msgid "E744: NetBeans does not allow changes in read-only files"
 msgstr "E744: NetBeans ei tue muutoksia kirjoitussuojattuihin tiedostoihin"
 
-#, c-format
-msgid "E685: Internal error: %s"
-msgstr "E685: Sisäinen virhe: %s"
-
 msgid "E363: pattern uses more memory than 'maxmempattern'"
 msgstr "E363: kuvio käyttää enemmän muistia kuin maxmempattern on"
 
@@ -6728,8 +6763,8 @@
 msgid ""
 "expected int(), long() or something supporting coercing to long(), but got %s"
 msgstr ""
-"odotettiin instanssia tyypeistä int(), long() tai mitä tahansa joka muuntuisi "
-"tyyppiin long(), ei %s"
+"odotettiin instanssia tyypeistä int(), long() tai mitä tahansa joka "
+"muuntuisi tyyppiin long(), ei %s"
 
 #, c-format
 msgid "expected int() or something supporting coercing to int(), but got %s"
@@ -6766,8 +6801,9 @@
 
 #, c-format
 msgid "expected 3-tuple as imp.find_module() result, but got tuple of size %d"
-msgstr "odotettiin 3-tuple tuloksnea imp.find_module()-kutsulle, mutta tuplen "
-"koko onkin %d"
+msgstr ""
+"odotettiin 3-tuple tuloksnea imp.find_module()-kutsulle, mutta tuplen koko "
+"onkin %d"
 
 msgid "internal error: imp.find_module returned tuple with NULL"
 msgstr "sisäinen virhe: imp.find_module palautti tuplen joka sisältää nullin"
@@ -6795,7 +6831,6 @@
 msgid "list index out of range"
 msgstr "listaindeksi arvoalueen ulkopuolelta"
 
-#. No more suitable format specifications in python-2.3
 #, c-format
 msgid "internal error: failed to get vim list item %d"
 msgstr "sisäinen virhe: ei pystytty hakea vimin listan indeksiä %d"
@@ -6819,7 +6854,8 @@
 
 #, c-format
 msgid "attempt to assign sequence of size %d to extended slice of size %d"
-msgstr "yritettiin asettaa sekvenssiä jonka koko on %d sliceen jonka koko on %d"
+msgstr ""
+"yritettiin asettaa sekvenssiä jonka koko on %d sliceen jonka koko on %d"
 
 msgid "failed to add item to list"
 msgstr "ei voitu lisätä kohtaa listaan"
@@ -6949,11 +6985,9 @@
 "- lisää vim.path_hook muuttujaan sys.path_hooks\n"
 "- lisää vim.VIM_SPECIAL_PATH muuttujaan sys.path\n"
 
-
 msgid ""
 "Failed to set path: sys.path is not a list\n"
 "You should now append vim.VIM_SPECIAL_PATH to sys.path"
 msgstr ""
 "Ei onnistuttu asettaman polkua: sys.path ei ole list\n"
 "Lisää vim.VIM_SPECIAL_PATH muuttujaan sys.path"
-
diff --git a/src/po/fr.po b/src/po/fr.po
index 2609507..c1bd43a 100644
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -12,8 +12,8 @@
 msgstr ""
 "Project-Id-Version: Vim(Français)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-07-11 23:10+0200\n"
-"PO-Revision-Date: 2017-01-12 05:16+0200\n"
+"POT-Creation-Date: 2017-10-04 23:32+0200\n"
+"PO-Revision-Date: 2017-10-04 23:44+0200\n"
 "Last-Translator: Dominique Pellé <dominique.pelle@gmail.com>\n"
 "Language-Team: \n"
 "Language: fr\n"
@@ -100,7 +100,6 @@
 msgid "E84: No modified buffer found"
 msgstr "E84: Aucun tampon n'est modifié"
 
-#. back where we started, didn't find anything.
 msgid "E85: There is no listed buffer"
 msgstr "E85: Aucun tampon n'est listé"
 
@@ -117,6 +116,18 @@
 msgstr ""
 "E89: Le tampon %ld n'a pas été enregistré (ajoutez ! pour passer outre)"
 
+msgid "E948: Job still running (add ! to end the job)"
+msgstr "E948: Tâche en cours d'exécution (ajouter ! pour terminer la tâche)"
+
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37: Modifications non enregistrées (ajoutez ! pour passer outre)"
+
+msgid "E948: Job still running"
+msgstr "E948: Tâche en cours d'exécution"
+
+msgid "E37: No write since last change"
+msgstr "E37: Modifications non enregistrées"
+
 msgid "W14: Warning: List of file names overflow"
 msgstr "W14: Alerte : La liste des noms de fichier déborde"
 
@@ -183,7 +194,6 @@
 msgid "[No Name]"
 msgstr "[Aucun nom]"
 
-#. must be a help buffer
 msgid "help"
 msgstr "aide"
 
@@ -214,6 +224,9 @@
 "\n"
 "# Liste des tampons :\n"
 
+msgid "E382: Cannot write, 'buftype' option is set"
+msgstr "E382: Écriture impossible, l'option 'buftype' est activée"
+
 msgid "[Scratch]"
 msgstr "[Brouillon]"
 
@@ -392,7 +405,6 @@
 msgstr " Complètement de mot-clé (^N^P)"
 
 # DB - todo : Faut-il une majuscule à "mode" ?
-#. ctrl_x_mode == 0, ^P/^N compl.
 msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 msgstr " mode ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
@@ -487,10 +499,6 @@
 msgid " Adding"
 msgstr " Ajout"
 
-#. showmode might reset the internal line pointers, so it must
-#. * be called before line = ml_get(), or when this address is no
-#. * longer needed.  -- Acevedo.
-#.
 msgid "-- Searching..."
 msgstr "-- Recherche en cours..."
 
@@ -521,7 +529,6 @@
 msgid "match %d"
 msgstr "Correspondance %d"
 
-#. maximum nesting of lists and dicts
 msgid "E18: Unexpected characters in :let"
 msgstr "E18: Caractères inattendus avant '='"
 
@@ -583,8 +590,6 @@
 msgid "E108: No such variable: \"%s\""
 msgstr "E108: Variable inexistante : %s"
 
-#. For historic reasons this error is not given for a list or dict.
-#. * E.g., the b: dict could be locked/unlocked.
 #, c-format
 msgid "E940: Cannot lock or unlock variable %s"
 msgstr "E940: Impossible de (dé)verrouiler la variable %s"
@@ -770,11 +775,6 @@
 
 # AB - Texte par défaut du bouton de la boîte de dialogue affichée par la
 #      fonction confirm().
-#.
-#. * Yes this is ugly, I don't particularly like it either.  But doing it
-#. * this way has the compelling advantage that translations need not to
-#. * be touched at all.  See below what 'ok' and 'ync' are used for.
-#.
 msgid "&Ok"
 msgstr "&Ok"
 
@@ -968,7 +968,6 @@
 #      ses droits d'accès.
 # AB - Le mot "viminfo" a été retiré pour que le message ne dépasse pas 80
 #      caractères dans le cas courant où %s = /home/12345678/.viminfo
-#. avoid a wait_return for this message, it's annoying
 #, c-format
 msgid "E137: Viminfo file is not writable: %s"
 msgstr "E137: L'écriture dans le fichier %s est interdite"
@@ -993,7 +992,6 @@
 msgid "E886: Can't rename viminfo file to %s!"
 msgstr "E886: Impossible de renommer viminfo en %s"
 
-#. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
 msgstr "# Ce fichier viminfo a été généré par Vim %s.\n"
@@ -1140,7 +1138,6 @@
 
 # AB - Il faut respecter l'esprit plus que la lettre.
 # AB - Ce message devrait contenir une référence à :vglobal.
-#. will increment global_busy to break out of the loop
 msgid "E147: Cannot do :global recursive with a range"
 msgstr "E147: :global ne peut pas exécuter :global avec une plage"
 
@@ -1321,10 +1318,9 @@
 msgid "Save changes to \"%s\"?"
 msgstr "Enregistrer \"%s\" ?"
 
-# AB - Si les parenthèses posent problème, il faudra remettre les guillemets
-#      ci-dessus.
-msgid "Untitled"
-msgstr "(sans titre)"
+#, c-format
+msgid "E947: Job still running in buffer \"%s\""
+msgstr "E947: Tâche en cours d'exécution dans le buffer \"%s\""
 
 # AB - Il faut respecter l'esprit plus que la lettre.
 # AB - Ce message est similaire au message E89.
@@ -1470,7 +1466,8 @@
 msgstr "E494: Utilisez w ou w>>"
 
 msgid "E943: Command table needs to be updated, run 'make cmdidxs'"
-msgstr "E943: La table des commandes doit être mise à jour, lancez 'make cmdidxs'"
+msgstr ""
+"E943: La table des commandes doit être mise à jour, lancez 'make cmdidxs'"
 
 msgid "E319: Sorry, the command is not available in this version"
 msgstr "E319: Désolé, cette commande n'est pas disponible dans cette version"
@@ -1637,7 +1634,6 @@
 msgid "E190: Cannot open \"%s\" for writing"
 msgstr "E190: Impossible d'ouvrir \"%s\" pour y écrire"
 
-#. set mark
 msgid "E191: Argument must be a letter or forward/backward quote"
 msgstr "E191: L'argument doit être une lettre ou une (contre-)apostrophe"
 
@@ -1675,13 +1671,17 @@
 msgid "E195: Cannot open viminfo file for reading"
 msgstr "E195: Impossible d'ouvrir le viminfo en lecture"
 
+# AB - Si les parenthèses posent problème, il faudra remettre les guillemets
+#      ci-dessus.
+msgid "Untitled"
+msgstr "(sans titre)"
+
 msgid "E196: No digraphs in this version"
 msgstr "E196: Pas de digraphes dans cette version"
 
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
 msgstr "E608: Impossible d'émettre des exceptions avec 'Vim' comme préfixe"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
 msgstr "Exception émise : %s"
@@ -1698,7 +1698,6 @@
 msgid "%s, line %ld"
 msgstr "%s, ligne %ld"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "Exception caught: %s"
 msgstr "Exception interceptée : %s"
@@ -1725,7 +1724,6 @@
 msgid "Error"
 msgstr "Erreur"
 
-#. if (pending & CSTP_INTERRUPT)
 msgid "Interrupt"
 msgstr "Interruption"
 
@@ -1768,15 +1766,12 @@
 msgid "E603: :catch without :try"
 msgstr "E603: :catch sans :try"
 
-#. Give up for a ":catch" after ":finally" and ignore it.
-#. * Just parse.
 msgid "E604: :catch after :finally"
 msgstr "E604: :catch après :finally"
 
 msgid "E606: :finally without :try"
 msgstr "E606: :finally sans :try"
 
-#. Give up for a multiple ":finally" and ignore it.
 msgid "E607: multiple :finally"
 msgstr "E607: Il ne peut y avoir qu'un seul :finally"
 
@@ -1877,7 +1872,6 @@
 msgid "Reading from stdin..."
 msgstr "Lecture de stdin..."
 
-#. Re-opening the original file failed!
 msgid "E202: Conversion made file unreadable!"
 msgstr "E202: La conversion a rendu le fichier illisible !"
 
@@ -2092,9 +2086,6 @@
 msgid "[Incomplete last line]"
 msgstr "[Dernière ligne incomplète]"
 
-#. don't overwrite messages here
-#. must give this prompt
-#. don't use emsg() here, don't want to flush the buffers
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "ALERTE : Le fichier a été modifié depuis que Vim l'a lu !"
 
@@ -2176,7 +2167,6 @@
 msgid "auto-removing autocommand: %s <buffer=%d>"
 msgstr "Autocommandes marquées pour auto-suppression : %s <tampon=%d>"
 
-#. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
 msgstr "E367: Aucun groupe \"%s\""
@@ -2199,7 +2189,6 @@
 msgid "E216: No such group or event: %s"
 msgstr "E216: Aucun événement ou groupe %s"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Auto-Commands ---"
@@ -2386,18 +2375,15 @@
 msgid "Replace with:"
 msgstr "Remplacer par :"
 
-#. whole word only button
 msgid "Match whole word only"
 msgstr "Mots entiers seulement"
 
-#. match case button
 msgid "Match case"
 msgstr "Respecter la casse"
 
 msgid "Direction"
 msgstr "Direction"
 
-#. 'Up' and 'Down' buttons
 msgid "Up"
 msgstr "Haut"
 
@@ -2481,8 +2467,6 @@
 # DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un
 #      paramétrage bidon afin de sélectionner un répertoire plutôt qu'un
 #      fichier.
-#. We fake this: Use a filter that doesn't select anything and a default
-#. * file name that won't be used.
 msgid "Not Used"
 msgstr "Non utilisé"
 
@@ -2563,7 +2547,6 @@
 msgid "Name:"
 msgstr "Nom :"
 
-#. create toggle button
 msgid "Show size in Points"
 msgstr "Afficher la taille en Points"
 
@@ -2814,7 +2797,6 @@
 msgid "cscope connection %s closed"
 msgstr "connexion cscope %s fermée"
 
-#. should not reach here
 msgid "E570: fatal error in cs_manage_matches"
 msgstr "E570: erreur fatale dans cs_manage_matches"
 
@@ -2979,7 +2961,6 @@
 msgstr "pas encore implémenté"
 
 # DB - TODO : le contexte est celui d'une annulation.
-#. ???
 msgid "cannot set line(s)"
 msgstr "Impossible de remettre la/les ligne(s)"
 
@@ -3020,7 +3001,6 @@
 msgstr ""
 "Impossible d'inscrire la commande de rappel : tampon/fenêtre en effacement"
 
-#. This should never happen.  Famous last word?
 msgid ""
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
@@ -3123,7 +3103,6 @@
 msgid "Vim: Warning: Input is not from a terminal\n"
 msgstr "Vim : Alerte : L'entrée ne se fait pas sur un terminal\n"
 
-#. just in case..
 msgid "pre-vimrc command line"
 msgstr "ligne de commande pre-vimrc"
 
@@ -3390,6 +3369,9 @@
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tUtiliser <viminfo> au lieu du viminfo habituel"
 
+msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
+msgstr "--clean\t\t'nocompatible', réglages par défaut, aucun greffon ni viminfo"
+
 msgid "-h  or  --help\tPrint Help (this message) and exit"
 msgstr "-h ou --help\t\tAfficher l'aide (ce message) puis quitter"
 
@@ -3492,11 +3474,9 @@
 msgid "No display"
 msgstr "Aucun display"
 
-#. Failed to send, abort.
 msgid ": Send failed.\n"
 msgstr " : L'envoi a échoué.\n"
 
-#. Let vim start normally.
 msgid ": Send failed. Trying to execute locally\n"
 msgstr " : L'envoi a échoué. Tentative d'exécution locale\n"
 
@@ -3517,7 +3497,6 @@
 msgid "E283: No marks matching \"%s\""
 msgstr "E283: Aucune marque ne correspond à \"%s\""
 
-#. Highlight title
 msgid ""
 "\n"
 "mark line  col file/text"
@@ -3525,7 +3504,6 @@
 "\n"
 "marq ligne col fichier/texte"
 
-#. Highlight title
 msgid ""
 "\n"
 " jump line  col file/text"
@@ -3533,7 +3511,6 @@
 "\n"
 " saut ligne col fichier/texte"
 
-#. Highlight title
 msgid ""
 "\n"
 "change line  col text"
@@ -3548,7 +3525,6 @@
 "\n"
 "# Marques dans le fichier :\n"
 
-#. Write the jumplist with -'
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
@@ -3620,7 +3596,6 @@
 msgid "E843: Error while updating swap file crypt"
 msgstr "E843: Erreur lors de la mise à jour du fichier d'échange crypté"
 
-#. could not (re)open the swap file, what can we do????
 msgid "E301: Oops, lost the swap file!!!"
 msgstr "E301: Oups, le fichier d'échange a disparu !"
 
@@ -3809,7 +3784,6 @@
 "Utilisation de la clé de chiffrement du fichier d'échange pour le fichier "
 "texte.\n"
 
-#. use msg() to start the scrolling properly
 msgid "Swap files found:"
 msgstr "Fichiers d'échange trouvés :"
 
@@ -3979,8 +3953,6 @@
 msgid "      NEWER than swap file!\n"
 msgstr "      PLUS RÉCENT que le fichier d'échange !\n"
 
-#. Some of these messages are long to allow translation to
-#. * other languages.
 msgid ""
 "\n"
 "(1) Another program may be editing the same file.  If this is the case,\n"
@@ -4071,7 +4043,6 @@
 msgid "E329: No menu \"%s\""
 msgstr "E329: Aucun menu \"%s\""
 
-#. Only a mnemonic or accelerator is not valid.
 msgid "E792: Empty menu name"
 msgstr "E792: Nom de menu vide"
 
@@ -4084,8 +4055,6 @@
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Un séparateur ne peut faire partie d'un chemin de menu"
 
-#. Now we have found the matching menu, and we list the mappings
-#. Highlight title
 msgid ""
 "\n"
 "--- Menus ---"
@@ -4096,6 +4065,10 @@
 msgid "Tear off this menu"
 msgstr "Détacher ce menu"
 
+#, c-format
+msgid "E335: Menu not defined for %s mode"
+msgstr "E335: Le menu n'est pas défini pour le mode %s"
+
 msgid "E333: Menu path must lead to a menu item"
 msgstr "E333: Le chemin du menu doit conduire à un élément de menu"
 
@@ -4103,10 +4076,6 @@
 msgid "E334: Menu not found: %s"
 msgstr "E334: Menu introuvable : %s"
 
-#, c-format
-msgid "E335: Menu not defined for %s mode"
-msgstr "E335: Le menu n'est pas défini pour le mode %s"
-
 msgid "E336: Menu path must lead to a sub-menu"
 msgstr "E336: Le chemin du menu doit conduire à un sous-menu"
 
@@ -4180,7 +4149,6 @@
 msgid "Open File dialog"
 msgstr "Ouvrir un fichier"
 
-#. TODO: non-GUI file selector here
 msgid "E338: Sorry, no file browser in console mode"
 msgstr "E338: Désolé, pas de sélecteur de fichiers en mode console"
 
@@ -4347,7 +4315,9 @@
 msgstr "E663: À la fin de la liste des modifications"
 
 msgid "Type  :qa!  and press <Enter> to abandon all changes and exit Vim"
-msgstr "Tapez  :qa!  puis <Entrée> pour abandonner tous les changements et quitter Vim"
+msgstr ""
+"Tapez  :qa!  puis <Entrée> pour abandonner tous les changements et quitter "
+"Vim"
 
 #, c-format
 msgid "1 line %sed 1 time"
@@ -4380,7 +4350,6 @@
 msgstr "E748: Aucun registre n'a été précédemment utilisé"
 
 # DB - Question O/N.
-#. must display the prompt
 msgid "cannot yank; delete anyway"
 msgstr "impossible de réaliser une copie ; effacer tout de même"
 
@@ -4395,25 +4364,30 @@
 msgid "freeing %ld lines"
 msgstr "libération de %ld lignes"
 
-msgid "block of 1 line yanked"
-msgstr "bloc de 1 ligne copié"
-
-msgid "1 line yanked"
-msgstr "1 ligne copiée"
+#, c-format
+msgid " into \"%c"
+msgstr " dans \"%c"
 
 #, c-format
-msgid "block of %ld lines yanked"
-msgstr "bloc de %ld lignes copié"
+msgid "block of 1 line yanked%s"
+msgstr "bloc de 1 ligne copié%s"
 
 #, c-format
-msgid "%ld lines yanked"
-msgstr "%ld lignes copiées"
+msgid "1 line yanked%s"
+msgstr "1 ligne copiée%s"
+
+#, c-format
+msgid "block of %ld lines yanked%s"
+msgstr "bloc de %ld lignes copié%s"
+
+#, c-format
+msgid "%ld lines yanked%s"
+msgstr "%ld lignes copiées%s"
 
 #, c-format
 msgid "E353: Nothing in register %s"
 msgstr "E353: Le registre %s est vide"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Registers ---"
@@ -4477,9 +4451,6 @@
 msgid "(+%ld for BOM)"
 msgstr "(+%ld pour le BOM)"
 
-msgid "%<%f%h%m%=Page %N"
-msgstr "%<%f%h%m%=Page %N"
-
 msgid "Thanks for flying Vim"
 msgstr "Merci d'avoir choisi Vim"
 
@@ -4590,6 +4561,9 @@
 msgid "E542: unbalanced groups"
 msgstr "E542: parenthèses non équilibrées"
 
+msgid "E946: Cannot make a terminal with running job modifiable"
+msgstr "E946: terminal avec tâche en cours d'exécution ne peut pas être modifiable"
+
 msgid "E590: A preview window already exists"
 msgstr "E590: Il existe déjà une fenêtre de prévisualisation"
 
@@ -4608,9 +4582,6 @@
 msgid "E355: Unknown option: %s"
 msgstr "E355: Option inconnue : %s"
 
-#. There's another character after zeros or the string
-#. * is empty.  In both cases, we are trying to set a
-#. * num option using a string.
 #, c-format
 msgid "E521: Number required: &%s = '%s'"
 msgstr "E521: Nombre requis : &%s = '%s'"
@@ -4683,7 +4654,6 @@
 msgid "mch_get_shellsize: not a console??\n"
 msgstr "mch_get_shellsize : pas une console ?!\n"
 
-#. if Vim opened a window: Executing a shell may cause crashes
 msgid "E360: Cannot execute shell with -f option"
 msgstr "E360: Impossible d'exécuter un shell avec l'option -f"
 
@@ -4910,7 +4880,6 @@
 msgid "E377: Invalid %%%c in format string"
 msgstr "E377: %%%c invalide dans la chaîne de format"
 
-#. nothing found
 msgid "E378: 'errorformat' contains no pattern"
 msgstr "E378: 'errorformat' ne contient aucun motif"
 
@@ -4949,9 +4918,6 @@
 msgid "No entries"
 msgstr "Aucune entrée"
 
-msgid "E382: Cannot write, 'buftype' option is set"
-msgstr "E382: Écriture impossible, l'option 'buftype' est activée"
-
 msgid "Error file"
 msgstr "Fichier d'erreurs"
 
@@ -5098,7 +5064,6 @@
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: (NFA) Opérateur inconnu '\\%%%c'"
 
-#. should never happen
 msgid "E868: Error building NFA with equivalence class!"
 msgstr "E868: Erreur lors de la construction du NFA avec classe d'équivalence"
 
@@ -5109,11 +5074,9 @@
 msgid "E870: (NFA regexp) Error reading repetition limits"
 msgstr "E870: (regexp NFA) Erreur à la lecture des limites de répétition"
 
-#. Can't have a multi follow a multi.
 msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
 msgstr "E871: (regexp NFA) Un multi ne peut pas suivre un multi !"
 
-#. Too many `('
 msgid "E872: (NFA regexp) Too many '('"
 msgstr "E872: (regexp NFA) Trop de '('"
 
@@ -5223,7 +5186,6 @@
 msgid " (includes previously listed match)"
 msgstr " (inclut des correspondances listées précédemment)"
 
-#. cursor at status line
 msgid "--- Included files "
 msgstr "--- Fichiers inclus "
 
@@ -5300,8 +5262,6 @@
 msgid "Sorry, only %ld suggestions"
 msgstr "Désolé, seulement %ld suggestions"
 
-#. for when 'cmdheight' > 1
-#. avoid more prompt
 #, c-format
 msgid "Change \"%.*s\" to:"
 msgstr "Remplacer \"%.*s\" par :"
@@ -5588,10 +5548,6 @@
 msgid "Reading back spell file..."
 msgstr "Relecture du fichier orthographique"
 
-#.
-#. * Go through the trie of good words, soundfold each word and add it to
-#. * the soundfold trie.
-#.
 msgid "Performing soundfolding..."
 msgstr "Analyse phonétique en cours..."
 
@@ -5648,8 +5604,6 @@
 msgstr ""
 "E763: Les caractères de mots diffèrent entre les fichiers orthographiques"
 
-#. This should have been checked when generating the .spl
-#. * file.
 msgid "E783: duplicate char in MAP entry"
 msgstr "E783: caractère dupliqué dans l'entrée MAP"
 
@@ -5679,7 +5633,9 @@
 msgstr "pas de contrôle orthographique dans le texte sans groupe syntaxique"
 
 msgid "syntax spell default"
-msgstr "contrôle orthographique dans le texte sans groupe syntaxique, sauf si @Spell/@NoSpell"
+msgstr ""
+"contrôle orthographique dans le texte sans groupe syntaxique, sauf si @Spell/"
+"@NoSpell"
 
 msgid "syntax iskeyword "
 msgstr "syntaxe iskeyword "
@@ -5920,7 +5876,6 @@
 msgid "File \"%s\" does not exist"
 msgstr "Le fichier \"%s\" n'existe pas"
 
-#. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
 msgstr "marqueur %d sur %d%s"
@@ -5935,7 +5890,6 @@
 msgid "E429: File \"%s\" does not exist"
 msgstr "E429: Le fichier \"%s\" n'existe pas"
 
-#. Highlight title
 msgid ""
 "\n"
 "  # TO tag         FROM line  in file/text"
@@ -5966,7 +5920,6 @@
 msgid "E432: Tags file not sorted: %s"
 msgstr "E432: Le fichier de marqueurs %s n'est pas ordonné"
 
-#. never opened any tags file
 msgid "E433: No tags file"
 msgstr "E433: Aucun fichier de marqueurs"
 
@@ -6003,7 +5956,6 @@
 msgid "E437: terminal capability \"cm\" required"
 msgstr "E437: capacité de terminal \"cm\" requise"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Terminal keys ---"
@@ -6014,6 +5966,21 @@
 msgid "Cannot open $VIMRUNTIME/rgb.txt"
 msgstr "Impossible d'ouvrir $VIMRUNTIME/rgb.txt"
 
+msgid "Terminal"
+msgstr "Terminal"
+
+msgid "Terminal-finished"
+msgstr "Terminal-fini"
+
+msgid "active"
+msgstr "actif"
+
+msgid "running"
+msgstr "en cours"
+
+msgid "finished"
+msgstr "fini"
+
 msgid "new shell started\n"
 msgstr "nouveau shell démarré\n"
 
@@ -6024,13 +5991,10 @@
 msgid "Used CUT_BUFFER0 instead of empty selection"
 msgstr "CUT_BUFFER0 utilisé plutôt qu'une sélection vide"
 
-#. This happens when the FileChangedRO autocommand changes the
-#. * file in a way it becomes shorter.
 msgid "E881: Line count changed unexpectedly"
 msgstr "E881: Le nombre de lignes a été changé inopinément"
 
 # DB - Question O/N.
-#. must display the prompt
 msgid "No undo possible; continue anyway"
 msgstr "Annulation impossible ; continuer"
 
@@ -6679,7 +6643,6 @@
 msgid "Edit with &Vim"
 msgstr "Éditer dans &Vim"
 
-#. Now concatenate
 msgid "Edit with existing Vim - "
 msgstr "Éditer dans le Vim existant - "
 
@@ -6703,10 +6666,6 @@
 msgid "--No lines in buffer--"
 msgstr "--Le tampon est vide--"
 
-#.
-#. * The error messages that can be shared are included here.
-#. * Excluded are errors that are only used once and debugging messages.
-#.
 msgid "E470: Command aborted"
 msgstr "E470: Commande annulée"
 
@@ -6893,12 +6852,6 @@
 msgid "E485: Can't read file %s"
 msgstr "E485: Impossible de lire le fichier %s"
 
-msgid "E37: No write since last change (add ! to override)"
-msgstr "E37: Modifications non enregistrées (ajoutez ! pour passer outre)"
-
-msgid "E37: No write since last change"
-msgstr "E37: Modifications non enregistrées"
-
 msgid "E38: Null argument"
 msgstr "E38: Argument null"
 
@@ -7190,7 +7143,6 @@
 msgid "list index out of range"
 msgstr "index de liste hors limites"
 
-#. No more suitable format specifications in python-2.3
 #, c-format
 msgid "internal error: failed to get vim list item %d"
 msgstr "erreur interne : accès à un élément %d de liste a échoué"