summaryrefslogtreecommitdiffstats
path: root/packaging/win32/languages
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/win32/languages')
-rw-r--r--packaging/win32/languages/Breton.nsh55
-rw-r--r--packaging/win32/languages/Breton_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Catalan.nsh55
-rw-r--r--packaging/win32/languages/Catalan_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Croatian.nsh55
-rw-r--r--packaging/win32/languages/Croatian_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Czech.nsh55
-rw-r--r--packaging/win32/languages/Czech_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Danish.nsh55
-rw-r--r--packaging/win32/languages/Danish_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Dutch.nsh55
-rw-r--r--packaging/win32/languages/Dutch_languageNames.nsh92
-rw-r--r--packaging/win32/languages/English.nsh55
-rw-r--r--packaging/win32/languages/English_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Finnish.nsh55
-rw-r--r--packaging/win32/languages/Finnish_languageNames.nsh92
-rw-r--r--packaging/win32/languages/French.nsh55
-rw-r--r--packaging/win32/languages/French_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Galician.nsh55
-rw-r--r--packaging/win32/languages/Galician_languageNames.nsh92
-rw-r--r--packaging/win32/languages/German.nsh55
-rw-r--r--packaging/win32/languages/German_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Greek.nsh55
-rw-r--r--packaging/win32/languages/Greek_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Hebrew.nsh55
-rw-r--r--packaging/win32/languages/Hebrew_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Hungarian.nsh55
-rw-r--r--packaging/win32/languages/Hungarian_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Icelandic.nsh56
-rw-r--r--packaging/win32/languages/Icelandic_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Indonesian.nsh55
-rw-r--r--packaging/win32/languages/Indonesian_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Italian.nsh55
-rw-r--r--packaging/win32/languages/Italian_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Japanese.nsh55
-rw-r--r--packaging/win32/languages/Japanese_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Korean.nsh55
-rw-r--r--packaging/win32/languages/Korean_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Polish.nsh55
-rw-r--r--packaging/win32/languages/Polish_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Portuguese.nsh55
-rw-r--r--packaging/win32/languages/PortugueseBR.nsh55
-rw-r--r--packaging/win32/languages/PortugueseBR_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Portuguese_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Romanian.nsh55
-rw-r--r--packaging/win32/languages/Romanian_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Russian.nsh55
-rw-r--r--packaging/win32/languages/Russian_languageNames.nsh92
-rw-r--r--packaging/win32/languages/SimpChinese.nsh55
-rw-r--r--packaging/win32/languages/SimpChinese_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Slovak.nsh55
-rw-r--r--packaging/win32/languages/Slovak_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Slovenian.nsh55
-rw-r--r--packaging/win32/languages/Slovenian_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Spanish.nsh55
-rw-r--r--packaging/win32/languages/Spanish_languageNames.nsh92
-rw-r--r--packaging/win32/languages/TradChinese.nsh55
-rw-r--r--packaging/win32/languages/TradChinese_languageNames.nsh92
-rw-r--r--packaging/win32/languages/Ukrainian.nsh55
-rw-r--r--packaging/win32/languages/Ukrainian_languageNames.nsh92
-rw-r--r--packaging/win32/languages/_language_lists.nsh141
-rw-r--r--packaging/win32/languages/_language_lists.py79
-rw-r--r--packaging/win32/languages/_polib.py1870
63 files changed, 6501 insertions, 0 deletions
diff --git a/packaging/win32/languages/Breton.nsh b/packaging/win32/languages/Breton.nsh
new file mode 100644
index 0000000..a28687a
--- /dev/null
+++ b/packaging/win32/languages/Breton.nsh
@@ -0,0 +1,55 @@
+;Language: Breton (1150)
+;By matiphas@free.fr
+${LangFileString} CaptionDescription "Embanner sturiadel SVG dieub"
+${LangFileString} LICENSE_BOTTOM_TEXT "Skignet eo $(^Name) dindan al lañvaz foran hollek (GPL) GNU. Pourchaset eo al lañvaz amañ evit reiñ keloù deoc'h nemetken. $_CLICK"
+${LangFileString} DIFFERENT_USER "Staliet eo bet Inkscape gant an arveriad $0.$\r$\nMar kendalc'hot gant ar staliañ e vo siek marteze !$\r$\nEn em gennaskit evel $0 ha klaskit en-dro."
+${LangFileString} WANT_UNINSTALL_BEFORE "Staliet eo bet $R1 endeo. $\nFellout a ra deoc'h dilemel ar staliadenn gent a-raok staliañ $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nKlikañ war OK evit kenderc'hel pe CANCEL evit dilezel."
+${LangFileString} NO_ADMIN "N'hoc'h eus ket brientoù an ardoer.$\r$\nSiek e c'hallfe bezañ staliadenn Inkscape evit an holl arveriaded.$\r$\nDigevaskit, mar plij, an dibarzh 'evit an holl arveriaded'."
+${LangFileString} NOT_SUPPORTED "N'eo ket skoret Inkscape gant Windows 95/98/ME!$\r$\nKit war al lec'hienn gefridiel evit gouzout hiroc'h."
+${LangFileString} Full "Klok"
+${LangFileString} Optimal "Gwellek"
+${LangFileString} Minimal "Izek"
+${LangFileString} Core "Embanner SVG Inkscape (ret)"
+${LangFileString} CoreDesc "Restroù rekis Inkscape ha dlloù"
+${LangFileString} GTKFiles "Amva GTK+ (ret)"
+${LangFileString} GTKFilesDesc "Ur voestad binvioù liessavelennoù evit ketalioù kevregat, arveret gant Inkscape"
+${LangFileString} Shortcuts "Berradennoù"
+${LangFileString} ShortcutsDesc "Berradennoù evit loc'hañ Inkscape"
+${LangFileString} Alluser "Evit an holl arveriaded"
+${LangFileString} AlluserDesc "Staliañ ar meziant-mañ evit holl arveriaded an urzhiataer-mañ"
+${LangFileString} Desktop "Burev"
+${LangFileString} DesktopDesc "Krouiñ ur verradenn davit Inkscape war ar burev"
+${LangFileString} Startmenu "Lañser Loc'hañ"
+${LangFileString} StartmenuDesc "Krouiñ un enankad Inkscape war al lañser Loc'hañ"
+${LangFileString} Quicklaunch "Loc'hañ trumm"
+${LangFileString} QuicklaunchDesc " Krouiñ ur verradenn davit Inkscape er varrennad loc'hañ trumm"
+${LangFileString} SVGWriter "Digeriñ ar restroù SVG gant Inkscape"
+${LangFileString} SVGWriterDesc "Dibab Inkscape evel embanner dre ziouer evit ar restroù SVG"
+${LangFileString} ContextMenu "Lañser kemperzhel"
+${LangFileString} ContextMenuDesc "Ouzhpennañ Inkscape war lañser kemperzhel ar restroù SVG"
+${LangFileString} DeletePrefs "Diverkañ ar gwellvezioù personel"
+${LangFileString} DeletePrefsDesc "Diverkañ ar gwellvezioù personel chomet gant ar staliadurioù kent"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Restroù ouzhpenn"
+${LangFileString} AddfilesDesc "Restroù ouzhpenn"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Skouerioù"
+${LangFileString} ExamplesDesc "Skouerioù arver eus Inkscape"
+${LangFileString} Tutorials "Skridoù kelenn"
+${LangFileString} TutorialsDesc " Skridoù kelenn diwar-benn arver Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Troidigezhioù"
+${LangFileString} LanguagesDesc "Staliañ troidigezhioù evit Inkscape"
+${LangFileString} UInstOpt "Dibarzhioù distaliañ"
+${LangFileString} UInstOpt1 "Dibabit e-touez an dibarzhioù ouzhpenn"
+${LangFileString} PurgePrefs "Mirout ar gwellvezioù personel"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log n'eo ket bet kavet !$\r$\nMar plij, distaliit dre skarzhañ ar c'havlec'hiad $INSTDIR hoc'h unan !"
+${LangFileString} FileChanged "Kemmet eo bet ar restr $filename goude ar staliañ.$\r$\nFellout a ra deoc'h diverkañ ar restr-mañ ?"
+${LangFileString} Yes "Ya"
+${LangFileString} AlwaysYes "respont YA atav"
+${LangFileString} No "Ket"
+${LangFileString} AlwaysNo "respont KET atav"
diff --git a/packaging/win32/languages/Breton_languageNames.nsh b/packaging/win32/languages/Breton_languageNames.nsh
new file mode 100644
index 0000000..864956e
--- /dev/null
+++ b/packaging/win32/languages/Breton_languageNames.nsh
@@ -0,0 +1,92 @@
+### Breton (br) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Breton.nsh'
+${LangFileString} lng_ar "Arabeg (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Azerbaijanieg (az)"
+${LangFileString} lng_be "Belarusianeg (be)"
+${LangFileString} lng_bg "Bulgarieg (bg)"
+${LangFileString} lng_bn "Bengalieg (bn)"
+${LangFileString} lng_bn_BD "Bengalieg/Bangladech (bn_BD)"
+${LangFileString} lng_br "Brezhoneg (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Katalaneg (ca)"
+${LangFileString} lng_ca@valencia "Katalaneg Valensia (ca@valencia)"
+${LangFileString} lng_cs "Tchekeg (cs)"
+${LangFileString} lng_da "Daneg (da)"
+${LangFileString} lng_de "Alamaneg (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkheg (dz)"
+${LangFileString} lng_el "Gresianeg (el)"
+${LangFileString} lng_en "Saozneg (en)"
+${LangFileString} lng_en_AU "Saozneg/Aostalia (en_AU)"
+${LangFileString} lng_en_CA "Saozneg/Kanada (en_CA)"
+${LangFileString} lng_en_GB "Saozneg/Breizh-Veur (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Spagnoleg (es)"
+${LangFileString} lng_es_MX "Spagnoleg/Mec'hiko (es_MX)"
+${LangFileString} lng_et "Estonieg (et)"
+${LangFileString} lng_eu "Euskareg (eu)"
+${LangFileString} lng_fa "Farsieg (fa)"
+${LangFileString} lng_fi "Finneg (fi)"
+${LangFileString} lng_fr "Galleg (fr)"
+${LangFileString} lng_ga "Iwerzhoneg (ga)"
+${LangFileString} lng_gl "Galisieg (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebraeg (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Kroateg (hr)"
+${LangFileString} lng_hu "Hungareg (hu)"
+${LangFileString} lng_hy "Armenieg (hy)"
+${LangFileString} lng_id "Indonezieg (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "Italianeg (it)"
+${LangFileString} lng_ja "Japoneg (ja)"
+${LangFileString} lng_km "Khmereg (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Koreeg (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Lituanieg (lt)"
+${LangFileString} lng_lv "Letoneg (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Makedonieg (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolieg (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norwegeg mod Bokmål (nb)"
+${LangFileString} lng_ne "Nepalegi (ne)"
+${LangFileString} lng_nl "Izelvroeg (nl)"
+${LangFileString} lng_nn "Norwegeg mod Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Penjabeg (pa)"
+${LangFileString} lng_pl "Pologneg (pl)"
+${LangFileString} lng_pt "Portugaleg (pt)"
+${LangFileString} lng_pt_BR "Portuguese/Brazil (pt_BR)"
+${LangFileString} lng_ro "Romanieg (ro)"
+${LangFileString} lng_ru "Rusianeg (ru)"
+${LangFileString} lng_rw "Kinyarwandeg (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "Sloveg (sk)"
+${LangFileString} lng_sl "Slovenieg (sl)"
+${LangFileString} lng_sq "Albanieg (sq)"
+${LangFileString} lng_sr "Serbeg (sr)"
+${LangFileString} lng_sr@latin "Serbeg dre skritur Latin (sr@latin)"
+${LangFileString} lng_sv "Swedeg (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugueg (te)"
+${LangFileString} lng_th "Thaieg (th)"
+${LangFileString} lng_tr "Turkeg (tr)"
+${LangFileString} lng_uk "Ukrainieg (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnameg (vi)"
+${LangFileString} lng_zh_CN "Sineg/Sina (zh_CN)"
+${LangFileString} lng_zh_TW "Sineg/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Catalan.nsh b/packaging/win32/languages/Catalan.nsh
new file mode 100644
index 0000000..c163ad2
--- /dev/null
+++ b/packaging/win32/languages/Catalan.nsh
@@ -0,0 +1,55 @@
+;Language: Catalan (1027)
+;By Xavier Conde Rueda <xavi.conde@gmail.com>, inkscape@softcatalana.net
+${LangFileString} CaptionDescription "Editor de gràfics vectorials escalables de codi obert"
+${LangFileString} LICENSE_BOTTOM_TEXT "L'$(^Name) s'ha alliberat sota la Llicència Pública General de GNU (GPL). La llicència es proporciona aquí només per raons informatives. $_CLICK"
+${LangFileString} DIFFERENT_USER "L'usuari $0.$\r ha instal·lat l'Inkscape.$\nSi continueu, és possible que no acabeu correctament.$\r$\nEntreu com a $0 i proveu de nou."
+${LangFileString} WANT_UNINSTALL_BEFORE "Ja s'ha instal·lat $R1. $\nVoleu suprimir la versió anterior abans d'instal·lar $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPremeu D'acord per continuar, o Cancel·la per a interrompre."
+${LangFileString} NO_ADMIN "No teniu privilegis d'administrador.$\r$\nÉs possible que la instal·lació per a tots els usuaris no es completi correctament.$\r$\nInhabiliteu l'opció 'per a tots els usuaris'."
+${LangFileString} NOT_SUPPORTED "L'Inkscape no funciona correctament sobre Windows 95/98/ME.$\r$\nConsulteu el lloc web per a obtenir informació detallada."
+${LangFileString} Full "Completa"
+${LangFileString} Optimal "Òptima"
+${LangFileString} Minimal "Mínima"
+${LangFileString} Core "L'editor SVG Inkscape (requerit)"
+${LangFileString} CoreDesc "Fitxers i dlls per a l'Inkscape"
+${LangFileString} GTKFiles "Entorn d'execució GTK+ (requerit)"
+${LangFileString} GTKFilesDesc "Un joc d'eines d'interfícies gràfiques multi-plataforma, usat per l'Inkscape"
+${LangFileString} Shortcuts "Dreceres"
+${LangFileString} ShortcutsDesc "Dreceres per a iniciar l'Inkscape"
+${LangFileString} Alluser "Per a tots els usuaris"
+${LangFileString} AlluserDesc "Instal·la aquesta aplicació per a tots els usuaris que fan servir aquest ordinador"
+${LangFileString} Desktop "Escriptori"
+${LangFileString} DesktopDesc "Crea una drecera cap a l'Inkscape a l'escriptori"
+${LangFileString} Startmenu "Menú Inicia"
+${LangFileString} StartmenuDesc "Crea una entrada de menú per a l'Inkscape"
+${LangFileString} Quicklaunch "Inici ràpid"
+${LangFileString} QuicklaunchDesc "Crea una drecera cap a l'Inkscape a la barra d'eines d'Inici ràpid"
+${LangFileString} SVGWriter "Obre els fitxers SVG amb l'Inkscape"
+${LangFileString} SVGWriterDesc "Seleciona l'Inkscape com a editor predeterminat per als fitxers SVG"
+${LangFileString} ContextMenu "Menú contextual"
+${LangFileString} ContextMenuDesc "Afegeix l'Inkscape al menú contextual per als fitxers SVG"
+${LangFileString} DeletePrefs "Suprimeix les preferències personals"
+${LangFileString} DeletePrefsDesc "Suprimeix les preferències personals d'anteriors instal·lacions"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Fitxers addicionals"
+${LangFileString} AddfilesDesc "Fitxers addicionals"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Exemples"
+${LangFileString} ExamplesDesc "Exemples d'ús de l'Inkscape"
+${LangFileString} Tutorials "Tutorials"
+${LangFileString} TutorialsDesc "Tutorials d'ús de l'Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Traduccions"
+${LangFileString} LanguagesDesc "Instal·la més traduccions per a l'Inkscape"
+${LangFileString} UInstOpt "Opcions de desinstal·lació"
+${LangFileString} UInstOpt1 "Seleccioneu les vostres opcions addicionals"
+${LangFileString} PurgePrefs "Conserva les preferències personals"
+${LangFileString} UninstallLogNotFound "No s'ha trobat $INSTDIR\uninstall.log.$\r$\nPer a desinstal·lar, haureu de netejar la carpeta $INSTDIR vosaltres mateixos!"
+${LangFileString} FileChanged "El fitxer $filename s'ha canviat després de la instal·lació.$\r$\nEncara voleu esborrar aquest fitxer?"
+${LangFileString} Yes "Sí"
+${LangFileString} AlwaysYes "Sí a tot"
+${LangFileString} No "No"
+${LangFileString} AlwaysNo "No a tot"
diff --git a/packaging/win32/languages/Catalan_languageNames.nsh b/packaging/win32/languages/Catalan_languageNames.nsh
new file mode 100644
index 0000000..ea8e9bb
--- /dev/null
+++ b/packaging/win32/languages/Catalan_languageNames.nsh
@@ -0,0 +1,92 @@
+### Catalan (ca) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Catalan.nsh'
+${LangFileString} lng_ar "Àrab (ar)"
+${LangFileString} lng_as "Assamès (as)"
+${LangFileString} lng_az "Àzeri (az)"
+${LangFileString} lng_be "Bielorús (be)"
+${LangFileString} lng_bg "Búlgar (bg)"
+${LangFileString} lng_bn "Bengalí (bn)"
+${LangFileString} lng_bn_BD "Bengalí/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Bretó (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Català (ca)"
+${LangFileString} lng_ca@valencia "Català (valencià) (ca@valencia)"
+${LangFileString} lng_cs "Txec (cs)"
+${LangFileString} lng_da "Danès (da)"
+${LangFileString} lng_de "Alemany (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Grec (el)"
+${LangFileString} lng_en "Anglès (en)"
+${LangFileString} lng_en_AU "Anglès d'Austràlia (en_AU)"
+${LangFileString} lng_en_CA "Anglès del Canadà (en_CA)"
+${LangFileString} lng_en_GB "Anglès de Gran Bretanya (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Espanyol (es)"
+${LangFileString} lng_es_MX "Espanyol de Mèxic (es_MX)"
+${LangFileString} lng_et "Estonià (et)"
+${LangFileString} lng_eu "Basc (eu)"
+${LangFileString} lng_fa "Persa (fa)"
+${LangFileString} lng_fi "Finès (fi)"
+${LangFileString} lng_fr "Francès (fr)"
+${LangFileString} lng_ga "Irlandès (ga)"
+${LangFileString} lng_gl "Gallec (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebreu (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croat (hr)"
+${LangFileString} lng_hu "Hongarès (hu)"
+${LangFileString} lng_hy "Armeni (hy)"
+${LangFileString} lng_id "Indonesi (id)"
+${LangFileString} lng_is "Islandès (is)"
+${LangFileString} lng_it "Italià (it)"
+${LangFileString} lng_ja "Japonès (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kanarès (kn)"
+${LangFileString} lng_ko "Coreà (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani amb alfabet llatí (kok@latin)"
+${LangFileString} lng_ks@aran "Caixmiri en l'escriptura perso-àrab (ks@aran)"
+${LangFileString} lng_ks@deva "Caixmiri en l'escriptura devanagari (ks@deva)"
+${LangFileString} lng_lt "Lituà (lt)"
+${LangFileString} lng_lv "Letó (lt)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedoni (mk)"
+${LangFileString} lng_ml "Malaiàlam (ml)"
+${LangFileString} lng_mn "Mongol (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri amb alfabet bengalí (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Bokmål noruec (nb)"
+${LangFileString} lng_ne "Nepalès (ne)"
+${LangFileString} lng_nl "Holandès (nl)"
+${LangFileString} lng_nn "Nynorsk noruec (nn)"
+${LangFileString} lng_or "Oriya (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polonès (pl)"
+${LangFileString} lng_pt "Portuguès (pt)"
+${LangFileString} lng_pt_BR "Portuguès del Brasil (pt_BR)"
+${LangFileString} lng_ro "Romanès (ro)"
+${LangFileString} lng_ru "Rus (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sànscrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali amb alfabet devanagari (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi amb alfabet devanagari (sd@deva)"
+${LangFileString} lng_sk "Eslovac (sk)"
+${LangFileString} lng_sl "Eslovè (sl)"
+${LangFileString} lng_sq "Albanès (sq)"
+${LangFileString} lng_sr "Serbi (sr)"
+${LangFileString} lng_sr@latin "Serbi amb alfabet llatí (sr@latin)"
+${LangFileString} lng_sv "Suec (sv)"
+${LangFileString} lng_ta "Tàmil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Tai (th)"
+${LangFileString} lng_tr "Turc (tr)"
+${LangFileString} lng_uk "Ucraïnès (uk)"
+${LangFileString} lng_ur "Urdú (ur)"
+${LangFileString} lng_vi "Vietnamita (vi)"
+${LangFileString} lng_zh_CN "Xinès de Xina (zh_CN)"
+${LangFileString} lng_zh_TW "Xinès de Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Croatian.nsh b/packaging/win32/languages/Croatian.nsh
new file mode 100644
index 0000000..b2fad09
--- /dev/null
+++ b/packaging/win32/languages/Croatian.nsh
@@ -0,0 +1,55 @@
+;Language: Croatian (1050)
+;By Milo Ivir <mail@milotype.de>
+${LangFileString} CaptionDescription "Program otvorenoga koda za uređivanje skalabilnih vektorskih grafika"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) je izdan pod GNU-ovom općom javnom licencom (GPL). Priložena licenca služi samo kao informacija. $_CLICK"
+${LangFileString} DIFFERENT_USER "Korisnik $0 je već instalirao Inkscape.$\r$\nAko nastaviš, možda nećeš uspješno završiti!!$\r$\nPrijavi se kao $0 i pokušaj ponovo."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 je već instaliran. $\nŽeliš li ukloniti prethodnu verziju, prije instaliranja $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPritisni „U redu”, ako želiš nastaviti. Za prekid pritisni „Odustani”."
+${LangFileString} NO_ADMIN "Nemaš administratorskih prava.$\r$\nInstaliranje Inkscapea za sve korisnike možda nećeš uspješno završiti.$\r$\nIsključi opciju „Instaliraj za sve korisnike”."
+${LangFileString} NOT_SUPPORTED "Poznato je, da Inkscape ne radi na sustavima Windows 95/98/ME!$\r$\nProvjeri detaljne informacije na službenoj web-stranici."
+${LangFileString} Full "Potpuno"
+${LangFileString} Optimal "Optimalno"
+${LangFileString} Minimal "Minimalno"
+${LangFileString} Core "SVG uređivač Inkscape (obavezno)"
+${LangFileString} CoreDesc "Osnovne datoteke i DLL-ovi za Inkscape"
+${LangFileString} GTKFiles "Izvršno okruženje GTK+ (obavezno)"
+${LangFileString} GTKFilesDesc "Višeplatformski alat za korisničko sučelje, koristi se za Inkscape"
+${LangFileString} Shortcuts "Prečaci"
+${LangFileString} ShortcutsDesc "Prečaci za pokretanje Inkscapea"
+${LangFileString} Alluser "Instaliraj za sve korisnike"
+${LangFileString} AlluserDesc "Instaliraj ovaj program za sve koji koriste ovo računalo (svi korisnici)"
+${LangFileString} Desktop "Radna površina"
+${LangFileString} DesktopDesc "Stvori prečac za Inkscape na radnoj površini"
+${LangFileString} Startmenu "Izbornik Start"
+${LangFileString} StartmenuDesc "Stvori unos „Inkscape” u izborniku Start"
+${LangFileString} Quicklaunch "Brzo pokretanje"
+${LangFileString} QuicklaunchDesc "Stvori prečac za Inkscape u alatnoj traci Brzo pokretanje"
+${LangFileString} SVGWriter "Otvori SVG datoteke s Inkscapeom"
+${LangFileString} SVGWriterDesc "Odaberi Inkscape kao standardni program za uređivanje SVG datoteka"
+${LangFileString} ContextMenu "Konteksni izbornik"
+${LangFileString} ContextMenuDesc "Dodaj Inkscape u konteksni izbornik za SVG datoteke"
+${LangFileString} DeletePrefs "Ukloni osobne postavke"
+${LangFileString} DeletePrefsDesc "Ukloni osobne postavke prijašnjih instalacija"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "Interpreter za programski jezik Python i Python module, potreban za izvršavanje Inkscape proširenja."
+${LangFileString} Addfiles "Dodatne datoteke"
+${LangFileString} AddfilesDesc "Dodatne datoteke"
+${LangFileString} Extensions "Proširenja"
+${LangFileString} ExtensionsDesc "Inkscape proširenja (uključujući mnoge dodatke za uvoz i izvoz)"
+${LangFileString} Examples "Primjeri"
+${LangFileString} ExamplesDesc "Primjeri korištenja Inkscapea"
+${LangFileString} Tutorials "Vježbe"
+${LangFileString} TutorialsDesc "Vježbe za korištenje Inkscapea"
+${LangFileString} Dictionaries "Rječnici"
+${LangFileString} DictionariesDesc "Rječnici nekih uobičajenih jezika za provjeru pravopisa u Inkscapeu"
+${LangFileString} Languages "Prijevodi"
+${LangFileString} LanguagesDesc "Inkscape prijevodi i sadržaj za odgovarajuće jezično područje"
+${LangFileString} UInstOpt "Opcije deinstalacije"
+${LangFileString} UInstOpt1 "Odaberi dodatne opcije"
+${LangFileString} PurgePrefs "Zadrži osobne postavke"
+${LangFileString} UninstallLogNotFound "Datoteka $INSTDIR\uninstall.log nije pronađena!$\r$\nDeinstaliraj ručno, uklanjanjem mape $INSTDIR!"
+${LangFileString} FileChanged "Datoteka $filename je promijenjena nakon instaliranja.$\r$\nŽeliš li je svejedno ukloniti?"
+${LangFileString} Yes "Da"
+${LangFileString} AlwaysYes "odgovori uvijek s Da"
+${LangFileString} No "Ne"
+${LangFileString} AlwaysNo "odgovori uvijek s Ne"
diff --git a/packaging/win32/languages/Croatian_languageNames.nsh b/packaging/win32/languages/Croatian_languageNames.nsh
new file mode 100644
index 0000000..4351f21
--- /dev/null
+++ b/packaging/win32/languages/Croatian_languageNames.nsh
@@ -0,0 +1,92 @@
+### Croatian (hr) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Croatian.nsh'
+${LangFileString} lng_ar "Arapski (ar)"
+${LangFileString} lng_as "Asamski (as)"
+${LangFileString} lng_az "Azerski (az)"
+${LangFileString} lng_be "Belarusian (be)"
+${LangFileString} lng_bg "Bugarski (bg)"
+${LangFileString} lng_bn "Bengalski (bn)"
+${LangFileString} lng_bn_BD "Bengalski/Bangladeš (bn_BD)"
+${LangFileString} lng_br "Bretonski (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Katalanski (ca)"
+${LangFileString} lng_ca@valencia "Valencijanski-Katalanski (ca@valencia)"
+${LangFileString} lng_cs "Češki (cs)"
+${LangFileString} lng_da "Danski (da)"
+${LangFileString} lng_de "Njemački (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Grčki (el)"
+${LangFileString} lng_en "Engleski (en)"
+${LangFileString} lng_en_AU "Engleski/Australija (en_AU)"
+${LangFileString} lng_en_CA "Engleski/Kanada (en_CA)"
+${LangFileString} lng_en_GB "Engleski/Velika Britanija (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Španjolski (es)"
+${LangFileString} lng_es_MX "Španjolski/Meksiko (es_MX)"
+${LangFileString} lng_et "Estonski (et)"
+${LangFileString} lng_eu "Baskijski (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Finski (fi)"
+${LangFileString} lng_fr "Francuski (fr)"
+${LangFileString} lng_ga "Irski (ga)"
+${LangFileString} lng_gl "Galicijski (gl)"
+${LangFileString} lng_gu "Gudžaratski (gu)"
+${LangFileString} lng_he "Hebrejski (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Hrvatski (hr)"
+${LangFileString} lng_hu "Mađarski (hu)"
+${LangFileString} lng_hy "Armenski (hy)"
+${LangFileString} lng_id "Indonezijski (id)"
+${LangFileString} lng_is "Islandski (is)"
+${LangFileString} lng_it "Talijanski (it)"
+${LangFileString} lng_ja "Japanski (ja)"
+${LangFileString} lng_km "Khmerski (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Koreanski (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani, pisano latinicom (kok@latin)"
+${LangFileString} lng_ks@aran "Kašmirski, pisan perzijsko-arapskim pismom (ks@aran)"
+${LangFileString} lng_ks@deva "Kašmirski, pisan devanagari pismom (ks@deva)"
+${LangFileString} lng_lt "Litvanski (lt)"
+${LangFileString} lng_lv "Latvijski (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Makedonski (mk)"
+${LangFileString} lng_ml "Malajalam (ml)"
+${LangFileString} lng_mn "Mongolski (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri, pisan bengalskim pismom (mni@beng)"
+${LangFileString} lng_mr "Maratijski (mr)"
+${LangFileString} lng_nb "Norveški Bokmål (nb)"
+${LangFileString} lng_ne "Nepalski (ne)"
+${LangFileString} lng_nl "Nizozemski (nl)"
+${LangFileString} lng_nn "Norveški Nynorsk (nn)"
+${LangFileString} lng_or "Oriya (or)"
+${LangFileString} lng_pa "Istočnopandžapski (pa)"
+${LangFileString} lng_pl "Poljski (pl)"
+${LangFileString} lng_pt "Portugalski (pt)"
+${LangFileString} lng_pt_BR "Portugalski/Brazil (pt_BR)"
+${LangFileString} lng_ro "Rumunjski (ro)"
+${LangFileString} lng_ru "Ruski (ru)"
+${LangFileString} lng_rw "Rwanda (rw)"
+${LangFileString} lng_sa "Sanskrt (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali, pisan devanagari pismom (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi, pisan devanagari pismom (sd@deva)"
+${LangFileString} lng_sk "Slovački (sk)"
+${LangFileString} lng_sl "Slovenski (sl)"
+${LangFileString} lng_sq "Albanski (sq)"
+${LangFileString} lng_sr "Srpski (sp)"
+${LangFileString} lng_sr@latin "Srpski, pisano latinicom (sr@latin)"
+${LangFileString} lng_sv "Švedski (sv)"
+${LangFileString} lng_ta "Tamilski (ta)"
+${LangFileString} lng_te "Teluški (te)"
+${LangFileString} lng_th "Tajlandski (th)"
+${LangFileString} lng_tr "Turski (tr)"
+${LangFileString} lng_uk "Ukrainski (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vijetnamski (vi)"
+${LangFileString} lng_zh_CN "Kineski/Kina (zn_CN)"
+${LangFileString} lng_zh_TW "Kineski/Taivan (zn_TW)"
diff --git a/packaging/win32/languages/Czech.nsh b/packaging/win32/languages/Czech.nsh
new file mode 100644
index 0000000..e02c3ed
--- /dev/null
+++ b/packaging/win32/languages/Czech.nsh
@@ -0,0 +1,55 @@
+;Language: Czech (1029)
+;By Michal Kraus <Michal.Kraus@wige-mic.cz>, Josef Vybíral <josef.vybiral@gmail.com>
+${LangFileString} CaptionDescription "Open Source Editor Škálovatelné Vektorové Grafiky(SVG)"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) je vydáván pod General Public License (GPL). Licenční ujednání je zde pouze z informačních důvodů. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape byl nainstalován uživatelem $0.$\r$\nInstalace nemusí být dokončena správně pokud v ní budete pokračovat!$\r$\nProsím přihlaste se jako $0 a spusťte instalaci znovu."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 je již nainstalován. $\nChcete před instalací odstranit předchozí verzi $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nStiskněte OK pro pokračování, CANCEL pro přerušení."
+${LangFileString} NO_ADMIN "Nemáte administrátorská oprávnění.$\r$\nInstalace Inkscape pro všechny uživatele nemusí být úspěšně dokončena.$\r$\nZrušte označení volby 'Pro všechny uživatele'."
+${LangFileString} NOT_SUPPORTED "Inkscape neběží na Windows 95/98/ME!$\r$\nPro podrobnější informace se prosím obraťte na oficiální webové stránky."
+${LangFileString} Full "Plná"
+${LangFileString} Optimal "Optimální"
+${LangFileString} Minimal "Minimální"
+${LangFileString} Core "Inkscape SVG editor (vyžadováno)"
+${LangFileString} CoreDesc "Soubory a knihovny Inkscape"
+${LangFileString} GTKFiles "GTK+ běhové prostředí (vyžadováno)"
+${LangFileString} GTKFilesDesc "Multiplatformní sada uživatelského rozhraní, použitého v Inkscape"
+${LangFileString} Shortcuts "Zástupci"
+${LangFileString} ShortcutsDesc "Zástupci pro spuštění Inkscape"
+${LangFileString} Alluser "pro všechny uživatele"
+${LangFileString} AlluserDesc "Instalovat aplikaci pro kohokoliv, kdo používá tento počítač.(všichni uživatelé)"
+${LangFileString} Desktop "Plocha"
+${LangFileString} DesktopDesc "Vytvořit zástupce Inkscape na ploše"
+${LangFileString} Startmenu "Nabídka Start"
+${LangFileString} StartmenuDesc "Vytvořit pro Inkscape položku v nabídce Start"
+${LangFileString} Quicklaunch "Panel rychlého spuštění"
+${LangFileString} QuicklaunchDesc "Vytvořit pro Inkscape zástupce na panelu rychlého spuštění"
+${LangFileString} SVGWriter "Otvírat SVG soubory v Inkscape"
+${LangFileString} SVGWriterDesc "Vybrat Inkscape jako výchozí editor pro SVG soubory"
+${LangFileString} ContextMenu "Kontextová nabídka"
+${LangFileString} ContextMenuDesc "Přidat Inkscape do kontextové nabídky pro SVG soubory"
+${LangFileString} DeletePrefs "Smazat osobní nastavení"
+${LangFileString} DeletePrefsDesc "Smazat osobní nastavení předchozí instalace"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Další soubory"
+${LangFileString} AddfilesDesc "Další soubory"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Příklady"
+${LangFileString} ExamplesDesc "Příklady použití Inkscape"
+${LangFileString} Tutorials "Průvodci"
+${LangFileString} TutorialsDesc "Průvodci funkcemi Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Jazykové sady"
+${LangFileString} LanguagesDesc "Nainstalovat další jazykové sady Inkscape"
+${LangFileString} UInstOpt "Volby pro odinstalování"
+${LangFileString} UInstOpt1 "Vyberte prosím další nastavení"
+${LangFileString} PurgePrefs "Ponechat osobní nastavení"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log not found!$\r$\nPlease uninstall by clearing directory $INSTDIR yourself!"
+${LangFileString} FileChanged "The file $filename has been changed after installation.$\r$\nDo you still want to delete that file?"
+${LangFileString} Yes "Yes"
+${LangFileString} AlwaysYes "always answer Yes"
+${LangFileString} No "No"
+${LangFileString} AlwaysNo "always answer No"
diff --git a/packaging/win32/languages/Czech_languageNames.nsh b/packaging/win32/languages/Czech_languageNames.nsh
new file mode 100644
index 0000000..8a40301
--- /dev/null
+++ b/packaging/win32/languages/Czech_languageNames.nsh
@@ -0,0 +1,92 @@
+### Czech (cs) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Czech.nsh'
+${LangFileString} lng_ar "Arabština (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "azerbajdžánština (az)"
+${LangFileString} lng_be "Běloruština (be)"
+${LangFileString} lng_bg "Bulharština (bg)"
+${LangFileString} lng_bn "Bengálština (bn)"
+${LangFileString} lng_bn_BD "Bengálština/Bangladéš (bn_BD)"
+${LangFileString} lng_br "Bretonština (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Katalánština (ca)"
+${LangFileString} lng_ca@valencia "Valencijská katalánština (ca@valencia)"
+${LangFileString} lng_cs "Čeština (cs)"
+${LangFileString} lng_da "Dánština (da)"
+${LangFileString} lng_de "Němčina (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkä (dz)"
+${LangFileString} lng_el "Řečtina (el)"
+${LangFileString} lng_en "Angličtina (en)"
+${LangFileString} lng_en_AU "Angličtina/Austrálie (en_AU)"
+${LangFileString} lng_en_CA "Angličtina/Kanada (en_CA)"
+${LangFileString} lng_en_GB "Angličtina/Spojené království (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Španělština (es)"
+${LangFileString} lng_es_MX "Španělština/Mexiko (es_MX)"
+${LangFileString} lng_et "Estonština (et)"
+${LangFileString} lng_eu "Baskičtina (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Finština (fi)"
+${LangFileString} lng_fr "Francouzština (fr)"
+${LangFileString} lng_ga "Irština (ga)"
+${LangFileString} lng_gl "Galicijština (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebrejština (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Chorvatština (hr)"
+${LangFileString} lng_hu "Maďarština (hu)"
+${LangFileString} lng_hy "Arménština (hy)"
+${LangFileString} lng_id "Indonéština (id)"
+${LangFileString} lng_is "Islandština (is)"
+${LangFileString} lng_it "Italština (it)"
+${LangFileString} lng_ja "Japonština (ja)"
+${LangFileString} lng_km "Khmerština (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Korejština (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Litevština (lt)"
+${LangFileString} lng_lv "Lotyština (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Makedonština (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolština (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norský bokmal (nb)"
+${LangFileString} lng_ne "Nepálština (ne)"
+${LangFileString} lng_nl "Nizozemština (nl)"
+${LangFileString} lng_nn "Norský nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Paňdžábština (pa)"
+${LangFileString} lng_pl "Polština (pl)"
+${LangFileString} lng_pt "Portugalština (pt)"
+${LangFileString} lng_pt_BR "Portugalština/Brazílie (pt_BR)"
+${LangFileString} lng_ro "Rumunština (ro)"
+${LangFileString} lng_ru "Ruština (ru)"
+${LangFileString} lng_rw "Rwandština (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Srbština (latinka) (sr@latin)"
+${LangFileString} lng_sk "Slovenština (sk)"
+${LangFileString} lng_sl "Slovinština (sl)"
+${LangFileString} lng_sq "Albánština (sq)"
+${LangFileString} lng_sr "Srbština (sr)"
+${LangFileString} lng_sr@latin "Srbština (latinka) (sr@latin)"
+${LangFileString} lng_sv "Švédština (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thajština (th)"
+${LangFileString} lng_tr "Turečtina (tr)"
+${LangFileString} lng_uk "Ukrajinština (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamština (vi)"
+${LangFileString} lng_zh_CN "Čínština/Čína (zh_CN)"
+${LangFileString} lng_zh_TW "Čínština (Taiwan) (zh_TW)"
diff --git a/packaging/win32/languages/Danish.nsh b/packaging/win32/languages/Danish.nsh
new file mode 100644
index 0000000..8815368
--- /dev/null
+++ b/packaging/win32/languages/Danish.nsh
@@ -0,0 +1,55 @@
+;Language: Danish (1030)
+;By scootergrisen
+${LangFileString} CaptionDescription "Open source skalérbar vektor redigeringsprogram"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) er udgivet under GNU General Public License (GPL). Licensen leveres her kun til orientering. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape er blevet installeret af brugeren $0.$\r$\nHvis du fortsætter lykkedes det måske ikke fuldt ud!$\r$\nLog venligst ind som $0 og prøv igen."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 er allerede blevet installeret. $\nVil du fjerne den tidligere version inden $(^Name) installeres?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nTryk på OK for at fortsætte eller tryk på ANNULLER for at afbryde."
+${LangFileString} NO_ADMIN "Du har ikke administratortilladelser.$\r$\nInstallation af Inkscape for alle brugere lykkedes måske ikke fuldt ud.$\r$\nFravælg valgmuligheden 'Installér for alle brugere'."
+${LangFileString} NOT_SUPPORTED "Inkscape kan ikke køre under Windows 95/98/ME!$\r$\nSe venligst det officielle websted for detaljeret information."
+${LangFileString} Full "Fuld"
+${LangFileString} Optimal "Optimal"
+${LangFileString} Minimal "Minimal"
+${LangFileString} Core "Inkscape SVG-redigering (påkrævet)"
+${LangFileString} CoreDesc "Grundlæggende Inkscape-filer og dll'er"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (påkrævet)"
+${LangFileString} GTKFilesDesc "Et multi-platform GUI-værktøjskit, bruges af Inkscape"
+${LangFileString} Shortcuts "Genveje"
+${LangFileString} ShortcutsDesc "Genveje til at starte Inkscape"
+${LangFileString} Alluser "Installér for alle brugere"
+${LangFileString} AlluserDesc "Installér dette program for alle der bruger denne computer (alle brugere)"
+${LangFileString} Desktop "Skrivebord"
+${LangFileString} DesktopDesc "Opret en genvej til Inkscape på skrivebordet"
+${LangFileString} Startmenu "Menuen Start"
+${LangFileString} StartmenuDesc "Opret en genvej til Inkscape i menuen Start"
+${LangFileString} Quicklaunch "Hurtig start"
+${LangFileString} QuicklaunchDesc "Opret en genvej til Inkscape på værktøjslinjen Hurtig start"
+${LangFileString} SVGWriter "Åbn SVG-filer med Inkscape"
+${LangFileString} SVGWriterDesc "Vælg Inkscape som standard redigeringsprogram for SVG-filer"
+${LangFileString} ContextMenu "Genvejsmenu"
+${LangFileString} ContextMenuDesc "Tilføj Inkscape i genvejsmenuen for SVG-filer"
+${LangFileString} DeletePrefs "Slet personlige præferencer"
+${LangFileString} DeletePrefsDesc "Slet personlige præferencer efterladt fra tidligere installationer"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "En fortolker til Python-programmeringssproget og Python-moduler krævet til at køre Inkscape-udvidelser."
+${LangFileString} Addfiles "Yderligere filer"
+${LangFileString} AddfilesDesc "Yderligere filer"
+${LangFileString} Extensions "Udvidelser"
+${LangFileString} ExtensionsDesc "Inkscape-udvidelser (inklusiv mange import- og eksport-plugins)"
+${LangFileString} Examples "Eksempler"
+${LangFileString} ExamplesDesc "Eksempler på brug af Inkscape"
+${LangFileString} Tutorials "Vejledninger"
+${LangFileString} TutorialsDesc "Vejledninger i brug af Inkscape"
+${LangFileString} Dictionaries "Ordbøger"
+${LangFileString} DictionariesDesc "Ordbøger til nogle almene sprog til stavekontrol i Inkscape"
+${LangFileString} Languages "Oversættelser"
+${LangFileString} LanguagesDesc "Installér diverse oversættelser til Inkscape"
+${LangFileString} UInstOpt "Valgmuligheder for afinstallation"
+${LangFileString} UInstOpt1 "Foretag venligst dine valg af yderligere valgmuligheder"
+${LangFileString} PurgePrefs "Behold personlige præferencer"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log ikke fundet!$\r$\nAfinstallér venligst ved at rydde mappen $INSTDIR manuelt!"
+${LangFileString} FileChanged "Filen $filename er blevet ændret efter installationen.$\r$\nVil du stadig slette filen?"
+${LangFileString} Yes "Ja"
+${LangFileString} AlwaysYes "svar altid Ja"
+${LangFileString} No "Nej"
+${LangFileString} AlwaysNo "svar altid Nej"
diff --git a/packaging/win32/languages/Danish_languageNames.nsh b/packaging/win32/languages/Danish_languageNames.nsh
new file mode 100644
index 0000000..e1330b2
--- /dev/null
+++ b/packaging/win32/languages/Danish_languageNames.nsh
@@ -0,0 +1,92 @@
+### Danish (da) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Danish.nsh'
+${LangFileString} lng_ar "Arabic (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Azerbaijani (az)"
+${LangFileString} lng_be "Belarusian (be)"
+${LangFileString} lng_bg "Bulgarian (bg)"
+${LangFileString} lng_bn "Bengali (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Breton (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalan (ca)"
+${LangFileString} lng_ca@valencia "Valencian Catalan (ca@valencia)"
+${LangFileString} lng_cs "Czech (cs)"
+${LangFileString} lng_da "Dansk (da)"
+${LangFileString} lng_de "German (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Greek (el)"
+${LangFileString} lng_en "Engelsk (en)"
+${LangFileString} lng_en_AU "English/Australia (en_AU)"
+${LangFileString} lng_en_CA "English/Canada (en_CA)"
+${LangFileString} lng_en_GB "English/Great Britain (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Spanish (es)"
+${LangFileString} lng_es_MX "Spanish/Mexico (es_MX)"
+${LangFileString} lng_et "Estonian (et)"
+${LangFileString} lng_eu "Basque (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Finnish (fi)"
+${LangFileString} lng_fr "French (fr)"
+${LangFileString} lng_ga "Irish (ga)"
+${LangFileString} lng_gl "Galician (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebrew (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croatian (hr)"
+${LangFileString} lng_hu "Hungarian (hu)"
+${LangFileString} lng_hy "Armenian (hy)"
+${LangFileString} lng_id "Indonesian (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "Italian (it)"
+${LangFileString} lng_ja "Japanese (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Korean (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Lithuanian (lt)"
+${LangFileString} lng_lv "Latvian (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedonian (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolian (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norwegian Bokmål (nb)"
+${LangFileString} lng_ne "Nepali (ne)"
+${LangFileString} lng_nl "Dutch (nl)"
+${LangFileString} lng_nn "Norwegian Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polish (pl)"
+${LangFileString} lng_pt "Portuguese (pt)"
+${LangFileString} lng_pt_BR "Portuguese/Brazil (pt_BR)"
+${LangFileString} lng_ro "Romanian (ro)"
+${LangFileString} lng_ru "Russian (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "Slovak (sk)"
+${LangFileString} lng_sl "Slovenian (sl)"
+${LangFileString} lng_sq "Albanian (sq)"
+${LangFileString} lng_sr "Serbian (sr)"
+${LangFileString} lng_sr@latin "Serbian in Latin script (sr@latin)"
+${LangFileString} lng_sv "Swedish (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thai (th)"
+${LangFileString} lng_tr "Turkish (tr)"
+${LangFileString} lng_uk "Ukrainian (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamese (vi)"
+${LangFileString} lng_zh_CN "Chinese/China (zh_CN)"
+${LangFileString} lng_zh_TW "Chinese/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Dutch.nsh b/packaging/win32/languages/Dutch.nsh
new file mode 100644
index 0000000..4031edf
--- /dev/null
+++ b/packaging/win32/languages/Dutch.nsh
@@ -0,0 +1,55 @@
+;Language: Dutch (1033)
+;By Adib Taraben <theadib@gmail.com>
+${LangFileString} CaptionDescription "Open Source Scalable Vector Graphics Editor"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) wordt beschikbaar gesteld onder de GNU General Public License (GPL). De licentie is hierboven ter info weergegeven. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape werd geïnstalleerd door de gebruiker $0.$\r$\nIndien je voortgaat, kan je het mogelijk niet succesvol beëindigen!$\r$\nLog aub. in als $0 en probeer opnieuw."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 werd reeds geïnstalleerd. $\nWil je de vorige versie verwijderen voor de installatie van $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nDruk op OK om door te gaan en ANNULEREN om te stoppen."
+${LangFileString} NO_ADMIN "Je hebt geen beheerdersbevoegdheden.$\r$\nHet installeren van Inkscape voor alle gebruikers is wellicht niet mogelijk.$\r$\nDesactiveer de optie 'Installeren voor alle gebruikers'."
+${LangFileString} NOT_SUPPORTED "Het is bekend dat Inkscape niet draait onder Windows 95/98/ME!$\r$\nKijk aub. de officiële website na voor gedetailleerde informatie."
+${LangFileString} Full "Volledig"
+${LangFileString} Optimal "Optimaal"
+${LangFileString} Minimal "Minimaal"
+${LangFileString} Core "Inkscape SVG Editor (noodzakelijk)"
+${LangFileString} CoreDesc "Inkscape kerncomponenten en dlls"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (noodzakelijk)"
+${LangFileString} GTKFilesDesc "Een multi-platform GUI toolkit, gebruikt door Inkscape"
+${LangFileString} Shortcuts "Sneltoetsen"
+${LangFileString} ShortcutsDesc "Sneltoetsen voor het starten van Inkscape"
+${LangFileString} Alluser "Installeren voor alle gebruikers"
+${LangFileString} AlluserDesc "Deze applicatie installeren voor iedereen die deze computer gebruikt (alle gebruikers)"
+${LangFileString} Desktop "Bureaublad"
+${LangFileString} DesktopDesc "Een snelkoppeling voor Inkscape maken op het bureaublad"
+${LangFileString} Startmenu "Startmenu"
+${LangFileString} StartmenuDesc "Een ingang voor Inkscape maken in het startmenu maken"
+${LangFileString} Quicklaunch "Snel starten"
+${LangFileString} QuicklaunchDesc "Een snelkoppeling naar Inkscape maken op de werkbalk Snel starten"
+${LangFileString} SVGWriter "SVG-bestanden openen met Inkscape"
+${LangFileString} SVGWriterDesc "Inkscape selecteren als de standaard editor voor SVG-bestanden"
+${LangFileString} ContextMenu "Contextmenu"
+${LangFileString} ContextMenuDesc "Inkscape toevoegen aan het contextmenu voor SVG-bestanden"
+${LangFileString} DeletePrefs "Persoonlijke voorkeuren verwijderen"
+${LangFileString} DeletePrefsDesc "Persoonlijke voorkeuren van vorige installaties verwijderen"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Additionele bestanden"
+${LangFileString} AddfilesDesc "Additionele bestanden"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Voorbeelden"
+${LangFileString} ExamplesDesc "Voorbeelden van het gebruik van Inkscape"
+${LangFileString} Tutorials "Handleidingen"
+${LangFileString} TutorialsDesc "Handleidingen over het gebruik van Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Vertalingen"
+${LangFileString} LanguagesDesc "Diverse vertalingen voor Inkscape installeren"
+${LangFileString} UInstOpt "Deïnstallatieopties"
+${LangFileString} UInstOpt1 "Maak alstublief je keuzes voor additionele opties"
+${LangFileString} PurgePrefs "Persoonlijke voorkeuren behouden"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log niet gevonden!$\r$\nDeïnstalleer alstublief door zelf de map $INSTDIR leeg te maken!"
+${LangFileString} FileChanged "Het bestand $filename is gewijzigd na installatie.$\r$\nWil je nog steeds dat bestand verwijderen?"
+${LangFileString} Yes "Ja"
+${LangFileString} AlwaysYes "altijd Ja antwoorden"
+${LangFileString} No "Nee"
+${LangFileString} AlwaysNo "altijd Nee antwoorden"
diff --git a/packaging/win32/languages/Dutch_languageNames.nsh b/packaging/win32/languages/Dutch_languageNames.nsh
new file mode 100644
index 0000000..03fc293
--- /dev/null
+++ b/packaging/win32/languages/Dutch_languageNames.nsh
@@ -0,0 +1,92 @@
+### Dutch (nl) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Dutch.nsh'
+${LangFileString} lng_ar "Arabisch (ar)"
+${LangFileString} lng_as "Assamees (as)"
+${LangFileString} lng_az "Azerbeidzjaans (az)"
+${LangFileString} lng_be "Wit-Russisch (be)"
+${LangFileString} lng_bg "Bulgaars (bg)"
+${LangFileString} lng_bn "Bengaals (bn)"
+${LangFileString} lng_bn_BD "Bengaals/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Bretoens (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalaans (ca)"
+${LangFileString} lng_ca@valencia "Catalaans/Valencia (ca@valencia)"
+${LangFileString} lng_cs "Tsjechisch (cs)"
+${LangFileString} lng_da "Deens (da)"
+${LangFileString} lng_de "Duits (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Grieks (el)"
+${LangFileString} lng_en "English (en)"
+${LangFileString} lng_en_AU "Engels/Australië (en_AU)"
+${LangFileString} lng_en_CA "Engels/Canada (en_CA)"
+${LangFileString} lng_en_GB "Engels/Groot-Brittannië (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Spaans (es)"
+${LangFileString} lng_es_MX "Spaans/Mexico (es_MX)"
+${LangFileString} lng_et "Ests (et)"
+${LangFileString} lng_eu "Baskisch (eu)"
+${LangFileString} lng_fa "Perzisch (fa)"
+${LangFileString} lng_fi "Fins (fi)"
+${LangFileString} lng_fr "Frans (fr)"
+${LangFileString} lng_ga "Iers (ga)"
+${LangFileString} lng_gl "Galisisch (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebreeuws (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Kroatisch (hr)"
+${LangFileString} lng_hu "Hongaars (hu)"
+${LangFileString} lng_hy "Armeens (hy)"
+${LangFileString} lng_id "Indonesisch (id)"
+${LangFileString} lng_is "Ijslands (is)"
+${LangFileString} lng_it "Italiaans (it)"
+${LangFileString} lng_ja "Japans (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Koreaans (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latijnse karakters (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari schrift (ks@deva)"
+${LangFileString} lng_lt "Litouws (lt)"
+${LangFileString} lng_lv "Lets (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedonisch (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongools (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengaals schrift (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Noors Bokmål (nb)"
+${LangFileString} lng_ne "Nepalees (ne)"
+${LangFileString} lng_nl "Nederlands (nl)"
+${LangFileString} lng_nn "Noors Nynorsk (nn)"
+${LangFileString} lng_or "Oriya (or)"
+${LangFileString} lng_pa "Punjabi (pa)"
+${LangFileString} lng_pl "Pools (pl)"
+${LangFileString} lng_pt "Portugees (pt)"
+${LangFileString} lng_pt_BR "Portugees/Brazillië (pt_BR)"
+${LangFileString} lng_ro "Roemeens (ro)"
+${LangFileString} lng_ru "Russisch (ru)"
+${LangFileString} lng_rw "Rwandees (rw)"
+${LangFileString} lng_sa "Sanskriet (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari schrift (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari schrift (sd@deva)"
+${LangFileString} lng_sk "Slowaaks (sk)"
+${LangFileString} lng_sl "Sloveens (sl)"
+${LangFileString} lng_sq "Albanees (sq)"
+${LangFileString} lng_sr "Servisch (sr)"
+${LangFileString} lng_sr@latin "Servisch in Latijnse karakters (sr@latin)"
+${LangFileString} lng_sv "Zweeds (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thai (th)"
+${LangFileString} lng_tr "Turks (tr)"
+${LangFileString} lng_uk "Oekraïens (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamees (vi)"
+${LangFileString} lng_zh_CN "Chinees/China (zh_CN)"
+${LangFileString} lng_zh_TW "Chinees/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/English.nsh b/packaging/win32/languages/English.nsh
new file mode 100644
index 0000000..6c6700c
--- /dev/null
+++ b/packaging/win32/languages/English.nsh
@@ -0,0 +1,55 @@
+;Language: English (1033)
+;By Adib Taraben <theadib@gmail.com>
+${LangFileString} CaptionDescription "Open Source Scalable Vector Graphics Editor"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) is released under the GNU General Public License (GPL). The license is provided here for information purposes only. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape has been installed by user $0.$\r$\nIf you continue you might not complete successfully!$\r$\nPlease log in as $0 and try again."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 has already been installed. $\nDo you want to remove the previous version before installing $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPress OK to continue or press CANCEL to abort."
+${LangFileString} NO_ADMIN "You do not have administrator privileges.$\r$\nInstalling Inkscape for all users might not complete successfully.$\r$\nUncheck the 'Install for all users' option."
+${LangFileString} NOT_SUPPORTED "Inkscape is known not to run under Windows 95/98/ME!$\r$\nPlease check the official website for detailed information."
+${LangFileString} Full "Full"
+${LangFileString} Optimal "Optimal"
+${LangFileString} Minimal "Minimal"
+${LangFileString} Core "Inkscape SVG Editor (required)"
+${LangFileString} CoreDesc "Inkscape core files and DLLs"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (required)"
+${LangFileString} GTKFilesDesc "A multi-platform GUI toolkit, used by Inkscape"
+${LangFileString} Shortcuts "Shortcuts"
+${LangFileString} ShortcutsDesc "Shortcuts for starting Inkscape"
+${LangFileString} Alluser "Install for all users"
+${LangFileString} AlluserDesc "Install this application for anyone who uses this computer (all users)"
+${LangFileString} Desktop "Desktop"
+${LangFileString} DesktopDesc "Create a shortcut to Inkscape on the Desktop"
+${LangFileString} Startmenu "Start Menu"
+${LangFileString} StartmenuDesc "Create a Start Menu entry for Inkscape"
+${LangFileString} Quicklaunch "Quick Launch"
+${LangFileString} QuicklaunchDesc "Create a shortcut to Inkscape on the Quick Launch toolbar"
+${LangFileString} SVGWriter "Open SVG files with Inkscape"
+${LangFileString} SVGWriterDesc "Select Inkscape as default editor for SVG files"
+${LangFileString} ContextMenu "Context Menu"
+${LangFileString} ContextMenuDesc "Add Inkscape into the Context Menu for SVG files"
+${LangFileString} DeletePrefs "Delete personal preferences"
+${LangFileString} DeletePrefsDesc "Delete personal preferences leftover from previous installations"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Additional Files"
+${LangFileString} AddfilesDesc "Additional Files"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Examples"
+${LangFileString} ExamplesDesc "Examples using Inkscape"
+${LangFileString} Tutorials "Tutorials"
+${LangFileString} TutorialsDesc "Tutorials using Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Translations"
+${LangFileString} LanguagesDesc "Translations and localized content for Inkscape"
+${LangFileString} UInstOpt "Uninstallation Options"
+${LangFileString} UInstOpt1 "Please make your choices for additional options"
+${LangFileString} PurgePrefs "Keep personal Preferences"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log not found!$\r$\nPlease uninstall by clearing directory $INSTDIR yourself!"
+${LangFileString} FileChanged "The file $filename has been changed after installation.$\r$\nDo you still want to delete that file?"
+${LangFileString} Yes "Yes"
+${LangFileString} AlwaysYes "always answer Yes"
+${LangFileString} No "No"
+${LangFileString} AlwaysNo "always answer No"
diff --git a/packaging/win32/languages/English_languageNames.nsh b/packaging/win32/languages/English_languageNames.nsh
new file mode 100644
index 0000000..b1de8a1
--- /dev/null
+++ b/packaging/win32/languages/English_languageNames.nsh
@@ -0,0 +1,92 @@
+### English (en) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'English.nsh'
+${LangFileString} lng_ar "Arabic (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Azerbaijani (az)"
+${LangFileString} lng_be "Belarusian (be)"
+${LangFileString} lng_bg "Bulgarian (bg)"
+${LangFileString} lng_bn "Bengali (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Breton (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalan (ca)"
+${LangFileString} lng_ca@valencia "Valencian Catalan (ca@valencia)"
+${LangFileString} lng_cs "Czech (cs)"
+${LangFileString} lng_da "Danish (da)"
+${LangFileString} lng_de "German (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Greek (el)"
+${LangFileString} lng_en "English (en)"
+${LangFileString} lng_en_AU "English/Australia (en_AU)"
+${LangFileString} lng_en_CA "English/Canada (en_CA)"
+${LangFileString} lng_en_GB "English/Great Britain (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Spanish (es)"
+${LangFileString} lng_es_MX "Spanish/Mexico (es_MX)"
+${LangFileString} lng_et "Estonian (et)"
+${LangFileString} lng_eu "Basque (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Finnish (fi)"
+${LangFileString} lng_fr "French (fr)"
+${LangFileString} lng_ga "Irish (ga)"
+${LangFileString} lng_gl "Galician (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebrew (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croatian (hr)"
+${LangFileString} lng_hu "Hungarian (hu)"
+${LangFileString} lng_hy "Armenian (hy)"
+${LangFileString} lng_id "Indonesian (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "Italian (it)"
+${LangFileString} lng_ja "Japanese (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Korean (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Lithuanian (lt)"
+${LangFileString} lng_lv "Latvian (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedonian (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolian (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norwegian Bokmål (nb)"
+${LangFileString} lng_ne "Nepali (ne)"
+${LangFileString} lng_nl "Dutch (nl)"
+${LangFileString} lng_nn "Norwegian Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polish (pl)"
+${LangFileString} lng_pt "Portuguese (pt)"
+${LangFileString} lng_pt_BR "Portuguese/Brazil (pt_BR)"
+${LangFileString} lng_ro "Romanian (ro)"
+${LangFileString} lng_ru "Russian (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "Slovak (sk)"
+${LangFileString} lng_sl "Slovenian (sl)"
+${LangFileString} lng_sq "Albanian (sq)"
+${LangFileString} lng_sr "Serbian (sr)"
+${LangFileString} lng_sr@latin "Serbian in Latin script (sr@latin)"
+${LangFileString} lng_sv "Swedish (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thai (th)"
+${LangFileString} lng_tr "Turkish (tr)"
+${LangFileString} lng_uk "Ukrainian (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamese (vi)"
+${LangFileString} lng_zh_CN "Chinese/China (zh_CN)"
+${LangFileString} lng_zh_TW "Chinese/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Finnish.nsh b/packaging/win32/languages/Finnish.nsh
new file mode 100644
index 0000000..492f263
--- /dev/null
+++ b/packaging/win32/languages/Finnish.nsh
@@ -0,0 +1,55 @@
+;Language: Finnish (1035)
+;By Riku Leino <tsoots@gmail.com>
+${LangFileString} CaptionDescription "Avoimen lähdekoodin SVG-muokkain"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) on julkaistu GNU General Public License (GPL) -lisenssillä. $_CLICK"
+${LangFileString} DIFFERENT_USER "Käyttäjä $0.$\r$\n on asentanut Inkscapen\nJos jatkat, asennus saattaa epäonnistua.!$\r$\nKirjaudu sisään käyttäjänä $0 ja yritä uudestaan."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 on jo asennettu. $\nHaluatko poistaa edellisen version ennen asennusta $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPaina OK jatkaaksi tai Peruuta keskeyttääksesi."
+${LangFileString} NO_ADMIN "Sinulla ei ole pääkäyttäjän oikeuksia.$\r$\nInkscapen asennus kaikille käyttäjille saattaa epäonnistua.$\r$\nÄlä käytä kaikille käyttäjille -ominaisuutta."
+${LangFileString} NOT_SUPPORTED "Inkscape ei toimi käyttöjärjestelmissä Windows 95/98/ME!$\r$\nLisätietoja saat ohjelman kotisivulta."
+${LangFileString} Full "Täysi"
+${LangFileString} Optimal "Oletus"
+${LangFileString} Minimal "Vähäisin"
+${LangFileString} Core "Inkscape SVG-muokkain (pakollinen)"
+${LangFileString} CoreDesc "Inkscape tiedostot ja dll-kirjastot"
+${LangFileString} GTKFiles "GTK+-ajoympäristö (pakollinen)"
+${LangFileString} GTKFilesDesc "Usealla alustalla toimiva käyttöliittymäkehys, jota Inkscape käyttää"
+${LangFileString} Shortcuts "Pikakuvakkeet"
+${LangFileString} ShortcutsDesc "Pikakuvakkeet Inkscapen käynnistämiseksi"
+${LangFileString} Alluser "kaikille käyttäjille"
+${LangFileString} AlluserDesc "Asenna Inkscape kaikille tämän tietokoneen käyttäjille"
+${LangFileString} Desktop "Työpöytä"
+${LangFileString} DesktopDesc "Luo Inkscape-pikakuvake työpöydälle"
+${LangFileString} Startmenu "Käynnistä-valikko"
+${LangFileString} StartmenuDesc "Lisää Inkscape Käynnistä-valikkoon"
+${LangFileString} Quicklaunch "Pikakäynnistys"
+${LangFileString} QuicklaunchDesc "Lisää Inkscape pikakäynnistysriville"
+${LangFileString} SVGWriter "Avaa SVG-tiedostot Inkscapella"
+${LangFileString} SVGWriterDesc "Tee Inkscapesta oletusmuokkain SVG-tiedostoille"
+${LangFileString} ContextMenu "Kontekstivalikko"
+${LangFileString} ContextMenuDesc "Lisää Inkscape SVG-tiedostojen pikavalikkoon"
+${LangFileString} DeletePrefs "Poista asetukset"
+${LangFileString} DeletePrefsDesc "Poista edelliseen versioon tehdyt asetukset"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Valinnaiset tiedostot"
+${LangFileString} AddfilesDesc "Valinnaiset tiedostot"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Esimerkit"
+${LangFileString} ExamplesDesc "Inkscapen avulla tehdyt esimerkit"
+${LangFileString} Tutorials "Ohjeet"
+${LangFileString} TutorialsDesc "Inkscapen käyttöä opettavat ohjeet (englanniksi)"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Käännökset"
+${LangFileString} LanguagesDesc "Asenna Inkscapen käännökset"
+${LangFileString} UInstOpt "Ohjelman poiston asetukset"
+${LangFileString} UInstOpt1 "Valitse haluamasi asetukset ohjelman poistamiseksi"
+${LangFileString} PurgePrefs "Säilytä omat asetukset"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log ei löytynyt!$\r$\nPoista tyhjentämällä asennuskansio $INSTDIR!"
+${LangFileString} FileChanged "Tiedosto $filename on muuttunut asennuksen jälkeen.$\r$\nPoistetaanko se siitä huolimatta?"
+${LangFileString} Yes "Kyllä"
+${LangFileString} AlwaysYes "Kyllä kaikkiin"
+${LangFileString} No "Ei"
+${LangFileString} AlwaysNo "Ei kaikkiin"
diff --git a/packaging/win32/languages/Finnish_languageNames.nsh b/packaging/win32/languages/Finnish_languageNames.nsh
new file mode 100644
index 0000000..6b27af5
--- /dev/null
+++ b/packaging/win32/languages/Finnish_languageNames.nsh
@@ -0,0 +1,92 @@
+### Finnish (fi) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Finnish.nsh'
+${LangFileString} lng_ar "Arabia (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Azerbaijani (az)"
+${LangFileString} lng_be "Valkovenäjä (be)"
+${LangFileString} lng_bg "Bulgaria (bg)"
+${LangFileString} lng_bn "Bengali (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Breton (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalan (ca)"
+${LangFileString} lng_ca@valencia "Valencian Catalan (ca@valencia)"
+${LangFileString} lng_cs "Tsekki (cs)"
+${LangFileString} lng_da "Tanska (da)"
+${LangFileString} lng_de "Saksa (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Kreikka (el)"
+${LangFileString} lng_en "Englanti (en)"
+${LangFileString} lng_en_AU "Englanti/Australia (en_AU)"
+${LangFileString} lng_en_CA "Englanti/Kanada (en_CA)"
+${LangFileString} lng_en_GB "Englanti/Iso Britannia (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Espanja (es)"
+${LangFileString} lng_es_MX "Espanja/Meksiko (es_MX)"
+${LangFileString} lng_et "Viro (et)"
+${LangFileString} lng_eu "Basque (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Suomi (fi)"
+${LangFileString} lng_fr "Ranska (fr)"
+${LangFileString} lng_ga "Irlanti (ga)"
+${LangFileString} lng_gl "Galician (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Heprea (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Kroatia (hr)"
+${LangFileString} lng_hu "Unkari (hu)"
+${LangFileString} lng_hy "Armenia (hy)"
+${LangFileString} lng_id "Indonesa (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "Italia (it)"
+${LangFileString} lng_ja "Japani (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Korea (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Liettua (lt)"
+${LangFileString} lng_lv "Latvian (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Makedonia (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolia (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norja Bokmål (nb)"
+${LangFileString} lng_ne "Nepali (ne)"
+${LangFileString} lng_nl "Hollanti (nl)"
+${LangFileString} lng_nn "Norja Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Puola (pl)"
+${LangFileString} lng_pt "Portugali (pt)"
+${LangFileString} lng_pt_BR "Portugali/Brasilia (pt_BR)"
+${LangFileString} lng_ro "Romania (ro)"
+${LangFileString} lng_ru "Venäjä (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "Slovakia (sk)"
+${LangFileString} lng_sl "Slovenia (sl)"
+${LangFileString} lng_sq "Albania (sq)"
+${LangFileString} lng_sr "Serbia (sr)"
+${LangFileString} lng_sr@latin "Serbia/Latin (sr@latin)"
+${LangFileString} lng_sv "Ruotsi (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thai (th)"
+${LangFileString} lng_tr "Turkki (tr)"
+${LangFileString} lng_uk "Ukraina (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnami (vi)"
+${LangFileString} lng_zh_CN "Kiina (zh_CN)"
+${LangFileString} lng_zh_TW "Kiina/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/French.nsh b/packaging/win32/languages/French.nsh
new file mode 100644
index 0000000..e734985
--- /dev/null
+++ b/packaging/win32/languages/French.nsh
@@ -0,0 +1,55 @@
+;Language: French (1036)
+;By matiphas@free.fr, Nicolas Dufour <nicoduf@yahoo.fr>, Sylvain Chiron <chironsylvain@orange.fr>
+${LangFileString} CaptionDescription "Éditeur vectoriel SVG libre"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) est mis à disposition sous les termes de la licence publique générale (GPL) GNU. La licence est fournie ici pour information uniquement. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape a déjà été installé par l'utilisateur $0.$\r$\nSi vous continuez, l'installation pourrait devenir défectueuse !$\r$\nVeuillez vous connecter en tant que $0 et essayer à nouveau."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 a déjà été installé. $\nVoulez-vous supprimer la version précédente avant l'installation d'$(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nCliquer sur OK pour continuer ou sur CANCEL pour annuler."
+${LangFileString} NO_ADMIN "Vous n'avez pas les privilèges d'administration.$\r$\nL'installation d'Inkscape pour tous les utilisateurs pourrait devenir défectueuse.$\r$\nVeuillez décocher l'option « pour tous les utilisateurs »."
+${LangFileString} NOT_SUPPORTED "Inkscape n'est pas exécutable sur Windows 95/98/Me !$\r$\nVeuillez consulter le site web officiel pour plus d'informations."
+${LangFileString} Full "Complète"
+${LangFileString} Optimal "Optimale"
+${LangFileString} Minimal "Minimale"
+${LangFileString} Core "Éditeur SVG Inkscape (nécessaire)"
+${LangFileString} CoreDesc "Fichiers indispensables d'Inkscape et bibliothèques dynamiques"
+${LangFileString} GTKFiles "Environnement GTK+ (nécessaire)"
+${LangFileString} GTKFilesDesc "Une boîte à outils multi-plateforme pour interfaces graphiques, utilisée par Inkscape"
+${LangFileString} Shortcuts "Raccourcis"
+${LangFileString} ShortcutsDesc "Raccourcis pour démarrer Inkscape"
+${LangFileString} Alluser "Pour tous les utilisateurs"
+${LangFileString} AlluserDesc "Installer cette application pour tous les utilisateurs de cet ordinateur"
+${LangFileString} Desktop "Bureau"
+${LangFileString} DesktopDesc "Créer un raccourci vers Inkscape sur le bureau"
+${LangFileString} Startmenu "Menu Démarrer"
+${LangFileString} StartmenuDesc "Créer une entrée Inkscape dans le menu Démarrer"
+${LangFileString} Quicklaunch "Barre des tâches"
+${LangFileString} QuicklaunchDesc "Créer un raccourci vers Inkscape dans la barre des tâches"
+${LangFileString} SVGWriter "Ouvrir les fichiers SVG avec Inkscape"
+${LangFileString} SVGWriterDesc "Choisir Inkscape comme éditeur par défaut pour les fichiers SVG"
+${LangFileString} ContextMenu "Menu contextuel"
+${LangFileString} ContextMenuDesc "Ajouter Inkscape dans le menu contextuel des fichiers SVG"
+${LangFileString} DeletePrefs "Effacer les préférences personnelles"
+${LangFileString} DeletePrefsDesc "Effacer les préférences personnelles laissées par les précédentes installations"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Fichiers additionnels"
+${LangFileString} AddfilesDesc "Fichiers additionnels"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Exemples"
+${LangFileString} ExamplesDesc "Exemples d'utilisation d'Inkscape"
+${LangFileString} Tutorials "Didacticiels"
+${LangFileString} TutorialsDesc "Didacticiels sur l'utilisation d'Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Traductions"
+${LangFileString} LanguagesDesc "Installer les traductions d'Inkscape"
+${LangFileString} UInstOpt "Options de désinstallation"
+${LangFileString} UInstOpt1 "Choisissez parmi les options additionnelles"
+${LangFileString} PurgePrefs "Conserver les préférences personnelles"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log introuvable !$\r$\nVeuillez procéder à la désinstallation en nettoyant le dossier $INSTDIR manuellement."
+${LangFileString} FileChanged "Le fichier $filename a été modifié après l'installation.$\r$\nVoulez-vous vraiment le supprimer ?"
+${LangFileString} Yes "Oui"
+${LangFileString} AlwaysYes "toujours répondre Oui"
+${LangFileString} No "Non"
+${LangFileString} AlwaysNo "toujours répondre Non"
diff --git a/packaging/win32/languages/French_languageNames.nsh b/packaging/win32/languages/French_languageNames.nsh
new file mode 100644
index 0000000..cd44df0
--- /dev/null
+++ b/packaging/win32/languages/French_languageNames.nsh
@@ -0,0 +1,92 @@
+### French (fr) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'French.nsh'
+${LangFileString} lng_ar "Arabe (ar)"
+${LangFileString} lng_as "Assamais (as)"
+${LangFileString} lng_az "Azéri (az)"
+${LangFileString} lng_be "Biélorusse (be)"
+${LangFileString} lng_bg "Bulgare (bg)"
+${LangFileString} lng_bn "Bengali (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Breton (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalan (ca)"
+${LangFileString} lng_ca@valencia "Catalan valencien (ca@valencia)"
+${LangFileString} lng_cs "Tchèque (cs)"
+${LangFileString} lng_da "Danois (da)"
+${LangFileString} lng_de "Allemand (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Grec (el)"
+${LangFileString} lng_en "Anglais (en)"
+${LangFileString} lng_en_AU "Anglais/Australie (en_AU)"
+${LangFileString} lng_en_CA "Anglais/Canada (en_CA)"
+${LangFileString} lng_en_GB "Anglais/Grande-Bretagne (en_GB)"
+${LangFileString} lng_eo "Espéranto (eo)"
+${LangFileString} lng_es "Espagnol (es)"
+${LangFileString} lng_es_MX "Espagnol/Mexique (es_MX)"
+${LangFileString} lng_et "Estonien (et)"
+${LangFileString} lng_eu "Basque (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Finnois (fi)"
+${LangFileString} lng_fr "Français (fr)"
+${LangFileString} lng_ga "Irlandais (ga)"
+${LangFileString} lng_gl "Galicien (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hébreu (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croate (hr)"
+${LangFileString} lng_hu "Hongrois (hu)"
+${LangFileString} lng_hy "Arménien (hy)"
+${LangFileString} lng_id "Indonésien (id)"
+${LangFileString} lng_is "Islandais (is)"
+${LangFileString} lng_it "Italien (it)"
+${LangFileString} lng_ja "Japonais (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Coréen (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani en alphabet latin (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri, écriture Perso-Arabique (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri, écriture Devanagari (ks@deva)"
+${LangFileString} lng_lt "Lituanien (lt)"
+${LangFileString} lng_lv "Letton (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macédonien (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongol (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri, écriture Bengali (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norvégien Bokmål (nb)"
+${LangFileString} lng_ne "Népalais (ne)"
+${LangFileString} lng_nl "Néerlandais (nl)"
+${LangFileString} lng_nn "Norvégien Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polonais (pl)"
+${LangFileString} lng_pt "Portugais (pt)"
+${LangFileString} lng_pt_BR "Portugais/Brésil (pt_BR)"
+${LangFileString} lng_ro "Roumain (ro)"
+${LangFileString} lng_ru "Russe (ru)"
+${LangFileString} lng_rw "Kinyarouanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali, écriture Devanagari (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi, écriture Devanagari (sd@deva)"
+${LangFileString} lng_sk "Slovaque (sk)"
+${LangFileString} lng_sl "Slovène (sl)"
+${LangFileString} lng_sq "Albanais (sq)"
+${LangFileString} lng_sr "Serbe (sr)"
+${LangFileString} lng_sr@latin "Serbe en alphabet latin (sr@latin)"
+${LangFileString} lng_sv "Suédois (sv)"
+${LangFileString} lng_ta "Tamoul (ta)"
+${LangFileString} lng_te "Télougou (te)"
+${LangFileString} lng_th "Thaï (th)"
+${LangFileString} lng_tr "Turc (tr)"
+${LangFileString} lng_uk "Ukrainien (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamien (vi)"
+${LangFileString} lng_zh_CN "Chinois/Chine (zh_CN)"
+${LangFileString} lng_zh_TW "Chinois/Taïwan (zh_TW)"
diff --git a/packaging/win32/languages/Galician.nsh b/packaging/win32/languages/Galician.nsh
new file mode 100644
index 0000000..f107118
--- /dev/null
+++ b/packaging/win32/languages/Galician.nsh
@@ -0,0 +1,55 @@
+;Language: Galician (1110)
+;By Leandro Regueiro leandro.regueiro@gmail.com
+${LangFileString} CaptionDescription "Editor de Gráficos Vectoriais Escalables (SVG) de Código Aberto"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) publícase baixo GNU General Public License (GPL). A licenza amósase aquí só para informalo. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape foi instalado polo usuario $0.$\r$\nSe continua pode que non consiga rematar a instalación con éxito!$\r$\nEntre no sistema coma $0 e ténteo de novo."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 xa foi instalado. $\nDesexa eliminar a versión anterior antes de instalar $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPrema Aceptar para continuar ou prema CANCELAR para abortar."
+${LangFileString} NO_ADMIN "Non ten privilexios de administrador.$\r$\nPode que non consiga rematar con éxito a instalación de Inkscape para tódolos usuarios.$\r$\nDesmarque a opción 'para tódolos usuarios'."
+${LangFileString} NOT_SUPPORTED "Sábese que Inkscape non funciona en Windows 95/98/ME!$\r$\nConsulte o sitio web oficial para obter información máis detallada."
+${LangFileString} Full "Completa"
+${LangFileString} Optimal "Óptima"
+${LangFileString} Minimal "Mínima"
+${LangFileString} Core "Editor de SVG Inkscape (requirido)"
+${LangFileString} CoreDesc "Ficheiros básicos de Inkscape e dlls"
+${LangFileString} GTKFiles "Ambiente de Execución GTK+ (requirido)"
+${LangFileString} GTKFilesDesc "Un toolkit GUI multiplataforma, usado por Inkscape"
+${LangFileString} Shortcuts "Accesos Directos"
+${LangFileString} ShortcutsDesc "Accesos directos para iniciar Inkscape"
+${LangFileString} Alluser "para tódolos usuarios"
+${LangFileString} AlluserDesc "Instalar esta aplicación para tódolos que usan este ordenador (tódolos usuarios)"
+${LangFileString} Desktop "Escritorio"
+${LangFileString} DesktopDesc "Crear un acceso directo para Inkscape no Escritorio"
+${LangFileString} Startmenu "Menú Inicio"
+${LangFileString} StartmenuDesc "Crear unha entrada no Menú Inicio para Inkscape"
+${LangFileString} Quicklaunch "Inicio Rápido"
+${LangFileString} QuicklaunchDesc "Crear un acceso directo para Inkscape na barra de Inicio Rápido"
+${LangFileString} SVGWriter "Abrir ficheiros SVG con Inkscape"
+${LangFileString} SVGWriterDesc "Seleccionar Inkscape coma o editor predeterminado para os ficheiros SVG"
+${LangFileString} ContextMenu "Menú Contextual"
+${LangFileString} ContextMenuDesc "Engadir Inkscape ó Menú Contextual dos ficheiros SVG"
+${LangFileString} DeletePrefs "Eliminar as configuracións persoais"
+${LangFileString} DeletePrefsDesc "Eliminar as configuracións persoais de instalacións anteriores"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Ficheiros Adicionais"
+${LangFileString} AddfilesDesc "Ficheiros Adicionais"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Exemplos"
+${LangFileString} ExamplesDesc "Exemplos de uso de Inkscape"
+${LangFileString} Tutorials "Titoriais"
+${LangFileString} TutorialsDesc "Titoriais de Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Traducións"
+${LangFileString} LanguagesDesc "Instala varias traducións de Inkscape"
+${LangFileString} UInstOpt "Opcións de Desinstalación"
+${LangFileString} UInstOpt1 "Escolla as opcións adicionais"
+${LangFileString} PurgePrefs "Conservar a Configuración persoal"
+${LangFileString} UninstallLogNotFound "Non se atopou $INSTDIR\uninstall.log!$\r$\nDesinstale baleirando vostede mesmo o directorio $INSTDIR!"
+${LangFileString} FileChanged "O ficheiro $filename cambiou despois da instalación.$\r$\nAinda desexa eliminar ese ficheiro?"
+${LangFileString} Yes "Sí"
+${LangFileString} AlwaysYes "sempre responder Sí"
+${LangFileString} No "Non"
+${LangFileString} AlwaysNo "sempre responder Non"
diff --git a/packaging/win32/languages/Galician_languageNames.nsh b/packaging/win32/languages/Galician_languageNames.nsh
new file mode 100644
index 0000000..682586e
--- /dev/null
+++ b/packaging/win32/languages/Galician_languageNames.nsh
@@ -0,0 +1,92 @@
+### Galician (gl) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Galician.nsh'
+${LangFileString} lng_ar "Árabe (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Acerí (az)"
+${LangFileString} lng_be "Bieloruso (be)"
+${LangFileString} lng_bg "Búlgaro (bg)"
+${LangFileString} lng_bn "Bengalí (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Bretón (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalán (ca)"
+${LangFileString} lng_ca@valencia "Catalán de Valencia (ca@valencia)"
+${LangFileString} lng_cs "Checo (cs)"
+${LangFileString} lng_da "Dinamarqués (da)"
+${LangFileString} lng_de "Alemán (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Grego (el)"
+${LangFileString} lng_en "Inglés (en)"
+${LangFileString} lng_en_AU "Inglés de Australia (en_AU)"
+${LangFileString} lng_en_CA "Inglés de Canadá (en_CA)"
+${LangFileString} lng_en_GB "Inglés de Gran Bretaña (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Castelán (es)"
+${LangFileString} lng_es_MX "Castelán de México (es_MX)"
+${LangFileString} lng_et "Estonio (et)"
+${LangFileString} lng_eu "Éuscaro (eu)"
+${LangFileString} lng_fa "Persa (fa)"
+${LangFileString} lng_fi "Finlandés (fi)"
+${LangFileString} lng_fr "Francés (fr)"
+${LangFileString} lng_ga "Irlandés (ga)"
+${LangFileString} lng_gl "Galego (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebreo (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croata (hr)"
+${LangFileString} lng_hu "Húngaro (hu)"
+${LangFileString} lng_hy "Armenio (hy)"
+${LangFileString} lng_id "Indonesio (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "Italiano (it)"
+${LangFileString} lng_ja "Xaponés (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Coreano (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Lituano (lt)"
+${LangFileString} lng_lv "Latvian (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedonio (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongol (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Noruegués, Bokmål (nb)"
+${LangFileString} lng_ne "Nepalí (ne)"
+${LangFileString} lng_nl "Holandés (nl)"
+${LangFileString} lng_nn "Noruegués, Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polaco (pl)"
+${LangFileString} lng_pt "Portugués (pt)"
+${LangFileString} lng_pt_BR "Portugués brasileiro (pt_BR)"
+${LangFileString} lng_ro "Romanés (ro)"
+${LangFileString} lng_ru "Ruso (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "Eslovaco (sk)"
+${LangFileString} lng_sl "Esloveno (sl)"
+${LangFileString} lng_sq "Albanés (sq)"
+${LangFileString} lng_sr "Serbio (sr)"
+${LangFileString} lng_sr@latin "Serbio en alfabeto latino (sr@latin)"
+${LangFileString} lng_sv "Sueco (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Tailandés (th)"
+${LangFileString} lng_tr "Turco (tr)"
+${LangFileString} lng_uk "Ucraíno (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamita (vi)"
+${LangFileString} lng_zh_CN "Chinés de China (zh_CN)"
+${LangFileString} lng_zh_TW "Chinés de Taiwán (zh_TW)"
diff --git a/packaging/win32/languages/German.nsh b/packaging/win32/languages/German.nsh
new file mode 100644
index 0000000..bb0f8ec
--- /dev/null
+++ b/packaging/win32/languages/German.nsh
@@ -0,0 +1,55 @@
+;Language: German (1031)
+;By Adib Taraben <theadib@gmail.com>
+${LangFileString} CaptionDescription "Open-Source-Vektorgrafikeditor"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) wird unter der GNU General Public License (GPL) veröffentlicht. Die Lizenz dient hier nur der Information. $_CLICK"
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 wurde bereits installiert. $\nSoll die vorherige Version vor dem Installieren von $(^Name) zuerst deinstalliert werden?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nOK um fortzufahren oder Abbrechen zum sofortigen Beenden."
+${LangFileString} DIFFERENT_USER "Inkscape wurde bereits durch den Benutzer $0 installiert.$\r$\nWenn Sie fortfahren kann die Aktion möglicherweise nicht korrekt abgeschlossen werden!$\r$\nBitte melden Sie sich als $0 an und versuchen Sie es erneut."
+${LangFileString} NO_ADMIN "Sie sind nicht Computeradministrator.$\r$\nDas Installieren für alle Benutzer kann möglicherweise nicht korrekt abgeschlossen werden.$\r$\nBitte wählen Sie die Option 'Für alle Benutzer' ab."
+${LangFileString} NOT_SUPPORTED "Es ist bekannt, dass Inkscape unter Windows 95/98/ME nicht oder nicht stabil läuft!$\r$\nBitte prüfen Sie die offizielle Webseite für detaillierte Informationen."
+${LangFileString} Full "Vollständig"
+${LangFileString} Optimal "Optimal"
+${LangFileString} Minimal "Minimal"
+${LangFileString} Core "Inkscape-Vektorgrafikeditor (erforderlich)"
+${LangFileString} CoreDesc "Inkscape-Basisdateien und -DLLs"
+${LangFileString} GTKFiles "GTK+-Laufzeitumgebung (erforderlich)"
+${LangFileString} GTKFilesDesc "Ein Multi-Plattform-GUI-Toolkit, verwendet von Inkscape"
+${LangFileString} Shortcuts "Verknüpfungen"
+${LangFileString} ShortcutsDesc "Verknüpfungen zum Start von Inkscape"
+${LangFileString} Alluser "Für alle Benutzer"
+${LangFileString} AlluserDesc "Installiert diese Anwendung für alle Benutzer dieses Computers (all users)"
+${LangFileString} Startmenu "Startmenü"
+${LangFileString} StartmenuDesc "Erstellt einen Eintrag für Inkscape im Startmenü"
+${LangFileString} Desktop "Desktop"
+${LangFileString} DesktopDesc "Erstellt eine Verknüpfung zu Inkscape auf dem Desktop"
+${LangFileString} Quicklaunch "Schnellstartleiste"
+${LangFileString} QuicklaunchDesc "Erstellt eine Verknüpfung zu Inkscape in der Schnellstartleiste"
+${LangFileString} SVGWriter "SVG-Dateien mit Inkscape öffnen"
+${LangFileString} SVGWriterDesc "Inkscape als Standardanwendung für SVG-Dateien festlegen"
+${LangFileString} ContextMenu "Kontextmenü"
+${LangFileString} ContextMenuDesc "Fügt Inkscape in das Kontextmenü von SVG-Dateien ein"
+${LangFileString} DeletePrefs "Persönliche Inkscape-Einstellungen löschen"
+${LangFileString} DeletePrefsDesc "Löscht verbliebene persönliche Inkscape-Einstellungen einer vorherigen Installation"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "Ein Interpreter für die Programmiersprache Python und Python-Module zum Ausführen von Erweiterungen."
+${LangFileString} Addfiles "Zusätzliche Dateien"
+${LangFileString} AddfilesDesc "Zusätzliche Dateien"
+${LangFileString} Extensions "Erweiterungen"
+${LangFileString} ExtensionsDesc "Inkscape-Erweiterungen (inklusive vieler Import- und Exportplugins)"
+${LangFileString} Examples "Beispiele"
+${LangFileString} ExamplesDesc "Beispieldateien, die mit Inkscape erstellt wurden"
+${LangFileString} Tutorials "Tutorials"
+${LangFileString} TutorialsDesc "Tutorials für die Benutzung von Inkscape"
+${LangFileString} Dictionaries "Wörterbücher"
+${LangFileString} DictionariesDesc "Wörterbücher für einige gängige Sprachen zur Rechtschreibprüfung in Inkscape"
+${LangFileString} Languages "Übersetzungen"
+${LangFileString} LanguagesDesc "Übersetzungen und sprachspezifische Inhalte für Inkscape"
+${LangFileString} UInstOpt "Deinstallations-Optionen"
+${LangFileString} UInstOpt1 "Bitte wählen Sie die optionalen Deinstallationsparameter"
+${LangFileString} PurgePrefs "Persönliche Inkscape-Einstellungen behalten"
+${LangFileString} UninstallLogNotFound "Datei $INSTDIR\uninstall.log nicht gefunden!$\r$\nBitte deinstallieren Sie selbst durch Löschen von $INSTDIR!"
+${LangFileString} FileChanged "Die Datei $filename wurde nach der Installation geändert.$\r$\nMöchten Sie diese Datei trotzdem löschen?"
+${LangFileString} Yes "Ja"
+${LangFileString} AlwaysYes "immer mit Ja antworten"
+${LangFileString} No "Nein"
+${LangFileString} AlwaysNo "immer mit Nein antworten"
diff --git a/packaging/win32/languages/German_languageNames.nsh b/packaging/win32/languages/German_languageNames.nsh
new file mode 100644
index 0000000..d06a1d9
--- /dev/null
+++ b/packaging/win32/languages/German_languageNames.nsh
@@ -0,0 +1,92 @@
+### German (de) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'German.nsh'
+${LangFileString} lng_ar "Arabisch (ar)"
+${LangFileString} lng_as "Assamesisch (as)"
+${LangFileString} lng_az "Aserbeidschanisch (az)"
+${LangFileString} lng_be "Belorussisch (be)"
+${LangFileString} lng_bg "Bulgarisch (bg)"
+${LangFileString} lng_bn "Bengalesisch (bn)"
+${LangFileString} lng_bn_BD "Bengalesisch (bn_BD)"
+${LangFileString} lng_br "Bretonisch (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Katalanisch (ca)"
+${LangFileString} lng_ca@valencia "Valencianisches Katalan (ca@valencia)"
+${LangFileString} lng_cs "Tschechisch (cs)"
+${LangFileString} lng_da "Dänisch (da)"
+${LangFileString} lng_de "Deutsch (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Griechisch (el)"
+${LangFileString} lng_en "Englisch (en)"
+${LangFileString} lng_en_AU "Englisch/Australien (en_AU)"
+${LangFileString} lng_en_CA "Englisch/Kanada (en_CA)"
+${LangFileString} lng_en_GB "Englisch/Großbritannien (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Spanisch (es)"
+${LangFileString} lng_es_MX "Spanisch/Mexico (es_MX)"
+${LangFileString} lng_et "Estnisch (et)"
+${LangFileString} lng_eu "Baskisch (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Finnisch (fi)"
+${LangFileString} lng_fr "Französisch (fr)"
+${LangFileString} lng_ga "Irisch (ga)"
+${LangFileString} lng_gl "Galizisch (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebräisch (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Kroatisch (hr)"
+${LangFileString} lng_hu "Ungarisch (hu)"
+${LangFileString} lng_hy "Armenisch (hy)"
+${LangFileString} lng_id "Indonesisch (id)"
+${LangFileString} lng_is "Isländisch (is)"
+${LangFileString} lng_it "Italienisch (it)"
+${LangFileString} lng_ja "Japanisch (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Koreanisch (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in lateinischer Schrift (sr@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in erweiterter arabischer Schrift (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari-Schrift (ks@deva)"
+${LangFileString} lng_lt "Litauisch (lt)"
+${LangFileString} lng_lv "Lettisch (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Mazedonisch (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolisch (mn)"
+${LangFileString} lng_mni "Meitei (mni)"
+${LangFileString} lng_mni@beng "Manipuri in bengalischer Schrift (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norwegisch/Bokmål (nb)"
+${LangFileString} lng_ne "Nepalesisch (ne)"
+${LangFileString} lng_nl "Niderländisch (nl)"
+${LangFileString} lng_nn "Norwegisch/Nynorsk (nn)"
+${LangFileString} lng_or "Orya (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polnisch (pl)"
+${LangFileString} lng_pt "Portugisisch(pt)"
+${LangFileString} lng_pt_BR "Portugisisch/Brasilien (pt_BR)"
+${LangFileString} lng_ro "Rumänisch (ro)"
+${LangFileString} lng_ru "Russisch (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari-Schrift (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari-Schrift (sd@deva)"
+${LangFileString} lng_sk "Slovakisch (sk)"
+${LangFileString} lng_sl "Slovenisch (sl)"
+${LangFileString} lng_sq "Albanisch (sq)"
+${LangFileString} lng_sr "Serbisch (sr)"
+${LangFileString} lng_sr@latin "Serbisch in lateinischer Schrift (sr@latin)"
+${LangFileString} lng_sv "Schwedisch (sv)"
+${LangFileString} lng_ta "Tamilisch (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thai (th)"
+${LangFileString} lng_tr "Türkisch (tr)"
+${LangFileString} lng_uk "Ukrainisch (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamesisch (vi)"
+${LangFileString} lng_zh_CN "Chinesisch/china (zh_CN)"
+${LangFileString} lng_zh_TW "Chinesisch/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Greek.nsh b/packaging/win32/languages/Greek.nsh
new file mode 100644
index 0000000..2f07e36
--- /dev/null
+++ b/packaging/win32/languages/Greek.nsh
@@ -0,0 +1,55 @@
+;Language: Ελληνικά (1032)
+;By Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32@gmail.com>
+${LangFileString} CaptionDescription "Επεξεργαστής γραφικών κλιμακώσιμων διανυσμάτων ανοικτού κώδικα"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) εκδίδεται με τη γενική άδεια χρήσης (GPL). Η άδεια παρέχεται εδώ μόνο για λόγους πληροφόρησης. $_CLICK"
+${LangFileString} DIFFERENT_USER "Το Inkscape εγκαταστάθηκε από το χρήστη $0.$\r$\nΕάν συνεχίσετε ίσως δεν ολοκληρώσετε με επιτυχία!$\r$\nΠαρακαλώ συνδεθείτε ως $0 και ξαναπροσπαθήστε."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 έχει ήδη εγκατασταθεί. $\nΘέλετε να απεγκαταστήσετε την προηγούμενη έκδοση πριν την εγκατάσταση $(^Name);"
+${LangFileString} OK_CANCEL_DESC "$\n$\nΠατήστε ΕΝΤΑΞΕΙ για συνέχιση ή πατήστε ΑΚΥΡΩΣΗ για εγκατάλειψη."
+${LangFileString} NO_ADMIN "Δεν έχετε δικαιώματα διαχειριστή.$\r$\nΗ εγκατάσταση του Inkscape για όλους τους χρήστες ίσως να μην ολοκληρωθεί με επιτυχία.$\r$\nΑποεπιλέξτε το 'Εγκατάσταση για όλους τους χρήστες'."
+${LangFileString} NOT_SUPPORTED "Το Inkscape δεν τρέχει σε Windows 95/98/ME!$\r$\nΠαρακαλώ ελέγξτε τον επίσημο ιστότοπο για λεπτομερείς πληροφορίες."
+${LangFileString} Full "Πλήρης"
+${LangFileString} Optimal "Βέλτιστη"
+${LangFileString} Minimal "Ελάχιστη"
+${LangFileString} Core "Επεξεργαστής Inkscape SVG (απαιτείται)"
+${LangFileString} CoreDesc "Αρχεία πυρήνα Inkscape και dlls"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (απαιτείται)"
+${LangFileString} GTKFilesDesc "Μια εργαλειοθήκη GUI πολλαπλού λογισμικού, χρησιμοποιείται από το Inkscape"
+${LangFileString} Shortcuts "Συντομεύσεις"
+${LangFileString} ShortcutsDesc "Συντομεύσεις για εκκίνηση του Inkscape"
+${LangFileString} Alluser "Εγκατάσταση για όλους τους χρήστες"
+${LangFileString} AlluserDesc "Εγκατάσταση αυτής της εφαρμογής για οποιονδήποτε χρησιμοποιεί αυτόν τον υπολογιστή (όλοι οι χρήστες)"
+${LangFileString} Desktop "Επιφάνεια εργασίας"
+${LangFileString} DesktopDesc "Δημιουργία μιας συντόμευσης του Inkscape στην επιφάνεια εργασίας"
+${LangFileString} Startmenu "Μενού έναρξης"
+${LangFileString} StartmenuDesc "Δημιουργία εισόδου μενού έναρξης για το Inkscape"
+${LangFileString} Quicklaunch "Γρήγορη εκκίνηση"
+${LangFileString} QuicklaunchDesc "Δημιουργία μιας συντόμευσης του Inkscape στη γραμμή εργαλείων γρήγορης εκκίνησης"
+${LangFileString} SVGWriter "ʼνοιγμα αρχείων SVG με το Inkscape"
+${LangFileString} SVGWriterDesc "Επιλογή του Inkscape ως προεπιλεγμένου επεξεργαστή για αρχεία SVG"
+${LangFileString} ContextMenu "Θεματικό μενού"
+${LangFileString} ContextMenuDesc "Προσθήκη του Inkscape στο θεματικό μενού για αρχεία SVG"
+${LangFileString} DeletePrefs "Διαγραφή προσωπικών προτιμήσεων"
+${LangFileString} DeletePrefsDesc "Διαγραφή προσωπικών προτιμήσεων που απέμειναν από προηγούμενες εγκαταστάσεις"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Πρόσθετα αρχεία"
+${LangFileString} AddfilesDesc "Πρόσθετα αρχεία"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Παραδείγματα"
+${LangFileString} ExamplesDesc "Παραδείγματα χρήσης του Inkscape"
+${LangFileString} Tutorials "Μαθήματα"
+${LangFileString} TutorialsDesc "Μαθήματα χρήσης του Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Μεταφράσεις"
+${LangFileString} LanguagesDesc "Εγκατάσταση ποικίλων μεταφράσεων για το Inkscape"
+${LangFileString} UInstOpt "Επιλογές απεγκατάστασης"
+${LangFileString} UInstOpt1 "Παρακαλώ διαλέξτε για πρόσθετες επιλογές"
+${LangFileString} PurgePrefs "Διατήρηση προσωπικών προτιμήσεων"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log δεν βρέθηκε!$\r$\nΠαρακαλώ απεγκαταστήστε καθαρίζοντας τον κατάλογο $INSTDIR μόνοι σας!"
+${LangFileString} FileChanged "Το αρχείο $filename άλλαξε μετά την εγκατάσταση.$\r$\nΘέλετε ακόμα να διαγράψετε αυτό το αρχείο;"
+${LangFileString} Yes "Ναι"
+${LangFileString} AlwaysYes "απαντήστε πάντα Ναι"
+${LangFileString} No "Όχι"
+${LangFileString} AlwaysNo "απαντήστε πάντα Όχι"
diff --git a/packaging/win32/languages/Greek_languageNames.nsh b/packaging/win32/languages/Greek_languageNames.nsh
new file mode 100644
index 0000000..a125bdb
--- /dev/null
+++ b/packaging/win32/languages/Greek_languageNames.nsh
@@ -0,0 +1,92 @@
+### Greek (el) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Greek.nsh'
+${LangFileString} lng_ar "Αραβικά (ar)"
+${LangFileString} lng_as "Ασαμικά (as)"
+${LangFileString} lng_az "Αζέρικα (az)"
+${LangFileString} lng_be "Λευκορώσικα (be)"
+${LangFileString} lng_bg "Βουλγαρικά (bg)"
+${LangFileString} lng_bn "Μπενγκάλι (bn)"
+${LangFileString} lng_bn_BD "Μπεγκάλι/Μπανγκλαντές (bn_BD)"
+${LangFileString} lng_br "Βρετονικά (br)"
+${LangFileString} lng_brx "Μπόντο (brx)"
+${LangFileString} lng_ca "Καταλανικά (ca)"
+${LangFileString} lng_ca@valencia "Καταλανικά Βαλένθιας (ca@valencia)"
+${LangFileString} lng_cs "Τσέχικα (cs)"
+${LangFileString} lng_da "Δανέζικα (da)"
+${LangFileString} lng_de "Γερμανικά (de)"
+${LangFileString} lng_doi "Ντόγκρι (doi)"
+${LangFileString} lng_dz "Ντζόγκα (dz)"
+${LangFileString} lng_el "Ελληνικά (el)"
+${LangFileString} lng_en "Αγγλικά (Αμερικής)"
+${LangFileString} lng_en_AU "Αγγλικά/Αυστραλία (en_AU)"
+${LangFileString} lng_en_CA "Αγγλικά/Καναδάς (en_CA)"
+${LangFileString} lng_en_GB "Αγγλικά/Μεγάλη Βρετανία (en_GB)"
+${LangFileString} lng_eo "Εσπεράντο (eo)"
+${LangFileString} lng_es "Ισπανικά (es)"
+${LangFileString} lng_es_MX "Ισπανικά/Μέξικο (es_MX)"
+${LangFileString} lng_et "Εσθονικά (et)"
+${LangFileString} lng_eu "Βασκικά (eu)"
+${LangFileString} lng_fa "Φαρσί (fa)"
+${LangFileString} lng_fi "Φινλανδικά (fi)"
+${LangFileString} lng_fr "Γαλλικά (fr)"
+${LangFileString} lng_ga "Ιρλανδική (ga)"
+${LangFileString} lng_gl "Γαλικία (gl)"
+${LangFileString} lng_gu "Γκουαράτι (gu)"
+${LangFileString} lng_he "Εβραϊκά (he)"
+${LangFileString} lng_hi "Χίντι (hi)"
+${LangFileString} lng_hr "Κροατικά (hr)"
+${LangFileString} lng_hu "Ουγγρικά (hu)"
+${LangFileString} lng_hy "Αρμένικα (hy)"
+${LangFileString} lng_id "Ινδονησιακά (id)"
+${LangFileString} lng_is "Ισλανδικά (is)"
+${LangFileString} lng_it "Ιταλικά (it)"
+${LangFileString} lng_ja "Γιαπωνέζικα (ja)"
+${LangFileString} lng_km "Χμερ (km)"
+${LangFileString} lng_kn "Κανάντα (kn)"
+${LangFileString} lng_ko "Κορεάτικα (ko)"
+${LangFileString} lng_kok "Κονκανικά (kok)"
+${LangFileString} lng_kok@latin "Κονκανικά με λατινική γραφή (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Κασμιρικά με γραφή ντεβάνγκαρι (ks@deva)"
+${LangFileString} lng_lt "Λιθουανικά (lt)"
+${LangFileString} lng_lv "Λιθουανικά (lv)"
+${LangFileString} lng_mai "Μαιτίλι (mai)"
+${LangFileString} lng_mk "Μακεδονικά (mk)"
+${LangFileString} lng_ml "Μαγιαλαμικά (ml)"
+${LangFileString} lng_mn "Μογγολικά (mn)"
+${LangFileString} lng_mni "Μανιπουρικά (mni)"
+${LangFileString} lng_mni@beng "Μανιπουρικά με γραφή Βεγγάλης (mni@beng)"
+${LangFileString} lng_mr "Μαραθικά (mr)"
+${LangFileString} lng_nb "Νορβηγικά Bokmål (nb)"
+${LangFileString} lng_ne "Νεπαλικά (ne)"
+${LangFileString} lng_nl "Ολλανδικά (nl)"
+${LangFileString} lng_nn "Νορβηγικά Nynorsk (nn)"
+${LangFileString} lng_or "Όντια (or)"
+${LangFileString} lng_pa "Πουντζάμπι (pa)"
+${LangFileString} lng_pl "Πολωνικά (pl)"
+${LangFileString} lng_pt "Πορτογαλικά (pt)"
+${LangFileString} lng_pt_BR "Πορτογαλικά/Βραζιλίας (pt_BR)"
+${LangFileString} lng_ro "Ρουμανικά (ro)"
+${LangFileString} lng_ru "Ρωσικά (ru)"
+${LangFileString} lng_rw "Κινιαρουάντα (rw)"
+${LangFileString} lng_sa "Σανσκριτικά (sa)"
+${LangFileString} lng_sat "Σανταλικά (sat)"
+${LangFileString} lng_sat@deva "Σανταλικά με γραφή ντεβαναγκάρι (sat@deva)"
+${LangFileString} lng_sd "Σίντι (sd)"
+${LangFileString} lng_sd@deva "Σίντι με γραφή ντεβαναγκάρι (sd@deva)"
+${LangFileString} lng_sk "Σλοβακικά (sk)"
+${LangFileString} lng_sl "Σλοβένικα (sl)"
+${LangFileString} lng_sq "Αλβανικά (sq)"
+${LangFileString} lng_sr "Σερβικά/Λατινικά (sr)"
+${LangFileString} lng_sr@latin "Σερβικά σε λατινική γραφή (sr@latin)"
+${LangFileString} lng_sv "Σουηδικά (sv)"
+${LangFileString} lng_ta "Ταμίλ (ta)"
+${LangFileString} lng_te "Τελούγκου (te)"
+${LangFileString} lng_th "Μπατ Ταϊλάνδης (th)"
+${LangFileString} lng_tr "Τουρκικά (tr)"
+${LangFileString} lng_uk "Ουκρανικά (uk)"
+${LangFileString} lng_ur "Ούρντου (ur)"
+${LangFileString} lng_vi "Βιετναμέζικα (vi)"
+${LangFileString} lng_zh_CN "Κινέζικα/Κίνα (zh_CN)"
+${LangFileString} lng_zh_TW "Κινέζικα/Ταϊβάν (zh_TW)"
diff --git a/packaging/win32/languages/Hebrew.nsh b/packaging/win32/languages/Hebrew.nsh
new file mode 100644
index 0000000..ecc94c3
--- /dev/null
+++ b/packaging/win32/languages/Hebrew.nsh
@@ -0,0 +1,55 @@
+;Language: Hebrew (1037)
+;By Yaron Shahrabani <sh.yaron@gmail.com>
+${LangFileString} CaptionDescription "עורך גרפיקת וקטורים נמתחת בקוד פתוח"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) מופצת תחת תנאי הרישיון הציבורי הכללי של GNU (GPL). הרישיון מסופק כאן לצורכי מידע בלבד. $_CLICK"
+${LangFileString} DIFFERENT_USER "אינקסקייפ הותקנה על־ידי המשתמש $0.$\r$\nאם ההתקנה תימשך יתכן שלא תושלם כראוי!$\r$\nנא להיכנס בתור $0 ולנסות שוב."
+${LangFileString} WANT_UNINSTALL_BEFORE "התכנית $R1 כבר הותקנה. $\nהאם להסיר את הגרסה הקודמת בטרם התקנת $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nיש ללחוץ על אישור כדי להמשיך או על ביטול כדי לצאת."
+${LangFileString} NO_ADMIN "אין לך הרשאות ניהוליות.$\r$\nהתקנת אינקסקייפ לכל המשתמשים לא תושלם כראוי.$\r$\nיש לבטל את הסימון שליד האפשרות 'התקנה לכל המשתמשים'."
+${LangFileString} NOT_SUPPORTED "ידוע כי לאינקסקייפ יש אפשרות לפעול על גבי Windows 95/98/ME!$\r$\nנא להסתכל באתר הרשמי לקבלת פרטים נוספים."
+${LangFileString} Full "מלאה"
+${LangFileString} Optimal "מיטבית"
+${LangFileString} Minimal "מינימלית"
+${LangFileString} Core "עורך ה־SVN אינקסקייפ (נדרש)"
+${LangFileString} CoreDesc "קובצי ליבה ו־dlls של אינקסקייפ"
+${LangFileString} GTKFiles "סביבת ההפעלה GTK+ (נדרשת)"
+${LangFileString} GTKFilesDesc "ערכת מנשק גרפי למגוון פלטפורמות, בשימוש אינקסקייפ"
+${LangFileString} Shortcuts "קיצורי דרך"
+${LangFileString} ShortcutsDesc "קיצורי דרך להפעלת אינקסקייפ"
+${LangFileString} Alluser "התקנה עבור כל המשתמשים"
+${LangFileString} AlluserDesc "התקנת יישום זה לטובת כל מי שמשתמש במחשב (כל המשתמשים)"
+${LangFileString} Desktop "שולחן עבודה"
+${LangFileString} DesktopDesc "יצירת קיצור דרך לאינקסקייפ על שולחן העבודה"
+${LangFileString} Startmenu "תפריט התחלה"
+${LangFileString} StartmenuDesc "יצירת רשומה לאינקסקייפ בתפריט ההתחלה"
+${LangFileString} Quicklaunch "הפעלה מהירה"
+${LangFileString} QuicklaunchDesc "יצירת קיצור דרך לאינקסקייפ בסרגל ההפעלה המהירה"
+${LangFileString} SVGWriter "פתיחת קובצי SVG עם אינקסקייפ"
+${LangFileString} SVGWriterDesc "בחירת אינקסקייפ כעורך בררת המחדל לקובצי SVG"
+${LangFileString} ContextMenu "תפריט הקשר"
+${LangFileString} ContextMenuDesc "הוספת אינקסקייפ לתפריט ההקשר של קובצי SVG"
+${LangFileString} DeletePrefs "מחיקת העדפות אישיות"
+${LangFileString} DeletePrefsDesc "מחיקת שיירי העדפות אישיות מהתקנות קודמות"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "קבצים נוספים"
+${LangFileString} AddfilesDesc "קבצים נוספים"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "דוגמאות"
+${LangFileString} ExamplesDesc "דוגמאות לשימוש באינקסקייפ"
+${LangFileString} Tutorials "מדריכים"
+${LangFileString} TutorialsDesc "מדריכים לשימוש באינקסקייפ"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "תרגומים"
+${LangFileString} LanguagesDesc "התקנת מגוון תרגומים לאינקסקייפ"
+${LangFileString} UInstOpt "אפשרויות הסרה"
+${LangFileString} UInstOpt1 "נא לבחור מהרשימה כדי להשתמש באפשרויות נוספות"
+${LangFileString} PurgePrefs "שמירת ההעדפות האישיות"
+${LangFileString} UninstallLogNotFound "הקובץ $INSTDIR\uninstall.log לא נמצא!$\r$\nנא להסיר על ידי פינוי התיקייה $INSTDIR בעצמך!"
+${LangFileString} FileChanged "הקובץ $filename השתנה לאחר ההתקנה.$\r$\nהאם למחוק את הקובץ בכל זאת?"
+${LangFileString} Yes "כן"
+${LangFileString} AlwaysYes "תמיד לענות כן"
+${LangFileString} No "לא"
+${LangFileString} AlwaysNo "תמיד לענות לא"
diff --git a/packaging/win32/languages/Hebrew_languageNames.nsh b/packaging/win32/languages/Hebrew_languageNames.nsh
new file mode 100644
index 0000000..86eabd8
--- /dev/null
+++ b/packaging/win32/languages/Hebrew_languageNames.nsh
@@ -0,0 +1,92 @@
+### Hebrew (he) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Hebrew.nsh'
+${LangFileString} lng_ar "ערבית (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "אזרבייג׳נית (az)"
+${LangFileString} lng_be "בלרוסית (be)"
+${LangFileString} lng_bg "בולגרית (bg)"
+${LangFileString} lng_bn "בנגאלית (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "ברטון (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "קטלונית (ca)"
+${LangFileString} lng_ca@valencia "קטלונית ולסיאנית (ca@valencia)"
+${LangFileString} lng_cs "צ׳כית (cs)"
+${LangFileString} lng_da "דנית (da)"
+${LangFileString} lng_de "גרמנית (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "דזונקה (dz)"
+${LangFileString} lng_el "יוונית (el)"
+${LangFileString} lng_en "אנגלית (en)"
+${LangFileString} lng_en_AU "אנגלית/אוסטרליה (en_AU)"
+${LangFileString} lng_en_CA "אנגלית/קנדה (en_CA)"
+${LangFileString} lng_en_GB "אנגלית/אנגליה (en_GB)"
+${LangFileString} lng_eo "אספרנטו (eo)"
+${LangFileString} lng_es "ספרדית (es)"
+${LangFileString} lng_es_MX "ספרדית/מקסיקו (es_MX)"
+${LangFileString} lng_et "אסטונית (et)"
+${LangFileString} lng_eu "בסקית (eu)"
+${LangFileString} lng_fa "פרסית (fa)"
+${LangFileString} lng_fi "פינית (fi)"
+${LangFileString} lng_fr "צרפתית (fr)"
+${LangFileString} lng_ga "אירית (ga)"
+${LangFileString} lng_gl "גליסית (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "עברית (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "קרואטית (hr)"
+${LangFileString} lng_hu "הונגרית (hu)"
+${LangFileString} lng_hy "ארמנית (hy)"
+${LangFileString} lng_id "אינדונזית (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "איטלקית (it)"
+${LangFileString} lng_ja "יפנית (ja)"
+${LangFileString} lng_km "ח׳מר (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "קוריאנית (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "ליטאית (lt)"
+${LangFileString} lng_lv "Latvian (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "מקדונית (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "מונגולית (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "נורבגית בוקמול (nb)"
+${LangFileString} lng_ne "נפאלית (ne)"
+${LangFileString} lng_nl "הולנדית (nl)"
+${LangFileString} lng_nn "נורבגית נינורשק (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "פנג׳בית (pa)"
+${LangFileString} lng_pl "פולנית (pl)"
+${LangFileString} lng_pt "פורטוגזית (pt)"
+${LangFileString} lng_pt_BR "פורטוגזית/ברזיל (pt_BR)"
+${LangFileString} lng_ro "רומנית (ro)"
+${LangFileString} lng_ru "רוסית (ru)"
+${LangFileString} lng_rw "קיניארוונדה (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "סלובקית (sk)"
+${LangFileString} lng_sl "סלובנית (sl)"
+${LangFileString} lng_sq "אלבנית (sq)"
+${LangFileString} lng_sr "סרבית (sr)"
+${LangFileString} lng_sr@latin "סרבית בכתב לטיני (sr@latin)"
+${LangFileString} lng_sv "שבדית (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "תאילנדית (th)"
+${LangFileString} lng_tr "טורקית (tr)"
+${LangFileString} lng_uk "אוקראינית (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "וייטנאמית (vi)"
+${LangFileString} lng_zh_CN "סינית/סין (zh_CN)"
+${LangFileString} lng_zh_TW "סינית/טייוואן (zh_TW)"
diff --git a/packaging/win32/languages/Hungarian.nsh b/packaging/win32/languages/Hungarian.nsh
new file mode 100644
index 0000000..caf242e
--- /dev/null
+++ b/packaging/win32/languages/Hungarian.nsh
@@ -0,0 +1,55 @@
+;Language: Hungarian (1038)
+;By Gellért Gyuris <bubu@ujevangelizacio.hu>
+${LangFileString} CaptionDescription "Nyílt méretezhető vektorgrafika szerkesztő"
+${LangFileString} LICENSE_BOTTOM_TEXT "Az $(^Name) a GNU General Public License (GPL) alapján kerül kiadásra. A licenc csupán tájékoztató jelleggel áll itt. $_CLICK"
+${LangFileString} DIFFERENT_USER "Az Inkscape-et eredetileg ez a felhasználó telepítette: $0.$\r$\nFolytatás esetén várhatóan nem lesz sikeres a telepítés.$\r$\nLépjen be ezen felhasználóval és próbálja meg újra a telepítést: $0!"
+${LangFileString} WANT_UNINSTALL_BEFORE "Az $R1 már telepítve van.$\nLegyen eltávolítva az előző verzió az $(^Name) telepítésének megkezdése előtt?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nAz OK gombra kattintva folytatódik, a Mégse gombbal pedig megszakad a telepítési folyamat."
+${LangFileString} NO_ADMIN "Nincsenek rendszergazdai jogai.$\r$\nAz Inkscape telepítése minden felhasználó számára várhatóan nem lesz sikeres$\r$\nTörölje a „Telepítés minden felhasználó számára” opciót!"
+${LangFileString} NOT_SUPPORTED "Az Inkscape-ről közismert, hogy nem fut Windows 95/98/ME rendszereken.$\r$\nEllenőrizze a hivatalos weboldalon a részleteket!"
+${LangFileString} Full "Teljes"
+${LangFileString} Optimal "Optimális"
+${LangFileString} Minimal "Minimális"
+${LangFileString} Core "Inkscape SVG-szerkesztő (szükséges)"
+${LangFileString} CoreDesc "Az Inkscape központi fájljai és DLL-jei"
+${LangFileString} GTKFiles "GTK+ futásidejű környezet (szükséges)"
+${LangFileString} GTKFilesDesc "Az Inkscape által alkalmazott többplatformos grafikus felhasználói felület-eszközkészlet"
+${LangFileString} Shortcuts "Parancsikonok"
+${LangFileString} ShortcutsDesc "Parancsikonok az Inkscape indításához"
+${LangFileString} Alluser "Telepítés minden felhasználó számára"
+${LangFileString} AlluserDesc "A program telepítése a számítógép összes felhasználója számára (minden felhasználó)"
+${LangFileString} Desktop "Asztal"
+${LangFileString} DesktopDesc "Parancsikon létrehozása az asztalon az Inkscape számára"
+${LangFileString} Startmenu "Start menü"
+${LangFileString} StartmenuDesc "Start menü bejegyzés létrehozása az Inkscape számára"
+${LangFileString} Quicklaunch "Gyorsindítás"
+${LangFileString} QuicklaunchDesc "Parancsikon létrehozása az Inkscape számára a gyorsindítás eszköztáron"
+${LangFileString} SVGWriter "SVG-fájlok megnyitása Inkscape-pel"
+${LangFileString} SVGWriterDesc "Az Iskscape kijelölése az SVG-fájlok alapértelmezett szerkesztőjévé"
+${LangFileString} ContextMenu "Helyi menü"
+${LangFileString} ContextMenuDesc "Az Inkscape hozzáadása az SVG-fájlok helyi menüjébe"
+${LangFileString} DeletePrefs "Személyes beállítások törlése"
+${LangFileString} DeletePrefsDesc "Az előző telepítésből megmaradt személyes beállítások törlése"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "Az Inkscape kiterjesztések futtatásához szükséges Python programozási nyelv és Python modulok értelmezője."
+${LangFileString} Addfiles "További fájlok"
+${LangFileString} AddfilesDesc "További fájlok"
+${LangFileString} Extensions "Kiterjesztések"
+${LangFileString} ExtensionsDesc "Kiterjesztések az Inkscape-hez (beleértve több import- és export beépülőt)"
+${LangFileString} Examples "Példák"
+${LangFileString} ExamplesDesc "Példák az Inkscape-ről"
+${LangFileString} Tutorials "Ismertetők"
+${LangFileString} TutorialsDesc "Ismertetők az Inkscape használatáról"
+${LangFileString} Dictionaries "Szótárak"
+${LangFileString} DictionariesDesc "Szótár néhány általános nyelvhez az Inkscape-ben való helyesírás-ellenőrzéshez"
+${LangFileString} Languages "Fordítások"
+${LangFileString} LanguagesDesc "Fordítások és honosított tartalmak az Inkscape-hez"
+${LangFileString} UInstOpt "Eltávolítási beállítások"
+${LangFileString} UInstOpt1 "További beállításokat lehet megadni"
+${LangFileString} PurgePrefs "Személyes beállítások megtartása"
+${LangFileString} UninstallLogNotFound "Nem található: $INSTDIR\uninstall.log.$\r$\nAz eltávolítás a mappa manuális törlésével hajtható csak végre: $INSTDIR."
+${LangFileString} FileChanged "A fájl megváltozott a telepítés óta: $filename.$\r$\nValóban törölhető a fájl?"
+${LangFileString} Yes "OK"
+${LangFileString} AlwaysYes "mindig „igen” a válasz"
+${LangFileString} No "Nem"
+${LangFileString} AlwaysNo "mindig „nem” a válasz"
diff --git a/packaging/win32/languages/Hungarian_languageNames.nsh b/packaging/win32/languages/Hungarian_languageNames.nsh
new file mode 100644
index 0000000..bc3022e
--- /dev/null
+++ b/packaging/win32/languages/Hungarian_languageNames.nsh
@@ -0,0 +1,92 @@
+### Hungarian (hu) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Hungarian.nsh'
+${LangFileString} lng_ar "Arab (ar)"
+${LangFileString} lng_as "Asszámi (as)"
+${LangFileString} lng_az "Azerbajdzsán (az)"
+${LangFileString} lng_be "Belorusz (be)"
+${LangFileString} lng_bg "Bolgár (bg)"
+${LangFileString} lng_bn "Bengáli (bn)"
+${LangFileString} lng_bn_BD "Bengáli/Banglades (bn_BD)"
+${LangFileString} lng_br "Breton (br)"
+${LangFileString} lng_brx "Bodó (brx)"
+${LangFileString} lng_ca "Katalán (ca)"
+${LangFileString} lng_ca@valencia "Valenciai katalán (ca@valencia)"
+${LangFileString} lng_cs "Cseh (cs)"
+${LangFileString} lng_da "Dán (da)"
+${LangFileString} lng_de "Német (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongha (dz)"
+${LangFileString} lng_el "Görög (el)"
+${LangFileString} lng_en "Angol (en)"
+${LangFileString} lng_en_AU "Angol/Ausztrália (en_AU)"
+${LangFileString} lng_en_CA "Angol/Kanada (en_CA)"
+${LangFileString} lng_en_GB "Angol/Nagy-Britannia (en_GB)"
+${LangFileString} lng_eo "Eszperantó (eo)"
+${LangFileString} lng_es "Spanyol (es)"
+${LangFileString} lng_es_MX "Spanyol/Mexikó (es_MX)"
+${LangFileString} lng_et "Észt (et)"
+${LangFileString} lng_eu "Baszk (eu)"
+${LangFileString} lng_fa "Fárszi, perzsa (fa)"
+${LangFileString} lng_fi "Finn (fi)"
+${LangFileString} lng_fr "Francia (fr)"
+${LangFileString} lng_ga "Ír (ga)"
+${LangFileString} lng_gl "Galíciai (gl)"
+${LangFileString} lng_gu "Gudzsaráti (gu)"
+${LangFileString} lng_he "Héber (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Horvát (hr)"
+${LangFileString} lng_hu "Magyar (hu)"
+${LangFileString} lng_hy "Örmény (hy)"
+${LangFileString} lng_id "Indonéz (id)"
+${LangFileString} lng_is "Izlandi (is)"
+${LangFileString} lng_it "Olasz (it)"
+${LangFileString} lng_ja "Japán (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Koreai (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani latin írással (kok@latin)"
+${LangFileString} lng_ks@aran "Kasmír perzsa-arab írással (ks@aran)"
+${LangFileString} lng_ks@deva "Kasmír dévanágari írással (ks@deva)"
+${LangFileString} lng_lt "Litván (lt)"
+${LangFileString} lng_lv "Lett (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedón (mk)"
+${LangFileString} lng_ml "Malajálam (ml)"
+${LangFileString} lng_mn "Mongol (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri bengáli írással (mni@beng)"
+${LangFileString} lng_mr "Maráthi (mr)"
+${LangFileString} lng_nb "Norvég bokmål (nb)"
+${LangFileString} lng_ne "Nepáli (ne)"
+${LangFileString} lng_nl "Holland (nl)"
+${LangFileString} lng_nn "Norvég nynorsk (nn)"
+${LangFileString} lng_or "Orija (or)"
+${LangFileString} lng_pa "Pandzsábi (pa)"
+${LangFileString} lng_pl "Lengyel (pl)"
+${LangFileString} lng_pt "Portugál (pt)"
+${LangFileString} lng_pt_BR "Portugál/Brazília (pt_BR)"
+${LangFileString} lng_ro "Román (ro)"
+${LangFileString} lng_ru "Orosz (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Szanszkrit (sa)"
+${LangFileString} lng_sat "Szantáli (sat)"
+${LangFileString} lng_sat@deva "Szantáli dévanágari írással (sat@deva)"
+${LangFileString} lng_sd "Szindhi (sd)"
+${LangFileString} lng_sd@deva "Szindhi dévanágari írással (sd@deva)"
+${LangFileString} lng_sk "Szlovák (sk)"
+${LangFileString} lng_sl "Szlovén (sl)"
+${LangFileString} lng_sq "Albán (sq)"
+${LangFileString} lng_sr "Szerb (sr)"
+${LangFileString} lng_sr@latin "Szerb - latin írásmóddal (sr@latin)"
+${LangFileString} lng_sv "Svéd (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thai (th)"
+${LangFileString} lng_tr "Török (tr)"
+${LangFileString} lng_uk "Ukrán (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnami (vi)"
+${LangFileString} lng_zh_CN "Kínai/Kína (zh_CN)"
+${LangFileString} lng_zh_TW "Kínai/Tajvan (zh_TW)"
diff --git a/packaging/win32/languages/Icelandic.nsh b/packaging/win32/languages/Icelandic.nsh
new file mode 100644
index 0000000..f5f3bb2
--- /dev/null
+++ b/packaging/win32/languages/Icelandic.nsh
@@ -0,0 +1,56 @@
+;Language: Icelandic (1039)
+;By Adib Taraben <theadib@gmail.com>
+;Translation by Sveinn í Felli <sv1@fellsnet.is>
+${LangFileString} CaptionDescription "Opinð og frjálst teikniforrit fyrir vigramyndir (Scalable Vector Graphics)"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) er gefið út með GNU General Public License (GPL) notkunarleyfinu. Notkunarleyfið er haft hér með eingöngu til upplýsingar. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape hefur þegar verið sett upp af notandanum $0.$\r$\nEf þú heldur áfram gæti verið að uppsetningin heppnaðist ekki!$\r$\nSkráðu þig inn sem $0 og reyndu aftur."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 hefur þegar verið sett upp. $\nViltu fjarlægja fyrri útgáfuna áður en þú setur upp $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nÝttu á 'Í lagi / OK' til að halda áfram eða á 'Hætta við / CANCEL' til að hætta við."
+${LangFileString} NO_ADMIN "Þú ert ekki með kerfisstjóraréttindi.$\r$\nUppsetning Inkscape fyrir alla notendur er ekki líkleg til að heppnast.$\r$\nTaktu hakið úr 'Setja upp fyrir alla notendur' valkostinum."
+${LangFileString} NOT_SUPPORTED "Inkscape keyrir ekki í Windows 95/98/ME!$\r$\nSkoðaðu opinberu heimasíðuna til að sjá ítarlegri upplýsingar."
+${LangFileString} Full "Full"
+${LangFileString} Optimal "Bestuð"
+${LangFileString} Minimal "Lágmarks"
+${LangFileString} Core "Inkscape SVG ritillinn (krafist)"
+${LangFileString} CoreDesc "Kjarni Inkscape skráa og dll aðgerðasöfn"
+${LangFileString} GTKFiles "GTK+ keyrsluumhverfi (krafist)"
+${LangFileString} GTKFilesDesc "Fjölkerfa myndrænt GUI tólasett, notað af Inkscape"
+${LangFileString} Shortcuts "Flýtileiðir"
+${LangFileString} ShortcutsDesc "Flýtileiðir til að ræsa Inkscape"
+${LangFileString} Alluser "Setja upp fyrir alla notendur"
+${LangFileString} AlluserDesc "Setja þetta forrit upp fyrir alla sem nota þessa tölvu (allir notendur)"
+${LangFileString} Desktop "Skjáborð"
+${LangFileString} DesktopDesc "Búa til flýtileið fyrir Inkscape á skjáborðinu (Desktop)"
+${LangFileString} Startmenu "Aðalvalmynd"
+${LangFileString} StartmenuDesc "Búa til færslu í aðalvalmynd (Start Menu) fyrir Inkscape"
+${LangFileString} Quicklaunch "Flýtiræsing"
+${LangFileString} QuicklaunchDesc "Búa til flýtileið fyrir Inkscape á flýtiræsistikunni (Quick Launch)"
+${LangFileString} SVGWriter "Opna SVG skrár með Inkscape"
+${LangFileString} SVGWriterDesc "Velja Inkscape sem sjálfgefið forrit til að vinna með SVG skrár"
+${LangFileString} ContextMenu "Samhengisvalmynd"
+${LangFileString} ContextMenuDesc "Bæta Inkscape inn í samhengisvalmynd (Context Menu) fyrir SVG skrár"
+${LangFileString} DeletePrefs "Eyða persónulegum kjörstillingum"
+${LangFileString} DeletePrefsDesc "Eyða persónulegum kjörstillingum sem hafa orðið eftir frá fyrri uppsetningum"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Viðbótarskrár"
+${LangFileString} AddfilesDesc "Viðbótarskrár"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Sýnidæmi"
+${LangFileString} ExamplesDesc "Sýnidæmi um notkun Inkscape"
+${LangFileString} Tutorials "Kennsluefni"
+${LangFileString} TutorialsDesc "Kennsluefni fyrir notkun Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Þýðingar"
+${LangFileString} LanguagesDesc "Setja inn ýmsar þýðingar á Inkscape"
+${LangFileString} UInstOpt "Valkostir við fjarlægingu"
+${LangFileString} UInstOpt1 "Ákveddu hvað þú vilt gera fyrir þessa aukavalkosti"
+${LangFileString} PurgePrefs "Halda persónulegum kjörstillingum"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log fannst ekki!$\r$\nFjarlægðu forritið með því að hreinsa út úr möppunni $INSTDIR yourself!"
+${LangFileString} FileChanged "Skráin $filename hefur breyst eftir uppsetningu.$\r$\nViltu samt eyða þessari skrá?"
+${LangFileString} Yes "Já"
+${LangFileString} AlwaysYes "alltaf svara Já"
+${LangFileString} No "Nei"
+${LangFileString} AlwaysNo "alltaf svara Nei"
diff --git a/packaging/win32/languages/Icelandic_languageNames.nsh b/packaging/win32/languages/Icelandic_languageNames.nsh
new file mode 100644
index 0000000..2fc25d4
--- /dev/null
+++ b/packaging/win32/languages/Icelandic_languageNames.nsh
@@ -0,0 +1,92 @@
+### Icelandic (is) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Icelandic.nsh'
+${LangFileString} lng_ar "Arabíska (ar)"
+${LangFileString} lng_as "Assamíska (as)"
+${LangFileString} lng_az "Azerbaijanska (az)"
+${LangFileString} lng_be "Hvítrússneska (be)"
+${LangFileString} lng_bg "Búlgarska (bg)"
+${LangFileString} lng_bn "Bengalska (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Bretónska (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Katalónska (ca)"
+${LangFileString} lng_ca@valencia "Valensísk-katalónska (ca@valencia)"
+${LangFileString} lng_cs "Tékkneska (cs)"
+${LangFileString} lng_da "Danska (da)"
+${LangFileString} lng_de "Þýska (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Gríska (el)"
+${LangFileString} lng_en "Enska (en)"
+${LangFileString} lng_en_AU "Enska/Ástralía (en_AU)"
+${LangFileString} lng_en_CA "Enska/Kanada (en_CA)"
+${LangFileString} lng_en_GB "Enska/Stóra Bretland (en_GB)"
+${LangFileString} lng_eo "Esperantó (eo)"
+${LangFileString} lng_es "Spænska (es)"
+${LangFileString} lng_es_MX "Spænska/Mexíkó (es_MX)"
+${LangFileString} lng_et "Eistneska (et)"
+${LangFileString} lng_eu "Baskneska (eu)"
+${LangFileString} lng_fa "Farsí (fa)"
+${LangFileString} lng_fi "Finnska (fi)"
+${LangFileString} lng_fr "Franska (fr)"
+${LangFileString} lng_ga "Írska (ga)"
+${LangFileString} lng_gl "Galisíska (gl)"
+${LangFileString} lng_gu "Gújaratí (gu)"
+${LangFileString} lng_he "Hebreska (he)"
+${LangFileString} lng_hi "Hindí (hi)"
+${LangFileString} lng_hr "Króatíska (hr)"
+${LangFileString} lng_hu "Ungverska (hu)"
+${LangFileString} lng_hy "Armenska (hy)"
+${LangFileString} lng_id "Indónesíska (id)"
+${LangFileString} lng_is "Íslenska (is)"
+${LangFileString} lng_it "Ítalska (it)"
+${LangFileString} lng_ja "Japanska (ja)"
+${LangFileString} lng_km "Khmeríska (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Kóreska (ko)"
+${LangFileString} lng_kok "Konkaní (kok)"
+${LangFileString} lng_kok@latin "Konkaní með latneskt letur (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmírska með Peso-Arabísku letri (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmírska með Devanagarí letur (ks@deva)"
+${LangFileString} lng_lt "Litháíska (lt)"
+${LangFileString} lng_lv "Lettlenska (lv)"
+${LangFileString} lng_mai "Maithilí (mai)"
+${LangFileString} lng_mk "Makedónska (mk)"
+${LangFileString} lng_ml "Malaíalam (ml)"
+${LangFileString} lng_mn "Mongólska (mn)"
+${LangFileString} lng_mni "Manipurí (mni)"
+${LangFileString} lng_mni@beng "Manipurí með Bengalí letri (mni@beng)"
+${LangFileString} lng_mr "Marathí (mr)"
+${LangFileString} lng_nb "Norskt bókmál (nb)"
+${LangFileString} lng_ne "Nepalska (ne)"
+${LangFileString} lng_nl "Hollenska (nl)"
+${LangFileString} lng_nn "Nýnorska (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Pólska (pl)"
+${LangFileString} lng_pt "Portúgalska (pt)"
+${LangFileString} lng_pt_BR "Portúgalska/Brasilía (pt_BR)"
+${LangFileString} lng_ro "Rúmenska (ro)"
+${LangFileString} lng_ru "Rússneska (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrít (sa)"
+${LangFileString} lng_sat "Santalí (sat)"
+${LangFileString} lng_sat@deva "Santalí með Devanagarí letur (sd@deva)"
+${LangFileString} lng_sd "Shindí (sd)"
+${LangFileString} lng_sd@deva "Sindhí með Devanagarí letur (sd@deva)"
+${LangFileString} lng_sk "Slóvakíska (sk)"
+${LangFileString} lng_sl "Slóvenska (sl)"
+${LangFileString} lng_sq "Albanska (sq)"
+${LangFileString} lng_sr "Serbneska (sr)"
+${LangFileString} lng_sr@latin "Serbneska með latneskt letur (sr@latin)"
+${LangFileString} lng_sv "Sænska (sv)"
+${LangFileString} lng_ta "Tamílska (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Tælenska (th)"
+${LangFileString} lng_tr "Tyrkneska (tr)"
+${LangFileString} lng_uk "Úkraínska (uk)"
+${LangFileString} lng_ur "Úrdú (ur)"
+${LangFileString} lng_vi "Víetnamska (vi)"
+${LangFileString} lng_zh_CN "Kínverska/Kína (zh_CN)"
+${LangFileString} lng_zh_TW "Kínverska/Taívan (zh_TW)"
diff --git a/packaging/win32/languages/Indonesian.nsh b/packaging/win32/languages/Indonesian.nsh
new file mode 100644
index 0000000..55f577d
--- /dev/null
+++ b/packaging/win32/languages/Indonesian.nsh
@@ -0,0 +1,55 @@
+;Language: English (1033)
+;By Adib Taraben <theadib@gmail.com>
+${LangFileString} CaptionDescription "Open Source Scalable Vector Graphics Editor"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) dilepas dibawah GNU General Public License (GPL). Lisensi ditampilkan disini hanya untuk keperluan informasi saja. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape telah dipasang oleh pengguna $0.$\r$\nIf jika anda melanjutkan, ada kemungkinan anda tidak bisa memasangnya dengan sukses!$\r$\nSilahkan masuk sebagai $0 dan mencoba lagi."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 sudah terpasang. $\nApakah anda ingin melepas versi sebelumnya sebelum memasang $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nTekan OK untuk melanjutkan atau tekan CANCEL untuk membatalkan."
+${LangFileString} NO_ADMIN "Anda tidak memiliki hak Administrator.$\r$\nMemasang Inkscape untuk semua pengguna kemungkinan tidak berhasil.$\r$\nLepas centang pada pilihan 'Pasang untuk semua pengguna'."
+${LangFileString} NOT_SUPPORTED "Inkscape tidak bisa dijalankan pada Windows 95/98/ME!$\r$\nSilahkan lihat situs resmi untuk informasi lebih detail."
+${LangFileString} Full "Full"
+${LangFileString} Optimal "Optimal"
+${LangFileString} Minimal "Minimal"
+${LangFileString} Core "Editor SVG Inkscape (dibutuhkan)"
+${LangFileString} CoreDesc "Berkas inti Inkscape dan dllnya"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (dibutuhkan)"
+${LangFileString} GTKFilesDesc "GUI toolkit multi-platform, digunakan oleh Inkscape"
+${LangFileString} Shortcuts "Shortcut"
+${LangFileString} ShortcutsDesc "Shortcut untuk memulai Inkscape"
+${LangFileString} Alluser "Pasang untuk semua pengguna"
+${LangFileString} AlluserDesc "Pasang aplikasi ini untuk semua pengguna komputer ini"
+${LangFileString} Desktop "Desktop"
+${LangFileString} DesktopDesc "Buat shortcut Inkscape di Desktop"
+${LangFileString} Startmenu "Start Menu"
+${LangFileString} StartmenuDesc "Buat pilihan Start Menu untuk Inkscape"
+${LangFileString} Quicklaunch "Quick Launch"
+${LangFileString} QuicklaunchDesc "Buat shortcut Inkscape di toolbar Quick Launch"
+${LangFileString} SVGWriter "Buka berkas SVG menggunakan Inkscape"
+${LangFileString} SVGWriterDesc "Pilih Inkscape sebagai editor utama berkas SVG"
+${LangFileString} ContextMenu "Context Menu"
+${LangFileString} ContextMenuDesc "Tambahkan Inkscape kedalam Context Menu untuk berkas SVG"
+${LangFileString} DeletePrefs "Hapus preferensi personal"
+${LangFileString} DeletePrefsDesc "Hapus preferensi personal dari pemasangan sebelumnya"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Berkas-berkas tambahan"
+${LangFileString} AddfilesDesc "Berkas-berkas tambahan"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Contoh"
+${LangFileString} ExamplesDesc "Contoh menggunakan Inkscape"
+${LangFileString} Tutorials "Tutorial"
+${LangFileString} TutorialsDesc "Tutorials menggunakan Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Terjemahan"
+${LangFileString} LanguagesDesc "Pasang macam-macam terjemahan untuk Inkscape"
+${LangFileString} UInstOpt "Pilihan Pelepasan"
+${LangFileString} UInstOpt1 "Silahkan pilih pilihan tambahan"
+${LangFileString} PurgePrefs "Simpal preferensi personal"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log tidak ditemukan!$\r$\nSilahkan melepas dengan menghapus direktori $INSTDIR!"
+${LangFileString} FileChanged "Berkas $filename telah berubah setelah pemasangan.$\r$\nApa anda masih ingin menghapus berkas tersebut?"
+${LangFileString} Yes "Ya"
+${LangFileString} AlwaysYes "selalu pilih Ya"
+${LangFileString} No "Tidak"
+${LangFileString} AlwaysNo "selalu pilih Tidak"
diff --git a/packaging/win32/languages/Indonesian_languageNames.nsh b/packaging/win32/languages/Indonesian_languageNames.nsh
new file mode 100644
index 0000000..045b09b
--- /dev/null
+++ b/packaging/win32/languages/Indonesian_languageNames.nsh
@@ -0,0 +1,92 @@
+### Indonesian (id) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Indonesian.nsh'
+${LangFileString} lng_ar "Arab (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Azerbaijan (az)"
+${LangFileString} lng_be "Belarusia (be)"
+${LangFileString} lng_bg "Bulgaria (bg)"
+${LangFileString} lng_bn "Bengali (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Breton (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Katalan (ca)"
+${LangFileString} lng_ca@valencia "Katalan Valensia (ca@valencia)"
+${LangFileString} lng_cs "Ceko (cs)"
+${LangFileString} lng_da "Denmark (da)"
+${LangFileString} lng_de "Jerman (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Yunani (el)"
+${LangFileString} lng_en "Inggris (en)"
+${LangFileString} lng_en_AU "Inggris/Australia (en_AU)"
+${LangFileString} lng_en_CA "Inggris/Kanada (en_CA)"
+${LangFileString} lng_en_GB "Inggris/Inggris Raya (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Spanyol (es)"
+${LangFileString} lng_es_MX "Spanyol/Meksiko (es_MX)"
+${LangFileString} lng_et "Estonia (et)"
+${LangFileString} lng_eu "Basque (eu)"
+${LangFileString} lng_fa "Persia (fa)"
+${LangFileString} lng_fi "Finlandia (fi)"
+${LangFileString} lng_fr "Perancis (fr)"
+${LangFileString} lng_ga "Irlandia (ga)"
+${LangFileString} lng_gl "Galisia (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Ibrani (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Kroasia (hr)"
+${LangFileString} lng_hu "Hungaria (hu)"
+${LangFileString} lng_hy "Armenia (hy)"
+${LangFileString} lng_id "Indonesia (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "Italia (it)"
+${LangFileString} lng_ja "Jepang (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Korea (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Lituania (lt)"
+${LangFileString} lng_lv "Latvian (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Makedonia (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolia (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norwegia Bokmål (nb)"
+${LangFileString} lng_ne "Nepal (ne)"
+${LangFileString} lng_nl "Belanda (nl)"
+${LangFileString} lng_nn "Norwegia Ninorski (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polandia (pl)"
+${LangFileString} lng_pt "Portugis (pt)"
+${LangFileString} lng_pt_BR "Portugis/Brasil (pt_BR)"
+${LangFileString} lng_ro "Rumania (ro)"
+${LangFileString} lng_ru "Rusia (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "Slovakia (sk)"
+${LangFileString} lng_sl "Slovenia (sl)"
+${LangFileString} lng_sq "Albania (sq)"
+${LangFileString} lng_sr "Serbia (sr)"
+${LangFileString} lng_sr@latin "Serbia dengan skrip Latin (sr@latin)"
+${LangFileString} lng_sv "Swedia (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thai (th)"
+${LangFileString} lng_tr "Turki (tr)"
+${LangFileString} lng_uk "Ukraina (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnam (vi)"
+${LangFileString} lng_zh_CN "Cina/Cina (zh_CN)"
+${LangFileString} lng_zh_TW "Cina/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Italian.nsh b/packaging/win32/languages/Italian.nsh
new file mode 100644
index 0000000..9a38f8b
--- /dev/null
+++ b/packaging/win32/languages/Italian.nsh
@@ -0,0 +1,55 @@
+;Language: Italian (1040)
+;By Emanuele Mandola earween@gmail.com
+${LangFileString} CaptionDescription "Editor di grafica vettoriale Open Source"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) è rilasciato sotto GNU General Public License (GPL). La licenza è fornita solo a scopo informativo. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape è stato installato dall'utente $0. Potrebbe non essere possibile portare a termine l'installazione. Accedere come $0 e riprovare."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 è già stata installata. $\nRimuovere la versione precedente prima di installare $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPremere OK per continuare o Annulla per uscire."
+${LangFileString} NO_ADMIN "Non si posseggono i diritti di amministratore. Potrebbe non essere possibile installare Inkscape per tutti gli utenti. Non selezionare l'opzione 'Per Tutti Gli Utenti'"
+${LangFileString} NOT_SUPPORTED "Inkscape non è compatibile con i sistemi operativi Windows 95/98/ME!\n\nPer ulteriori informazioni consultare il sito ufficiale."
+${LangFileString} Full "Completa"
+${LangFileString} Optimal "Consigliata"
+${LangFileString} Minimal "Minima"
+${LangFileString} Core "Inkscape SVG Editor (richiesto)"
+${LangFileString} CoreDesc "Core Inkscape file e dll"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (richiesto)"
+${LangFileString} GTKFilesDesc "Librerie grafiche multipiattaforma, usate da Inkscape"
+${LangFileString} Shortcuts "Collegamenti"
+${LangFileString} ShortcutsDesc "Collegamenti per l'avvio Inkscape"
+${LangFileString} Alluser "Per tutti gli utenti"
+${LangFileString} AlluserDesc "Installa questa applicazione per tutti coloro che usano questo computer (tutti gli utenti)"
+${LangFileString} Desktop "Desktop"
+${LangFileString} DesktopDesc "Crea un collegamento a Inkscape sul Desktop"
+${LangFileString} Startmenu "Start Menu"
+${LangFileString} StartmenuDesc "Crea una cartella in Start Menu per Inkscape"
+${LangFileString} Quicklaunch "Avvio Rapido"
+${LangFileString} QuicklaunchDesc "Crea un collegamento a Inkscape nella barra di Avvio Rapido"
+${LangFileString} SVGWriter "Apre i file SVG con Inkscape"
+${LangFileString} SVGWriterDesc "Imposta Inkscape come editor predefinito per i file SVG"
+${LangFileString} ContextMenu "Menu Contestuale"
+${LangFileString} ContextMenuDesc "Aggiunge Inkscape nel Menu Contestuale per i file SVG"
+${LangFileString} DeletePrefs "Rimuovere impostazioni personali"
+${LangFileString} DeletePrefsDesc "Rimuove le impostazioni personali lasciate da installazioni precedenti"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "Un interprete per il linguaggio Python e i moduli Python necessari per eseguire le estensioni di Inkscape"
+${LangFileString} Addfiles "File Aggiuntivi"
+${LangFileString} AddfilesDesc "File Aggiuntivi"
+${LangFileString} Extensions "Estensioni"
+${LangFileString} ExtensionsDesc "Estensioni di Inkscape (tra cui vari plugin di importazione ed esportazione)"
+${LangFileString} Examples "Esempi"
+${LangFileString} ExamplesDesc "Esempi d'uso di Inkscape"
+${LangFileString} Tutorials "Tutorial"
+${LangFileString} TutorialsDesc "Tutorial per l'uso di Inkscape"
+${LangFileString} Dictionaries "Dizionari"
+${LangFileString} DictionariesDesc "Dizionari di varie lingue utilizzati per il controllo ortografico in Inkscape"
+${LangFileString} Languages "Traduzioni"
+${LangFileString} LanguagesDesc "Installa altre traduzioni per Inkscape"
+${LangFileString} UInstOpt "Opzioni di Disinstallazione"
+${LangFileString} UInstOpt1 "Scegli ulteriori Opzioni"
+${LangFileString} PurgePrefs "Mantieni le Impostazioni personali"
+${LangFileString} UninstallLogNotFound "Impossibile trovare $INSTDIR\uninstall.log !$\r$\nPer continuare la rimozione, cancellare la cartella $INSTDIR a mano."
+${LangFileString} FileChanged "Il file $filename è stato modificato rispetto all'ultima installazione.$\r$\nRimuoverlo comunque?"
+${LangFileString} Yes "Sì"
+${LangFileString} AlwaysYes "rispondere sempre Sì"
+${LangFileString} No "No"
+${LangFileString} AlwaysNo "rispondere sempre No"
diff --git a/packaging/win32/languages/Italian_languageNames.nsh b/packaging/win32/languages/Italian_languageNames.nsh
new file mode 100644
index 0000000..1669420
--- /dev/null
+++ b/packaging/win32/languages/Italian_languageNames.nsh
@@ -0,0 +1,92 @@
+### Italian (it) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Italian.nsh'
+${LangFileString} lng_ar "Arabo (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Azero (az)"
+${LangFileString} lng_be "Bielorusso (be)"
+${LangFileString} lng_bg "Bulgaro (bg)"
+${LangFileString} lng_bn "Bengalese (bn)"
+${LangFileString} lng_bn_BD "Bengalese/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Bretone (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalano (ca)"
+${LangFileString} lng_ca@valencia "Catalano Valenziano (ca@valencia)"
+${LangFileString} lng_cs "Ceco (cs)"
+${LangFileString} lng_da "Danese (da)"
+${LangFileString} lng_de "Tedesco (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Greco (el)"
+${LangFileString} lng_en "Inglese (en)"
+${LangFileString} lng_en_AU "Inglese/Australia (en_AU)"
+${LangFileString} lng_en_CA "Inglese/Canada (en_CA)"
+${LangFileString} lng_en_GB "Inglese/Gran Bretagna (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Spagnolo (es)"
+${LangFileString} lng_es_MX "Spagnolo/Messicano (es_MX)"
+${LangFileString} lng_et "Estone (et)"
+${LangFileString} lng_eu "Basco (eu)"
+${LangFileString} lng_fa "Persiano (fa)"
+${LangFileString} lng_fi "Finlandese (fi)"
+${LangFileString} lng_fr "Francese (fr)"
+${LangFileString} lng_ga "Irlandese (ga)"
+${LangFileString} lng_gl "Galiziona (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Ebreo (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croato (hr)"
+${LangFileString} lng_hu "Ungherese (hu)"
+${LangFileString} lng_hy "Armeno (hy)"
+${LangFileString} lng_id "Indonesiano (id)"
+${LangFileString} lng_is "Islandese (is)"
+${LangFileString} lng_it "Italiano (it)"
+${LangFileString} lng_ja "Giapponese (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Koreano (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in caratteri latini (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in caratteri devanagari (ks@deva)"
+${LangFileString} lng_lt "Lituano (lt)"
+${LangFileString} lng_lv "Lettone (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedone (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolo (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in caratteri bengalesi (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norvegese Bokmål (nb)"
+${LangFileString} lng_ne "Nepalese (ne)"
+${LangFileString} lng_nl "Olandese (nl)"
+${LangFileString} lng_nn "Norvegese Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polacco (pl)"
+${LangFileString} lng_pt "Portoghese (pt)"
+${LangFileString} lng_pt_BR "Portoghese/Brasiliano (pt_BR)"
+${LangFileString} lng_ro "Rumeno (ro)"
+${LangFileString} lng_ru "Russo (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanscrito (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in caratteri devanagari (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in caratteri devanagari (sd@deva)"
+${LangFileString} lng_sk "Slovacco (sk)"
+${LangFileString} lng_sl "Sloveno (sl)"
+${LangFileString} lng_sq "Albanese (sq)"
+${LangFileString} lng_sr "Serbo (sr)"
+${LangFileString} lng_sr@latin "Serbo in caratteri latini (sr@latin)"
+${LangFileString} lng_sv "Svedese (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Tailandese (th)"
+${LangFileString} lng_tr "Turco (tr)"
+${LangFileString} lng_uk "Ucraino (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamita (vi)"
+${LangFileString} lng_zh_CN "Cinese/Cina (zh_CN)"
+${LangFileString} lng_zh_TW "Cinese/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Japanese.nsh b/packaging/win32/languages/Japanese.nsh
new file mode 100644
index 0000000..0c8f28a
--- /dev/null
+++ b/packaging/win32/languages/Japanese.nsh
@@ -0,0 +1,55 @@
+;Language: Japanese (1041)
+;By Kenji Inoue <kenz@oct.zaq.ne.jp>, Masato Hashimoto <cabezon.hashimoto@gmail.com>
+${LangFileString} CaptionDescription "Open Source Scalable Vector Graphics Editor"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) は GNU General Public License (GPL) の下でリリースされます。参考に当該ライセンスをここに表示します。$_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape はユーザー $0 によってインストールされています。$\r$\nこのまま続けると正常に完了しないかもしれません。$\r$\n$0 でログインしてから再度試みてください。"
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 は既にインストールされています。$\n$(^Name) をインストールする前に以前のバージョンを削除しますか?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nOK を押して継続するか CANCEL を押して中止してください。"
+${LangFileString} NO_ADMIN "管理者権限がありません。$\r$\nすべてのユーザーに対する Inkscape のインストールは正常に完了しないかもしれません。$\r$\n'すべてのユーザー' オプションのチェックマークを外してください。"
+${LangFileString} NOT_SUPPORTED "Inkscape は Windows 95/98/ME 上では動作しません!$\r$\n詳しくはオフィシャルウェブサイトをご覧ください。"
+${LangFileString} Full "完全"
+${LangFileString} Optimal "最適"
+${LangFileString} Minimal "最小"
+${LangFileString} Core "Inkscape SVG Editor (必須)"
+${LangFileString} CoreDesc "Inkscape のコアファイルとDLL"
+${LangFileString} GTKFiles "GTK+ ランタイム環境 (必須)"
+${LangFileString} GTKFilesDesc "マルチプラットフォーム対応 GUI ツールキット (Inkscape が使用)"
+${LangFileString} Shortcuts "ショートカット"
+${LangFileString} ShortcutsDesc "Inkscape を開始するためのショートカット"
+${LangFileString} Alluser "すべてのユーザー"
+${LangFileString} AlluserDesc "このコンピューターを使うすべての人にこのアプリケーションをインストール (すべてのユーザー)"
+${LangFileString} Desktop "デスクトップ"
+${LangFileString} DesktopDesc "Inkscape へのショートカットをデスクトップに作成"
+${LangFileString} Startmenu "スタートメニュー"
+${LangFileString} StartmenuDesc "スタートメニューに Inkscape の項目を作成"
+${LangFileString} Quicklaunch "クイック起動"
+${LangFileString} QuicklaunchDesc "Inkscape へのショートカットをクイック起動ツールバーに作成"
+${LangFileString} SVGWriter "SVG ファイルを Inkscape で開く"
+${LangFileString} SVGWriterDesc "SVG ファイルの標準エディターに Inkscape を設定"
+${LangFileString} ContextMenu "コンテキストメニュー"
+${LangFileString} ContextMenuDesc "SVG ファイルのコンテキストメニューに Inkscape を追加"
+${LangFileString} DeletePrefs "個人設定を削除"
+${LangFileString} DeletePrefsDesc "以前のインストール時から引き継いだ個人設定を削除"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "追加ファイル"
+${LangFileString} AddfilesDesc "追加ファイル"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "サンプルファイル"
+${LangFileString} ExamplesDesc "Inkscape のサンプルファイル"
+${LangFileString} Tutorials "チュートリアル"
+${LangFileString} TutorialsDesc "Inkscape のチュートリアル"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "言語"
+${LangFileString} LanguagesDesc "Inkscape のさまざまな言語ファイルをインストール"
+${LangFileString} UInstOpt "アンインストールオプション"
+${LangFileString} UInstOpt1 "必要であれば以下のオプションを選択してください"
+${LangFileString} PurgePrefs "個人設定を残す"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log が見つかりません!$\r$\nディレクトリ $INSTDIR を手動で削除してアンインストールしてください!"
+${LangFileString} FileChanged "ファイル $filename はインストール後に変更されています。$\r$\nこのファイルを削除しますか?"
+${LangFileString} Yes "はい"
+${LangFileString} AlwaysYes "すべてはい"
+${LangFileString} No "いいえ"
+${LangFileString} AlwaysNo "すべていいえ"
diff --git a/packaging/win32/languages/Japanese_languageNames.nsh b/packaging/win32/languages/Japanese_languageNames.nsh
new file mode 100644
index 0000000..0c0e3f4
--- /dev/null
+++ b/packaging/win32/languages/Japanese_languageNames.nsh
@@ -0,0 +1,92 @@
+### Japanese (ja) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Japanese.nsh'
+${LangFileString} lng_ar "アラビア語 (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "アゼルバイジャン語 (az)"
+${LangFileString} lng_be "ベラルーシ語 (be)"
+${LangFileString} lng_bg "ブルガリア語 (bg)"
+${LangFileString} lng_bn "ベンガル語 (bn)"
+${LangFileString} lng_bn_BD "ベンガル語/バングラデシュ (bn_BD)"
+${LangFileString} lng_br "ブルトン語 (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "カタルーニャ語 (ca)"
+${LangFileString} lng_ca@valencia "バレンシア語 (ca@valencia)"
+${LangFileString} lng_cs "チェコ語 (cs)"
+${LangFileString} lng_da "デンマーク語 (da)"
+${LangFileString} lng_de "ドイツ語 (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "ゾンカ語 (dz)"
+${LangFileString} lng_el "ギリシャ語 (el)"
+${LangFileString} lng_en "英語 (en)"
+${LangFileString} lng_en_AU "英語/オーストラリア (en_AU)"
+${LangFileString} lng_en_CA "英語/カナダ (en_CA)"
+${LangFileString} lng_en_GB "英語/イギリス (en_GB)"
+${LangFileString} lng_eo "エスペラント語 (eo)"
+${LangFileString} lng_es "スペイン語 (es)"
+${LangFileString} lng_es_MX "スペイン語/メキシコ (es_MX)"
+${LangFileString} lng_et "エストニア語 (et)"
+${LangFileString} lng_eu "バスク語 (eu)"
+${LangFileString} lng_fa "ファルシ語 (fa)"
+${LangFileString} lng_fi "フィンランド語 (fi)"
+${LangFileString} lng_fr "フランス語 (fr)"
+${LangFileString} lng_ga "アイルランド語 (ga)"
+${LangFileString} lng_gl "ガリシア語 (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "ヘブライ語 (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "クロアチア語 (hr)"
+${LangFileString} lng_hu "ハンガリー語 (hu)"
+${LangFileString} lng_hy "アルメニア語 (hy)"
+${LangFileString} lng_id "インドネシア語 (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "イタリア語 (it)"
+${LangFileString} lng_ja "日本語 (ja)"
+${LangFileString} lng_km "クメール語 (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "韓国語 (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "リトアニア語 (lt)"
+${LangFileString} lng_lv "ラトビア語 (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "マケドニア語 (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "モンゴル語 (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "ノルウェー語ブークモール (nb)"
+${LangFileString} lng_ne "ネパール語 (ne)"
+${LangFileString} lng_nl "オランダ語 (nl)"
+${LangFileString} lng_nn "ノルウェー語ニーノシュク (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "パンジャブ語 (pa)"
+${LangFileString} lng_pl "ポーランド語 (pl)"
+${LangFileString} lng_pt "ポルトガル語 (pt)"
+${LangFileString} lng_pt_BR "ポルトガル語/ブラジル (pt_BR)"
+${LangFileString} lng_ro "ルーマニア語 (ro)"
+${LangFileString} lng_ru "ロシア語 (ru)"
+${LangFileString} lng_rw "キニヤルワンダ語 (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "スロバキア語 (sk)"
+${LangFileString} lng_sl "スロベニア語 (sl)"
+${LangFileString} lng_sq "アルバニア語 (sq)"
+${LangFileString} lng_sr "セルビア語 (sr)"
+${LangFileString} lng_sr@latin "セルビア語ラテン文字 (sr@latin)"
+${LangFileString} lng_sv "スウェーデン語 (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "タイ語 (th)"
+${LangFileString} lng_tr "トルコ語 (tr)"
+${LangFileString} lng_uk "ウクライナ語 (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "ベトナム語 (vi)"
+${LangFileString} lng_zh_CN "中国語/中国 (zh_CN)"
+${LangFileString} lng_zh_TW "中国語/台湾 (zh_TW)"
diff --git a/packaging/win32/languages/Korean.nsh b/packaging/win32/languages/Korean.nsh
new file mode 100644
index 0000000..72eff6d
--- /dev/null
+++ b/packaging/win32/languages/Korean.nsh
@@ -0,0 +1,55 @@
+;Language: Korean (1042)
+;By Sensu Iun <cieltero@gmail.com>
+${LangFileString} CaptionDescription "오픈 소스 SVG(스케일러블 벡터 그래픽) 편집기"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name)은 GNU 일반 공중 라이선스(GPL)로 릴리스됩니다. 여기에 표시된 라이선스는 참고용으로만 제공될 뿐입니다. $_CLICK"
+${LangFileString} DIFFERENT_USER "잉크스케이프가 사용자 $0 에 의해 설치되었습니다.$\r$\n이대로 계속하면 정상적으로 완료되지 않을 수도 있습니다!$\r$\n $0 (으)로 로그인 하고 다시 시도해 주십시오."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 이(가) 이미 설치되었습니다. $\n$(^Name) 을(를) 설치하기 전에 이전 버전을 제거할까요?"
+${LangFileString} OK_CANCEL_DESC "$\n$\n계속하려면 [확인]을, 중단하려면 [취소]를 누르십시오."
+${LangFileString} NO_ADMIN "관리자 권한이 없습니다.$\r$\n잉크스케이프를 모든 사용자용으로 설치하기가 정상적으로 완료되지 않을 수 있습니다.$\r$\n‘모든 사용자용으로 설치’ 옵션을 체크 해제 하십시오."
+${LangFileString} NOT_SUPPORTED "잉크스케이프는 Windows 95/98/ME에서는 실행되지 않는 것으로 알려져 있습니다!$\r$\n자세한 정보는 공식 웹사이트에서 확인하십시오."
+${LangFileString} Full "전부"
+${LangFileString} Optimal "최적"
+${LangFileString} Minimal "최소"
+${LangFileString} Core "잉크스케이프 SVG 편집기 (필수)"
+${LangFileString} CoreDesc "잉크스케이프 핵심 파일들과 DLL들"
+${LangFileString} GTKFiles "GTK+ 런타임 환경 (필수)"
+${LangFileString} GTKFilesDesc "다중-플랫폼 GUI 툴킷 (잉크스케이프가 사용함)"
+${LangFileString} Shortcuts "바로 가기"
+${LangFileString} ShortcutsDesc "잉크스케이프 시작 바로 가기"
+${LangFileString} Alluser "모든 사용자용으로 설치"
+${LangFileString} AlluserDesc "이 컴퓨터를 사용하는 모든 사용자를 위해 이 애플리케이션을 설치 (모든 사용자)"
+${LangFileString} Desktop "바탕 화면"
+${LangFileString} DesktopDesc "잉크스케이프 바로 가기를 바탕 화면에 작성"
+${LangFileString} Startmenu "시작 메뉴"
+${LangFileString} StartmenuDesc "시작 메뉴에 잉크스케이프용 항목 작성"
+${LangFileString} Quicklaunch "빠른 실행"
+${LangFileString} QuicklaunchDesc "빠른 실행 도구바에 잉크스케이프 바로 가기 작성"
+${LangFileString} SVGWriter "SVG 파일을 잉크스케이프로 열기"
+${LangFileString} SVGWriterDesc "잉크스케이프를 SVG 파일용 기본 편집기로 선택"
+${LangFileString} ContextMenu "문맥 메뉴"
+${LangFileString} ContextMenuDesc "잉크스케이프를 SVG 파일용 문맥 메뉴에 추가"
+${LangFileString} DeletePrefs "사용자 기본 설정 삭제"
+${LangFileString} DeletePrefsDesc "이전의 설치한 버전들에서 남겨 놓은 사용자 기본 설정을 삭제"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "잉크스케이프 확장 기능 실행에 필요한 Python 프로그래밍 언어용 인터프리터 및 Python 모듈"
+${LangFileString} Addfiles "추가 파일"
+${LangFileString} AddfilesDesc "추가 파일"
+${LangFileString} Extensions "확장 기능"
+${LangFileString} ExtensionsDesc "잉크스케이프 확장 기능 (여러 가지 들여 오기 및 내보내기 플러그인을 포함)"
+${LangFileString} Examples "예제"
+${LangFileString} ExamplesDesc "잉크스케이프를 이용한 예제"
+${LangFileString} Tutorials "자습서"
+${LangFileString} TutorialsDesc "잉크스케이프를 이용한 자습서"
+${LangFileString} Dictionaries "사전"
+${LangFileString} DictionariesDesc "잉크스케이프 안에서 철자 검사에 이용할 몇 개의 일반적 언어용 사전"
+${LangFileString} Languages "번역"
+${LangFileString} LanguagesDesc "잉크스케이프용 번역 및 지역에 맞춘 내용"
+${LangFileString} UInstOpt "설치 제거 옵션"
+${LangFileString} UInstOpt1 "추가 옵션을 선택하십시오"
+${LangFileString} PurgePrefs "사용자 기본설정 유지"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log 가 없습니다!$\r$\n$INSTDIR 디렉터리를 직접 지워서 설치 제거를 하십시오!"
+${LangFileString} FileChanged "$filename 파일이 설치 후에 변경되었습니다.$\r$\n그래도 이 파일을 제거할까요?"
+${LangFileString} Yes "예"
+${LangFileString} AlwaysYes "언제나 [예]로 대답"
+${LangFileString} No "아니요"
+${LangFileString} AlwaysNo "언제나 [아니요]로 대답"
diff --git a/packaging/win32/languages/Korean_languageNames.nsh b/packaging/win32/languages/Korean_languageNames.nsh
new file mode 100644
index 0000000..92a2168
--- /dev/null
+++ b/packaging/win32/languages/Korean_languageNames.nsh
@@ -0,0 +1,92 @@
+### Korean (ko) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Korean.nsh'
+${LangFileString} lng_ar "아라비아 어 (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "아제르바이잔 어 (az)"
+${LangFileString} lng_be "벨라루시 어 (be)"
+${LangFileString} lng_bg "불가리아 어 (bg)"
+${LangFileString} lng_bn "인도어 (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "브레튼 어 (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "카탈로니아 어 (ca)"
+${LangFileString} lng_ca@valencia "발렌시아 카탈로니아어 (ca@vlencia)"
+${LangFileString} lng_cs "체코 어 (cs)"
+${LangFileString} lng_da "덴마크 어 (da)"
+${LangFileString} lng_de "독일어 (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "종카 어 (dz)"
+${LangFileString} lng_el "그리스 어 (el)"
+${LangFileString} lng_en "영어 (en)"
+${LangFileString} lng_en_AU "영어/호주 (en_AU)"
+${LangFileString} lng_en_CA "영어/캐나다 (en_CA)"
+${LangFileString} lng_en_GB "영어/그레이트 브리튼 (en_GB)"
+${LangFileString} lng_eo "에스페란토 어 (eo)"
+${LangFileString} lng_es "스페인 어 (es)"
+${LangFileString} lng_es_MX "스페인 어/멕시코 (es_MX)"
+${LangFileString} lng_et "에스토니아 어 (et)"
+${LangFileString} lng_eu "바스크 어 (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "핀란드 어 (fi)"
+${LangFileString} lng_fr "프랑스 어 (fr)"
+${LangFileString} lng_ga "아일랜드 어 (ga)"
+${LangFileString} lng_gl "갈라시아 어 (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "히브리 어 (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "크로아티아 어 (hr)"
+${LangFileString} lng_hu "헝가리 어 (hu)"
+${LangFileString} lng_hy "아르메니아 어 (hy)"
+${LangFileString} lng_id "인도네시아 어 (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "이탈리아 어 (it)"
+${LangFileString} lng_ja "일본어 (ja)"
+${LangFileString} lng_km "크메르 어 (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "한국어 (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "리투아니아 어 (lt)"
+${LangFileString} lng_lv "Latvian (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "마케도니아 어 (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "몽골 어 (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "노르웨이 보크몰 어 (nb)"
+${LangFileString} lng_ne "네팔 어 (ne)"
+${LangFileString} lng_nl "네델란드 어 (nl)"
+${LangFileString} lng_nn "노르웨이 뉘노르스크 (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "펀잡 어 (pa)"
+${LangFileString} lng_pl "폴란드 어 (pl)"
+${LangFileString} lng_pt "포르투갈 어 (pt)"
+${LangFileString} lng_pt_BR "브라질 어 (pt_BR)"
+${LangFileString} lng_ro "로마 어 (ro)"
+${LangFileString} lng_ru "러시아 어 (ru)"
+${LangFileString} lng_rw "킨야르완다 (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "슬로바키아 어 (sk)"
+${LangFileString} lng_sl "슬로베니아 어 (sl)"
+${LangFileString} lng_sq "알바니아 어 (sq)"
+${LangFileString} lng_sr "세르비아 어 (sr)"
+${LangFileString} lng_sr@latin "세르비아 어 라틴스크립트 (sr@latin)"
+${LangFileString} lng_sv "스웨덴 어 (sv)"
+${LangFileString} lng_ta "타밀 어 (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "태국어 (th)"
+${LangFileString} lng_tr "터키 어 (tr)"
+${LangFileString} lng_uk "우크라이나 어 (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "베트남 어 (vi)"
+${LangFileString} lng_zh_CN "중국어/중국 (zh_CN)"
+${LangFileString} lng_zh_TW "중국어/타이완 (zh_TW)"
diff --git a/packaging/win32/languages/Polish.nsh b/packaging/win32/languages/Polish.nsh
new file mode 100644
index 0000000..a0ade97
--- /dev/null
+++ b/packaging/win32/languages/Polish.nsh
@@ -0,0 +1,55 @@
+;Language: Polish (1045)
+;By Przemysław Loesch <p_loesch@poczta.onet.pl>, Marcin Floryan <marcin.floryan@gmail.com>, Leszek(teo)Życzkowski <leszekz@gmail.com>
+${LangFileString} CaptionDescription "otwarte oprogramowanie do grafiki wektorowej SVG"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) jest udostępniony na licencji GNU General Public License (GPL). Tekst licencji jest dołączony jedynie w celach informacyjnych. $_CLICK"
+${LangFileString} DIFFERENT_USER "Program Inkscape został zainstalowany przez użytkownika $0.$\r$\nJeśli instalacja będzie kontynuowana, może zakończyć się niepowodzeniem!$\r$\nProszę zalogować się jako $0 i spróbować ponownie."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 jest już zainstalowany. $\nCzy chcesz przed zainstalowaniem programu $(^Name) usunąć jego poprzednią wersję?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nAby kontynuować instalację, naciśnij przycisk OK, aby przerwać – Anuluj."
+${LangFileString} NO_ADMIN "Nie masz uprawnień administratora.$\r$\nInstalacja programu Inkscape dla wszystkich użytkowników może zakończyć się niepowodzeniem.$\r$\nProszę wyłączyć opcję „Dla wszystkich użytkowników”."
+${LangFileString} NOT_SUPPORTED "Program Inkscape nie działa w systemach Windows 95/98/ME!$\r$\nProszę zapoznać się z informacjami na ten temat na oficjalnej stronie internetowej programu."
+${LangFileString} Full "Pełna"
+${LangFileString} Optimal "Optymalna"
+${LangFileString} Minimal "Minimalna"
+${LangFileString} Core "Inkscape Edytor SVG (wymagane)"
+${LangFileString} CoreDesc "Podstawowe pliki i biblioteki dll dla programu Inkscape"
+${LangFileString} GTKFiles "Środowisko pracy GTK+ (wymagane)"
+${LangFileString} GTKFilesDesc "Wieloplatformowe środowisko graficzne, z którego korzysta Inkscape"
+${LangFileString} Shortcuts "Skróty"
+${LangFileString} ShortcutsDesc "Skróty do uruchamiania programu Inkscape"
+${LangFileString} Alluser "dla wszystkich użytkowników"
+${LangFileString} AlluserDesc "Program Inkscape zostanie zainstalowany dla wszystkich użytkowników tego komputera"
+${LangFileString} Desktop "Pulpit"
+${LangFileString} DesktopDesc "Na pulpicie zostanie utworzony skrót do uruchamiania programu Inkscape"
+${LangFileString} Startmenu "Menu Start"
+${LangFileString} StartmenuDesc "W menu Start zostanie utworzony skrót do uruchamiania programu Inkscape"
+${LangFileString} Quicklaunch "Pasek szybkiego uruchamiania"
+${LangFileString} QuicklaunchDesc "Na pasku szybkiego uruchamiania zostanie utworzony skrót do uruchamiania programu Inkscape"
+${LangFileString} SVGWriter "Otwieraj pliki SVG za pomocą programu Inkscape"
+${LangFileString} SVGWriterDesc "Program Inkscape będzie domyślnym edytorem plików SVG"
+${LangFileString} ContextMenu "Menu kontekstowe"
+${LangFileString} ContextMenuDesc "Do systemowego menu kontekstowego zostanie dodany program Inkscape"
+${LangFileString} DeletePrefs "Usuń ustawienia użytkownika"
+${LangFileString} DeletePrefsDesc "Zostaną usunięte ustawienia użytkownika pozostawione przez poprzednie instalacje"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Pliki dodatkowe"
+${LangFileString} AddfilesDesc "Zostaną dodane wybrane poniżej dodatkowe pliki"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Przykłady"
+${LangFileString} ExamplesDesc "Przykłady użycia programu Inkscape"
+${LangFileString} Tutorials "Poradniki"
+${LangFileString} TutorialsDesc "Poradniki jak korzystać z programu Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Języki interfejsu"
+${LangFileString} LanguagesDesc "Dostępne języki interfejsu dla programu Inkscape"
+${LangFileString} UInstOpt "Opcje dezinstalacji"
+${LangFileString} UInstOpt1 "Dokonaj wyboru spośród dodatkowych opcji"
+${LangFileString} PurgePrefs "Zachowaj ustawienia użytkownika"
+${LangFileString} UninstallLogNotFound "Nie znaleziono $INSTDIR\uninstall.log!$\r$\nProszę wykonać dezinstalację ręcznie poprzez usunięcie katalogu $INSTDIR!"
+${LangFileString} FileChanged "Plik $filename został zmieniony po zainstalowaniu.$\r$\nCzy nadal chcesz usunąć ten plik?"
+${LangFileString} Yes "Tak"
+${LangFileString} AlwaysYes "Tak dla wszystkich"
+${LangFileString} No "Nie"
+${LangFileString} AlwaysNo "Nie dla wszystkich"
diff --git a/packaging/win32/languages/Polish_languageNames.nsh b/packaging/win32/languages/Polish_languageNames.nsh
new file mode 100644
index 0000000..eee35e8
--- /dev/null
+++ b/packaging/win32/languages/Polish_languageNames.nsh
@@ -0,0 +1,92 @@
+### Polish (pl) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Polish.nsh'
+${LangFileString} lng_ar "arabski (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "azerski (az)"
+${LangFileString} lng_be "białoruski (ba)"
+${LangFileString} lng_bg "bułgarski (bg)"
+${LangFileString} lng_bn "bengalski (bn)"
+${LangFileString} lng_bn_BD "bengalski/Bangladesz (bn_BD)"
+${LangFileString} lng_br "bretoński (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "kataloński (ca)"
+${LangFileString} lng_ca@valencia "kataloński waloński (ca@valencia)"
+${LangFileString} lng_cs "czeski (cs)"
+${LangFileString} lng_da "duński (da)"
+${LangFileString} lng_de "niemiecki (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "dzongkha (dz)"
+${LangFileString} lng_el "grecki (el)"
+${LangFileString} lng_en "angielski (en)"
+${LangFileString} lng_en_AU "angielski/Australia (en-AU)"
+${LangFileString} lng_en_CA "angielski/Kanada (en_CA)"
+${LangFileString} lng_en_GB "angielski/Wlk.Brytania (en_GB)"
+${LangFileString} lng_eo "esperanto (eo)"
+${LangFileString} lng_es "hiszpański (es)"
+${LangFileString} lng_es_MX "hiszpański/Meksyk (es_MX)"
+${LangFileString} lng_et "estoński (et)"
+${LangFileString} lng_eu "baskijski (eu)"
+${LangFileString} lng_fa "perski (fa)"
+${LangFileString} lng_fi "fiński (fi)"
+${LangFileString} lng_fr "francuski (fr)"
+${LangFileString} lng_ga "irlandzki (ga)"
+${LangFileString} lng_gl "galicyjski (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "hebrajski (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "chorwacki (hr)"
+${LangFileString} lng_hu "węgierski (hu)"
+${LangFileString} lng_hy "armeński (hy)"
+${LangFileString} lng_id "indonezyjski (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "włoski (it)"
+${LangFileString} lng_ja "japoński (ja)"
+${LangFileString} lng_km "kmerski (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "koreański (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "litewski (lt)"
+${LangFileString} lng_lv "łotewski (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "macedoński (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "mongolski (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "norweski Bokmål (nb)"
+${LangFileString} lng_ne "nepalski (ne)"
+${LangFileString} lng_nl "holenderski (nl)"
+${LangFileString} lng_nn "norweski Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "pendżabski (pa)"
+${LangFileString} lng_pl "polski (pl)"
+${LangFileString} lng_pt "portugalski (pt)"
+${LangFileString} lng_pt_BR "portugalski/Brazylia (pt_BR)"
+${LangFileString} lng_ro "rumuński (ro)"
+${LangFileString} lng_ru "rosyjski (ru)"
+${LangFileString} lng_rw "ruanda-rundi (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "słowacki (sk)"
+${LangFileString} lng_sl "słoweński (sl)"
+${LangFileString} lng_sq "albański (sq)"
+${LangFileString} lng_sr "serbski (sr)"
+${LangFileString} lng_sr@latin "serbski, skrypt łaciński (sr@latin)"
+${LangFileString} lng_sv "szwedzki (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "tajski (th)"
+${LangFileString} lng_tr "turecki (tr)"
+${LangFileString} lng_uk "ukraiński (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "wietnamski (vi)"
+${LangFileString} lng_zh_CN "chiński/Chiny (zh_CN)"
+${LangFileString} lng_zh_TW "chiński/Tajwan (zh_TW)"
diff --git a/packaging/win32/languages/Portuguese.nsh b/packaging/win32/languages/Portuguese.nsh
new file mode 100644
index 0000000..b0f7453
--- /dev/null
+++ b/packaging/win32/languages/Portuguese.nsh
@@ -0,0 +1,55 @@
+;Language: Portuguese (2070)
+;By Rui <xande6ruz@yandex.com>
+${LangFileString} CaptionDescription "Editor de Gráficos Vetoriais Escaláveis de Código Aberto"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) é disponibilizado sob a GNU General Public License (GPL). A licença é disponibilizada aqui apenas para fins informativos. $_CLICK"
+${LangFileString} DIFFERENT_USER "O Inkscape já foi instalado pelo utilizador $0.$\r$\nSe continuar, poderá não conseguir instalar por completo!$\r$\nPor favor entre na conta de $0 e tente de novo."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 já foi instalado. $\nPretende remover a versão anterior antes de instalar o $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nClique em OK para continuar ou clique em CANCELAR para abortar."
+${LangFileString} NO_ADMIN "A sua conta não tem privilégios de administrador.$\r$\nPoderá não conseguir instalar o Inkscape em todas as contas.$\r$\nDesmarque a opção 'Instalar em todas as contas'."
+${LangFileString} NOT_SUPPORTED "O Inkscape não corre nos sistemas operativos Windows 95/98/ME!$\r$\nPor favor consulte o site oficial para mais informações."
+${LangFileString} Full "Completo"
+${LangFileString} Optimal "Opcional"
+${LangFileString} Minimal "Mínimo"
+${LangFileString} Core "Inkscape - Editor SVG (necessário)"
+${LangFileString} CoreDesc "Ficheiros do núcleo e dlls do Inkscape"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (necessário)"
+${LangFileString} GTKFilesDesc "Uma biblioteca de GUI multi-plataforma, usada pelo Inkscape"
+${LangFileString} Shortcuts "Atalhos"
+${LangFileString} ShortcutsDesc "Atalhos para abrir o Inkscape"
+${LangFileString} Alluser "Instalar em todas as contas"
+${LangFileString} AlluserDesc "Instalar esta aplicação para todos os utilizadores que usem este computador (todas as contas)"
+${LangFileString} Desktop "Ambiente de Trabalho"
+${LangFileString} DesktopDesc "Criar um atalho do Inkscape no Ambiente de Trabalho"
+${LangFileString} Startmenu "Menu de Início"
+${LangFileString} StartmenuDesc "Criar um atalho do Inkscape no Menu de Início"
+${LangFileString} Quicklaunch "Lançamento Rápido"
+${LangFileString} QuicklaunchDesc "Criar um atalho do Inkscape na barra de Lançamento Rápido"
+${LangFileString} SVGWriter "Abrir ficheiros SVG com o Inkscape"
+${LangFileString} SVGWriterDesc "Selecionar o Inkscape como o editor padrão para ficheiros SVG"
+${LangFileString} ContextMenu "Menu de Contexto"
+${LangFileString} ContextMenuDesc "Adicionar o Inkscape no Menu de Contexto para ficheiros SVG"
+${LangFileString} DeletePrefs "Eliminar preferências"
+${LangFileString} DeletePrefsDesc "Eliminar preferências de versões anteriormente instaladas do Inkscape"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "Um interpretador para a linguagem de programação Python e módulos Python necessários para correr extensões Inkscape."
+${LangFileString} Addfiles "Ficheiros Adicionais"
+${LangFileString} AddfilesDesc "Ficheiros Adicionais"
+${LangFileString} Extensions "Extensões"
+${LangFileString} ExtensionsDesc "Extensões Inkscape extensions (incluindo muitos plugins de importação e exportação)"
+${LangFileString} Examples "Exemplos"
+${LangFileString} ExamplesDesc "Exemplos de utilização do Inkscape"
+${LangFileString} Tutorials "Tutoriais"
+${LangFileString} TutorialsDesc "Tutoriais para aprender a usar o Inkscape"
+${LangFileString} Dictionaries "Dicionários"
+${LangFileString} DictionariesDesc "Dicionários para algumas linguagens comuns para correcção ortográfica no Inkscape"
+${LangFileString} Languages "Traduções"
+${LangFileString} LanguagesDesc "Instalar várias traduções do Inkscape"
+${LangFileString} UInstOpt "Opções de Desinstalação"
+${LangFileString} UInstOpt1 "Por favor faça as suas escolhas para opções adicionais"
+${LangFileString} PurgePrefs "Manter Preferências"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log não foi encontrado!$\r$\nPor favor desinstale manualmente eliminado a pasta $INSTDIR!"
+${LangFileString} FileChanged "O ficheiro $filename foi alterado depois de instalado.$\r$\nQuer mesmo eliminar o ficheiro?"
+${LangFileString} Yes "Sim"
+${LangFileString} AlwaysYes "responder sempre Sim"
+${LangFileString} No "Não"
+${LangFileString} AlwaysNo "responder sempre Não"
diff --git a/packaging/win32/languages/PortugueseBR.nsh b/packaging/win32/languages/PortugueseBR.nsh
new file mode 100644
index 0000000..3225743
--- /dev/null
+++ b/packaging/win32/languages/PortugueseBR.nsh
@@ -0,0 +1,55 @@
+;Language: Brazilian Portuguese (1046)
+;By Rodrigo Padula de Oliveira contato@rodrigopadula.com
+${LangFileString} CaptionDescription "Editor Software Livre de gráficos vetoriais"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) é publicado sob GNU General Public License (GPL). A licença é fornecida aqui apenas para caráter informativo. $_CLICK"
+${LangFileString} DIFFERENT_USER "O Inkscape já foi instalado pelo usuário $0. Se você continuar a instalação poderá não ser concluída com sucesso. Acesse como $0 e tente novamente."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 já está instalado. $\nVocê deseja remover a instalação anterior antes de instalar novamente $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPressione OK para continuar ou pressiona CANCELAR para abortar."
+${LangFileString} NO_ADMIN "Você não tem privilégios de administrador. A instalação do Inkscape para todos os usuários pode não ser finalizada com sucesso. Desmarque a opção 'Instalar para todos os usuários'"
+${LangFileString} NOT_SUPPORTED "Inkscape não é compatível com Windows 95/98/ME!\n\nPor favor visite o site oficial do Inkscape para mariores informações."
+${LangFileString} Full "Completa"
+${LangFileString} Optimal "Opcional"
+${LangFileString} Minimal "Mínima"
+${LangFileString} Core "Inkscape SVG Editor (requerido)"
+${LangFileString} CoreDesc "Arquivos Core Inkscape e DLLs"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (requerido)"
+${LangFileString} GTKFilesDesc "Bibliotecas gráficas multi-plataforma, usadas pelo inkscape"
+${LangFileString} Shortcuts "Atalhos"
+${LangFileString} ShortcutsDesc "Atalhos para iniciar o Inkscape"
+${LangFileString} Alluser "Instalar para todos os usuários"
+${LangFileString} AlluserDesc "Instalar esta aplicação para todas as pessoas que usam este computador (todos usuários)"
+${LangFileString} Desktop "Desktop"
+${LangFileString} DesktopDesc "Cria um atalho para o Inkscape em seu Desktop"
+${LangFileString} Startmenu "Menu Iniciar"
+${LangFileString} StartmenuDesc "Cria atalhos para o Inkscape no Menu Iniciar"
+${LangFileString} Quicklaunch "Inicialização Rápida"
+${LangFileString} QuicklaunchDesc "Cria uma atalho para o Inkscape na barra de Inicialização Rápida"
+${LangFileString} SVGWriter "Abrir arquivos SVG com Inkscape"
+${LangFileString} SVGWriterDesc "Seleciona o Inkscape como editor padrão de arquivos SVG"
+${LangFileString} ContextMenu "Menu de Contexto"
+${LangFileString} ContextMenuDesc "Adiciona o Inkscape no Menu de Contexto para arquivos SVG"
+${LangFileString} DeletePrefs "Remover preferências pessoais"
+${LangFileString} DeletePrefsDesc "Remover preferências pessoais deixadas por instalações anteriores"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Arquivos Adicionais"
+${LangFileString} AddfilesDesc "Arquivos Adicionais"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Examples"
+${LangFileString} ExamplesDesc "Examples de uso do Inkscape"
+${LangFileString} Tutorials "Tutorial"
+${LangFileString} TutorialsDesc "Tutorial para o uso Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Traduções"
+${LangFileString} LanguagesDesc "Instala várias traduçoes do Inkscape"
+${LangFileString} UInstOpt "Opções de Desinstalação"
+${LangFileString} UInstOpt1 "Determine suas opções adicionais"
+${LangFileString} PurgePrefs "Manter Preferências pessoais"
+${LangFileString} UninstallLogNotFound "Impossível encontrar $INSTDIR\uninstall.log !$\r$\nPara continuar a desinstalação, remova o diretório $INSTDIR manualmente!"
+${LangFileString} FileChanged "O arquivo $filename foi modificado após a instalação.$\r$\nDeseja removê-lo?"
+${LangFileString} Yes "Sim"
+${LangFileString} AlwaysYes "Sempre responda Sim"
+${LangFileString} No "Não"
+${LangFileString} AlwaysNo "Sempre responda Não"
diff --git a/packaging/win32/languages/PortugueseBR_languageNames.nsh b/packaging/win32/languages/PortugueseBR_languageNames.nsh
new file mode 100644
index 0000000..718636e
--- /dev/null
+++ b/packaging/win32/languages/PortugueseBR_languageNames.nsh
@@ -0,0 +1,92 @@
+### Portuguese/Brazil (pt_BR) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'PortugueseBR.nsh'
+${LangFileString} lng_ar "Árabe (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Azerbaijano (az)"
+${LangFileString} lng_be "Bielo-russo (be)"
+${LangFileString} lng_bg "Búlgaro (bg)"
+${LangFileString} lng_bn "Bengali (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Bretão (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalã (ca)"
+${LangFileString} lng_ca@valencia "Catalã Valenciano (ca@valencia)"
+${LangFileString} lng_cs "Tcheco (cs)"
+${LangFileString} lng_da "Dinamarquês (da)"
+${LangFileString} lng_de "Alemão (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzonga (dz)"
+${LangFileString} lng_el "Grego (el)"
+${LangFileString} lng_en "Inglês (en)"
+${LangFileString} lng_en_AU "Inglês/Austrália (en_AU)"
+${LangFileString} lng_en_CA "Inglês/Canadá (en_CA)"
+${LangFileString} lng_en_GB "Inglês/Grã-Bretanha (en_AU)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Espanhol (es)"
+${LangFileString} lng_es_MX "Espanhol / México (es_MX)"
+${LangFileString} lng_et "Estoniano (et)"
+${LangFileString} lng_eu "Basco (eu)"
+${LangFileString} lng_fa "Persa (fa)"
+${LangFileString} lng_fi "Finlandês (fi)"
+${LangFileString} lng_fr "Francês (fr)"
+${LangFileString} lng_ga "Irlandês (ga)"
+${LangFileString} lng_gl "Galego (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebraico (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croácio (hr)"
+${LangFileString} lng_hu "Húngaro (hu)"
+${LangFileString} lng_hy "Armênio (hy)"
+${LangFileString} lng_id "Indonésio (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "Italiano (it)"
+${LangFileString} lng_ja "Japonês (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Coreano (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Lituano (lt)"
+${LangFileString} lng_lv "Letão (lt)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedônio (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongol (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Dano-norueguesa (nb)"
+${LangFileString} lng_ne "Nepalês (ne)"
+${LangFileString} lng_nl "Holandês (nl)"
+${LangFileString} lng_nn "Novo norueguês (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polonês (pl)"
+${LangFileString} lng_pt "Português (pt)"
+${LangFileString} lng_pt_BR "Português / Brasil (pt_BR)"
+${LangFileString} lng_ro "Romeno (ro)"
+${LangFileString} lng_ru "Russo (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "Eslovaco (sk)"
+${LangFileString} lng_sl "Esloveno (sl)"
+${LangFileString} lng_sq "Albanês (sq)"
+${LangFileString} lng_sr "Sérvio (sr)"
+${LangFileString} lng_sr@latin "Sérvio latino (sr@latin)"
+${LangFileString} lng_sv "Sueco (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Tailandês (th)"
+${LangFileString} lng_tr "Turco (tr)"
+${LangFileString} lng_uk "Ucraniano (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamita (vi)"
+${LangFileString} lng_zh_CN "Chinês/China (zh_CN)"
+${LangFileString} lng_zh_TW "Chinês/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Portuguese_languageNames.nsh b/packaging/win32/languages/Portuguese_languageNames.nsh
new file mode 100644
index 0000000..ec92d79
--- /dev/null
+++ b/packaging/win32/languages/Portuguese_languageNames.nsh
@@ -0,0 +1,92 @@
+### Portuguese (pt) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Portuguese.nsh'
+${LangFileString} lng_ar "Arábico (ar)"
+${LangFileString} lng_as "Assamês (as)"
+${LangFileString} lng_az "Azerbaijano (az)"
+${LangFileString} lng_be "Bielorrusso (be)"
+${LangFileString} lng_bg "Búlgaro (bg)"
+${LangFileString} lng_bn "Bengali (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladeche (bn_BD)"
+${LangFileString} lng_br "Bretão (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalão (ca)"
+${LangFileString} lng_ca@valencia "Catalão Valenciano (ca@valencia)"
+${LangFileString} lng_cs "Checo (cs)"
+${LangFileString} lng_da "Dinamarquês (da)"
+${LangFileString} lng_de "Alemão (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Butanês (dz)"
+${LangFileString} lng_el "Grego (el)"
+${LangFileString} lng_en "Inglês (en)"
+${LangFileString} lng_en_AU "Inglês/Austrália (en_AU)"
+${LangFileString} lng_en_CA "Inglês/Canadá (en_CA)"
+${LangFileString} lng_en_GB "Inglês/Grâ-Bretanha (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Espanhol (es)"
+${LangFileString} lng_es_MX "Espanhol/México (es_MX)"
+${LangFileString} lng_et "Estónio (et)"
+${LangFileString} lng_eu "Basco (eu)"
+${LangFileString} lng_fa "Persa (fa)"
+${LangFileString} lng_fi "Finlandês (fi)"
+${LangFileString} lng_fr "Francês (fr)"
+${LangFileString} lng_ga "Irlandês (ga)"
+${LangFileString} lng_gl "Galego (gl)"
+${LangFileString} lng_gu "Gujaráti (gu)"
+${LangFileString} lng_he "Hebraico (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croata (hr)"
+${LangFileString} lng_hu "Húngaro (hu)"
+${LangFileString} lng_hy "Arménio (hy)"
+${LangFileString} lng_id "Indonésio (id)"
+${LangFileString} lng_is "Islandês (is)"
+${LangFileString} lng_it "Italiano (it)"
+${LangFileString} lng_ja "Japonês (ja)"
+${LangFileString} lng_km "Cambojano (km)"
+${LangFileString} lng_kn "Canarês (kn)"
+${LangFileString} lng_ko "Coreano (ko)"
+${LangFileString} lng_kok "Concani (kok)"
+${LangFileString} lng_kok@latin "Concani no alfabeto Latino (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Caxemiriano no alfabeto Devanágari (ks@deva)"
+${LangFileString} lng_lt "Lituano (lt)"
+${LangFileString} lng_lv "Letão (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedónio (mk)"
+${LangFileString} lng_ml "Malaiala (ml)"
+${LangFileString} lng_mn "Mongol (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri no alfabeto Bengali (mni@beng)"
+${LangFileString} lng_mr "Marata (mr)"
+${LangFileString} lng_nb "Bokmål Norueguês (nb)"
+${LangFileString} lng_ne "Nepalês (ne)"
+${LangFileString} lng_nl "Neerlandês (nl)"
+${LangFileString} lng_nn "Novo Norueguês (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Polaco (pl)"
+${LangFileString} lng_pt "Português (pt)"
+${LangFileString} lng_pt_BR "Português/Brasil (pt_BR)"
+${LangFileString} lng_ro "Romeno (ro)"
+${LangFileString} lng_ru "Russo (ru)"
+${LangFileString} lng_rw "Quiniaruanda (rw)"
+${LangFileString} lng_sa "Sânscrito (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali no alfabeto Devanágari (sat@deva)"
+${LangFileString} lng_sd "Sindi (sd)"
+${LangFileString} lng_sd@deva "Sindi no alfabeto Devanágari (sd@deva)"
+${LangFileString} lng_sk "Eslovaco (sk)"
+${LangFileString} lng_sl "Esloveno (sl)"
+${LangFileString} lng_sq "Albanês (sq)"
+${LangFileString} lng_sr "Sérvio (sr)"
+${LangFileString} lng_sr@latin "Sérvio no alfabeto Latino (sr@latin)"
+${LangFileString} lng_sv "Sueco (sv)"
+${LangFileString} lng_ta "Tâmil (ta)"
+${LangFileString} lng_te "Telugo (te)"
+${LangFileString} lng_th "Tailandês (th)"
+${LangFileString} lng_tr "Turco (tr)"
+${LangFileString} lng_uk "Ucraniano (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamita (vi)"
+${LangFileString} lng_zh_CN "Chinês/China (zh_CN)"
+${LangFileString} lng_zh_TW "Chinese/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Romanian.nsh b/packaging/win32/languages/Romanian.nsh
new file mode 100644
index 0000000..d7b0efd
--- /dev/null
+++ b/packaging/win32/languages/Romanian.nsh
@@ -0,0 +1,55 @@
+;Language: Romanian (1048)
+;By Cristian Secară <cristi AT secarica DOT ro>
+${LangFileString} CaptionDescription "Editor Open Source pentru grafică vectorială scalabilă (SVG)"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) este publicat sub licenţa publică generală GNU (GPL). Licenţa este furnizată aici numai cu scop informativ. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape a fost deja instalat de utilizatorul $0.$\r$\nDacă veţi continua, s-ar putea să nu terminaţi instalarea cu succes !$\r$\nAutentificaţi-vă ca $0 şi încercaţi din nou."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 a fost deja instalat. $\nVreţi să dezinstalaţi versiunea precedentă înainde de a instala $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nApăsaţi butonul OK pentru a continua, sau butonul RENUNŢĂ pentru a opri instalarea."
+${LangFileString} NO_ADMIN "Nu aveţi privilegii de administrator.$\r$\nInstalarea Inkscape pentru toţi utilizatorii ar putea să nu se termine cu succes.$\r$\nDebifaţi opţiunea „Pentru toţi utilizatorii”."
+${LangFileString} NOT_SUPPORTED "Este ştiut faptul că Inkscape nu rulează sub Windows 95/98/ME !$\r$\nVerificaţi saitul web oficial pentru informaţii detaliate."
+${LangFileString} Full "Complet"
+${LangFileString} Optimal "Optim"
+${LangFileString} Minimal "Minim"
+${LangFileString} Core "Editorul SVG Inkscape (necesar)"
+${LangFileString} CoreDesc "Fişiere şi dll-uri indispensabile pentru Inkscape"
+${LangFileString} GTKFiles "Mediul GTK+ Runtime (necesar)"
+${LangFileString} GTKFilesDesc "Kit de instrumente multiplatformă pentru interfeţe grafice, folosit de Inkscape"
+${LangFileString} Shortcuts "Scurtături"
+${LangFileString} ShortcutsDesc "Scurtături pentru pornirea Inkscape"
+${LangFileString} Alluser "Pentru toţi utilizatorii"
+${LangFileString} AlluserDesc "Instalează această aplicaţie pentru oricine foloseşte acest calculator (toţi utilizatorii)"
+${LangFileString} Desktop "Desktop"
+${LangFileString} DesktopDesc "Creează o scurtătură către Inkscape pe Desktop"
+${LangFileString} Startmenu "Meniul Start"
+${LangFileString} StartmenuDesc "Creează o intrare pentru Inkscape în meniul Start"
+${LangFileString} Quicklaunch "Lansare rapidă"
+${LangFileString} QuicklaunchDesc "Creează o scurtătură către Inkscape pe bara de lansare rapidă"
+${LangFileString} SVGWriter "Deschidere fişiere SVG cu Inkscape"
+${LangFileString} SVGWriterDesc "Selectează Inkscape ca editor implicit pentru fişiere SVG"
+${LangFileString} ContextMenu "Meniu contextual"
+${LangFileString} ContextMenuDesc "Adaugă Inkscape în meniul contextual pentru fişiere SVG"
+${LangFileString} DeletePrefs "Ştergere preferinţele personale"
+${LangFileString} DeletePrefsDesc "Şterge preferinţele personale rămase de la instalări precedente"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Fişiere adiţionale"
+${LangFileString} AddfilesDesc "Fişiere adiţionale"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Exemple"
+${LangFileString} ExamplesDesc "Exemple folosind Inkscape"
+${LangFileString} Tutorials "Ghiduri practice"
+${LangFileString} TutorialsDesc "Ghiduri practice pentru utilizarea Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Traduceri"
+${LangFileString} LanguagesDesc "Instalează diverse traduceri ale interfeţei pentru Inkscape"
+${LangFileString} UInstOpt "Opţiuni de dezinstalare"
+${LangFileString} UInstOpt1 "Alegeţi dintre opţiunile adiţionale"
+${LangFileString} PurgePrefs "Păstrează preferinţele personale"
+${LangFileString} UninstallLogNotFound "Fişierul $INSTDIR\uninstall.log nu a fost găsit !$\r$\nDezinstalaţi prin golirea manuală a $INSTDIR !"
+${LangFileString} FileChanged "Fişierul $filename a fost modificat după instalare.$\r$\nTot vreţi să ştergeţi acel fişier ?"
+${LangFileString} Yes "Da"
+${LangFileString} AlwaysYes "Da întotdeauna"
+${LangFileString} No "Nu"
+${LangFileString} AlwaysNo "Nu întotdeauna"
diff --git a/packaging/win32/languages/Romanian_languageNames.nsh b/packaging/win32/languages/Romanian_languageNames.nsh
new file mode 100644
index 0000000..3223601
--- /dev/null
+++ b/packaging/win32/languages/Romanian_languageNames.nsh
@@ -0,0 +1,92 @@
+### Romanian (ro) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Romanian.nsh'
+${LangFileString} lng_ar "Arabă (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Azerbaijani (az)"
+${LangFileString} lng_be "Belarusă (be)"
+${LangFileString} lng_bg "Bulgară (bg)"
+${LangFileString} lng_bn "Bengaleză (bn)"
+${LangFileString} lng_bn_BD "Bengaleză/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Bretonă (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalană (ca)"
+${LangFileString} lng_ca@valencia "Catalană Valencia (ca@valencia)"
+${LangFileString} lng_cs "Cehă (cs)"
+${LangFileString} lng_da "Daneză (da)"
+${LangFileString} lng_de "Germană (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Greacă (el)"
+${LangFileString} lng_en "Engleză (en)"
+${LangFileString} lng_en_AU "Engleză/Australia (en_AU)"
+${LangFileString} lng_en_CA "Engleză/Canada (en_CA)"
+${LangFileString} lng_en_GB "Engleză/Marea Britanie (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Spaniolă (es)"
+${LangFileString} lng_es_MX "Spaniolă/Mexic (es_MX)"
+${LangFileString} lng_et "Estoniană (et)"
+${LangFileString} lng_eu "Bască (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Finlandeză (fi)"
+${LangFileString} lng_fr "Franceză (fr)"
+${LangFileString} lng_ga "Irlandeză (ga)"
+${LangFileString} lng_gl "Galeză (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Ebraică (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croată (hr)"
+${LangFileString} lng_hu "Maghiară (hu)"
+${LangFileString} lng_hy "Armenă (hy)"
+${LangFileString} lng_id "Indoneză (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "Italiană (it)"
+${LangFileString} lng_ja "Japoneză (ja)"
+${LangFileString} lng_km "Khmer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Koreană (ko)"
+${LangFileString} lng_kok "(ko)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "Lituaniană (lt)"
+${LangFileString} lng_lv "Letonă (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedoneană (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongolă (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Norwegiană Bokmål (nb)"
+${LangFileString} lng_ne "Nepaleză (ne)"
+${LangFileString} lng_nl "Olandeză (nl)"
+${LangFileString} lng_nn "Norwegiană Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabi (pa)"
+${LangFileString} lng_pl "Poloneză (pl)"
+${LangFileString} lng_pt "Portugheză (pt)"
+${LangFileString} lng_pt_BR "Portugheză/Brazilia (pt_BR)"
+${LangFileString} lng_ro "Română (ro)"
+${LangFileString} lng_ru "Rusă (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali în script Devanagari (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi în script Devanagari (sd@deva)"
+${LangFileString} lng_sk "Slovacă (sk)"
+${LangFileString} lng_sl "Slovenă (sl)"
+${LangFileString} lng_sq "Albaniană (sq)"
+${LangFileString} lng_sr "Sârbă (sr)"
+${LangFileString} lng_sr@latin "Sârbă în alfabet latin (sr@latin)"
+${LangFileString} lng_sv "Suedeză (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Tailandeză (th)"
+${LangFileString} lng_tr "Turcă (tr)"
+${LangFileString} lng_uk "Ucraineană (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnameză (vi)"
+${LangFileString} lng_zh_CN "Chineză/China (zh_CN)"
+${LangFileString} lng_zh_TW "Chineză/Taiwan (zh_TW)"
diff --git a/packaging/win32/languages/Russian.nsh b/packaging/win32/languages/Russian.nsh
new file mode 100644
index 0000000..539e958
--- /dev/null
+++ b/packaging/win32/languages/Russian.nsh
@@ -0,0 +1,55 @@
+;Language: Russian (1049)
+;By Alexandre Prokoudine <alexandre.prokoudine@gmail.com>
+${LangFileString} CaptionDescription "Редактор векторной графики с открытым исходным кодом"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) выпущен на условиях GNU General Public License (GPL). Лицензия предлагается для ознакомления. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape установлен пользователем $0.$\r$\nЕсли вы продолжите, установка может не завершиться успешно!$\r$\nВойдите в систему как пользователь $0 и попробуйте снова."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 уже установлена. $\nВы хотите удалить предыдущую версию перед установкой $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nНажмите «OK» для продолжения или «Отмена» для прерывания установки."
+${LangFileString} NO_ADMIN "У вас нет прав администратора.$\r$\nУстановка Inkscape для всех пользователей может не завершиться успешно.$\r$\nНе используйте параметр «Для всех пользователей»."
+${LangFileString} NOT_SUPPORTED "Inkscape не работает в Windows 95/98/ME!$\r$\nПодробности изложены на сайте программы."
+${LangFileString} Full "Полная"
+${LangFileString} Optimal "Оптимальная"
+${LangFileString} Minimal "Минимальная"
+${LangFileString} Core "Inkscape, редактор SVG (требуется)"
+${LangFileString} CoreDesc "Основные файлы и библиотеки Inkscape"
+${LangFileString} GTKFiles "Среда исполнения GTK+ (требуется)"
+${LangFileString} GTKFilesDesc "Многоплатформенные средства разработки, необходимые для Inkscape"
+${LangFileString} Shortcuts "Ярлыки"
+${LangFileString} ShortcutsDesc "Ярлыки для запуска Inkscape"
+${LangFileString} Alluser "Для всех пользователей"
+${LangFileString} AlluserDesc "Установить программу для всех пользователей этого компьютера"
+${LangFileString} Desktop "Рабочий стол"
+${LangFileString} DesktopDesc "Создать ярлык для Inkscape на Рабочем столе"
+${LangFileString} Startmenu "Меню «Пуск»"
+${LangFileString} StartmenuDesc "Создать группу Inkscape в меню «Пуск»"
+${LangFileString} Quicklaunch "Панель быстрого запуска"
+${LangFileString} QuicklaunchDesc "Создать ярлык для Inkscape в панели быстрого запуска"
+${LangFileString} SVGWriter "Открывать файлы SVG в Inkscape"
+${LangFileString} SVGWriterDesc "Выбрать Inkscape редактором файлов SVG по умолчанию"
+${LangFileString} ContextMenu "Контекстное меню"
+${LangFileString} ContextMenuDesc "Добавить Inkscape в контекстное меню для файлов SVG"
+${LangFileString} DeletePrefs "Удалить личные настройки"
+${LangFileString} DeletePrefsDesc "Удалить личные настройки, оставшиеся от предыдущих версий программы"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "Интерпретатор для языка программирования Python и модули Python для запуска расширений Inkscape."
+${LangFileString} Addfiles "Дополнительные файлы"
+${LangFileString} AddfilesDesc "Дополнительные файлы"
+${LangFileString} Extensions "Расширения"
+${LangFileString} ExtensionsDesc "Расширения Inkscape (в том числе, для импорта и экспорта файлов)"
+${LangFileString} Examples "Примеры"
+${LangFileString} ExamplesDesc "Примеры файлов, созданных в Inkscape"
+${LangFileString} Tutorials "Уроки"
+${LangFileString} TutorialsDesc "Уроки по использованию Inkscape"
+${LangFileString} Dictionaries "Словари"
+${LangFileString} DictionariesDesc "Словари для проверки правописания в текстах на некоторых распространенных языках"
+${LangFileString} Languages "Переводы"
+${LangFileString} LanguagesDesc "Установка переводов Inkscape на разные языки"
+${LangFileString} UInstOpt "Параметры удаления программы из системы"
+${LangFileString} UInstOpt1 "Убедитесь в том, что указали дополнительные параметры"
+${LangFileString} PurgePrefs "Сохранить личные настройки"
+${LangFileString} UninstallLogNotFound "Файл $INSTDIR\uninstall.log не обнаружен!$\r$\nВыполните деинсталляцию очисткой каталога $INSTDIR!"
+${LangFileString} FileChanged "Файл $filename был изменён после установки.$\r$\nВы действительно хотите удалить его?"
+${LangFileString} Yes "Да"
+${LangFileString} AlwaysYes "Всегда отвечать «Да»"
+${LangFileString} No "Нет"
+${LangFileString} AlwaysNo "Всегда отвечать «Нет»"
diff --git a/packaging/win32/languages/Russian_languageNames.nsh b/packaging/win32/languages/Russian_languageNames.nsh
new file mode 100644
index 0000000..3d1f1f2
--- /dev/null
+++ b/packaging/win32/languages/Russian_languageNames.nsh
@@ -0,0 +1,92 @@
+### Russian (ru) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Russian.nsh'
+${LangFileString} lng_ar "Арабский (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "Азербайджанский (az)"
+${LangFileString} lng_be "Белорусский (be)"
+${LangFileString} lng_bg "Болгарский (bg)"
+${LangFileString} lng_bn "Бенгальский (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Бретонский (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Каталонский (ca)"
+${LangFileString} lng_ca@valencia "Каталонский, Валенсия (ca@valencia)"
+${LangFileString} lng_cs "Чешский (cs)"
+${LangFileString} lng_da "Датский (da)"
+${LangFileString} lng_de "Немецкий (de)"
+${LangFileString} lng_doi "Догри (doi)"
+${LangFileString} lng_dz "Дзонг-кэ (dz)"
+${LangFileString} lng_el "Греческий (el)"
+${LangFileString} lng_en "Английский (en)"
+${LangFileString} lng_en_AU "Английский, Австралия (en_AU)"
+${LangFileString} lng_en_CA "Английский, Канада (en_CA)"
+${LangFileString} lng_en_GB "Английский, Великобритания (en_GB)"
+${LangFileString} lng_eo "Эсперанто (eo)"
+${LangFileString} lng_es "Испанский (es)"
+${LangFileString} lng_es_MX "Испанский, Мексика (es_MX)"
+${LangFileString} lng_et "Эстонский (et)"
+${LangFileString} lng_eu "Баскский (eu)"
+${LangFileString} lng_fa "Фарси (fa)"
+${LangFileString} lng_fi "Финский (fi)"
+${LangFileString} lng_fr "Французский (fr)"
+${LangFileString} lng_ga "Ирландский (ga)"
+${LangFileString} lng_gl "Галицийский (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Иврит (he)"
+${LangFileString} lng_hi "Хинди (hi)"
+${LangFileString} lng_hr "Хорватский (hr)"
+${LangFileString} lng_hu "Венгерский (hu)"
+${LangFileString} lng_hy "Армянский (hy)"
+${LangFileString} lng_id "Индонезийский (id)"
+${LangFileString} lng_is "Исландский (is)"
+${LangFileString} lng_it "Итальянский (it)"
+${LangFileString} lng_ja "Японский (ja)"
+${LangFileString} lng_km "Кхмерский (km)"
+${LangFileString} lng_kn "Канада (kn)"
+${LangFileString} lng_ko "Корейский (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Кашмирский персо-арабский скрипт (ks@aran)"
+${LangFileString} lng_ks@deva "Кашмирский Девангари скрипт (ks@deva)"
+${LangFileString} lng_lt "Литовский (lt)"
+${LangFileString} lng_lv "Латвийский (lv)"
+${LangFileString} lng_mai "Майтхили (mai)"
+${LangFileString} lng_mk "Македонский (mk)"
+${LangFileString} lng_ml "Малаялам (ml)"
+${LangFileString} lng_mn "Монгольский (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Манипури бенгальский скрипт (mni@beng)"
+${LangFileString} lng_mr "Марати (mr)"
+${LangFileString} lng_nb "Норвежский, бокмол (nb)"
+${LangFileString} lng_ne "Непальский (ne)"
+${LangFileString} lng_nl "Голландский (nl)"
+${LangFileString} lng_nn "Норвежский, нюнорск (nn)"
+${LangFileString} lng_or "Одья (or)"
+${LangFileString} lng_pa "Пенджаби (pa)"
+${LangFileString} lng_pl "Польский (pl)"
+${LangFileString} lng_pt "Португальский (pt)"
+${LangFileString} lng_pt_BR "Португальский, Бразилия (pt_BR)"
+${LangFileString} lng_ro "Румынский (ro)"
+${LangFileString} lng_ru "Русский (ru)"
+${LangFileString} lng_rw "Руанда (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Синдхи (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "Словацкий (sk)"
+${LangFileString} lng_sl "Словенский (sl)"
+${LangFileString} lng_sq "Албанский (sq)"
+${LangFileString} lng_sr "Сербский, кириллица (sr)"
+${LangFileString} lng_sr@latin "Сербский, латиница (sr@latin)"
+${LangFileString} lng_sv "Шведский (sv)"
+${LangFileString} lng_ta "Тамильский (ta)"
+${LangFileString} lng_te "Телугу (te)"
+${LangFileString} lng_th "Тайский (th)"
+${LangFileString} lng_tr "Турецкий (tr)"
+${LangFileString} lng_uk "Украинский (uk)"
+${LangFileString} lng_ur "Урду (ur)"
+${LangFileString} lng_vi "Вьетнамский (vi)"
+${LangFileString} lng_zh_CN "Китайский, Китай (zh_CN)"
+${LangFileString} lng_zh_TW "Китайский, Тайвань (zh_TW)"
diff --git a/packaging/win32/languages/SimpChinese.nsh b/packaging/win32/languages/SimpChinese.nsh
new file mode 100644
index 0000000..48a2a3a
--- /dev/null
+++ b/packaging/win32/languages/SimpChinese.nsh
@@ -0,0 +1,55 @@
+;Language: Simplified Chinese (2052)
+;By Liang Wang <fabienow@gmail.com>
+${LangFileString} CaptionDescription "开源向量绘图软件"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) 以GNU通用公共许可证发行。 在些提供许可证内容以供参考。 $_CLICK"
+${LangFileString} DIFFERENT_USER "使用者 $0 已经安装 Inkscape。$\r$\n如果继续你可能无法成功完成!$\r$\n请以 $0 身份登入后再试一次。"
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 已经安装。 $\n你要在安装 $(^Name) 之前移除上一个版本?"
+${LangFileString} OK_CANCEL_DESC "$\n$\n按“确定”继续或者按“取消”中止。"
+${LangFileString} NO_ADMIN "你没有系统管理员权限。$\r$\n安装 Inkscape 到所有使用者可能无法成功完成。$\r$\n取消勾选“安装给所有使用者”选项."
+${LangFileString} NOT_SUPPORTED "Inkscape 无法于 Windows 95/98/ME 下运行!$\r$\n请查看官方网站的详细信息。"
+${LangFileString} Full "完整"
+${LangFileString} Optimal "理想"
+${LangFileString} Minimal "最小"
+${LangFileString} Core "Inkscape SVG 编辑程序(必须)"
+${LangFileString} CoreDesc "Inkscape 核心库和 DLL "
+${LangFileString} GTKFiles "GTK+ 执行环境(必须)"
+${LangFileString} GTKFilesDesc "Inkscape 使用的跨平台 GUI 工具组"
+${LangFileString} Shortcuts "快捷方式"
+${LangFileString} ShortcutsDesc "启动 Inkscape 的快捷方式"
+${LangFileString} Alluser "安装给所有使用者"
+${LangFileString} AlluserDesc "安装这个应用程序给任何使用这台电脑的人(所有使用者)"
+${LangFileString} Desktop "桌面"
+${LangFileString} DesktopDesc "于桌面上建立 Inkscape 快捷方式"
+${LangFileString} Startmenu "开始菜单"
+${LangFileString} StartmenuDesc "于开始菜单建立 Inkscape 项目"
+${LangFileString} Quicklaunch "快速启动栏"
+${LangFileString} QuicklaunchDesc "于快速启动栏建立 Inkscape 快捷方式"
+${LangFileString} SVGWriter "用 Inkscape 打开 SVG 文档"
+${LangFileString} SVGWriterDesc "选择 Inkscape 作为 SVG 文件类型的首选编辑程序"
+${LangFileString} ContextMenu "右键菜单"
+${LangFileString} ContextMenuDesc "新增 Inkscape 到 SVG 文件类型的右键菜单"
+${LangFileString} DeletePrefs "删除个人偏好设定"
+${LangFileString} DeletePrefsDesc "删除上一次安装遗留的个人偏好设定"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "其他文件类型"
+${LangFileString} AddfilesDesc "其他文件类型"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "范例"
+${LangFileString} ExamplesDesc "Inkscape 使用范例"
+${LangFileString} Tutorials "指导手册"
+${LangFileString} TutorialsDesc "Inkscape 使用说明"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "语言"
+${LangFileString} LanguagesDesc "安装 Inkscape 各种语言翻译"
+${LangFileString} UInstOpt "反安装选项"
+${LangFileString} UInstOpt1 "请选择其他选项"
+${LangFileString} PurgePrefs "保留个人偏好设定"
+${LangFileString} UninstallLogNotFound "没有找到 $INSTDIR\uninstall.log !$\r$\n请自行清除 $INSTDIR 文件夹來反安装!"
+${LangFileString} FileChanged "安装后 $filename 文件类型已变更。$\r$\n你是否仍然要删除那个文件类型?"
+${LangFileString} Yes "是"
+${LangFileString} AlwaysYes "全部皆是"
+${LangFileString} No "否"
+${LangFileString} AlwaysNo "全部皆否"
diff --git a/packaging/win32/languages/SimpChinese_languageNames.nsh b/packaging/win32/languages/SimpChinese_languageNames.nsh
new file mode 100644
index 0000000..e17468c
--- /dev/null
+++ b/packaging/win32/languages/SimpChinese_languageNames.nsh
@@ -0,0 +1,92 @@
+### Chinese/China (zh_CN) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'SimpChinese.nsh'
+${LangFileString} lng_ar "阿拉伯语(ar)"
+${LangFileString} lng_as "阿萨姆语(as)"
+${LangFileString} lng_az "阿塞拜疆语(az)"
+${LangFileString} lng_be "白俄罗斯语(be)"
+${LangFileString} lng_bg "保加利亚语(bg)"
+${LangFileString} lng_bn "孟加拉语(bn)"
+${LangFileString} lng_bn_BD "孟加拉语/西孟加拉 (bn_BD)"
+${LangFileString} lng_br "布利托尼语(br)"
+${LangFileString} lng_brx "博多语(brx)"
+${LangFileString} lng_ca "加泰罗尼亚语(ca)"
+${LangFileString} lng_ca@valencia "瓦伦西亚加泰罗尼亚语(ca@valencia)"
+${LangFileString} lng_cs "捷克语(cs)"
+${LangFileString} lng_da "丹麦语(da)"
+${LangFileString} lng_de "德语(de)"
+${LangFileString} lng_doi "多格拉语(doi)"
+${LangFileString} lng_dz "不丹语(dz)"
+${LangFileString} lng_el "希腊语(el)"
+${LangFileString} lng_en "英语(en)"
+${LangFileString} lng_en_AU "英语/澳大利亚(en_AU)"
+${LangFileString} lng_en_CA "英语/加拿大(en_CA)"
+${LangFileString} lng_en_GB "英语/英国(en_GB)"
+${LangFileString} lng_eo "世界语(eo)"
+${LangFileString} lng_es "西班牙语(es)"
+${LangFileString} lng_es_MX "西班牙语/墨西哥(es_MX)"
+${LangFileString} lng_et "爱沙尼亚语(et)"
+${LangFileString} lng_eu "巴斯克语(eu)"
+${LangFileString} lng_fa "波斯语(fa)"
+${LangFileString} lng_fi "芬兰语(fi)"
+${LangFileString} lng_fr "法语(fr)"
+${LangFileString} lng_ga "爱尔兰语(ga)"
+${LangFileString} lng_gl "加利西亚语(gl)"
+${LangFileString} lng_gu "古吉拉特语(gu)"
+${LangFileString} lng_he "希伯来语(he)"
+${LangFileString} lng_hi "印地语(hi)"
+${LangFileString} lng_hr "克罗地亚语(hr)"
+${LangFileString} lng_hu "匈牙利语(hu)"
+${LangFileString} lng_hy "亚美尼亚语(hy)"
+${LangFileString} lng_id "印度尼西亚语(id)"
+${LangFileString} lng_is "冰岛语(is)"
+${LangFileString} lng_it "意大利语(it)"
+${LangFileString} lng_ja "日语(ja)"
+${LangFileString} lng_km "柬埔寨语(km)"
+${LangFileString} lng_kn "坎那达文 (kn)"
+${LangFileString} lng_ko "韩语(ko)"
+${LangFileString} lng_kok "孔卡尼语(kok)"
+${LangFileString} lng_kok@latin "孔卡尼语,拉丁字书写(sr@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "立陶宛语(lt)"
+${LangFileString} lng_lv "拉脱维亚语(lv)"
+${LangFileString} lng_mai "迈蒂利语(mai)"
+${LangFileString} lng_mk "马其顿语(mk)"
+${LangFileString} lng_ml "马拉雅拉姆语(ml)"
+${LangFileString} lng_mn "蒙古语(mn)"
+${LangFileString} lng_mni "曼尼普尔语(mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "马拉地语(mr)"
+${LangFileString} lng_nb "挪威巴克摩语(nb)"
+${LangFileString} lng_ne "尼泊尔语(ne)"
+${LangFileString} lng_nl "荷兰语(nl)"
+${LangFileString} lng_nn "挪威尼诺斯克语(nn)"
+${LangFileString} lng_or "奥里亚语(or)"
+${LangFileString} lng_pa "潘贾比语(pa)"
+${LangFileString} lng_pl "波兰语(pl)"
+${LangFileString} lng_pt "葡萄牙语(pt)"
+${LangFileString} lng_pt_BR "葡萄牙语/巴西(pt_BR)"
+${LangFileString} lng_ro "罗马尼亚语(ro)"
+${LangFileString} lng_ru "俄语(ru)"
+${LangFileString} lng_rw "卢旺达语(rw)"
+${LangFileString} lng_sa "梵语(sa)"
+${LangFileString} lng_sat "桑塔尔语(sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "信德语(sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "斯洛伐克语(sk)"
+${LangFileString} lng_sl "斯洛文尼亚语(sl)"
+${LangFileString} lng_sq "阿尔巴尼亚语(sq)"
+${LangFileString} lng_sr "塞尔维亚语(sr)"
+${LangFileString} lng_sr@latin "塞尔维亚语,拉丁字书写(sr@latin)"
+${LangFileString} lng_sv "瑞典语(sv)"
+${LangFileString} lng_ta "泰米尔语(ta)"
+${LangFileString} lng_te "泰卢固语(te)"
+${LangFileString} lng_th "泰语(th)"
+${LangFileString} lng_tr "土耳其语(tr)"
+${LangFileString} lng_uk "乌克兰语(uk)"
+${LangFileString} lng_ur "乌尔都语(ur)"
+${LangFileString} lng_vi "越南语(vi)"
+${LangFileString} lng_zh_CN "中文/中国(zh_CN)"
+${LangFileString} lng_zh_TW "中文/台湾(zh_TW)"
diff --git a/packaging/win32/languages/Slovak.nsh b/packaging/win32/languages/Slovak.nsh
new file mode 100644
index 0000000..befe7f4
--- /dev/null
+++ b/packaging/win32/languages/Slovak.nsh
@@ -0,0 +1,55 @@
+;Language: Slovak (1051)
+;By Ivan Masár <helix84@centrum.sk>
+${LangFileString} CaptionDescription "Open source editor SVG grafiky"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) je možné šíriť za podmienok General Public License (GPL). Licenčná zmluva je tu len pre informačné účely. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape nainštaloval používateľ $0.$\r$\nInštalácia nemusí správne skončiť, ak v nej budete pokračovať!$\r$\nProsím, prihláste sa ako $0 a spustite inštaláciu znova."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 už je nainštalovaný. $\nChcete odstrániť predchádzajúcu verziu predtým, než nainštalujete $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPokračujte stlačením OK alebo zrušte inštaláciu stlačením Zrušiť."
+${LangFileString} NO_ADMIN "Nemáte práva správcu.$\r$\nInštalácia Inkscape pre všetkých používateľov nemusí skončiť úspešne.$\r$\nZrušte označenie voľby „Pre všetkých používateľov“."
+${LangFileString} NOT_SUPPORTED "Inkscape nebeží na Windows 95/98/ME!$\r$\nPodrobnejšie informácie nájdete na oficiálnom webe."
+${LangFileString} Full "Plná"
+${LangFileString} Optimal "Optimálna"
+${LangFileString} Minimal "Minimálna"
+${LangFileString} Core "Inkscape SVG editor (povinné)"
+${LangFileString} CoreDesc "Súbory a knižnice Inkscape"
+${LangFileString} GTKFiles "GTK+ runtime environment (povinné)"
+${LangFileString} GTKFilesDesc "Multiplatformová sada používateľského rozhrania použitého v Inkscape"
+${LangFileString} Shortcuts "Zástupcovia"
+${LangFileString} ShortcutsDesc "Zástupcovia pre štart Inkscape"
+${LangFileString} Alluser "pre všetkých používateľov"
+${LangFileString} AlluserDesc "Inštalovať aplikáciu pre kohokoľvek, kto používa tento počítač. (všetci používatelia)"
+${LangFileString} Desktop "Plocha"
+${LangFileString} DesktopDesc "Vytvořit zástupcu Inkscape na ploche"
+${LangFileString} Startmenu "Ponuka Štart"
+${LangFileString} StartmenuDesc "Vytvoriť pre Inkscape položku ve ponuke Štart"
+${LangFileString} Quicklaunch "Panel rýchleho spustenia"
+${LangFileString} QuicklaunchDesc "Vytvoriť pre Inkscape zástupcu v paneli rýchleho spustenia"
+${LangFileString} SVGWriter "Otvárať SVG súbory v Inkscape"
+${LangFileString} SVGWriterDesc "Vybrať Inkscape ako štandardný editor pre SVG súbory"
+${LangFileString} ContextMenu "Kontextová ponuka"
+${LangFileString} ContextMenuDesc "Pridať Inkscape do kontextového menu pre SVG súbory"
+${LangFileString} DeletePrefs "Zmazať osobné nastavenia"
+${LangFileString} DeletePrefsDesc "Zmazať osobné nastavenia ponechané z predchádzajúcich inštalácií"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Ďalšie súbory"
+${LangFileString} AddfilesDesc "Ďalšie súbory"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Príklady"
+${LangFileString} ExamplesDesc "Príklady používania Inkscape"
+${LangFileString} Tutorials "Sprievodcovia"
+${LangFileString} TutorialsDesc "Sprievodcovia funkciami Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Jazykové sady"
+${LangFileString} LanguagesDesc "Nainštalovať ďalšie jazykové sady Inkscape"
+${LangFileString} UInstOpt "Možnosti deinštalácie"
+${LangFileString} UInstOpt1 "Zvoľte prosím ďalšie možnosti"
+${LangFileString} PurgePrefs "Ponechať osobné nastavenia"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log nebol nájdený!$\r$\nProsím, odinštalujte ručným vyčistením adresára $INSTDIR !"
+${LangFileString} FileChanged "Súbor $filename sa po inštalácii zmenil.$\r$\nChcete ho napriek tomu vymazať?"
+${LangFileString} Yes "Áno"
+${LangFileString} AlwaysYes "Áno všetky"
+${LangFileString} No "Nie"
+${LangFileString} AlwaysNo "Nie všetky"
diff --git a/packaging/win32/languages/Slovak_languageNames.nsh b/packaging/win32/languages/Slovak_languageNames.nsh
new file mode 100644
index 0000000..9206cf8
--- /dev/null
+++ b/packaging/win32/languages/Slovak_languageNames.nsh
@@ -0,0 +1,92 @@
+### Slovak (sk) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Slovak.nsh'
+${LangFileString} lng_ar "arabčina (ar)"
+${LangFileString} lng_as "ásámčina (as)"
+${LangFileString} lng_az "azerbajdžančina (az)"
+${LangFileString} lng_be "bieloruština (be)"
+${LangFileString} lng_bg "bulharčina (bg)"
+${LangFileString} lng_bn "bengálčina (bn)"
+${LangFileString} lng_bn_BD "bengálčina (Bangladéš) (bn)"
+${LangFileString} lng_br "bretónčina (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "katalánčina (ca)"
+${LangFileString} lng_ca@valencia "valencijčina (ca@valencia)"
+${LangFileString} lng_cs "čeština (cs)"
+${LangFileString} lng_da "dánčina (da)"
+${LangFileString} lng_de "nemčina (de)"
+${LangFileString} lng_doi "dógrí (doi)"
+${LangFileString} lng_dz "dzongkä (dz)"
+${LangFileString} lng_el "gréčtina (el)"
+${LangFileString} lng_en "angličtina (en)"
+${LangFileString} lng_en_AU "angličtina (Austrália) (en_AU)"
+${LangFileString} lng_en_CA "angličtina (Kanada) (en_CA)"
+${LangFileString} lng_en_GB "angličtina (Spojené kráľovstvo) (en_GB)"
+${LangFileString} lng_eo "esperanto (eo)"
+${LangFileString} lng_es "španielčina (es)"
+${LangFileString} lng_es_MX "španielčina (Mexiko) (es_MX)"
+${LangFileString} lng_et "estónčina (et)"
+${LangFileString} lng_eu "baskičtina (eu)"
+${LangFileString} lng_fa "perzština (fa)"
+${LangFileString} lng_fi "fínčina (fi)"
+${LangFileString} lng_fr "francúzština (fr)"
+${LangFileString} lng_ga "írčina (ga)"
+${LangFileString} lng_gl "galícijčina (gl)"
+${LangFileString} lng_gu "gudžarátčina (gu)"
+${LangFileString} lng_he "hebrejčina (he)"
+${LangFileString} lng_hi "hindčina (hi)"
+${LangFileString} lng_hr "chorvátčina (hr)"
+${LangFileString} lng_hu "maďarčina (hu)"
+${LangFileString} lng_hy "arménčina (hy)"
+${LangFileString} lng_id "indonézština (id)"
+${LangFileString} lng_is "islandčina (is)"
+${LangFileString} lng_it "taliančina (it)"
+${LangFileString} lng_ja "japončina (ja)"
+${LangFileString} lng_km "khmérčina (km)"
+${LangFileString} lng_kn "kannadčina (kn)"
+${LangFileString} lng_ko "kórejčina (ko)"
+${LangFileString} lng_kok "konkánčina (kok)"
+${LangFileString} lng_kok@latin "konkánčina v latinke (kok@latin)"
+${LangFileString} lng_ks@aran "kašmírčina v perzsko-arabskom skripte (ks@aran)"
+${LangFileString} lng_ks@deva "kašmírčina v skripte Devanagari (ks@deva)"
+${LangFileString} lng_lt "litovčina (lt)"
+${LangFileString} lng_lv "lotyština (lv)"
+${LangFileString} lng_mai "maithilčina (mai)"
+${LangFileString} lng_mk "macedónčina (mk)"
+${LangFileString} lng_ml "malajálamčina (ml)"
+${LangFileString} lng_mn "mongolčina (mn)"
+${LangFileString} lng_mni "manípurčina (mni)"
+${LangFileString} lng_mni@beng "manípurčina v bengálskom skripte (mni@beng)"
+${LangFileString} lng_mr "maráthčina (mr)"
+${LangFileString} lng_nb "nórsky bokmål (nb)"
+${LangFileString} lng_ne "nepálčina (ne)"
+${LangFileString} lng_nl "holandčina (nl)"
+${LangFileString} lng_nn "nórsky nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "pandžábčina (pa)"
+${LangFileString} lng_pl "poľština (pl)"
+${LangFileString} lng_pt "portugalčina (pt)"
+${LangFileString} lng_pt_BR "portugalčina (Brazília) (pt_BR)"
+${LangFileString} lng_ro "rumunčina (ro)"
+${LangFileString} lng_ru "ruština (ru)"
+${LangFileString} lng_rw "rwandčina (rw)"
+${LangFileString} lng_sa "sanskrit (sa)"
+${LangFileString} lng_sat "santalčina (sat)"
+${LangFileString} lng_sat@deva "santalčina v skripte Devanagari (sat@deva)"
+${LangFileString} lng_sd "sindhčina (sd)"
+${LangFileString} lng_sd@deva "sindhčina v skripte Devanagari (sd@deva)"
+${LangFileString} lng_sk "slovenčina (sk)"
+${LangFileString} lng_sl "slovinčina (sl)"
+${LangFileString} lng_sq "albánčina (sq)"
+${LangFileString} lng_sr "srbčina (sr)"
+${LangFileString} lng_sr@latin "srbčina v latinke (sr@latin)"
+${LangFileString} lng_sv "švédčina (sv)"
+${LangFileString} lng_ta "tamilčina (ta)"
+${LangFileString} lng_te "telugčina (te)"
+${LangFileString} lng_th "thajčina (th)"
+${LangFileString} lng_tr "turečtina (tr)"
+${LangFileString} lng_uk "ukrajinčina (uk)"
+${LangFileString} lng_ur "urdčina (ur)"
+${LangFileString} lng_vi "vietnamčina (vi)"
+${LangFileString} lng_zh_CN "čínština (Čína) (zh_CN)"
+${LangFileString} lng_zh_TW "čínština (Taiwan) (zh_TW)"
diff --git a/packaging/win32/languages/Slovenian.nsh b/packaging/win32/languages/Slovenian.nsh
new file mode 100644
index 0000000..fd50222
--- /dev/null
+++ b/packaging/win32/languages/Slovenian.nsh
@@ -0,0 +1,55 @@
+;Language: Slovenian (1060)
+;By Martin Srebotnjak
+${LangFileString} CaptionDescription "Odprtokodni urejevalnik vektorskih slik"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) je izdan pod licenco GNU General Public License (GPL). Priložena licenca služi le v informativne namene. $_CLICK"
+${LangFileString} DIFFERENT_USER "Uporabnik $0 je že namestil Inkscape.$\r$\nČe nadaljujete, namestitev morda ne bo uspešno dokončana!$\r$\nPonovno se prijavite kot $0 in poskusite znova."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 je že nameščen. $\nŽelite odstraniti predhodno različico, preden namestite $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPritisnite V redu za nadaljevanje ali Prekliči za preklic."
+${LangFileString} NO_ADMIN "Nimate skrbniških pravic.$\r$\nNameščanje programa Inkscape za vse uporabnike se morda ne bo končala uspešno.$\r$\nIzklopite možnost 'za vse uporabnike'."
+${LangFileString} NOT_SUPPORTED "Za Inkscape velja, da ne teče v okoljih Windows 95/98/ME!$\r$\nProsim, oglejte si uradno spletno stran za podrobnejše informacije."
+${LangFileString} Full "Polna"
+${LangFileString} Optimal "Optimalna"
+${LangFileString} Minimal "Minimalna"
+${LangFileString} Core "Urejevalnik SVG Inkscape (obvezno)"
+${LangFileString} CoreDesc "Osnovne datoteke in dll-ji Inkscape"
+${LangFileString} GTKFiles "Izvajalno okolje GTK+ (obvezno)"
+${LangFileString} GTKFilesDesc "Večplatformna osnova za uporabniški vmesnik, ki ga uporablja tudi Inkscape"
+${LangFileString} Shortcuts "Bližnjice"
+${LangFileString} ShortcutsDesc "Bližnjice za zagon Inkscape"
+${LangFileString} Alluser "Za vse uporabnike"
+${LangFileString} AlluserDesc "Namesti program za vse, ki uporabljajo ta računalnik (vsi uporabniki)"
+${LangFileString} Desktop "Namizje"
+${LangFileString} DesktopDesc "Ustvari bližnjico do Inkscape na namizju"
+${LangFileString} Startmenu "Meni Start"
+${LangFileString} StartmenuDesc "Ustvari vnos Inkscape v meniju Start"
+${LangFileString} Quicklaunch "Hitri zagon"
+${LangFileString} QuicklaunchDesc "Ustvari bližnjico Inkscape na orodni vrstici Hitri zagon"
+${LangFileString} SVGWriter "Odpiraj datoteke SVG z Inkscape-om"
+${LangFileString} SVGWriterDesc "Izbere Inkscape kot privzeti urejevalnik za datoteke SVG"
+${LangFileString} ContextMenu "Pojavni meni"
+${LangFileString} ContextMenuDesc "Doda Inkscape v pojavni meni za datoteke SVG"
+${LangFileString} DeletePrefs "Izbriši osebne nastavitve"
+${LangFileString} DeletePrefsDesc "Izbriši osebne nastavitve, ki so ostale od predhodno nameščene različice"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Dodatne datoteke"
+${LangFileString} AddfilesDesc "Dodatne datoteke"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Primeri"
+${LangFileString} ExamplesDesc "Primeri uporabe Inkscape"
+${LangFileString} Tutorials "Vodiči s primeri"
+${LangFileString} TutorialsDesc "Vodiči s primeri uporabe Inkscape-a"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Prevodi"
+${LangFileString} LanguagesDesc "Namesti različne prevode za Inkscape"
+${LangFileString} UInstOpt "Možnosti odstranitve"
+${LangFileString} UInstOpt1 "Izberite dodatne možnosti"
+${LangFileString} PurgePrefs "Ohrani osebne nastavitve"
+${LangFileString} UninstallLogNotFound "$INSTDIR\uninstall.log ni mogoče najti!$\r$\nNamestitev odstranite tako, da sami počistite mapo $INSTDIR!"
+${LangFileString} FileChanged "Datoteka $filename je bila spremenjena po namestitvi.$\r$\nJo kljub temu želite izbrisati?"
+${LangFileString} Yes "Da"
+${LangFileString} AlwaysYes "vedno odgovori z Da"
+${LangFileString} No "Ne"
+${LangFileString} AlwaysNo "vedno odgovori z Ne"
diff --git a/packaging/win32/languages/Slovenian_languageNames.nsh b/packaging/win32/languages/Slovenian_languageNames.nsh
new file mode 100644
index 0000000..de2601e
--- /dev/null
+++ b/packaging/win32/languages/Slovenian_languageNames.nsh
@@ -0,0 +1,92 @@
+### Slovenian (sl) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Slovenian.nsh'
+${LangFileString} lng_ar "arabski (ar)"
+${LangFileString} lng_as "Assamese (as)"
+${LangFileString} lng_az "azerbajdžanski (az)"
+${LangFileString} lng_be "beloruski (be)"
+${LangFileString} lng_bg "bolgarski (bg)"
+${LangFileString} lng_bn "bengalski (bn)"
+${LangFileString} lng_bn_BD "Bengali/Bangladesh (bn_BD)"
+${LangFileString} lng_br "bretonski (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "katalonski (ca)"
+${LangFileString} lng_ca@valencia "katalonski, Valencia (ca@valencia)"
+${LangFileString} lng_cs "češki (cs)"
+${LangFileString} lng_da "danski (da)"
+${LangFileString} lng_de "nemški (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "džonkški (dz)"
+${LangFileString} lng_el "grški (el)"
+${LangFileString} lng_en "angleški (en)"
+${LangFileString} lng_en_AU "angleški/Avstralija (en_AU)"
+${LangFileString} lng_en_CA "angleški/Kanada (en_CA)"
+${LangFileString} lng_en_GB "angleški/Velika Britanija (en_GB)"
+${LangFileString} lng_eo "esperanto (eo)"
+${LangFileString} lng_es "španski (es)"
+${LangFileString} lng_es_MX "španski/Mehika (es_MX)"
+${LangFileString} lng_et "estonski (et)"
+${LangFileString} lng_eu "baskovski (eu)"
+${LangFileString} lng_fa "farsi (fa)"
+${LangFileString} lng_fi "finski (fi)"
+${LangFileString} lng_fr "francoski (fr)"
+${LangFileString} lng_ga "irski (ga)"
+${LangFileString} lng_gl "galicijski (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "hebrejski (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "hrvaški (hr)"
+${LangFileString} lng_hu "madžarski (hu)"
+${LangFileString} lng_hy "armenski (hy)"
+${LangFileString} lng_id "indonezijski (id)"
+${LangFileString} lng_is "Icelandic (is)"
+${LangFileString} lng_it "italijanski (it)"
+${LangFileString} lng_ja "japonski (ja)"
+${LangFileString} lng_km "kmerski (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "korejski (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani in Latin script (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "Kashmiri in Devanagari script (ks@deva)"
+${LangFileString} lng_lt "litovski (lt)"
+${LangFileString} lng_lv "latvijski (lt)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "makedonski (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "mongolski (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri in Bengali script (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "norveški, Bokmål (nb)"
+${LangFileString} lng_ne "nepalski (ne)"
+${LangFileString} lng_nl "nizozemski (nl)"
+${LangFileString} lng_nn "norveški, Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "pandžabski (pa)"
+${LangFileString} lng_pl "poljski (pl)"
+${LangFileString} lng_pt "portugalski (pt)"
+${LangFileString} lng_pt_BR "portugalski/Brazilija (pt_BR)"
+${LangFileString} lng_ro "romunski (ro)"
+${LangFileString} lng_ru "ruski (ru)"
+${LangFileString} lng_rw "kinjarvandski (rw)"
+${LangFileString} lng_sa "Sanskrit (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali in Devanagari script (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi in Devanagari script (sd@deva)"
+${LangFileString} lng_sk "slovaški (sk)"
+${LangFileString} lng_sl "slovenski (sl)"
+${LangFileString} lng_sq "albanski (sq)"
+${LangFileString} lng_sr "srbski (sr)"
+${LangFileString} lng_sr@latin "srbski, latinica (sr@latin)"
+${LangFileString} lng_sv "švedski (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "tajski (th)"
+${LangFileString} lng_tr "turški (tr)"
+${LangFileString} lng_uk "ukrajinski (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "vietnamski (vi)"
+${LangFileString} lng_zh_CN "kitajski/Kitajska (zh_CN)"
+${LangFileString} lng_zh_TW "kitajski/Tajvan (zh_TW)"
diff --git a/packaging/win32/languages/Spanish.nsh b/packaging/win32/languages/Spanish.nsh
new file mode 100644
index 0000000..c28d294
--- /dev/null
+++ b/packaging/win32/languages/Spanish.nsh
@@ -0,0 +1,55 @@
+;Language: Spanish (1034)
+;By Lucas Vieites <lucas@codexion.com>
+${LangFileString} CaptionDescription "Editor de gráficos vectoriales escalables (SVG) de código abierto"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) se publica bajo la Licencia Pública General GNU (GPL). Esta licencia se muestra aquí solamente como información. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape ha sido instalado por el usuario $0.$\r$\nSi continúa, la operación podría finalizar sin éxito.$\r$\nInicie sesión como $0 y vuelva a intentarlo."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 ya ha sido instalado. $\n¿Desea eliminar la versión anterior antes de instalar $(^Name) ?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nPulse Aceptar para continuar o Cancelar para terminar."
+${LangFileString} NO_ADMIN "No dispone de privilegios de administrador.$\r$\nLa instalación de Inkscape para todos los usuarios podría terminar sin éxito.$\r$\ndesmarque la casilla «para todos los usuarios»."
+${LangFileString} NOT_SUPPORTED "Inkscape no se ejecuta correctamente en Windows 95/98/ME$\r$\nAcceda a la página web oficial si desea obtener más información."
+${LangFileString} Full "Completa"
+${LangFileString} Optimal "Óptima"
+${LangFileString} Minimal "Mínima"
+${LangFileString} Core "Inkscape Editor SVG (requerido)"
+${LangFileString} CoreDesc "Archivos Inkscape básicos y dlls"
+${LangFileString} GTKFiles "GTK+ Runtime Environment (requerido)"
+${LangFileString} GTKFilesDesc "Un conjunto de herramientas GUI, utilizado por Inkscape"
+${LangFileString} Shortcuts "Acceso directo"
+${LangFileString} ShortcutsDesc "Accesos directos para iniciar Inkscape"
+${LangFileString} Alluser "para todos los usuarios"
+${LangFileString} AlluserDesc "Instalar esta aplicación para todos los que utilizan este equipo (todos los usuarios)"
+${LangFileString} Desktop "Escritorio"
+${LangFileString} DesktopDesc "Crear un acceso directo a Inkscape en el escritorio"
+${LangFileString} Startmenu "Menú Inicio"
+${LangFileString} StartmenuDesc "Crear una entrada en el menú Inicio para Inkscape"
+${LangFileString} Quicklaunch "Acceso rápido"
+${LangFileString} QuicklaunchDesc "Crear un acceso directo a Inkscape en la barra de acceso rápido"
+${LangFileString} SVGWriter "Abrir archivos SVG con Inkscape"
+${LangFileString} SVGWriterDesc "Seleccionar Inkscape como editor predeterminado para archivos"
+${LangFileString} ContextMenu "Menú contextual"
+${LangFileString} ContextMenuDesc "Añadir Inkscape al menú contextual para archivos SVG"
+${LangFileString} DeletePrefs "Eliminar preferencias personales"
+${LangFileString} DeletePrefsDesc "Eliminar las preferencias personales restantes de instalaciones anteriores."
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "Archivos adicionales"
+${LangFileString} AddfilesDesc "Archivos adicionales"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "Ejemplos"
+${LangFileString} ExamplesDesc "Ejemplos de uso de Inkscape"
+${LangFileString} Tutorials "Tutoriales"
+${LangFileString} TutorialsDesc "Tutoriales del uso de Inkscape"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "Traducciones"
+${LangFileString} LanguagesDesc "Instalar varias traducciones para Inkscape"
+${LangFileString} UInstOpt "Opciones de desinstalación"
+${LangFileString} UInstOpt1 "Elija sus opciones adicionales"
+${LangFileString} PurgePrefs "Guardar las preferencias personales"
+${LangFileString} UninstallLogNotFound "No se ha encontrado $INSTDIR\uninstall.log.$\r$\nDesinstale limpiando el directorio $INSTDIR."
+${LangFileString} FileChanged "El archivo $filename ha sido cambiado después de la instalación.$\r$\n¿Está seguro de que desea eliminar este archivo?"
+${LangFileString} Yes "Sí"
+${LangFileString} AlwaysYes "siempre responder Sí"
+${LangFileString} No "No"
+${LangFileString} AlwaysNo "siempre responder No"
diff --git a/packaging/win32/languages/Spanish_languageNames.nsh b/packaging/win32/languages/Spanish_languageNames.nsh
new file mode 100644
index 0000000..9296d86
--- /dev/null
+++ b/packaging/win32/languages/Spanish_languageNames.nsh
@@ -0,0 +1,92 @@
+### Spanish (es) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Spanish.nsh'
+${LangFileString} lng_ar "Árabe (ar)"
+${LangFileString} lng_as "Asamés (as)"
+${LangFileString} lng_az "Azerbayano (az)"
+${LangFileString} lng_be "Bielorruso (be) "
+${LangFileString} lng_bg "Búlgaro (bg)"
+${LangFileString} lng_bn "Bengalí (bn)"
+${LangFileString} lng_bn_BD "Bengalí/Bangladesh (bn_BD)"
+${LangFileString} lng_br "Bretón (br)"
+${LangFileString} lng_brx "Bodo (brx)"
+${LangFileString} lng_ca "Catalán (ca)"
+${LangFileString} lng_ca@valencia "Valenciano (ca@valencia)"
+${LangFileString} lng_cs "Checo (cs)"
+${LangFileString} lng_da "Danés (da)"
+${LangFileString} lng_de "Alemán (de)"
+${LangFileString} lng_doi "Dogri (doi)"
+${LangFileString} lng_dz "Dzongkha (dz)"
+${LangFileString} lng_el "Griego (el)"
+${LangFileString} lng_en "Inglés (en)"
+${LangFileString} lng_en_AU "Inglés/Australia (en_AU)"
+${LangFileString} lng_en_CA "Inglés/Canada (en_CA)"
+${LangFileString} lng_en_GB "Inglés/Gran Bretaña (en_GB)"
+${LangFileString} lng_eo "Esperanto (eo)"
+${LangFileString} lng_es "Español (es)"
+${LangFileString} lng_es_MX "Español/México (es_MX)"
+${LangFileString} lng_et "Estonio (et)"
+${LangFileString} lng_eu "Euskera (eu)"
+${LangFileString} lng_fa "Farsi (fa)"
+${LangFileString} lng_fi "Finés (fi)"
+${LangFileString} lng_fr "Francés (fr)"
+${LangFileString} lng_ga "Irlandés (ga)"
+${LangFileString} lng_gl "Gallego (gl)"
+${LangFileString} lng_gu "Gujarati (gu)"
+${LangFileString} lng_he "Hebreo (he)"
+${LangFileString} lng_hi "Hindi (hi)"
+${LangFileString} lng_hr "Croata (hr)"
+${LangFileString} lng_hu "Húngaro (hu)"
+${LangFileString} lng_hy "Armenio (hy)"
+${LangFileString} lng_id "Indonesio (id)"
+${LangFileString} lng_is "Islandés (is)"
+${LangFileString} lng_it "Italiano (it)"
+${LangFileString} lng_ja "Japonés (ja)"
+${LangFileString} lng_km "Jemer (km)"
+${LangFileString} lng_kn "Kannada (kn)"
+${LangFileString} lng_ko "Coreano (ko)"
+${LangFileString} lng_kok "Konkani (kok)"
+${LangFileString} lng_kok@latin "Konkani en escritura latina (kok@latin)"
+${LangFileString} lng_ks@aran "Cachemiro en escritura Perso-Arábica (ks@aran)"
+${LangFileString} lng_ks@deva "Cachemiro en escritura Devanagari (ks@deva)"
+${LangFileString} lng_lt "Lituano (lt)"
+${LangFileString} lng_lv "Letón (lv)"
+${LangFileString} lng_mai "Maithili (mai)"
+${LangFileString} lng_mk "Macedonio (mk)"
+${LangFileString} lng_ml "Malayalam (ml)"
+${LangFileString} lng_mn "Mongol (mn)"
+${LangFileString} lng_mni "Manipuri (mni)"
+${LangFileString} lng_mni@beng "Manipuri en escritura Bengalí (mni@beng)"
+${LangFileString} lng_mr "Marathi (mr)"
+${LangFileString} lng_nb "Noruego Bokmål (nb)"
+${LangFileString} lng_ne "Nepalí (ne)"
+${LangFileString} lng_nl "Holandés (nl)"
+${LangFileString} lng_nn "Noruego Nynorsk (nn)"
+${LangFileString} lng_or "Odia (or)"
+${LangFileString} lng_pa "Panjabí (pa)"
+${LangFileString} lng_pl "Polaco (pl)"
+${LangFileString} lng_pt "Portugués (pt)"
+${LangFileString} lng_pt_BR "Portugués brasileño (pt_BR)"
+${LangFileString} lng_ro "Rumano (ro)"
+${LangFileString} lng_ru "Ruso (ru)"
+${LangFileString} lng_rw "Kinyarwanda (rw)"
+${LangFileString} lng_sa "Sánscrito (sa)"
+${LangFileString} lng_sat "Santali (sat)"
+${LangFileString} lng_sat@deva "Santali en escritura Devanagari (sat@deva)"
+${LangFileString} lng_sd "Sindhi (sd)"
+${LangFileString} lng_sd@deva "Sindhi en escritura Devanagari (sd@deva)"
+${LangFileString} lng_sk "Eslovaco (sk)"
+${LangFileString} lng_sl "Esloveno (sl)"
+${LangFileString} lng_sq "Albanés (sq)"
+${LangFileString} lng_sr "Serbio (sr)"
+${LangFileString} lng_sr@latin "Serbio en escritura latina (sr@latin)"
+${LangFileString} lng_sv "Sueco (sv)"
+${LangFileString} lng_ta "Tamil (ta)"
+${LangFileString} lng_te "Telugu (te)"
+${LangFileString} lng_th "Thai (th)"
+${LangFileString} lng_tr "Turco (tr)"
+${LangFileString} lng_uk "Ukranio (uk)"
+${LangFileString} lng_ur "Urdu (ur)"
+${LangFileString} lng_vi "Vietnamita (vi)"
+${LangFileString} lng_zh_CN "Chino/China (zh_CN)"
+${LangFileString} lng_zh_TW "Chino/Taiwán (zh_TW)"
diff --git a/packaging/win32/languages/TradChinese.nsh b/packaging/win32/languages/TradChinese.nsh
new file mode 100644
index 0000000..38d0179
--- /dev/null
+++ b/packaging/win32/languages/TradChinese.nsh
@@ -0,0 +1,55 @@
+;Language: Traditional Chinese (1028)
+;By Dong-Jun Wu <ziyawu@gmail.com>
+${LangFileString} CaptionDescription "開放原始碼向量繪圖軟體"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) 是以 GNU 通用公共許可證 (GPL) 發行。 這裡提供的許可證僅為參考訊息。 $_CLICK"
+${LangFileString} DIFFERENT_USER "使用者 $0 已經安裝 Inkscape。$\r$\n如果繼續你可能無法成功完成!$\r$\n請以 $0 身份登入後再試一次。"
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 已經安裝。 $\n你要在安裝 $(^Name) 之前移除上一個版本?"
+${LangFileString} OK_CANCEL_DESC "$\n$\n按「確定」繼續或者按「取消」中止。"
+${LangFileString} NO_ADMIN "你沒有系統管理員權限。$\r$\n安裝 Inkscape 到所有使用者可能無法成功完成。$\r$\n取消勾選「安裝給所有使用者」選項."
+${LangFileString} NOT_SUPPORTED "Inkscape 無法於 Windows 95/98/ME 下運行!$\r$\n請查看官方網站的詳細信息。"
+${LangFileString} Full "完整"
+${LangFileString} Optimal "理想"
+${LangFileString} Minimal "最小"
+${LangFileString} Core "Inkscape SVG 編輯程式(必須)"
+${LangFileString} CoreDesc "Inkscape 核心檔案和 DLL 檔"
+${LangFileString} GTKFiles "GTK+ 執行環境(必須)"
+${LangFileString} GTKFilesDesc "Inkscape 使用的跨平台 GUI 工具組"
+${LangFileString} Shortcuts "捷徑"
+${LangFileString} ShortcutsDesc "啟動 Inkscape 的捷徑"
+${LangFileString} Alluser "安裝給所有使用者"
+${LangFileString} AlluserDesc "安裝這個應用程式給任何使用這台電腦的人(所有使用者)"
+${LangFileString} Desktop "桌面"
+${LangFileString} DesktopDesc "於桌面上建立 Inkscape 捷徑"
+${LangFileString} Startmenu "開始功能表"
+${LangFileString} StartmenuDesc "於開始功能表建立 Inkscape 項目"
+${LangFileString} Quicklaunch "快速啟動"
+${LangFileString} QuicklaunchDesc "於快速啟動列建立 Inkscape 捷徑"
+${LangFileString} SVGWriter "用 Inkscape 開啟 SVG 檔"
+${LangFileString} SVGWriterDesc "選擇 Inkscape 作為 SVG 檔的預設編輯程式"
+${LangFileString} ContextMenu "右鍵功能表"
+${LangFileString} ContextMenuDesc "新增 Inkscape 到 SVG 檔的右鍵功能表"
+${LangFileString} DeletePrefs "刪除個人偏好設定"
+${LangFileString} DeletePrefsDesc "刪除上一次安裝遺留的個人偏好設定"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "An interpreter for the Python programming language and Python modules required to run Inkscape extensions."
+${LangFileString} Addfiles "其他檔案"
+${LangFileString} AddfilesDesc "其他檔案"
+${LangFileString} Extensions "Extensions"
+${LangFileString} ExtensionsDesc "Inkscape extensions (including many import and export plugins)"
+${LangFileString} Examples "範例"
+${LangFileString} ExamplesDesc "Inkscape 使用範例"
+${LangFileString} Tutorials "指導手冊"
+${LangFileString} TutorialsDesc "Inkscape 使用教學"
+${LangFileString} Dictionaries "Dictionaries"
+${LangFileString} DictionariesDesc "Dictionaries for some common languages for spell checking in Inkscape"
+${LangFileString} Languages "語言"
+${LangFileString} LanguagesDesc "安裝 Inkscape 各種語言翻譯"
+${LangFileString} UInstOpt "反安裝選項"
+${LangFileString} UInstOpt1 "請選擇其他選項"
+${LangFileString} PurgePrefs "保留個人偏好設定"
+${LangFileString} UninstallLogNotFound "沒有找到 $INSTDIR\uninstall.log !$\r$\n請自行清除 $INSTDIR 資料夾來反安裝!"
+${LangFileString} FileChanged "安裝後 $filename 檔案已變更。$\r$\n你是否仍然要刪除那個檔案?"
+${LangFileString} Yes "是"
+${LangFileString} AlwaysYes "全部皆是"
+${LangFileString} No "否"
+${LangFileString} AlwaysNo "全部皆否"
diff --git a/packaging/win32/languages/TradChinese_languageNames.nsh b/packaging/win32/languages/TradChinese_languageNames.nsh
new file mode 100644
index 0000000..786c355
--- /dev/null
+++ b/packaging/win32/languages/TradChinese_languageNames.nsh
@@ -0,0 +1,92 @@
+### Chinese/Taiwan (zh_TW) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'TradChinese.nsh'
+${LangFileString} lng_ar "阿拉伯語 (ar)"
+${LangFileString} lng_as "阿薩姆語 (as)"
+${LangFileString} lng_az "亞塞拜然語 (az)"
+${LangFileString} lng_be "白俄羅斯語 (be)"
+${LangFileString} lng_bg "保加利亞語 (bg)"
+${LangFileString} lng_bn "孟加拉語 (bn)"
+${LangFileString} lng_bn_BD "孟加拉語 / 西孟加拉 (bn)"
+${LangFileString} lng_br "不列塔尼語 (br)"
+${LangFileString} lng_brx "博多語 (brx)"
+${LangFileString} lng_ca "加達朗語 (ca)"
+${LangFileString} lng_ca@valencia "瓦倫西亞語 加泰羅尼亞語 (ca@valencia)"
+${LangFileString} lng_cs "捷克語 (cs)"
+${LangFileString} lng_da "丹麥語 (da)"
+${LangFileString} lng_de "德語 (de)"
+${LangFileString} lng_doi "多格萊語 (doi)"
+${LangFileString} lng_dz "宗卡語 (dz)"
+${LangFileString} lng_el "希臘語 (el)"
+${LangFileString} lng_en "英語 (en)"
+${LangFileString} lng_en_AU "英語/澳大利亞 (en_AU)"
+${LangFileString} lng_en_CA "英語 / 加拿大 (en_CA)"
+${LangFileString} lng_en_GB "英語 / 大不列顛 (en_GB)"
+${LangFileString} lng_eo "世界語 (eo)"
+${LangFileString} lng_es "西班牙語 (es)"
+${LangFileString} lng_es_MX "西班牙語 / 墨西哥 (es_MX)"
+${LangFileString} lng_et "愛沙尼亞語 (et)"
+${LangFileString} lng_eu "巴斯克語 (eu)"
+${LangFileString} lng_fa "波斯語 (fa)"
+${LangFileString} lng_fi "芬蘭語 (fi)"
+${LangFileString} lng_fr "法語 (fr)"
+${LangFileString} lng_ga "愛爾蘭語 (ga)"
+${LangFileString} lng_gl "加裡西亞語 (gl)"
+${LangFileString} lng_gu "古吉拉特語 (qu)"
+${LangFileString} lng_he "希伯來語 (he)"
+${LangFileString} lng_hi "印地語 (hi)"
+${LangFileString} lng_hr "克羅埃西亞語 (hr)"
+${LangFileString} lng_hu "匈牙利語 (hu)"
+${LangFileString} lng_hy "亞美尼亞語 (hy)"
+${LangFileString} lng_id "印尼語 (id)"
+${LangFileString} lng_is "冰島語 (is)"
+${LangFileString} lng_it "義大利語 (it)"
+${LangFileString} lng_ja "日文 (ja)"
+${LangFileString} lng_km "高棉語 (km)"
+${LangFileString} lng_kn "坎那達語 (kn)"
+${LangFileString} lng_ko "韓語 (ko)"
+${LangFileString} lng_kok "孔卡尼語 (kok)"
+${LangFileString} lng_kok@latin "拉丁書寫體孔卡尼語 (kok@latin)"
+${LangFileString} lng_ks@aran "Kashmiri in Perso-Arabic script (ks@aran)"
+${LangFileString} lng_ks@deva "迪瓦那格里書寫體喀什米爾語 (ks@deva)"
+${LangFileString} lng_lt "立陶宛語 (lt)"
+${LangFileString} lng_lv "拉脫維亞語 (lv)"
+${LangFileString} lng_mai "邁蒂利語 (mai)"
+${LangFileString} lng_mk "馬其頓語 (mk)"
+${LangFileString} lng_ml "馬拉雅拉姆語 (ml)"
+${LangFileString} lng_mn "蒙古語 (mn)"
+${LangFileString} lng_mni "曼尼普爾語 (mni)"
+${LangFileString} lng_mni@beng "孟加拉書寫體曼尼普爾語 (mni@beng)"
+${LangFileString} lng_mr "馬拉提語 (mr)"
+${LangFileString} lng_nb "挪威 Bokmål 語 (nb)"
+${LangFileString} lng_ne "尼泊爾語 (ne)"
+${LangFileString} lng_nl "荷蘭語 (nl)"
+${LangFileString} lng_nn "挪威 Nynorsk 語 (nn)"
+${LangFileString} lng_or "歐利亞語 (or)"
+${LangFileString} lng_pa "旁遮普語 (pa)"
+${LangFileString} lng_pl "波蘭語 (pl)"
+${LangFileString} lng_pt "葡萄牙語 (pt)"
+${LangFileString} lng_pt_BR "葡萄牙語 / 巴西 (pt_BR)"
+${LangFileString} lng_ro "羅馬尼亞語 (ro)"
+${LangFileString} lng_ru "俄文 (ru)"
+${LangFileString} lng_rw "金亞盧安達語 (rw)"
+${LangFileString} lng_sa "梵語 (sa)"
+${LangFileString} lng_sat "桑塔利語 (sat)"
+${LangFileString} lng_sat@deva "迪瓦那格里書寫體桑塔利語 (sat@deva)"
+${LangFileString} lng_sd "信德語 (sd)"
+${LangFileString} lng_sd@deva "迪瓦那格里書寫體信德語 (sd@deva)"
+${LangFileString} lng_sk "斯洛法克語 (sk)"
+${LangFileString} lng_sl "斯洛凡尼亞語 (sl)"
+${LangFileString} lng_sq "阿爾巴尼亞語 (sq)"
+${LangFileString} lng_sr "賽爾維亞語 (sr)"
+${LangFileString} lng_sr@latin "塞爾維亞文 - 拉丁 (sr@latin)"
+${LangFileString} lng_sv "瑞典語 (sv)"
+${LangFileString} lng_ta "坦米爾語 (ta)"
+${LangFileString} lng_te "泰盧固語 (te)"
+${LangFileString} lng_th "泰語 (th)"
+${LangFileString} lng_tr "土耳其語 (tr)"
+${LangFileString} lng_uk "烏克蘭語 (uk)"
+${LangFileString} lng_ur "烏爾都語 (ur)"
+${LangFileString} lng_vi "越南話 (vi)"
+${LangFileString} lng_zh_CN "中文 / 中國 (zh_CN)"
+${LangFileString} lng_zh_TW "中文 / 臺灣 (zh_TW)"
diff --git a/packaging/win32/languages/Ukrainian.nsh b/packaging/win32/languages/Ukrainian.nsh
new file mode 100644
index 0000000..a1c6c1d
--- /dev/null
+++ b/packaging/win32/languages/Ukrainian.nsh
@@ -0,0 +1,55 @@
+;Language: Ukrainian (1058)
+;By Yuri Chornoivan <yurchor@ukr.net>
+${LangFileString} CaptionDescription "Редактор векторної графіки з відкритими вихідними кодами"
+${LangFileString} LICENSE_BOTTOM_TEXT "$(^Name) випущено за умов дотримання GNU General Public License (GPL). Файл ліцензії наведено лише з довідковою метою. $_CLICK"
+${LangFileString} DIFFERENT_USER "Inkscape було встановлено користувачем $0.$\r$\nЯкщо ви продовжите виконання дії, можливі небажані наслідки!$\r$\nБудь ласка, увійдіть до системи від імені $0 і повторіть спробу."
+${LangFileString} WANT_UNINSTALL_BEFORE "$R1 вже встановлено. $\nБажаєте вилучити попередню версію до встановлення $(^Name)?"
+${LangFileString} OK_CANCEL_DESC "$\n$\nНатисніть «Гаразд», щоб продовжити або «Скасувати», щоб перервати дію."
+${LangFileString} NO_ADMIN "У вас немає прав доступу адміністратора.$\r$\nМожливо, Inkscape не вдасться встановити для всіх користувачів системи.$\r$\nЗніміть позначку з пункту «Встановити для всіх користувачів»."
+${LangFileString} NOT_SUPPORTED "Inkscape не зможе працювати у середовищі Windows 95/98/ME!$\r$\nДокладніші відомості можна знайти на офіційному вебсайті."
+${LangFileString} Full "Повне"
+${LangFileString} Optimal "Оптимальне"
+${LangFileString} Minimal "Мінімальне"
+${LangFileString} Core "Редактор SVG Inkscape (необхідне)"
+${LangFileString} CoreDesc "Основні файли і бібліотеки Inkscape"
+${LangFileString} GTKFiles "Середовище виконання GTK+ (необхідне)"
+${LangFileString} GTKFilesDesc "Набір інструментів побудови інтерфейсу, що використовується Inkscape"
+${LangFileString} Shortcuts "Піктограми"
+${LangFileString} ShortcutsDesc "Піктограми для запуску Inkscape"
+${LangFileString} Alluser "Встановити для всіх користувачів"
+${LangFileString} AlluserDesc "Встановити цю програму для всіх, хто користується цим комп’ютером (всіх користувачів)"
+${LangFileString} Desktop "Стільниця"
+${LangFileString} DesktopDesc "Створити піктограму Inkscape на стільниці"
+${LangFileString} Startmenu "Меню «Пуск»"
+${LangFileString} StartmenuDesc "Створити запис Inkscape у меню «Пуск»"
+${LangFileString} Quicklaunch "Панель швидкого запуску"
+${LangFileString} QuicklaunchDesc "Створити піктограму Inkscape на панелі швидкого запуску"
+${LangFileString} SVGWriter "Відкривати файли SVG за допомогою Inkscape"
+${LangFileString} SVGWriterDesc "Призначити Inkscape типовим редактором файлів SVG"
+${LangFileString} ContextMenu "Контекстне меню"
+${LangFileString} ContextMenuDesc "Додати пункт Inkscape до контекстного меню файлів SVG"
+${LangFileString} DeletePrefs "Вилучити особисті налаштування"
+${LangFileString} DeletePrefsDesc "Вилучити особисті налаштування, які залишилися після попередніх встановлень"
+${LangFileString} Python "Python 2.7"
+${LangFileString} PythonDesc "Інтерпретатор мови програмування Python та модулі Python, які знадобляться для запуску розширень Inkscape."
+${LangFileString} Addfiles "Додаткові файли"
+${LangFileString} AddfilesDesc "Додаткові приклади"
+${LangFileString} Extensions "Розширення"
+${LangFileString} ExtensionsDesc "Розширення Inkscape (зокрема багато додатків імпортування та експортування даних)"
+${LangFileString} Examples "Приклади"
+${LangFileString} ExamplesDesc "Приклади файлів, створених за допомогою Inkscape"
+${LangFileString} Tutorials "Підручники"
+${LangFileString} TutorialsDesc "Підручники з користування Inkscape"
+${LangFileString} Dictionaries "Словники"
+${LangFileString} DictionariesDesc "Словники для перевірки правопису поширеними мовами у Inkscape"
+${LangFileString} Languages "Переклади"
+${LangFileString} LanguagesDesc "Встановити переклади Inkscape різними мовами"
+${LangFileString} UInstOpt "Параметри вилучення програми"
+${LangFileString} UInstOpt1 "Будь ласка, вкажіть додаткові параметри"
+${LangFileString} PurgePrefs "Зберегти особисті налаштування"
+${LangFileString} UninstallLogNotFound "Не виявлено $INSTDIR\uninstall.log!$\r$\nБудь ласка, виконайте вилучення спорожненням каталогу $INSTDIR вручну!"
+${LangFileString} FileChanged "З часу встановлення файл $filename було змінено.$\r$\nБажаєте вилучити цей файл?"
+${LangFileString} Yes "Так"
+${LangFileString} AlwaysYes "завжди відповідати «Так»"
+${LangFileString} No "Ні"
+${LangFileString} AlwaysNo "завжди відповідати «Ні»"
diff --git a/packaging/win32/languages/Ukrainian_languageNames.nsh b/packaging/win32/languages/Ukrainian_languageNames.nsh
new file mode 100644
index 0000000..522186c
--- /dev/null
+++ b/packaging/win32/languages/Ukrainian_languageNames.nsh
@@ -0,0 +1,92 @@
+### Ukrainian (uk) translations for language names
+# This file has been automatically created by '_language_lists.py', do not edit it manually!
+# Strings that should be translated are in 'Ukrainian.nsh'
+${LangFileString} lng_ar "Арабська (ar)"
+${LangFileString} lng_as "Ассамська (as)"
+${LangFileString} lng_az "Азербайджанська (az)"
+${LangFileString} lng_be "Білоруська (be)"
+${LangFileString} lng_bg "Болгарська (bg)"
+${LangFileString} lng_bn "Бенгальська (bn)"
+${LangFileString} lng_bn_BD "Бенгальська, Бангладеш (bn_BD)"
+${LangFileString} lng_br "Бретонська (br)"
+${LangFileString} lng_brx "Бодо (brx)"
+${LangFileString} lng_ca "Каталанська (ca)"
+${LangFileString} lng_ca@valencia "Валенсійска каталанська (ca@valencia)"
+${LangFileString} lng_cs "Чеська (cs)"
+${LangFileString} lng_da "Данська (da)"
+${LangFileString} lng_de "Німецька (de)"
+${LangFileString} lng_doi "Догрі (doi)"
+${LangFileString} lng_dz "Джонка (dz)"
+${LangFileString} lng_el "Грецька (el)"
+${LangFileString} lng_en "Англійська (en)"
+${LangFileString} lng_en_AU "Англійська/Австралія (en_AU)"
+${LangFileString} lng_en_CA "Англійська/Канада (en_CA)"
+${LangFileString} lng_en_GB "Англійська/Великобританія (en_GB)"
+${LangFileString} lng_eo "Есперанто (eo)"
+${LangFileString} lng_es "Іспанська (es)"
+${LangFileString} lng_es_MX "Іспанська (Мексика) (es_MX)"
+${LangFileString} lng_et "Естонська (et)"
+${LangFileString} lng_eu "Баскська (eu)"
+${LangFileString} lng_fa "Фарсі (fa)"
+${LangFileString} lng_fi "Фінська (fi)"
+${LangFileString} lng_fr "Французька (fr)"
+${LangFileString} lng_ga "Ірландська (ga)"
+${LangFileString} lng_gl "Галісійська (gl)"
+${LangFileString} lng_gu "Гуджараті (gu)"
+${LangFileString} lng_he "Єврейська (he)"
+${LangFileString} lng_hi "Хінді (hi)"
+${LangFileString} lng_hr "Хорватська (hr)"
+${LangFileString} lng_hu "Угорська (hu)"
+${LangFileString} lng_hy "Вірменська (hy)"
+${LangFileString} lng_id "Індонезійська (id)"
+${LangFileString} lng_is "ісландська (is)"
+${LangFileString} lng_it "Італійська (it)"
+${LangFileString} lng_ja "Японська (ja)"
+${LangFileString} lng_km "Кхмерська (km)"
+${LangFileString} lng_kn "Каннада (kn)"
+${LangFileString} lng_ko "Корейська (ko)"
+${LangFileString} lng_kok "Конканська (kok)"
+${LangFileString} lng_kok@latin "Конканська (латиниця) (sr@latin)"
+${LangFileString} lng_ks@aran "Кашмірська, записана персько-арабською писемністю (ks@aran)"
+${LangFileString} lng_ks@deva "Кашмірська, записана писемністю деванагарі (ks@deva)"
+${LangFileString} lng_lt "Литовська (lt)"
+${LangFileString} lng_lv "Латвійська (lv)"
+${LangFileString} lng_mai "Майтілі (mai)"
+${LangFileString} lng_mk "Македонська (mk)"
+${LangFileString} lng_ml "Малаялам (ml)"
+${LangFileString} lng_mn "Монгольська (mn)"
+${LangFileString} lng_mni "Маніпурі (mni)"
+${LangFileString} lng_mni@beng "Маніпурі, записана бенгальською писемністю (mni@beng)"
+${LangFileString} lng_mr "Маратійська (gu)"
+${LangFileString} lng_nb "Норвезька (букмол) (nb)"
+${LangFileString} lng_ne "Непальська (ne)"
+${LangFileString} lng_nl "Голландська (nl)"
+${LangFileString} lng_nn "Норвезька (нюноршк) (nn)"
+${LangFileString} lng_or "Орія (or)"
+${LangFileString} lng_pa "Пенджабі (pa)"
+${LangFileString} lng_pl "Польська (pl)"
+${LangFileString} lng_pt "Португальська (pt)"
+${LangFileString} lng_pt_BR "Португальська бразильська (pt_BR)"
+${LangFileString} lng_ro "Румунська (ro)"
+${LangFileString} lng_ru "Російська (ru)"
+${LangFileString} lng_rw "Руандійська (rw)"
+${LangFileString} lng_sa "Санскрит (sa)"
+${LangFileString} lng_sat "Санталі (it)"
+${LangFileString} lng_sat@deva "Санталі, записана писемністю деванагарі (sat@deva)"
+${LangFileString} lng_sd "Сіндхська (sd)"
+${LangFileString} lng_sd@deva "Сіндхська, записана писемністю деванагарі (sd@deva)"
+${LangFileString} lng_sk "Словацька (sk)"
+${LangFileString} lng_sl "Словенська (sl)"
+${LangFileString} lng_sq "Албанська (sq)"
+${LangFileString} lng_sr "Сербська (sr)"
+${LangFileString} lng_sr@latin "Сербська (латиниця) (sr@latin)"
+${LangFileString} lng_sv "Шведська (sv)"
+${LangFileString} lng_ta "Тамільська (ta)"
+${LangFileString} lng_te "Телугу (te)"
+${LangFileString} lng_th "Тайська (th)"
+${LangFileString} lng_tr "Турецька (tr)"
+${LangFileString} lng_uk "Українська (uk)"
+${LangFileString} lng_ur "Урду (ur)"
+${LangFileString} lng_vi "В'єтнамська (vi)"
+${LangFileString} lng_zh_CN "Китайська/Китай (zh_CN)"
+${LangFileString} lng_zh_TW "Китайська/Тайвань (zh_TW)"
diff --git a/packaging/win32/languages/_language_lists.nsh b/packaging/win32/languages/_language_lists.nsh
new file mode 100644
index 0000000..dd8b86f
--- /dev/null
+++ b/packaging/win32/languages/_language_lists.nsh
@@ -0,0 +1,141 @@
+# This file contains a list of
+# - available installer translations (*.nsh in this directory)
+# - available Inkscape translations (*.po in /src/po)
+#
+# The list is formatted for use in the NSIS installer script
+# and should be updated whenever new translations are added.
+
+
+### List of available installer translations.
+# Every entry should
+# - have a name (e.g. "Breton") matching a header file in this directory (e.g. "Breton.nsh")
+# that in addition should match the name of an available NSIS translation file (see "NSIS\Contrib\Language files")
+# - include a valid locale ID (see https://msdn.microsoft.com/goglobal/bb964664.aspx)
+!macro INSTALLER_TRANSLATIONS _MACRONAME
+ !insertmacro ${_MACRONAME} Breton 1150
+ !insertmacro ${_MACRONAME} Catalan 1027
+ !insertmacro ${_MACRONAME} Croatian 1050
+ !insertmacro ${_MACRONAME} Czech 1029
+ !insertmacro ${_MACRONAME} Danish 1030
+ !insertmacro ${_MACRONAME} Dutch 1043
+ !insertmacro ${_MACRONAME} Finnish 1035
+ !insertmacro ${_MACRONAME} French 1036
+ !insertmacro ${_MACRONAME} Galician 1110
+ !insertmacro ${_MACRONAME} German 1031
+ !insertmacro ${_MACRONAME} Greek 1032
+ !insertmacro ${_MACRONAME} Hebrew 1037
+ !insertmacro ${_MACRONAME} Hungarian 1038
+ !insertmacro ${_MACRONAME} Icelandic 1039
+ !insertmacro ${_MACRONAME} Indonesian 1057
+ !insertmacro ${_MACRONAME} Italian 1040
+ !insertmacro ${_MACRONAME} Japanese 1041
+ !insertmacro ${_MACRONAME} Korean 1042
+ !insertmacro ${_MACRONAME} Polish 1045
+ !insertmacro ${_MACRONAME} Portuguese 2070
+ !insertmacro ${_MACRONAME} PortugueseBR 1046
+ !insertmacro ${_MACRONAME} Romanian 1048
+ !insertmacro ${_MACRONAME} Russian 1049
+ !insertmacro ${_MACRONAME} Slovak 1051
+ !insertmacro ${_MACRONAME} Slovenian 1060
+ !insertmacro ${_MACRONAME} Spanish 1034
+ !insertmacro ${_MACRONAME} SimpChinese 2052
+ !insertmacro ${_MACRONAME} TradChinese 1028
+ !insertmacro ${_MACRONAME} Ukrainian 1058
+!macroend
+
+
+### List of available Inkscape translations.
+# Every entry should
+# - specify a name (e.g. "Amharic") that matches the installer translation name above (if present)
+# - specify a language code (e.g. "am") that has a matching PO file (e.g. "am.po")
+# in the /po folder in the root of Inkscape source directory
+!macro INKSCAPE_TRANSLATIONS _MACRONAME
+ !insertmacro ${_MACRONAME} Arabic ar
+ !insertmacro ${_MACRONAME} Assamese as
+ !insertmacro ${_MACRONAME} Azerbaijani az
+ !insertmacro ${_MACRONAME} Belarusian be
+ !insertmacro ${_MACRONAME} Bulgarian bg
+ !insertmacro ${_MACRONAME} Bengali bn
+ !insertmacro ${_MACRONAME} BengaliBangladesh bn_BD
+ !insertmacro ${_MACRONAME} Breton br
+ !insertmacro ${_MACRONAME} Bodo brx
+ !insertmacro ${_MACRONAME} Catalan ca
+ !insertmacro ${_MACRONAME} CatalanValencia ca@valencia
+ !insertmacro ${_MACRONAME} Czech cs
+ !insertmacro ${_MACRONAME} Danish da
+ !insertmacro ${_MACRONAME} German de
+ !insertmacro ${_MACRONAME} Dogri doi
+ !insertmacro ${_MACRONAME} Dzongkha dz
+ !insertmacro ${_MACRONAME} Greek el
+ !insertmacro ${_MACRONAME} EnglishAustralian en_AU
+ !insertmacro ${_MACRONAME} EnglishCanadian en_CA
+ !insertmacro ${_MACRONAME} EnglishBritain en_GB
+ !insertmacro ${_MACRONAME} Esperanto eo
+ !insertmacro ${_MACRONAME} Spanish es
+ !insertmacro ${_MACRONAME} SpanishMexico es_MX
+ !insertmacro ${_MACRONAME} Estonian et
+ !insertmacro ${_MACRONAME} Basque eu
+ !insertmacro ${_MACRONAME} Farsi fa
+ !insertmacro ${_MACRONAME} Finnish fi
+ !insertmacro ${_MACRONAME} French fr
+ !insertmacro ${_MACRONAME} Irish ga
+ !insertmacro ${_MACRONAME} Galician gl
+ !insertmacro ${_MACRONAME} Gujarati gu
+ !insertmacro ${_MACRONAME} Hebrew he
+ !insertmacro ${_MACRONAME} Hindi hi
+ !insertmacro ${_MACRONAME} Croatian hr
+ !insertmacro ${_MACRONAME} Hungarian hu
+ !insertmacro ${_MACRONAME} Armenian hy
+ !insertmacro ${_MACRONAME} Indonesian id
+ !insertmacro ${_MACRONAME} Icelandic is
+ !insertmacro ${_MACRONAME} Italian it
+ !insertmacro ${_MACRONAME} Japanese ja
+ !insertmacro ${_MACRONAME} Khmer km
+ !insertmacro ${_MACRONAME} Kannada kn
+ !insertmacro ${_MACRONAME} Korean ko
+ !insertmacro ${_MACRONAME} Konkani kok
+ !insertmacro ${_MACRONAME} KonkaniLatin kok@latin
+ !insertmacro ${_MACRONAME} KashmiriPersoArabic ks@aran
+ !insertmacro ${_MACRONAME} KashmiriDevanagari ks@deva
+ !insertmacro ${_MACRONAME} Lithuanian lt
+ !insertmacro ${_MACRONAME} Latvian lv
+ !insertmacro ${_MACRONAME} Maithili mai
+ !insertmacro ${_MACRONAME} Macedonian mk
+ !insertmacro ${_MACRONAME} Malayalam ml
+ !insertmacro ${_MACRONAME} Mongolian mn
+ !insertmacro ${_MACRONAME} Manipuri mni
+ !insertmacro ${_MACRONAME} ManipuriBengali mni@beng
+ !insertmacro ${_MACRONAME} Marathi mr
+ !insertmacro ${_MACRONAME} NorwegianBokmal nb
+ !insertmacro ${_MACRONAME} Nepali ne
+ !insertmacro ${_MACRONAME} Dutch nl
+ !insertmacro ${_MACRONAME} NorwegianNynorsk nn
+ !insertmacro ${_MACRONAME} Odia or
+ !insertmacro ${_MACRONAME} Panjabi pa
+ !insertmacro ${_MACRONAME} Polish pl
+ !insertmacro ${_MACRONAME} Portuguese pt
+ !insertmacro ${_MACRONAME} PortugueseBR pt_BR
+ !insertmacro ${_MACRONAME} Romanian ro
+ !insertmacro ${_MACRONAME} Russian ru
+ !insertmacro ${_MACRONAME} Kinyarwanda rw
+ !insertmacro ${_MACRONAME} Sanskrit sa
+ !insertmacro ${_MACRONAME} Santali sat
+ !insertmacro ${_MACRONAME} SantaliDevanagari sat@deva
+ !insertmacro ${_MACRONAME} Sindhi sd
+ !insertmacro ${_MACRONAME} SindhiDevanagari sd@deva
+ !insertmacro ${_MACRONAME} Slovak sk
+ !insertmacro ${_MACRONAME} Slovenian sl
+ !insertmacro ${_MACRONAME} Albanian sq
+ !insertmacro ${_MACRONAME} Serbian sr
+ !insertmacro ${_MACRONAME} SerbianLatin sr@latin
+ !insertmacro ${_MACRONAME} Swedish sv
+ !insertmacro ${_MACRONAME} Tamil ta
+ !insertmacro ${_MACRONAME} Telugu te
+ !insertmacro ${_MACRONAME} Thai th
+ !insertmacro ${_MACRONAME} Turkish tr
+ !insertmacro ${_MACRONAME} Ukrainian uk
+ !insertmacro ${_MACRONAME} Urdu ur
+ !insertmacro ${_MACRONAME} Vietnamese vi
+ !insertmacro ${_MACRONAME} SimpChinese zh_CN
+ !insertmacro ${_MACRONAME} TradChinese zh_TW
+!macroend
diff --git a/packaging/win32/languages/_language_lists.py b/packaging/win32/languages/_language_lists.py
new file mode 100644
index 0000000..9ca0234
--- /dev/null
+++ b/packaging/win32/languages/_language_lists.py
@@ -0,0 +1,79 @@
+# use this to update the translated language strings in the *_languageNames.nsh files
+# translated language names are extracted from the .po files in the /po directory
+
+from __future__ import print_function
+from __future__ import unicode_literals # make all literals unicode strings by default (even in Python 2)
+
+import os
+import re
+import sys
+from io import open # needed for support of encoding parameter in Python 2
+
+from _polib import pofile
+
+
+# get the list of available Inkscape UI translations (by parsing inkscape-preferences.cpp)
+sys.path.append('../../wix/')
+from helpers import get_inkscape_locales_and_names
+inkscape_locales = get_inkscape_locales_and_names()
+
+# get the list of translations offered in the installer (by parsing _language_lists.nsh)
+re_installer_locales = re.compile(r'!macro INKSCAPE_TRANSLATIONS _MACRONAME\n(.+?)!macroend', re.DOTALL)
+re_installer_locale = re.compile(r'[ \t]+!insertmacro \${_MACRONAME}[ \t]+([\w]+)[ \t]+([\w@]+)\n')
+with open('_language_lists.nsh', 'r') as f:
+ installer_locales = re.search(re_installer_locales, f.read())
+if installer_locales:
+ installer_locales = re.finditer(re_installer_locale, installer_locales.group(1))
+ if installer_locales:
+ installer_locales = {
+ installer_locale.group(2): installer_locale.group(1) for installer_locale in installer_locales
+ }
+if not installer_locales:
+ print("Could not get the list of Inkscape translations from _language_lists.nsh")
+ sys.exit(1)
+installer_locales['en'] = 'English'
+
+
+# check if the lists are in sync
+for installer_locale in installer_locales:
+ if installer_locale not in inkscape_locales:
+ print(
+ "Error: Locale '" + installer_locale +
+ "' is present in '_language_lists.nsh' but is not a selectable Inkscape translation!"
+ )
+ sys.exit(1)
+for inkscape_locale in inkscape_locales:
+ if inkscape_locale not in installer_locales:
+ print(
+ "Warning: Locale '" + inkscape_locale +
+ "' is a selectable Inkscape translation but not present in '_language_lists.nsh'\n" +
+ " You should consider adding it."
+ )
+
+
+# extract translation names from .po files for locales offered in the installer
+for locale in sorted(installer_locales):
+ if os.path.isfile(installer_locales[locale] + '.nsh'):
+ print("Getting translation names for " + inkscape_locales[locale])
+ filename = installer_locales[locale] + '_languageNames.nsh'
+ with open(filename, 'w', encoding='utf-8', newline='\n') as f:
+ f.write(
+ "### " + inkscape_locales[locale] + " translations for language names\n" +
+ "# This file has been automatically created by '" + __file__ + "', do not edit it manually!\n"
+ "# Strings that should be translated are in '" + installer_locales[locale] + ".nsh'\n")
+ if locale is 'en':
+ for locale in sorted(installer_locales):
+ locale_name = inkscape_locales[locale]
+ f.write('${LangFileString} lng_' + locale + ' ')
+ f.write('"' + locale_name + '"\n')
+ else:
+ po_filename = '../../../po/' + locale + '.po'
+ po = pofile(po_filename)
+ for locale in sorted(installer_locales):
+ po_entry = po.find(inkscape_locales[locale])
+ if po_entry.translated():
+ locale_name = po_entry.msgstr
+ else:
+ locale_name = inkscape_locales[locale]
+ f.write('${LangFileString} lng_' + locale + ' ')
+ f.write('"' + locale_name + '"\n')
diff --git a/packaging/win32/languages/_polib.py b/packaging/win32/languages/_polib.py
new file mode 100644
index 0000000..5fc4d82
--- /dev/null
+++ b/packaging/win32/languages/_polib.py
@@ -0,0 +1,1870 @@
+# -* coding: utf-8 -*-
+#
+# License: MIT
+#
+# Copyright (c) 2006-2015 David Jean Louis.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+#
+# vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
+
+"""
+**polib** allows you to manipulate, create, modify gettext files (pot, po and
+mo files). You can load existing files, iterate through it's entries, add,
+modify entries, comments or metadata, etc. or create new po files from scratch.
+
+**polib** provides a simple and pythonic API via the :func:`~polib.pofile` and
+:func:`~polib.mofile` convenience functions.
+"""
+
+__author__ = 'David Jean Louis <izimobil@gmail.com>'
+__version__ = '1.0.8'
+__all__ = ['pofile', 'POFile', 'POEntry', 'mofile', 'MOFile', 'MOEntry',
+ 'default_encoding', 'escape', 'unescape', 'detect_encoding', ]
+
+import array
+import codecs
+import os
+import re
+import struct
+import sys
+import textwrap
+
+try:
+ import io
+except ImportError:
+ # replacement of io.open() for python < 2.6
+ # we use codecs instead
+ class io(object):
+ @staticmethod
+ def open(fpath, mode='r', encoding=None):
+ return codecs.open(fpath, mode, encoding)
+
+
+# the default encoding to use when encoding cannot be detected
+default_encoding = 'utf-8'
+
+# python 2/3 compatibility helpers {{{
+
+
+if sys.version_info[:2] < (3, 0):
+ PY3 = False
+ text_type = unicode
+
+ def b(s):
+ return s
+
+ def u(s):
+ return unicode(s, "unicode_escape")
+
+else:
+ PY3 = True
+ text_type = str
+
+ def b(s):
+ return s.encode("latin-1")
+
+ def u(s):
+ return s
+# }}}
+# _pofile_or_mofile {{{
+
+
+def _pofile_or_mofile(f, type, **kwargs):
+ """
+ Internal function used by :func:`polib.pofile` and :func:`polib.mofile` to
+ honor the DRY concept.
+ """
+ # get the file encoding
+ enc = kwargs.get('encoding')
+ if enc is None:
+ enc = detect_encoding(f, type == 'mofile')
+
+ # parse the file
+ kls = type == 'pofile' and _POFileParser or _MOFileParser
+ parser = kls(
+ f,
+ encoding=enc,
+ check_for_duplicates=kwargs.get('check_for_duplicates', False),
+ klass=kwargs.get('klass')
+ )
+ instance = parser.parse()
+ instance.wrapwidth = kwargs.get('wrapwidth', 78)
+ return instance
+# }}}
+# _is_file {{{
+
+
+def _is_file(filename_or_contents):
+ """
+ Safely returns the value of os.path.exists(filename_or_contents).
+
+ Arguments:
+
+ ``filename_or_contents``
+ either a filename, or a string holding the contents of some file.
+ In the latter case, this function will always return False.
+ """
+ try:
+ return os.path.exists(filename_or_contents)
+ except (ValueError, UnicodeEncodeError):
+ return False
+# }}}
+# function pofile() {{{
+
+
+def pofile(pofile, **kwargs):
+ """
+ Convenience function that parses the po or pot file ``pofile`` and returns
+ a :class:`~polib.POFile` instance.
+
+ Arguments:
+
+ ``pofile``
+ string, full or relative path to the po/pot file or its content (data).
+
+ ``wrapwidth``
+ integer, the wrap width, only useful when the ``-w`` option was passed
+ to xgettext (optional, default: ``78``).
+
+ ``encoding``
+ string, the encoding to use (e.g. "utf-8") (default: ``None``, the
+ encoding will be auto-detected).
+
+ ``check_for_duplicates``
+ whether to check for duplicate entries when adding entries to the
+ file (optional, default: ``False``).
+
+ ``klass``
+ class which is used to instantiate the return value (optional,
+ default: ``None``, the return value with be a :class:`~polib.POFile`
+ instance).
+ """
+ return _pofile_or_mofile(pofile, 'pofile', **kwargs)
+# }}}
+# function mofile() {{{
+
+
+def mofile(mofile, **kwargs):
+ """
+ Convenience function that parses the mo file ``mofile`` and returns a
+ :class:`~polib.MOFile` instance.
+
+ Arguments:
+
+ ``mofile``
+ string, full or relative path to the mo file or its content (data).
+
+ ``wrapwidth``
+ integer, the wrap width, only useful when the ``-w`` option was passed
+ to xgettext to generate the po file that was used to format the mo file
+ (optional, default: ``78``).
+
+ ``encoding``
+ string, the encoding to use (e.g. "utf-8") (default: ``None``, the
+ encoding will be auto-detected).
+
+ ``check_for_duplicates``
+ whether to check for duplicate entries when adding entries to the
+ file (optional, default: ``False``).
+
+ ``klass``
+ class which is used to instantiate the return value (optional,
+ default: ``None``, the return value with be a :class:`~polib.POFile`
+ instance).
+ """
+ return _pofile_or_mofile(mofile, 'mofile', **kwargs)
+# }}}
+# function detect_encoding() {{{
+
+
+def detect_encoding(file, binary_mode=False):
+ """
+ Try to detect the encoding used by the ``file``. The ``file`` argument can
+ be a PO or MO file path or a string containing the contents of the file.
+ If the encoding cannot be detected, the function will return the value of
+ ``default_encoding``.
+
+ Arguments:
+
+ ``file``
+ string, full or relative path to the po/mo file or its content.
+
+ ``binary_mode``
+ boolean, set this to True if ``file`` is a mo file.
+ """
+ PATTERN = r'"?Content-Type:.+? charset=([\w_\-:\.]+)'
+ rxt = re.compile(u(PATTERN))
+ rxb = re.compile(b(PATTERN))
+
+ def charset_exists(charset):
+ """Check whether ``charset`` is valid or not."""
+ try:
+ codecs.lookup(charset)
+ except LookupError:
+ return False
+ return True
+
+ if not _is_file(file):
+ match = rxt.search(file)
+ if match:
+ enc = match.group(1).strip()
+ if charset_exists(enc):
+ return enc
+ else:
+ # For PY3, always treat as binary
+ if binary_mode or PY3:
+ mode = 'rb'
+ rx = rxb
+ else:
+ mode = 'r'
+ rx = rxt
+ f = open(file, mode)
+ for l in f.readlines():
+ match = rx.search(l)
+ if match:
+ f.close()
+ enc = match.group(1).strip()
+ if not isinstance(enc, text_type):
+ enc = enc.decode('utf-8')
+ if charset_exists(enc):
+ return enc
+ f.close()
+ return default_encoding
+# }}}
+# function escape() {{{
+
+
+def escape(st):
+ """
+ Escapes the characters ``\\\\``, ``\\t``, ``\\n``, ``\\r`` and ``"`` in
+ the given string ``st`` and returns it.
+ """
+ return st.replace('\\', r'\\')\
+ .replace('\t', r'\t')\
+ .replace('\r', r'\r')\
+ .replace('\n', r'\n')\
+ .replace('\"', r'\"')
+# }}}
+# function unescape() {{{
+
+
+def unescape(st):
+ """
+ Unescapes the characters ``\\\\``, ``\\t``, ``\\n``, ``\\r`` and ``"`` in
+ the given string ``st`` and returns it.
+ """
+ def unescape_repl(m):
+ m = m.group(1)
+ if m == 'n':
+ return '\n'
+ if m == 't':
+ return '\t'
+ if m == 'r':
+ return '\r'
+ if m == '\\':
+ return '\\'
+ return m # handles escaped double quote
+ return re.sub(r'\\(\\|n|t|r|")', unescape_repl, st)
+# }}}
+# function natural_sort() {{{
+
+
+def natural_sort(lst):
+ """
+ Sort naturally the given list.
+ Credits: http://stackoverflow.com/a/4836734
+ """
+ convert = lambda text: int(text) if text.isdigit() else text.lower()
+ alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)', key) ]
+ return sorted(lst, key = alphanum_key)
+# }}}
+# class _BaseFile {{{
+
+
+class _BaseFile(list):
+ """
+ Common base class for the :class:`~polib.POFile` and :class:`~polib.MOFile`
+ classes. This class should **not** be instantiated directly.
+ """
+
+ def __init__(self, *args, **kwargs):
+ """
+ Constructor, accepts the following keyword arguments:
+
+ ``pofile``
+ string, the path to the po or mo file, or its content as a string.
+
+ ``wrapwidth``
+ integer, the wrap width, only useful when the ``-w`` option was
+ passed to xgettext (optional, default: ``78``).
+
+ ``encoding``
+ string, the encoding to use, defaults to ``default_encoding``
+ global variable (optional).
+
+ ``check_for_duplicates``
+ whether to check for duplicate entries when adding entries to the
+ file, (optional, default: ``False``).
+ """
+ list.__init__(self)
+ # the opened file handle
+ pofile = kwargs.get('pofile', None)
+ if pofile and _is_file(pofile):
+ self.fpath = pofile
+ else:
+ self.fpath = kwargs.get('fpath')
+ # the width at which lines should be wrapped
+ self.wrapwidth = kwargs.get('wrapwidth', 78)
+ # the file encoding
+ self.encoding = kwargs.get('encoding', default_encoding)
+ # whether to check for duplicate entries or not
+ self.check_for_duplicates = kwargs.get('check_for_duplicates', False)
+ # header
+ self.header = ''
+ # both po and mo files have metadata
+ self.metadata = {}
+ self.metadata_is_fuzzy = 0
+
+ def __unicode__(self):
+ """
+ Returns the unicode representation of the file.
+ """
+ ret = []
+ entries = [self.metadata_as_entry()] + \
+ [e for e in self if not e.obsolete]
+ for entry in entries:
+ ret.append(entry.__unicode__(self.wrapwidth))
+ for entry in self.obsolete_entries():
+ ret.append(entry.__unicode__(self.wrapwidth))
+ ret = u('\n').join(ret)
+
+ assert isinstance(ret, text_type)
+ #if type(ret) != text_type:
+ # return unicode(ret, self.encoding)
+ return ret
+
+ if PY3:
+ def __str__(self):
+ return self.__unicode__()
+ else:
+ def __str__(self):
+ """
+ Returns the string representation of the file.
+ """
+ return unicode(self).encode(self.encoding)
+
+ def __contains__(self, entry):
+ """
+ Overridden ``list`` method to implement the membership test (in and
+ not in).
+ The method considers that an entry is in the file if it finds an entry
+ that has the same msgid (the test is **case sensitive**) and the same
+ msgctxt (or none for both entries).
+
+ Argument:
+
+ ``entry``
+ an instance of :class:`~polib._BaseEntry`.
+ """
+ return self.find(entry.msgid, by='msgid', msgctxt=entry.msgctxt) \
+ is not None
+
+ def __eq__(self, other):
+ return str(self) == str(other)
+
+ def append(self, entry):
+ """
+ Overridden method to check for duplicates entries, if a user tries to
+ add an entry that is already in the file, the method will raise a
+ ``ValueError`` exception.
+
+ Argument:
+
+ ``entry``
+ an instance of :class:`~polib._BaseEntry`.
+ """
+ # check_for_duplicates may not be defined (yet) when unpickling.
+ # But if pickling, we never want to check for duplicates anyway.
+ if getattr(self, 'check_for_duplicates', False) and entry in self:
+ raise ValueError('Entry "%s" already exists' % entry.msgid)
+ super(_BaseFile, self).append(entry)
+
+ def insert(self, index, entry):
+ """
+ Overridden method to check for duplicates entries, if a user tries to
+ add an entry that is already in the file, the method will raise a
+ ``ValueError`` exception.
+
+ Arguments:
+
+ ``index``
+ index at which the entry should be inserted.
+
+ ``entry``
+ an instance of :class:`~polib._BaseEntry`.
+ """
+ if self.check_for_duplicates and entry in self:
+ raise ValueError('Entry "%s" already exists' % entry.msgid)
+ super(_BaseFile, self).insert(index, entry)
+
+ def metadata_as_entry(self):
+ """
+ Returns the file metadata as a :class:`~polib.POFile` instance.
+ """
+ e = POEntry(msgid='')
+ mdata = self.ordered_metadata()
+ if mdata:
+ strs = []
+ for name, value in mdata:
+ # Strip whitespace off each line in a multi-line entry
+ strs.append('%s: %s' % (name, value))
+ e.msgstr = '\n'.join(strs) + '\n'
+ if self.metadata_is_fuzzy:
+ e.flags.append('fuzzy')
+ return e
+
+ def save(self, fpath=None, repr_method='__unicode__'):
+ """
+ Saves the po file to ``fpath``.
+ If it is an existing file and no ``fpath`` is provided, then the
+ existing file is rewritten with the modified data.
+
+ Keyword arguments:
+
+ ``fpath``
+ string, full or relative path to the file.
+
+ ``repr_method``
+ string, the method to use for output.
+ """
+ if self.fpath is None and fpath is None:
+ raise IOError('You must provide a file path to save() method')
+ contents = getattr(self, repr_method)()
+ if fpath is None:
+ fpath = self.fpath
+ if repr_method == 'to_binary':
+ fhandle = open(fpath, 'wb')
+ else:
+ fhandle = io.open(fpath, 'w', encoding=self.encoding)
+ if not isinstance(contents, text_type):
+ contents = contents.decode(self.encoding)
+ fhandle.write(contents)
+ fhandle.close()
+ # set the file path if not set
+ if self.fpath is None and fpath:
+ self.fpath = fpath
+
+ def find(self, st, by='msgid', include_obsolete_entries=False,
+ msgctxt=False):
+ """
+ Find the entry which msgid (or property identified by the ``by``
+ argument) matches the string ``st``.
+
+ Keyword arguments:
+
+ ``st``
+ string, the string to search for.
+
+ ``by``
+ string, the property to use for comparison (default: ``msgid``).
+
+ ``include_obsolete_entries``
+ boolean, whether to also search in entries that are obsolete.
+
+ ``msgctxt``
+ string, allows specifying a specific message context for the
+ search.
+ """
+ if include_obsolete_entries:
+ entries = self[:]
+ else:
+ entries = [e for e in self if not e.obsolete]
+ for e in entries:
+ if getattr(e, by) == st:
+ if msgctxt is not False and e.msgctxt != msgctxt:
+ continue
+ return e
+ return None
+
+ def ordered_metadata(self):
+ """
+ Convenience method that returns an ordered version of the metadata
+ dictionary. The return value is list of tuples (metadata name,
+ metadata_value).
+ """
+ # copy the dict first
+ metadata = self.metadata.copy()
+ data_order = [
+ 'Project-Id-Version',
+ 'Report-Msgid-Bugs-To',
+ 'POT-Creation-Date',
+ 'PO-Revision-Date',
+ 'Last-Translator',
+ 'Language-Team',
+ 'Language',
+ 'MIME-Version',
+ 'Content-Type',
+ 'Content-Transfer-Encoding',
+ 'Plural-Forms'
+ ]
+ ordered_data = []
+ for data in data_order:
+ try:
+ value = metadata.pop(data)
+ ordered_data.append((data, value))
+ except KeyError:
+ pass
+ # the rest of the metadata will be alphabetically ordered since there
+ # are no specs for this AFAIK
+ for data in natural_sort(metadata.keys()):
+ value = metadata[data]
+ ordered_data.append((data, value))
+ return ordered_data
+
+ def to_binary(self):
+ """
+ Return the binary representation of the file.
+ """
+ offsets = []
+ entries = self.translated_entries()
+
+ # the keys are sorted in the .mo file
+ def cmp(_self, other):
+ # msgfmt compares entries with msgctxt if it exists
+ self_msgid = _self.msgctxt and _self.msgctxt or _self.msgid
+ other_msgid = other.msgctxt and other.msgctxt or other.msgid
+ if self_msgid > other_msgid:
+ return 1
+ elif self_msgid < other_msgid:
+ return -1
+ else:
+ return 0
+ # add metadata entry
+ entries.sort(key=lambda o: o.msgctxt or o.msgid)
+ mentry = self.metadata_as_entry()
+ #mentry.msgstr = mentry.msgstr.replace('\\n', '').lstrip()
+ entries = [mentry] + entries
+ entries_len = len(entries)
+ ids, strs = b(''), b('')
+ for e in entries:
+ # For each string, we need size and file offset. Each string is
+ # NUL terminated; the NUL does not count into the size.
+ msgid = b('')
+ if e.msgctxt:
+ # Contexts are stored by storing the concatenation of the
+ # context, a <EOT> byte, and the original string
+ msgid = self._encode(e.msgctxt + '\4')
+ if e.msgid_plural:
+ msgstr = []
+ for index in sorted(e.msgstr_plural.keys()):
+ msgstr.append(e.msgstr_plural[index])
+ msgid += self._encode(e.msgid + '\0' + e.msgid_plural)
+ msgstr = self._encode('\0'.join(msgstr))
+ else:
+ msgid += self._encode(e.msgid)
+ msgstr = self._encode(e.msgstr)
+ offsets.append((len(ids), len(msgid), len(strs), len(msgstr)))
+ ids += msgid + b('\0')
+ strs += msgstr + b('\0')
+
+ # The header is 7 32-bit unsigned integers.
+ keystart = 7 * 4 + 16 * entries_len
+ # and the values start after the keys
+ valuestart = keystart + len(ids)
+ koffsets = []
+ voffsets = []
+ # The string table first has the list of keys, then the list of values.
+ # Each entry has first the size of the string, then the file offset.
+ for o1, l1, o2, l2 in offsets:
+ koffsets += [l1, o1 + keystart]
+ voffsets += [l2, o2 + valuestart]
+ offsets = koffsets + voffsets
+
+ output = struct.pack(
+ "Iiiiiii",
+ # Magic number
+ MOFile.MAGIC,
+ # Version
+ 0,
+ # number of entries
+ entries_len,
+ # start of key index
+ 7 * 4,
+ # start of value index
+ 7 * 4 + entries_len * 8,
+ # size and offset of hash table, we don't use hash tables
+ 0, keystart
+
+ )
+ if PY3 and sys.version_info.minor > 1: # python 3.2 or superior
+ output += array.array("i", offsets).tobytes()
+ else:
+ output += array.array("i", offsets).tostring()
+ output += ids
+ output += strs
+ return output
+
+ def _encode(self, mixed):
+ """
+ Encodes the given ``mixed`` argument with the file encoding if and
+ only if it's an unicode string and returns the encoded string.
+ """
+ if isinstance(mixed, text_type):
+ mixed = mixed.encode(self.encoding)
+ return mixed
+# }}}
+# class POFile {{{
+
+
+class POFile(_BaseFile):
+ """
+ Po (or Pot) file reader/writer.
+ This class inherits the :class:`~polib._BaseFile` class and, by extension,
+ the python ``list`` type.
+ """
+
+ def __unicode__(self):
+ """
+ Returns the unicode representation of the po file.
+ """
+ ret, headers = '', self.header.split('\n')
+ for header in headers:
+ if not len(header):
+ ret += "#\n"
+ elif header[:1] in [',', ':']:
+ ret += '#%s\n' % header
+ else:
+ ret += '# %s\n' % header
+
+ if not isinstance(ret, text_type):
+ ret = ret.decode(self.encoding)
+
+ return ret + _BaseFile.__unicode__(self)
+
+ def save_as_mofile(self, fpath):
+ """
+ Saves the binary representation of the file to given ``fpath``.
+
+ Keyword argument:
+
+ ``fpath``
+ string, full or relative path to the mo file.
+ """
+ _BaseFile.save(self, fpath, 'to_binary')
+
+ def percent_translated(self):
+ """
+ Convenience method that returns the percentage of translated
+ messages.
+ """
+ total = len([e for e in self if not e.obsolete])
+ if total == 0:
+ return 100
+ translated = len(self.translated_entries())
+ return int(translated * 100 / float(total))
+
+ def translated_entries(self):
+ """
+ Convenience method that returns the list of translated entries.
+ """
+ return [e for e in self if e.translated()]
+
+ def untranslated_entries(self):
+ """
+ Convenience method that returns the list of untranslated entries.
+ """
+ return [e for e in self if not e.translated() and not e.obsolete
+ and not 'fuzzy' in e.flags]
+
+ def fuzzy_entries(self):
+ """
+ Convenience method that returns the list of fuzzy entries.
+ """
+ return [e for e in self if 'fuzzy' in e.flags]
+
+ def obsolete_entries(self):
+ """
+ Convenience method that returns the list of obsolete entries.
+ """
+ return [e for e in self if e.obsolete]
+
+ def merge(self, refpot):
+ """
+ Convenience method that merges the current pofile with the pot file
+ provided. It behaves exactly as the gettext msgmerge utility:
+
+ * comments of this file will be preserved, but extracted comments and
+ occurrences will be discarded;
+ * any translations or comments in the file will be discarded, however,
+ dot comments and file positions will be preserved;
+ * the fuzzy flags are preserved.
+
+ Keyword argument:
+
+ ``refpot``
+ object POFile, the reference catalog.
+ """
+ # Store entries in dict/set for faster access
+ self_entries = dict((entry.msgid, entry) for entry in self)
+ refpot_msgids = set(entry.msgid for entry in refpot)
+ # Merge entries that are in the refpot
+ for entry in refpot:
+ e = self_entries.get(entry.msgid)
+ if e is None:
+ e = POEntry()
+ self.append(e)
+ e.merge(entry)
+ # ok, now we must "obsolete" entries that are not in the refpot anymore
+ for entry in self:
+ if entry.msgid not in refpot_msgids:
+ entry.obsolete = True
+# }}}
+# class MOFile {{{
+
+
+class MOFile(_BaseFile):
+ """
+ Mo file reader/writer.
+ This class inherits the :class:`~polib._BaseFile` class and, by
+ extension, the python ``list`` type.
+ """
+ MAGIC = 0x950412de
+ MAGIC_SWAPPED = 0xde120495
+
+ def __init__(self, *args, **kwargs):
+ """
+ Constructor, accepts all keywords arguments accepted by
+ :class:`~polib._BaseFile` class.
+ """
+ _BaseFile.__init__(self, *args, **kwargs)
+ self.magic_number = None
+ self.version = 0
+
+ def save_as_pofile(self, fpath):
+ """
+ Saves the mofile as a pofile to ``fpath``.
+
+ Keyword argument:
+
+ ``fpath``
+ string, full or relative path to the file.
+ """
+ _BaseFile.save(self, fpath)
+
+ def save(self, fpath=None):
+ """
+ Saves the mofile to ``fpath``.
+
+ Keyword argument:
+
+ ``fpath``
+ string, full or relative path to the file.
+ """
+ _BaseFile.save(self, fpath, 'to_binary')
+
+ def percent_translated(self):
+ """
+ Convenience method to keep the same interface with POFile instances.
+ """
+ return 100
+
+ def translated_entries(self):
+ """
+ Convenience method to keep the same interface with POFile instances.
+ """
+ return self
+
+ def untranslated_entries(self):
+ """
+ Convenience method to keep the same interface with POFile instances.
+ """
+ return []
+
+ def fuzzy_entries(self):
+ """
+ Convenience method to keep the same interface with POFile instances.
+ """
+ return []
+
+ def obsolete_entries(self):
+ """
+ Convenience method to keep the same interface with POFile instances.
+ """
+ return []
+# }}}
+# class _BaseEntry {{{
+
+
+class _BaseEntry(object):
+ """
+ Base class for :class:`~polib.POEntry` and :class:`~polib.MOEntry` classes.
+ This class should **not** be instantiated directly.
+ """
+
+ def __init__(self, *args, **kwargs):
+ """
+ Constructor, accepts the following keyword arguments:
+
+ ``msgid``
+ string, the entry msgid.
+
+ ``msgstr``
+ string, the entry msgstr.
+
+ ``msgid_plural``
+ string, the entry msgid_plural.
+
+ ``msgstr_plural``
+ list, the entry msgstr_plural lines.
+
+ ``msgctxt``
+ string, the entry context (msgctxt).
+
+ ``obsolete``
+ bool, whether the entry is "obsolete" or not.
+
+ ``encoding``
+ string, the encoding to use, defaults to ``default_encoding``
+ global variable (optional).
+ """
+ self.msgid = kwargs.get('msgid', '')
+ self.msgstr = kwargs.get('msgstr', '')
+ self.msgid_plural = kwargs.get('msgid_plural', '')
+ self.msgstr_plural = kwargs.get('msgstr_plural', {})
+ self.msgctxt = kwargs.get('msgctxt', None)
+ self.obsolete = kwargs.get('obsolete', False)
+ self.encoding = kwargs.get('encoding', default_encoding)
+
+ def __unicode__(self, wrapwidth=78):
+ """
+ Returns the unicode representation of the entry.
+ """
+ if self.obsolete:
+ delflag = '#~ '
+ else:
+ delflag = ''
+ ret = []
+ # write the msgctxt if any
+ if self.msgctxt is not None:
+ ret += self._str_field("msgctxt", delflag, "", self.msgctxt,
+ wrapwidth)
+ # write the msgid
+ ret += self._str_field("msgid", delflag, "", self.msgid, wrapwidth)
+ # write the msgid_plural if any
+ if self.msgid_plural:
+ ret += self._str_field("msgid_plural", delflag, "",
+ self.msgid_plural, wrapwidth)
+ if self.msgstr_plural:
+ # write the msgstr_plural if any
+ msgstrs = self.msgstr_plural
+ keys = list(msgstrs)
+ keys.sort()
+ for index in keys:
+ msgstr = msgstrs[index]
+ plural_index = '[%s]' % index
+ ret += self._str_field("msgstr", delflag, plural_index, msgstr,
+ wrapwidth)
+ else:
+ # otherwise write the msgstr
+ ret += self._str_field("msgstr", delflag, "", self.msgstr,
+ wrapwidth)
+ ret.append('')
+ ret = u('\n').join(ret)
+ return ret
+
+ if PY3:
+ def __str__(self):
+ return self.__unicode__()
+ else:
+ def __str__(self):
+ """
+ Returns the string representation of the entry.
+ """
+ return unicode(self).encode(self.encoding)
+
+ def __eq__(self, other):
+ return str(self) == str(other)
+
+ def _str_field(self, fieldname, delflag, plural_index, field,
+ wrapwidth=78):
+ lines = field.splitlines(True)
+ if len(lines) > 1:
+ lines = [''] + lines # start with initial empty line
+ else:
+ escaped_field = escape(field)
+ specialchars_count = 0
+ for c in ['\\', '\n', '\r', '\t', '"']:
+ specialchars_count += field.count(c)
+ # comparison must take into account fieldname length + one space
+ # + 2 quotes (eg. msgid "<string>")
+ flength = len(fieldname) + 3
+ if plural_index:
+ flength += len(plural_index)
+ real_wrapwidth = wrapwidth - flength + specialchars_count
+ if wrapwidth > 0 and len(field) > real_wrapwidth:
+ # Wrap the line but take field name into account
+ lines = [''] + [unescape(item) for item in wrap(
+ escaped_field,
+ wrapwidth - 2, # 2 for quotes ""
+ drop_whitespace=False,
+ break_long_words=False
+ )]
+ else:
+ lines = [field]
+ if fieldname.startswith('previous_'):
+ # quick and dirty trick to get the real field name
+ fieldname = fieldname[9:]
+
+ ret = ['%s%s%s "%s"' % (delflag, fieldname, plural_index,
+ escape(lines.pop(0)))]
+ for line in lines:
+ ret.append('%s"%s"' % (delflag, escape(line)))
+ return ret
+# }}}
+# class POEntry {{{
+
+
+class POEntry(_BaseEntry):
+ """
+ Represents a po file entry.
+ """
+
+ def __init__(self, *args, **kwargs):
+ """
+ Constructor, accepts the following keyword arguments:
+
+ ``comment``
+ string, the entry comment.
+
+ ``tcomment``
+ string, the entry translator comment.
+
+ ``occurrences``
+ list, the entry occurrences.
+
+ ``flags``
+ list, the entry flags.
+
+ ``previous_msgctxt``
+ string, the entry previous context.
+
+ ``previous_msgid``
+ string, the entry previous msgid.
+
+ ``previous_msgid_plural``
+ string, the entry previous msgid_plural.
+
+ ``linenum``
+ integer, the line number of the entry
+ """
+ _BaseEntry.__init__(self, *args, **kwargs)
+ self.comment = kwargs.get('comment', '')
+ self.tcomment = kwargs.get('tcomment', '')
+ self.occurrences = kwargs.get('occurrences', [])
+ self.flags = kwargs.get('flags', [])
+ self.previous_msgctxt = kwargs.get('previous_msgctxt', None)
+ self.previous_msgid = kwargs.get('previous_msgid', None)
+ self.previous_msgid_plural = kwargs.get('previous_msgid_plural', None)
+ self.linenum = kwargs.get('linenum', None)
+
+ def __unicode__(self, wrapwidth=78):
+ """
+ Returns the unicode representation of the entry.
+ """
+ ret = []
+ # comments first, if any (with text wrapping as xgettext does)
+ if self.obsolete:
+ comments = [('tcomment', '# ')]
+ else:
+ comments = [('comment', '#. '), ('tcomment', '# ')]
+ for c in comments:
+ val = getattr(self, c[0])
+ if val:
+ for comment in val.split('\n'):
+ if wrapwidth > 0 and len(comment) + len(c[1]) > wrapwidth:
+ ret += wrap(
+ comment,
+ wrapwidth,
+ initial_indent=c[1],
+ subsequent_indent=c[1],
+ break_long_words=False
+ )
+ else:
+ ret.append('%s%s' % (c[1], comment))
+
+ # occurrences (with text wrapping as xgettext does)
+ if not self.obsolete and self.occurrences:
+ filelist = []
+ for fpath, lineno in self.occurrences:
+ if lineno:
+ filelist.append('%s:%s' % (fpath, lineno))
+ else:
+ filelist.append(fpath)
+ filestr = ' '.join(filelist)
+ if wrapwidth > 0 and len(filestr) + 3 > wrapwidth:
+ # textwrap split words that contain hyphen, this is not
+ # what we want for filenames, so the dirty hack is to
+ # temporally replace hyphens with a char that a file cannot
+ # contain, like "*"
+ ret += [l.replace('*', '-') for l in wrap(
+ filestr.replace('-', '*'),
+ wrapwidth,
+ initial_indent='#: ',
+ subsequent_indent='#: ',
+ break_long_words=False
+ )]
+ else:
+ ret.append('#: ' + filestr)
+
+ # flags (TODO: wrapping ?)
+ if self.flags:
+ ret.append('#, %s' % ', '.join(self.flags))
+
+ # previous context and previous msgid/msgid_plural
+ fields = ['previous_msgctxt', 'previous_msgid',
+ 'previous_msgid_plural']
+ if self.obsolete:
+ prefix = "#~| "
+ else:
+ prefix = "#| "
+ for f in fields:
+ val = getattr(self, f)
+ if val:
+ ret += self._str_field(f, prefix, "", val, wrapwidth)
+
+ ret.append(_BaseEntry.__unicode__(self, wrapwidth))
+ ret = u('\n').join(ret)
+ return ret
+
+ def __cmp__(self, other):
+ """
+ Called by comparison operations if rich comparison is not defined.
+ """
+
+ # First: Obsolete test
+ if self.obsolete != other.obsolete:
+ if self.obsolete:
+ return -1
+ else:
+ return 1
+ # Work on a copy to protect original
+ occ1 = sorted(self.occurrences[:])
+ occ2 = sorted(other.occurrences[:])
+ pos = 0
+ for entry1 in occ1:
+ try:
+ entry2 = occ2[pos]
+ except IndexError:
+ return 1
+ pos = pos + 1
+ if entry1[0] != entry2[0]:
+ if entry1[0] > entry2[0]:
+ return 1
+ else:
+ return -1
+ if entry1[1] != entry2[1]:
+ if entry1[1] > entry2[1]:
+ return 1
+ else:
+ return -1
+ # Compare msgid_plural if set
+ if self.msgid_plural:
+ if not other.msgid_plural:
+ return 1
+ for pos in self.msgid_plural:
+ if pos not in other.msgid_plural:
+ return 1
+ if self.msgid_plural[pos] > other.msgid_plural[pos]:
+ return 1
+ if self.msgid_plural[pos] < other.msgid_plural[pos]:
+ return -1
+ # Finally: Compare message ID
+ if self.msgid > other.msgid:
+ return 1
+ elif self.msgid < other.msgid:
+ return -1
+ return 0
+
+ def __gt__(self, other):
+ return self.__cmp__(other) > 0
+
+ def __lt__(self, other):
+ return self.__cmp__(other) < 0
+
+ def __ge__(self, other):
+ return self.__cmp__(other) >= 0
+
+ def __le__(self, other):
+ return self.__cmp__(other) <= 0
+
+ def __eq__(self, other):
+ return self.__cmp__(other) == 0
+
+ def __ne__(self, other):
+ return self.__cmp__(other) != 0
+
+ def translated(self):
+ """
+ Returns ``True`` if the entry has been translated or ``False``
+ otherwise.
+ """
+ if self.obsolete or 'fuzzy' in self.flags:
+ return False
+ if self.msgstr != '':
+ return True
+ if self.msgstr_plural:
+ for pos in self.msgstr_plural:
+ if self.msgstr_plural[pos] == '':
+ return False
+ return True
+ return False
+
+ def merge(self, other):
+ """
+ Merge the current entry with the given pot entry.
+ """
+ self.msgid = other.msgid
+ self.msgctxt = other.msgctxt
+ self.occurrences = other.occurrences
+ self.comment = other.comment
+ fuzzy = 'fuzzy' in self.flags
+ self.flags = other.flags[:] # clone flags
+ if fuzzy:
+ self.flags.append('fuzzy')
+ self.msgid_plural = other.msgid_plural
+ self.obsolete = other.obsolete
+ self.previous_msgctxt = other.previous_msgctxt
+ self.previous_msgid = other.previous_msgid
+ self.previous_msgid_plural = other.previous_msgid_plural
+ if other.msgstr_plural:
+ for pos in other.msgstr_plural:
+ try:
+ # keep existing translation at pos if any
+ self.msgstr_plural[pos]
+ except KeyError:
+ self.msgstr_plural[pos] = ''
+
+ def __hash__(self):
+ return hash((self.msgid, self.msgstr))
+# }}}
+# class MOEntry {{{
+
+
+class MOEntry(_BaseEntry):
+ """
+ Represents a mo file entry.
+ """
+ def __init__(self, *args, **kwargs):
+ """
+ Constructor, accepts the following keyword arguments,
+ for consistency with :class:`~polib.POEntry`:
+
+ ``comment``
+ ``tcomment``
+ ``occurrences``
+ ``flags``
+ ``previous_msgctxt``
+ ``previous_msgid``
+ ``previous_msgid_plural``
+
+ Note: even though these keyword arguments are accepted,
+ they hold no real meaning in the context of MO files
+ and are simply ignored.
+ """
+ _BaseEntry.__init__(self, *args, **kwargs)
+ self.comment = ''
+ self.tcomment = ''
+ self.occurrences = []
+ self.flags = []
+ self.previous_msgctxt = None
+ self.previous_msgid = None
+ self.previous_msgid_plural = None
+
+ def __hash__(self):
+ return hash((self.msgid, self.msgstr))
+
+# }}}
+# class _POFileParser {{{
+
+
+class _POFileParser(object):
+ """
+ A finite state machine to parse efficiently and correctly po
+ file format.
+ """
+
+ def __init__(self, pofile, *args, **kwargs):
+ """
+ Constructor.
+
+ Keyword arguments:
+
+ ``pofile``
+ string, path to the po file or its content
+
+ ``encoding``
+ string, the encoding to use, defaults to ``default_encoding``
+ global variable (optional).
+
+ ``check_for_duplicates``
+ whether to check for duplicate entries when adding entries to the
+ file (optional, default: ``False``).
+ """
+ enc = kwargs.get('encoding', default_encoding)
+ if _is_file(pofile):
+ try:
+ self.fhandle = io.open(pofile, 'rt', encoding=enc)
+ except LookupError:
+ enc = default_encoding
+ self.fhandle = io.open(pofile, 'rt', encoding=enc)
+ else:
+ self.fhandle = pofile.splitlines()
+
+ klass = kwargs.get('klass')
+ if klass is None:
+ klass = POFile
+ self.instance = klass(
+ pofile=pofile,
+ encoding=enc,
+ check_for_duplicates=kwargs.get('check_for_duplicates', False)
+ )
+ self.transitions = {}
+ self.current_line = 0
+ self.current_entry = POEntry(linenum=self.current_line)
+ self.current_state = 'st'
+ self.current_token = None
+ # two memo flags used in handlers
+ self.msgstr_index = 0
+ self.entry_obsolete = 0
+ # Configure the state machine, by adding transitions.
+ # Signification of symbols:
+ # * ST: Beginning of the file (start)
+ # * HE: Header
+ # * TC: a translation comment
+ # * GC: a generated comment
+ # * OC: a file/line occurrence
+ # * FL: a flags line
+ # * CT: a message context
+ # * PC: a previous msgctxt
+ # * PM: a previous msgid
+ # * PP: a previous msgid_plural
+ # * MI: a msgid
+ # * MP: a msgid plural
+ # * MS: a msgstr
+ # * MX: a msgstr plural
+ # * MC: a msgid or msgstr continuation line
+ all = ['st', 'he', 'gc', 'oc', 'fl', 'ct', 'pc', 'pm', 'pp', 'tc',
+ 'ms', 'mp', 'mx', 'mi']
+
+ self.add('tc', ['st', 'he'], 'he')
+ self.add('tc', ['gc', 'oc', 'fl', 'tc', 'pc', 'pm', 'pp', 'ms',
+ 'mp', 'mx', 'mi'], 'tc')
+ self.add('gc', all, 'gc')
+ self.add('oc', all, 'oc')
+ self.add('fl', all, 'fl')
+ self.add('pc', all, 'pc')
+ self.add('pm', all, 'pm')
+ self.add('pp', all, 'pp')
+ self.add('ct', ['st', 'he', 'gc', 'oc', 'fl', 'tc', 'pc', 'pm',
+ 'pp', 'ms', 'mx'], 'ct')
+ self.add('mi', ['st', 'he', 'gc', 'oc', 'fl', 'ct', 'tc', 'pc',
+ 'pm', 'pp', 'ms', 'mx'], 'mi')
+ self.add('mp', ['tc', 'gc', 'pc', 'pm', 'pp', 'mi'], 'mp')
+ self.add('ms', ['mi', 'mp', 'tc'], 'ms')
+ self.add('mx', ['mi', 'mx', 'mp', 'tc'], 'mx')
+ self.add('mc', ['ct', 'mi', 'mp', 'ms', 'mx', 'pm', 'pp', 'pc'], 'mc')
+
+ def parse(self):
+ """
+ Run the state machine, parse the file line by line and call process()
+ with the current matched symbol.
+ """
+
+ keywords = {
+ 'msgctxt': 'ct',
+ 'msgid': 'mi',
+ 'msgstr': 'ms',
+ 'msgid_plural': 'mp',
+ }
+ prev_keywords = {
+ 'msgid_plural': 'pp',
+ 'msgid': 'pm',
+ 'msgctxt': 'pc',
+ }
+ tokens = []
+ for line in self.fhandle:
+ self.current_line += 1
+ line = line.strip()
+ if line == '':
+ continue
+
+ tokens = line.split(None, 2)
+ nb_tokens = len(tokens)
+
+ if tokens[0] == '#~|':
+ continue
+
+ if tokens[0] == '#~' and nb_tokens > 1:
+ line = line[3:].strip()
+ tokens = tokens[1:]
+ nb_tokens -= 1
+ self.entry_obsolete = 1
+ else:
+ self.entry_obsolete = 0
+
+ # Take care of keywords like
+ # msgid, msgid_plural, msgctxt & msgstr.
+ if tokens[0] in keywords and nb_tokens > 1:
+ line = line[len(tokens[0]):].lstrip()
+ if re.search(r'([^\\]|^)"', line[1:-1]):
+ raise IOError('Syntax error in po file %s (line %s): '
+ 'unescaped double quote found' %
+ (self.instance.fpath, self.current_line))
+ self.current_token = line
+ self.process(keywords[tokens[0]])
+ continue
+
+ self.current_token = line
+
+ if tokens[0] == '#:':
+ if nb_tokens <= 1:
+ continue
+ # we are on a occurrences line
+ self.process('oc')
+
+ elif line[:1] == '"':
+ # we are on a continuation line
+ if re.search(r'([^\\]|^)"', line[1:-1]):
+ raise IOError('Syntax error in po file %s (line %s): '
+ 'unescaped double quote found' %
+ (self.instance.fpath, self.current_line))
+ self.process('mc')
+
+ elif line[:7] == 'msgstr[':
+ # we are on a msgstr plural
+ self.process('mx')
+
+ elif tokens[0] == '#,':
+ if nb_tokens <= 1:
+ continue
+ # we are on a flags line
+ self.process('fl')
+
+ elif tokens[0] == '#' or tokens[0].startswith('##'):
+ if line == '#':
+ line += ' '
+ # we are on a translator comment line
+ self.process('tc')
+
+ elif tokens[0] == '#.':
+ if nb_tokens <= 1:
+ continue
+ # we are on a generated comment line
+ self.process('gc')
+
+ elif tokens[0] == '#|':
+ if nb_tokens <= 1:
+ raise IOError('Syntax error in po file %s (line %s)' %
+ (self.instance.fpath, self.current_line))
+
+ # Remove the marker and any whitespace right after that.
+ line = line[2:].lstrip()
+ self.current_token = line
+
+ if tokens[1].startswith('"'):
+ # Continuation of previous metadata.
+ self.process('mc')
+ continue
+
+ if nb_tokens == 2:
+ # Invalid continuation line.
+ raise IOError('Syntax error in po file %s (line %s): '
+ 'invalid continuation line' %
+ (self.instance.fpath, self.current_line))
+
+ # we are on a "previous translation" comment line,
+ if tokens[1] not in prev_keywords:
+ # Unknown keyword in previous translation comment.
+ raise IOError('Syntax error in po file %s (line %s): '
+ 'unknown keyword %s' %
+ (self.instance.fpath, self.current_line,
+ tokens[1]))
+
+ # Remove the keyword and any whitespace
+ # between it and the starting quote.
+ line = line[len(tokens[1]):].lstrip()
+ self.current_token = line
+ self.process(prev_keywords[tokens[1]])
+
+ else:
+ raise IOError('Syntax error in po file %s (line %s)' %
+ (self.instance.fpath, self.current_line))
+
+ if self.current_entry and len(tokens) > 0 and \
+ not tokens[0].startswith('#'):
+ # since entries are added when another entry is found, we must add
+ # the last entry here (only if there are lines). Trailing comments
+ # are ignored
+ self.instance.append(self.current_entry)
+
+ # before returning the instance, check if there's metadata and if
+ # so extract it in a dict
+ metadataentry = self.instance.find('')
+ if metadataentry: # metadata found
+ # remove the entry
+ self.instance.remove(metadataentry)
+ self.instance.metadata_is_fuzzy = metadataentry.flags
+ key = None
+ for msg in metadataentry.msgstr.splitlines():
+ try:
+ key, val = msg.split(':', 1)
+ self.instance.metadata[key] = val.strip()
+ except (ValueError, KeyError):
+ if key is not None:
+ self.instance.metadata[key] += '\n' + msg.strip()
+ # close opened file
+ if not isinstance(self.fhandle, list): # must be file
+ self.fhandle.close()
+ return self.instance
+
+ def add(self, symbol, states, next_state):
+ """
+ Add a transition to the state machine.
+
+ Keywords arguments:
+
+ ``symbol``
+ string, the matched token (two chars symbol).
+
+ ``states``
+ list, a list of states (two chars symbols).
+
+ ``next_state``
+ the next state the fsm will have after the action.
+ """
+ for state in states:
+ action = getattr(self, 'handle_%s' % next_state)
+ self.transitions[(symbol, state)] = (action, next_state)
+
+ def process(self, symbol):
+ """
+ Process the transition corresponding to the current state and the
+ symbol provided.
+
+ Keywords arguments:
+
+ ``symbol``
+ string, the matched token (two chars symbol).
+
+ ``linenum``
+ integer, the current line number of the parsed file.
+ """
+ try:
+ (action, state) = self.transitions[(symbol, self.current_state)]
+ if action():
+ self.current_state = state
+ except Exception:
+ raise IOError('Syntax error in po file (line %s)' %
+ self.current_line)
+
+ # state handlers
+
+ def handle_he(self):
+ """Handle a header comment."""
+ if self.instance.header != '':
+ self.instance.header += '\n'
+ self.instance.header += self.current_token[2:]
+ return 1
+
+ def handle_tc(self):
+ """Handle a translator comment."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ if self.current_entry.tcomment != '':
+ self.current_entry.tcomment += '\n'
+ tcomment = self.current_token.lstrip('#')
+ if tcomment.startswith(' '):
+ tcomment = tcomment[1:]
+ self.current_entry.tcomment += tcomment
+ return True
+
+ def handle_gc(self):
+ """Handle a generated comment."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ if self.current_entry.comment != '':
+ self.current_entry.comment += '\n'
+ self.current_entry.comment += self.current_token[3:]
+ return True
+
+ def handle_oc(self):
+ """Handle a file:num occurrence."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ occurrences = self.current_token[3:].split()
+ for occurrence in occurrences:
+ if occurrence != '':
+ try:
+ fil, line = occurrence.rsplit(':', 1)
+ if not line.isdigit():
+ fil = fil + line
+ line = ''
+ self.current_entry.occurrences.append((fil, line))
+ except (ValueError, AttributeError):
+ self.current_entry.occurrences.append((occurrence, ''))
+ return True
+
+ def handle_fl(self):
+ """Handle a flags line."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ self.current_entry.flags += [c.strip() for c in
+ self.current_token[3:].split(',')]
+ return True
+
+ def handle_pp(self):
+ """Handle a previous msgid_plural line."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ self.current_entry.previous_msgid_plural = \
+ unescape(self.current_token[1:-1])
+ return True
+
+ def handle_pm(self):
+ """Handle a previous msgid line."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ self.current_entry.previous_msgid = \
+ unescape(self.current_token[1:-1])
+ return True
+
+ def handle_pc(self):
+ """Handle a previous msgctxt line."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ self.current_entry.previous_msgctxt = \
+ unescape(self.current_token[1:-1])
+ return True
+
+ def handle_ct(self):
+ """Handle a msgctxt."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ self.current_entry.msgctxt = unescape(self.current_token[1:-1])
+ return True
+
+ def handle_mi(self):
+ """Handle a msgid."""
+ if self.current_state in ['mc', 'ms', 'mx']:
+ self.instance.append(self.current_entry)
+ self.current_entry = POEntry(linenum=self.current_line)
+ self.current_entry.obsolete = self.entry_obsolete
+ self.current_entry.msgid = unescape(self.current_token[1:-1])
+ return True
+
+ def handle_mp(self):
+ """Handle a msgid plural."""
+ self.current_entry.msgid_plural = unescape(self.current_token[1:-1])
+ return True
+
+ def handle_ms(self):
+ """Handle a msgstr."""
+ self.current_entry.msgstr = unescape(self.current_token[1:-1])
+ return True
+
+ def handle_mx(self):
+ """Handle a msgstr plural."""
+ index = self.current_token[7]
+ value = self.current_token[self.current_token.find('"') + 1:-1]
+ self.current_entry.msgstr_plural[int(index)] = unescape(value)
+ self.msgstr_index = int(index)
+ return True
+
+ def handle_mc(self):
+ """Handle a msgid or msgstr continuation line."""
+ token = unescape(self.current_token[1:-1])
+ if self.current_state == 'ct':
+ self.current_entry.msgctxt += token
+ elif self.current_state == 'mi':
+ self.current_entry.msgid += token
+ elif self.current_state == 'mp':
+ self.current_entry.msgid_plural += token
+ elif self.current_state == 'ms':
+ self.current_entry.msgstr += token
+ elif self.current_state == 'mx':
+ self.current_entry.msgstr_plural[self.msgstr_index] += token
+ elif self.current_state == 'pp':
+ self.current_entry.previous_msgid_plural += token
+ elif self.current_state == 'pm':
+ self.current_entry.previous_msgid += token
+ elif self.current_state == 'pc':
+ self.current_entry.previous_msgctxt += token
+ # don't change the current state
+ return False
+# }}}
+# class _MOFileParser {{{
+
+
+class _MOFileParser(object):
+ """
+ A class to parse binary mo files.
+ """
+
+ def __init__(self, mofile, *args, **kwargs):
+ """
+ Constructor.
+
+ Keyword arguments:
+
+ ``mofile``
+ string, path to the mo file or its content
+
+ ``encoding``
+ string, the encoding to use, defaults to ``default_encoding``
+ global variable (optional).
+
+ ``check_for_duplicates``
+ whether to check for duplicate entries when adding entries to the
+ file (optional, default: ``False``).
+ """
+ self.fhandle = open(mofile, 'rb')
+
+ klass = kwargs.get('klass')
+ if klass is None:
+ klass = MOFile
+ self.instance = klass(
+ fpath=mofile,
+ encoding=kwargs.get('encoding', default_encoding),
+ check_for_duplicates=kwargs.get('check_for_duplicates', False)
+ )
+
+ def __del__(self):
+ """
+ Make sure the file is closed, this prevents warnings on unclosed file
+ when running tests with python >= 3.2.
+ """
+ if self.fhandle:
+ self.fhandle.close()
+
+ def parse(self):
+ """
+ Build the instance with the file handle provided in the
+ constructor.
+ """
+ # parse magic number
+ magic_number = self._readbinary('<I', 4)
+ if magic_number == MOFile.MAGIC:
+ ii = '<II'
+ elif magic_number == MOFile.MAGIC_SWAPPED:
+ ii = '>II'
+ else:
+ raise IOError('Invalid mo file, magic number is incorrect !')
+ self.instance.magic_number = magic_number
+ # parse the version number and the number of strings
+ version, numofstrings = self._readbinary(ii, 8)
+ # from MO file format specs: "A program seeing an unexpected major
+ # revision number should stop reading the MO file entirely"
+ if version not in (0, 1):
+ raise IOError('Invalid mo file, unexpected major revision number')
+ self.instance.version = version
+ # original strings and translation strings hash table offset
+ msgids_hash_offset, msgstrs_hash_offset = self._readbinary(ii, 8)
+ # move to msgid hash table and read length and offset of msgids
+ self.fhandle.seek(msgids_hash_offset)
+ msgids_index = []
+ for i in range(numofstrings):
+ msgids_index.append(self._readbinary(ii, 8))
+ # move to msgstr hash table and read length and offset of msgstrs
+ self.fhandle.seek(msgstrs_hash_offset)
+ msgstrs_index = []
+ for i in range(numofstrings):
+ msgstrs_index.append(self._readbinary(ii, 8))
+ # build entries
+ encoding = self.instance.encoding
+ for i in range(numofstrings):
+ self.fhandle.seek(msgids_index[i][1])
+ msgid = self.fhandle.read(msgids_index[i][0])
+
+ self.fhandle.seek(msgstrs_index[i][1])
+ msgstr = self.fhandle.read(msgstrs_index[i][0])
+ if i == 0 and not msgid: # metadata
+ raw_metadata, metadata = msgstr.split(b('\n')), {}
+ for line in raw_metadata:
+ tokens = line.split(b(':'), 1)
+ if tokens[0] != b(''):
+ try:
+ k = tokens[0].decode(encoding)
+ v = tokens[1].decode(encoding)
+ metadata[k] = v.strip()
+ except IndexError:
+ metadata[k] = u('')
+ self.instance.metadata = metadata
+ continue
+ # test if we have a plural entry
+ msgid_tokens = msgid.split(b('\0'))
+ if len(msgid_tokens) > 1:
+ entry = self._build_entry(
+ msgid=msgid_tokens[0],
+ msgid_plural=msgid_tokens[1],
+ msgstr_plural=dict((k, v) for k, v in
+ enumerate(msgstr.split(b('\0'))))
+ )
+ else:
+ entry = self._build_entry(msgid=msgid, msgstr=msgstr)
+ self.instance.append(entry)
+ # close opened file
+ self.fhandle.close()
+ return self.instance
+
+ def _build_entry(self, msgid, msgstr=None, msgid_plural=None,
+ msgstr_plural=None):
+ msgctxt_msgid = msgid.split(b('\x04'))
+ encoding = self.instance.encoding
+ if len(msgctxt_msgid) > 1:
+ kwargs = {
+ 'msgctxt': msgctxt_msgid[0].decode(encoding),
+ 'msgid': msgctxt_msgid[1].decode(encoding),
+ }
+ else:
+ kwargs = {'msgid': msgid.decode(encoding)}
+ if msgstr:
+ kwargs['msgstr'] = msgstr.decode(encoding)
+ if msgid_plural:
+ kwargs['msgid_plural'] = msgid_plural.decode(encoding)
+ if msgstr_plural:
+ for k in msgstr_plural:
+ msgstr_plural[k] = msgstr_plural[k].decode(encoding)
+ kwargs['msgstr_plural'] = msgstr_plural
+ return MOEntry(**kwargs)
+
+ def _readbinary(self, fmt, numbytes):
+ """
+ Private method that unpack n bytes of data using format <fmt>.
+ It returns a tuple or a mixed value if the tuple length is 1.
+ """
+ bytes = self.fhandle.read(numbytes)
+ tup = struct.unpack(fmt, bytes)
+ if len(tup) == 1:
+ return tup[0]
+ return tup
+# }}}
+# class TextWrapper {{{
+
+
+class TextWrapper(textwrap.TextWrapper):
+ """
+ Subclass of textwrap.TextWrapper that backport the
+ drop_whitespace option.
+ """
+ def __init__(self, *args, **kwargs):
+ drop_whitespace = kwargs.pop('drop_whitespace', True)
+ textwrap.TextWrapper.__init__(self, *args, **kwargs)
+ self.drop_whitespace = drop_whitespace
+
+ def _wrap_chunks(self, chunks):
+ """_wrap_chunks(chunks : [string]) -> [string]
+
+ Wrap a sequence of text chunks and return a list of lines of
+ length 'self.width' or less. (If 'break_long_words' is false,
+ some lines may be longer than this.) Chunks correspond roughly
+ to words and the whitespace between them: each chunk is
+ indivisible (modulo 'break_long_words'), but a line break can
+ come between any two chunks. Chunks should not have internal
+ whitespace; ie. a chunk is either all whitespace or a "word".
+ Whitespace chunks will be removed from the beginning and end of
+ lines, but apart from that whitespace is preserved.
+ """
+ lines = []
+ if self.width <= 0:
+ raise ValueError("invalid width %r (must be > 0)" % self.width)
+
+ # Arrange in reverse order so items can be efficiently popped
+ # from a stack of chucks.
+ chunks.reverse()
+
+ while chunks:
+
+ # Start the list of chunks that will make up the current line.
+ # cur_len is just the length of all the chunks in cur_line.
+ cur_line = []
+ cur_len = 0
+
+ # Figure out which static string will prefix this line.
+ if lines:
+ indent = self.subsequent_indent
+ else:
+ indent = self.initial_indent
+
+ # Maximum width for this line.
+ width = self.width - len(indent)
+
+ # First chunk on line is whitespace -- drop it, unless this
+ # is the very beginning of the text (ie. no lines started yet).
+ if self.drop_whitespace and chunks[-1].strip() == '' and lines:
+ del chunks[-1]
+
+ while chunks:
+ l = len(chunks[-1])
+
+ # Can at least squeeze this chunk onto the current line.
+ if cur_len + l <= width:
+ cur_line.append(chunks.pop())
+ cur_len += l
+
+ # Nope, this line is full.
+ else:
+ break
+
+ # The current line is full, and the next chunk is too big to
+ # fit on *any* line (not just this one).
+ if chunks and len(chunks[-1]) > width:
+ self._handle_long_word(chunks, cur_line, cur_len, width)
+
+ # If the last chunk on this line is all whitespace, drop it.
+ if self.drop_whitespace and cur_line and not cur_line[-1].strip():
+ del cur_line[-1]
+
+ # Convert current line back to a string and store it in list
+ # of all lines (return value).
+ if cur_line:
+ lines.append(indent + ''.join(cur_line))
+
+ return lines
+# }}}
+# function wrap() {{{
+
+
+def wrap(text, width=70, **kwargs):
+ """
+ Wrap a single paragraph of text, returning a list of wrapped lines.
+ """
+ if sys.version_info < (2, 6):
+ return TextWrapper(width=width, **kwargs).wrap(text)
+ return textwrap.wrap(text, width=width, **kwargs)
+
+# }}}