Skip to content

Commit

Permalink
Windows Installer: Translate 'Battle for Wesnoth' and shortcuts
Browse files Browse the repository at this point in the history
The title is now localized, as are the start menu shortcuts. As localized
titles can be longer than the English string, a third line was explicitly
added to the welcome page (else NSIS cuts the line in half).

The manual shortcut points to the translated manual version, if available.

Due to lack of Unicode support in NSIS 2, only translations matching the
codepage are displayed correctly.

The desktop.ini file isn't removed during uninstallation as it may contain
info on other programs, e.g. if the player chose to place the shortcuts in
'Games'.
  • Loading branch information
aquileia committed Aug 8, 2015
1 parent 46af40e commit 12066d8
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 7 deletions.
21 changes: 18 additions & 3 deletions packaging/windows/Wesnoth.nsi.in
Expand Up @@ -17,7 +17,7 @@
;General

;Name and file
Name "Battle for Wesnoth"
Name $(LWesnoth)
OutFile "wesnoth-%version-win32.exe"

;--------------------------------
Expand All @@ -40,6 +40,8 @@

!define MUI_WELCOMEFINISHPAGE_BITMAP packaging\windows\WindowsInstallerGraphic.bmp
!define MUI_ABORTWARNING
!define MUI_WELCOMEPAGE_TITLE_3LINES
!define MUI_FINISHPAGE_TITLE_3LINES

;--------------------------------
;Language Selection Dialog Settings
Expand Down Expand Up @@ -136,12 +138,25 @@ Section "Battle for Wesnoth" BfWSection
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Battle for Wesnoth (with console).lnk" "$INSTDIR\cwesnoth.cmd" $UserdataFlags "$INSTDIR\wesnoth_editor-icon.ico"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Map editor.lnk" "$INSTDIR\wesnoth.exe" "-e $UserdataFlags" "$INSTDIR\wesnoth_editor-icon.ico"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Multiplayer server.lnk" "$INSTDIR\wesnothd.exe"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Manual.lnk" "$INSTDIR\manual\manual.en.html"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Manual.lnk" "$INSTDIR\manual\manual.$(LCode).html"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Changelog.lnk" "$INSTDIR\changelog.txt"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Player's changelog.lnk" "$INSTDIR\players_changelog.txt"
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\License.lnk" "$INSTDIR\COPYING.txt"


; Add translations to desktop.ini
StrCpy $0 "$SMPROGRAMS\$StartMenuFolder\desktop.ini"
${If} $StartMenuFolder == "Battle for Wesnoth %version"
WriteIniStr $0 ".ShellClassInfo" "LocalizedResourceName" "$(LWesnoth) %version"
${EndIf}
WriteIniStr $0 "LocalizedFileNames" "Battle for Wesnoth.lnk" "$(LWesnoth)"
WriteIniStr $0 "LocalizedFileNames" "Battle for Wesnoth (with console).lnk" "$(LWesnoth) (with console)"
WriteIniStr $0 "LocalizedFileNames" "Manual.lnk" "$(LManual)"
WriteIniStr $0 "LocalizedFileNames" "Map editor.lnk" "$(LEditor)"

SetFileAttributes "$SMPROGRAMS\$StartMenuFolder" SYSTEM
SetFileAttributes $0 HIDDEN|SYSTEM

!insertmacro MUI_STARTMENU_WRITE_END

SectionEnd
Expand Down
78 changes: 74 additions & 4 deletions packaging/windows/translations.nsh
@@ -1,7 +1,11 @@
; Languages without translated licence
; Use standard values for MUILicence, LCode, LEditor, LManual, LWesnoth
!macro STD_LANGUAGE Lg
!insertmacro MUI_LANGUAGE "${Lg}"
LicenseLangString MUILicense ${LANG_${Lg}} "COPYING"
LangString LCode ${LANG_${Lg}} "en"
LangString LEditor ${LANG_${Lg}} "Map Editor"
LangString LManual ${LANG_${Lg}} "Manual"
LangString LWesnoth ${LANG_${Lg}} "Battle for Wesnoth"
!macroend

