mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-08 08:39:59 +00:00
Allow NSIS installer localization
This commit is contained in:
@@ -41,3 +41,21 @@ Missing/outdated strings:
|
||||
* `optionsUserAgentWhitelistRestrictedEnabled`
|
||||
* `optionsUserAgentWhitelistRestrictedEnabledDescription`
|
||||
* `optionsOptionRecommended`
|
||||
|
||||
|
||||
### NSIS Installer Localization
|
||||
|
||||
If you're comfortable editing and compiling NSIS installer scripts, use the following guide, otherwise just provide translated strings in an issue or PR comment.
|
||||
|
||||
To localize Windows installer strings, first add the relevant `MUI_LANGUAGE` macro to the end of the existing list (list of language names can be found [here](https://sourceforge.net/p/nsis/code/HEAD/tree/NSIS/trunk/Contrib/Language%20files/)):
|
||||
````nsi
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
````
|
||||
Then, provide each version of the existing `LangString` commands with that language grouped under the existing strings:
|
||||
````nsi
|
||||
LangString MSG__EXAMPLE_STRING1 ${LANG_GERMAN} "Hallo"
|
||||
LangString MSG__EXAMPLE_STRING2 ${LANG_GERMAN} "Welt"
|
||||
````
|
||||
|
||||
Try to keep the line length under 80 characters by splitting lines within the string with a backslash at the end of the line and a double indent on the next line. To escape characters (like other double quotes), prepend with a `$\`.
|
||||
|
||||
|
||||
@@ -1,8 +1,18 @@
|
||||
Unicode True
|
||||
SetCompressor /SOLID LZMA
|
||||
|
||||
# Registry keys
|
||||
!define KEY_MANIFEST "Software\Mozilla\NativeMessagingHosts\{{applicationName}}"
|
||||
!define KEY_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\{{winRegistryKey}}"
|
||||
|
||||
|
||||
!include MUI2.nsh
|
||||
|
||||
# Save installer language for uninstallation
|
||||
!define MUI_LANGDLL_REGISTRY_ROOT HKLM
|
||||
!define MUI_LANGDLL_REGISTRY_KEY "${KEY_MANIFEST}"
|
||||
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
|
||||
|
||||
# MUI general
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
@@ -17,12 +27,18 @@ SetCompressor /SOLID LZMA
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
!insertmacro MUI_UNPAGE_FINISH
|
||||
|
||||
|
||||
# Translator note: see CONTRIBUTING for more info on how to
|
||||
# translate NSIS installer strings.
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
|
||||
# Registry keys
|
||||
!define KEY_MANIFEST "Software\Mozilla\NativeMessagingHosts\{{applicationName}}"
|
||||
!define KEY_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\{{winRegistryKey}}"
|
||||
LangString MSG__INSTALL_BONJOUR ${LANG_ENGLISH} \
|
||||
"Install Bonjour dependency?"
|
||||
LangString MSG__FIREFOX_OPEN ${LANG_ENGLISH} \
|
||||
"Firefox must be closed during uninstallation if the extension \
|
||||
is installed. Close Firefox and click $\"Retry$\", click \
|
||||
$\"Ignore$\" to force close or $\"Abort$\" to cancel \
|
||||
uninstallation."
|
||||
|
||||
|
||||
# Application name
|
||||
@@ -52,12 +68,12 @@ Section
|
||||
|
||||
# Install Bonjour
|
||||
IfFileExists "$SYSDIR\dnssd.dll" skipInstallBonjour
|
||||
MessageBox MB_YESNO \
|
||||
"Install Bonjour dependency?" \
|
||||
IDNO skipInstallBonjour
|
||||
MessageBox MB_YESNO \
|
||||
$(MSG__INSTALL_BONJOUR) \
|
||||
IDNO skipInstallBonjour
|
||||
|
||||
File /oname=Bonjour64.msi "C:\Program Files\Bonjour SDK\Installer\Bonjour64.msi"
|
||||
ExecWait "msiexec /i $\"$INSTDIR\Bonjour64.msi$\""
|
||||
File /oname=Bonjour64.msi "C:\Program Files\Bonjour SDK\Installer\Bonjour64.msi"
|
||||
ExecWait "msiexec /i $\"$INSTDIR\Bonjour64.msi$\""
|
||||
|
||||
skipInstallBonjour:
|
||||
Delete "$INSTDIR\Bonjour64.msi"
|
||||
@@ -85,10 +101,7 @@ Section "uninstall"
|
||||
FindWindow $0 "MozillaWindowClass"
|
||||
StrCmp $0 0 continueUninstall
|
||||
MessageBox MB_ABORTRETRYIGNORE|MB_ICONEXCLAMATION \
|
||||
"Firefox must be closed during uninstallation if the extension \
|
||||
is installed. Close Firefox and click $\"Retry$\", click \
|
||||
$\"Ignore$\" to force close or $\"Abort$\" to cancel \
|
||||
uninstallation." \
|
||||
$(MSG__FIREFOX_OPEN) \
|
||||
IDABORT abortUninstall \
|
||||
IDRETRY retryUninstall
|
||||
|
||||
|
||||
Reference in New Issue
Block a user