summaryrefslogtreecommitdiffstats
path: root/nsis
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--nsis/README.txt71
-rw-r--r--nsis/gvim.nsi221
-rw-r--r--nsis/lang/README.txt34
-rw-r--r--nsis/lang/danish.nsi15
-rw-r--r--nsis/lang/dutch.nsi14
-rw-r--r--nsis/lang/english.nsi13
-rw-r--r--nsis/lang/german.nsi15
-rw-r--r--nsis/lang/greek.nsi15
-rw-r--r--nsis/lang/italian.nsi15
-rw-r--r--nsis/lang/japanese.nsi15
-rw-r--r--nsis/lang/russian.nsi14
-rw-r--r--nsis/lang/serbian.nsi15
-rw-r--r--nsis/lang/simpchinese.nsi16
-rw-r--r--nsis/lang/tradchinese.nsi16
-rw-r--r--nsis/lang/turkish.nsi21
15 files changed, 433 insertions, 77 deletions
diff --git a/nsis/README.txt b/nsis/README.txt
index a47201c..79c1952 100644
--- a/nsis/README.txt
+++ b/nsis/README.txt
@@ -1,7 +1,7 @@
-This builds a one-click install for Vim for Win32 using the Nullsoft
+This builds a one-click install for Vim for MS Windows using the Nullsoft
Installation System (NSIS), available at http://nsis.sourceforge.net/
-To build the installable .exe:
+To build the installable .exe file:
1. Unpack three archives:
PC sources
@@ -16,10 +16,9 @@ To build the installable .exe:
install.exe,
uninstall.exe,
tee/tee.exe,
- xxd/xxd.exe,
+ xxd/xxd.exe
- Then execute tools/rename.bat to rename the executables. (mv command is
- required.)
+ Then execute tools/rename.bat to rename the executables.
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
archive). Both 64- and 32-bit versions are needed and should be placed
@@ -28,14 +27,22 @@ To build the installable .exe:
32-bit: src/GvimExt/gvimext.dll
4. Get a "diff.exe" program. If you skip this the built-in diff will always
- be used (which is fine for most users). If you do have your own
- "diff.exe" put it in the "../.." directory (above the "vim91" directory,
- it's the same for all Vim versions).
+ be used (which is fine for most users).
You can find one in previous Vim versions or in this archive:
- http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
-
-5. Also put "winpty32.dll" and "winpty-agent.exe" in "../.." (above the "vim91"
- directory). This is required for the terminal window.
+ https://www.mediafire.com/file/9edk4g3xvfgzby0/diff4Vim.zip/file
+ When will you have "diff.exe" put it in the "../.." directory (above the
+ "vim91" directory, it's the same for all Vim versions). However, you can
+ specify another directory by passing /DVIMTOOLS=<dir> option to the
+ "makensis.exe" program via the command line.
+
+5. For the terminal window to work in Vim, the library winpty is required.
+ You can get it at the following url:
+ https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
+ For the 32-bit version, rename "winpty.dll" from ia32/bin to "winpty32.dll",
+ and for the 64-bit version — "winpty.dll" from x64/bin to "winpty64.dll".
+ Put the renamed file and "winpty-agent.exe" in "../.." (above the "vim91"
+ directory). However, you can specify another directory by passing
+ /DVIMTOOLS=<dir> option to the "makensis.exe" program via the command line.
6. To use stronger encryption, add the Sodium library. You can get it here:
https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip
@@ -43,10 +50,12 @@ To build the installable .exe:
path/to/libsodium/Win32/Release/v143/dynamic for the 32‐bit version or
path/to/libsodium/X64/Release/v143/dynamic for the 64‐bit version in the
"../.." directory (above the "vim91" directory, where "diff.exe" and
- "winpty32.dll").
+ "winpty{32|64}.dll").
-7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
- to do this on Unix. Make sure the file is in DOS file format!
+7. On MS Windows do "nmake.exe -f Make_mvc.mak uganda.nsis.txt" in runtime/doc.
+ On Unix-like system do "make runtime/doc/uganda.nsis.txt" in top directory
+ or "make uganda.nsis.txt" in runtime/doc. The created files
+ "uganda.nsis.???" will be automatically converted to DOS file format.
8. Get gettext and iconv DLLs from the following site:
https://github.com/mlocati/gettext-iconv-windows/releases
@@ -61,25 +70,39 @@ To build the installable .exe:
| libiconv-2.dll
| libgcc_s_sjlj-1.dll
|
- ` gettext64/
+ + gettext64/
libintl-8.dll
libiconv-2.dll
- The default <GETTEXT directory> is "..", however, you can change it by
- passing /DGETTEXT=... option to the makensis command.
+ The default <GETTEXT directory> is "..", however, you can specify another
+ directory by passing /DGETTEXT=<dir> option to "makensis.exe" program via
+ the command line.
Install NSIS if you didn't do that already.
-Also install UPX, if you want a compressed file.
-Download and include the ShellExecAsUser.dll Unicode version which can be
-sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
+Download Unicode version the ShellExecAsUser plug-in for NSIS from:
+ https://nsis.sourceforge.io/ShellExecAsUser_plug-in
+and put ShellExecAsUser.dll to path\to\NSIS\Plugins\x86-unicode
Unpack the images:
cd nsis
- unzip icons.zip
+ unzip icons.zip or 7z x icons.zip (on Unix-like or MS Windows)
+ WinRar.exe x icons.zip (on MS Windows)
Then build gvim.exe:
-
cd nsis
- makensis gvim.nsi
+ makensis.exe [options] gvim.nsi
+
+Options (not mandatory):
+ /DVIMSRC=<dir> — directory where location of gvim_ole.exe, vimw32.exe,
+ GvimExt/*, etc.
+ /DVIMRT=<dir> — directory where location of runtime files
+ /DVIMTOOLS=<dir> — directory where location of extra tools: diff.exe,
+ winpty{32|64}.dll, winpty-agent.exe, libsodium.dll
+ /DGETTEXT=<dir> — directory where location of gettext libraries
+ /DHAVE_UPX=1 — additional compression of the installer. UPX program
+ must be installed.
+ /DHAVE_NLS=0 — do not add native language support
+ /DHAVE_MULTI_LANG=0 — to create an English-only the installer
+ /DWIN64=1 — to create a 64-bit the installer
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
index ec65361..31f6260 100644
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -1,6 +1,6 @@
# NSIS file to create a self-installing exe for Vim.
# It requires NSIS version 3.0 or later.
-# Last Change: 2024 Mar 17
+# Last Change: 2024 Mar 20
Unicode true
@@ -17,7 +17,7 @@ Unicode true
!define VIMRT ".."
!endif
-# Location of extra tools: diff.exe
+# Location of extra tools: diff.exe, winpty{32|64}.dll, winpty-agent.exe, etc.
!ifndef VIMTOOLS
!define VIMTOOLS ..\..
!endif
@@ -29,29 +29,40 @@ Unicode true
!define GETTEXT ${VIMRT}
!endif
-# Comment the next line if you don't have UPX.
-# Get it at https://upx.github.io/
-!define HAVE_UPX
+# If you have UPX, use the switch /DHAVE_UPX=1 on the command line makensis.exe.
+# This property will be set to 1. Get it at https://upx.github.io/
+!ifndef HAVE_UPX
+ !define HAVE_UPX 0
+!endif
-# Comment the next line if you do not want to add Native Language Support
-!define HAVE_NLS
+# If you do not want to add Native Language Support, use the switch /DHAVE_NLS=0
+# in the command line makensis.exe. This property will be set to 0.
+!ifndef HAVE_NLS
+ !define HAVE_NLS 1
+!endif
-# Comment the following line to create an English-only installer:
-!define HAVE_MULTI_LANG
+# To create an English-only the installer, use the switch /DHAVE_MULTI_LANG=0 on
+# the command line makensis.exe. This property will be set to 0.
+!ifndef HAVE_MULTI_LANG
+ !define HAVE_MULTI_LANG 1
+!endif
-# Uncomment the next line if you want to create a 64-bit installer.
-#!define WIN64
+# if you want to create a 64-bit the installer, use the switch /DWIN64=1 on
+# the command line makensis.exe. This property will be set to 1.
+!ifndef WIN64
+ !define WIN64 0
+!endif
!include gvim_version.nsh # for version number
-# Definition of Patch for Vim
+# Definition of Patch for Vim.
!ifndef PATCHLEVEL
!define PATCHLEVEL 0
!endif
# ----------- No configurable settings below this line -----------
-!include "Library.nsh" # For DLL install
+!include "Library.nsh" # for DLL install
!include "LogicLib.nsh"
!include "MUI2.nsh"
!include "nsDialogs.nsh"
@@ -93,7 +104,7 @@ Unicode true
!define UNINST_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall"
!define UNINST_REG_KEY_VIM "${UNINST_REG_KEY}\${PRODUCT}"
-!ifdef WIN64
+!if ${WIN64}
Name "${PRODUCT} (x64)"
!else
Name "${PRODUCT}"
@@ -106,11 +117,11 @@ ManifestDPIAware true
SetDatablockOptimize on
RequestExecutionLevel highest
-!ifdef HAVE_UPX
+!if ${HAVE_UPX}
!packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
!endif
-!ifdef WIN64
+!if ${WIN64}
!define BIT 64
!else
!define BIT 32
@@ -127,6 +138,8 @@ RequestExecutionLevel highest
# Show all languages, despite user's codepage:
!define MUI_LANGDLL_ALLLANGUAGES
+# Always show dialog choice language
+#!define MUI_LANGDLL_ALWAYSSHOW
!define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
!define MUI_LANGDLL_REGISTRY_KEY "Software\Vim"
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
@@ -144,13 +157,13 @@ RequestExecutionLevel highest
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_LICENSEPAGE_CHECKBOX
-!define MUI_FINISHPAGE_RUN
-!define MUI_FINISHPAGE_RUN_FUNCTION LaunchApplication
-!define MUI_FINISHPAGE_RUN_TEXT $(str_show_readme)
+!define MUI_FINISHPAGE_SHOWREADME
+!define MUI_FINISHPAGE_SHOWREADME_TEXT $(str_show_readme)
+!define MUI_FINISHPAGE_SHOWREADME_FUNCTION LaunchApplication
# This adds '\Vim' to the user choice automagically. The actual value is
# obtained below with CheckOldVim.
-!ifdef WIN64
+!if ${WIN64}
!define DEFAULT_INSTDIR "$PROGRAMFILES64\Vim"
!else
!define DEFAULT_INSTDIR "$PROGRAMFILES\Vim"
@@ -170,7 +183,7 @@ SilentInstall normal
# Installer pages
!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "${VIMRT}\doc\uganda.nsis.txt"
+!insertmacro MUI_PAGE_LICENSE $(page_lic_file)
!insertmacro MUI_PAGE_COMPONENTS
Page custom SetCustom ValidateCustom
#!define MUI_PAGE_CUSTOMFUNCTION_LEAVE VimFinalCheck
@@ -194,7 +207,7 @@ Page custom SetCustom ValidateCustom
!include "lang\english.nsi"
# Include support for other languages:
-!ifdef HAVE_MULTI_LANG
+!if ${HAVE_MULTI_LANG}
!include "lang\danish.nsi"
!include "lang\dutch.nsi"
!include "lang\german.nsi"
@@ -212,7 +225,7 @@ Page custom SetCustom ValidateCustom
# Version resources
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
-VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
+VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "The Vim Project"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"
@@ -352,7 +365,7 @@ FunctionEnd
Function LaunchApplication
SetOutPath $0
- ShellExecAsUser::ShellExecAsUser "" "$0\gvim.exe" '-R "$0\README.txt"'
+ ShellExecAsUser::ShellExecAsUser "" "$0\gvim.exe" '-R "$0\$(vim_readme_file)"'
FunctionEnd
##########################################################
@@ -598,10 +611,114 @@ SectionGroup $(str_group_plugin) id_group_plugin
SectionGroupEnd
##########################################################
-!ifdef HAVE_NLS
+!if ${HAVE_NLS}
Section "$(str_section_nls)" id_section_nls
SectionIn 1 3
+#; FIXME: When adding new translations, do not forget to make changes here.
+ SetOutPath $0
+!if /FileExists ..\README.dax.txt
+ ${If} $Language = ${LANG_DANISH}
+ File ..\README.dax.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.nlx.txt
+ ${If} $Language = ${LANG_DUTCH}
+ File ..\README.nlx.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.dex.txt
+ ${If} $Language = ${LANG_GERMAN}
+ File ..\README.dex.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.itx.txt
+ ${If} $Language = ${LANG_ITALIAN}
+ File ..\README.itx.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.jax.txt
+ ${If} $Language = ${LANG_JAPANESE}
+ File ..\README.jax.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.rux.txt
+ ${If} $Language = ${LANG_RUSSIAN}
+ File ..\README.rux.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.srx.txt
+ ${If} $Language = ${LANG_SERBIAN}
+ File ..\README.srx.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.cnx.txt
+ ${If} $Language = ${LANG_SIMPCHINESE}
+ File ..\README.cnx.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.twx.txt
+ ${If} $Language = ${LANG_TRADCHINESE}
+ File ..\README.twx.txt
+ ${EndIf}
+!endif
+!if /FileExists ..\README.trx.txt
+ ${OrIf} $Language = ${LANG_TURKISH}
+ File ..\README.trx.txt
+ ${EndIf}
+!endif
+#; FIXME: When adding new translations, do not forget to make changes here.
+ SetOutPath $0\doc
+!if /FileExists "${VIMRT}\doc\uganda.dax"
+ ${If} $Language = ${LANG_DANISH}
+ File ${VIMRT}\doc\uganda.dax
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.nlx"
+ ${If} $Language = ${LANG_DUTCH}
+ File ${VIMRT}\doc\uganda.nlx
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.dex"
+ ${If} $Language = ${LANG_GERMAN}
+ File ${VIMRT}\doc\uganda.dex
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.itx"
+ ${If} $Language = ${LANG_ITALIAN}
+ File ${VIMRT}\doc\uganda.itx
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.jax"
+ ${If} $Language = ${LANG_JAPANESE}
+ File ${VIMRT}\doc\uganda.jax
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.rux"
+ ${If} $Language = ${LANG_RUSSIAN}
+ File ${VIMRT}\doc\uganda.rux
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.srx"
+ ${If} $Language = ${LANG_SERBIAN}
+ File ${VIMRT}\doc\uganda.srx
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.cnx"
+ ${If} $Language = ${LANG_SIMPCHINESE}
+ File ${VIMRT}\doc\uganda.cnx
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.twx"
+ ${If} $Language = ${LANG_TRADCHINESE}
+ File ${VIMRT}\doc\uganda.twx
+ ${EndIf}
+!endif
+!if /FileExists "${VIMRT}\doc\uganda.trx"
+ ${If} $Language = ${LANG_TURKISH}
+ File ${VIMRT}\doc\uganda.trx
+ ${EndIf}
+!endif
SetOutPath $0\lang
File /r /x Makefile ${VIMRT}\lang\*.*
SetOutPath $0
@@ -611,12 +728,12 @@ Section "$(str_section_nls)" id_section_nls
!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
+# Install libgcc_s_sjlj-1.dll only if it is needed.
+# !if /FileExists "${GETTEXT}\gettext${BIT}\libgcc_s_sjlj-1.dll"
+# !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}
@@ -642,12 +759,12 @@ Section "$(str_section_nls)" id_section_nls
!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
+# Install libgcc_s_sjlj-1.dll only if it is needed.
+# !if /FileExists "${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll"
+# !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
@@ -688,7 +805,7 @@ Section -post
SectionGetSize ${id_section_editwith} $4
IntOp $3 $3 + $4
${EndIf}
-!ifdef HAVE_NLS
+!if ${HAVE_NLS}
${If} ${SectionIsSelected} ${id_section_nls}
SectionGetSize ${id_section_nls} $4
IntOp $3 $3 + $4
@@ -718,7 +835,7 @@ Section -post
!insertmacro SaveSectionSelection ${id_section_vimrc} "select_vimrc"
!insertmacro SaveSectionSelection ${id_section_pluginhome} "select_pluginhome"
!insertmacro SaveSectionSelection ${id_section_pluginvim} "select_pluginvim"
-!ifdef HAVE_NLS
+!if ${HAVE_NLS}
!insertmacro SaveSectionSelection ${id_section_nls} "select_nls"
!endif
${If} ${RunningX64}
@@ -751,7 +868,7 @@ SectionEnd
!macroend
Function .onInit
-!ifdef HAVE_MULTI_LANG
+!if ${HAVE_MULTI_LANG}
# Select a language (or read from the registry).
!insertmacro MUI_LANGDLL_DISPLAY
!endif
@@ -789,7 +906,7 @@ Function .onInit
!insertmacro LoadSectionSelection ${id_section_vimrc} "select_vimrc"
!insertmacro LoadSectionSelection ${id_section_pluginhome} "select_pluginhome"
!insertmacro LoadSectionSelection ${id_section_pluginvim} "select_pluginvim"
-!ifdef HAVE_NLS
+!if ${HAVE_NLS}
!insertmacro LoadSectionSelection ${id_section_nls} "select_nls"
!endif
# Load the default _vimrc settings from the registry (if any).
@@ -847,12 +964,12 @@ Function SetCustom
# 1st group - Compatibility
- ${NSD_CreateGroupBox} 0 0 100% 32% $(str_msg_compat_title)
+ ${NSD_CreateGroupBox} 0u 0u 296u 44u $(str_msg_compat_title)
Pop $3
- ${NSD_CreateLabel} 5% 10% 35% 8% $(str_msg_compat_desc)
+ ${NSD_CreateLabel} 16u 14u 269u 10u $(str_msg_compat_desc)
Pop $3
- ${NSD_CreateDropList} 18% 19% 75% 8% ""
+ ${NSD_CreateDropList} 42u 26u 237u 13u ""
Pop $vim_nsd_compat
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_vi)
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_vim)
@@ -872,12 +989,12 @@ Function SetCustom
# 2nd group - Key remapping
- ${NSD_CreateGroupBox} 0 35% 100% 31% $(str_msg_keymap_title)
+ ${NSD_CreateGroupBox} 0u 48u 296u 44u $(str_msg_keymap_title)
Pop $3
- ${NSD_CreateLabel} 5% 45% 90% 8% $(str_msg_keymap_desc)
+ ${NSD_CreateLabel} 16u 62u 269u 10u $(str_msg_keymap_desc)
Pop $3
- ${NSD_CreateDropList} 38% 54% 55% 8% ""
+ ${NSD_CreateDropList} 42u 74u 236u 13u ""
Pop $vim_nsd_keymap
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_default)
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_windows)
@@ -891,12 +1008,12 @@ Function SetCustom
# 3rd group - Mouse behavior
- ${NSD_CreateGroupBox} 0 69% 100% 31% $(str_msg_mouse_title)
+ ${NSD_CreateGroupBox} 0u 95u 296u 44u $(str_msg_mouse_title)
Pop $3
- ${NSD_CreateLabel} 5% 79% 90% 8% $(str_msg_mouse_desc)
+ ${NSD_CreateLabel} 16u 108u 269u 10u $(str_msg_mouse_desc)
Pop $3
- ${NSD_CreateDropList} 23% 87% 70% 8% ""
+ ${NSD_CreateDropList} 42u 121u 237u 13u ""
Pop $vim_nsd_mouse
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_default)
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_windows)
@@ -963,7 +1080,7 @@ FunctionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${id_group_plugin} $(str_desc_plugin)
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginhome} $(str_desc_plugin_home)
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_pluginvim} $(str_desc_plugin_vim)
-!ifdef HAVE_NLS
+!if ${HAVE_NLS}
!insertmacro MUI_DESCRIPTION_TEXT ${id_section_nls} $(str_desc_nls)
!endif
!insertmacro MUI_FUNCTION_DESCRIPTION_END
@@ -973,7 +1090,7 @@ FunctionEnd
# Uninstaller Functions and Sections
Function un.onInit
-!ifdef HAVE_MULTI_LANG
+!if ${HAVE_MULTI_LANG}
# Get the language from the registry.
!insertmacro MUI_UNGETLANGUAGE
!endif
diff --git a/nsis/lang/README.txt b/nsis/lang/README.txt
new file mode 100644
index 0000000..68ff112
--- /dev/null
+++ b/nsis/lang/README.txt
@@ -0,0 +1,34 @@
+This directory contains a file with text strings for gVim installer.
+It also contains files with translations of the text strings for gVim installer
+into different languages.
+
+For translators.
+
+If you want to prepare a translation for the gVim installer, use the file
+"english.nsi" as a master file. See the other translation files in this
+directory.
+Note that in the definition of the MUI_LANGUAGE macro, the name of the language
+to be translated must be the English name of the language.
+The name of the file with the translation must match the name of the target
+language.
+Also, when translating strings, pay attention to some restrictions on the
+allowable length of strings. For example:
+ component description field - 117 characters;
+ description above the drop-down lists on the .vimrc page - 53 characters;
+ drop-down lists on the .vimrc page - 55 characters.
+Characters in this case mean characters of the English alphabet.
+
+If you do not yet have a translated "uganda.txt" file and a main "README.txt"
+file, set the following values:
+
+for the license file
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+
+for the readme.txt file
+LangString vim_readme_file 0 "README.txt"
+
+Once you have the translations of these files, then set the values for these
+variables similarly to what is done in the other translation files.
+Also add the appropriate entries to the "gvim.nsi" file as done for other
+languages.
+
diff --git a/nsis/lang/danish.nsi b/nsis/lang/danish.nsi
index b365413..ceb18be 100644
--- a/nsis/lang/danish.nsi
+++ b/nsis/lang/danish.nsi
@@ -3,6 +3,7 @@
# danish.nsi: Danish language strings for gvim NSIS installer.
#
# Locale ID : 1030
+# Locale Name : da
# fileencoding : UTF-8
# Author : scootergrisen
@@ -15,6 +16,20 @@ LangString ^SetupCaption ${LANG_DANISH} "$(^Name) Setup"
LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_DANISH} "${VIMRT}\doc\uganda.nsis.dax"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_DANISH} "README.dax.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/dutch.nsi b/nsis/lang/dutch.nsi
index 1d13224..49b1ed0 100644
--- a/nsis/lang/dutch.nsi
+++ b/nsis/lang/dutch.nsi
@@ -18,6 +18,20 @@ LangString ^UninstallCaption ${LANG_DUTCH} \
"$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_DUTCH} "${VIMRT}\doc\uganda.nsis.nlx"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_DUTCH} "README.nlx.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/english.nsi b/nsis/lang/english.nsi
index e1be985..6f69f58 100644
--- a/nsis/lang/english.nsi
+++ b/nsis/lang/english.nsi
@@ -3,6 +3,7 @@
# english.nsi: English language strings for gvim NSIS installer.
#
# Locale ID : 1033
+# Locale Name : en
# fileencoding : UTF-8
# Author : Guopeng Wen, Ken Takata
@@ -17,6 +18,18 @@ LangString ^UninstallCaption ${LANG_ENGLISH} \
"$(^Name) Uninstall"
##############################################################################
+# License file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file ${LANG_ENGLISH} "${VIMRT}\doc\uganda.nsis.txt"
+
+##############################################################################
+# README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file ${LANG_ENGLISH} "README.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/german.nsi b/nsis/lang/german.nsi
index b976ef4..21cf80e 100644
--- a/nsis/lang/german.nsi
+++ b/nsis/lang/german.nsi
@@ -3,6 +3,7 @@
# german.nsi : German language strings for gvim NSIS installer.
#
# Locale ID : 1031
+# Locale Name : de
# fileencoding : UTF-8
# Author : Christian Brabandt, tux
@@ -17,6 +18,20 @@ LangString ^UninstallCaption ${LANG_GERMAN} \
"$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_GERMAN} "${VIMRT}\doc\uganda.nsis.dex"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_GERMAN} "README.dex.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/greek.nsi b/nsis/lang/greek.nsi
index 5175dd5..b92d3f3 100644
--- a/nsis/lang/greek.nsi
+++ b/nsis/lang/greek.nsi
@@ -3,6 +3,7 @@
# greek.nsi: Greek language strings for gvim NSIS installer.
#
# Locale ID : 1032
+# Locale Name : el
# fileencoding : UTF-8
# Author : Christos Longros
@@ -17,6 +18,20 @@ LangString ^UninstallCaption ${LANG_GREEK} \
"$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_GREEK} "${VIMRT}\doc\uganda.nsis.elx"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_GREEK} "README.elx.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/italian.nsi b/nsis/lang/italian.nsi
index 029737f..5f32680 100644
--- a/nsis/lang/italian.nsi
+++ b/nsis/lang/italian.nsi
@@ -3,6 +3,7 @@
# italian.nsi : Italian language strings for gvim NSIS installer.
#
# Locale ID : 1040
+# Locale Name : it
# fileencoding : UTF-8
# Author : Antonio Colombo, bovirus - revision: 12.05.2023
@@ -17,6 +18,20 @@ LangString ^UninstallCaption ${LANG_ITALIAN} \
"$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_ITALIAN} "${VIMRT}\doc\uganda.nsis.itx"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_ITALIAN} "README.itx.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/japanese.nsi b/nsis/lang/japanese.nsi
index 58f4dcc..d290355 100644
--- a/nsis/lang/japanese.nsi
+++ b/nsis/lang/japanese.nsi
@@ -3,6 +3,7 @@
# japanese.nsi: Japanese language strings for gvim NSIS installer.
#
# Locale ID : 1041
+# Locale Name : ja
# fileencoding : UTF-8
# Author : Ken Takata
@@ -27,6 +28,20 @@ LangString ^InstallBtn ${LANG_JAPANESE} \
"インストール(&I)"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_JAPANESE} "${VIMRT}\doc\uganda.nsis.jax"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_JAPANESE} "README.jax.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/russian.nsi b/nsis/lang/russian.nsi
index e4b01e3..876bef2 100644
--- a/nsis/lang/russian.nsi
+++ b/nsis/lang/russian.nsi
@@ -3,7 +3,7 @@
# russian.nsi: Russian language strings for gvim NSIS installer.
#
# Locale ID : 1049
-# Locale name : ru-RU
+# Locale name : ru
# fileencoding : UTF-8
# Author : Restorer
@@ -18,6 +18,18 @@ LangString ^UninstallCaption ${LANG_RUSSIAN} \
"$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file ${LANG_RUSSIAN} "${VIMRT}\doc\uganda.nsis.rux"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file ${LANG_RUSSIAN} "README.rux.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/serbian.nsi b/nsis/lang/serbian.nsi
index 11d889a..122727d 100644
--- a/nsis/lang/serbian.nsi
+++ b/nsis/lang/serbian.nsi
@@ -3,6 +3,7 @@
# serbian.nsi: Serbian language strings for gvim NSIS installer.
#
# Locale ID : 3098
+# Locale Name : sr
# fileencoding : UTF-8
# Author : Ivan Pešić
@@ -17,6 +18,20 @@ LangString ^UninstallCaption ${LANG_SERBIAN} \
"$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_SERBIAN} "${VIMRT}\doc\uganda.nsis.srx"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_SERBIAN} "README.srx.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/simpchinese.nsi b/nsis/lang/simpchinese.nsi
index 2c80054..8d2d073 100644
--- a/nsis/lang/simpchinese.nsi
+++ b/nsis/lang/simpchinese.nsi
@@ -4,6 +4,7 @@
# installer.
#
# Locale ID : 2052
+# Locale Name : cn
# fileencoding : UTF-8
# Author : Guopeng Wen, David Liu
@@ -18,6 +19,21 @@ LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
"$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_SIMPCHINESE} \
+# "${VIMRT}\doc\uganda.nsis.cnx"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_SIMPCHINESE} "README.cnx.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/tradchinese.nsi b/nsis/lang/tradchinese.nsi
index 16b6747..66bb1b8 100644
--- a/nsis/lang/tradchinese.nsi
+++ b/nsis/lang/tradchinese.nsi
@@ -4,6 +4,7 @@
# installer.
#
# Locale ID : 1028
+# Locale Name : tw
# fileencoding : UTF-8
# Author : Guopeng Wen
@@ -18,6 +19,21 @@ LangString ^UninstallCaption ${LANG_TRADCHINESE} \
"$(^Name) Uninstall"
##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_TRADCHINESE} \
+# "${VIMRT}\doc\uganda.nsis.twx"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_TRADCHINESE} "README.twx.txt"
+
+##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
diff --git a/nsis/lang/turkish.nsi b/nsis/lang/turkish.nsi
index 1046b81..429cbb3 100644
--- a/nsis/lang/turkish.nsi
+++ b/nsis/lang/turkish.nsi
@@ -1,4 +1,9 @@
+# vi:set ts=8 sts=4 sw=4 et fdm=marker:
+#
# turkish.nsi: Turkish language strings for gvim NSIS installer.
+#
+# Locale ID : 1055
+# Locale Name : tr
# fileencoding : UTF-8
# Author : Emir SARI
@@ -11,6 +16,22 @@ LangString ^SetupCaption ${LANG_TURKISH} \
LangString ^UninstallCaption ${LANG_TURKISH} \
"$(^Name) Uninstall"
+##############################################################################
+# Translated license file for the license page {{{1
+##############################################################################
+
+LicenseLangString page_lic_file 0 "${VIMRT}\doc\uganda.nsis.txt"
+#LicenseLangString page_lic_file ${LANG_TURKISH} "${VIMRT}\doc\uganda.nsis.trx"
+
+##############################################################################
+# Translated README.txt file, which is opened after installation {{{1
+##############################################################################
+
+LangString vim_readme_file 0 "README.txt"
+#LangString vim_readme_file ${LANG_TURKISH} "README.trx.txt"
+
+##############################################################################
+
LangString str_show_readme ${LANG_TURKISH} \
"Kurulum bittikten sonra README dosyasını aç"