diff --git a/Filelist b/Filelist
index f475004..6daf111 100644
--- a/Filelist
+++ b/Filelist
@@ -477,6 +477,7 @@
 		nsis/gvim_version.nsh \
 		nsis/vimrc.ini \
 		nsis/README.txt \
+		nsis/lang/*.nsi \
 		uninstal.txt \
 		src/VisVim/Commands.cpp \
 		src/VisVim/Commands.h \
@@ -517,6 +518,7 @@
 		src/xpm/x86/lib-vc14/libXpm.lib \
 		nsis/icons/*.bmp \
 		nsis/icons/*.ico \
+		nsis/icons/*.svg \
 
 # source files for Amiga, DOS, etc. (also in the extra archive)
 SRC_AMI_DOS =	\
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
index 55bb4ce..12a55bb 100644
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -1,7 +1,9 @@
 # NSIS file to create a self-installing exe for Vim.
-# It requires NSIS version 2.0 or later.
+# 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.
 
@@ -31,171 +33,288 @@
 # Get it at https://upx.github.io/
 !define HAVE_UPX
 
-# comment the next line if you do not want to add Native Language Support
+# Comment the next line if you do not want to add Native Language Support
 !define HAVE_NLS
 
+# Uncomment the next line if you want to include VisVim extension:
+#!define HAVE_VIS_VIM
+
+# Comment the following line to create a multilanguage 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
 
 # ----------- No configurable settings below this line -----------
 
-!include UpgradeDLL.nsh		# for VisVim.dll
-!include LogicLib.nsh
-!include x64.nsh
+!include "Library.nsh"		# For DLL install
+!ifdef HAVE_VIS_VIM
+  !include "UpgradeDLL.nsh"	# for VisVim.dll
+!endif
+!include "LogicLib.nsh"
+!include "MUI2.nsh"
+!include "nsDialogs.nsh"
+!include "Sections.nsh"
+!include "x64.nsh"
 
-Name "Vim ${VER_MAJOR}.${VER_MINOR}"
+!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
-XPStyle on
-
-ComponentText "This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer."
-DirText "Choose a directory to install Vim (should contain 'vim')"
-Icon icons\vim_16c.ico
-# NSIS2 uses a different strategy with six different images in a strip...
-#EnabledBitmap icons\enabled.bmp
-#DisabledBitmap icons\disabled.bmp
-UninstallText "This will uninstall Vim ${VER_MAJOR}.${VER_MINOR} from your system."
-UninstallIcon icons\vim_uninst_16c.ico
-
-# On NSIS 2 using the BGGradient causes trouble on Windows 98, in combination
-# with the BringToFront.
-# BGGradient 004000 008200 FFFFFF
-LicenseText "You should read the following before installing:"
-LicenseData ${VIMRT}\doc\uganda.nsis.txt
 
 !ifdef HAVE_UPX
   !packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
 !endif
 
-# This adds '\vim' to the user choice automagically.  The actual value is
-# obtained below with ReadINIStr.
+!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                 "$0\gvim.exe"
+!define MUI_FINISHPAGE_RUN_TEXT            $(str_show_readme)
+!define MUI_FINISHPAGE_RUN_PARAMETERS      "-R $\"$0\README.txt$\""
+
+# This adds '\Vim' to the user choice automagically.  The actual value is
+# obtained below with CheckOldVim.
+!ifdef WIN64
+InstallDir "$PROGRAMFILES64\Vim"
+!else
 InstallDir "$PROGRAMFILES\Vim"
+!endif
 
 # Types of installs we can perform:
-InstType Typical
-InstType Minimal
-InstType Full
+InstType $(str_type_typical)
+InstType $(str_type_minimal)
+InstType $(str_type_full)
 
 SilentInstall normal
 
-# These are the pages we use
-Page license
-Page components
-Page custom SetCustom ValidateCustom ": _vimrc setting"
-Page directory "" "" CheckInstallDir
-Page instfiles
-UninstPage uninstConfirm
-UninstPage instfiles
+# 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\simpchinese.nsi"
+    !include "lang\tradchinese.nsi"
+!endif
+
+
+# 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
-# Needed for showing the _vimrc setting page faster.
-ReserveFile /plugin InstallOptions.dll
-ReserveFile vimrc.ini
+ReserveFile ${VIMSRC}\installw32.exe
 
 ##########################################################
 # Functions
 
-Function .onInit
-  MessageBox MB_YESNO|MB_ICONQUESTION \
-	"This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer.$\n Continue?" \
-	/SD IDYES \
-	IDYES NoAbort
-	    Abort ; causes installer to quit.
-	NoAbort:
-
-  # run the install program to check for already installed versions
-  SetOutPath $TEMP
-  File /oname=install.exe ${VIMSRC}\installw32.exe
-  ExecWait "$TEMP\install.exe -uninstall-check"
-  Delete $TEMP\install.exe
-
-  # We may have been put to the background when uninstall did something.
-  BringToFront
-
-  # Install will have created a file for us that contains the directory where
-  # we should install.  This is $VIM if it's set.  This appears to be the only
-  # way to get the value of $VIM here!?
-  ReadINIStr $INSTDIR $TEMP\vimini.ini vimini dir
-  Delete $TEMP\vimini.ini
-
-  # If ReadINIStr failed or did not find a path: use the default dir.
-  StrCmp $INSTDIR "" 0 IniOK
-  StrCpy $INSTDIR "$PROGRAMFILES\Vim"
-  IniOK:
-
-  # Should check for the value of $VIM and use it.  Unfortunately I don't know
-  # how to obtain the value of $VIM
-  # IfFileExists "$VIM" 0 No_Vim
-  #   StrCpy $INSTDIR "$VIM"
-  # No_Vim:
-
-  # 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"
-
-  # Extract InstallOptions files
-  # $PLUGINSDIR will automatically be removed when the installer closes
-  InitPluginsDir
-  File /oname=$PLUGINSDIR\vimrc.ini "vimrc.ini"
-FunctionEnd
-
-Function .onUserAbort
-  MessageBox MB_YESNO|MB_ICONQUESTION "Abort install?" IDYES NoCancelAbort
-    Abort ; causes installer to not quit.
-  NoCancelAbort:
-FunctionEnd
-
-# We only accept the directory if it ends in "vim".  Using .onVerifyInstDir has
-# the disadvantage that the browse dialog is difficult to use.
-Function CheckInstallDir
-FunctionEnd
-
-Function .onInstSuccess
-  WriteUninstaller vim${VER_MAJOR}${VER_MINOR}\uninstall-gui.exe
-  MessageBox MB_YESNO|MB_ICONQUESTION \
-	"The installation process has been successful. Happy Vimming! \
-	$\n$\n Do you want to see the README file now?" IDNO NoReadme
-      Exec '$0\gvim.exe -R "$0\README.txt"'
-  NoReadme:
-FunctionEnd
-
-Function .onInstFailed
-  MessageBox MB_OK|MB_ICONEXCLAMATION "Installation failed. Better luck next time."
-FunctionEnd
-
-Function un.onUnInstSuccess
-  MessageBox MB_OK|MB_ICONINFORMATION \
-  "Vim ${VER_MAJOR}.${VER_MINOR} has been (partly) removed from your system"
-FunctionEnd
-
-Function un.GetParent
+# 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
-  loop:
+  ${Do}
     StrCpy $2 $0 1 $1
-    StrCmp $2 "" exit
-    StrCmp $2 "\" exit
+    ${If} $2 == ""
+    ${OrIf} $2 == "\"
+      ${ExitDo}
+    ${EndIf}
     IntOp $1 $1 - 1
-  Goto loop
-  exit:
-    StrCpy $0 $0 $1
-    Pop $2
-    Pop $1
-    Exch $0 ; put $0 on top of stack, restore $0 to original value
+  ${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."
+
+# 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
 
 ##########################################################
-Section "Vim executables and runtime files"
+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
@@ -215,7 +334,7 @@
 	File ${VIMRT}\rgb.txt
 
 	File ${VIMTOOLS}\diff.exe
-	File ${VIMTOOLS}\winpty32.dll
+	File ${VIMTOOLS}\winpty${BIT}.dll
 	File ${VIMTOOLS}\winpty-agent.exe
 
 	SetOutPath $0\colors
@@ -299,120 +418,63 @@
 SectionEnd
 
 ##########################################################
-Section "Vim console program (vim.exe)"
+Section "$(str_section_console)" id_section_console
 	SectionIn 1 3
 
 	SetOutPath $0
-	ReadRegStr $R0 HKLM \
-	   "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
-	IfErrors 0 lbl_winnt
-	    # Windows 95/98/ME: not supported
-	    Goto lbl_done
-	lbl_winnt:
-	    # Windows NT/2000/XP and later
-	    File /oname=vim.exe ${VIMSRC}\vimw32.exe
-	lbl_done:
+	File /oname=vim.exe ${VIMSRC}\vimw32.exe
 	StrCpy $2 "$2 vim view vimdiff"
 SectionEnd
 
 ##########################################################
-Section "Create .bat files for command line use"
+Section "$(str_section_batch)" id_section_batch
 	SectionIn 3
 
 	StrCpy $1 "$1 -create-batfiles $2"
 SectionEnd
 
 ##########################################################
-Section "Create icons on the Desktop"
-	SectionIn 1 3
+SectionGroup $(str_group_icons) id_group_icons
+	Section "$(str_section_desktop)" id_section_desktop
+		SectionIn 1 3
 
-	StrCpy $1 "$1 -install-icons"
-SectionEnd
+		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 "Add Vim to the Start Menu"
+Section "$(str_section_edit_with)" id_section_editwith
 	SectionIn 1 3
 
-	StrCpy $1 "$1 -add-start-menu"
-SectionEnd
-
-##########################################################
-Section "Add an Edit-with-Vim context menu entry"
-	SectionIn 1 3
-
-	# Be aware of this sequence of events:
-	# - user uninstalls Vim, gvimext.dll can't be removed (it's in use) and
-	#   is scheduled to be removed at next reboot.
-	# - user installs Vim in same directory, gvimext.dll still exists.
-	# If we now skip installing gvimext.dll, it will disappear at the next
-	# reboot.  Thus when copying gvimext.dll fails always schedule it to be
-	# installed at the next reboot.  Can't use UpgradeDLL!
-	# We don't ask the user to reboot, the old dll will keep on working.
 	SetOutPath $0
-	ClearErrors
-	SetOverwrite try
 
 	${If} ${RunningX64}
 	  # Install 64-bit gvimext.dll into the GvimExt64 directory.
 	  SetOutPath $0\GvimExt64
 	  ClearErrors
-	  File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
-!ifdef HAVE_NLS
-	  File ${GETTEXT}\gettext64\libintl-8.dll
-	  File ${GETTEXT}\gettext64\libiconv-2.dll
-!endif
-
-	  IfErrors 0 GvimExt64Done
-
-	  # Can't copy gvimext.dll, create it under another name and rename it
-	  # on next reboot.
-	  GetTempFileName $3 $0\GvimExt64
-	  File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
-	  Rename /REBOOTOK $3 $0\GvimExt64\gvimext.dll
-!ifdef HAVE_NLS
-	  GetTempFileName $3 $0\GvimExt64
-	  File /oname=$3 ${GETTEXT}\gettext64\libintl-8.dll
-	  Rename /REBOOTOK $3 $0\GvimExt64\libintl-8.dll
-	  GetTempFileName $3 $0\GvimExt64
-	  File /oname=$3 ${GETTEXT}\gettext64\libiconv-2.dll
-	  Rename /REBOOTOK $3 $0\GvimExt64\libiconv-2.dll
-!endif
+	  !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}
 
-	GvimExt64Done:
-
 	# Install 32-bit gvimext.dll into the GvimExt32 directory.
 	SetOutPath $0\GvimExt32
 	ClearErrors
-
-	File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
-!ifdef HAVE_NLS
-	File ${GETTEXT}\gettext32\libintl-8.dll
-	File ${GETTEXT}\gettext32\libiconv-2.dll
-	File ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
-!endif
-
-	IfErrors 0 GvimExt32Done
-
-	# Can't copy gvimext.dll, create it under another name and rename it on
-	# next reboot.
-	GetTempFileName $3 $0\GvimExt32
-	File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
-	Rename /REBOOTOK $3 $0\GvimExt32\gvimext.dll
-!ifdef HAVE_NLS
-	GetTempFileName $3 $0\GvimExt32
-	File /oname=$3 ${GETTEXT}\gettext32\libintl-8.dll
-	Rename /REBOOTOK $3 $0\GvimExt32\libintl-8.dll
-	GetTempFileName $3 $0\GvimExt32
-	File /oname=$3 ${GETTEXT}\gettext32\libiconv-2.dll
-	Rename /REBOOTOK $3 $0\GvimExt32\libiconv-2.dll
-	GetTempFileName $3 $0\GvimExt32
-	File /oname=$3 ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
-	Rename /REBOOTOK $3 $0\GvimExt32\libgcc_s_sjlj-1.dll
-!endif
-
-	GvimExt32Done:
-	SetOverwrite lastused
+	!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.
@@ -420,130 +482,563 @@
 SectionEnd
 
 ##########################################################
-Section "Create a _vimrc if it doesn't exist" sec_vimrc_id
+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
 
 ##########################################################
-Section "Create plugin directories in HOME or VIM"
-	SectionIn 1 3
+SectionGroup $(str_group_plugin) id_group_plugin
+	Section "$(str_section_plugin_home)" id_section_pluginhome
+		SectionIn 1 3
 
-	StrCpy $1 "$1 -create-directories home"
-SectionEnd
+		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
 
 ##########################################################
-Section "Create plugin directories in VIM"
-	SectionIn 3
-
-	StrCpy $1 "$1 -create-directories vim"
-SectionEnd
-
-##########################################################
-Section "VisVim Extension for MS Visual Studio"
+!ifdef HAVE_VIS_VIM
+Section "$(str_section_vis_vim)" id_section_visvim
 	SectionIn 3
 
 	SetOutPath $0
 	!insertmacro UpgradeDLL "${VIMSRC}\VisVim\VisVim.dll" "$0\VisVim.dll" "$0"
 	File ${VIMSRC}\VisVim\README_VisVim.txt
 SectionEnd
+!endif
 
 ##########################################################
 !ifdef HAVE_NLS
-	Section "Native Language Support"
-		SectionIn 1 3
+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
-		File ${GETTEXT}\gettext32\libintl-8.dll
-		File ${GETTEXT}\gettext32\libiconv-2.dll
-		#File /nonfatal ${VIMRT}\libwinpthread-1.dll
-		File /nonfatal ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
-	SectionEnd
+	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
-	ExecWait "$0\install.exe $1"
+	DetailPrint "$(str_msg_registering)"
+	nsExec::Exec "$0\install.exe $1"
+	Pop $3
 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_VIS_VIM
+	${If} ${SectionIsSelected} ${id_section_visvim}
+	  SectionGetSize ${id_section_visvim} $4
+	  IntOp $3 $3 + $4
+	${EndIf}
+!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_VIS_VIM
+	!insertmacro SaveSectionSelection ${id_section_visvim}     "select_visvim"
+!endif
+!ifdef HAVE_NLS
+	!insertmacro SaveSectionSelection ${id_section_nls}        "select_nls"
+!endif
+	${If} ${RunningX64}
+	  SetRegView lastused
+	${EndIf}
+
 	BringToFront
 SectionEnd
 
 ##########################################################
-Function SetCustom
-	# Display the InstallOptions dialog
+!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
 
-	# Check if a _vimrc should be created
-	SectionGetFlags ${sec_vimrc_id} $3
-	IntOp $3 $3 & 1
-	StrCmp $3 "1" +2 0
-	  Abort
+Function .onInit
+!ifdef HAVE_MULTI_LANG
+  # Select a language (or read from the registry).
+  !insertmacro MUI_LANGDLL_DISPLAY
+!endif
 
-	InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
-	Pop $3
+  # Check $VIM
+  ReadEnvStr $INSTDIR "VIM"
+
+  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 == ""
+      StrCpy $INSTDIR $3
+    ${EndIf}
+  ${EndIf}
+
+  # If did not find a path: use the default dir.
+  ${If} $INSTDIR == ""
+!ifdef WIN64
+    StrCpy $INSTDIR "$PROGRAMFILES64\Vim"
+!else
+    StrCpy $INSTDIR "$PROGRAMFILES\Vim"
+!endif
+  ${EndIf}
+
+# Load the selections from the registry (if any).
+  ${If} ${RunningX64}
+    SetRegView 64
+  ${EndIf}
+  !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_VIS_VIM
+  !insertmacro LoadSectionSelection ${id_section_visvim}     "select_visvim"
+!endif
+!ifdef HAVE_NLS
+  !insertmacro LoadSectionSelection ${id_section_nls}        "select_nls"
+!endif
+  ${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 ValidateCustom
-	ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 2" "State"
-	StrCmp $3 "1" 0 +3
-	  StrCpy $1 "$1 -vimrc-remap no"
-	  Goto behave
+Function .onInstSuccess
+  WriteUninstaller vim${VER_MAJOR}${VER_MINOR}\uninstall-gui.exe
+FunctionEnd
 
-	  StrCpy $1 "$1 -vimrc-remap win"
-
-	behave:
-	ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 5" "State"
-	StrCmp $3 "1" 0 +3
-	  StrCpy $1 "$1 -vimrc-behave unix"
-	  Goto done
-
-	ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 6" "State"
-	StrCmp $3 "1" 0 +3
-	  StrCpy $1 "$1 -vimrc-behave mswin"
-	  Goto done
-
-	  StrCpy $1 "$1 -vimrc-behave default"
-	done:
+Function .onInstFailed
+  MessageBox MB_OK|MB_ICONEXCLAMATION "$(str_msg_install_fail)" /SD IDOK
 FunctionEnd
 
 ##########################################################
-Section Uninstall
+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)
+
+	# Default selection
+	${If} $vim_compat_stat == ""
+	  ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_compat"
+	${Else}
+	  StrCpy $3 $vim_compat_stat
+	${EndIf}
+	${If} $3 == "defaults"
+	  StrCpy $4 2
+	${ElseIf} $3 == "vim"
+	  StrCpy $4 1
+	${ElseIf} $3 == "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)
+
+	# Default selection
+	${If} $vim_keymap_stat == ""
+	  ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_keyremap"
+	${Else}
+	  StrCpy $3 $vim_keymap_stat
+	${EndIf}
+	${If} $3 == "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)
+
+	# Default selection
+	${If} $vim_mouse_stat == ""
+	  ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_mouse"
+	${Else}
+	  StrCpy $3 $vim_mouse_stat
+	${EndIf}
+	${If} $3 == "xterm"
+	  StrCpy $4 2
+	${ElseIf} $3 == "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_VIS_VIM
+    !insertmacro MUI_DESCRIPTION_TEXT ${id_section_visvim}      $(str_desc_vis_vim)
+!endif
+!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"
 
+!ifdef HAVE_VIS_VIM
 	# If VisVim was installed, unregister the DLL.
-	IfFileExists "$0\VisVim.dll" Has_VisVim No_VisVim
-	Has_VisVim:
-	   ExecWait "regsvr32.exe /u /s $0\VisVim.dll"
-
-	No_VisVim:
+	${If} ${FileExists} "$0\VisVim.dll"
+	  ExecWait "regsvr32.exe /u /s $0\VisVim.dll"
+	${EndIf}
+!endif
 
 	# delete the context menu entry and batch files
-	ExecWait "$0\uninstal.exe -nsis"
+	DetailPrint "$(str_msg_unregistering)"
+	nsExec::Exec "$0\uninstal.exe -nsis"
+	Pop $3
 
 	# We may have been put to the background when uninstall did something.
 	BringToFront
 
-	# ask the user if the Vim version dir must be removed
-	MessageBox MB_YESNO|MB_ICONQUESTION \
-	  "Would you like to delete $0?$\n \
-	   $\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
+	# Delete the installer language setting.
+	DeleteRegKey ${MUI_LANGDLL_REGISTRY_ROOT} ${MUI_LANGDLL_REGISTRY_KEY}
+SectionEnd
 
-	Delete /REBOOTOK $0\*.dll
-	Delete /REBOOTOK $0\GvimExt32\*.dll
-	${If} ${RunningX64}
-	  Delete /REBOOTOK $0\GvimExt64\*.dll
+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
@@ -555,12 +1050,15 @@
 	RMDir /r $0\ftplugin
 	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
+!ifdef HAVE_VIS_VIM
 	RMDir /r $0\VisVim
+!endif
 	RMDir /r $0\lang
 	RMDir /r $0\keymap
 	Delete $0\*.exe
@@ -568,46 +1066,78 @@
 	Delete $0\*.vim
 	Delete $0\*.txt
 
-	IfErrors ErrorMess NoErrorMess
-	  ErrorMess:
-	    MessageBox MB_OK|MB_ICONEXCLAMATION \
-	      "Some files in $0 have not been deleted!$\nYou must do it manually."
-	  NoErrorMess:
+	${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
 
-	NoRemoveExes:
+# 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
+		ReadEnvStr $0 "HOME"
+		${If} $0 == ""
+		  ReadEnvStr $0 "HOMEDRIVE"
+		  ReadEnvStr $1 "HOMEPATH"
+		  StrCpy $0 "$0$1"
+		  ${If} $0 == ""
+		    ReadEnvStr $0 "USERPROFILE"
+		  ${EndIf}
+		${EndIf}
+
+		${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
-	StrCpy $1 $0
 
-	# if a plugin dir was created at installation ask the user to remove it
-	# first look in the root of the installation then in HOME
-	IfFileExists $1\vimfiles AskRemove 0
-	    ReadEnvStr $1 "HOME"
-	    StrCmp $1 "" NoRemove 0
-
-	    IfFileExists $1\vimfiles 0 NoRemove
-
-	  AskRemove:
-	    MessageBox MB_YESNO|MB_ICONQUESTION \
-	      "Remove all files in your $1\vimfiles directory?$\n \
-	      $\nCAREFUL: If you have created something there that you want to keep, click No" IDNO Fin
-	    RMDir /r $1\vimfiles
-	  NoRemove:
-
-	# ask the user if the Vim root dir must be removed
-	MessageBox MB_YESNO|MB_ICONQUESTION \
-	  "Would you like to remove $0?$\n \
-	   $\nIt contains your Vim configuration files!" IDNO NoDelete
-	   RMDir /r $0 ; skipped if no
-	NoDelete:
-
-	Fin:
-	Call un.onUnInstSuccess
-
+	Delete $0\_vimrc
+	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/icons/header.bmp b/nsis/icons/header.bmp
new file mode 100644
index 0000000..c2f4269
--- /dev/null
+++ b/nsis/icons/header.bmp
Binary files differ
diff --git a/nsis/icons/header.svg b/nsis/icons/header.svg
new file mode 100644
index 0000000..21e60fb
--- /dev/null
+++ b/nsis/icons/header.svg
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="300"
+   height="114"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="header.svg"
+   inkscape:export-filename="header.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <filter
+       id="filter2840"
+       inkscape:label="Drop shadow"
+       width="1.5"
+       height="1.5"
+       x="-.25"
+       y="-.25">
+      <feGaussianBlur
+         id="feGaussianBlur2842"
+         in="SourceAlpha"
+         stdDeviation="3.000000"
+         result="blur" />
+      <feColorMatrix
+         id="feColorMatrix2844"
+         result="bluralpha"
+         type="matrix"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
+      <feOffset
+         id="feOffset2846"
+         in="bluralpha"
+         dx="-5.000000"
+         dy="5.000000"
+         result="offsetBlur" />
+      <feMerge
+         id="feMerge2848">
+        <feMergeNode
+           id="feMergeNode2850"
+           in="offsetBlur" />
+        <feMergeNode
+           id="feMergeNode2852"
+           in="SourceGraphic" />
+      </feMerge>
+    </filter>
+    <filter
+       id="filter2910"
+       inkscape:label="Drop shadow"
+       width="1.5"
+       height="1.5"
+       x="-.25"
+       y="-.25">
+      <feGaussianBlur
+         id="feGaussianBlur2912"
+         in="SourceAlpha"
+         stdDeviation="2.500000"
+         result="blur" />
+      <feColorMatrix
+         id="feColorMatrix2914"
+         result="bluralpha"
+         type="matrix"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
+      <feOffset
+         id="feOffset2916"
+         in="bluralpha"
+         dx="-3.000000"
+         dy="3.000000"
+         result="offsetBlur" />
+      <feMerge
+         id="feMerge2918">
+        <feMergeNode
+           id="feMergeNode2920"
+           in="offsetBlur" />
+        <feMergeNode
+           id="feMergeNode2922"
+           in="SourceGraphic" />
+      </feMerge>
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.1369427"
+     inkscape:cx="130.27686"
+     inkscape:cy="77.09629"
+     inkscape:document-units="px"
+     inkscape:current-layer="header"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="942"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:snap-global="true"
+     inkscape:showpageshadow="false" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="header"
+     transform="translate(0,-938.36218)">
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+       id="text3026"
+       x="4.0525044"
+       y="-8.7699928">The editor</text>
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-weight:normal;line-height:100%;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;filter:url(#filter2910)"
+       x="178.45901"
+       y="988.47156"
+       id="text3198"
+       sodipodi:linespacing="100%"><tspan
+         sodipodi:role="line"
+         id="tspan3200"
+         x="178.45901"
+         y="988.47156"
+         style="font-size:36px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold">The</tspan><tspan
+         sodipodi:role="line"
+         x="178.45901"
+         y="1024.4716"
+         id="tspan3202"
+         style="font-size:36px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold">editor</tspan></text>
+    <g
+       id="g2916"
+       style="filter:url(#filter2840)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2999"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="M 107.53604,994.85892 57.991535,946.32092 9.4535173,995.84025 57.991535,1044.4034 107.53604,994.85892" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3003"
+         style="fill:#006b05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 102.57907,994.85892 2.96915,0 -47.556685,47.55668 0,-2.9691 44.587535,-44.58758" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3007"
+         style="fill:#007d17;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 11.441335,995.84025 2.969148,0 43.581052,43.60625 0,2.9691 -46.5502,-46.57535" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3011"
+         style="fill:#66ff99;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 57.991535,951.25272 0,-2.94398 -46.5502,47.53151 2.969148,0 43.581052,-44.58753" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3015"
+         style="fill:#45ff02;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 57.991535,948.30873 0,2.94399 44.587535,43.6062 2.96915,0 -47.556685,-46.55019" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3019"
+         style="fill:#009933;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 57.991535,1039.4465 44.587535,-44.58758 -44.587535,-43.6062 -43.581052,44.58753 43.581052,43.60625" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3023"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 67.25125,961.16664 2.969146,2.99431 0,0 -20.482085,20.78405 0,-20.78405 1.987817,0 2.969148,-2.99431 0,-7.90094 -2.969148,-2.99431 -33.012896,0 -2.969149,2.99431 0,7.90094 2.969149,2.99431 2.314928,0 0,67.35935 3.623367,2.9692 10.241043,0 70.98276,-73.32286 0,-7.90094 -2.96915,-2.99431 -32.358674,0 -3.296256,2.99431 0,7.90094" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3027"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 19.694561,962.17314 -1.987821,-1.98782 0,-5.9383 1.987821,-1.98782 31.05024,-0.0252 1.962656,2.01298 -1.962656,0.95617 -1.00649,-0.95617 -30.04375,4.9318 0,2.99432" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3031"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 25.632856,1032.5017 -2.314928,-1.9878 0,-68.36592 2.314928,-1.96266 0,72.31638" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3035"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 75.177364,962.17314 1.987819,-1.98782 0,3.97563 -33.038059,33.66712 3.64853,-7.9261 27.40171,-27.72883" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3039"
+         style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 26.312236,959.20399 -0.67938,0.98133 -2.314928,1.98782 -3.623367,0 0,-3.97563 6.617675,1.00648" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3043"
+         style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 47.775654,962.17314 0,27.72883 -3.64853,7.90094 0,-37.64275 5.611187,0 1.00649,-0.98133 -1.00649,-4.93181 2.969146,0 0,5.9383 -1.962656,1.98782 -2.969147,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3047"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 71.201725,962.17314 -1.962656,-1.98782 0,-5.9383 2.289766,-1.98782 30.068915,0 2.31493,1.98782 -3.32142,2.96915 -29.389535,1.96265 0,2.99432" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3051"
+         style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 103.91268,960.18532 -69.699491,72.31638 -8.580333,0 0,-2.9692 6.290568,0 69.674326,-71.33499 -1.00649,-3.95049 3.32142,0 0,5.9383" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3055"
+         style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 77.819404,959.20399 -0.679382,0.98133 -1.962658,1.98782 -3.975639,0 0,-3.97563 6.617679,1.00648" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3059"
+         style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 44.127124,997.80291 0,-37.64275 5.611187,0 1.00649,-0.98134 0,-3.97563 -1.00649,-0.98133 -29.062421,0 -0.981329,0.98133 0,3.97563 0.981329,0.98134 4.956966,0 0,69.37234 1.283276,0.9814 5.661511,0 69.347217,-72.31639 0,-2.84335 -1.00649,-1.1323 -28.710153,0 -1.006492,0.98133 0,4.0008 1.006492,0.98133 4.956966,0 0,3.97563 -33.038059,33.64196" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3063"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 62.143307,997.85323 2.31493,-1.98781 5.938295,0 1.660709,1.98781 -1.987817,5.93827 -2.289767,1.9879 -5.938295,0 -1.685872,-1.9879 1.987817,-5.93827" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3067"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 64.131127,1030.539 5.963458,-17.8149 -1.987818,0 1.987818,-5.9634 8.882281,0 1.987818,1.9878 1.333602,0 1.962657,-1.9878 6.617676,0 1.98782,1.9878 1.308439,0 1.987818,-1.9878 7.246734,0 2.64204,3.9756 -4.32791,14.0909 1.96265,0 -1.91233,5.7118 -11.901751,0 4.655019,-13.8644 -2.969147,0 -2.742688,8.1023 1.962658,0 -1.862008,5.7621 -11.901753,0 4.629856,-13.8644 -2.969146,0 -2.767852,8.1526 1.987821,0 -1.862008,5.7118 -11.901754,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3071"
+         style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 102.50359,1008.7485 1.53489,2.1891 -4.881475,15.6509 1.962655,0 -0.65422,1.9627 -7.92611,0 4.629858,-13.8644 -6.944788,0 -3.950475,11.9017 1.962657,0 -0.654219,1.9627 -7.926114,0 4.629855,-13.8644 -6.944785,0 -3.950476,11.9017 1.987818,0 -0.67938,1.9627 -7.926116,0 5.963458,-17.8149 -1.987818,0 0.654217,-1.9878 7.271898,0 1.987818,1.9878 1.962657,0 1.987819,-1.9878 5.938295,0 1.987821,1.9878 1.987818,0 1.987821,-1.9878 5.988621,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3075"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 69.088095,1006.7607 -6.064107,18.0413 2.063305,0 -1.962657,5.737 -11.876589,0 5.938295,-17.8149 -1.98782,0 13.889573,-5.9634 z m -13.889573,5.9634 1.98782,-5.9634 11.901753,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3079"
+         style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 61.816199,1028.5512 0.654219,-1.9627 -1.987819,0 5.963458,-17.84 -8.253225,0 -0.67938,1.9878 2.314928,0 -5.938297,17.8149 7.926116,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3083"
+         style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+         d="m 68.408713,1002.8102 1.333602,-3.97563 -0.65422,-0.98134 -3.975639,0 -1.308438,0.98134 -1.333601,3.97563 0.679382,0.9813 3.975639,0 1.283275,-0.9813" />
+    </g>
+  </g>
+</svg>
diff --git a/nsis/icons/un_header.bmp b/nsis/icons/un_header.bmp
new file mode 100644
index 0000000..4b65169
--- /dev/null
+++ b/nsis/icons/un_header.bmp
Binary files differ
diff --git a/nsis/icons/uninstall.bmp b/nsis/icons/uninstall.bmp
new file mode 100644
index 0000000..223d6a4
--- /dev/null
+++ b/nsis/icons/uninstall.bmp
Binary files differ
diff --git a/nsis/icons/welcome.bmp b/nsis/icons/welcome.bmp
new file mode 100644
index 0000000..6ef2a9b
--- /dev/null
+++ b/nsis/icons/welcome.bmp
Binary files differ
diff --git a/nsis/icons/welcome.svg b/nsis/icons/welcome.svg
new file mode 100644
index 0000000..bf99194
--- /dev/null
+++ b/nsis/icons/welcome.svg
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="328"
+   height="628"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="welcome.svg"
+   inkscape:export-filename="welcome.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4">
+    <filter
+       id="filter3356"
+       inkscape:label="Drop shadow"
+       width="1.5"
+       height="1.5"
+       x="-.25"
+       y="-.25">
+      <feGaussianBlur
+         id="feGaussianBlur3358"
+         in="SourceAlpha"
+         stdDeviation="5.000000"
+         result="blur" />
+      <feColorMatrix
+         id="feColorMatrix3360"
+         result="bluralpha"
+         type="matrix"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
+      <feOffset
+         id="feOffset3362"
+         in="bluralpha"
+         dx="-10.000000"
+         dy="10.000000"
+         result="offsetBlur" />
+      <feMerge
+         id="feMerge3364">
+        <feMergeNode
+           id="feMergeNode3366"
+           in="offsetBlur" />
+        <feMergeNode
+           id="feMergeNode3368"
+           in="SourceGraphic" />
+      </feMerge>
+    </filter>
+    <filter
+       id="filter3496"
+       inkscape:label="Drop shadow"
+       width="1.5"
+       height="1.5"
+       x="-.25"
+       y="-.25">
+      <feGaussianBlur
+         id="feGaussianBlur3498"
+         in="SourceAlpha"
+         stdDeviation="3.000000"
+         result="blur" />
+      <feColorMatrix
+         id="feColorMatrix3500"
+         result="bluralpha"
+         type="matrix"
+         values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
+      <feOffset
+         id="feOffset3502"
+         in="bluralpha"
+         dx="-5.000000"
+         dy="5.000000"
+         result="offsetBlur" />
+      <feMerge
+         id="feMerge3504">
+        <feMergeNode
+           id="feMergeNode3506"
+           in="offsetBlur" />
+        <feMergeNode
+           id="feMergeNode3508"
+           in="SourceGraphic" />
+      </feMerge>
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="1"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.0716561"
+     inkscape:cx="122.81449"
+     inkscape:cy="381.22777"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1280"
+     inkscape:window-height="942"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:snap-global="true"
+     inkscape:showpageshadow="false" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-424.36218)">
+    <rect
+       style="fill:#eeffcc;fill-opacity:1;stroke:#007f00;stroke-width:2.0138948;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
+       id="rect3510"
+       width="327.98608"
+       height="635.98608"
+       x="-0.99305254"
+       y="420.36914" />
+    <path
+       sodipodi:type="arc"
+       style="fill:#ffffff;fill-opacity:0;stroke:none"
+       id="path3795"
+       sodipodi:cx="92.889717"
+       sodipodi:cy="94.761551"
+       sodipodi:rx="83.062592"
+       sodipodi:ry="84.466469"
+       d="m 175.95231,94.761551 c 0,46.649539 -37.18839,84.466469 -83.062593,84.466469 -45.874202,0 -83.0625915,-37.81693 -83.0625915,-84.466469 0,-46.649543 37.1883895,-84.466469 83.0625915,-84.466469 45.874203,0 83.062593,37.816926 83.062593,84.466469 z"
+       transform="matrix(0,-2.3099964,-2.3548838,0,387.15244,952.93709)" />
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;filter:url(#filter3496)"
+       id="text3026"><textPath
+         xlink:href="#path3795"
+         startOffset="50%"
+         id="textPath3036"
+         style="font-size:58;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold;">The editor</textPath></text>
+    <g
+       id="g2968"
+       style="filter:url(#filter3356)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path2999"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="M 299.80052,736.9686 162.60646,602.56167 28.199478,739.68603 162.60646,874.16269 299.80052,736.9686" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3003"
+         style="fill:#006b05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 286.07415,736.9686 8.22189,0 -131.68958,131.68962 0,-8.2219 123.46769,-123.46772" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3007"
+         style="fill:#007d17;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 33.703958,739.68603 8.221891,0 120.680611,120.75029 0,8.2219 L 33.703958,739.68603" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3011"
+         style="fill:#66ff99;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 162.60646,616.21837 0,-8.15223 -128.902502,131.61989 8.221891,0 120.680611,-123.46766" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3015"
+         style="fill:#45ff02;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 162.60646,608.06614 0,8.15223 123.46769,120.75023 8.22189,0 -131.68958,-128.90246" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3019"
+         style="fill:#009933;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="M 162.60646,860.43632 286.07415,736.9686 162.60646,616.21837 41.925849,739.68603 162.60646,860.43632" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3023"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 188.24761,643.67106 8.22188,8.29158 0,0 -56.71709,57.55326 0,-57.55326 5.50448,0 8.22189,-8.29158 0,-21.87855 -8.22189,-8.29157 -91.416257,0 -8.221894,8.29157 0,21.87855 8.221894,8.29158 6.410285,0 0,186.52539 10.033492,8.22191 28.358547,0 196.558893,-203.03888 0,-21.87855 -8.22189,-8.29157 -89.60466,0 -9.12768,8.29157 0,21.87855" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3027"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 56.558028,646.45817 -5.504489,-5.50448 0,-16.4438 5.504489,-5.50448 85.981452,-0.0697 5.4348,5.57416 -5.4348,2.64775 -2.78708,-2.64775 -83.194372,13.6567 0,8.29158" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3031"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 73.001805,841.20547 -6.410285,-5.50448 0,-189.3125 6.410285,-5.4348 0,200.25178" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3035"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 210.19587,646.45817 5.50448,-5.50448 0,11.00895 -91.48593,93.22786 10.10317,-21.94822 75.87828,-76.78411" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3039"
+         style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 74.883082,638.23626 -1.881277,2.71743 -6.410285,5.50448 -10.033492,0 0,-11.00895 18.325054,2.78704" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3043"
+         style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 134.31759,646.45817 0,76.78411 -10.10317,21.87855 0,-104.23681 15.53798,0 2.78708,-2.71743 -2.78708,-13.6567 8.22188,0 0,16.4438 -5.4348,5.50448 -8.22189,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3047"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 199.1869,646.45817 -5.43481,-5.50448 0,-16.4438 6.34061,-5.50448 83.26404,0 6.41029,5.50448 -9.19736,8.2219 -81.38277,5.4348 0,8.29158" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3051"
+         style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 289.76703,640.95369 -193.005361,200.25177 -23.759864,0 0,-8.2219 17.419257,0 192.935678,-197.53434 -2.78707,-10.93933 9.19736,0 0,16.4438" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3055"
+         style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 217.51196,638.23626 -1.88128,2.71743 -5.43481,5.50448 -11.00897,0 0,-11.00895 18.32506,2.78704" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3059"
+         style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 124.21442,745.12082 0,-104.23681 15.53798,0 2.78708,-2.71742 0,-11.00895 -2.78708,-2.71743 -80.476968,0 -2.717404,2.71743 0,11.00895 2.717404,2.71742 13.726373,0 0,192.09955 3.553528,2.71743 15.677333,0 192.029884,-200.25177 0,-7.87353 -2.78708,-3.13548 -79.50149,0 -2.78708,2.71743 0,11.07862 2.78708,2.71743 13.72637,0 0,11.00895 -91.48593,93.15818" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3063"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 174.10317,745.26018 6.41029,-5.50448 16.44377,0 4.59868,5.50448 -5.50447,16.4438 -6.34062,5.50448 -16.44377,0 -4.66836,-5.50448 5.50448,-16.4438" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3067"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 179.60765,835.77066 16.51346,-49.33135 -5.50448,0 5.50448,-16.51342 24.59599,0 5.50448,5.50447 3.69289,0 5.43481,-5.50447 18.32505,0 5.50449,5.50447 3.62321,0 5.50448,-5.50447 20.06698,0 7.31609,11.00895 -11.98445,39.01911 5.43481,0 -5.29546,15.81671 -32.95723,0 12.89025,-38.39208 -8.22189,0 -7.59479,22.43602 5.43481,0 -5.1561,15.95606 -32.95724,0 12.82057,-38.39208 -8.22188,0 -7.66448,22.57537 5.50449,0 -5.1561,15.81671 -32.95724,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3071"
+         style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 285.86512,775.43036 4.25029,6.06188 -13.51734,43.3391 5.43481,0 -1.8116,5.43485 -21.94826,0 12.82057,-38.39208 -19.23086,0 -10.93929,32.95723 5.43481,0 -1.81161,5.43485 -21.94826,0 12.82057,-38.39208 -19.23086,0 -10.93929,32.95723 5.50448,0 -1.88127,5.43485 -21.94827,0 16.51346,-49.33135 -5.50449,0 1.8116,-5.50448 20.13667,0 5.50448,5.50448 5.43481,0 5.50448,-5.50448 16.44378,0 5.50449,5.50448 5.50448,0 5.50449,-5.50448 16.58312,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3075"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 193.33403,769.92588 -16.79216,49.95839 5.71351,0 -5.43481,15.88639 -32.88755,0 16.44378,-49.33135 -5.50449,0 38.46172,-16.51343 z m -38.46172,16.51343 5.50449,-16.51343 32.95723,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3079"
+         style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 173.19737,830.26619 1.8116,-5.43485 -5.50448,0 16.51345,-49.40098 -22.85406,0 -1.88128,5.50448 6.41028,0 -16.44378,49.33135 21.94827,0" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3083"
+         style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
+         d="m 191.45275,758.98656 3.69288,-11.00896 -1.8116,-2.71743 -11.00897,0 -3.62321,2.71743 -3.69288,11.00896 1.88128,2.71742 11.00897,0 3.55353,-2.71742" />
+    </g>
+  </g>
+</svg>
diff --git a/nsis/lang/danish.nsi b/nsis/lang/danish.nsi
new file mode 100644
index 0000000..fc3720a
--- /dev/null
+++ b/nsis/lang/danish.nsi
@@ -0,0 +1,175 @@
+# 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 string 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-mappen."
+
+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_vis_vim      ${LANG_DANISH}     "VisVim-udvidelser"
+LangString str_desc_vis_vim         ${LANG_DANISH}     "VisVim-udvidelser til integrering i Microsoft Visual Studio."
+
+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}    "Privat"
+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 (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 til Windows"
+
+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..3ff986d
--- /dev/null
+++ b/nsis/lang/dutch.nsi
@@ -0,0 +1,281 @@
+# 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 string 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_vis_vim      ${LANG_DUTCH} \
+    "VisVim extensie"
+LangString str_desc_vis_vim         ${LANG_DUTCH} \
+    "VisVim extensie voor Microsoft Visual Studio integratie."
+
+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..f8990a5
--- /dev/null
+++ b/nsis/lang/english.nsi
@@ -0,0 +1,280 @@
+# 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 string 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 finish"
+
+# 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_vis_vim      ${LANG_ENGLISH} \
+    "VisVim Extension"
+LangString str_desc_vis_vim         ${LANG_ENGLISH} \
+    "VisVim Extension for Microsoft Visual Studio integration."
+
+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..62b1531
--- /dev/null
+++ b/nsis/lang/german.nsi
@@ -0,0 +1,280 @@
+# 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 string 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_vis_vim      ${LANG_GERMAN} \
+    "VisVim-Erweiterung"
+LangString str_desc_vis_vim         ${LANG_GERMAN} \
+    "VisVim-Erweiterung zur Integration in Microsoft Visual Studio."
+
+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..d816fee
--- /dev/null
+++ b/nsis/lang/italian.nsi
@@ -0,0 +1,290 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
+# italian.nsi : Italian language strings for gvim NSIS installer.
+#
+# Locale ID    : 1040
+# Locale Name  : it
+# fileencoding : latin1
+# Author       : Antonio Colombo
+
+!insertmacro MUI_LANGUAGE "Italian"
+
+
+# Overwrite the default translation.
+# These string 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 d'installazione (il nome deve finire con $\"vim$\")"
+
+LangString str_show_readme          ${LANG_ITALIAN} \
+    "Visualizza README al termine dell'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 versione/i esistente/i"
+LangString str_desc_old_ver         ${LANG_ITALIAN} \
+    "Disinstalla versione/i esistente/i di Vim dal vostro sistema."
+
+LangString str_section_exe          ${LANG_ITALIAN} \
+    "Vim GUI (gvim.exe per Windows)"
+LangString str_desc_exe             ${LANG_ITALIAN} \
+    "Vim GUI programmi e file di supporto.  Questa componente è indispensabile."
+
+LangString str_section_console      ${LANG_ITALIAN} \
+    "Vim console (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 di invocazione (MS-DOS) .bat"
+LangString str_desc_batch           ${LANG_ITALIAN} \
+    "Crea file di invocazione .bat per varianti di Vim nella directory \
+     di Windows, da utilizzare da linea di comando (MS-DOS)."
+
+LangString str_group_icons          ${LANG_ITALIAN} \
+    "Crea icone per Vim"
+LangString str_desc_icons           ${LANG_ITALIAN} \
+    "Crea icone per Vim in vari posti, per rendere facile l'accesso."
+
+LangString str_section_desktop      ${LANG_ITALIAN} \
+    "Sul Desktop"
+LangString str_desc_desktop         ${LANG_ITALIAN} \
+    "Crea icone per programma gvim sul desktop."
+
+LangString str_section_start_menu   ${LANG_ITALIAN} \
+    "Nella cartella del menù START"
+LangString str_desc_start_menu      ${LANG_ITALIAN} \
+    "Aggiungi Vim alle cartelle del menù START.  \
+     Disponibile solo da Windows 95 in avanti."
+
+#LangString str_section_quick_launch ${LANG_ITALIAN} \
+#    "Nella barra di Avvio Veloce"
+#LangString str_desc_quick_launch    ${LANG_ITALIAN} \
+#    "Aggiungi un puntatore 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} \
+    "Aggiungi Vim alla lista contestuale $\"Apri con...$\"."
+
+#LangString str_section_edit_with32  ${LANG_ITALIAN} \
+#    "Versione a 32-bit"
+#LangString str_desc_edit_with32     ${LANG_ITALIAN} \
+#    "Aggiungi Vim alla lista 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} \
+#    "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
+#     per applicazioni a 64-bit."
+
+LangString str_section_vim_rc       ${LANG_ITALIAN} \
+    "Crea Configurazione di default"
+LangString str_desc_vim_rc          ${LANG_ITALIAN} \
+    "Crea file configurazione di default (_vimrc) se non ne \
+     esiste già uno."
+
+LangString str_group_plugin         ${LANG_ITALIAN} \
+    "Crea Directory per Plugin"
+LangString str_desc_plugin          ${LANG_ITALIAN} \
+    "Crea Directory per Plugin.  Servono per aggiungere funzionalità \
+     a Vim aggiungendo file a una di queste directory."
+
+LangString str_section_plugin_home  ${LANG_ITALIAN} \
+    "Privato"
+LangString str_desc_plugin_home     ${LANG_ITALIAN} \
+    "Create plugin directories in HOME directory."
+
+LangString str_section_plugin_vim   ${LANG_ITALIAN} \
+    "Condiviso"
+LangString str_desc_plugin_vim      ${LANG_ITALIAN} \
+    "Crea Directory Plugin nella directory di installazione di Vim \
+     per uso da parte di tutti gli utenti di questo sistema."
+
+LangString str_section_vis_vim      ${LANG_ITALIAN} \
+    "Estensione VisVim"
+LangString str_desc_vis_vim         ${LANG_ITALIAN} \
+    "Estensione VisVim per integrazione con Microsoft Visual Studio."
+
+LangString str_section_nls          ${LANG_ITALIAN} \
+    "Supporto Multilingue (NLS)"
+LangString str_desc_nls             ${LANG_ITALIAN} \
+    "Installa file per supportare messaggi in diverse lingue."
+
+LangString str_unsection_register   ${LANG_ITALIAN} \
+    "Togli Vim dal Registry"
+LangString str_desc_unregister      ${LANG_ITALIAN} \
+    "Togli Vim dal Registry di configurazione sistema."
+
+LangString str_unsection_exe        ${LANG_ITALIAN} \
+    "Cancella programmi/file_ausiliari Vim"
+LangString str_desc_rm_exe          ${LANG_ITALIAN} \
+    "Cancella tutti i programmi/file_ausiliari di Vim."
+
+LangString str_unsection_rc         ${LANG_ITALIAN} \
+    "Cancella file di configurazione di Vim"
+LangString str_desc_rm_rc           ${LANG_ITALIAN} \
+    "Cancella file di configurazione di Vim $vim_install_root\_vimrc. \
+     Da saltare se avete personalizzato il file di configurazione."
+
+LangString str_ungroup_plugin       ${LANG_ITALIAN} \
+    "Remove plugin directories"
+LangString str_desc_rm_plugin       ${LANG_ITALIAN} \
+    "Remove the plugin directories if they are empty."
+
+LangString str_unsection_plugin_home ${LANG_ITALIAN} \
+    "Privato"
+LangString str_desc_rm_plugin_home  ${LANG_ITALIAN} \
+    "Remove the plugin directories from HOME directory."
+
+LangString str_unsection_plugin_vim ${LANG_ITALIAN} \
+    "Condiviso"
+LangString str_desc_rm_plugin_vim   ${LANG_ITALIAN} \
+    "Remove the plugin directories from Vim install directory."
+
+LangString str_unsection_rootdir    ${LANG_ITALIAN} \
+    "Remove the Vim root directory"
+LangString str_desc_rm_rootdir      ${LANG_ITALIAN} \
+    "Remove the Vim root directory. It contains your Vim configuration files!"
+
+
+##############################################################################
+# Messages                                                                {{{1
+##############################################################################
+
+#LangString str_msg_too_many_ver  ${LANG_ITALIAN} \
+#    "Trovate $vim_old_ver_count versioni di Vim sul vostro sistema.$\r$\n\
+#     Questo programma di installazione può gestirne solo \
+#     ${VIM_MAX_OLD_VER}.$\r$\n\
+#     Disinstallate qualche versione precedente e ricominciate."
+
+#LangString str_msg_invalid_root  ${LANG_ITALIAN} \
+#    "Nome di directory di installazione non valida: $vim_install_root!$\r$\n\
+#     Dovrebbe terminare con $\"vim$\"."
+
+#LangString str_msg_bin_mismatch  ${LANG_ITALIAN} \
+#    "Incongruenza di installazione!$\r$\n$\r$\n\
+#     Cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
+#     ma il sistema segnala invece $\"$INSTDIR$\"."
+
+#LangString str_msg_vim_running   ${LANG_ITALIAN} \
+#    "Vim ancora in esecuzione sul vostro sistema.$\r$\n\
+#     Chiudete tutte le sessioni attive di Vim per continuare."
+
+#LangString str_msg_register_ole  ${LANG_ITALIAN} \
+#    "Tentativo di registrazione di Vim con OLE. \
+#     Non ci sono messaggi che indicano se ha funzionato o no."
+
+#LangString str_msg_unreg_ole     ${LANG_ITALIAN} \
+#    "Tentativo di togliere da Registry  Vim con OLE. \
+#     Non ci sono messaggi che indicano se ha funzionato o no."
+
+#LangString str_msg_rm_start      ${LANG_ITALIAN} \
+#    "Disinstallazione delle seguenti versioni:"
+
+#LangString str_msg_rm_fail       ${LANG_ITALIAN} \
+#    "Disinstallazione non riuscita per la seguente versione:"
+
+#LangString str_msg_no_rm_key     ${LANG_ITALIAN} \
+#    "Non riesco a trovare chiave di disinstallazione nel Registry."
+
+#LangString str_msg_no_rm_reg     ${LANG_ITALIAN} \
+#    "Non riesco a trovare programma disinstallazione nel Registry."
+
+#LangString str_msg_no_rm_exe     ${LANG_ITALIAN} \
+#    "Non riesco a utilizzare programma disinstallazione."
+
+#LangString str_msg_rm_copy_fail  ${LANG_ITALIAN} \
+#    "Non riesco a copiare programma disinstallazione a una \
+#     directory temporanea."
+
+#LangString str_msg_rm_run_fail   ${LANG_ITALIAN} \
+#    "Non riesco a eseguire programma disinstallazione."
+
+#LangString str_msg_abort_install ${LANG_ITALIAN} \
+#    "Il programma di disinstallazione verrà chiuso senza aver fatto nulla."
+
+LangString str_msg_install_fail  ${LANG_ITALIAN} \
+    "Installazione non riuscita. Miglior fortuna alla prossima!"
+
+LangString str_msg_rm_exe_fail   ${LANG_ITALIAN} \
+    "Alcuni file in $0 non sono stati cancellati!$\r$\n\
+     Dovreste cancellarli voi stessi."
+
+#LangString str_msg_rm_root_fail  ${LANG_ITALIAN} \
+#    "AVVISO: Non posso cancellare $\"$vim_install_root$\", non è vuota!"
+
+LangString str_msg_uninstalling  ${LANG_ITALIAN} \
+    "Uninstalling the old version..."
+
+LangString str_msg_registering   ${LANG_ITALIAN} \
+    "Registering..."
+
+LangString str_msg_unregistering ${LANG_ITALIAN} \
+    "Unregistering..."
+
+
+##############################################################################
+# Dialog Box                                                              {{{1
+##############################################################################
+
+LangString str_vimrc_page_title    ${LANG_ITALIAN} \
+    "Choose _vimrc settings"
+LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
+    "Choose the settings for enhancement, keyboard and mouse."
+
+LangString str_msg_compat_title    ${LANG_ITALIAN} \
+    " Vi / Vim behavior "
+LangString str_msg_compat_desc     ${LANG_ITALIAN} \
+    "&Compatibility and enhancements"
+LangString str_msg_compat_vi       ${LANG_ITALIAN} \
+    "Vi compatible"
+LangString str_msg_compat_vim      ${LANG_ITALIAN} \
+    "Vim original"
+LangString str_msg_compat_defaults ${LANG_ITALIAN} \
+    "Vim with some enhancements (load defaults.vim)"
+LangString str_msg_compat_all      ${LANG_ITALIAN} \
+    "Vim with all enhancements (load vimrc_example.vim) (Default)"
+
+LangString str_msg_keymap_title   ${LANG_ITALIAN} \
+    " Mappings "
+LangString str_msg_keymap_desc    ${LANG_ITALIAN} \
+    "&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
+LangString str_msg_keymap_default ${LANG_ITALIAN} \
+    "Do not remap keys (Default)"
+LangString str_msg_keymap_windows ${LANG_ITALIAN} \
+    "Remap a few keys"
+
+LangString str_msg_mouse_title   ${LANG_ITALIAN} \
+    " Mouse "
+LangString str_msg_mouse_desc    ${LANG_ITALIAN} \
+    "&Behavior of right and left buttons"
+LangString str_msg_mouse_default ${LANG_ITALIAN} \
+    "Right: popup menu, Left: visual mode (Default)"
+LangString str_msg_mouse_windows ${LANG_ITALIAN} \
+    "Right: popup menu, Left: select mode (Windows)"
+LangString str_msg_mouse_unix    ${LANG_ITALIAN} \
+    "Right: extends selection, Left: visual mode (Unix)"
diff --git a/nsis/lang/japanese.nsi b/nsis/lang/japanese.nsi
new file mode 100644
index 0000000..8d167f9
--- /dev/null
+++ b/nsis/lang/japanese.nsi
@@ -0,0 +1,287 @@
+# 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 string 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_vis_vim      ${LANG_JAPANESE} \
+    "VisVim 拡張"
+LangString str_desc_vis_vim         ${LANG_JAPANESE} \
+    "Microsoft Visual Studio 統合用の VisVim 拡張。"
+
+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/simpchinese.nsi b/nsis/lang/simpchinese.nsi
new file mode 100644
index 0000000..c93bfc2
--- /dev/null
+++ b/nsis/lang/simpchinese.nsi
@@ -0,0 +1,277 @@
+# 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
+
+!insertmacro MUI_LANGUAGE "SimpChinese"
+
+
+# Overwrite the default translation.
+# These string 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} \
+    "创建 Vim 图标"
+LangString str_desc_icons           ${LANG_SIMPCHINESE} \
+    "为 Vim 创建若干图标，以方便使用 Vim。"
+
+LangString str_section_desktop      ${LANG_SIMPCHINESE} \
+    "在桌面上"
+LangString str_desc_desktop         ${LANG_SIMPCHINESE} \
+    "在桌面上为 Vim 创建若干图标，以方便启动 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} \
+    "Create plugin directories in HOME directory."
+
+LangString str_section_plugin_vim   ${LANG_SIMPCHINESE} \
+    "公共插件目录"
+LangString str_desc_plugin_vim      ${LANG_SIMPCHINESE} \
+    "在 Vim 安装目录下创建(空的)插件目录结构，系统上所有用户都能使用安装在\
+     该目录下的扩展插件。"
+
+LangString str_section_vis_vim      ${LANG_SIMPCHINESE} \
+    "安装 VisVim 插件"
+LangString str_desc_vis_vim         ${LANG_SIMPCHINESE} \
+    "安装用于与微软 Microsoft Visual Studio 进行集成的 VisVim 插件。"
+
+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} \
+    "Remove plugin directories"
+LangString str_desc_rm_plugin       ${LANG_SIMPCHINESE} \
+    "Remove the plugin directories if they are empty."
+
+LangString str_unsection_plugin_home ${LANG_SIMPCHINESE} \
+    "私有插件目录"
+LangString str_desc_rm_plugin_home  ${LANG_SIMPCHINESE} \
+    "Remove the plugin directories from HOME directory."
+
+LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
+    "公共插件目录"
+LangString str_desc_rm_plugin_vim   ${LANG_SIMPCHINESE} \
+    "Remove the plugin directories from Vim install directory."
+
+LangString str_unsection_rootdir    ${LANG_SIMPCHINESE} \
+    "Remove the Vim root directory"
+LangString str_desc_rm_rootdir      ${LANG_SIMPCHINESE} \
+    "Remove the Vim root directory. It contains your Vim configuration files!"
+
+
+##############################################################################
+# 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} \
+    "Uninstalling the old version..."
+
+LangString str_msg_registering   ${LANG_SIMPCHINESE} \
+    "Registering..."
+
+LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
+    "Unregistering..."
+
+
+##############################################################################
+# Dialog Box                                                              {{{1
+##############################################################################
+
+LangString str_vimrc_page_title    ${LANG_SIMPCHINESE} \
+    "Choose _vimrc settings"
+LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
+    "Choose the settings for enhancement, keyboard and mouse."
+
+LangString str_msg_compat_title    ${LANG_SIMPCHINESE} \
+    " Vi / Vim behavior "
+LangString str_msg_compat_desc     ${LANG_SIMPCHINESE} \
+    "&Compatibility and enhancements"
+LangString str_msg_compat_vi       ${LANG_SIMPCHINESE} \
+    "Vi compatible"
+LangString str_msg_compat_vim      ${LANG_SIMPCHINESE} \
+    "Vim original"
+LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
+    "Vim with some enhancements (load defaults.vim)"
+LangString str_msg_compat_all      ${LANG_SIMPCHINESE} \
+    "Vim with all enhancements (load vimrc_example.vim) (Default)"
+
+LangString str_msg_keymap_title   ${LANG_SIMPCHINESE} \
+    " Mappings "
+LangString str_msg_keymap_desc    ${LANG_SIMPCHINESE} \
+    "&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
+LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
+    "Do not remap keys (Default)"
+LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
+    "Remap a few keys"
+
+LangString str_msg_mouse_title   ${LANG_SIMPCHINESE} \
+    " Mouse "
+LangString str_msg_mouse_desc    ${LANG_SIMPCHINESE} \
+    "&Behavior of right and left buttons"
+LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
+    "Right: popup menu, Left: visual mode (Default)"
+LangString str_msg_mouse_windows ${LANG_SIMPCHINESE} \
+    "Right: popup menu, Left: select mode (Windows)"
+LangString str_msg_mouse_unix    ${LANG_SIMPCHINESE} \
+    "Right: extends selection, Left: visual mode (Unix)"
diff --git a/nsis/lang/tradchinese.nsi b/nsis/lang/tradchinese.nsi
new file mode 100644
index 0000000..504830a
--- /dev/null
+++ b/nsis/lang/tradchinese.nsi
@@ -0,0 +1,278 @@
+# 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 string 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_vis_vim      ${LANG_TRADCHINESE} \
+    "安裝 VisVim 插件"
+LangString str_desc_vis_vim         ${LANG_TRADCHINESE} \
+    "VisVim 是用于與微軟 Microsoft Visual Studio 軟體進行整合的插件。"
+
+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/src/dosinst.c b/src/dosinst.c
index 9ecb0f4..5c290a8 100644
--- a/src/dosinst.c
+++ b/src/dosinst.c
@@ -444,12 +444,56 @@
 
     title[0] = 0;
     GetWindowText(hwnd, title, 256);
-    if (strstr(title, "Vim ") != NULL && strstr(title, "Uninstall:") != NULL)
+    if (strstr(title, "Vim ") != NULL && strstr(title, " Uninstall") != NULL)
 	++num_windows;
     return TRUE;
 }
 
 /*
+ * Run the uninstaller silently.
+ */
+    static int
+run_silent_uninstall(char *uninst_exe)
+{
+    char    vimrt_dir[BUFSIZE];
+    char    temp_uninst[BUFSIZE];
+    char    temp_dir[MAX_PATH];
+    char    buf[BUFSIZE * 2 + 10];
+    int	    i;
+    DWORD   tick;
+
+    strcpy(vimrt_dir, uninst_exe);
+    remove_tail(vimrt_dir);
+
+    if (!GetTempPath(sizeof(temp_dir), temp_dir))
+	return FAIL;
+
+    /* Copy the uninstaller to a temporary exe. */
+    tick = GetTickCount();
+    for (i = 0; ; i++)
+    {
+	sprintf(temp_uninst, "%s\\vimun%04X.exe", temp_dir,
+							(i + tick) & 0xFFFF);
+	if (CopyFile(uninst_exe, temp_uninst, TRUE))
+	    break;
+	if (GetLastError() != ERROR_FILE_EXISTS)
+	    return FAIL;
+	if (i == 65535)
+	    return FAIL;
+    }
+
+    /* Run the copied uninstaller silently. */
+    if (strchr(temp_uninst, ' ') != NULL)
+	sprintf(buf, "\"%s\" /S _?=%s", temp_uninst, vimrt_dir);
+    else
+	sprintf(buf, "%s /S _?=%s", temp_uninst, vimrt_dir);
+    run_command(buf);
+
+    DeleteFile(temp_uninst);
+    return OK;
+}
+
+/*
  * Check for already installed Vims.
  * Return non-zero when found one.
  */