; first language is the default language
Expand All @@ -19,13 +23,11 @@
!insertmacro STD_LANGUAGE "Dutch"
!insertmacro STD_LANGUAGE "Estonian"
!insertmacro STD_LANGUAGE "Farsi"
!insertmacro STD_LANGUAGE "Finnish"
!insertmacro STD_LANGUAGE "Greek"
!insertmacro STD_LANGUAGE "Hebrew"
!insertmacro STD_LANGUAGE "Icelandic"
!insertmacro STD_LANGUAGE "Indonesian"
!insertmacro STD_LANGUAGE "Irish"
!insertmacro STD_LANGUAGE "Japanese"
!insertmacro STD_LANGUAGE "Korean"
!insertmacro STD_LANGUAGE "Kurdish"
!insertmacro STD_LANGUAGE "Latvian"
Expand All @@ -41,7 +43,6 @@
!insertmacro STD_LANGUAGE "SerbianLatin"
!insertmacro STD_LANGUAGE "Slovak"
!insertmacro STD_LANGUAGE "Slovenian"
!insertmacro STD_LANGUAGE "Spanish"
!insertmacro STD_LANGUAGE "SpanishInternational"
!insertmacro STD_LANGUAGE "Swedish"
!insertmacro STD_LANGUAGE "Thai"
Expand All @@ -52,36 +53,105 @@
; Translations
!insertmacro MUI_LANGUAGE "Czech"
LicenseLangString MUILicense ${LANG_CZECH} "packaging\windows\gpl-3.cs.txt"
LangString LCode ${LANG_CZECH} "cs"
LangString LEditor ${LANG_CZECH} "Editor map"
LangString LManual ${LANG_CZECH} "Manuál uživatele"
LangString LWesnoth ${LANG_CZECH} "Bitva o Wesnoth"

!insertmacro MUI_LANGUAGE "Finnish"
LicenseLangString MUILicense ${LANG_FINNISH} "COPYING"
LangString LCode ${LANG_FINNISH} "fi"
LangString LEditor ${LANG_FINNISH} "Kenttäeditori"
LangString LManual ${LANG_FINNISH} "käyttäjän opas"
LangString LWesnoth ${LANG_FINNISH} "Taistelu Wesnothista"

!insertmacro MUI_LANGUAGE "French"
LicenseLangString MUILicense ${LANG_FRENCH} "packaging\windows\gpl-3.fr.txt"
LangString LCode ${LANG_FRENCH} "fr"
LangString LEditor ${LANG_FRENCH} "Éditeur de cartes"
LangString LManual ${LANG_FRENCH} "Manuel utilisateur"
LangString LWesnoth ${LANG_FRENCH} "La Bataille pour Wesnoth"

!insertmacro MUI_LANGUAGE "Galician"
LicenseLangString MUILicense ${LANG_GALICIAN} "packaging\windows\gpl-2.gl.txt"
LangString LCode ${LANG_GALICIAN} "gl"
LangString LEditor ${LANG_GALICIAN} "Editor de mapas"
LangString LManual ${LANG_GALICIAN} "Manual"
LangString LWesnoth ${LANG_GALICIAN} "A batalla polo Noroeste"

!insertmacro MUI_LANGUAGE "German"
LicenseLangString MUILicense ${LANG_GERMAN} "packaging\windows\gpl-2.de.txt"
LangString LCode ${LANG_GERMAN} "de"
LangString LEditor ${LANG_GERMAN} "Karteneditor"
LangString LManual ${LANG_GERMAN} "Spielanleitung"
LangString LWesnoth ${LANG_GERMAN} "Battle for Wesnoth"

!insertmacro MUI_LANGUAGE "Hungarian"
LicenseLangString MUILicense ${LANG_HUNGARIAN} "packaging\windows\gpl-3.hu.txt"
LangString LCode ${LANG_HUNGARIAN} "hu"
LangString LEditor ${LANG_HUNGARIAN} "Pályaszerkesztő"
LangString LManual ${LANG_HUNGARIAN} "Felhasználói Kézikönyv"
LangString LWesnoth ${LANG_HUNGARIAN} "Harc Wesnothért"

!insertmacro MUI_LANGUAGE "Italian"
LicenseLangString MUILicense ${LANG_ITALIAN} "packaging\windows\gpl-2.it.txt"
LangString LCode ${LANG_ITALIAN} "it"
LangString LEditor ${LANG_ITALIAN} "Editor delle mappe"
LangString LManual ${LANG_ITALIAN} "Manuale per l’utente"
LangString LWesnoth ${LANG_ITALIAN} "Battle for Wesnoth"

