Inno Setup 安裝包製做工具對不一樣語言的支持

個人操做系統版本爲Win7旗艦版,InnoSetup工具版本爲5.5.8(a)。html

由於InnoSetup的默認語言中沒有中文,因此我今天專門研究了下使用InnoSetup工具對不一樣語言的支持。服務器

有關語言的設定能夠參考幫助手冊中對[Languages]和[LangOptions]選項的介紹。通常來講,安裝包的語言默認使用英語。語言包文件的擴展名爲isl(Inno Setup Language),在InnoSetup安裝目錄下的Default.isl即爲英語語言包,其餘語言包都被放在Languages目錄下。網絡

[Language]區域,寫在ISS腳本文件中架構

使用英語語言包的寫法以下:app

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

使用其餘語言包的寫法以下:工具

[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl"

可指定的項有:字體

  1. Name(必須):語言的內部使用名稱
  2. MessageFile(必須):語言包文件,針對InnoSetup安裝路徑的相對地址
  3. LicenseFile:受權文件
  4. InfoBeforeFile:安裝前閱讀內容
  5. InfoAfterFile:安裝後閱讀內容

這些項中間用分號隔開網站

[LanguageOption]區域,寫在ISL語言包文件中ui

幫助文件中給出的寫法爲this

[LangOptions]
LanguageName=English
LanguageID=$0409
LanguageCodePage=0
DialogFontName=
DialogFontSize=8
WelcomeFontName=Verdana
WelcomeFontSize=12
TitleFontName=Arial
TitleFontSize=29
CopyrightFontName=Arial
CopyrightFontSize=8
RightToLeft=no

英文版語言包Default.isl代碼以下:

[LangOptions]
; The following three entries are very important. Be sure to read and 
; understand the '[LangOptions] section' topic in the help file.
LanguageName=English
LanguageID=$0409
LanguageCodePage=0
; If the language you are translating to requires special font faces or
; sizes, uncomment any of the following entries and change them accordingly.
;DialogFontName=
;DialogFontSize=8
;WelcomeFontName=Verdana
;WelcomeFontSize=12
;TitleFontName=Arial
;TitleFontSize=29
;CopyrightFontName=Arial
;CopyrightFontSize=8

幫助文檔中對這些項的說明以下:

  1. LanguageName:英語是English,法語是Fran<00E7>ais
  2. LanguageID:語言編號,前面須要添加$符號,可參考 http://msdn.microsoft.com/en-us/library/dd318693.aspx
  3. LanguageCodePage:用於編譯器將isl語言包中的字符轉換成Unicode
  4. DialogFontName:對話框內文字字體
  5. DialogFontSize:對話框內文字字號
  6. WelcomeFontName:歡迎頁面文字字體
  7. WelcomeFontSize:歡迎頁面文字字號
  8. TitleFontName:標題文字字體
  9. TitleFontSize:標題文字字號
  10. CopyrightFontName:版權信息字體
  11. CopyrightFontSize:版權信息字號

中文語言包雖然不在InnoSetup官方推出的語言包中,但也能夠在官網上下載到用戶自制的語言包。

語言包列表:http://www.jrsoftware.org/files/istrans/

簡體中文版isl語言包:http://www.jrsoftware.org/email.phtml?a=qiming&b=clault.com

繁體中文版isl語言包:http://www.jrsoftware.org/email.phtml?a=751555749&b=qq.com

以簡體中文版爲例,ChineseSimplified.isl代碼以下:

; *** Inno Setup version 5.5.3+ Chinese (Simplified) messages ***
;   By Qiming Li (qiming at clault.com)
;
; To download user-contributed translations of this file, go to:
;   http://www.jrsoftware.org/files/istrans/
;
; Note: When translating this text, do not add periods (.) to the end of
; messages that didn't have them already, because on those messages Inno
; Setup adds the periods automatically (appending a period would result in
; two periods being displayed).

[LangOptions]
; The following three entries are very important. Be sure to read and 
; understand the '[LangOptions] section' topic in the help file.
LanguageName=<4E2D><6587><FF08><7B80><4F53><FF09>
LanguageID=$0804
LanguageCodePage=936
; If the language you are translating to requires special font faces or
; sizes, uncomment any of the following entries and change them accordingly.
DialogFontName=宋體
;DialogFontSize=8
;WelcomeFontName=Verdana
;WelcomeFontSize=12
;TitleFontName=Arial
;TitleFontSize=29
;CopyrightFontName=Arial
;CopyrightFontSize=8

[Messages]

; *** Application titles
SetupAppTitle=安裝嚮導
SetupWindowTitle=安裝嚮導 - %1
UninstallAppTitle=卸載嚮導
UninstallAppFullTitle=%1卸載嚮導

; *** Misc. common
InformationTitle=信息
ConfirmTitle=確認
ErrorTitle=錯誤

; *** SetupLdr messages
SetupLdrStartupMessage=安裝嚮導將在您的電腦上安裝%1。肯定要繼續嗎?
LdrCannotCreateTemp=沒法建立臨時文件。安裝已終止
LdrCannotExecTemp=沒法運行臨時文件夾中的文件。安裝已終止

; *** Startup error messages
LastErrorMessage=%1.%n%n錯誤 %2: %3
SetupFileMissing=安裝目錄中缺失文件%1。請解決該問題,或從新獲取一份程序拷貝。
SetupFileCorrupt=安裝文件已被損壞。請從新獲取一份程序拷貝。
SetupFileCorruptOrWrongVer=安裝文件已被損壞,或與本安裝嚮導版本不兼容。請解決該問題,或從新獲取一份程序拷貝。
InvalidParameter=無效命令行參數:%n%n%1
SetupAlreadyRunning=安裝程序已經運行。
WindowsVersionNotSupported=程序不支持您電腦上運行的Windows版本。
WindowsServicePackRequired=程序要求%1 Service Pack %2或更新版本。
NotOnThisPlatform=程序不可在%1上運行。
OnlyOnThisPlatform=程序必須在%1上運行。
OnlyOnTheseArchitectures=程序只能在爲如下處理器架構所設計的Windows版本上安裝:%n%n%1
MissingWOW64APIs=您所使用的Windows版本沒有包含進行64位安裝所需的功能。請安裝Service Pack %1解決此問題。
WinVersionTooLowError=程序要求%2版本或以上的%1。
WinVersionTooHighError=程序不可安裝的%2或更高版本的%1上。
AdminPrivilegesRequired=您必須登陸爲管理員才能安裝此程序。
PowerUserPrivilegesRequired=您必須登陸爲管理員或高權限用戶才能安裝此程序。
SetupAppRunningError=安裝嚮導檢測到%1正在運行。%n%n請關閉其全部窗口並點擊「肯定」繼續,或點擊「取消」退出安裝。
UninstallAppRunningError=卸載嚮導檢測到%1正在運行。%n%n請關閉其全部窗口,而後點擊「肯定」繼續,或點擊「取消」退出。

; *** Misc. errors
ErrorCreatingDir=安裝嚮導沒法建立文件夾「%1」
ErrorTooManyFilesInDir=因爲文件夾「%1」中文件過多,沒法在其中建立文件

; *** Setup common messages
ExitSetupTitle=退出安裝嚮導
ExitSetupMessage=安裝還沒有完成。若是如今退出,程序將不會被安裝。 %n%n您能夠下次再運行安裝嚮導來完成程序的安裝。%n%n肯定退出安裝嚮導嗎?
AboutSetupMenuItem=關於安裝嚮導(&A)…
AboutSetupTitle=關於安裝嚮導
AboutSetupMessage=%1版本%2%n%3%n%n%1主頁:%n%4
AboutSetupNote=
TranslatorNote=

; *** Buttons
ButtonBack=< 上一步(&B)
ButtonNext=下一步(&N) >
ButtonInstall=安裝(&I)
ButtonOK=肯定
ButtonCancel=取消
ButtonYes=是(&Y)
ButtonYesToAll=全選是(&A)
ButtonNo=否(&N)
ButtonNoToAll=全選否(&O)
ButtonFinish=結束(&F)
ButtonBrowse=瀏覽(&B)…
ButtonWizardBrowse=瀏覽(&R)…
ButtonNewFolder=建立文件夾(&M)

; *** "Select Language" dialog messages
SelectLanguageTitle=選擇語言
SelectLanguageLabel=選擇安裝時使用語言:

; *** Common wizard text
ClickNext=點擊「下一步」繼續,或「取消」退出安裝嚮導。
BeveledLabel=
BrowseDialogTitle=瀏覽選擇文件夾
BrowseDialogLabel=在如下列表中選取一個文件夾,並點擊「肯定」。
NewFolderName=新建文件夾

; *** "Welcome" wizard page
WelcomeLabel1=歡迎使用[name]安裝嚮導
WelcomeLabel2=本嚮導將在您的電腦上安裝[name/ver]%n%n建議您在繼續以前關閉其餘全部應用程序。

; *** "Password" wizard page
WizardPassword=密碼
PasswordLabel1=本安裝程序由密碼保護。
PasswordLabel3=請輸入密碼,並點擊「下一步」。密碼區分大小寫。
PasswordEditLabel=密碼(&P):
IncorrectPassword=您輸入的密碼不正確。請重試。

; *** "License Agreement" wizard page
WizardLicense=許可協議
LicenseLabel=請閱讀如下重要信息,而後再進入下一步。
LicenseLabel3=請閱讀如下許可協議。您必須接受此協議的條款,而後才能繼續安裝。
LicenseAccepted=我接受協議(&A)
LicenseNotAccepted=我不接受協議(&D)

; *** "Information" wizard pages
WizardInfoBefore=信息
InfoBeforeLabel=請閱讀如下重要信息再進入下一步。
InfoBeforeClickLabel=準備好繼續安裝後,點擊「下一步」。
WizardInfoAfter=信息
InfoAfterLabel=請閱讀如下重要信息再進入下一步。
InfoAfterClickLabel=準備好繼續安裝後,點擊「下一步」。

; *** "User Information" wizard page
WizardUserInfo=用戶信息
UserInfoDesc=請輸入您的信息
UserInfoName=用戶名稱(&U):
UserInfoOrg=機構名稱(&O):
UserInfoSerial=序列號碼(&S):
UserInfoNameRequired=必須輸入用戶名

; *** "Select Destination Location" wizard page
WizardSelectDir=選擇安裝位置
SelectDirDesc=將[name]安裝到何處?
SelectDirLabel3=安裝嚮導將把[name]安裝到如下文件夾中。
SelectDirBrowseLabel=點擊「下一步」繼續。若是您要選擇不一樣的文件夾,請點擊「瀏覽」。
DiskSpaceMBLabel=必須至少有[mb]兆字節(MB)的閒置磁盤空間。
CannotInstallToNetworkDrive=沒法安裝至網絡驅動器。
CannotInstallToUNCPath=沒法安裝至UNC路徑。
InvalidPath=您必須輸入包括盤符的完整路徑,例如:%n%nC:\應用程序%n%n或以下格式的UNC路徑:%n%n\\服務器名\共享目錄名
InvalidDrive=您選擇的驅動器或UNC共享不存在或不可訪問。請另選一個。
DiskSpaceWarningTitle=磁盤空間不足
DiskSpaceWarning=必須至少有%1千字節(KB)的閒置空間纔可安裝,但所選驅動器僅有%2千字節(KB)可用空間。%n%n您肯定要繼續嗎?
DirNameTooLong=文件夾名稱或路徑太長。
InvalidDirName=文件夾名稱無效。
BadDirName32=文件夾名稱不能包含下列字符:%n%n%1
DirExistsTitle=文件夾已存在
DirExists=文件夾%n%n%1%n%n已存在。您肯定要安裝到該文件夾嗎?
DirDoesntExistTitle=文件夾不存在
DirDoesntExist=文件夾%n%n%1%n%n不存在。您要建立該文件夾嗎?

; *** "Select Components" wizard page
WizardSelectComponents=選擇組件
SelectComponentsDesc=要安裝哪些組件?
SelectComponentsLabel2=請選擇要安裝的組件,清除不要安裝的組件。準備好後點擊「下一步」。
FullInstallation=所有安裝
; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
CompactInstallation=簡潔安裝
CustomInstallation=自定義安裝
NoUninstallWarningTitle=組件已存在
NoUninstallWarning=安裝嚮導檢測到已經安裝下列組件:%n%n%1%n%n取消選定不會卸載這些組件。%n%n您肯定要繼續安裝嗎?
ComponentSize1=%1千字節(KB)
ComponentSize2=%1兆字節(MB)
ComponentsDiskSpaceMBLabel=目前所選組件要求至少[mb]兆字節(MB)磁盤空間。

; *** "Select Additional Tasks" wizard page
WizardSelectTasks=選擇附加任務
SelectTasksDesc=要執行哪些附加任務?
SelectTasksLabel2=請選擇安裝[name]時須要執行的附加任務,而後點擊「下一步」。

; *** "Select Start Menu Folder" wizard page
WizardSelectProgramGroup=選擇開始菜單文件夾
SelectStartMenuFolderDesc=把程序快捷方式放到哪裏?
SelectStartMenuFolderLabel3=安裝嚮導將在如下開始菜單文件夾中建立程序快捷方式。
SelectStartMenuFolderBrowseLabel=點擊「下一步」繼續。如要選擇另外一個文件夾,點擊「瀏覽」。
MustEnterGroupName=您必須輸入文件夾名稱
GroupNameTooLong=文件夾名稱或路徑太長。
InvalidGroupName=文件夾名稱無效。
BadGroupName=文件夾名稱不能包含下列字符:%n%n%1
NoProgramGroupCheck2=不要建立開始菜單文件夾(&D)

; *** "Ready to Install" wizard page
WizardReady=安裝準備完畢
ReadyLabel1=安裝嚮導已準備完畢,將開始在您的電腦上安裝[name]。
ReadyLabel2a=點擊「安裝」開始安裝。如要確認或更改設置請點擊「上一步」。
ReadyLabel2b=點擊「安裝」開始安裝。
ReadyMemoUserInfo=用戶信息:
ReadyMemoDir=安裝位置:
ReadyMemoType=安裝類型:
ReadyMemoComponents=所選組件:
ReadyMemoGroup=開始菜單文件夾:
ReadyMemoTasks=附加任務:

; *** "Preparing to Install" wizard page
WizardPreparing=準備安裝
PreparingDesc=安裝嚮導正在準備在您的電腦上安裝[name]。
PreviousInstallNotCompleted=上次程序安裝/卸載未能完成。您須要重啓電腦來完成上次安裝。%n%n電腦重啓以後,請從新運行安裝嚮導來安裝[name]。 
CannotContinue=安裝沒法繼續。請點擊「取消」退出。
ApplicationsFound=安裝嚮導須要更新的文件被下列應用程序佔用。建議容許安裝嚮導自動關閉這些應用程序。
ApplicationsFound2=安裝嚮導須要更新的文件被下列應用程序佔用。建議容許安裝嚮導自動關閉這些應用程序。安裝完成後,安裝嚮導將嘗試從新啓動這些應用程序。 
CloseApplications=自動關閉應用程序(&A)
DontCloseApplications=不自動關閉應用程序(&D)
ErrorCloseApplications=安裝嚮導沒法自動關閉全部的應用程序。在進入下一步以前,建議您關閉那些佔用安裝嚮導須要更新文件的應用程序。

; *** "Installing" wizard page
WizardInstalling=正在安裝
InstallingLabel=請稍候,安裝嚮導正在您的電腦上安裝[name]。

; *** "Setup Completed" wizard page
FinishedHeadingLabel=[name]安裝完成
FinishedLabelNoIcons=安裝嚮導已在您的電腦上安裝[name]。
FinishedLabel=安裝嚮導已在您的電腦上安裝[name]。能夠經過已安裝的快捷方式來打開此應用程序。
ClickFinish=點擊「結束」退出安裝。
FinishedRestartLabel=爲了完成[name]的安裝,安裝嚮導必須重啓您的電腦。要當即重啓嗎?
FinishedRestartMessage=爲了完成[name]的安裝,安裝嚮導必須重啓您的電腦。%n%n要當即重啓嗎?
ShowReadmeCheck=是,我要閱讀自述文件
YesRadio=是,當即重啓電腦(&Y)
NoRadio=否,稍後我再重啓電腦(&N)
; used for example as 'Run MyProg.exe'
RunEntryExec=運行%1
; used for example as 'View Readme.txt'
RunEntryShellExec=查閱%1

; *** "Setup Needs the Next Disk" stuff
ChangeDiskTitle=安裝嚮導須要下一張磁盤
SelectDiskLabel2=請插入磁盤%1 並點擊「肯定」。%n%n若是該磁盤中的文件並不在如下所示文件夾中,請輸入正確的路徑或點擊「瀏覽」。
PathLabel=路徑(&P):
FileNotInDir2=文件「%1」不在「%2」中。請插入正確的磁盤或選擇其它文件夾。
SelectDirectoryLabel=請指定下一張磁盤的位置。

; *** Installation phase messages
SetupAborted=安裝未能完成。%n%n請解決問題後再從新運行安裝嚮導。
EntryAbortRetryIgnore=點擊「重試」從新嘗試,點擊「忽略」繼續安裝,或點擊「停止」取消安裝。

; *** Installation status messages
StatusClosingApplications=正在關閉應用程序…
StatusCreateDirs=正在建立文件夾…
StatusExtractFiles=正在取出文件…
StatusCreateIcons=正在建立快捷方式…
StatusCreateIniEntries=正在建立INI條目…
StatusCreateRegistryEntries=正在建立註冊表條目…
StatusRegisterFiles=正在建立註冊表項目…
StatusSavingUninstall=正在保存卸載信息…
StatusRunProgram=正在結束安裝…
StatusRestartingApplications=正在重啓應用程序…
StatusRollback=正在撤銷更改…

; *** Misc. errors
ErrorInternal2=內部錯誤:%1
ErrorFunctionFailedNoCode=%1失敗
ErrorFunctionFailed=%1失敗,錯誤碼%2
ErrorFunctionFailedWithMessage=%1失敗,錯誤碼%2。%n%3
ErrorExecutingProgram=沒法運行程序:%n%1

; *** Registry errors
ErrorRegOpenKey=打開註冊表鍵時出錯:%n%1\%2
ErrorRegCreateKey=建立註冊表鍵時出錯:%n%1\%2
ErrorRegWriteKey=寫入註冊表鍵時出錯:%n%1\%2

; *** INI errors
ErrorIniEntry=在文件「%1」中建立INI條目時出錯。

; *** File copying errors
FileAbortRetryIgnore=點擊「重試」從新嘗試,點擊「忽略」跳過此文件(不推薦這樣作),或點擊「停止」取消安裝。
FileAbortRetryIgnore2=點擊「重試」從新嘗試,點擊「忽略」繼續安裝(不推薦這樣作),或點擊「停止」取消安裝。
SourceIsCorrupted=源文件已損壞
SourceDoesntExist=源文件「%1」不存在
ExistingFileReadOnly=現有文件被標記爲只讀。%n%n點擊「重試」移除其只讀屬性並從新嘗試,點擊「忽略」跳過此文件,或點擊「停止」取消安裝。
ErrorReadingExistingDest=讀取現有文件時出錯:
FileExists=文件已存在。%n%n讓安裝嚮導覆蓋它嗎?
ExistingFileNewer=現有文件比安裝嚮導試圖安裝的還要新。建議保留現有文件。%n%n您要保留現有文件嗎?
ErrorChangingAttr=更改現有文件屬性時出錯:
ErrorCreatingTemp=在目的文件夾中建立文件時出錯:
ErrorReadingSource=讀取源文件時出錯:
ErrorCopying=複製文件時出錯:
ErrorReplacingExistingFile=替換現有文件時出錯:
ErrorRestartReplace=重啓替換失敗:
ErrorRenamingTemp=爲目的文件夾中文件重命名時出錯:
ErrorRegisterServer=沒法註冊動態庫或控件(DLL/OCX):%1
ErrorRegSvr32Failed=運行RegSvr32失敗,其返回值爲:%1
ErrorRegisterTypeLib=沒法註冊類型庫:%1

; *** Post-installation errors
ErrorOpeningReadme=打開自述文件時出錯。
ErrorRestartingComputer=安裝嚮導沒法重啓電腦。請手動重啓。

; *** Uninstaller messages
UninstallNotFound=文件「%1」不存在。沒法卸載。
UninstallOpenError=沒法打開文件「%1」。沒法卸載
UninstallUnsupportedVer=此版本的卸載嚮導沒法識別卸載日誌文件「%1」的格式。沒法卸載
UninstallUnknownEntry=在卸載日誌中遇到未知條目 (%1)
ConfirmUninstall=您是否肯定要徹底刪除%1及其全部組件?
UninstallOnlyOnWin64=此安裝只能在64位Windows上卸載。
OnlyAdminCanUninstall=此安裝只能由具有管理員權限的用戶卸載。
UninstallStatusLabel=請稍候,正在刪除%1。
UninstalledAll=已成功地從您的電腦中刪除%1。
UninstalledMost=%1卸載完畢。%n%n某些項目沒法在卸載過程當中刪除。能夠手動刪除這些項目。
UninstalledAndNeedsRestart=若要完成%1的卸載,必須重啓電腦。%n%n要當即重啓嗎?
UninstallDataCorrupted=文件「%1」已損壞。沒法卸載

; *** Uninstallation phase messages
ConfirmDeleteSharedFileTitle=刪除共享文件嗎?
ConfirmDeleteSharedFile2=系統顯示沒有任何程序使用如下共享文件。要刪除該共享文件嗎?%n%n若是有程序使用該文件,當它被刪除後這些程序可能沒法正常運行。若是不肯定,請選擇「否」。留下該文件不會對系統形成任何危害。
SharedFileNameLabel=文件名:
SharedFileLocationLabel=位置:
WizardUninstalling=卸載狀態
StatusUninstalling=正在卸載%1…

; *** Shutdown block reasons
ShutdownBlockReasonInstallingApp=正在安裝%1。
ShutdownBlockReasonUninstallingApp=正在卸載%1。

; The custom messages below aren't used by Setup itself, but if you make
; use of them in your scripts, you'll want to translate them.

[CustomMessages]

NameAndVersion=%1版本%2
AdditionalIcons=附加快捷方式:
CreateDesktopIcon=建立桌面快捷方式(&D)
CreateQuickLaunchIcon=建立快速啓動欄快捷方式(&Q)
ProgramOnTheWeb=%1網站
UninstallProgram=卸載%1
LaunchProgram=運行%1
AssocFileExtension=將%1與%2文件擴展名關聯(&A)
AssocingFileExtension=正在將%1與%2文件擴展名關聯…
AutoStartProgramGroupDescription=啓動:
AutoStartProgram=自動啓動%1
AddonHostProgramNotFound=在您所選文件夾中找不到%1。%n%n是否仍然繼續?

將此文件複製到InnoSetup安裝路徑下的Languages目錄中,修改iss腳本[Languages]標籤以下:

[Languages]
Name: "chinese"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"

能夠發現安裝程序已經漢化

END

相關文章
相關標籤/搜索