1. 程式人生 > >Inno Setup 獲取當前語言的名稱,安裝完成後,依據名稱進行檔案拷貝

Inno Setup 獲取當前語言的名稱,安裝完成後,依據名稱進行檔案拷貝

今天專案上遇到需求如下:

安裝包中英文可選,應用程式可以根據配置檔案實現中英文的切換,預設配置檔案中是中文,現在想要的是如果安裝包選擇了英文,配置檔案裡面預設就改成英文。

有點繞,但應該是說明白了。

遇到的難點:

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、定義的變數賦值一定要注意  :=是不可以分開的