!insertmacro MUI_LANGUAGE "Japanese"
LicenseLangString MUILicense ${LANG_JAPANESE} "COPYING"
LangString LCode ${LANG_JAPANESE} "ja"
LangString LEditor ${LANG_JAPANESE} "マップエディタ"
LangString LManual ${LANG_JAPANESE} "ユーザーズ・マニュアル"
LangString LWesnoth ${LANG_JAPANESE} "The Battle for Wesnoth"

!insertmacro MUI_LANGUAGE "Polish"
LicenseLangString MUILicense ${LANG_POLISH} "packaging\windows\gpl-2.pl.txt"
LangString LCode ${LANG_POLISH} "pl"
LangString LEditor ${LANG_POLISH} "Edytor map"
LangString LManual ${LANG_POLISH} "Podręcznik użytkownika"
LangString LWesnoth ${LANG_POLISH} "Bitwy o Wesnoth"

!insertmacro MUI_LANGUAGE "Portuguese"
LicenseLangString MUILicense ${LANG_PORTUGUESE} "packaging\windows\gpl-2.pt.txt"
LangString LCode ${LANG_PORTUGUESE} "pt"
LangString LEditor ${LANG_PORTUGUESE} "Editor de mapas"
LangString LManual ${LANG_PORTUGUESE} "Manual de Utilizador"
LangString LWesnoth ${LANG_PORTUGUESE} "A Batalha por Wesnoth"

!insertmacro MUI_LANGUAGE "PortugueseBR"
LicenseLangString MUILicense ${LANG_PORTUGUESEBR} "packaging\windows\gpl-2.pt-br.txt"
LangString LCode ${LANG_PORTUGUESEBR} "pt_BR"
LangString LEditor ${LANG_PORTUGUESEBR} "Editor de mapas"
LangString LManual ${LANG_PORTUGUESEBR} "Manual do usuário"
LangString LWesnoth ${LANG_PORTUGUESEBR} "A Batalha por Wesnoth"

!insertmacro MUI_LANGUAGE "Russian"
LicenseLangString MUILicense ${LANG_RUSSIAN} "packaging\windows\gpl-2.ru.txt"
LangString LCode ${LANG_RUSSIAN} "ru"
LangString LEditor ${LANG_RUSSIAN} "Pедактор карт"
LangString LManual ${LANG_RUSSIAN} "Руководство пользователя"
LangString LWesnoth ${LANG_RUSSIAN} "Битва за Веснот"

!insertmacro MUI_LANGUAGE "SimpChinese"
LicenseLangString MUILicense ${LANG_SIMPCHINESE} "packaging\windows\gpl-2.zh-cn.txt"
LangString LCode ${LANG_SIMPCHINESE} "zh_CN"
LangString LEditor ${LANG_SIMPCHINESE} "地图编辑器"
LangString LManual ${LANG_SIMPCHINESE} "韦诺之战用户手册"
LangString LWesnoth ${LANG_SIMPCHINESE} "韦诺之战 (Battle for Wesnoth)"

!insertmacro MUI_LANGUAGE "Spanish"
LicenseLangString MUILicense ${LANG_SPANISH} "COPYING"
LangString LCode ${LANG_SPANISH} "es"
LangString LEditor ${LANG_SPANISH} "Editor de mapas"
LangString LManual ${LANG_SPANISH} "Manual de usuario"
LangString LWesnoth ${LANG_SPANISH} "La batalla por Wesnoth"

!insertmacro MUI_LANGUAGE "TradChinese"
LicenseLangString MUILicense ${LANG_TRADCHINESE} "packaging\windows\gpl-2.zh-tw.txt"
LangString LCode ${LANG_TRADCHINESE} "zh_TW"
LangString LEditor ${LANG_TRADCHINESE} "地圖編輯器"
LangString LManual ${LANG_TRADCHINESE} "韋諾之戰用戶手冊"
LangString LWesnoth ${LANG_TRADCHINESE} "韋諾之戰 (Battle for Wesnoth)"

0 comments on commit 12066d8

Please sign in to comment.