diff --git a/win32/FireflyShell/FireflyShell.DEU.rc b/win32/FireflyShell/FireflyShell.DEU.rc new file mode 100644 index 00000000..207d93c6 Binary files /dev/null and b/win32/FireflyShell/FireflyShell.DEU.rc differ diff --git a/win32/FireflyShell/FireflyShellDEU.vcproj b/win32/FireflyShell/FireflyShellDEU.vcproj new file mode 100644 index 00000000..4755f5c1 --- /dev/null +++ b/win32/FireflyShell/FireflyShellDEU.vcproj @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/win32/FireflyShell/localizations/german/german.ini b/win32/FireflyShell/localizations/german/german.ini index b941dfe8..0421847c 100644 Binary files a/win32/FireflyShell/localizations/german/german.ini and b/win32/FireflyShell/localizations/german/german.ini differ diff --git a/win32/FireflyShell/localizations/german/german.lws b/win32/FireflyShell/localizations/german/german.lws index 2ae08ff7..61200c99 100644 Binary files a/win32/FireflyShell/localizations/german/german.lws and b/win32/FireflyShell/localizations/german/german.lws differ diff --git a/win32/mt-daapd.sln b/win32/mt-daapd.sln index 7043c6c7..0fd4ae62 100644 --- a/win32/mt-daapd.sln +++ b/win32/mt-daapd.sln @@ -27,6 +27,18 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "out-daap", "out-daap\out-da ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FireflyShellFRA", "FireflyShell\FireflyShellFRA.vcproj", "{819028A4-ED43-4A51-9E32-DC8559ADEBB6}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FireflyShellNLD", "FireflyShell\FireflyShellNLD.vcproj", "{5D6F19F6-6A71-4960-BFB3-BF545D02ACBD}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FireflyShellDEU", "FireflyShell\FireflyShellDEU.vcproj", "{9B035724-EAD7-48C5-BBAF-91FFAA3CA55F}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Global GlobalSection(SolutionConfiguration) = preSolution Debug = Debug @@ -61,6 +73,18 @@ Global {C1EF5133-DFB3-4FEC-B999-3655DBB14786}.Debug.Build.0 = Debug|Win32 {C1EF5133-DFB3-4FEC-B999-3655DBB14786}.Release.ActiveCfg = Release|Win32 {C1EF5133-DFB3-4FEC-B999-3655DBB14786}.Release.Build.0 = Release|Win32 + {819028A4-ED43-4A51-9E32-DC8559ADEBB6}.Debug.ActiveCfg = Debug|Win32 + {819028A4-ED43-4A51-9E32-DC8559ADEBB6}.Debug.Build.0 = Debug|Win32 + {819028A4-ED43-4A51-9E32-DC8559ADEBB6}.Release.ActiveCfg = Release|Win32 + {819028A4-ED43-4A51-9E32-DC8559ADEBB6}.Release.Build.0 = Release|Win32 + {5D6F19F6-6A71-4960-BFB3-BF545D02ACBD}.Debug.ActiveCfg = Debug|Win32 + {5D6F19F6-6A71-4960-BFB3-BF545D02ACBD}.Debug.Build.0 = Debug|Win32 + {5D6F19F6-6A71-4960-BFB3-BF545D02ACBD}.Release.ActiveCfg = Release|Win32 + {5D6F19F6-6A71-4960-BFB3-BF545D02ACBD}.Release.Build.0 = Release|Win32 + {9B035724-EAD7-48C5-BBAF-91FFAA3CA55F}.Debug.ActiveCfg = Debug|Win32 + {9B035724-EAD7-48C5-BBAF-91FFAA3CA55F}.Debug.Build.0 = Debug|Win32 + {9B035724-EAD7-48C5-BBAF-91FFAA3CA55F}.Release.ActiveCfg = Release|Win32 + {9B035724-EAD7-48C5-BBAF-91FFAA3CA55F}.Release.Build.0 = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection diff --git a/win32/nsi/localizations/Dutch.nsh b/win32/nsi/localizations/Dutch.nsh new file mode 100644 index 00000000..4fb898ec --- /dev/null +++ b/win32/nsi/localizations/Dutch.nsh @@ -0,0 +1,29 @@ +!define LANG "DUTCH" + +!insertmacro LANG_STRING PRODUCT_NAME "Firefly Media Server" + +; Install strings +!insertmacro LANG_STRING STRING_BONJOUR_ERROR "Bonjour for Windows service not found. Please install Apple's Bonjour for Windows." +!insertmacro LANG_STRING STRING_STOPPING_SERVICE "Stopping Service..." +!insertmacro LANG_STRING STRING_WAITING_FOR_STOP "Waiting for service stop ($9)" + +; Strings for the application install directory panel +!insertmacro LANG_STRING STRING_DESTFOLDER "Destination Folder" +!insertmacro LANG_STRING STRING_DESTDETAIL "Setup will install ${PRODUCT_NAME} in the following folder.$\r$\n$\r$\nTo install in a different folder, click Browse and select another folder. Click Next to continue." + +; Strings for the music path directory panel +!insertmacro LANG_STRING STRING_MUSICTITLE "Choose Music Location" +!insertmacro LANG_STRING STRING_MUSICHEADER "Choose the folder containing music to share." +!insertmacro LANG_STRING STRING_MUSICFOLDER "Music Folder" +!insertmacro LANG_STRING STRING_MUSICDETAIL "Setup will share the music in the following folder.$\r$\n$\r$\nTo share a different folder, click Browse and select another folder. Click Install to start the installation." + +; These are for the startmenu shortcuts +!insertmacro LANG_BOTHSTRING STRING_WEBSITE "Website" +!insertmacro LANG_BOTHSTRING STRING_UNINSTALL "Uninstall" +!insertmacro LANG_BOTHSTRING STRING_DEBUG_MODE "Debug Mode" +!insertmacro LANG_BOTHSTRING STRING_FF_CONFIGURATION "Firefly Configuration" +!insertmacro LANG_BOTHSTRING STRING_ADV_CONFIG "Advanced Configuration" + +; Uninstall Strings +!insertmacro LANG_UNSTRING STRING_UNINSTALLED "$(^Name) was successfully removed from your computer." +!insertmacro LANG_UNSTRING STRING_AREYOUSURE "Are you sure you want to completely remove $(^Name) and all of its components?" diff --git a/win32/nsi/localizations/English.nsh b/win32/nsi/localizations/English.nsh new file mode 100644 index 00000000..25d61534 --- /dev/null +++ b/win32/nsi/localizations/English.nsh @@ -0,0 +1,29 @@ +!define LANG "ENGLISH" + +!insertmacro LANG_STRING PRODUCT_NAME "Firefly Media Server" + +; Install strings +!insertmacro LANG_STRING STRING_BONJOUR_ERROR "Bonjour for Windows service not found. Please install Apple's Bonjour for Windows." +!insertmacro LANG_STRING STRING_STOPPING_SERVICE "Stopping Service..." +!insertmacro LANG_STRING STRING_WAITING_FOR_STOP "Waiting for service stop ($9)" + +; Strings for the application install directory panel +!insertmacro LANG_STRING STRING_DESTFOLDER "Destination Folder" +!insertmacro LANG_STRING STRING_DESTDETAIL "Setup will install ${PRODUCT_NAME} in the following folder.$\r$\n$\r$\nTo install in a different folder, click Browse and select another folder. Click Next to continue." + +; Strings for the music path directory panel +!insertmacro LANG_STRING STRING_MUSICTITLE "Choose Music Location" +!insertmacro LANG_STRING STRING_MUSICHEADER "Choose the folder containing music to share." +!insertmacro LANG_STRING STRING_MUSICFOLDER "Music Folder" +!insertmacro LANG_STRING STRING_MUSICDETAIL "Setup will share the music in the following folder.$\r$\n$\r$\nTo share a different folder, click Browse and select another folder. Click Install to start the installation." + +; These are for the startmenu shortcuts +!insertmacro LANG_BOTHSTRING STRING_WEBSITE "Website" +!insertmacro LANG_BOTHSTRING STRING_UNINSTALL "Uninstall" +!insertmacro LANG_BOTHSTRING STRING_DEBUG_MODE "Debug Mode" +!insertmacro LANG_BOTHSTRING STRING_FF_CONFIGURATION "Firefly Configuration" +!insertmacro LANG_BOTHSTRING STRING_ADV_CONFIG "Advanced Configuration" + +; Uninstall Strings +!insertmacro LANG_UNSTRING STRING_UNINSTALLED "$(^Name) was successfully removed from your computer." +!insertmacro LANG_UNSTRING STRING_AREYOUSURE "Are you sure you want to completely remove $(^Name) and all of its components?" diff --git a/win32/nsi/localizations/French.nsh b/win32/nsi/localizations/French.nsh new file mode 100644 index 00000000..454da1b9 --- /dev/null +++ b/win32/nsi/localizations/French.nsh @@ -0,0 +1,29 @@ +!define LANG "FRENCH" + +!insertmacro LANG_STRING PRODUCT_NAME "Firefly Media Server" + +; Install strings +!insertmacro LANG_STRING STRING_BONJOUR_ERROR "Bonjour for Windows service not found. Please install Apple's Bonjour for Windows." +!insertmacro LANG_STRING STRING_STOPPING_SERVICE "Stopping Service..." +!insertmacro LANG_STRING STRING_WAITING_FOR_STOP "Waiting for service stop ($9)" + +; Strings for the application install directory panel +!insertmacro LANG_STRING STRING_DESTFOLDER "Destination Folder" +!insertmacro LANG_STRING STRING_DESTDETAIL "Setup will install ${PRODUCT_NAME} in the following folder.$\r$\n$\r$\nTo install in a different folder, click Browse and select another folder. Click Next to continue." + +; Strings for the music path directory panel +!insertmacro LANG_STRING STRING_MUSICTITLE "Choose Music Location" +!insertmacro LANG_STRING STRING_MUSICHEADER "Choose the folder containing music to share." +!insertmacro LANG_STRING STRING_MUSICFOLDER "Music Folder" +!insertmacro LANG_STRING STRING_MUSICDETAIL "Setup will share the music in the following folder.$\r$\n$\r$\nTo share a different folder, click Browse and select another folder. Click Install to start the installation." + +; These are for the startmenu shortcuts +!insertmacro LANG_BOTHSTRING STRING_WEBSITE "Website" +!insertmacro LANG_BOTHSTRING STRING_UNINSTALL "Uninstall" +!insertmacro LANG_BOTHSTRING STRING_DEBUG_MODE "Debug Mode" +!insertmacro LANG_BOTHSTRING STRING_FF_CONFIGURATION "Firefly Configuration" +!insertmacro LANG_BOTHSTRING STRING_ADV_CONFIG "Advanced Configuration" + +; Uninstall Strings +!insertmacro LANG_UNSTRING STRING_UNINSTALLED "$(^Name) was successfully removed from your computer." +!insertmacro LANG_UNSTRING STRING_AREYOUSURE "Are you sure you want to completely remove $(^Name) and all of its components?" diff --git a/win32/nsi/localizations/German.nsh b/win32/nsi/localizations/German.nsh new file mode 100644 index 00000000..3713fabb --- /dev/null +++ b/win32/nsi/localizations/German.nsh @@ -0,0 +1,29 @@ +!define LANG "GERMAN" + +!insertmacro LANG_STRING PRODUCT_NAME "Firefly Media Server" + +; Install strings +!insertmacro LANG_STRING STRING_BONJOUR_ERROR "Bonjour for Windows service not found. Please install Apple's Bonjour for Windows." +!insertmacro LANG_STRING STRING_STOPPING_SERVICE "Stopping Service..." +!insertmacro LANG_STRING STRING_WAITING_FOR_STOP "Waiting for service stop ($9)" + +; Strings for the application install directory panel +!insertmacro LANG_STRING STRING_DESTFOLDER "Destination Folder" +!insertmacro LANG_STRING STRING_DESTDETAIL "Setup will install ${PRODUCT_NAME} in the following folder.$\r$\n$\r$\nTo install in a different folder, click Browse and select another folder. Click Next to continue." + +; Strings for the music path directory panel +!insertmacro LANG_STRING STRING_MUSICTITLE "Choose Music Location" +!insertmacro LANG_STRING STRING_MUSICHEADER "Choose the folder containing music to share." +!insertmacro LANG_STRING STRING_MUSICFOLDER "Music Folder" +!insertmacro LANG_STRING STRING_MUSICDETAIL "Setup will share the music in the following folder.$\r$\n$\r$\nTo share a different folder, click Browse and select another folder. Click Install to start the installation." + +; These are for the startmenu shortcuts +!insertmacro LANG_BOTHSTRING STRING_WEBSITE "Website" +!insertmacro LANG_BOTHSTRING STRING_UNINSTALL "Uninstall" +!insertmacro LANG_BOTHSTRING STRING_DEBUG_MODE "Debug Mode" +!insertmacro LANG_BOTHSTRING STRING_FF_CONFIGURATION "Firefly Configuration" +!insertmacro LANG_BOTHSTRING STRING_ADV_CONFIG "Advanced Configuration" + +; Uninstall Strings +!insertmacro LANG_UNSTRING STRING_UNINSTALLED "$(^Name) was successfully removed from your computer." +!insertmacro LANG_UNSTRING STRING_AREYOUSURE "Are you sure you want to completely remove $(^Name) and all of its components?" diff --git a/win32/nsi/mt-daapd.nsi.templ b/win32/nsi/mt-daapd.nsi.templ index bf46d2e3..2bd26ad8 100644 --- a/win32/nsi/mt-daapd.nsi.templ +++ b/win32/nsi/mt-daapd.nsi.templ @@ -53,10 +53,34 @@ ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES -; Language files -!insertmacro MUI_LANGUAGE "English" - ; MUI end ------ +!macro LANG_LOAD LANGLOAD + !insertmacro MUI_LANGUAGE "${LANGLOAD}" +; !verbose + !include "localizations\${LANGLOAD}.nsh" +; !verbose on + !undef LANG +!macroend + +!macro LANG_STRING NAME VALUE + LangString "${NAME}" "${LANG_${LANG}}" "${VALUE}" +!macroend + +!macro LANG_UNSTRING NAME VALUE + !insertmacro LANG_STRING "un.${NAME}" "${VALUE}" +!macroend + +!macro LANG_BOTHSTRING NAME VALUE + !insertmacro LANG_STRING "${NAME}" "${VALUE}" + !insertmacro LANG_UNSTRING "${NAME}" "${VALUE}" +!macroend + + +;!insertmacro MUI_LANGUAGE "English" +!insertmacro LANG_LOAD "English" +!insertmacro LANG_LOAD "French" +!insertmacro LANG_LOAD "Dutch" +!insertmacro LANG_LOAD "German" Name "${PRODUCT_NAME}" Icon "..\ff.ico" @@ -77,7 +101,7 @@ Section -Pre Pop $1 StrCmp $0 "success" lbl_got_bonjour - MessageBox MB_OK "Bonjour for Windows service not found. Please install Apple's Bonjour for Windows." + MessageBox MB_OK "$(STRING_BONJOUR_ERROR)" Quit lbl_got_bonjour: @@ -92,16 +116,16 @@ Section -Pre goto lbl_continue lbl_stop_service: - DetailPrint "Stopping Service..." - nsSCM::Stop "${PRODUCT_NAME}" + DetailPrint "$(STRING_STOPPING_SERVICE)" + nsSCM::Stop "$(PRODUCT_NAME)" lbl_wait_stop: Sleep 1000 - nsSCM::QueryStatus "${PRODUCT_NAME}" + nsSCM::QueryStatus "$(PRODUCT_NAME)" Pop $0 Pop $1 - DetailPrint $0 +; DetailPrint $0 StrCmp $0 "success" lbl_check_status goto lbl_continue @@ -110,7 +134,7 @@ Section -Pre lbl_continue: ; should really loop until service stops... - DetailPrint "Waiting for service stop ($9)" + DetailPrint "$(STRING_WAITING_FOR_STOP)" IntOp $9 $9 + 1 IntCmp $9 10 +1 +1 lbl_done_pre @@ -128,6 +152,9 @@ Section "MainSection" SEC01 SetOverwrite on File /oname=firefly.exe "${MTD_SOURCE}\mt-daapd.exe" File "${CONFIG_SOURCE}\FireflyShell.exe" + File "${CONFIG_SOURCE}\FireflyShellDEU.dll" + File "${CONFIG_SOURCE}\FireflyShellFRA.dll" + File "${CONFIG_SOURCE}\FireflyShellNLD.dll" File "${CONFIG_SOURCE}\..\FireflyShell.exe.manifest" File "${DLL_SOURCE}\gnu_regex.dll" File "${DLL_SOURCE}\pthreadVC2.dll" @@ -245,11 +272,11 @@ SectionEnd Section -AdditionalIcons WriteIniStr "$2\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" "$2\${PRODUCT_NAME}.url" - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$2\uninst.exe" - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Debug Mode.lnk" "$2\firefly.exe" "-d9 -f" - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Firefly Configuration.lnk" "$2\FireflyShell.exe" - CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Advanced Configuration.lnk" "notepad.exe" "$2\mt-daapd.conf" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\$(STRING_WEBSITE).lnk" "$2\${PRODUCT_NAME}.url" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\$(STRING_UNINSTALL).lnk" "$2\uninst.exe" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\$(STRING_DEBUG_MODE).lnk" "$2\firefly.exe" "-d9 -f" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\$(STRING_FF_CONFIGURATION).lnk" "$2\FireflyShell.exe" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\$(STRING_ADV_CONFIG).lnk" "notepad.exe" "$2\mt-daapd.conf" Delete "$SMPROGRAMS\Startup\Firefly Configuration.lnk" @@ -286,11 +313,11 @@ SectionEnd Function un.onUninstSuccess HideWindow - MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." + MessageBox MB_ICONINFORMATION|MB_OK "$(un.STRING_UNINSTALLED)" FunctionEnd Function un.onInit - MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "$(un.STRING_AREYOUSURE)" IDYES +2 Abort FunctionEnd @@ -300,6 +327,22 @@ Function .onInit StrCpy $INSTDIR "$PROGRAMFILES\${PRODUCT_NAME}" StrCpy $2 "$PROGRAMFILES\${PRODUCT_NAME}" StrCpy $3 "$DOCUMENTS\My Music" + + Push "" + Push ${LANG_ENGLISH} + Push English + Push ${LANG_FRENCH} + Push French + Push ${LANG_DUTCH} + Push Dutch + Push ${LANG_GERMAN} + Push German + ; more + Push A + LangDLL::LangDialog "Installer Language" "Please select the language of the installer" + Pop $LANGUAGE + StrCmp $LANGUAGE "cancel" 0 +2 + Abort FunctionEnd Function LicensePost @@ -321,17 +364,17 @@ Function DirectoryShow AppDirectoryPage: StrCpy $9 "1" - !insertmacro MUI_INNERDIALOG_TEXT 1041 "Destination Folder" + !insertmacro MUI_INNERDIALOG_TEXT 1041 "$(STRING_DESTFOLDER)" !insertmacro MUI_INNERDIALOG_TEXT 1019 "$PROGRAMFILES\${PRODUCT_NAME}\" - !insertmacro MUI_INNERDIALOG_TEXT 1006 "Setup will install ${PRODUCT_NAME} in the following folder.$\r$\n$\r$\nTo install in a different folder, click Browse and select another folder. Click Next to continue." + !insertmacro MUI_INNERDIALOG_TEXT 1006 "$(STRING_DESTDETAIL)" Goto EndDirectoryShow MusicDirectoryPage: StrCpy $9 "2" - !insertmacro MUI_HEADER_TEXT "Choose Music Location" "Choose the folder containing music to share." - !insertmacro MUI_INNERDIALOG_TEXT 1041 "Music Folder" + !insertmacro MUI_HEADER_TEXT "$(STRING_MUSICTITLE)" "$(STRING_MUSICHEADER)" + !insertmacro MUI_INNERDIALOG_TEXT 1041 "$(STRING_MUSICFOLDER)" !insertmacro MUI_INNERDIALOG_TEXT 1019 "$DOCUMENTS\My Music" - !insertmacro MUI_INNERDIALOG_TEXT 1006 "Setup will share the music in the following folder.$\r$\n$\r$\nTo share a different folder, click Browse and select another folder. Click Install to start the installation." + !insertmacro MUI_INNERDIALOG_TEXT 1006 "$(STRING_MUSICDETAIL)" EndDirectoryShow: FunctionEnd @@ -537,6 +580,9 @@ Section Uninstall Delete "$INSTDIR\firefly.exe" Delete "$INSTDIR\FireflyShell.exe" Delete "$INSTDIR\FireflyShell.exe.manifest" + Delete "$INSTDIR\FireflyShellDEU.dll" + Delete "$INSTDIR\FireflyShellFRA.dll" + Delete "$INSTDIR\FireflyShellNLD.dll" Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" Delete "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk"