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、定义的变量赋值一定要注意  :=是不可以分开的

你可能感兴趣的:(InnoSetup)