Inno Setup 獲取當前語言的名稱,安裝完成後,依據名稱進行檔案拷貝
阿新 • • 發佈:2019-01-30
今天專案上遇到需求如下:
安裝包中英文可選,應用程式可以根據配置檔案實現中英文的切換,預設配置檔案中是中文,現在想要的是如果安裝包選擇了英文,配置檔案裡面預設就改成英文。
有點繞,但應該是說明白了。
遇到的難點:
1、如何獲取安裝包的語言型別?
2、如何修改配置檔案?
針對問題1 網上沒有太多的說明,最後學習群裡的一位朋友,一語道破“ActiveLanguage()”
就是這個函式,可以獲取語言名稱。
針對問題2 直接改配置檔案項顯然工作量不小,退而求其次,改內容不成,就拷貝檔案麼。
多語言切換的在另一篇博文中有說明,下面直接貼程式碼
// 頁面切換事件
procedure CurPageChanged(CurPageID: Integer);
var
languageName: string;
res: bool;
begin
if CurPageID = wpFinished then
begin
languageName := ActiveLanguage(); // 獲取使用者選擇的語言
if' en'=languageName then
begin
res:=FileCopy(ExpandConstant('{app}')+'\PicoVR\Data\picohome.ini',ExpandConstant('{app}')+'\picohome.ini',false);
end
end;
最後補充一些技巧:
1、[Code]中所有的相對路徑都要轉換為絕對路徑 ,用ExpandConstant('{app}');
2、定義的變數賦值一定要注意 :=是不可以分開的