Commit b75b548f authored by Pauline Castets's avatar Pauline Castets Committed by Christophe Mutricy

Add translations for Win32 installer (fix #1044)

Enable translation for Win32 installer. French translation is provided.
New translation files need to be created in order to translate other
languages.
Translated strings are:
- strings displayed in installer pages, other than the NSI standard ones
(section names, section descriptions, installation types, VLC already
installed massage)
- context menu entries (Open With VLC, Add to VLC's playlist)
- name of actions displayed in Windows autorun dialog, for DVD and CD
(Play With VLC)

Add translation files for english and french (english.nsh and
french.nsh)
Add header file to declare translation variables (declaration.nsh)
Include declaration.nsh in NSI file
Replace every displayed string in installer by the variable defined in
language file.
Modify Makefile to copy translation files for Win32 installer

Language is chosen by NSI, with a dialog at the beginning of the
installer (which was already there).
Translated string are copied into the variables according to which
language was chosen. Default is English.
Signed-off-by: default avatarChristophe Mutricy <xtophe@videolan.org>
parent 9f177880
......@@ -39,7 +39,10 @@ EXTRA_DIST = \
extras/package/rpm/vlc.fedora.spec \
extras/package/rpm/vlc.mandriva.spec \
extras/package/rpm/vlc.altlinux.spec \
extras/package/win32/vlc.win32.nsi.in
extras/package/win32/vlc.win32.nsi.in \
extras/package/win32/languages/declaration.nsh \
extras/package/win32/languages/english.nsh \
extras/package/win32/languages/french.nsh
dist_noinst_SCRIPTS = bootstrap toolbox
......@@ -725,6 +728,8 @@ package-win32-base-debug: package-win-common
# Copy relevant files
# Script installer
cp "$(top_builddir)/extras/package/win32/vlc.win32.nsi" "$(win32_destdir)/"
mkdir "$(win32_destdir)/languages"
cp $(srcdir)/extras/package/win32/languages/*.nsh "$(win32_destdir)/languages/"
# Plugins
mkdir -p "$(win32_destdir)/plugins"
......
Var Name_Section01
Var Name_Section02a
Var Name_Section02b
Var Name_Section03
Var Name_Section04
Var Name_Section05
Var Name_Section06
Var Name_SectionGroupAudio
Var Name_SectionGroupVideo
Var Name_SectionGroupOther
Var Name_Section07
Var Name_Section08
Var Desc_Section01
Var Desc_Section02a
Var Desc_Section02b
Var Desc_Section03
Var Desc_Section04
Var Desc_Section05
Var Desc_Section06
Var Desc_Section07
Var Desc_Section08
Var Message_AlreadyInstalled
Var Name_Section91
Var Name_Section92
Var Desc_Section91
Var Desc_Section92
Var ShellAssociation_Play
Var ContextMenuEntry_PlayWith
Var ContextMenuEntry_AddToPlaylist
Var Link_VisitWebsite
Var Name_InstTypeRecommended
Var Name_InstTypeMinimum
Var Name_InstTypeFull
Var Action_OnArrivalDVD
Var Action_OnArrivalAudioCD
StrCpy $Name_Section01 "Media Player (required)"
StrCpy $Name_Section02a "Start Menu Shortcut"
StrCpy $Name_Section02b "Desktop Shortcut"
StrCpy $Name_Section03 "Mozilla plugin"
StrCpy $Name_Section04 "ActiveX plugin"
StrCpy $Name_Section05 "Discs Playback"
StrCpy $Name_Section06 "File type associations"
StrCpy $Name_SectionGroupAudio "Audio Files"
StrCpy $Name_SectionGroupVideo "Video Files"
StrCpy $Name_SectionGroupOther "Other"
StrCpy $Name_Section07 "Context Menus"
StrCpy $Name_Section08 "Delete preferences and cache"
StrCpy $Desc_Section01 \
"The media player itself"
StrCpy $Desc_Section02a \
"Adds icons to your start menu for easy access"
StrCpy $Desc_Section02b \
"Adds icon to your desktop for easy access"
StrCpy $Desc_Section03 \
"The VLC Mozilla and Mozilla Firefox plugin"
StrCpy $Desc_Section04 \
"The VLC ActiveX plugin"
StrCpy $Desc_Section05 \
"DVD and CD playback registration"
StrCpy $Desc_Section06 \
"Sets VLC media player as the default application for the specified file type"
StrCpy $Desc_Section07 \
"Add context menu items ('Play With VLC' and 'Add To VLC's Playlist')"
StrCpy $Desc_Section08 \
"Deletes VLC media player preferences and cache files leftover from previous installations"
StrCpy $Message_AlreadyInstalled \
"VLC media player has already been installed. $\nDo you want to remove \
the previous version before installing $(^Name) ?"
StrCpy $Name_Section91 "Uninstall"
StrCpy $Name_Section92 "Delete preferences and cache"
StrCpy $Desc_Section91 \
"Uninstall VLC media player and all its components"
StrCpy $Desc_Section92 \
"Deletes VLC media player preferences and cache files"
StrCpy $ShellAssociation_Play "Play"
StrCpy $ContextMenuEntry_PlayWith "Play with VLC media player"
StrCpy $ContextMenuEntry_AddToPlaylist "Add to VLC media player's Playlist"
StrCpy $Link_VisitWebsite "Visit the VideoLAN VLC media player Website"
StrCpy $Name_InstTypeRecommended "Recommended"
StrCpy $Name_InstTypeMinimum "Minimum"
StrCpy $Name_InstTypeFull "Full"
StrCpy $Action_OnArrivalDVD "Play DVD movie"
StrCpy $Action_OnArrivalAudioCD "Play audio CD"
StrCpy $Name_Section01 "Lecteur Media (requis)"
StrCpy $Name_Section02a "Ajouter au menu Démarrer"
StrCpy $Name_Section02b "Placer un raccourci sur le bureau"
StrCpy $Name_Section03 "Plugin Mozilla"
StrCpy $Name_Section04 "Plugin ActiveX"
StrCpy $Name_Section05 "Lecture de disques"
StrCpy $Name_Section06 "Types de fichiers"
StrCpy $Name_SectionGroupAudio "Fichiers Audio"
StrCpy $Name_SectionGroupVideo "Fichiers Video"
StrCpy $Name_SectionGroupOther "Autres"
StrCpy $Name_Section07 "Menus contextuels"
StrCpy $Name_Section08 "Effacer les preferences et le cache"
StrCpy $Desc_Section01 \
"Le lecteur multimedia"
StrCpy $Desc_Section02a \
"Ajoute des icônes au menu Démarrer pour un accès facile"
StrCpy $Desc_Section02b \
"Place un icône sur le bureau pour un accès facile"
StrCpy $Desc_Section03 \
"Le plugin VLC Mozilla et Mozilla Firefox"
StrCpy $Desc_Section04 \
"Le plugin VLC ActiveX"
StrCpy $Desc_Section05 \
"Lecture des CD et DVD"
StrCpy $Desc_Section06 \
"Définit le lecteur media VLC comme application par défaut pour les fichiers du type spécifié"
StrCpy $Desc_Section07 \
"Ajoute des entrées de menu contextuel ('Lire avec VLC' et 'Ajouter à la liste de lecture de VLC')"
StrCpy $Desc_Section08 \
"Efface les préférences de VLC et les fichiers cache laissés par une précédente installation"
StrCpy $Message_AlreadyInstalled \
"Le lecteur multimedia VLC est déjà installé. $\nSouhaitez-vous désinstaller \
l'ancienne version avant d'installer $(^Name) ?"
StrCpy $Name_Section91 "Désinstaller"
StrCpy $Name_Section92 "Effacer les préférences et les fichiers cache"
StrCpy $Desc_Section91 \
"Désinstalle VLC et tous ses composants"
StrCpy $Desc_Section92 \
"Efface les préférences de VLC et les fichiers cache"
StrCpy $ShellAssociation_Play "Lire"
StrCpy $ContextMenuEntry_PlayWith "Lire avec VLC"
StrCpy $ContextMenuEntry_AddToPlaylist "Ajouter à la liste de lecture de VLC"
StrCpy $Link_VisitWebsite "Visitez le site de VideoLAN"
StrCpy $Name_InstTypeRecommended "Recommandée"
StrCpy $Name_InstTypeMinimum "Minimale"
StrCpy $Name_InstTypeFull "Complète"
StrCpy $Action_OnArrivalDVD "Lecture DVD"
StrCpy $Action_OnArrivalAudioCD "Lecture CD Audio"
......@@ -3,6 +3,8 @@
; (http://nsis.sourceforge.net) ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
!include "languages\declaration.nsh"
!define PRODUCT_NAME "VLC media player"
!define VERSION @VERSION@
!define PRODUCT_VERSION @VERSION@
......@@ -41,9 +43,9 @@ SetOverwrite ifnewer
CRCCheck on
BrandingText "${PRODUCT_GROUP} ${PRODUCT_NAME}"
InstType "Recommended"
InstType "Minimum"
InstType "Full"
InstType $Name_InstTypeRecommended
InstType $Name_InstTypeMinimum
InstType $Name_InstTypeFull
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; NSIS Modern User Interface configuration ;
......@@ -74,7 +76,7 @@ InstType "Full"
!define MUI_FINISHPAGE_RUN "$INSTDIR\vlc.exe"
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.txt"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_LINK "Visit the VideoLAN VLC media player Website"
!define MUI_FINISHPAGE_LINK $Link_VisitWebsite
!define MUI_FINISHPAGE_LINK_LOCATION "http://www.videolan.org/vlc/"
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
!insertmacro MUI_PAGE_FINISH
......@@ -135,6 +137,7 @@ NoBackup:
ReadRegStr $0 HKCR "VLC$R0" ""
WriteRegStr HKCR "VLC$R0" "" "VLC media file ($R0)"
WriteRegStr HKCR "VLC$R0\shell" "" "Play"
WriteRegStr HKCR "VLC$R0\shell\Play" "" $ShellAssociation_Play
WriteRegStr HKCR "VLC$R0\shell\Play\command" "" '"$INSTDIR\vlc.exe" --started-from-file "%1"'
WriteRegStr HKCR "VLC$R0\DefaultIcon" "" '"$INSTDIR\vlc.exe",0'
......@@ -265,10 +268,10 @@ FunctionEnd
; Generic function for adding the context menu for one ext.
!macro AddContextMenuExt EXT
WriteRegStr HKCR ${EXT}\shell\PlayWithVLC "" "Play with VLC media player"
WriteRegStr HKCR ${EXT}\shell\PlayWithVLC "" $ContextMenuEntry_PlayWith
WriteRegStr HKCR ${EXT}\shell\PlayWithVLC\command "" '$INSTDIR\vlc.exe --started-from-file --no-playlist-enqueue "%1"'
WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC "" "Add to VLC media player's Playlist"
WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC "" $ContextMenuEntry_AddToPlaylist
WriteRegStr HKCR ${EXT}\shell\AddToPlaylistVLC\command "" '$INSTDIR\vlc.exe --started-from-file --playlist-enqueue "%1"'
!macroend
......@@ -384,8 +387,8 @@ FunctionEnd
; The CORE of the ;
; installer ;
;;;;;;;;;;;;;;;;;;;;;;
Section "Media player (required)" SEC01
Section $Name_Section01 SEC01
SectionIn 1 2 3 RO
SetShellVarContext all
SetOutPath "$INSTDIR"
......@@ -429,7 +432,7 @@ Section "Media player (required)" SEC01
; Add VLC to "recomended programs" for the following extensions
WriteRegStr HKCR Applications\vlc.exe "" ""
WriteRegStr HKCR Applications\vlc.exe "FriendlyAppName" "VLC media player"
WriteRegStr HKCR Applications\vlc.exe\shell\Play "" "Play with VLC"
WriteRegStr HKCR Applications\vlc.exe\shell\Play "" $ContextMenuEntry_PlayWith
WriteRegStr HKCR Applications\vlc.exe\shell\Play\command "" \
'$INSTDIR\vlc.exe --started-from-file "%1"'
!insertmacro MacroAllExtensions WriteRegStrSupportedTypes
......@@ -448,7 +451,7 @@ Section "Media player (required)" SEC01
lbl_done:
SectionEnd
Section "Start Menu Shortcut" SEC02a
Section $Name_Section02a SEC02a
SectionIn 1 2 3
CreateDirectory "$SMPROGRAMS\VideoLAN"
CreateDirectory "$SMPROGRAMS\VideoLAN\Quick Settings"
......@@ -488,13 +491,13 @@ Section "Start Menu Shortcut" SEC02a
"$INSTDIR\vlc.exe" ""
SectionEnd
Section "Desktop Shortcut" SEC02b
Section $Name_Section02b SEC02b
SectionIn 1 2 3
CreateShortCut "$DESKTOP\VLC media player.lnk" \
"$INSTDIR\vlc.exe" ""
SectionEnd
Section /o "Mozilla plugin" SEC03
Section /o $Name_Section03 SEC03
SectionIn 3
SetOutPath "$INSTDIR"
......@@ -540,7 +543,7 @@ Section /o "Mozilla plugin" SEC03
SectionEnd
Section "ActiveX plugin" SEC04
Section $Name_Section04 SEC04
SectionIn 1 3
SetOutPath "$INSTDIR"
!insertmacro OpenUninstallLog
......@@ -549,24 +552,24 @@ Section "ActiveX plugin" SEC04
RegDLL "$INSTDIR\axvlc.dll"
SectionEnd
Section "Discs Playback" SEC05
Section $Name_Section05 SEC05
SectionIn 1 2 3
WriteRegStr HKCR "AudioCD\shell\PlayWithVLC" "" "Play with VLC media player"
WriteRegStr HKCR "AudioCD\shell\PlayWithVLC" "" $ContextMenuEntry_PlayWith
WriteRegStr HKCR "AudioCD\shell\PlayWithVLC\command" "" \
"$INSTDIR\vlc.exe --started-from-file cdda://%1"
WriteRegStr HKCR "DVD\shell\PlayWithVLC" "" "Play with VLC media player"
WriteRegStr HKCR "DVD\shell\PlayWithVLC" "" $ContextMenuEntry_PlayWith
WriteRegStr HKCR "DVD\shell\PlayWithVLC\command" "" \
"$INSTDIR\vlc.exe --started-from-file dvd://%1"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayDVDMovieOnArrival" "VLCPlayDVDMovieOnArrival" ""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Action" "Play DVD movie"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Action" $Action_OnArrivalDVD
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "DefaultIcon" '"$INSTDIR\vlc.exe",0'
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "InvokeProgID" "VLC.DVDMovie"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "InvokeVerb" "play"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayDVDMovieOnArrival" "Provider" "VideoLAN VLC media player"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\EventHandlers\PlayCDAudioOnArrival" "VLCPlayCDAudioOnArrival" ""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Action" "Play CD audio"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "Action" $Action_OnArrivalAudioCD
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "DefaultIcon" '"$INSTDIR\vlc.exe",0'
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeProgID" "VLC.CDAudio"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers\Handlers\VLCPlayCDAudioOnArrival" "InvokeVerb" "play"
......@@ -584,68 +587,63 @@ Section "Discs Playback" SEC05
SectionEnd
SectionGroup "File type associations" SEC06
SectionGroup "Audio Files"
SectionGroup $Name_Section06 SEC06
SectionGroup $Name_SectionGroupAudio
!insertmacro MacroAudioExtensions RegisterExtensionSection
SectionGroupEnd
SectionGroup "Video Files"
SectionGroup $Name_SectionGroupVideo
!insertmacro MacroVideoExtensions RegisterExtensionSection
SectionGroupEnd
SectionGroup "Other"
SectionGroup $Name_SectionGroupOther
!insertmacro MacroOtherExtensions RegisterExtensionSection
SectionGroupEnd
SectionGroupEnd
Section "Context Menus" SEC07
Section $Name_Section07 SEC07
SectionIn 3
!insertmacro MacroAllExtensions AddContextMenu
!insertmacro AddContextMenuExt "Directory"
SectionEnd
Section /o "Delete preferences and cache" SEC08
Section /o $Name_Section08 SEC08
!insertmacro delprefs
SectionEnd
; Installer section descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} \
"The media player itself"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02a} \
"Adds icons to your start menu for easy access"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02b} \
"Adds icon to your desktop for easy access"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} \
"The VLC Mozilla and Mozilla Firefox plugin"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} \
"The VLC ActiveX plugin"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} \
"DVD and CD playback registration"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC06} \
"Sets VLC media player as the default application for the specified file type"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC07} \
"Add context menu items ('Play With VLC' and 'Add To VLC's Playlist')"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC08} \
"Deletes VLC media player preferences and cache files leftover from previous installations"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} $Desc_Section01
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02a} $Desc_Section02a
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02b} $Desc_Section02b
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} $Desc_Section03
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} $Desc_Section04
!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} $Desc_Section05
!insertmacro MUI_DESCRIPTION_TEXT ${SEC06} $Desc_Section06
!insertmacro MUI_DESCRIPTION_TEXT ${SEC07} $Desc_Section07
!insertmacro MUI_DESCRIPTION_TEXT ${SEC08} $Desc_Section08
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;;; Start function
Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
!include "languages\english.nsh"
StrCmp $LANGUAGE ${LANG_FRENCH} French EndLanguageCmp
French:
!include "languages\french.nsh"
EndLanguageCmp:
ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" \
"UninstallString"
StrCmp $R0 "" done
MessageBox MB_YESNO|MB_ICONEXCLAMATION \
"VLC media player has already been installed. $\nDo you want to remove \
the previous version before installing $(^Name) ?" \
IDNO done
MessageBox MB_YESNO|MB_ICONEXCLAMATION $Message_AlreadyInstalled IDNO done
;Run the uninstaller
;uninst:
ClearErrors
ExecWait '$R0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file
done:
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;; End function
......@@ -726,7 +724,7 @@ Function un.RemoveEmptyDirs
!undef Index
FunctionEnd
Section "Uninstall" SEC91
Section "un.$Name_Section91" SEC91
SectionIn 1 2 3 RO
SetShellVarContext all
......@@ -811,16 +809,14 @@ Section "Uninstall" SEC91
SetAutoClose true
SectionEnd
Section /o "un.Delete preferences and cache" SEC92
Section /o "un.$Name_Section92" SEC92
!insertmacro delprefs
SectionEnd
; Uninstaller section descriptions
!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC91} \
"Uninstall VLC media player and all its components"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC92} \
"Deletes VLC media player preferences and cache files"
!insertmacro MUI_DESCRIPTION_TEXT ${SEC91} $Desc_Section91
!insertmacro MUI_DESCRIPTION_TEXT ${SEC92} $Desc_Section92
!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
;Function un.onUninstSuccess
......@@ -831,4 +827,11 @@ SectionEnd
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
!include "languages\english.nsh"
StrCmp $LANGUAGE ${LANG_FRENCH} French EndLanguageCmp
French:
!include "languages\french.nsh"
EndLanguageCmp:
FunctionEnd
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment