summaryrefslogtreecommitdiffstats
path: root/nsis
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:09:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:09:20 +0000
commit029f72b1a93430b24b88eb3a72c6114d9f149737 (patch)
tree765d5c2041967f9c6fef195fe343d9234a030e90 /nsis
parentInitial commit. (diff)
downloadvim-029f72b1a93430b24b88eb3a72c6114d9f149737.tar.xz
vim-029f72b1a93430b24b88eb3a72c6114d9f149737.zip
Adding upstream version 2:9.1.0016.upstream/2%9.1.0016
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'nsis')
-rw-r--r--nsis/README.txt77
-rw-r--r--nsis/gvim.nsi1116
-rw-r--r--nsis/gvim_version.nsh6
-rw-r--r--nsis/icons.zipbin0 -> 121873 bytes
-rw-r--r--nsis/lang/danish.nsi172
-rw-r--r--nsis/lang/dutch.nsi276
-rw-r--r--nsis/lang/english.nsi275
-rw-r--r--nsis/lang/german.nsi275
-rw-r--r--nsis/lang/italian.nsi275
-rw-r--r--nsis/lang/japanese.nsi282
-rw-r--r--nsis/lang/russian.nsi282
-rw-r--r--nsis/lang/serbian.nsi275
-rw-r--r--nsis/lang/simpchinese.nsi272
-rw-r--r--nsis/lang/tradchinese.nsi273
-rw-r--r--nsis/lang/turkish.nsi185
15 files changed, 4041 insertions, 0 deletions
diff --git a/nsis/README.txt b/nsis/README.txt
new file mode 100644
index 0000000..e1abc4a
--- /dev/null
+++ b/nsis/README.txt
@@ -0,0 +1,77 @@
+This builds a one-click install for Vim for Win32 using the Nullsoft
+Installation System (NSIS), available at http://nsis.sourceforge.net/
+
+To build the installable .exe:
+
+1. Unpack three archives:
+ PC sources
+ PC runtime
+ PC language files
+ You can generate these from the Unix sources and runtime plus the extra
+ archive (see the Makefile in the top directory).
+
+2. Go to the src directory and build:
+ gvim.exe (the OLE version),
+ vimrun.exe,
+ install.exe,
+ uninstall.exe,
+ tee/tee.exe,
+ xxd/xxd.exe,
+
+ Then execute tools/rename.bat to rename the executables. (mv command is
+ required.)
+
+3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
+ archive). Both 64- and 32-bit versions are needed and should be placed
+ as follows:
+ 64-bit: src/GvimExt/gvimext64.dll
+ 32-bit: src/GvimExt/gvimext.dll
+
+4. Get a "diff.exe" program. If you skip this the built-in diff will always
+ be used (which is fine for most users). If you do have your own
+ "diff.exe" put it in the "../.." directory (above the "vim90" directory,
+ it's the same for all Vim versions).
+ You can find one in previous Vim versions or in this archive:
+ http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
+
+5 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim90"
+ directory). This is required for the terminal window.
+
+6. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
+ to do this on Unix. Make sure the file is in DOS file format!
+
+7. Get gettext and iconv DLLs from the following site:
+ https://github.com/mlocati/gettext-iconv-windows/releases
+ Both 64- and 32-bit versions are needed.
+ Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
+ DLLs and place them as follows:
+
+ <GETTEXT directory>
+ |
+ + gettext32/
+ | libintl-8.dll
+ | libiconv-2.dll
+ | libgcc_s_sjlj-1.dll
+ |
+ ` gettext64/
+ libintl-8.dll
+ libiconv-2.dll
+
+ The default <GETTEXT directory> is "..", however, you can change it by
+ passing /DGETTEXT=... option to the makensis command.
+
+
+Install NSIS if you didn't do that already.
+Also install UPX, if you want a compressed file.
+Download and include the ShellExecAsUser.dll Unicode version which can be
+sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
+
+
+Unpack the images:
+ cd nsis
+ unzip icons.zip
+
+Then build gvim.exe:
+
+ cd nsis
+ makensis gvim.nsi
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
new file mode 100644
index 0000000..adb38a4
--- /dev/null
+++ b/nsis/gvim.nsi
@@ -0,0 +1,1116 @@
+# NSIS file to create a self-installing exe for Vim.
+# It requires NSIS version 3.0 or later.
+# Last Change: 2014 Nov 5
+
+Unicode true
+
+# WARNING: if you make changes to this script, look out for $0 to be valid,
+# because uninstall deletes most files in $0.
+
+# Location of gvim_ole.exe, vimw32.exe, GvimExt/*, etc.
+!ifndef VIMSRC
+ !define VIMSRC "..\src"
+!endif
+
+# Location of runtime files
+!ifndef VIMRT
+ !define VIMRT ".."
+!endif
+
+# Location of extra tools: diff.exe
+!ifndef VIMTOOLS
+ !define VIMTOOLS ..\..
+!endif
+
+# Location of gettext.
+# It must contain two directories: gettext32 and gettext64.
+# See README.txt for detail.
+!ifndef GETTEXT
+ !define GETTEXT ${VIMRT}
+!endif
+
+# Comment the next line if you don't have UPX.
+# Get it at https://upx.github.io/
+!define HAVE_UPX
+
+# Comment the next line if you do not want to add Native Language Support
+!define HAVE_NLS
+
+# Comment the following line to create an English-only installer:
+!define HAVE_MULTI_LANG
+
+# Uncomment the next line if you want to create a 64-bit installer.
+#!define WIN64
+
+!include gvim_version.nsh # for version number
+
+# Definition of Patch for Vim
+!ifndef PATCHLEVEL
+ !define PATCHLEVEL 0
+!endif
+
+# ----------- No configurable settings below this line -----------
+
+!include "Library.nsh" # For DLL install
+!include "LogicLib.nsh"
+!include "MUI2.nsh"
+!include "nsDialogs.nsh"
+!include "Sections.nsh"
+!include "x64.nsh"
+
+!define PRODUCT "Vim ${VER_MAJOR}.${VER_MINOR}"
+!define UNINST_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall"
+!define UNINST_REG_KEY_VIM "${UNINST_REG_KEY}\${PRODUCT}"
+
+!ifdef WIN64
+Name "${PRODUCT} (x64)"
+!else
+Name "${PRODUCT}"
+!endif
+OutFile gvim${VER_MAJOR}${VER_MINOR}.exe
+CRCCheck force
+SetCompressor /SOLID lzma
+SetCompressorDictSize 64
+ManifestDPIAware true
+SetDatablockOptimize on
+RequestExecutionLevel highest
+
+!ifdef HAVE_UPX
+ !packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
+!endif
+
+!ifdef WIN64
+!define BIT 64
+!else
+!define BIT 32
+!endif
+
+##########################################################
+# MUI2 settings
+
+!define MUI_ABORTWARNING
+!define MUI_UNABORTWARNING
+
+!define MUI_ICON "icons\vim_16c.ico"
+!define MUI_UNICON "icons\vim_uninst_16c.ico"
+
+# Show all languages, despite user's codepage:
+!define MUI_LANGDLL_ALLLANGUAGES
+!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
+!define MUI_LANGDLL_REGISTRY_KEY "Software\Vim"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+
+!define MUI_WELCOMEFINISHPAGE_BITMAP "icons\welcome.bmp"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP "icons\uninstall.bmp"
+!define MUI_HEADERIMAGE
+!define MUI_HEADERIMAGE_BITMAP "icons\header.bmp"
+!define MUI_HEADERIMAGE_UNBITMAP "icons\un_header.bmp"
+
+!define MUI_WELCOMEFINISHPAGE_BITMAP_STRETCH "AspectFitHeight"
+!define MUI_UNWELCOMEFINISHPAGE_BITMAP_STRETCH "AspectFitHeight"
+!define MUI_HEADERIMAGE_BITMAP_STRETCH "AspectFitHeight"
+!define MUI_HEADERIMAGE_UNBITMAP_STRETCH "AspectFitHeight"
+
+!define MUI_COMPONENTSPAGE_SMALLDESC
+!define MUI_LICENSEPAGE_CHECKBOX
+!define MUI_FINISHPAGE_RUN
+!define MUI_FINISHPAGE_RUN_FUNCTION LaunchApplication
+!define MUI_FINISHPAGE_RUN_TEXT $(str_show_readme)
+
+# This adds '\Vim' to the user choice automagically. The actual value is
+# obtained below with CheckOldVim.
+!ifdef WIN64
+ !define DEFAULT_INSTDIR "$PROGRAMFILES64\Vim"
+!else
+ !define DEFAULT_INSTDIR "$PROGRAMFILES\Vim"
+!endif
+InstallDir ${DEFAULT_INSTDIR}
+
+# Types of installs we can perform:
+InstType $(str_type_typical)
+InstType $(str_type_minimal)
+InstType $(str_type_full)
+
+SilentInstall normal
+
+# General custom functions for MUI2:
+#!define MUI_CUSTOMFUNCTION_ABORT VimOnUserAbort
+#!define MUI_CUSTOMFUNCTION_UNABORT un.VimOnUserAbort
+
+# Installer pages
+!insertmacro MUI_PAGE_WELCOME
+!insertmacro MUI_PAGE_LICENSE "${VIMRT}\doc\uganda.nsis.txt"
+!insertmacro MUI_PAGE_COMPONENTS
+Page custom SetCustom ValidateCustom
+#!define MUI_PAGE_CUSTOMFUNCTION_LEAVE VimFinalCheck
+!insertmacro MUI_PAGE_DIRECTORY
+!insertmacro MUI_PAGE_INSTFILES
+!define MUI_FINISHPAGE_NOREBOOTSUPPORT
+!insertmacro MUI_PAGE_FINISH
+
+# Uninstaller pages:
+!insertmacro MUI_UNPAGE_CONFIRM
+#!define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.VimCheckRunning
+!insertmacro MUI_UNPAGE_COMPONENTS
+!insertmacro MUI_UNPAGE_INSTFILES
+!define MUI_FINISHPAGE_NOREBOOTSUPPORT
+!insertmacro MUI_UNPAGE_FINISH
+
+##########################################################
+# Languages Files
+
+!insertmacro MUI_RESERVEFILE_LANGDLL
+!include "lang\english.nsi"
+
+# Include support for other languages:
+!ifdef HAVE_MULTI_LANG
+ !include "lang\danish.nsi"
+ !include "lang\dutch.nsi"
+ !include "lang\german.nsi"
+ !include "lang\italian.nsi"
+ !include "lang\japanese.nsi"
+ !include "lang\russian.nsi"
+ !include "lang\simpchinese.nsi"
+ !include "lang\tradchinese.nsi"
+ !include "lang\turkish.nsi"
+!endif
+
+##########################################################
+# Version resources
+
+VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${VER_MAJOR}.${VER_MINOR}.${PATCHLEVEL}.0"
+VIProductVersion "${VER_MAJOR}.${VER_MINOR}.${PATCHLEVEL}.0"
+
+# Global variables
+Var vim_dialog
+Var vim_nsd_compat
+Var vim_nsd_keymap
+Var vim_nsd_mouse
+Var vim_compat_stat
+Var vim_keymap_stat
+Var vim_mouse_stat
+
+
+# Reserve files
+ReserveFile ${VIMSRC}\installw32.exe
+
+##########################################################
+# Functions
+
+# Get parent directory
+# Share this function both on installer and uninstaller
+!macro GetParent un
+Function ${un}GetParent
+ Exch $0 ; old $0 is on top of stack
+ Push $1
+ Push $2
+ StrCpy $1 -1
+ ${Do}
+ StrCpy $2 $0 1 $1
+ ${If} $2 == ""
+ ${OrIf} $2 == "\"
+ ${ExitDo}
+ ${EndIf}
+ IntOp $1 $1 - 1
+ ${Loop}
+ StrCpy $0 $0 $1
+ Pop $2
+ Pop $1
+ Exch $0 ; put $0 on top of stack, restore $0 to original value
+FunctionEnd
+!macroend
+
+!insertmacro GetParent ""
+!insertmacro GetParent "un."
+
+# Get home directory
+!macro GetHomeDir un
+Function ${un}GetHomeDir
+ Push $0
+ Push $1
+ ReadEnvStr $0 "HOME"
+ ${If} $0 == ""
+ ReadEnvStr $0 "HOMEDRIVE"
+ ReadEnvStr $1 "HOMEPATH"
+ StrCpy $0 "$0$1"
+ ${If} $0 == ""
+ ReadEnvStr $0 "USERPROFILE"
+ ${EndIf}
+ ${EndIf}
+ Pop $1
+ Exch $0 # put $0 on top of stack, restore $0 to original value
+FunctionEnd
+!macroend
+
+!insertmacro GetHomeDir ""
+!insertmacro GetHomeDir "un."
+
+# Check if Vim is already installed.
+# return: Installed directory. If not found, it will be empty.
+Function CheckOldVim
+ Push $0
+ Push $R0
+ Push $R1
+ Push $R2
+
+ ${If} ${RunningX64}
+ SetRegView 64
+ ${EndIf}
+
+ ClearErrors
+ StrCpy $0 "" # Installed directory
+ StrCpy $R0 0 # Sub-key index
+ StrCpy $R1 "" # Sub-key
+ ${Do}
+ # Eumerate the sub-key:
+ EnumRegKey $R1 HKLM ${UNINST_REG_KEY} $R0
+
+ # Stop if no more sub-key:
+ ${If} ${Errors}
+ ${OrIf} $R1 == ""
+ ${ExitDo}
+ ${EndIf}
+
+ # Move to the next sub-key:
+ IntOp $R0 $R0 + 1
+
+ # Check if the key is Vim uninstall key or not:
+ StrCpy $R2 $R1 4
+ ${If} $R2 S!= "Vim "
+ ${Continue}
+ ${EndIf}
+
+ # Verifies required sub-keys:
+ ReadRegStr $R2 HKLM "${UNINST_REG_KEY}\$R1" "DisplayName"
+ ${If} ${Errors}
+ ${OrIf} $R2 == ""
+ ${Continue}
+ ${EndIf}
+
+ ReadRegStr $R2 HKLM "${UNINST_REG_KEY}\$R1" "UninstallString"
+ ${If} ${Errors}
+ ${OrIf} $R2 == ""
+ ${Continue}
+ ${EndIf}
+
+ # Found
+ Push $R2
+ call GetParent
+ call GetParent
+ Pop $0 # Vim directory
+ ${ExitDo}
+
+ ${Loop}
+
+ ${If} ${RunningX64}
+ SetRegView lastused
+ ${EndIf}
+
+ Pop $R2
+ Pop $R1
+ Pop $R0
+ Exch $0 # put $0 on top of stack, restore $0 to original value
+FunctionEnd
+
+Function LaunchApplication
+ SetOutPath $0
+ ShellExecAsUser::ShellExecAsUser "" "$0\gvim.exe" '-R "$0\README.txt"'
+FunctionEnd
+
+##########################################################
+Section "$(str_section_old_ver)" id_section_old_ver
+ SectionIn 1 2 3 RO
+
+ # run the install program to check for already installed versions
+ SetOutPath $TEMP
+ File /oname=install.exe ${VIMSRC}\installw32.exe
+ DetailPrint "$(str_msg_uninstalling)"
+ ${Do}
+ nsExec::Exec "$TEMP\install.exe -uninstall-check"
+ Pop $3
+
+ call CheckOldVim
+ Pop $3
+ ${If} $3 == ""
+ ${ExitDo}
+ ${Else}
+ # It seems that the old version is still remaining.
+ # TODO: Should we show a warning and run the uninstaller again?
+
+ ${ExitDo} # Just ignore for now.
+ ${EndIf}
+ ${Loop}
+ Delete $TEMP\install.exe
+ Delete $TEMP\vimini.ini # install.exe creates this, but we don't need it.
+
+ # We may have been put to the background when uninstall did something.
+ BringToFront
+SectionEnd
+
+##########################################################
+Section "$(str_section_exe)" id_section_exe
+ SectionIn 1 2 3 RO
+
+ # we need also this here if the user changes the instdir
+ StrCpy $0 "$INSTDIR\vim${VER_MAJOR}${VER_MINOR}"
+
+ SetOutPath $0
+ File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
+!if /FileExists "${VIMSRC}\vim${BIT}.dll"
+ File ${VIMSRC}\vim${BIT}.dll
+!endif
+!if /FileExists "${VIMRT}\libsodium.dll"
+ File ${VIMRT}\libsodium.dll
+!endif
+ File /oname=install.exe ${VIMSRC}\installw32.exe
+ File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
+ File ${VIMSRC}\vimrun.exe
+ File /oname=tee.exe ${VIMSRC}\teew32.exe
+ File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
+ File ..\vimtutor.bat
+ File ..\README.txt
+ File ..\uninstall.txt
+ File ${VIMRT}\*.vim
+
+ File ${VIMTOOLS}\diff.exe
+ File ${VIMTOOLS}\winpty${BIT}.dll
+ File ${VIMTOOLS}\winpty-agent.exe
+
+ SetOutPath $0\colors
+ File /r ${VIMRT}\colors\*.*
+
+ SetOutPath $0\compiler
+ File ${VIMRT}\compiler\*.*
+
+ SetOutPath $0\doc
+ File ${VIMRT}\doc\*.txt
+ File ${VIMRT}\doc\tags
+
+ SetOutPath $0\ftplugin
+ File ${VIMRT}\ftplugin\*.*
+
+ SetOutPath $0\indent
+ File ${VIMRT}\indent\*.*
+
+ SetOutPath $0\macros
+ File /r ${VIMRT}\macros\*.*
+
+ SetOutPath $0\pack
+ File /r ${VIMRT}\pack\*.*
+
+ SetOutPath $0\plugin
+ File ${VIMRT}\plugin\*.*
+
+ SetOutPath $0\autoload
+ File /r ${VIMRT}\autoload\*.*
+
+ SetOutPath $0\import\dist
+ File ${VIMRT}\import\dist\*.*
+
+ SetOutPath $0\bitmaps
+ File ${VIMSRC}\vim.ico
+
+ SetOutPath $0\syntax
+ File /r /x testdir ${VIMRT}\syntax\*.*
+
+ SetOutPath $0\spell
+ File ${VIMRT}\spell\*.txt
+ File ${VIMRT}\spell\*.vim
+ File ${VIMRT}\spell\*.spl
+ File ${VIMRT}\spell\*.sug
+
+ SetOutPath $0\tools
+ File ${VIMRT}\tools\*.*
+
+ SetOutPath $0\tutor
+ File ${VIMRT}\tutor\*.*
+SectionEnd
+
+##########################################################
+Section "$(str_section_console)" id_section_console
+ SectionIn 1 3
+
+ SetOutPath $0
+ File /oname=vim.exe ${VIMSRC}\vimw32.exe
+ StrCpy $2 "$2 vim view vimdiff"
+SectionEnd
+
+##########################################################
+Section "$(str_section_batch)" id_section_batch
+ SectionIn 3
+
+ StrCpy $1 "$1 -create-batfiles $2"
+SectionEnd
+
+##########################################################
+SectionGroup $(str_group_icons) id_group_icons
+ Section "$(str_section_desktop)" id_section_desktop
+ SectionIn 1 3
+
+ StrCpy $1 "$1 -install-icons"
+ SectionEnd
+
+ Section "$(str_section_start_menu)" id_section_startmenu
+ SectionIn 1 3
+
+ StrCpy $1 "$1 -add-start-menu"
+ SectionEnd
+SectionGroupEnd
+
+##########################################################
+Section "$(str_section_edit_with)" id_section_editwith
+ SectionIn 1 3
+
+ SetOutPath $0
+
+ ${If} ${RunningX64}
+ # Install 64-bit gvimext.dll into the GvimExt64 directory.
+ SetOutPath $0\GvimExt64
+ ClearErrors
+ !define LIBRARY_SHELL_EXTENSION
+ !define LIBRARY_X64
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${VIMSRC}\GvimExt\gvimext64.dll" \
+ "$0\GvimExt64\gvimext.dll" "$0"
+ !undef LIBRARY_X64
+ !undef LIBRARY_SHELL_EXTENSION
+ ${EndIf}
+
+ # Install 32-bit gvimext.dll into the GvimExt32 directory.
+ SetOutPath $0\GvimExt32
+ ClearErrors
+ !define LIBRARY_SHELL_EXTENSION
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${VIMSRC}\GvimExt\gvimext.dll" \
+ "$0\GvimExt32\gvimext.dll" "$0"
+ !undef LIBRARY_SHELL_EXTENSION
+
+ # We don't have a separate entry for the "Open With..." menu, assume
+ # the user wants either both or none.
+ StrCpy $1 "$1 -install-popup -install-openwith"
+SectionEnd
+
+##########################################################
+Section "$(str_section_vim_rc)" id_section_vimrc
+ SectionIn 1 3
+
+ StrCpy $1 "$1 -create-vimrc"
+
+ ${If} ${RunningX64}
+ SetRegView 64
+ ${EndIf}
+ WriteRegStr HKLM "${UNINST_REG_KEY_VIM}" "vim_compat" "$vim_compat_stat"
+ WriteRegStr HKLM "${UNINST_REG_KEY_VIM}" "vim_keyremap" "$vim_keymap_stat"
+ WriteRegStr HKLM "${UNINST_REG_KEY_VIM}" "vim_mouse" "$vim_mouse_stat"
+ ${If} ${RunningX64}
+ SetRegView lastused
+ ${EndIf}
+
+ ${If} $vim_compat_stat == "vi"
+ StrCpy $1 "$1 -vimrc-compat vi"
+ ${ElseIf} $vim_compat_stat == "vim"
+ StrCpy $1 "$1 -vimrc-compat vim"
+ ${ElseIf} $vim_compat_stat == "defaults"
+ StrCpy $1 "$1 -vimrc-compat defaults"
+ ${Else}
+ StrCpy $1 "$1 -vimrc-compat all"
+ ${EndIf}
+
+ ${If} $vim_keymap_stat == "default"
+ StrCpy $1 "$1 -vimrc-remap no"
+ ${Else}
+ StrCpy $1 "$1 -vimrc-remap win"
+ ${EndIf}
+
+ ${If} $vim_mouse_stat == "default"
+ StrCpy $1 "$1 -vimrc-behave default"
+ ${ElseIf} $vim_mouse_stat == "windows"
+ StrCpy $1 "$1 -vimrc-behave mswin"
+ ${Else}
+ StrCpy $1 "$1 -vimrc-behave unix"
+ ${EndIf}
+
+SectionEnd
+
+##########################################################
+SectionGroup $(str_group_plugin) id_group_plugin
+ Section "$(str_section_plugin_home)" id_section_pluginhome
+ SectionIn 1 3
+
+ # use ShellExecAsUser below instead
+ # StrCpy $1 "$1 -create-directories home"
+ SectionEnd
+
+ Section "$(str_section_plugin_vim)" id_section_pluginvim
+ SectionIn 3
+
+ StrCpy $1 "$1 -create-directories vim"
+ SectionEnd
+SectionGroupEnd
+
+##########################################################
+!ifdef HAVE_NLS
+Section "$(str_section_nls)" id_section_nls
+ SectionIn 1 3
+
+ SetOutPath $0\lang
+ File /r ${VIMRT}\lang\*.*
+ SetOutPath $0\keymap
+ File ${VIMRT}\keymap\README.txt
+ File ${VIMRT}\keymap\*.vim
+ SetOutPath $0
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${GETTEXT}\gettext${BIT}\libintl-8.dll" \
+ "$0\libintl-8.dll" "$0"
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${GETTEXT}\gettext${BIT}\libiconv-2.dll" \
+ "$0\libiconv-2.dll" "$0"
+ !if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
+ # Install libgcc_s_sjlj-1.dll only if it is needed.
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll" \
+ "$0\libgcc_s_sjlj-1.dll" "$0"
+ !endif
+
+ ${If} ${SectionIsSelected} ${id_section_editwith}
+ ${If} ${RunningX64}
+ # Install DLLs for 64-bit gvimext.dll into the GvimExt64 directory.
+ SetOutPath $0\GvimExt64
+ ClearErrors
+ !define LIBRARY_X64
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${GETTEXT}\gettext64\libintl-8.dll" \
+ "$0\GvimExt64\libintl-8.dll" "$0\GvimExt64"
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${GETTEXT}\gettext64\libiconv-2.dll" \
+ "$0\GvimExt64\libiconv-2.dll" "$0\GvimExt64"
+ !undef LIBRARY_X64
+ ${EndIf}
+
+ # Install DLLs for 32-bit gvimext.dll into the GvimExt32 directory.
+ SetOutPath $0\GvimExt32
+ ClearErrors
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${GETTEXT}\gettext32\libintl-8.dll" \
+ "$0\GvimExt32\libintl-8.dll" "$0\GvimExt32"
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${GETTEXT}\gettext32\libiconv-2.dll" \
+ "$0\GvimExt32\libiconv-2.dll" "$0\GvimExt32"
+ !if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
+ # Install libgcc_s_sjlj-1.dll only if it is needed.
+ !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll" \
+ "$0\GvimExt32\libgcc_s_sjlj-1.dll" "$0\GvimExt32"
+ !endif
+ ${EndIf}
+SectionEnd
+!endif
+
+##########################################################
+Section -call_install_exe
+ SetOutPath $0
+ DetailPrint "$(str_msg_registering)"
+ nsExec::Exec "$0\install.exe $1"
+ Pop $3
+
+ ${If} ${SectionIsSelected} ${id_section_pluginhome}
+ ReadEnvStr $3 "COMSPEC"
+ Call GetHomeDir
+ Pop $4
+ ShellExecAsUser::ShellExecAsUser "" "$3" '/c "cd /d "$4" & mkdir vimfiles & cd vimfiles & mkdir colors compiler doc ftdetect ftplugin indent keymap plugin syntax"' SW_HIDE
+ ${EndIf}
+SectionEnd
+
+##########################################################
+!macro SaveSectionSelection section_id reg_value
+ ${If} ${SectionIsSelected} ${section_id}
+ WriteRegDWORD HKLM "${UNINST_REG_KEY_VIM}" ${reg_value} 1
+ ${Else}
+ WriteRegDWORD HKLM "${UNINST_REG_KEY_VIM}" ${reg_value} 0
+ ${EndIf}
+!macroend
+
+Section -post
+
+ # Get estimated install size
+ SectionGetSize ${id_section_exe} $3
+ ${If} ${SectionIsSelected} ${id_section_console}
+ SectionGetSize ${id_section_console} $4
+ IntOp $3 $3 + $4
+ ${EndIf}
+ ${If} ${SectionIsSelected} ${id_section_editwith}
+ SectionGetSize ${id_section_editwith} $4
+ IntOp $3 $3 + $4
+ ${EndIf}
+!ifdef HAVE_NLS
+ ${If} ${SectionIsSelected} ${id_section_nls}
+ SectionGetSize ${id_section_nls} $4
+ IntOp $3 $3 + $4
+ ${EndIf}
+!endif
+
+ # Register EstimatedSize and AllowSilent.
+ # Other information will be set by the install.exe (dosinst.c).
+ ${If} ${RunningX64}
+ SetRegView 64
+ ${EndIf}
+ WriteRegDWORD HKLM "${UNINST_REG_KEY_VIM}" "EstimatedSize" $3
+ WriteRegDWORD HKLM "${UNINST_REG_KEY_VIM}" "AllowSilent" 1
+ ${If} ${RunningX64}
+ SetRegView lastused
+ ${EndIf}
+
+ # Store the selections to the registry.
+ ${If} ${RunningX64}
+ SetRegView 64
+ ${EndIf}
+ !insertmacro SaveSectionSelection ${id_section_console} "select_console"
+ !insertmacro SaveSectionSelection ${id_section_batch} "select_batch"
+ !insertmacro SaveSectionSelection ${id_section_desktop} "select_desktop"
+ !insertmacro SaveSectionSelection ${id_section_startmenu} "select_startmenu"
+ !insertmacro SaveSectionSelection ${id_section_editwith} "select_editwith"
+ !insertmacro SaveSectionSelection ${id_section_vimrc} "select_vimrc"
+ !insertmacro SaveSectionSelection ${id_section_pluginhome} "select_pluginhome"
+ !insertmacro SaveSectionSelection ${id_section_pluginvim} "select_pluginvim"
+!ifdef HAVE_NLS
+ !insertmacro SaveSectionSelection ${id_section_nls} "select_nls"
+!endif
+ ${If} ${RunningX64}
+ SetRegView lastused
+ ${EndIf}
+
+ BringToFront
+SectionEnd
+
+##########################################################
+!macro LoadSectionSelection section_id reg_value
+ ClearErrors
+ ReadRegDWORD $3 HKLM "${UNINST_REG_KEY_VIM}" ${reg_value}
+ ${IfNot} ${Errors}
+ ${If} $3 = 1
+ !insertmacro SelectSection ${section_id}
+ ${Else}
+ !insertmacro UnselectSection ${section_id}
+ ${EndIf}
+ ${EndIf}
+!macroend
+
+!macro LoadDefaultVimrc out_var reg_value default_value
+ ClearErrors
+ ReadRegStr ${out_var} HKLM "${UNINST_REG_KEY_VIM}" ${reg_value}
+ ${If} ${Errors}
+ ${OrIf} ${out_var} == ""
+ StrCpy ${out_var} ${default_value}
+ ${EndIf}
+!macroend
+
+Function .onInit
+!ifdef HAVE_MULTI_LANG
+ # Select a language (or read from the registry).
+ !insertmacro MUI_LANGDLL_DISPLAY
+!endif
+
+ ${If} $INSTDIR == ${DEFAULT_INSTDIR}
+ # Check $VIM
+ ReadEnvStr $3 "VIM"
+ ${If} $3 != ""
+ StrCpy $INSTDIR $3
+ ${EndIf}
+ ${EndIf}
+
+ call CheckOldVim
+ Pop $3
+ ${If} $3 == ""
+ # No old versions of Vim found. Unselect and hide the section.
+ !insertmacro UnselectSection ${id_section_old_ver}
+ SectionSetInstTypes ${id_section_old_ver} 0
+ SectionSetText ${id_section_old_ver} ""
+ ${Else}
+ ${If} $INSTDIR == ${DEFAULT_INSTDIR}
+ StrCpy $INSTDIR $3
+ ${EndIf}
+ ${EndIf}
+
+ ${If} ${RunningX64}
+ SetRegView 64
+ ${EndIf}
+ # Load the selections from the registry (if any).
+ !insertmacro LoadSectionSelection ${id_section_console} "select_console"
+ !insertmacro LoadSectionSelection ${id_section_batch} "select_batch"
+ !insertmacro LoadSectionSelection ${id_section_desktop} "select_desktop"
+ !insertmacro LoadSectionSelection ${id_section_startmenu} "select_startmenu"
+ !insertmacro LoadSectionSelection ${id_section_editwith} "select_editwith"
+ !insertmacro LoadSectionSelection ${id_section_vimrc} "select_vimrc"
+ !insertmacro LoadSectionSelection ${id_section_pluginhome} "select_pluginhome"
+ !insertmacro LoadSectionSelection ${id_section_pluginvim} "select_pluginvim"
+!ifdef HAVE_NLS
+ !insertmacro LoadSectionSelection ${id_section_nls} "select_nls"
+!endif
+ # Load the default _vimrc settings from the registry (if any).
+ !insertmacro LoadDefaultVimrc $vim_compat_stat "vim_compat" "all"
+ !insertmacro LoadDefaultVimrc $vim_keymap_stat "vim_keyremap" "default"
+ !insertmacro LoadDefaultVimrc $vim_mouse_stat "vim_mouse" "default"
+ ${If} ${RunningX64}
+ SetRegView lastused
+ ${EndIf}
+
+ # User variables:
+ # $0 - holds the directory the executables are installed to
+ # $1 - holds the parameters to be passed to install.exe. Starts with OLE
+ # registration (since a non-OLE gvim will not complain, and we want to
+ # always register an OLE gvim).
+ # $2 - holds the names to create batch files for
+ StrCpy $0 "$INSTDIR\vim${VER_MAJOR}${VER_MINOR}"
+ StrCpy $1 "-register-OLE"
+ StrCpy $2 "gvim evim gview gvimdiff vimtutor"
+FunctionEnd
+
+Function .onInstSuccess
+ WriteUninstaller vim${VER_MAJOR}${VER_MINOR}\uninstall-gui.exe
+FunctionEnd
+
+Function .onInstFailed
+ MessageBox MB_OK|MB_ICONEXCLAMATION "$(str_msg_install_fail)" /SD IDOK
+FunctionEnd
+
+##########################################################
+Function SetCustom
+ # Display the _vimrc setting dialog using nsDialogs.
+
+ # Check if a _vimrc should be created
+ ${IfNot} ${SectionIsSelected} ${id_section_vimrc}
+ Abort
+ ${EndIf}
+
+ !insertmacro MUI_HEADER_TEXT \
+ $(str_vimrc_page_title) $(str_vimrc_page_subtitle)
+
+ nsDialogs::Create 1018
+ Pop $vim_dialog
+
+ ${If} $vim_dialog == error
+ Abort
+ ${EndIf}
+
+ ${If} ${RunningX64}
+ SetRegView 64
+ ${EndIf}
+
+ GetFunctionAddress $3 ValidateCustom
+ nsDialogs::OnBack $3
+
+
+ # 1st group - Compatibility
+ ${NSD_CreateGroupBox} 0 0 100% 32% $(str_msg_compat_title)
+ Pop $3
+
+ ${NSD_CreateLabel} 5% 10% 35% 8% $(str_msg_compat_desc)
+ Pop $3
+ ${NSD_CreateDropList} 18% 19% 75% 8% ""
+ Pop $vim_nsd_compat
+ ${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_vi)
+ ${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_vim)
+ ${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_defaults)
+ ${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_all)
+
+ ${If} $vim_compat_stat == "defaults"
+ StrCpy $4 2
+ ${ElseIf} $vim_compat_stat == "vim"
+ StrCpy $4 1
+ ${ElseIf} $vim_compat_stat == "vi"
+ StrCpy $4 0
+ ${Else} # default
+ StrCpy $4 3
+ ${EndIf}
+ ${NSD_CB_SetSelectionIndex} $vim_nsd_compat $4
+
+
+ # 2nd group - Key remapping
+ ${NSD_CreateGroupBox} 0 35% 100% 31% $(str_msg_keymap_title)
+ Pop $3
+
+ ${NSD_CreateLabel} 5% 45% 90% 8% $(str_msg_keymap_desc)
+ Pop $3
+ ${NSD_CreateDropList} 38% 54% 55% 8% ""
+ Pop $vim_nsd_keymap
+ ${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_default)
+ ${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_windows)
+
+ ${If} $vim_keymap_stat == "windows"
+ StrCpy $4 1
+ ${Else} # default
+ StrCpy $4 0
+ ${EndIf}
+ ${NSD_CB_SetSelectionIndex} $vim_nsd_keymap $4
+
+
+ # 3rd group - Mouse behavior
+ ${NSD_CreateGroupBox} 0 69% 100% 31% $(str_msg_mouse_title)
+ Pop $3
+
+ ${NSD_CreateLabel} 5% 79% 90% 8% $(str_msg_mouse_desc)
+ Pop $3
+ ${NSD_CreateDropList} 23% 87% 70% 8% ""
+ Pop $vim_nsd_mouse
+ ${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_default)
+ ${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_windows)
+ ${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_unix)
+
+ ${If} $vim_mouse_stat == "xterm"
+ StrCpy $4 2
+ ${ElseIf} $vim_mouse_stat == "windows"
+ StrCpy $4 1
+ ${Else} # default
+ StrCpy $4 0
+ ${EndIf}
+ ${NSD_CB_SetSelectionIndex} $vim_nsd_mouse $4
+
+ ${If} ${RunningX64}
+ SetRegView lastused
+ ${EndIf}
+
+ nsDialogs::Show
+FunctionEnd
+
+Function ValidateCustom
+ ${NSD_CB_GetSelectionIndex} $vim_nsd_compat $3
+ ${If} $3 = 0
+ StrCpy $vim_compat_stat "vi"
+ ${ElseIf} $3 = 1
+ StrCpy $vim_compat_stat "vim"
+ ${ElseIf} $3 = 2
+ StrCpy $vim_compat_stat "defaults"
+ ${Else}
+ StrCpy $vim_compat_stat "all"
+ ${EndIf}
+
+ ${NSD_CB_GetSelectionIndex} $vim_nsd_keymap $3
+ ${If} $3 = 0
+ StrCpy $vim_keymap_stat "default"
+ ${Else}
+ StrCpy $vim_keymap_stat "windows"
+ ${EndIf}
+
+ ${NSD_CB_GetSelectionIndex} $vim_nsd_mouse $3
+ ${If} $3 = 0
+ StrCpy $vim_mouse_stat "default"
+ ${ElseIf} $3 = 1
+ StrCpy $vim_mouse_stat "windows"
+ ${Else}
+ StrCpy $vim_mouse_stat "xterm"
+ ${EndIf}
+FunctionEnd
+
+##########################################################
+# Description for Installer Sections
+
+!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_old_ver} $(str_desc_old_ver)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_exe} $(str_desc_exe)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_console} $(str_desc_console)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_batch} $(str_desc_batch)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_group_icons} $(str_desc_icons)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_desktop} $(str_desc_desktop)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_startmenu} $(str_desc_start_menu)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_editwith} $(str_desc_edit_with)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_vimrc} $(str_desc_vim_rc)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_group_plugin} $(str_desc_plugin)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginhome} $(str_desc_plugin_home)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginvim} $(str_desc_plugin_vim)
+!ifdef HAVE_NLS
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_section_nls} $(str_desc_nls)
+!endif
+!insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+
+##########################################################
+# Uninstaller Functions and Sections
+
+Function un.onInit
+!ifdef HAVE_MULTI_LANG
+ # Get the language from the registry.
+ !insertmacro MUI_UNGETLANGUAGE
+!endif
+FunctionEnd
+
+Section "un.$(str_unsection_register)" id_unsection_register
+ SectionIn RO
+
+ # Apparently $INSTDIR is set to the directory where the uninstaller is
+ # created. Thus the "vim61" directory is included in it.
+ StrCpy $0 "$INSTDIR"
+
+ # delete the context menu entry and batch files
+ DetailPrint "$(str_msg_unregistering)"
+ nsExec::Exec "$0\uninstall.exe -nsis"
+ Pop $3
+
+ # We may have been put to the background when uninstall did something.
+ BringToFront
+
+ # Delete the installer language setting.
+ DeleteRegKey ${MUI_LANGDLL_REGISTRY_ROOT} ${MUI_LANGDLL_REGISTRY_KEY}
+SectionEnd
+
+Section "un.$(str_unsection_exe)" id_unsection_exe
+
+ StrCpy $0 "$INSTDIR"
+
+ # Delete gettext and iconv DLLs
+ ${If} ${FileExists} "$0\libiconv-2.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\libiconv-2.dll"
+ ${EndIf}
+ ${If} ${FileExists} "$0\libintl-8.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\libintl-8.dll"
+ ${EndIf}
+ ${If} ${FileExists} "$0\libgcc_s_sjlj-1.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\libgcc_s_sjlj-1.dll"
+ ${EndIf}
+
+ # Delete other DLLs
+ Delete /REBOOTOK $0\*.dll
+
+ # Delete 64-bit GvimExt
+ ${If} ${RunningX64}
+ !define LIBRARY_X64
+ ${If} ${FileExists} "$0\GvimExt64\gvimext.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\GvimExt64\gvimext.dll"
+ ${EndIf}
+ ${If} ${FileExists} "$0\GvimExt64\libiconv-2.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\GvimExt64\libiconv-2.dll"
+ ${EndIf}
+ ${If} ${FileExists} "$0\GvimExt64\libintl-8.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\GvimExt64\libintl-8.dll"
+ ${EndIf}
+ ${If} ${FileExists} "$0\GvimExt64\libwinpthread-1.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\GvimExt64\libwinpthread-1.dll"
+ ${EndIf}
+ !undef LIBRARY_X64
+ RMDir /r $0\GvimExt64
+ ${EndIf}
+
+ # Delete 32-bit GvimExt
+ ${If} ${FileExists} "$0\GvimExt32\gvimext.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\GvimExt32\gvimext.dll"
+ ${EndIf}
+ ${If} ${FileExists} "$0\GvimExt32\libiconv-2.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\GvimExt32\libiconv-2.dll"
+ ${EndIf}
+ ${If} ${FileExists} "$0\GvimExt32\libintl-8.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\GvimExt32\libintl-8.dll"
+ ${EndIf}
+ ${If} ${FileExists} "$0\GvimExt32\libgcc_s_sjlj-1.dll"
+ !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
+ "$0\GvimExt32\libgcc_s_sjlj-1.dll"
+ ${EndIf}
+ RMDir /r $0\GvimExt32
+
+ ClearErrors
+ # Remove everything but *.dll files. Avoids that
+ # a lot remains when gvimext.dll cannot be deleted.
+ RMDir /r $0\autoload
+ RMDir /r $0\colors
+ RMDir /r $0\compiler
+ RMDir /r $0\doc
+ RMDir /r $0\ftplugin
+ RMDir /r $0\import
+ RMDir /r $0\indent
+ RMDir /r $0\macros
+ RMDir /r $0\pack
+ RMDir /r $0\plugin
+ RMDir /r $0\spell
+ RMDir /r $0\syntax
+ RMDir /r $0\tools
+ RMDir /r $0\tutor
+ RMDir /r $0\lang
+ RMDir /r $0\keymap
+ Delete $0\*.exe
+ Delete $0\*.bat
+ Delete $0\*.vim
+ Delete $0\*.txt
+
+ ${If} ${Errors}
+ MessageBox MB_OK|MB_ICONEXCLAMATION $(str_msg_rm_exe_fail) /SD IDOK
+ ${EndIf}
+
+ # No error message if the "vim62" directory can't be removed, the
+ # gvimext.dll may still be there.
+ RMDir $0
+SectionEnd
+
+# Remove "vimfiles" directory under the specified directory.
+!macro RemoveVimfiles dir
+ ${If} ${FileExists} ${dir}\vimfiles
+ RMDir ${dir}\vimfiles\colors
+ RMDir ${dir}\vimfiles\compiler
+ RMDir ${dir}\vimfiles\doc
+ RMDir ${dir}\vimfiles\ftdetect
+ RMDir ${dir}\vimfiles\ftplugin
+ RMDir ${dir}\vimfiles\indent
+ RMDir ${dir}\vimfiles\keymap
+ RMDir ${dir}\vimfiles\plugin
+ RMDir ${dir}\vimfiles\syntax
+ RMDir ${dir}\vimfiles
+ ${EndIf}
+!macroend
+
+SectionGroup "un.$(str_ungroup_plugin)" id_ungroup_plugin
+ Section /o "un.$(str_unsection_plugin_home)" id_unsection_plugin_home
+ # get the home dir
+ Call un.GetHomeDir
+ Pop $0
+
+ ${If} $0 != ""
+ !insertmacro RemoveVimfiles $0
+ ${EndIf}
+ SectionEnd
+
+ Section "un.$(str_unsection_plugin_vim)" id_unsection_plugin_vim
+ # get the parent dir of the installation
+ Push $INSTDIR
+ Call un.GetParent
+ Pop $0
+
+ # if a plugin dir was created at installation remove it
+ !insertmacro RemoveVimfiles $0
+ SectionEnd
+SectionGroupEnd
+
+Section "un.$(str_unsection_rootdir)" id_unsection_rootdir
+ # get the parent dir of the installation
+ Push $INSTDIR
+ Call un.GetParent
+ Pop $0
+
+ ${IfNot} ${Silent}
+ Delete $0\_vimrc
+ ${Endif}
+ RMDir $0
+SectionEnd
+
+##########################################################
+# Description for Uninstaller Sections
+
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_unsection_register} $(str_desc_unregister)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_unsection_exe} $(str_desc_rm_exe)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_ungroup_plugin} $(str_desc_rm_plugin)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_unsection_plugin_home} $(str_desc_rm_plugin_home)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_unsection_plugin_vim} $(str_desc_rm_plugin_vim)
+ !insertmacro MUI_DESCRIPTION_TEXT ${id_unsection_rootdir} $(str_desc_rm_rootdir)
+!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
diff --git a/nsis/gvim_version.nsh b/nsis/gvim_version.nsh
new file mode 100644
index 0000000..aee434b
--- /dev/null
+++ b/nsis/gvim_version.nsh
@@ -0,0 +1,6 @@
+# Generated from Makefile: define the version numbers
+!ifndef __GVIM_VER__NSH__
+!define __GVIM_VER__NSH__
+!define VER_MAJOR 9
+!define VER_MINOR 1
+!endif
diff --git a/nsis/icons.zip b/nsis/icons.zip
new file mode 100644
index 0000000..5dddbbe
--- /dev/null
+++ b/nsis/icons.zip
Binary files differ
diff --git a/nsis/lang/danish.nsi b/nsis/lang/danish.nsi
new file mode 100644
index 0000000..b365413
--- /dev/null
+++ b/nsis/lang/danish.nsi
@@ -0,0 +1,172 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# danish.nsi: Danish language strings for gvim NSIS installer.
+#
+# Locale ID : 1030
+# fileencoding : UTF-8
+# Author : scootergrisen
+
+!insertmacro MUI_LANGUAGE "Danish"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_DANISH} "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_DANISH} "Destinationsmappe (skal slutte med $\"vim$\")"
+
+LangString str_show_readme ${LANG_DANISH} "Vis README efter installationen er gennemført"
+
+# Install types:
+LangString str_type_typical ${LANG_DANISH} "Typisk"
+
+LangString str_type_minimal ${LANG_DANISH} "Minimal"
+
+LangString str_type_full ${LANG_DANISH} "Fuld"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_DANISH} "Afinstaller eksisterende version(er)"
+LangString str_desc_old_ver ${LANG_DANISH} "Afinstaller eksisterende Vim-version(er) fra dit system."
+
+LangString str_section_exe ${LANG_DANISH} "Vim GUI og afviklingsfiler"
+LangString str_desc_exe ${LANG_DANISH} "Vim GUI-eksekverbare- og afviklingsfiler. Komponenten kræves."
+
+LangString str_section_console ${LANG_DANISH} "Vim-konsolprogram"
+LangString str_desc_console ${LANG_DANISH} "Konsolversion af Vim (vim.exe)."
+
+LangString str_section_batch ${LANG_DANISH} "Opret .bat-filer"
+LangString str_desc_batch ${LANG_DANISH} "Opret .bat-filer til Vim-varianter i Windows-mappen til brug fra kommandolinjen."
+
+LangString str_group_icons ${LANG_DANISH} "Opret ikoner til Vim"
+LangString str_desc_icons ${LANG_DANISH} "Opret ikoner til Vim diverse steder for at hjælpe med at gøre adgangen let."
+
+LangString str_section_desktop ${LANG_DANISH} "På skrivebordet"
+LangString str_desc_desktop ${LANG_DANISH} "Opret ikoner til gVim-eksekverbare på skrivebordet."
+
+LangString str_section_start_menu ${LANG_DANISH} "I Programmer-mappen i menuen Start"
+LangString str_desc_start_menu ${LANG_DANISH} "Tilføj Vim i Programmer-mappen i menuen Start."
+
+#LangString str_section_quick_launch ${LANG_DANISH} "I værktøjslinjen Hurtig start"
+#LangString str_desc_quick_launch ${LANG_DANISH} "Tilføj Vim-genvej i værktøjslinjen Hurtig start."
+
+LangString str_section_edit_with ${LANG_DANISH} "Tilføj Vim-genvejsmenu"
+LangString str_desc_edit_with ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen."
+
+#LangString str_section_edit_with32 ${LANG_DANISH} "32-bit-version"
+#LangString str_desc_edit_with32 ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen for 32-bit-programmer."
+
+#LangString str_section_edit_with64 ${LANG_DANISH} "64-bit-version"
+#LangString str_desc_edit_with64 ${LANG_DANISH} "Tilføj Vim til listen i $\"Åbn med...$\"-genvejsmenuen for 64-bit-programmer."
+
+LangString str_section_vim_rc ${LANG_DANISH} "Opret standardkonfiguration"
+LangString str_desc_vim_rc ${LANG_DANISH} "Opret en standardkonfigurationsfil (_vimrc) hvis der ikke allerede findes en."
+
+LangString str_group_plugin ${LANG_DANISH} "Opret plugin-mapper"
+LangString str_desc_plugin ${LANG_DANISH} "Opret plugin-mapper. Plugin-mapper giver mulighed for at udvide Vim ved at slippe en fil i en mappen."
+
+LangString str_section_plugin_home ${LANG_DANISH} "Private"
+LangString str_desc_plugin_home ${LANG_DANISH} "Opret plugin-mapper i HOME (hvis du har defineret et) eller Vim-installationsmappe."
+
+LangString str_section_plugin_vim ${LANG_DANISH} "Delte"
+LangString str_desc_plugin_vim ${LANG_DANISH} "Opret plugin-mapper i Vim-installationsmappe, det bruges af alle på systemet."
+
+LangString str_section_nls ${LANG_DANISH} "Understøttelse af modersmål"
+LangString str_desc_nls ${LANG_DANISH} "Installer filer til understøttelse af modersmål."
+
+LangString str_unsection_register ${LANG_DANISH} "Afregistrer Vim"
+LangString str_desc_unregister ${LANG_DANISH} "Afregistrer Vim fra systemet."
+
+LangString str_unsection_exe ${LANG_DANISH} "Fjern Vim-eksekverbare-/afviklingsfiler"
+LangString str_desc_rm_exe ${LANG_DANISH} "Fjern alle Vim-eksekverbare- og afviklingsfiler."
+
+LangString str_ungroup_plugin ${LANG_DANISH} "Fjern plugin-mapper"
+LangString str_desc_rm_plugin ${LANG_DANISH} "Fjern plugin-mapperne, hvis de er tomme."
+
+LangString str_unsection_plugin_home ${LANG_DANISH} "Private"
+LangString str_desc_rm_plugin_home ${LANG_DANISH} "Fjern plugin-mapperne fra HOME-mappen."
+
+LangString str_unsection_plugin_vim ${LANG_DANISH} "Delte"
+LangString str_desc_rm_plugin_vim ${LANG_DANISH} "Fjern plugin-mapperne fra Vim-installationsmappen."
+
+LangString str_unsection_rootdir ${LANG_DANISH} "Fjern Vim-rodmappen"
+LangString str_desc_rm_rootdir ${LANG_DANISH} "Fjern Vim-rodmappen. Den indeholder dine Vim-konfigurationsfiler!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_DANISH} "Fandt $vim_old_ver_count Vim-versioner på dit system.$\r$\nInstallationsguiden kan højst håndtere ${VIM_MAX_OLD_VER}-versioner.$\r$\nFjern venligst nogle versioner og start igen."
+
+#LangString str_msg_invalid_root ${LANG_DANISH} "Ugyldig installationssti: $vim_install_root!$\r$\nDen skal slutte med $\"vim$\"."
+
+#LangString str_msg_bin_mismatch ${LANG_DANISH} "Uoverensstemmelse i binære sti!$\r$\n$\r$\nForventede at den binære sti var $\"$vim_bin_path$\",$\r$\nmen systemet indikerer at den binære sti er $\"$INSTDIR$\"."
+
+#LangString str_msg_vim_running ${LANG_DANISH} "Vim kører stadig på dit system.$\r$\nLuk venligst alle instanser af Vim inden du fortsætter."
+
+#LangString str_msg_register_ole ${LANG_DANISH} "Forsøger at registrere Vim med OLE. Der er ingen meddelelse til at indikere om det virker eller ej."
+
+#LangString str_msg_unreg_ole ${LANG_DANISH} "Forsøger at afregistrere Vim med OLE. Der er ingen meddelelse til at indikere om det virker eller ej."
+
+#LangString str_msg_rm_start ${LANG_DANISH} "Afinstallerer følgende version:"
+
+#LangString str_msg_rm_fail ${LANG_DANISH} "Kunne ikke afinstallere følgende version:"
+
+#LangString str_msg_no_rm_key ${LANG_DANISH} "Kan ikke finde registreringsdatabasenøgle for afinstallationsguiden."
+
+#LangString str_msg_no_rm_reg ${LANG_DANISH} "Kan ikke finde afinstallationsguiden fra registreringsdatabasen."
+
+#LangString str_msg_no_rm_exe ${LANG_DANISH} "Kan ikke tilgå afinstallationsguide."
+
+#LangString str_msg_rm_copy_fail ${LANG_DANISH} "Kunne ikke kopiere afinstallationsguide til midlertidig mappe."
+
+#LangString str_msg_rm_run_fail ${LANG_DANISH} "Kunne ikke køre afinstallationsguide."
+
+#LangString str_msg_abort_install ${LANG_DANISH} "Installationsguiden vil afbryde."
+
+LangString str_msg_install_fail ${LANG_DANISH} "Installationen mislykkedes. Bedre held næste gang."
+
+LangString str_msg_rm_exe_fail ${LANG_DANISH} "Nogle filer i $0 er ikke blevet slettet!$\r$\nDu skal gøre det manuelt."
+
+#LangString str_msg_rm_root_fail ${LANG_DANISH} "ADVARSEL: Kan ikke fjerne $\"$vim_install_root$\", den er ikke tom!"
+
+LangString str_msg_uninstalling ${LANG_DANISH} "Afinstallerer den gamle version..."
+
+LangString str_msg_registering ${LANG_DANISH} "Registrerer..."
+
+LangString str_msg_unregistering ${LANG_DANISH} "Afregistrerer..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_DANISH} "Vælg _vimrc-indstillinger"
+LangString str_vimrc_page_subtitle ${LANG_DANISH} "Vælg indstillingerne til forbedring, tastatur og mus."
+
+LangString str_msg_compat_title ${LANG_DANISH} " Vi- / Vim-opførsel "
+LangString str_msg_compat_desc ${LANG_DANISH} "&Kompatibilitet og forbedringer"
+LangString str_msg_compat_vi ${LANG_DANISH} "Vi-kompatibel"
+LangString str_msg_compat_vim ${LANG_DANISH} "Vim original"
+LangString str_msg_compat_defaults ${LANG_DANISH} "Vim med nogle forbedringer (indlæs defaults.vim)"
+LangString str_msg_compat_all ${LANG_DANISH} "Vim med alle forbedringer (indlæs vimrc_example.vim) (standard)"
+
+LangString str_msg_keymap_title ${LANG_DANISH} " Tilknytninger "
+LangString str_msg_keymap_desc ${LANG_DANISH} "&Gentilknyt nogle få taster for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F osv.)"
+LangString str_msg_keymap_default ${LANG_DANISH} "Gentilknyt ikke taster (standard)"
+LangString str_msg_keymap_windows ${LANG_DANISH} "Gentilknyt nogle få taster"
+
+LangString str_msg_mouse_title ${LANG_DANISH} " Mus "
+LangString str_msg_mouse_desc ${LANG_DANISH} "&Opførsel af højre og venstre knapper"
+LangString str_msg_mouse_default ${LANG_DANISH} "Højre: genvejsmenu, venstre: visuel tilstand (standard)"
+LangString str_msg_mouse_windows ${LANG_DANISH} "Højre: genvejsmenu, venstre: vælg-tilstand (Windows)"
+LangString str_msg_mouse_unix ${LANG_DANISH} "Højre: udvider markering, venstre: visuel tilstand (Unix)"
diff --git a/nsis/lang/dutch.nsi b/nsis/lang/dutch.nsi
new file mode 100644
index 0000000..1d13224
--- /dev/null
+++ b/nsis/lang/dutch.nsi
@@ -0,0 +1,276 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# dutch.nsi : Dutch language strings for gvim NSIS installer.
+#
+# Locale ID : 1043
+# Locale Name : nl
+# fileencoding : UTF-8
+# Author : Peter Odding <peter@peterodding.com>
+
+!insertmacro MUI_LANGUAGE "Dutch"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_DUTCH} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_DUTCH} \
+ "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_DUTCH} \
+# "Doelmap (moet eindigen op $\"vim$\")"
+
+LangString str_show_readme ${LANG_DUTCH} \
+ "README weergeven na installatie"
+
+# Install types:
+LangString str_type_typical ${LANG_DUTCH} \
+ "Gebruikelijk"
+
+LangString str_type_minimal ${LANG_DUTCH} \
+ "Minimaal"
+
+LangString str_type_full ${LANG_DUTCH} \
+ "Volledig"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_DUTCH} \
+ "Bestaande versie(s) de-installeren"
+LangString str_desc_old_ver ${LANG_DUTCH} \
+ "Bestaande Vim versie(s) van je systeem verwijderen."
+
+LangString str_section_exe ${LANG_DUTCH} \
+ "Vim GUI"
+LangString str_desc_exe ${LANG_DUTCH} \
+ "Vim GUI uitvoerbare bestanden en runtime bestanden. Dit component is vereist."
+
+LangString str_section_console ${LANG_DUTCH} \
+ "Vim console programma"
+LangString str_desc_console ${LANG_DUTCH} \
+ "Console versie van Vim (vim.exe)."
+
+LangString str_section_batch ${LANG_DUTCH} \
+ "Creëer .bat bestanden"
+LangString str_desc_batch ${LANG_DUTCH} \
+ "Creëer .bat bestanden voor Vim varianten in de Windows map voor \
+ commando regel gebruik."
+
+LangString str_group_icons ${LANG_DUTCH} \
+ "Creëer pictogrammen for Vim"
+LangString str_desc_icons ${LANG_DUTCH} \
+ "Creëer pictogrammen voor Vim op verschillende locaties voor gemakkelijke toegang."
+
+LangString str_section_desktop ${LANG_DUTCH} \
+ "Op het bureaublad"
+LangString str_desc_desktop ${LANG_DUTCH} \
+ "Creëer pictogrammen voor Vim uitvoerbare bestanden op het bureaublad."
+
+LangString str_section_start_menu ${LANG_DUTCH} \
+ "In de Programma's map in het start menu"
+LangString str_desc_start_menu ${LANG_DUTCH} \
+ "Voeg Vim toe aan de programma's map in het start menu. \
+ Van toepassing op Windows 95 en later."
+
+#LangString str_section_quick_launch ${LANG_DUTCH} \
+# "In de snel starten balk"
+#LangString str_desc_quick_launch ${LANG_DUTCH} \
+# "Voeg Vim snelkoppeling toe aan de snel starten balk."
+
+LangString str_section_edit_with ${LANG_DUTCH} \
+ "Voeg Vim contextmenu toe"
+LangString str_desc_edit_with ${LANG_DUTCH} \
+ "Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst."
+
+#LangString str_section_edit_with32 ${LANG_DUTCH} \
+# "32-bit versie"
+#LangString str_desc_edit_with32 ${LANG_DUTCH} \
+# "Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst \
+# voor 32-bit toepassingen."
+
+#LangString str_section_edit_with64 ${LANG_DUTCH} \
+# "64-bit versie"
+#LangString str_desc_edit_with64 ${LANG_DUTCH} \
+# "Voeg Vim toe aan de $\"Openen met...$\" contextmenu lijst \
+# voor 64-bit toepassingen."
+
+LangString str_section_vim_rc ${LANG_DUTCH} \
+ "Creëer standaard configuratie"
+LangString str_desc_vim_rc ${LANG_DUTCH} \
+ "Creëer een standaard configuratie bestand (_vimrc) als er nog geen bestaat."
+
+LangString str_group_plugin ${LANG_DUTCH} \
+ "Creëer Plugin mappen"
+LangString str_desc_plugin ${LANG_DUTCH} \
+ "Creëer plugin mappen. Plugin mappen maken het mogelijk om \
+ Vim uit te breiden door een bestand in een map te plaatsen."
+
+LangString str_section_plugin_home ${LANG_DUTCH} \
+ "Privé"
+LangString str_desc_plugin_home ${LANG_DUTCH} \
+ "Create plugin directories in HOME directory."
+
+LangString str_section_plugin_vim ${LANG_DUTCH} \
+ "Gedeeld"
+LangString str_desc_plugin_vim ${LANG_DUTCH} \
+ "Creëer plugin mappen in Vim installatie map, deze worden gebruikt \
+ voor iedereen op het systeem."
+
+LangString str_section_nls ${LANG_DUTCH} \
+ "Ondersteuning voor andere talen"
+LangString str_desc_nls ${LANG_DUTCH} \
+ "Bestanden voor ondersteuning van andere talen dan Engels installeren."
+
+LangString str_unsection_register ${LANG_DUTCH} \
+ "Vim afmelden"
+LangString str_desc_unregister ${LANG_DUTCH} \
+ "Registratie van Vim in het systeem ongedaan maken."
+
+LangString str_unsection_exe ${LANG_DUTCH} \
+ "Vim uitvoerbare/runtime bestanden verwijderen"
+LangString str_desc_rm_exe ${LANG_DUTCH} \
+ "Verwijder alle Vim uitvoerbare bestanden en runtime bestanden."
+
+LangString str_ungroup_plugin ${LANG_DUTCH} \
+ "Remove plugin directories"
+LangString str_desc_rm_plugin ${LANG_DUTCH} \
+ "Remove the plugin directories if they are empty."
+
+LangString str_unsection_plugin_home ${LANG_DUTCH} \
+ "Privé"
+LangString str_desc_rm_plugin_home ${LANG_DUTCH} \
+ "Remove the plugin directories from HOME directory."
+
+LangString str_unsection_plugin_vim ${LANG_DUTCH} \
+ "Gedeeld"
+LangString str_desc_rm_plugin_vim ${LANG_DUTCH} \
+ "Remove the plugin directories from Vim install directory."
+
+LangString str_unsection_rootdir ${LANG_DUTCH} \
+ "Remove the Vim root directory"
+LangString str_desc_rm_rootdir ${LANG_DUTCH} \
+ "Remove the Vim root directory. It contains your Vim configuration files!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_DUTCH} \
+# "Er zijn $vim_old_ver_count Vim versies op je systeem gevonden.$\r$\n\
+# Deze installatie kan omgaan met maximaal ${VIM_MAX_OLD_VER} versies.$\r$\n\
+# Verwijder a.u.b. wat versies en probeer het dan opnieuw."
+
+#LangString str_msg_invalid_root ${LANG_DUTCH} \
+# "Ongeldig installatiepad: $vim_install_root!$\r$\n\
+# Het moet eindelijk op $\"vim$\"."
+
+#LangString str_msg_bin_mismatch ${LANG_DUTCH} \
+# "Binair pad onjuist!$\r$\n$\r$\n\
+# Het binaire pad zou $\"$vim_bin_path$\" moeten zijn,$\r$\n\
+# maar het systeem geeft aan dat het binaire pad $\"$INSTDIR$\" is."
+
+#LangString str_msg_vim_running ${LANG_DUTCH} \
+# "Vim is nog actief op je systeem.$\r$\n\
+# Sluit a.u.b. alle instanties van Vim voordat je verder gaat."
+
+#LangString str_msg_register_ole ${LANG_DUTCH} \
+# "Bezig met proberen om Vim te registreren met OLE. \
+# Er is geen bericht dat aangeeft of deze operatie slaagt."
+
+#LangString str_msg_unreg_ole ${LANG_DUTCH} \
+# "Bezig met proberen om Vim te de-registreren met OLE. \
+# Er is geen bericht dat aangeeft of deze operatie slaagt."
+
+#LangString str_msg_rm_start ${LANG_DUTCH} \
+# "De volgende versies worden verwijderd:"
+
+#LangString str_msg_rm_fail ${LANG_DUTCH} \
+# "De volgende versies konden niet worden verwijderd:"
+
+#LangString str_msg_no_rm_key ${LANG_DUTCH} \
+# "Kan de uninstaller register sleutel niet vinden."
+
+#LangString str_msg_no_rm_reg ${LANG_DUTCH} \
+# "Kan de uninstaller niet vinden via het register."
+
+#LangString str_msg_no_rm_exe ${LANG_DUTCH} \
+# "Kan geen toegang krijgen tot de uninstaller."
+
+#LangString str_msg_rm_copy_fail ${LANG_DUTCH} \
+# "Kon de uninstaller niet naar een tijdelijke map kopiëren."
+
+#LangString str_msg_rm_run_fail ${LANG_DUTCH} \
+# "Kon de uninstaller niet uitvoeren."
+
+#LangString str_msg_abort_install ${LANG_DUTCH} \
+# "Installatie wordt gestopt."
+
+LangString str_msg_install_fail ${LANG_DUTCH} \
+ "Installatie is mislukt."
+
+LangString str_msg_rm_exe_fail ${LANG_DUTCH} \
+ "Sommige bestanden in $0 zijn niet verwijderd!$\r$\n\
+ Dit moet je handmatig doen."
+
+#LangString str_msg_rm_root_fail ${LANG_DUTCH} \
+# "WAARSCHUWING: Kan $\"$vim_install_root$\" niet verwijderen omdat het niet leeg is!"
+
+LangString str_msg_uninstalling ${LANG_DUTCH} \
+ "Uninstalling the old version..."
+
+LangString str_msg_registering ${LANG_DUTCH} \
+ "Registering..."
+
+LangString str_msg_unregistering ${LANG_DUTCH} \
+ "Unregistering..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_DUTCH} \
+ "Choose _vimrc settings"
+LangString str_vimrc_page_subtitle ${LANG_DUTCH} \
+ "Choose the settings for enhancement, keyboard and mouse."
+
+LangString str_msg_compat_title ${LANG_DUTCH} \
+ " Vi / Vim behavior "
+LangString str_msg_compat_desc ${LANG_DUTCH} \
+ "&Compatibility and enhancements"
+LangString str_msg_compat_vi ${LANG_DUTCH} \
+ "Vi compatible"
+LangString str_msg_compat_vim ${LANG_DUTCH} \
+ "Vim original"
+LangString str_msg_compat_defaults ${LANG_DUTCH} \
+ "Vim with some enhancements (load defaults.vim)"
+LangString str_msg_compat_all ${LANG_DUTCH} \
+ "Vim with all enhancements (load vimrc_example.vim) (Default)"
+
+LangString str_msg_keymap_title ${LANG_DUTCH} \
+ " Mappings "
+LangString str_msg_keymap_desc ${LANG_DUTCH} \
+ "&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
+LangString str_msg_keymap_default ${LANG_DUTCH} \
+ "Do not remap keys (Default)"
+LangString str_msg_keymap_windows ${LANG_DUTCH} \
+ "Remap a few keys"
+
+LangString str_msg_mouse_title ${LANG_DUTCH} \
+ " Mouse "
+LangString str_msg_mouse_desc ${LANG_DUTCH} \
+ "&Behavior of right and left buttons"
+LangString str_msg_mouse_default ${LANG_DUTCH} \
+ "Right: popup menu, Left: visual mode (Default)"
+LangString str_msg_mouse_windows ${LANG_DUTCH} \
+ "Right: popup menu, Left: select mode (Windows)"
+LangString str_msg_mouse_unix ${LANG_DUTCH} \
+ "Right: extends selection, Left: visual mode (Unix)"
diff --git a/nsis/lang/english.nsi b/nsis/lang/english.nsi
new file mode 100644
index 0000000..e1be985
--- /dev/null
+++ b/nsis/lang/english.nsi
@@ -0,0 +1,275 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# english.nsi: English language strings for gvim NSIS installer.
+#
+# Locale ID : 1033
+# fileencoding : UTF-8
+# Author : Guopeng Wen, Ken Takata
+
+!insertmacro MUI_LANGUAGE "English"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_ENGLISH} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_ENGLISH} \
+ "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_ENGLISH} \
+# "Destination Folder (Must end with $\"vim$\")"
+
+LangString str_show_readme ${LANG_ENGLISH} \
+ "Show README after installation finished"
+
+# Install types:
+LangString str_type_typical ${LANG_ENGLISH} \
+ "Typical"
+
+LangString str_type_minimal ${LANG_ENGLISH} \
+ "Minimal"
+
+LangString str_type_full ${LANG_ENGLISH} \
+ "Full"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_ENGLISH} \
+ "Uninstall Existing Version(s)"
+LangString str_desc_old_ver ${LANG_ENGLISH} \
+ "Uninstall existing Vim version(s) from your system."
+
+LangString str_section_exe ${LANG_ENGLISH} \
+ "Vim GUI and runtime files"
+LangString str_desc_exe ${LANG_ENGLISH} \
+ "Vim GUI executables and runtime files. This component is required."
+
+LangString str_section_console ${LANG_ENGLISH} \
+ "Vim console program"
+LangString str_desc_console ${LANG_ENGLISH} \
+ "Console version of Vim (vim.exe)."
+
+LangString str_section_batch ${LANG_ENGLISH} \
+ "Create .bat files"
+LangString str_desc_batch ${LANG_ENGLISH} \
+ "Create .bat files for Vim variants in the Windows directory for \
+ command line use."
+
+LangString str_group_icons ${LANG_ENGLISH} \
+ "Create icons for Vim"
+LangString str_desc_icons ${LANG_ENGLISH} \
+ "Create icons for Vim at various locations to facilitate easy access."
+
+LangString str_section_desktop ${LANG_ENGLISH} \
+ "On the Desktop"
+LangString str_desc_desktop ${LANG_ENGLISH} \
+ "Create icons for gVim executables on the desktop."
+
+LangString str_section_start_menu ${LANG_ENGLISH} \
+ "In the Start Menu Programs Folder"
+LangString str_desc_start_menu ${LANG_ENGLISH} \
+ "Add Vim in the programs folder of the start menu."
+
+#LangString str_section_quick_launch ${LANG_ENGLISH} \
+# "In the Quick Launch Bar"
+#LangString str_desc_quick_launch ${LANG_ENGLISH} \
+# "Add Vim shortcut in the quick launch bar."
+
+LangString str_section_edit_with ${LANG_ENGLISH} \
+ "Add Vim Context Menu"
+LangString str_desc_edit_with ${LANG_ENGLISH} \
+ "Add Vim to the $\"Open With...$\" context menu list."
+
+#LangString str_section_edit_with32 ${LANG_ENGLISH} \
+# "32-bit Version"
+#LangString str_desc_edit_with32 ${LANG_ENGLISH} \
+# "Add Vim to the $\"Open With...$\" context menu list \
+# for 32-bit applications."
+
+#LangString str_section_edit_with64 ${LANG_ENGLISH} \
+# "64-bit Version"
+#LangString str_desc_edit_with64 ${LANG_ENGLISH} \
+# "Add Vim to the $\"Open With...$\" context menu list \
+# for 64-bit applications."
+
+LangString str_section_vim_rc ${LANG_ENGLISH} \
+ "Create Default Config"
+LangString str_desc_vim_rc ${LANG_ENGLISH} \
+ "Create a default config file (_vimrc) if one does not already exist."
+
+LangString str_group_plugin ${LANG_ENGLISH} \
+ "Create Plugin Directories"
+LangString str_desc_plugin ${LANG_ENGLISH} \
+ "Create plugin directories. Plugin directories allow extending Vim \
+ by dropping a file into a directory."
+
+LangString str_section_plugin_home ${LANG_ENGLISH} \
+ "Private"
+LangString str_desc_plugin_home ${LANG_ENGLISH} \
+ "Create plugin directories in HOME directory."
+
+LangString str_section_plugin_vim ${LANG_ENGLISH} \
+ "Shared"
+LangString str_desc_plugin_vim ${LANG_ENGLISH} \
+ "Create plugin directories in Vim install directory, it is used for \
+ everybody on the system."
+
+LangString str_section_nls ${LANG_ENGLISH} \
+ "Native Language Support"
+LangString str_desc_nls ${LANG_ENGLISH} \
+ "Install files for native language support."
+
+LangString str_unsection_register ${LANG_ENGLISH} \
+ "Unregister Vim"
+LangString str_desc_unregister ${LANG_ENGLISH} \
+ "Unregister Vim from the system."
+
+LangString str_unsection_exe ${LANG_ENGLISH} \
+ "Remove Vim Executables/Runtime Files"
+LangString str_desc_rm_exe ${LANG_ENGLISH} \
+ "Remove all Vim executables and runtime files."
+
+LangString str_ungroup_plugin ${LANG_ENGLISH} \
+ "Remove plugin directories"
+LangString str_desc_rm_plugin ${LANG_ENGLISH} \
+ "Remove the plugin directories if they are empty."
+
+LangString str_unsection_plugin_home ${LANG_ENGLISH} \
+ "Private"
+LangString str_desc_rm_plugin_home ${LANG_ENGLISH} \
+ "Remove the plugin directories from HOME directory."
+
+LangString str_unsection_plugin_vim ${LANG_ENGLISH} \
+ "Shared"
+LangString str_desc_rm_plugin_vim ${LANG_ENGLISH} \
+ "Remove the plugin directories from Vim install directory."
+
+LangString str_unsection_rootdir ${LANG_ENGLISH} \
+ "Remove the Vim root directory"
+LangString str_desc_rm_rootdir ${LANG_ENGLISH} \
+ "Remove the Vim root directory. It contains your Vim configuration files!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_ENGLISH} \
+# "Found $vim_old_ver_count Vim versions on your system.$\r$\n\
+# This installer can only handle ${VIM_MAX_OLD_VER} versions \
+# at most.$\r$\n\
+# Please remove some versions and start again."
+
+#LangString str_msg_invalid_root ${LANG_ENGLISH} \
+# "Invalid install path: $vim_install_root!$\r$\n\
+# It should end with $\"vim$\"."
+
+#LangString str_msg_bin_mismatch ${LANG_ENGLISH} \
+# "Binary path mismatch!$\r$\n$\r$\n\
+# Expect the binary path to be $\"$vim_bin_path$\",$\r$\n\
+# but system indicates the binary path is $\"$INSTDIR$\"."
+
+#LangString str_msg_vim_running ${LANG_ENGLISH} \
+# "Vim is still running on your system.$\r$\n\
+# Please close all instances of Vim before you continue."
+
+#LangString str_msg_register_ole ${LANG_ENGLISH} \
+# "Attempting to register Vim with OLE. \
+# There is no message indicates whether this works or not."
+
+#LangString str_msg_unreg_ole ${LANG_ENGLISH} \
+# "Attempting to unregister Vim with OLE. \
+# There is no message indicates whether this works or not."
+
+#LangString str_msg_rm_start ${LANG_ENGLISH} \
+# "Uninstalling the following version:"
+
+#LangString str_msg_rm_fail ${LANG_ENGLISH} \
+# "Fail to uninstall the following version:"
+
+#LangString str_msg_no_rm_key ${LANG_ENGLISH} \
+# "Cannot find uninstaller registry key."
+
+#LangString str_msg_no_rm_reg ${LANG_ENGLISH} \
+# "Cannot find uninstaller from registry."
+
+#LangString str_msg_no_rm_exe ${LANG_ENGLISH} \
+# "Cannot access uninstaller."
+
+#LangString str_msg_rm_copy_fail ${LANG_ENGLISH} \
+# "Fail to copy uninstaller to temporary directory."
+
+#LangString str_msg_rm_run_fail ${LANG_ENGLISH} \
+# "Fail to run uninstaller."
+
+#LangString str_msg_abort_install ${LANG_ENGLISH} \
+# "Installer will abort."
+
+LangString str_msg_install_fail ${LANG_ENGLISH} \
+ "Installation failed. Better luck next time."
+
+LangString str_msg_rm_exe_fail ${LANG_ENGLISH} \
+ "Some files in $0 have not been deleted!$\r$\n\
+ You must do it manually."
+
+#LangString str_msg_rm_root_fail ${LANG_ENGLISH} \
+# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
+
+LangString str_msg_uninstalling ${LANG_ENGLISH} \
+ "Uninstalling the old version..."
+
+LangString str_msg_registering ${LANG_ENGLISH} \
+ "Registering..."
+
+LangString str_msg_unregistering ${LANG_ENGLISH} \
+ "Unregistering..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_ENGLISH} \
+ "Choose _vimrc settings"
+LangString str_vimrc_page_subtitle ${LANG_ENGLISH} \
+ "Choose the settings for enhancement, keyboard and mouse."
+
+LangString str_msg_compat_title ${LANG_ENGLISH} \
+ " Vi / Vim behavior "
+LangString str_msg_compat_desc ${LANG_ENGLISH} \
+ "&Compatibility and enhancements"
+LangString str_msg_compat_vi ${LANG_ENGLISH} \
+ "Vi compatible"
+LangString str_msg_compat_vim ${LANG_ENGLISH} \
+ "Vim original"
+LangString str_msg_compat_defaults ${LANG_ENGLISH} \
+ "Vim with some enhancements (load defaults.vim)"
+LangString str_msg_compat_all ${LANG_ENGLISH} \
+ "Vim with all enhancements (load vimrc_example.vim) (Default)"
+
+LangString str_msg_keymap_title ${LANG_ENGLISH} \
+ " Mappings "
+LangString str_msg_keymap_desc ${LANG_ENGLISH} \
+ "&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
+LangString str_msg_keymap_default ${LANG_ENGLISH} \
+ "Do not remap keys (Default)"
+LangString str_msg_keymap_windows ${LANG_ENGLISH} \
+ "Remap a few keys"
+
+LangString str_msg_mouse_title ${LANG_ENGLISH} \
+ " Mouse "
+LangString str_msg_mouse_desc ${LANG_ENGLISH} \
+ "&Behavior of right and left buttons"
+LangString str_msg_mouse_default ${LANG_ENGLISH} \
+ "Right: popup menu, Left: visual mode (Default)"
+LangString str_msg_mouse_windows ${LANG_ENGLISH} \
+ "Right: popup menu, Left: select mode (Windows)"
+LangString str_msg_mouse_unix ${LANG_ENGLISH} \
+ "Right: extends selection, Left: visual mode (Unix)"
diff --git a/nsis/lang/german.nsi b/nsis/lang/german.nsi
new file mode 100644
index 0000000..b976ef4
--- /dev/null
+++ b/nsis/lang/german.nsi
@@ -0,0 +1,275 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# german.nsi : German language strings for gvim NSIS installer.
+#
+# Locale ID : 1031
+# fileencoding : UTF-8
+# Author : Christian Brabandt, tux
+
+!insertmacro MUI_LANGUAGE "German"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_GERMAN} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_GERMAN} \
+ "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_GERMAN} \
+# "Zielverzeichnis auswählen (muss auf $\"vim$\" enden)"
+
+LangString str_show_readme ${LANG_GERMAN} \
+ "README-Datei nach der Installation anzeigen"
+
+# Install types:
+LangString str_type_typical ${LANG_GERMAN} \
+ "Typisch"
+
+LangString str_type_minimal ${LANG_GERMAN} \
+ "Minimal"
+
+LangString str_type_full ${LANG_GERMAN} \
+ "Vollständig"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_GERMAN} \
+ "Vorherige Version deinstallieren"
+LangString str_desc_old_ver ${LANG_GERMAN} \
+ "Vorherige installierte Versionen auf diesem System deinstallieren."
+
+LangString str_section_exe ${LANG_GERMAN} \
+ "Vim GUI"
+LangString str_desc_exe ${LANG_GERMAN} \
+ "Vim (Anwendung) und Laufzeitdateien (Dieser Teil ist zwingend \
+ erforderlich)."
+
+LangString str_section_console ${LANG_GERMAN} \
+ "Vim Konsolenanwendung"
+LangString str_desc_console ${LANG_GERMAN} \
+ "Konsolenversion von Vim."
+
+LangString str_section_batch ${LANG_GERMAN} \
+ ".bat-Dateien erstellen"
+LangString str_desc_batch ${LANG_GERMAN} \
+ ".bat-Dateien erstellen, um Vim in der Konsole auszuführen."
+
+LangString str_group_icons ${LANG_GERMAN} \
+ "Vim-Verknüpfungen erstellen"
+LangString str_desc_icons ${LANG_GERMAN} \
+ "Verknüpfungen mit Vim für einfachen Aufruf erstellen."
+
+LangString str_section_desktop ${LANG_GERMAN} \
+ "Auf dem Desktop"
+LangString str_desc_desktop ${LANG_GERMAN} \
+ "Icons für GVim auf dem Desktop erstellen."
+
+LangString str_section_start_menu ${LANG_GERMAN} \
+ "Im Startmenü"
+LangString str_desc_start_menu ${LANG_GERMAN} \
+ "Vim im Programmverzeichnis des Startmenüs hinzufügen."
+
+#LangString str_section_quick_launch ${LANG_GERMAN} \
+# "In der Schnellstartleiste"
+#LangString str_desc_quick_launch ${LANG_GERMAN} \
+# "Verknüpfung zu Vim in der Schnellstartleiste ablegen."
+
+LangString str_section_edit_with ${LANG_GERMAN} \
+ "Vim zum Kontextmenü hinzufügen"
+LangString str_desc_edit_with ${LANG_GERMAN} \
+ "Vim in das $\"Öffnen mit...$\"-Kontextmenü einfügen."
+
+#LangString str_section_edit_with32 ${LANG_GERMAN} \
+# "32-Bit-Version"
+#LangString str_desc_edit_with32 ${LANG_GERMAN} \
+# "Vim in das $\"Öffnen mit...$\"-Kontextmenü \
+# für 32-Bit-Anwendungen integrieren."
+
+#LangString str_section_edit_with64 ${LANG_GERMAN} \
+# "64-Bit-Version"
+#LangString str_desc_edit_with64 ${LANG_GERMAN} \
+# "Vim in das $\"Öffnen mit...$\"-Kontextmenü \
+# für 64-Bit-Anwendungen integrieren."
+
+LangString str_section_vim_rc ${LANG_GERMAN} \
+ "Standard-Konfigurationsdatei erstellen"
+LangString str_desc_vim_rc ${LANG_GERMAN} \
+ "Eine Standard-Konfigurationsdatei (_vimrc) erstellen, \
+ falls noch keine existiert."
+
+LangString str_group_plugin ${LANG_GERMAN} \
+ "Plugin-Verzeichnisse anlegen"
+LangString str_desc_plugin ${LANG_GERMAN} \
+ "Plugin-Verzeichnisse anlegen. Plugins erlauben es, Vim \
+ um zusätzliche Funktionen zu erweitern."
+
+LangString str_section_plugin_home ${LANG_GERMAN} \
+ "Privat"
+LangString str_desc_plugin_home ${LANG_GERMAN} \
+ "Erstelle Plugin-Verzeichnis im HOME Benutzerverzeichnis."
+
+LangString str_section_plugin_vim ${LANG_GERMAN} \
+ "Freigegeben"
+LangString str_desc_plugin_vim ${LANG_GERMAN} \
+ "Plugin-Verzeichnisse im Vim-Installationsverzeichnis erstellen. Diese werden \
+ für alle Benutzer dieses Systems genutzt."
+
+LangString str_section_nls ${LANG_GERMAN} \
+ "Unterstützung für andere Sprachen"
+LangString str_desc_nls ${LANG_GERMAN} \
+ "Dateien zur Unterstützung anderer Sprachen als Englisch installieren."
+
+LangString str_unsection_register ${LANG_GERMAN} \
+ "Vim deinstallieren"
+LangString str_desc_unregister ${LANG_GERMAN} \
+ "Vim vom System entfernen."
+
+LangString str_unsection_exe ${LANG_GERMAN} \
+ "Vim-Anwendung und Laufzeitdateien entfernen"
+LangString str_desc_rm_exe ${LANG_GERMAN} \
+ "Alle Vim-Anwendungen und Laufzeitdateien von diesem System entfernen."
+
+LangString str_ungroup_plugin ${LANG_GERMAN} \
+ "Entferne Plugin-Verzeichnisse"
+LangString str_desc_rm_plugin ${LANG_GERMAN} \
+ "Entferne Plugin-Verzeichnisse, falls sie leer sind."
+
+LangString str_unsection_plugin_home ${LANG_GERMAN} \
+ "Privat"
+LangString str_desc_rm_plugin_home ${LANG_GERMAN} \
+ "Entfernt die Plugin-Verzeichnisse aus dem HOME Benutzerverzeichnis."
+
+LangString str_unsection_plugin_vim ${LANG_GERMAN} \
+ "Freigegeben"
+LangString str_desc_rm_plugin_vim ${LANG_GERMAN} \
+ "Entfernt das Plugin-Verzeichnis aus dem Vim-Installationsverzeichnis."
+
+LangString str_unsection_rootdir ${LANG_GERMAN} \
+ "Entferne Vim Installationsverzeichnis"
+LangString str_desc_rm_rootdir ${LANG_GERMAN} \
+ "Entfernt das Vim Installationsverzeichnis. Es enthält die Vim Konfigurationsdateien!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_GERMAN} \
+# "$vim_old_ver_count Vim-Versionen auf diesem System gefunden..$\r$\n\
+# Dieser Installer kann maximal ${VIM_MAX_OLD_VER} Versionen \
+# handhaben.$\r$\n\
+# Bitte alte Versionen entfernen und noch einmal probieren."
+
+#LangString str_msg_invalid_root ${LANG_GERMAN} \
+# "Nicht gültiges Installationsverzeichnis: $vim_install_root!$\r$\n\
+# Der Pfad muss auf $\"vim$\" enden."
+
+#LangString str_msg_bin_mismatch ${LANG_GERMAN} \
+# "Pfaddiskrepanz!$\r$\n$\r$\n\
+# Erwarte Anwendungsverzeichnis $\"$vim_bin_path$\",$\r$\n\
+# aber fand Anwendungspfad $\"$INSTDIR$\" vor."
+
+#LangString str_msg_vim_running ${LANG_GERMAN} \
+# "Laufender Vim-Prozess erkannt.$\r$\n\
+# Bitte alle laufenden Vim-Prozesse vor dem Fortfahren beenden."
+
+#LangString str_msg_register_ole ${LANG_GERMAN} \
+# "Versuche OLE-Registrierung durchzuführen."
+
+#LangString str_msg_unreg_ole ${LANG_GERMAN} \
+# "Versuche OLE-Registrierung zu löschen."
+
+#LangString str_msg_rm_start ${LANG_GERMAN} \
+# "Deinstalliere die folgende Version:"
+
+#LangString str_msg_rm_fail ${LANG_GERMAN} \
+# "Deinstallation der Version fehlgeschlagen:"
+
+#LangString str_msg_no_rm_key ${LANG_GERMAN} \
+# "Deinstallationsschlüssel in der Registrierungsdatenbank nicht gefunden."
+
+#LangString str_msg_no_rm_reg ${LANG_GERMAN} \
+# "Kein Uninstaller in der Registrierungsdatenbank gefunden."
+
+#LangString str_msg_no_rm_exe ${LANG_GERMAN} \
+# "Kein Zugriff auf den Uninstaller."
+
+#LangString str_msg_rm_copy_fail ${LANG_GERMAN} \
+# "Fehler beim Kopieren des Uninstallers in ein temporäres Verzeichnis."
+
+#LangString str_msg_rm_run_fail ${LANG_GERMAN} \
+# "Fehler beim Aufruf des Uninstallers."
+
+#LangString str_msg_abort_install ${LANG_GERMAN} \
+# "Installation wird abgebrochen."
+
+LangString str_msg_install_fail ${LANG_GERMAN} \
+ "Installation fehlerhaft beendet."
+
+LangString str_msg_rm_exe_fail ${LANG_GERMAN} \
+ "Einige Dateien im Pfad $0 konnten nicht gelöscht werden!$\r$\n\
+ Diese Dateien müssen manuell gelöscht werden."
+
+#LangString str_msg_rm_root_fail ${LANG_GERMAN} \
+# "Achtung: Kann Verzeichnis $\"$vim_install_root$\" nicht entfernen, \
+# weil es nicht leer ist!"
+
+LangString str_msg_uninstalling ${LANG_GERMAN} \
+ "Deinstalliere alte Version..."
+
+LangString str_msg_registering ${LANG_GERMAN} \
+ "Registriere..."
+
+LangString str_msg_unregistering ${LANG_GERMAN} \
+ "Entferne Registrierung..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_GERMAN} \
+ "Wähle _vimrc Konfigurationsoptionen"
+LangString str_vimrc_page_subtitle ${LANG_GERMAN} \
+ "Wähle Einstellungen zur Kompatibilität, Tastatur und Maus."
+
+LangString str_msg_compat_title ${LANG_GERMAN} \
+ " Vi / Vim Verhalten "
+LangString str_msg_compat_desc ${LANG_GERMAN} \
+ "&Kompatibilität und Erweiterungen"
+LangString str_msg_compat_vi ${LANG_GERMAN} \
+ "Vi-kompatibel"
+LangString str_msg_compat_vim ${LANG_GERMAN} \
+ "Vim Original"
+LangString str_msg_compat_defaults ${LANG_GERMAN} \
+ "Vim mit einigen Erweiterungen (Lädt defaults.vim)"
+LangString str_msg_compat_all ${LANG_GERMAN} \
+ "Vim mit allen Erweiterungen (Lädt vimrc_example.vim) (Standard)"
+
+LangString str_msg_keymap_title ${LANG_GERMAN} \
+ " Mappings für Windows Standard Tastenkombinationen "
+LangString str_msg_keymap_desc ${LANG_GERMAN} \
+ "&Einige Tasten umkonfigurieren (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
+LangString str_msg_keymap_default ${LANG_GERMAN} \
+ "Keine Tasten umkonfigurieren (Standard)"
+LangString str_msg_keymap_windows ${LANG_GERMAN} \
+ "Einige Tasten umkonfigurieren"
+
+LangString str_msg_mouse_title ${LANG_GERMAN} \
+ " Maus "
+LangString str_msg_mouse_desc ${LANG_GERMAN} \
+ "&Verhalten der linken und rechten Buttons"
+LangString str_msg_mouse_default ${LANG_GERMAN} \
+ "Rechts: Popup Menü, Links: Visueller Modus (Standard)"
+LangString str_msg_mouse_windows ${LANG_GERMAN} \
+ "Rechts: Popup Menü, Links: Auswahl Modus (Windows)"
+LangString str_msg_mouse_unix ${LANG_GERMAN} \
+ "Rechts: Auswahl erweitern, Links: Visueller Modus (Unix)"
diff --git a/nsis/lang/italian.nsi b/nsis/lang/italian.nsi
new file mode 100644
index 0000000..029737f
--- /dev/null
+++ b/nsis/lang/italian.nsi
@@ -0,0 +1,275 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# italian.nsi : Italian language strings for gvim NSIS installer.
+#
+# Locale ID : 1040
+# fileencoding : UTF-8
+# Author : Antonio Colombo, bovirus - revision: 12.05.2023
+
+!insertmacro MUI_LANGUAGE "Italian"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_ITALIAN} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_ITALIAN} \
+ "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_ITALIAN} \
+# "Cartella installazione (il percorso deve finire con $\"vim$\")"
+
+LangString str_show_readme ${LANG_ITALIAN} \
+ "Visualizza file README a fine installazione"
+
+# Install types:
+LangString str_type_typical ${LANG_ITALIAN} \
+ "Tipica"
+
+LangString str_type_minimal ${LANG_ITALIAN} \
+ "Minima"
+
+LangString str_type_full ${LANG_ITALIAN} \
+ "Completa"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_ITALIAN} \
+ "Disinstalla versioni esistenti"
+LangString str_desc_old_ver ${LANG_ITALIAN} \
+ "Disinstalla versioni esistenti di Vim."
+
+LangString str_section_exe ${LANG_ITALIAN} \
+ "GUI e file supporto Vim"
+LangString str_desc_exe ${LANG_ITALIAN} \
+ "GUI programmi e file di supporto Vim. Questa componente è indispensabile."
+
+LangString str_section_console ${LANG_ITALIAN} \
+ "Console Vim (vim.exe per MS-DOS)"
+LangString str_desc_console ${LANG_ITALIAN} \
+ "Versione console di Vim (vim.exe)."
+
+LangString str_section_batch ${LANG_ITALIAN} \
+ "Crea file .bat"
+LangString str_desc_batch ${LANG_ITALIAN} \
+ "Crea file .bat per varianti di Vim nella cartella \
+ di Windows, per utilizzo da riga di comando."
+
+LangString str_group_icons ${LANG_ITALIAN} \
+ "Crea icone Vim"
+LangString str_desc_icons ${LANG_ITALIAN} \
+ "Crea icone Vim per rendere facile l'accesso."
+
+LangString str_section_desktop ${LANG_ITALIAN} \
+ "Icone sul Desktop"
+LangString str_desc_desktop ${LANG_ITALIAN} \
+ "Crea icone programma gVim sul desktop."
+
+LangString str_section_start_menu ${LANG_ITALIAN} \
+ "Gruppo programmi menù START"
+LangString str_desc_start_menu ${LANG_ITALIAN} \
+ "Aggiunge gruppo programmi al menù START."
+
+#LangString str_section_quick_launch ${LANG_ITALIAN} \
+# "Barra avvio veloce"
+#LangString str_desc_quick_launch ${LANG_ITALIAN} \
+# "Aggiunge un collegamento a Vim nella barra di avvio veloce."
+
+LangString str_section_edit_with ${LANG_ITALIAN} \
+ "Aggiungi Vim al menù contestuale"
+LangString str_desc_edit_with ${LANG_ITALIAN} \
+ "Aggiunge Vim al menu contestuale $\"Apri con...$\"."
+
+#LangString str_section_edit_with32 ${LANG_ITALIAN} \
+# "Versione a 32 bit"
+#LangString str_desc_edit_with32 ${LANG_ITALIAN} \
+# "Aggiungi Vim al menu contestuale $\"Apri con...$\" \
+# per applicazioni a 32 bit."
+
+#LangString str_section_edit_with64 ${LANG_ITALIAN} \
+# "Versione a 64 bit"
+#LangString str_desc_edit_with64 ${LANG_ITALIAN} \
+# "Aggiunge Vim al menu contestuale $\"Apri con...$\" \
+# per applicazioni a 64 bit."
+
+LangString str_section_vim_rc ${LANG_ITALIAN} \
+ "Crea configurazione predefinita"
+LangString str_desc_vim_rc ${LANG_ITALIAN} \
+ "Crea, se non ne esiste già uno, un file configurazione predefinito (_vimrc) ."
+
+LangString str_group_plugin ${LANG_ITALIAN} \
+ "Crea cartella plugin"
+LangString str_desc_plugin ${LANG_ITALIAN} \
+ "Crea cartella plugin. I plugin consentono di aggiungere funzionalità \
+ a Vim copiando i relativi file in una di queste cartelle."
+
+LangString str_section_plugin_home ${LANG_ITALIAN} \
+ "Privata"
+LangString str_desc_plugin_home ${LANG_ITALIAN} \
+ "Crea cartella plugin nella cartella HOME."
+
+LangString str_section_plugin_vim ${LANG_ITALIAN} \
+ "Condivisa"
+LangString str_desc_plugin_vim ${LANG_ITALIAN} \
+ "Crea cartella plugin nella cartella di installazione di Vim \
+ per uso da parte di tutti gli utenti di questo sistema."
+
+LangString str_section_nls ${LANG_ITALIAN} \
+ "Supporto nativo lingua (NLS)"
+LangString str_desc_nls ${LANG_ITALIAN} \
+ "Installa i file per il supporto nativo multilingua."
+
+LangString str_unsection_register ${LANG_ITALIAN} \
+ "Rimuovi Vim dal registro"
+LangString str_desc_unregister ${LANG_ITALIAN} \
+ "Rimuove Vim dal registro di configurazione sistema."
+
+LangString str_unsection_exe ${LANG_ITALIAN} \
+ "Elimina programmi/file di supporto Vim"
+LangString str_desc_rm_exe ${LANG_ITALIAN} \
+ "Elimina tutti i programmi/file di supporto di Vim."
+
+LangString str_ungroup_plugin ${LANG_ITALIAN} \
+ "Elimina cartelle plugin"
+LangString str_desc_rm_plugin ${LANG_ITALIAN} \
+ "Elimina le cartelle plugin se sono vuote."
+
+LangString str_unsection_plugin_home ${LANG_ITALIAN} \
+ "Private"
+LangString str_desc_rm_plugin_home ${LANG_ITALIAN} \
+ "Elimina cartelle plugin nella cartella HOME."
+
+LangString str_unsection_plugin_vim ${LANG_ITALIAN} \
+ "Condivise"
+LangString str_desc_rm_plugin_vim ${LANG_ITALIAN} \
+ "Elimina cartelle plugin nella cartella di installazione di Vim."
+
+LangString str_unsection_rootdir ${LANG_ITALIAN} \
+ "Elimina la cartella di installazione di Vim"
+LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
+ "Elimina la cartella di installazione di Vim. Contiene i file di configurazione!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_ITALIAN} \
+# "Rilevate nel sistema $vim_old_ver_count versioni di Vim.$\r$\n\
+# Questo programma di installazione può gestire solo \
+# ${VIM_MAX_OLD_VER} versioni.$\r$\n\
+# Disinstalla qualche versione precedente e ricomincia."
+
+#LangString str_msg_invalid_root ${LANG_ITALIAN} \
+# "Nome cartella di installazione non valida: $vim_install_root!$\r$\n\
+# Dovrebbe terminare con $\"vim$\"."
+
+#LangString str_msg_bin_mismatch ${LANG_ITALIAN} \
+# "Conflitto nella cartella di installazione!$\r$\n$\r$\n\
+# La cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
+# ma il sistema indica che il percorso è $\"$INSTDIR$\"."
+
+#LangString str_msg_vim_running ${LANG_ITALIAN} \
+# "Vim è ancora in esecuzione nel sistema.$\r$\n\
+# Per continuare chiudi tutte le sessioni attive di Vim."
+
+#LangString str_msg_register_ole ${LANG_ITALIAN} \
+# "Tentativo di registrazione di Vim con OLE. \
+# Non ci sono messaggi che indicano se l'operazione è riuscita."
+
+#LangString str_msg_unreg_ole ${LANG_ITALIAN} \
+# "Tentativo di rimozione di VIM dal registro via OLE. \
+# Non ci sono messaggi che indicano se l'operazione è riuscita."
+
+#LangString str_msg_rm_start ${LANG_ITALIAN} \
+# "Disinstallazione della versione:"
+
+#LangString str_msg_rm_fail ${LANG_ITALIAN} \
+# "Disinstallazione non riuscita per la versione:"
+
+#LangString str_msg_no_rm_key ${LANG_ITALIAN} \
+# "Impossibile trovare chiave disinstallazione nel registro."
+
+#LangString str_msg_no_rm_reg ${LANG_ITALIAN} \
+# "Impossibile trovare programma disinstallazione nel registro."
+
+#LangString str_msg_no_rm_exe ${LANG_ITALIAN} \
+# "Impossibile trovare programma disinstallazione."
+
+#LangString str_msg_rm_copy_fail ${LANG_ITALIAN} \
+# "Impossibile copiare il programma disinstallazione in una cartella temporanea."
+
+#LangString str_msg_rm_run_fail ${LANG_ITALIAN} \
+# "Impossibile eseguire programma disinstallazione."
+
+#LangString str_msg_abort_install ${LANG_ITALIAN} \
+# "Il programma di disinstallazione verrà chiuso senza aver eseguito nessuna modifica."
+
+LangString str_msg_install_fail ${LANG_ITALIAN} \
+ "Installazione non riuscita."
+
+LangString str_msg_rm_exe_fail ${LANG_ITALIAN} \
+ "Alcuni file in $0 non sono stati eliminati!$\r$\n\
+ I file vanno rimossi manualmente."
+
+#LangString str_msg_rm_root_fail ${LANG_ITALIAN} \
+# "AVVISO: impossibile eliminare $\"$vim_install_root$\", non è vuota!"
+
+LangString str_msg_uninstalling ${LANG_ITALIAN} \
+ "Disinstallazione vecchia versione Vim..."
+
+LangString str_msg_registering ${LANG_ITALIAN} \
+ "Aggiunta di Vim al registro..."
+
+LangString str_msg_unregistering ${LANG_ITALIAN} \
+ "Rimozione di Vim dal registro..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_ITALIAN} \
+ "Scelta impostazioni _vimrc"
+LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
+ "Scelta impostazioni funzionalità aggiuntive, tastiera e mouse."
+
+LangString str_msg_compat_title ${LANG_ITALIAN} \
+ " Comportamento come Vi / Vim "
+LangString str_msg_compat_desc ${LANG_ITALIAN} \
+ "&Compatibilità e funzionalità"
+LangString str_msg_compat_vi ${LANG_ITALIAN} \
+ "Compatibile Vi"
+LangString str_msg_compat_vim ${LANG_ITALIAN} \
+ "Vim originale"
+LangString str_msg_compat_defaults ${LANG_ITALIAN} \
+ "Vim con alcune funzionalità aggiuntive (defaults.vim)"
+LangString str_msg_compat_all ${LANG_ITALIAN} \
+ "Vim con tutte le funzionalità aggiuntive (vimrc_example.vim) (predefinito)"
+
+LangString str_msg_keymap_title ${LANG_ITALIAN} \
+ " Mappature tastiera "
+LangString str_msg_keymap_desc ${LANG_ITALIAN} \
+ "&Rimappa alcuni tasti Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
+LangString str_msg_keymap_default ${LANG_ITALIAN} \
+ "Non rimappare i tasti (predefinito)"
+LangString str_msg_keymap_windows ${LANG_ITALIAN} \
+ "Rimappa solo alcuni tasti"
+
+LangString str_msg_mouse_title ${LANG_ITALIAN} \
+ " Mouse "
+LangString str_msg_mouse_desc ${LANG_ITALIAN} \
+ "&Comportamento pulsanti destro/sinistro"
+LangString str_msg_mouse_default ${LANG_ITALIAN} \
+ "Destro: menu popup, Sinistro: modalità visuale (predefinito)"
+LangString str_msg_mouse_windows ${LANG_ITALIAN} \
+ "Destro: menu popup, Sinistro: selezione modalità (Windows)"
+LangString str_msg_mouse_unix ${LANG_ITALIAN} \
+ "Destro: estensione selezione, Sinistro: modalità visuale (Unix)"
diff --git a/nsis/lang/japanese.nsi b/nsis/lang/japanese.nsi
new file mode 100644
index 0000000..58f4dcc
--- /dev/null
+++ b/nsis/lang/japanese.nsi
@@ -0,0 +1,282 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# japanese.nsi: Japanese language strings for gvim NSIS installer.
+#
+# Locale ID : 1041
+# fileencoding : UTF-8
+# Author : Ken Takata
+
+!insertmacro MUI_LANGUAGE "Japanese"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_JAPANESE} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_JAPANESE} \
+ "$(^Name) Uninstall"
+
+# Workarounds for NSIS Japanese translation. The messages are too long.
+# These should be better to be fixed by the NSIS upstream.
+LangString ^SpaceAvailable ${LANG_JAPANESE} \
+ "利用可能なディスク容量:"
+LangString ^SpaceRequired ${LANG_JAPANESE} \
+ "必要なディスク容量:"
+# Fix another NSIS Japanese translation. The access key was missing.
+LangString ^InstallBtn ${LANG_JAPANESE} \
+ "インストール(&I)"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_JAPANESE} \
+# "Destination Folder (Must end with $\"vim$\")"
+
+LangString str_show_readme ${LANG_JAPANESE} \
+ "インストール完了後に README を表示する"
+
+# Install types:
+LangString str_type_typical ${LANG_JAPANESE} \
+ "通常"
+
+LangString str_type_minimal ${LANG_JAPANESE} \
+ "最小"
+
+LangString str_type_full ${LANG_JAPANESE} \
+ "全て"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_JAPANESE} \
+ "既存のバージョンをアンインストール"
+LangString str_desc_old_ver ${LANG_JAPANESE} \
+ "すでにインストールされている Vim をシステムから削除します。"
+
+LangString str_section_exe ${LANG_JAPANESE} \
+ "Vim GUI とランタイムファイル"
+LangString str_desc_exe ${LANG_JAPANESE} \
+ "Vim GUI 実行ファイルとラインタイムファイル。このコンポーネントは必須です。"
+
+LangString str_section_console ${LANG_JAPANESE} \
+ "Vim コンソールプログラム"
+LangString str_desc_console ${LANG_JAPANESE} \
+ "コンソール版の Vim (vim.exe)。"
+
+LangString str_section_batch ${LANG_JAPANESE} \
+ ".bat ファイルを作成"
+LangString str_desc_batch ${LANG_JAPANESE} \
+ "コマンドラインから Vim と関連コマンドを実行できるように、.bat ファイルを Windows ディレクトリに作成します。"
+
+LangString str_group_icons ${LANG_JAPANESE} \
+ "Vim のアイコンを作成"
+LangString str_desc_icons ${LANG_JAPANESE} \
+ "Vim を簡単に実行できるように、いくつかの場所にアイコンを作成します。"
+
+LangString str_section_desktop ${LANG_JAPANESE} \
+ "デスクトップ上"
+LangString str_desc_desktop ${LANG_JAPANESE} \
+ "gVim 実行ファイルのアイコンをデスクトップ上に作成します。"
+
+LangString str_section_start_menu ${LANG_JAPANESE} \
+ "スタートメニューのプログラムフォルダー上"
+LangString str_desc_start_menu ${LANG_JAPANESE} \
+ "Vim のアイコンをスタートメニューのプログラムフォルダー上に作成します。"
+
+#LangString str_section_quick_launch ${LANG_JAPANESE} \
+# "In the Quick Launch Bar"
+#LangString str_desc_quick_launch ${LANG_JAPANESE} \
+# "Add Vim shortcut in the quick launch bar."
+
+LangString str_section_edit_with ${LANG_JAPANESE} \
+ "Vim のコンテキストメニューを追加"
+LangString str_desc_edit_with ${LANG_JAPANESE} \
+ "$\"Vimで編集する$\" をコンテキストメニューに追加します。"
+
+#LangString str_section_edit_with32 ${LANG_JAPANESE} \
+# "32-bit Version"
+#LangString str_desc_edit_with32 ${LANG_JAPANESE} \
+# "Add Vim to the $\"Open With...$\" context menu list \
+# for 32-bit applications."
+
+#LangString str_section_edit_with64 ${LANG_JAPANESE} \
+# "64-bit Version"
+#LangString str_desc_edit_with64 ${LANG_JAPANESE} \
+# "Add Vim to the $\"Open With...$\" context menu list \
+# for 64-bit applications."
+
+LangString str_section_vim_rc ${LANG_JAPANESE} \
+ "既定のコンフィグを作成"
+LangString str_desc_vim_rc ${LANG_JAPANESE} \
+ "もし無ければ、既定のコンフィグファイル (_vimrc) を作成します。"
+
+LangString str_group_plugin ${LANG_JAPANESE} \
+ "プラグインディレクトリを作成"
+LangString str_desc_plugin ${LANG_JAPANESE} \
+ "プラグインディレクトリを作成します。そこにプラグインファイルを置くことで Vim を拡張することができます。"
+
+LangString str_section_plugin_home ${LANG_JAPANESE} \
+ "個人用"
+LangString str_desc_plugin_home ${LANG_JAPANESE} \
+ "プラグインディレクトリをホームディレクトリに作成します。"
+
+LangString str_section_plugin_vim ${LANG_JAPANESE} \
+ "共用"
+LangString str_desc_plugin_vim ${LANG_JAPANESE} \
+ "プラグインディレクトリを Vim のインストールディレクトリに作成します。システムの全員で共有されます。"
+
+LangString str_section_nls ${LANG_JAPANESE} \
+ "多言語サポート"
+LangString str_desc_nls ${LANG_JAPANESE} \
+ "多言語サポート用のファイルをインストールします。"
+
+LangString str_unsection_register ${LANG_JAPANESE} \
+ "Vim を登録解除"
+LangString str_desc_unregister ${LANG_JAPANESE} \
+ "Vim をシステムから登録解除します。"
+
+LangString str_unsection_exe ${LANG_JAPANESE} \
+ "Vim の実行ファイル/ランタイムファイルを削除"
+LangString str_desc_rm_exe ${LANG_JAPANESE} \
+ "全ての Vim の実行ファイルとランタイムファイルを削除します。"
+
+LangString str_ungroup_plugin ${LANG_JAPANESE} \
+ "プラグインディレクトリを削除"
+LangString str_desc_rm_plugin ${LANG_JAPANESE} \
+ "プラグインディレクトリが空であればそれを削除します。"
+
+LangString str_unsection_plugin_home ${LANG_JAPANESE} \
+ "個人用"
+LangString str_desc_rm_plugin_home ${LANG_JAPANESE} \
+ "プラグインディレクトリをホームディレクトリから削除します。"
+
+LangString str_unsection_plugin_vim ${LANG_JAPANESE} \
+ "共用"
+LangString str_desc_rm_plugin_vim ${LANG_JAPANESE} \
+ "プラグインディレクトリを Vim のインストールディレクトリから削除します。"
+
+LangString str_unsection_rootdir ${LANG_JAPANESE} \
+ "Vim のトップディレクトリを削除"
+LangString str_desc_rm_rootdir ${LANG_JAPANESE} \
+ "Vim のトップディレクトリを削除します。あなたの Vim の設定ファイルも含まれていることに注意してください!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_JAPANESE} \
+# "Found $vim_old_ver_count Vim versions on your system.$\r$\n\
+# This installer can only handle ${VIM_MAX_OLD_VER} versions \
+# at most.$\r$\n\
+# Please remove some versions and start again."
+
+#LangString str_msg_invalid_root ${LANG_JAPANESE} \
+# "Invalid install path: $vim_install_root!$\r$\n\
+# It should end with $\"vim$\"."
+
+#LangString str_msg_bin_mismatch ${LANG_JAPANESE} \
+# "Binary path mismatch!$\r$\n$\r$\n\
+# Expect the binary path to be $\"$vim_bin_path$\",$\r$\n\
+# but system indicates the binary path is $\"$INSTDIR$\"."
+
+#LangString str_msg_vim_running ${LANG_JAPANESE} \
+# "Vim is still running on your system.$\r$\n\
+# Please close all instances of Vim before you continue."
+
+#LangString str_msg_register_ole ${LANG_JAPANESE} \
+# "Attempting to register Vim with OLE. \
+# There is no message indicates whether this works or not."
+
+#LangString str_msg_unreg_ole ${LANG_JAPANESE} \
+# "Attempting to unregister Vim with OLE. \
+# There is no message indicates whether this works or not."
+
+#LangString str_msg_rm_start ${LANG_JAPANESE} \
+# "Uninstalling the following version:"
+
+#LangString str_msg_rm_fail ${LANG_JAPANESE} \
+# "Fail to uninstall the following version:"
+
+#LangString str_msg_no_rm_key ${LANG_JAPANESE} \
+# "Cannot find uninstaller registry key."
+
+#LangString str_msg_no_rm_reg ${LANG_JAPANESE} \
+# "Cannot find uninstaller from registry."
+
+#LangString str_msg_no_rm_exe ${LANG_JAPANESE} \
+# "Cannot access uninstaller."
+
+#LangString str_msg_rm_copy_fail ${LANG_JAPANESE} \
+# "Fail to copy uninstaller to temporary directory."
+
+#LangString str_msg_rm_run_fail ${LANG_JAPANESE} \
+# "Fail to run uninstaller."
+
+#LangString str_msg_abort_install ${LANG_JAPANESE} \
+# "Installer will abort."
+
+LangString str_msg_install_fail ${LANG_JAPANESE} \
+ "インストールに失敗しました。次はうまくいくことを祈ります。"
+
+LangString str_msg_rm_exe_fail ${LANG_JAPANESE} \
+ "$0 内の一部のファイルは削除できませんでした!$\r$\n\
+ 手動で削除する必要があります。"
+
+#LangString str_msg_rm_root_fail ${LANG_JAPANESE} \
+# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
+
+LangString str_msg_uninstalling ${LANG_JAPANESE} \
+ "古いバージョンをアンインストールしています..."
+
+LangString str_msg_registering ${LANG_JAPANESE} \
+ "登録中..."
+
+LangString str_msg_unregistering ${LANG_JAPANESE} \
+ "登録解除中..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_JAPANESE} \
+ "_vimrc の設定を選んでください"
+LangString str_vimrc_page_subtitle ${LANG_JAPANESE} \
+ "拡張やキーボード、マウスの設定を選んでください。"
+
+LangString str_msg_compat_title ${LANG_JAPANESE} \
+ " Vi / Vim の動作 "
+LangString str_msg_compat_desc ${LANG_JAPANESE} \
+ "互換性と拡張(&C)"
+LangString str_msg_compat_vi ${LANG_JAPANESE} \
+ "Vi 互換"
+LangString str_msg_compat_vim ${LANG_JAPANESE} \
+ "Vim 独自"
+LangString str_msg_compat_defaults ${LANG_JAPANESE} \
+ "Vim 独自と多少の拡張 (defaults.vim を読み込み)"
+LangString str_msg_compat_all ${LANG_JAPANESE} \
+ "Vim 独自と全ての拡張 (vimrc_example.vim を読み込み) (既定)"
+
+LangString str_msg_keymap_title ${LANG_JAPANESE} \
+ " マッピング "
+LangString str_msg_keymap_desc ${LANG_JAPANESE} \
+ "Windows用に一部のキーをリマップする(&R) (例: Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F など)"
+LangString str_msg_keymap_default ${LANG_JAPANESE} \
+ "リマップしない (既定)"
+LangString str_msg_keymap_windows ${LANG_JAPANESE} \
+ "リマップする"
+
+LangString str_msg_mouse_title ${LANG_JAPANESE} \
+ " マウス "
+LangString str_msg_mouse_desc ${LANG_JAPANESE} \
+ "右ボタンと左ボタンの動作(&B)"
+LangString str_msg_mouse_default ${LANG_JAPANESE} \
+ "右:ポップアップメニュー、左:ビジュアルモード (既定)"
+LangString str_msg_mouse_windows ${LANG_JAPANESE} \
+ "右:ポップアップメニュー、左:選択モード (Windows)"
+LangString str_msg_mouse_unix ${LANG_JAPANESE} \
+ "右:選択を拡張、左:ビジュアルモード (Unix)"
diff --git a/nsis/lang/russian.nsi b/nsis/lang/russian.nsi
new file mode 100644
index 0000000..e451208
--- /dev/null
+++ b/nsis/lang/russian.nsi
@@ -0,0 +1,282 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# russian.nsi: Russian language strings for gvim NSIS installer.
+#
+# Locale ID : 1049
+# Locale name : ru-RU
+# fileencoding : UTF-8
+# Author : Restorer
+
+!insertmacro MUI_LANGUAGE "Russian"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_RUSSIAN} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_RUSSIAN} \
+ "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_RUSSIAN} \
+# "Маршрут к каталогу установки (должен оканчиваться каталогом $\"vim$\")"
+
+LangString str_show_readme ${LANG_RUSSIAN} \
+ "После окончания установки ознакомиться с кратким описанием"
+
+# Install types:
+LangString str_type_typical ${LANG_RUSSIAN} \
+ "Стандартная"
+
+LangString str_type_minimal ${LANG_RUSSIAN} \
+ "Минимальная"
+
+LangString str_type_full ${LANG_RUSSIAN} \
+ "Полная"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_RUSSIAN} \
+ "Удаление предыдущих версий"
+LangString str_desc_old_ver ${LANG_RUSSIAN} \
+ "Будут удалены предыдущие установленные версии программы"
+
+LangString str_section_exe ${LANG_RUSSIAN} \
+ "Графический интерфейс и вспомогательные файлы"
+LangString str_desc_exe ${LANG_RUSSIAN} \
+ "Графический интерфейс программы Vim и все необходимые для этого файлы. \
+ Это обязательный компонент"
+
+LangString str_section_console ${LANG_RUSSIAN} \
+ "Консольная программа Vim"
+LangString str_desc_console ${LANG_RUSSIAN} \
+ "Вариант редактора Vim (vim.exe), используемый в командной оболочке"
+
+LangString str_section_batch ${LANG_RUSSIAN} \
+ "Создать командные файлы"
+LangString str_desc_batch ${LANG_RUSSIAN} \
+ "Создание командных bat-файлов позволяющих работать с редактором \
+ Vim из командной строки Windows"
+
+LangString str_group_icons ${LANG_RUSSIAN} \
+ "Создать ярлыки для редактора Vim"
+LangString str_desc_icons ${LANG_RUSSIAN} \
+ "Создание ярлыков редактора Vim для облегчения запуска программы"
+
+LangString str_section_desktop ${LANG_RUSSIAN} \
+ "На Рабочем столе"
+LangString str_desc_desktop ${LANG_RUSSIAN} \
+ "Создание ярлыков программы Gvim на Рабочем столе"
+
+LangString str_section_start_menu ${LANG_RUSSIAN} \
+ "В меню кнопки Пуск"
+LangString str_desc_start_menu ${LANG_RUSSIAN} \
+ "Создание ярлыков программы Gvim в меню кнопки Пуск"
+
+#LangString str_section_quick_launch ${LANG_RUSSIAN} \
+# "На панели быстрого запуска"
+#LangString str_desc_quick_launch ${LANG_RUSSIAN} \
+# "Создание ярлыков программы GVim на панели быстрого запуска"
+
+LangString str_section_edit_with ${LANG_RUSSIAN} \
+ "В контекстном меню"
+LangString str_desc_edit_with ${LANG_RUSSIAN} \
+ "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню"
+
+#LangString str_section_edit_with32 ${LANG_RUSSIAN} \
+# "32-разрядная версия программы"
+#LangString str_desc_edit_with32 ${LANG_RUSSIAN} \
+# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
+# для 32-разрядных приложений"
+
+#LangString str_section_edit_with64 ${LANG_RUSSIAN} \
+# "64-разрядная версия программы"
+#LangString str_desc_edit_with64 ${LANG_RUSSIAN} \
+# "Добавление вызова программы Gvim в пункт $\"Открыть с помощью...$\" контекстного меню \
+# для 64-разрядных приложений"
+
+LangString str_section_vim_rc ${LANG_RUSSIAN} \
+ "Настройки программы по умолчанию"
+LangString str_desc_vim_rc ${LANG_RUSSIAN} \
+ "Создание файла _vimrc с предустановленными настройками, если нет других \
+ файлов настроек"
+
+LangString str_group_plugin ${LANG_RUSSIAN} \
+ "Создать каталог для подключаемых модулей"
+LangString str_desc_plugin ${LANG_RUSSIAN} \
+ "Создание каталога для размещения подключаемых модулей, которые расширяют \
+ возможности редактора Vim"
+
+LangString str_section_plugin_home ${LANG_RUSSIAN} \
+ "Личный каталог"
+LangString str_desc_plugin_home ${LANG_RUSSIAN} \
+ "Создание каталога для подключаемых модулей в домашнем каталоге пользователя"
+
+LangString str_section_plugin_vim ${LANG_RUSSIAN} \
+ "Общий каталог"
+LangString str_desc_plugin_vim ${LANG_RUSSIAN} \
+ "Создание каталога для подключаемых модулей в каталоге установки редактора Vim. \
+ Модули в этом каталоге будут доступны для любого пользователя \
+ зарегистрировавшегося в системе"
+
+LangString str_section_nls ${LANG_RUSSIAN} \
+ "Поддержка региональных языков"
+LangString str_desc_nls ${LANG_RUSSIAN} \
+ "Установка файлов для поддержки региональных языков операционной системы"
+
+LangString str_unsection_register ${LANG_RUSSIAN} \
+ "Отменить регистрацию компонентов программы Vim"
+LangString str_desc_unregister ${LANG_RUSSIAN} \
+ "Отмена регистрации компонентов программы Vim в операционной системе"
+
+LangString str_unsection_exe ${LANG_RUSSIAN} \
+ "Удалить файлы редактора Vim"
+LangString str_desc_rm_exe ${LANG_RUSSIAN} \
+ "Удаление всех исполняемых и вспомогательных файлов редактора Vim"
+
+LangString str_ungroup_plugin ${LANG_RUSSIAN} \
+ "Удалить каталог подключаемых модулей"
+LangString str_desc_rm_plugin ${LANG_RUSSIAN} \
+ "Удаление каталога подключаемых модулей, если в нём нет файлов"
+
+LangString str_unsection_plugin_home ${LANG_RUSSIAN} \
+ "Личный каталог"
+LangString str_desc_rm_plugin_home ${LANG_RUSSIAN} \
+ "Удаление каталога подключаемых модулей из домашнего каталога пользователя"
+
+LangString str_unsection_plugin_vim ${LANG_RUSSIAN} \
+ "Общий каталог"
+LangString str_desc_rm_plugin_vim ${LANG_RUSSIAN} \
+ "Удаление каталога подключаемых модулей из каталога установки редактора Vim"
+
+LangString str_unsection_rootdir ${LANG_RUSSIAN} \
+ "Удалить основной каталог программы Vim"
+LangString str_desc_rm_rootdir ${LANG_RUSSIAN} \
+ "Удаление основного каталога программы Vim. В этом каталоге находятся файлы \
+ настроек!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_RUSSIAN} \
+# "Обнаружено предыдущих версий программы Vim: $vim_old_ver_count.$\r$\n\
+# Данная программа установки может удалить не более ${VIM_MAX_OLD_VER}.$\r$\n\
+# Удалить лишние версии программы Vim и повторите установку"
+
+#LangString str_msg_invalid_root ${LANG_RUSSIAN} \
+# "Недопустимый каталог установки программы Vim $vim_install_root!$\r$\n\
+# Маршрут установки должен оканчиваться каталогом $\"vim$\""
+
+#LangString str_msg_bin_mismatch ${LANG_RUSSIAN} \
+# "Недопустимый маршрут к каталогу с исполняемыми файлами!$\r$\n$\r$\n\
+# Маршрут к каталогу с исполняемыми файлами должен быть $\"$vim_bin_path$\",$\r$\n\
+# но от операционной системы получен как $\"$INSTDIR$\"."
+
+#LangString str_msg_vim_running ${LANG_RUSSIAN} \
+# "Программа Vim сейчас работает.$\r$\n\
+# Прежде чем продолжить, закройте все работающие редакторы Vim"
+
+#LangString str_msg_register_ole ${LANG_RUSSIAN} \
+# "Попытка зарегистрировать компоненты программы Vim в пространстве OLE. \
+# Но не получено уведомление об успешности данной операции"
+
+#LangString str_msg_unreg_ole ${LANG_RUSSIAN} \
+# "Попытка отменить регистрацию компонентов программы Vim в пространстве OLE. \
+# Но не получено уведомление об успешности данной операции"
+
+#LangString str_msg_rm_start ${LANG_RUSSIAN} \
+# "Выполняется удаление следующих версий программы:"
+
+#LangString str_msg_rm_fail ${LANG_RUSSIAN} \
+# "Произошёл сбой при выполнении удаления следующих версий программы:"
+
+#LangString str_msg_no_rm_key ${LANG_RUSSIAN} \
+# "Не удалось найти раздел реестра, содержащий информацию об удалении программы"
+
+#LangString str_msg_no_rm_reg ${LANG_RUSSIAN} \
+# "Не удалось найти программу выполняющую удаление, указанную в разделе реестра"
+
+#LangString str_msg_no_rm_exe ${LANG_RUSSIAN} \
+# "Отсутствуют права на доступ к программе, выполняющей удаление"
+
+#LangString str_msg_rm_copy_fail ${LANG_RUSSIAN} \
+# "Произошла ошибка при копировании программы удаления во временный каталог"
+
+#LangString str_msg_rm_run_fail ${LANG_RUSSIAN} \
+# "Произошёл сбой при запуске программы, выполняющей удаление"
+
+#LangString str_msg_abort_install ${LANG_RUSSIAN} \
+# "Установка программы была отменена"
+
+LangString str_msg_install_fail ${LANG_RUSSIAN} \
+ "Произошла ошибка при установке программы. Попробуйте повторить установку \
+ немного попозже"
+# когда луна будет в другой фазе и ветер должен дуть с юго‐запада
+
+LangString str_msg_rm_exe_fail ${LANG_RUSSIAN} \
+ "Некоторые файлы не были удалены из каталога $0 $\r$\n\
+ Необходимо выполнить их удаление самостоятельно"
+
+#LangString str_msg_rm_root_fail ${LANG_RUSSIAN} \
+# "Внимание! В каталоге $\"$vim_install_root$\" содержатся файлы. Удаление каталога не выполнено"
+
+LangString str_msg_uninstalling ${LANG_RUSSIAN} \
+ "Удаление предыдущих версий программ..."
+
+LangString str_msg_registering ${LANG_RUSSIAN} \
+ "Регистрация компонентов программы в системе..."
+
+LangString str_msg_unregistering ${LANG_RUSSIAN} \
+ "Отмена регистрации компонентов программы в системе..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_RUSSIAN} \
+ "Установка параметров программы"
+LangString str_vimrc_page_subtitle ${LANG_RUSSIAN} \
+ "Параметры, используемые для клавиатуры, «мыши» и функциональности программы"
+
+LangString str_msg_compat_title ${LANG_RUSSIAN} \
+ " Варианты использования программы "
+LangString str_msg_compat_desc ${LANG_RUSSIAN} \
+ "Совместимость и функциональность программы"
+LangString str_msg_compat_vi ${LANG_RUSSIAN} \
+ "Работа в варианте совместимости с редактором Vi"
+LangString str_msg_compat_vim ${LANG_RUSSIAN} \
+ "Работа в варианте функциональности редактора Vim"
+LangString str_msg_compat_defaults ${LANG_RUSSIAN} \
+ "Работа редактора Vim с некоторыми улучшениями (файл defaults.vim)"
+LangString str_msg_compat_all ${LANG_RUSSIAN} \
+ "Работа редактора Vim со всеми улучшениями (файл vimrc_example.vim). \
+ Используется по умолчанию"
+
+LangString str_msg_keymap_title ${LANG_RUSSIAN} \
+ " Клавиатурные команды "
+LangString str_msg_keymap_desc ${LANG_RUSSIAN} \
+ "Клавиатурные команды используемые в ОС Windows (CTRL+V, CTRL+C, CTRL+S, CTRL+F и т. п.)"
+LangString str_msg_keymap_default ${LANG_RUSSIAN} \
+ "Не изменять клавиатурные команды. Использовать принятые в редакторе Vim"
+LangString str_msg_keymap_windows ${LANG_RUSSIAN} \
+ "Изменить указанные клавиатурные команды"
+
+LangString str_msg_mouse_title ${LANG_RUSSIAN} \
+ " Манипулятор «мышь» "
+LangString str_msg_mouse_desc ${LANG_RUSSIAN} \
+ "Действий правой и левой кнопки манипулятора «мышь»"
+LangString str_msg_mouse_default ${LANG_RUSSIAN} \
+ "Правая кнопка — всплывающее меню, левая кнопка — режим визуальный"
+LangString str_msg_mouse_windows ${LANG_RUSSIAN} \
+ "Правая кнопка — всплывающее меню, левая кнопка — режим выборки (как в ОС Windows)"
+LangString str_msg_mouse_unix ${LANG_RUSSIAN} \
+ "Правая кнопка — расширяемый режим выбора, левая кнопка — режим визуальный (как в UNIX‐подобных ОС)"
diff --git a/nsis/lang/serbian.nsi b/nsis/lang/serbian.nsi
new file mode 100644
index 0000000..9912ec5
--- /dev/null
+++ b/nsis/lang/serbian.nsi
@@ -0,0 +1,275 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# serbian.nsi: Serbian language strings for gvim NSIS installer.
+#
+# Locale ID : 3098
+# fileencoding : UTF-8
+# Author : Ivan Pešić
+
+!insertmacro MUI_LANGUAGE "Српски"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_SERBIAN} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_SERBIAN} \
+ "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_SERBIAN} \
+# "Destination Folder (Must end with $\"vim$\")"
+
+LangString str_show_readme ${LANG_SERBIAN} \
+ "Прикажи ПРОЧИТАЈМЕ када се заврши инсталација"
+
+# Install types:
+LangString str_type_typical ${LANG_SERBIAN} \
+ "Типична"
+
+LangString str_type_minimal ${LANG_SERBIAN} \
+ "Минимална"
+
+LangString str_type_full ${LANG_SERBIAN} \
+ "Пуна"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_SERBIAN} \
+ "Уклањање постојећ(е/их) верзиј(е/а)"
+LangString str_desc_old_ver ${LANG_SERBIAN} \
+ "Уклања постојећ(у/е) Vim верзииј(у/е) из вашег система."
+
+LangString str_section_exe ${LANG_SERBIAN} \
+ "Vim ГКИ и фајлови потребни за извршавање"
+LangString str_desc_exe ${LANG_SERBIAN} \
+ "Vim ГКИ извршни фајлови и фајлови потребни током извршавања. Ова компонента је неопходна."
+
+LangString str_section_console ${LANG_SERBIAN} \
+ "Vim конзолни програм"
+LangString str_desc_console ${LANG_SERBIAN} \
+ "Конзолна верзија програма Vim (vim.exe)."
+
+LangString str_section_batch ${LANG_SERBIAN} \
+ "Креирај .bat фајлове"
+LangString str_desc_batch ${LANG_SERBIAN} \
+ "Креира у Windows директоријуму .bat фајлове за Vim варијанте \
+ у циљу коришћења из командне линије."
+
+LangString str_group_icons ${LANG_SERBIAN} \
+ "Креирај иконе за Vim"
+LangString str_desc_icons ${LANG_SERBIAN} \
+ "Креира иконе за Vim на различитим местима, како би се олакшао приступ."
+
+LangString str_section_desktop ${LANG_SERBIAN} \
+ "На радној површини"
+LangString str_desc_desktop ${LANG_SERBIAN} \
+ "Креира иконе за gVim извршне фајлове на радној површини."
+
+LangString str_section_start_menu ${LANG_SERBIAN} \
+ "У фасцикли Програми унутар Старт менија"
+LangString str_desc_start_menu ${LANG_SERBIAN} \
+ "Додаје Vim у фолдер Програми Старт менија."
+
+#LangString str_section_quick_launch ${LANG_SERBIAN} \
+# "In the Quick Launch Bar"
+#LangString str_desc_quick_launch ${LANG_SERBIAN} \
+# "Add Vim shortcut in the quick launch bar."
+
+LangString str_section_edit_with ${LANG_SERBIAN} \
+ "Додај Vim контекстни мени"
+LangString str_desc_edit_with ${LANG_SERBIAN} \
+ "Додаје Vim у $\"Отвори помоћу...$\" листу контекстног менија."
+
+#LangString str_section_edit_with32 ${LANG_SERBIAN} \
+# "32-bit Version"
+#LangString str_desc_edit_with32 ${LANG_SERBIAN} \
+# "Add Vim to the $\"Open With...$\" context menu list \
+# for 32-bit applications."
+
+#LangString str_section_edit_with64 ${LANG_SERBIAN} \
+# "64-bit Version"
+#LangString str_desc_edit_with64 ${LANG_SERBIAN} \
+# "Add Vim to the $\"Open With...$\" context menu list \
+# for 64-bit applications."
+
+LangString str_section_vim_rc ${LANG_SERBIAN} \
+ "Креирај Подразумевану конфигурацију"
+LangString str_desc_vim_rc ${LANG_SERBIAN} \
+ "Креира подразумевани конфиг фајл (_vimrc) ако неки већ не постоји."
+
+LangString str_group_plugin ${LANG_SERBIAN} \
+ "Креира директоријуме додатака"
+LangString str_desc_plugin ${LANG_SERBIAN} \
+ "Креира директоријуме додатака. Ови директоријуми омогућавају проширење програма Vim \
+ убацивањем фајла у директоријум."
+
+LangString str_section_plugin_home ${LANG_SERBIAN} \
+ "Приватне"
+LangString str_desc_plugin_home ${LANG_SERBIAN} \
+ "Креира директоријуме додатака у HOME директоријуму."
+
+LangString str_section_plugin_vim ${LANG_SERBIAN} \
+ "Дељене"
+LangString str_desc_plugin_vim ${LANG_SERBIAN} \
+ "Креира директоријуме додатака у Vim инсталационом директоријуму, користе их сви \
+ на систему."
+
+LangString str_section_nls ${LANG_SERBIAN} \
+ "Подршка за домаћи језик"
+LangString str_desc_nls ${LANG_SERBIAN} \
+ "Инсталира фајлове за домаћу језичку подршку."
+
+LangString str_unsection_register ${LANG_SERBIAN} \
+ "Поништи регистрацију Vim"
+LangString str_desc_unregister ${LANG_SERBIAN} \
+ "Поништава регистрацију програма Vim на систему."
+
+LangString str_unsection_exe ${LANG_SERBIAN} \
+ "Уклони Vim извршне фајлове/фајлове потребне у време извршавања"
+LangString str_desc_rm_exe ${LANG_SERBIAN} \
+ "Уклања све Vim извршне фајлове и оне потребне у време извршавања."
+
+LangString str_ungroup_plugin ${LANG_SERBIAN} \
+ "Укони директоријуме додатака"
+LangString str_desc_rm_plugin ${LANG_SERBIAN} \
+ "Уклања директоријуме додатака ако су празни."
+
+LangString str_unsection_plugin_home ${LANG_SERBIAN} \
+ "Приватне"
+LangString str_desc_rm_plugin_home ${LANG_SERBIAN} \
+ "Уклања директоријуме додатака из HOME директоријума."
+
+LangString str_unsection_plugin_vim ${LANG_SERBIAN} \
+ "Дељене"
+LangString str_desc_rm_plugin_vim ${LANG_SERBIAN} \
+ "Уклања директоријуме додатака из Vim инсталациониг директоријума."
+
+LangString str_unsection_rootdir ${LANG_SERBIAN} \
+ "Уклони Vim корени директоријум"
+LangString str_desc_rm_rootdir ${LANG_SERBIAN} \
+ "Уклања Vim корени директоријум. Он садржи ваше Vim конфигурационе фајлове!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_SERBIAN} \
+# "Found $vim_old_ver_count Vim versions on your system.$\r$\n\
+# This installer can only handle ${VIM_MAX_OLD_VER} versions \
+# at most.$\r$\n\
+# Please remove some versions and start again."
+
+#LangString str_msg_invalid_root ${LANG_SERBIAN} \
+# "Invalid install path: $vim_install_root!$\r$\n\
+# It should end with $\"vim$\"."
+
+#LangString str_msg_bin_mismatch ${LANG_SERBIAN} \
+# "Binary path mismatch!$\r$\n$\r$\n\
+# Expect the binary path to be $\"$vim_bin_path$\",$\r$\n\
+# but system indicates the binary path is $\"$INSTDIR$\"."
+
+#LangString str_msg_vim_running ${LANG_SERBIAN} \
+# "Vim is still running on your system.$\r$\n\
+# Please close all instances of Vim before you continue."
+
+#LangString str_msg_register_ole ${LANG_SERBIAN} \
+# "Attempting to register Vim with OLE. \
+# There is no message indicates whether this works or not."
+
+#LangString str_msg_unreg_ole ${LANG_SERBIAN} \
+# "Attempting to unregister Vim with OLE. \
+# There is no message indicates whether this works or not."
+
+#LangString str_msg_rm_start ${LANG_SERBIAN} \
+# "Uninstalling the following version:"
+
+#LangString str_msg_rm_fail ${LANG_SERBIAN} \
+# "Fail to uninstall the following version:"
+
+#LangString str_msg_no_rm_key ${LANG_SERBIAN} \
+# "Cannot find uninstaller registry key."
+
+#LangString str_msg_no_rm_reg ${LANG_SERBIAN} \
+# "Cannot find uninstaller from registry."
+
+#LangString str_msg_no_rm_exe ${LANG_SERBIAN} \
+# "Cannot access uninstaller."
+
+#LangString str_msg_rm_copy_fail ${LANG_SERBIAN} \
+# "Fail to copy uninstaller to temporary directory."
+
+#LangString str_msg_rm_run_fail ${LANG_SERBIAN} \
+# "Fail to run uninstaller."
+
+#LangString str_msg_abort_install ${LANG_SERBIAN} \
+# "Installer will abort."
+
+LangString str_msg_install_fail ${LANG_SERBIAN} \
+ "Инсталација није успела. Више среће идући пут."
+
+LangString str_msg_rm_exe_fail ${LANG_SERBIAN} \
+ "Неки фајлови у $0 нису обрисани!$\r$\n\
+ Морате то ручно да обавите."
+
+#LangString str_msg_rm_root_fail ${LANG_SERBIAN} \
+# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
+
+LangString str_msg_uninstalling ${LANG_SERBIAN} \
+ "Уклањање старе верзије..."
+
+LangString str_msg_registering ${LANG_SERBIAN} \
+ "Регистровање..."
+
+LangString str_msg_unregistering ${LANG_SERBIAN} \
+ "Поништавање регистрације..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_SERBIAN} \
+ "Изаберите _vimrc подешавања"
+LangString str_vimrc_page_subtitle ${LANG_SERBIAN} \
+ "Изаберите подешавања за побољшања, тастатуру и миша."
+
+LangString str_msg_compat_title ${LANG_SERBIAN} \
+ " Vi / Vim понашање "
+LangString str_msg_compat_desc ${LANG_SERBIAN} \
+ "&Компатибилност и побољшања"
+LangString str_msg_compat_vi ${LANG_SERBIAN} \
+ "Vi компатибилно"
+LangString str_msg_compat_vim ${LANG_SERBIAN} \
+ "Vim оригинално"
+LangString str_msg_compat_defaults ${LANG_SERBIAN} \
+ "Vim са неким побољшањима (учитава defaults.vim)"
+LangString str_msg_compat_all ${LANG_SERBIAN} \
+ "Vim са свим побољшањима (учитава vimrc_example.vim) (Подразумевано)"
+
+LangString str_msg_keymap_title ${LANG_SERBIAN} \
+ " Мапирања "
+LangString str_msg_keymap_desc ${LANG_SERBIAN} \
+ "&Ремапира неколико тастера за Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, итд.)"
+LangString str_msg_keymap_default ${LANG_SERBIAN} \
+ "Немој да ремапираш тастере (Подразумевано)"
+LangString str_msg_keymap_windows ${LANG_SERBIAN} \
+ "Ремапира неколико тастера"
+
+LangString str_msg_mouse_title ${LANG_SERBIAN} \
+ " Миш "
+LangString str_msg_mouse_desc ${LANG_SERBIAN} \
+ "&Понашање левог и десног тастера"
+LangString str_msg_mouse_default ${LANG_SERBIAN} \
+ "Десни: искачући мени, Леви: визуелни режим (Подразумевано)"
+LangString str_msg_mouse_windows ${LANG_SERBIAN} \
+ "Десни: искачући мени, Леви: режим избора (Windows)"
+LangString str_msg_mouse_unix ${LANG_SERBIAN} \
+ "Десни: проширује избор, Леви: визуелни режим (Unix)"
diff --git a/nsis/lang/simpchinese.nsi b/nsis/lang/simpchinese.nsi
new file mode 100644
index 0000000..2c80054
--- /dev/null
+++ b/nsis/lang/simpchinese.nsi
@@ -0,0 +1,272 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# simpchinese.nsi: Simplified Chinese language strings for gvim NSIS
+# installer.
+#
+# Locale ID : 2052
+# fileencoding : UTF-8
+# Author : Guopeng Wen, David Liu
+
+!insertmacro MUI_LANGUAGE "SimpChinese"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_SIMPCHINESE} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
+ "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_SIMPCHINESE} \
+# "安装路径 (必须以 vim 结尾)"
+
+LangString str_show_readme ${LANG_SIMPCHINESE} \
+ "安装完成后显示 README 文件"
+
+# Install types:
+LangString str_type_typical ${LANG_SIMPCHINESE} \
+ "典型安装"
+
+LangString str_type_minimal ${LANG_SIMPCHINESE} \
+ "最小安装"
+
+LangString str_type_full ${LANG_SIMPCHINESE} \
+ "完全安装"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_SIMPCHINESE} \
+ "卸载旧版本"
+LangString str_desc_old_ver ${LANG_SIMPCHINESE} \
+ "卸载系统上已存在的 Vim 版本"
+
+LangString str_section_exe ${LANG_SIMPCHINESE} \
+ "安装 Vim 图形界面"
+LangString str_desc_exe ${LANG_SIMPCHINESE} \
+ "安装 Vim 图形界面及运行时文件。此项为必选。"
+
+LangString str_section_console ${LANG_SIMPCHINESE} \
+ "安装 Vim 控制台版本"
+LangString str_desc_console ${LANG_SIMPCHINESE} \
+ "安装 Vim 的控制台版本(vim.exe)。"
+
+LangString str_section_batch ${LANG_SIMPCHINESE} \
+ "安装批处理文件"
+LangString str_desc_batch ${LANG_SIMPCHINESE} \
+ "为 Vim 的各种变体创建批处理文件,以便在命令行下运行 Vim。"
+
+LangString str_group_icons ${LANG_SIMPCHINESE} \
+ "创建图标"
+LangString str_desc_icons ${LANG_SIMPCHINESE} \
+ "为 Vim 创建若干图标,以方便使用 Vim。"
+
+LangString str_section_desktop ${LANG_SIMPCHINESE} \
+ "桌面图标"
+LangString str_desc_desktop ${LANG_SIMPCHINESE} \
+ "创建 Vim 的桌面快捷方式图标。"
+
+LangString str_section_start_menu ${LANG_SIMPCHINESE} \
+ "「开始」菜单程序组"
+LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
+ "在开始菜单中添加 Vim 程序组(适用于 Windows 95 及以上版本)"
+
+#LangString str_section_quick_launch ${LANG_SIMPCHINESE} \
+# "在快速启动启动栏中"
+#LangString str_desc_quick_launch ${LANG_SIMPCHINESE} \
+# "在快速启动栏中添加 Vim 图标。"
+
+LangString str_section_edit_with ${LANG_SIMPCHINESE} \
+ "添加到快捷菜单"
+LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
+ "将“用 Vim 编辑”添加到快捷菜单中。"
+
+#LangString str_section_edit_with32 ${LANG_SIMPCHINESE} \
+# "32 位版本"
+#LangString str_desc_edit_with32 ${LANG_SIMPCHINESE} \
+# "将 Vim 添加到 32 位程序的“打开方式”快捷菜单中。"
+
+#LangString str_section_edit_with64 ${LANG_SIMPCHINESE} \
+# "64 位版本"
+#LangString str_desc_edit_with64 ${LANG_SIMPCHINESE} \
+# "将 Vim 添加到 64 位程序的“打开方式”快捷菜单中。"
+
+LangString str_section_vim_rc ${LANG_SIMPCHINESE} \
+ "创建默认配置文件"
+LangString str_desc_vim_rc ${LANG_SIMPCHINESE} \
+ "在安装目录下生成默认的 Vim 配置文件(_vimrc)。\
+ 如果该文件已经存在,则跳过该项。"
+
+LangString str_group_plugin ${LANG_SIMPCHINESE} \
+ "创建插件目录"
+LangString str_desc_plugin ${LANG_SIMPCHINESE} \
+ "创建(空的)插件目录结构。插件目录用于安装 Vim 扩展插件,\
+ 只要将文件复制到相关的子目录中即可。"
+
+LangString str_section_plugin_home ${LANG_SIMPCHINESE} \
+ "私有插件目录"
+LangString str_desc_plugin_home ${LANG_SIMPCHINESE} \
+ "在主目录创建私有插件目录。"
+
+LangString str_section_plugin_vim ${LANG_SIMPCHINESE} \
+ "公共插件目录"
+LangString str_desc_plugin_vim ${LANG_SIMPCHINESE} \
+ "在 Vim 安装目录下创建(空的)插件目录结构,系统上所有用户都能使用安装在\
+ 该目录下的扩展插件。"
+
+LangString str_section_nls ${LANG_SIMPCHINESE} \
+ "安装多语言支持"
+LangString str_desc_nls ${LANG_SIMPCHINESE} \
+ "安装用于多语言支持的文件。"
+
+LangString str_unsection_register ${LANG_SIMPCHINESE} \
+ "删除 Vim 系统配置"
+LangString str_desc_unregister ${LANG_SIMPCHINESE} \
+ "删除和 Vim 相关的系统配置。"
+
+LangString str_unsection_exe ${LANG_SIMPCHINESE} \
+ "删除 Vim 执行文件以及脚本"
+LangString str_desc_rm_exe ${LANG_SIMPCHINESE} \
+ "删除 Vim 的所有执行文件及脚本。"
+
+LangString str_ungroup_plugin ${LANG_SIMPCHINESE} \
+ "移除插件目录"
+LangString str_desc_rm_plugin ${LANG_SIMPCHINESE} \
+ "移除插件目录(如果目录为空)。"
+
+LangString str_unsection_plugin_home ${LANG_SIMPCHINESE} \
+ "私有插件目录"
+LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
+ "从主目录中移除私有插件目录。"
+
+LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
+ "公共插件目录"
+LangString str_desc_rm_plugin_vim ${LANG_SIMPCHINESE} \
+ "从 Vim 安装目录下移除插件目录。"
+
+LangString str_unsection_rootdir ${LANG_SIMPCHINESE} \
+ "移除 Vim 主目录"
+LangString str_desc_rm_rootdir ${LANG_SIMPCHINESE} \
+ "移除 Vim 的主目录,该目录包含您的配置文件!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_SIMPCHINESE} \
+# "您的系统上安装了 $vim_old_ver_count 个不同版本的 Vim,$\r$\n\
+# 但本安装程序最多只能处理 ${VIM_MAX_OLD_VER} 个版本。$\r$\n\
+# 请您手工删除一些旧版本以后再运行本安装程序。"
+
+#LangString str_msg_invalid_root ${LANG_SIMPCHINESE} \
+# "安装路径“$vim_install_root”无效!$\r$\n\
+# 该路径必须以 vim 结尾。"
+
+#LangString str_msg_bin_mismatch ${LANG_SIMPCHINESE} \
+# "Vim 执行程序安装路径异常!$\r$\n$\r$\n\
+# 该版本 Vim 的执行程序安装路径应该是“$vim_bin_path”,$\r$\n\
+# 而系统却指示该路径为“$INSTDIR”。"
+
+#LangString str_msg_vim_running ${LANG_SIMPCHINESE} \
+# "您的系统上仍有 Vim 在运行,$\r$\n\
+# 请您在执行后续步骤前退出这些 Vim。"
+
+#LangString str_msg_register_ole ${LANG_SIMPCHINESE} \
+# "试图注册 Vim OLE 服务器。请注意无论成功与否都不再显示进一步的信息。"
+
+#LangString str_msg_unreg_ole ${LANG_SIMPCHINESE} \
+# "试图注销 Vim OLE 服务器。请注意无论成功与否都不再显示进一步的信息。"
+
+#LangString str_msg_rm_start ${LANG_SIMPCHINESE} \
+# "开始卸载以下版本:"
+
+#LangString str_msg_rm_fail ${LANG_SIMPCHINESE} \
+# "以下版本卸载失败:"
+
+#LangString str_msg_no_rm_key ${LANG_SIMPCHINESE} \
+# "找不到卸载程序的注册表键。"
+
+#LangString str_msg_no_rm_reg ${LANG_SIMPCHINESE} \
+# "在注册表中未找到卸载程序路径。"
+
+#LangString str_msg_no_rm_exe ${LANG_SIMPCHINESE} \
+# "找不到卸载程序。"
+
+#LangString str_msg_rm_copy_fail ${LANG_SIMPCHINESE} \
+# "无法将卸载程序复制到临时目录。"
+
+#LangString str_msg_rm_run_fail ${LANG_SIMPCHINESE} \
+# "执行卸载程序失败。"
+
+#LangString str_msg_abort_install ${LANG_SIMPCHINESE} \
+# "安装程序将退出。"
+
+LangString str_msg_install_fail ${LANG_SIMPCHINESE} \
+ "安装失败。祝您下次好运。"
+
+LangString str_msg_rm_exe_fail ${LANG_SIMPCHINESE} \
+ "目录“$0”下有部分文件删除失败!$\r$\n\
+ 您只能手工删除该目录。"
+
+#LangString str_msg_rm_root_fail ${LANG_SIMPCHINESE} \
+# "警告:无法删除 Vim 安装目录“$vim_install_root”,\
+# 该目录下仍有其他文件。"
+
+LangString str_msg_uninstalling ${LANG_SIMPCHINESE} \
+ "正在卸载旧版本..."
+
+LangString str_msg_registering ${LANG_SIMPCHINESE} \
+ "正在注册..."
+
+LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
+ "正在取消注册..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
+ "设置 _vimrc"
+LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
+ "选择键盘、鼠标和扩展设置。"
+
+LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
+ "Vi / Vim 行为"
+LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
+ "兼容性与扩展(&B)"
+LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
+ "原始 Vi"
+LangString str_msg_compat_vim ${LANG_SIMPCHINESE} \
+ "原始 Vim"
+LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
+ "Vim 原始版本和部分扩展 (加载 defaults.vim)"
+LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
+ "Vim 原始版本和所有扩展 (加载 vimrc_example.vim) (缺省)"
+
+LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
+ "键盘映射"
+LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
+ "为 Windows 映射按键(&R) (例如:Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F 等)"
+LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
+ "不映射按键 (缺省)"
+LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
+ "映射一些按键"
+
+LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
+ "鼠标"
+LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
+ "左键和右键行为(&B)"
+LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
+ "右键:弹出菜单, 左键:可视化模式 (缺省)"
+LangString str_msg_mouse_windows ${LANG_SIMPCHINESE} \
+ "右键:弹出菜单, 左键:选择模式 (Windows)"
+LangString str_msg_mouse_unix ${LANG_SIMPCHINESE} \
+ "右键: 扩展选择, 左键:可视化模式 (Unix)"
diff --git a/nsis/lang/tradchinese.nsi b/nsis/lang/tradchinese.nsi
new file mode 100644
index 0000000..16b6747
--- /dev/null
+++ b/nsis/lang/tradchinese.nsi
@@ -0,0 +1,273 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# tradchinese.nsi: Traditional Chinese language strings for gvim NSIS
+# installer.
+#
+# Locale ID : 1028
+# fileencoding : UTF-8
+# Author : Guopeng Wen
+
+!insertmacro MUI_LANGUAGE "TradChinese"
+
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_TRADCHINESE} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_TRADCHINESE} \
+ "$(^Name) Uninstall"
+
+##############################################################################
+# MUI Configuration Strings {{{1
+##############################################################################
+
+#LangString str_dest_folder ${LANG_TRADCHINESE} \
+# "安裝資料夾 (必須以 vim 結尾)"
+
+LangString str_show_readme ${LANG_TRADCHINESE} \
+ "安裝完成後顯示 README 檔案"
+
+# Install types:
+LangString str_type_typical ${LANG_TRADCHINESE} \
+ "典型安裝"
+
+LangString str_type_minimal ${LANG_TRADCHINESE} \
+ "最小安裝"
+
+LangString str_type_full ${LANG_TRADCHINESE} \
+ "完全安裝"
+
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_TRADCHINESE} \
+ "移除舊版本"
+LangString str_desc_old_ver ${LANG_TRADCHINESE} \
+ "移除閣下電腦上舊版本的 Vim。"
+
+LangString str_section_exe ${LANG_TRADCHINESE} \
+ "安裝 Vim 圖形界面程式"
+LangString str_desc_exe ${LANG_TRADCHINESE} \
+ "安裝 Vim 圖形界面程式及腳本。此為必選安裝。"
+
+LangString str_section_console ${LANG_TRADCHINESE} \
+ "安裝 Vim 命令行程式"
+LangString str_desc_console ${LANG_TRADCHINESE} \
+ "安裝 Vim 命令行程式 (vim.exe)。該程式在控制臺窗口中運行。"
+
+LangString str_section_batch ${LANG_TRADCHINESE} \
+ "安裝批次檔案"
+LangString str_desc_batch ${LANG_TRADCHINESE} \
+ "為 Vim 的各種變體創建批次檔,以便在命令行下啟動 Vim。"
+
+LangString str_group_icons ${LANG_TRADCHINESE} \
+ "建立 Vim 圖示"
+LangString str_desc_icons ${LANG_TRADCHINESE} \
+ "建立若干 Vim 圖示,以便于使用 Vim。"
+
+LangString str_section_desktop ${LANG_TRADCHINESE} \
+ "於桌面"
+LangString str_desc_desktop ${LANG_TRADCHINESE} \
+ "建立若干 Vim 圖示於桌面上,以方便啟動 Vim。"
+
+LangString str_section_start_menu ${LANG_TRADCHINESE} \
+ "於「開始」功能表的「程式」集"
+LangString str_desc_start_menu ${LANG_TRADCHINESE} \
+ "在「開始」功能表的「程式」集中建立 Vim 啟動組。\
+ 適用于 Windows 95 及以上版本。"
+
+#LangString str_section_quick_launch ${LANG_TRADCHINESE} \
+# "於快速啟動列"
+#LangString str_desc_quick_launch ${LANG_TRADCHINESE} \
+# "在快速啟動列中建立 Vim 圖示。"
+
+LangString str_section_edit_with ${LANG_TRADCHINESE} \
+ "安裝快捷選單"
+LangString str_desc_edit_with ${LANG_TRADCHINESE} \
+ "在「打開方式」快捷選單中添加 Vim 項。"
+
+#LangString str_section_edit_with32 ${LANG_TRADCHINESE} \
+# "32 位元版本"
+#LangString str_desc_edit_with32 ${LANG_TRADCHINESE} \
+# "在 32 位元程式的「打開方式」快捷選單中添加 Vim 項。"
+
+#LangString str_section_edit_with64 ${LANG_TRADCHINESE} \
+# "64 位元版本"
+#LangString str_desc_edit_with64 ${LANG_TRADCHINESE} \
+# "在 64 位元程式的「打開方式」快捷選單中添加 Vim 項。"
+
+LangString str_section_vim_rc ${LANG_TRADCHINESE} \
+ "建立默認設定檔"
+LangString str_desc_vim_rc ${LANG_TRADCHINESE} \
+ "在安裝資料夾下建立默認的 Vim 設定檔(_vimrc)。\
+ 若該設定檔已經存在,則略過此項。"
+
+LangString str_group_plugin ${LANG_TRADCHINESE} \
+ "建立插件資料夾"
+LangString str_desc_plugin ${LANG_TRADCHINESE} \
+ "建立(空的)插件資料夾結構。插件資料夾用于安裝 Vim 的擴展插件,\
+ 只要將檔案復制到相關的子資料夾中即可。"
+
+LangString str_section_plugin_home ${LANG_TRADCHINESE} \
+ "建立插件資料夾"
+LangString str_desc_plugin_home ${LANG_TRADCHINESE} \
+ "Create plugin directories in HOME directory."
+
+LangString str_section_plugin_vim ${LANG_TRADCHINESE} \
+ "建立共享插件資料夾"
+LangString str_desc_plugin_vim ${LANG_TRADCHINESE} \
+ "在 Vim 安裝資料夾下建立(空的)插件資料夾結構,電腦上所有用戶都能使用安裝\
+ 在該資料夾里的擴展插件。"
+
+LangString str_section_nls ${LANG_TRADCHINESE} \
+ "安裝本地語言支持"
+LangString str_desc_nls ${LANG_TRADCHINESE} \
+ "安裝用于支持本地語言的檔案。"
+
+LangString str_unsection_register ${LANG_TRADCHINESE} \
+ "移除 Vim 系統設定"
+LangString str_desc_unregister ${LANG_TRADCHINESE} \
+ "移除與 Vim 相關的系統設定。"
+
+LangString str_unsection_exe ${LANG_TRADCHINESE} \
+ "移除 Vim 程式及腳本"
+LangString str_desc_rm_exe ${LANG_TRADCHINESE} \
+ "移除所有的 Vim 程式及腳本。"
+
+LangString str_ungroup_plugin ${LANG_TRADCHINESE} \
+ "Remove plugin directories"
+LangString str_desc_rm_plugin ${LANG_TRADCHINESE} \
+ "Remove the plugin directories if they are empty."
+
+LangString str_unsection_plugin_home ${LANG_TRADCHINESE} \
+ "Private"
+LangString str_desc_rm_plugin_home ${LANG_TRADCHINESE} \
+ "Remove the vimfiles directory in HOME directory."
+
+LangString str_unsection_plugin_vim ${LANG_TRADCHINESE} \
+ "Shared"
+LangString str_desc_rm_plugin_vim ${LANG_TRADCHINESE} \
+ "Remove the vimfiles directory in Vim install directory."
+
+LangString str_unsection_rootdir ${LANG_TRADCHINESE} \
+ "Remove the Vim root directory"
+LangString str_desc_rm_rootdir ${LANG_TRADCHINESE} \
+ "Remove the Vim root directory. It contains your Vim configuration files!"
+
+
+##############################################################################
+# Messages {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver ${LANG_TRADCHINESE} \
+# "閣下的電腦上安裝了 $vim_old_ver_count 個不同版本的 Vim,$\r$\n\
+# 但是本安裝程式最多只能處理 ${VIM_MAX_OLD_VER} 個版本。$\r$\n\
+# 煩請閣下手工移除一些版本以后再運行本安裝程式。"
+
+#LangString str_msg_invalid_root ${LANG_TRADCHINESE} \
+# "安裝資料夾「$vim_install_root」無效!$\r$\n\
+# 該資料夾必須以「vim」結尾。"
+
+#LangString str_msg_bin_mismatch ${LANG_TRADCHINESE} \
+# "Vim 執行程式安裝路徑異常!$\r$\n$\r$\n\
+# 該版本 Vim 的執行程式安裝路徑應該是「$vim_bin_path」,$\r$\n\
+# 而系統卻指示該路徑為「$INSTDIR」。"
+
+#LangString str_msg_vim_running ${LANG_TRADCHINESE} \
+# "閣下的電腦上尚有正在運行之 Vim,$\r$\n\
+# 煩請閣下在執行后續步驟前將其全部退出。"
+
+#LangString str_msg_register_ole ${LANG_TRADCHINESE} \
+# "試圖注冊 Vim OLE 伺服程式。請注意不論成功與否都不再顯示進一步的信息。"
+
+#LangString str_msg_unreg_ole ${LANG_TRADCHINESE} \
+# "試圖注銷 Vim OLE 伺服程式。請注意不論成功與否都不再顯示進一步的信息。"
+
+#LangString str_msg_rm_start ${LANG_TRADCHINESE} \
+# "正移除如下版本:"
+
+#LangString str_msg_rm_fail ${LANG_TRADCHINESE} \
+# "以下版本移除失敗:"
+
+#LangString str_msg_no_rm_key ${LANG_TRADCHINESE} \
+# "找不到反安裝程式的登錄檔入口。"
+
+#LangString str_msg_no_rm_reg ${LANG_TRADCHINESE} \
+# "在登錄檔中未找到反安裝程式路徑。"
+
+#LangString str_msg_no_rm_exe ${LANG_TRADCHINESE} \
+# "找不到反安裝程式。"
+
+#LangString str_msg_rm_copy_fail ${LANG_TRADCHINESE} \
+# "無法將法將反安裝程式复制到臨時目錄。"
+
+#LangString str_msg_rm_run_fail ${LANG_TRADCHINESE} \
+# "執行反安裝程式失敗。"
+
+#LangString str_msg_abort_install ${LANG_TRADCHINESE} \
+# "安裝程式將退出。"
+
+LangString str_msg_install_fail ${LANG_TRADCHINESE} \
+ "安裝失敗。預祝下次好運。"
+
+LangString str_msg_rm_exe_fail ${LANG_TRADCHINESE} \
+ "資料夾「$0」下有部分檔案未能移除!$\r$\n\
+ 閣下只能手工移除該資料夾。"
+
+#LangString str_msg_rm_root_fail ${LANG_TRADCHINESE} \
+# "警告:無法刪除 Vim 安裝資料夾「$vim_install_root」,\
+# 該資料夾下仍有其他檔案。"
+
+LangString str_msg_uninstalling ${LANG_TRADCHINESE} \
+ "Uninstalling the old version..."
+
+LangString str_msg_registering ${LANG_TRADCHINESE} \
+ "Registering..."
+
+LangString str_msg_unregistering ${LANG_TRADCHINESE} \
+ "Unregistering..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_TRADCHINESE} \
+ "Choose _vimrc settings"
+LangString str_vimrc_page_subtitle ${LANG_TRADCHINESE} \
+ "Choose the settings for enhancement, keyboard and mouse."
+
+LangString str_msg_compat_title ${LANG_TRADCHINESE} \
+ " Vi / Vim behavior "
+LangString str_msg_compat_desc ${LANG_TRADCHINESE} \
+ "&Compatibility and enhancements"
+LangString str_msg_compat_vi ${LANG_TRADCHINESE} \
+ "Vi compatible"
+LangString str_msg_compat_vim ${LANG_TRADCHINESE} \
+ "Vim original"
+LangString str_msg_compat_defaults ${LANG_TRADCHINESE} \
+ "Vim with some enhancements (load defaults.vim)"
+LangString str_msg_compat_all ${LANG_TRADCHINESE} \
+ "Vim with all enhancements (load vimrc_example.vim) (Default)"
+
+LangString str_msg_keymap_title ${LANG_TRADCHINESE} \
+ " Mappings "
+LangString str_msg_keymap_desc ${LANG_TRADCHINESE} \
+ "&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
+LangString str_msg_keymap_default ${LANG_TRADCHINESE} \
+ "Do not remap keys (Default)"
+LangString str_msg_keymap_windows ${LANG_TRADCHINESE} \
+ "Remap a few keys"
+
+LangString str_msg_mouse_title ${LANG_TRADCHINESE} \
+ " Mouse "
+LangString str_msg_mouse_desc ${LANG_TRADCHINESE} \
+ "&Behavior of right and left buttons"
+LangString str_msg_mouse_default ${LANG_TRADCHINESE} \
+ "Right: popup menu, Left: visual mode (Default)"
+LangString str_msg_mouse_windows ${LANG_TRADCHINESE} \
+ "Right: popup menu, Left: select mode (Windows)"
+LangString str_msg_mouse_unix ${LANG_TRADCHINESE} \
+ "Right: extends selection, Left: visual mode (Unix)"
diff --git a/nsis/lang/turkish.nsi b/nsis/lang/turkish.nsi
new file mode 100644
index 0000000..1046b81
--- /dev/null
+++ b/nsis/lang/turkish.nsi
@@ -0,0 +1,185 @@
+# turkish.nsi: Turkish language strings for gvim NSIS installer.
+# fileencoding : UTF-8
+# Author : Emir SARI
+
+!insertmacro MUI_LANGUAGE "Turkish"
+
+# Overwrite the default translation.
+# These strings should be always English. Otherwise dosinst.c fails.
+LangString ^SetupCaption ${LANG_TURKISH} \
+ "$(^Name) Setup"
+LangString ^UninstallCaption ${LANG_TURKISH} \
+ "$(^Name) Uninstall"
+
+LangString str_show_readme ${LANG_TURKISH} \
+ "Kurulum bittikten sonra README dosyasını aç"
+
+# Install types:
+LangString str_type_typical ${LANG_TURKISH} \
+ "Normal"
+
+LangString str_type_minimal ${LANG_TURKISH} \
+ "Küçük"
+
+LangString str_type_full ${LANG_TURKISH} \
+ "Tam"
+
+##############################################################################
+# Section Titles & Description {{{1
+##############################################################################
+
+LangString str_section_old_ver ${LANG_TURKISH} \
+ "Eski sürümü kaldır"
+LangString str_desc_old_ver ${LANG_TURKISH} \
+ "Vim'in eski sürümünü sisteminizden kaldırır."
+
+LangString str_section_exe ${LANG_TURKISH} \
+ "Vim grafik arabirimi ve çalışma dosyaları"
+LangString str_desc_exe ${LANG_TURKISH} \
+ "Vim program başlatıcı ve çalışma dosyaları. Bu bileşen zorunludur."
+
+LangString str_section_console ${LANG_TURKISH} \
+ "Vim konsol sürümü"
+LangString str_desc_console ${LANG_TURKISH} \
+ "Vim'in konsol sürümü (vim.exe)."
+
+LangString str_section_batch ${LANG_TURKISH} \
+ ".bat dosyaları oluştur"
+LangString str_desc_batch ${LANG_TURKISH} \
+ "Vim için komut satırında kullanmak üzere .bat dosyaları oluşturur"
+
+LangString str_group_icons ${LANG_TURKISH} \
+ "Vim için kısayollar oluştur"
+LangString str_desc_icons ${LANG_TURKISH} \
+ "Kolay erişim için Vim kısayolları oluşturur."
+
+LangString str_section_desktop ${LANG_TURKISH} \
+ "Masaüstünde"
+LangString str_desc_desktop ${LANG_TURKISH} \
+ "gVim programı için Masaüstünde kısayol oluşturur."
+
+LangString str_section_start_menu ${LANG_TURKISH} \
+ "Başlat Menüsü - Programlar klasöründe"
+LangString str_desc_start_menu ${LANG_TURKISH} \
+ "Vim kısayolunu Başlat Menüsüne ekler."
+
+LangString str_section_edit_with ${LANG_TURKISH} \
+ "Vim ile Aç"
+LangString str_desc_edit_with ${LANG_TURKISH} \
+ "Vim'i $\"Birlikte aç$\" sağ tık menüsüne ekler."
+
+ LangString str_section_vim_rc ${LANG_TURKISH} \
+ "Bir yapılandırma dosyası oluştur"
+LangString str_desc_vim_rc ${LANG_TURKISH} \
+ "Eğer yoksa bir yapılandırma dosyası (_vimrc) oluşturur."
+
+LangString str_group_plugin ${LANG_TURKISH} \
+ "Eklenti dizinleri oluştur"
+LangString str_desc_plugin ${LANG_TURKISH} \
+ "Bu dizinlere Vim eklentilerini yerleştirerek Vim'e yeni \
+ özellikler kazandırabilirsiniz."
+
+LangString str_section_plugin_home ${LANG_TURKISH} \
+ "Gizli"
+LangString str_desc_plugin_home ${LANG_TURKISH} \
+ "Eklenti dizinlerini EV dizininde oluşturur."
+
+LangString str_section_plugin_vim ${LANG_TURKISH} \
+ "Paylaşılan"
+LangString str_desc_plugin_vim ${LANG_TURKISH} \
+ "Eklenti dizinlerini Vim yükleme dizininde oluşturur. Bu eklentilerden \
+ bilgisayarın tüm kullanıcıları yararlanabilir."
+
+LangString str_section_nls ${LANG_TURKISH} \
+ "Ek dil desteği"
+LangString str_desc_nls ${LANG_TURKISH} \
+ "Mevcut olan Vim yerelleştirmelerini yükler."
+
+LangString str_unsection_register ${LANG_TURKISH} \
+ "Vim kaydını kaldır"
+LangString str_desc_unregister ${LANG_TURKISH} \
+ "Vim'in bu bilgisayardaki kaydını kaldırır."
+
+LangString str_unsection_exe ${LANG_TURKISH} \
+ "Vim programını ve çalıştırma dosyalarını kaldır"
+LangString str_desc_rm_exe ${LANG_TURKISH} \
+ "Vim çalıştırılabilir dosyalarını ve diğer dosyaları kaldırır."
+
+LangString str_ungroup_plugin ${LANG_TURKISH} \
+ "Eklenti dizinlerini kaldır"
+LangString str_desc_rm_plugin ${LANG_TURKISH} \
+ "Eklenti dizinlerini eğer boş ise kaldırır."
+
+LangString str_unsection_plugin_home ${LANG_TURKISH} \
+ "Gizli"
+LangString str_desc_rm_plugin_home ${LANG_TURKISH} \
+ "Eklenti dizinlerini EV dizininden kaldırır."
+
+LangString str_unsection_plugin_vim ${LANG_TURKISH} \
+ "Paylaşılan"
+LangString str_desc_rm_plugin_vim ${LANG_TURKISH} \
+ "Eklenti dizinlerini Vim yükleme dizininden kaldırır."
+
+LangString str_unsection_rootdir ${LANG_TURKISH} \
+ "Vim kök dizinini kaldır"
+LangString str_desc_rm_rootdir ${LANG_TURKISH} \
+ "Vim kök dizinini kaldırır. Bu dizin Vim yapılandırma dosyalarını içerir!"
+
+ LangString str_msg_install_fail ${LANG_TURKISH} \
+ "Yükleme başarısız oldu. Yeniden deneyin."
+
+LangString str_msg_rm_exe_fail ${LANG_TURKISH} \
+ "$0 içindeki bazı dosyalar silinemedi!$\r$\n\
+ Bu dosyaları el ile kaldırmalısınız."
+
+ LangString str_msg_uninstalling ${LANG_TURKISH} \
+ "Eski sürüm kaldırılıyor..."
+
+LangString str_msg_registering ${LANG_TURKISH} \
+ "Kaydediliyor..."
+
+LangString str_msg_unregistering ${LANG_TURKISH} \
+ "Kayıt siliniyor..."
+
+
+##############################################################################
+# Dialog Box {{{1
+##############################################################################
+
+LangString str_vimrc_page_title ${LANG_TURKISH} \
+ "_vimrc ayarlarını seçin"
+LangString str_vimrc_page_subtitle ${LANG_TURKISH} \
+ "Yüklenecek ek özellikler, klavye ve fare için ayarları seçin."
+
+LangString str_msg_compat_title ${LANG_TURKISH} \
+ " Vi / Vim davranışı "
+LangString str_msg_compat_desc ${LANG_TURKISH} \
+ "&Uyumluluk ve ek özellikler"
+LangString str_msg_compat_vi ${LANG_TURKISH} \
+ "Vi uyumlu"
+LangString str_msg_compat_vim ${LANG_TURKISH} \
+ "Vim orijinal"
+LangString str_msg_compat_defaults ${LANG_TURKISH} \
+ "Vim ve ek olarak bazı ek özellikler (load defaults.vim)"
+LangString str_msg_compat_all ${LANG_TURKISH} \
+ "Vim ve ek olarak tüm ek özellikler (load vimrc_example.vim) (Default)"
+
+LangString str_msg_keymap_title ${LANG_TURKISH} \
+ " Klavye İşlevleri "
+LangString str_msg_keymap_desc ${LANG_TURKISH} \
+ "&Windows için bazı düğmeleri yeniden ayarla (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
+LangString str_msg_keymap_default ${LANG_TURKISH} \
+ "Düğme işlevlerini değiştirme (varsayılan)"
+LangString str_msg_keymap_windows ${LANG_TURKISH} \
+ "Bazı düğmeleri yeniden ayarla"
+
+LangString str_msg_mouse_title ${LANG_TURKISH} \
+ " Fare İşlevleri "
+LangString str_msg_mouse_desc ${LANG_TURKISH} \
+ "&Sağ ve sol düğme davranışı"
+LangString str_msg_mouse_default ${LANG_TURKISH} \
+ "Sağ: açılır menü, Sol: Görsel Kip (varsayılan)"
+LangString str_msg_mouse_windows ${LANG_TURKISH} \
+ "Sağ: açılır menü, Sol: seçim kipi (Windows)"
+LangString str_msg_mouse_unix ${LANG_TURKISH} \
+ "Sağ: seçimi genişlet, Sol: Görsel Kip (Unix)"