@@ -469,6 +513,7 @@
     DWORD	value_type;
     DWORD	orig_num_keys;
     DWORD	new_num_keys;
+    DWORD	allow_silent;
     int		foundone = 0;
 
     code = RegOpenKeyEx(HKEY_LOCAL_MACHINE, uninstall_key, 0,
@@ -495,6 +540,16 @@
 	    local_bufsize = BUFSIZE;
 	    CHECK_REG_ERROR(code);
 
+	    allow_silent = 0;
+	    if (skip_question)
+	    {
+		DWORD varsize = sizeof(DWORD);
+
+		RegQueryValueEx(uninstall_key_handle, "AllowSilent", 0,
+			&value_type, (LPBYTE)&allow_silent,
+			&varsize);
+	    }
+
 	    foundone = 1;
 	    printf("\n*********************************************************\n");
 	    printf("Vim Install found what looks like an existing Vim version.\n");
@@ -549,45 +604,54 @@
 			/* Find existing .bat files before deleting them. */
 			find_bat_exe(TRUE);
 
-			/* Execute the uninstall program.  Put it in double
-			 * quotes if there is an embedded space. */
+			if (allow_silent)
 			{
-			    char buf[BUFSIZE];
-
-			    if (strchr(temp_string_buffer, ' ') != NULL)
-				sprintf(buf, "\"%s\"", temp_string_buffer);
-			    else
-				strcpy(buf, temp_string_buffer);
-			    run_command(buf);
+			    if (run_silent_uninstall(temp_string_buffer)
+								    == FAIL)
+				allow_silent = 0; /* Retry with non silent. */
 			}
-
-			/* Count the number of windows with a title that match
-			 * the installer, so that we can check when it's done.
-			 * The uninstaller copies itself, executes the copy
-			 * and exits, thus we can't wait for the process to
-			 * finish. */
-			sleep(1);  /* wait for uninstaller to start up */
-			num_windows = 0;
-			EnumWindows(window_cb, 0);
-			if (num_windows == 0)
+			if (!allow_silent)
 			{
-			    /* Did not find the uninstaller, ask user to press
-			     * Enter when done. Just in case. */
-			    printf("Press Enter when the uninstaller is finished\n");
-			    rewind(stdin);
-			    (void)getchar();
-			}
-			else
-			{
-			    printf("Waiting for the uninstaller to finish (press CTRL-C to abort).");
-			    do
+			    /* Execute the uninstall program.  Put it in double
+			     * quotes if there is an embedded space. */
 			    {
-				printf(".");
-				fflush(stdout);
-				sleep(1);  /* wait for the uninstaller to finish */
-				num_windows = 0;
-				EnumWindows(window_cb, 0);
-			    } while (num_windows > 0);
+				char buf[BUFSIZE];
+
+				if (strchr(temp_string_buffer, ' ') != NULL)
+				    sprintf(buf, "\"%s\"", temp_string_buffer);
+				else
+				    strcpy(buf, temp_string_buffer);
+				run_command(buf);
+			    }
+
+			    /* Count the number of windows with a title that match
+			     * the installer, so that we can check when it's done.
+			     * The uninstaller copies itself, executes the copy
+			     * and exits, thus we can't wait for the process to
+			     * finish. */
+			    sleep(1);  /* wait for uninstaller to start up */
+			    num_windows = 0;
+			    EnumWindows(window_cb, 0);
+			    if (num_windows == 0)
+			    {
+				/* Did not find the uninstaller, ask user to press
+				 * Enter when done. Just in case. */
+				printf("Press Enter when the uninstaller is finished\n");
+				rewind(stdin);
+				(void)getchar();
+			    }
+			    else
+			    {
+				printf("Waiting for the uninstaller to finish (press CTRL-C to abort).");
+				do
+				{
+				    printf(".");
+				    fflush(stdout);
+				    sleep(1);  /* wait for the uninstaller to finish */
+				    num_windows = 0;
+				    EnumWindows(window_cb, 0);
+				} while (num_windows > 0);
+			    }
 			}
 			printf("\nDone!\n");
 
@@ -1609,7 +1673,11 @@
     }
 
     printf("Creating an uninstall entry\n");
-    sprintf(display_name, "Vim " VIM_VERSION_SHORT);
+    sprintf(display_name, "Vim " VIM_VERSION_SHORT
+#ifdef _WIN64
+	    " (x64)"
+#endif
+	    );
 
     /* For the NSIS installer use the generated uninstaller. */
     if (interactive)
diff --git a/src/version.c b/src/version.c
index daeabf5..aadd161 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    616,
+/**/
     615,
 /**/
     614,
