MiniGUI初步学习心得2

        首先闲扯几句,这两天研究了一下“Minigui 语言国际化”的问题,看过文档的大多都知道 Minigui 是支持语言国际化的。鄙人也看了一下demo中的语言设置。总结了一下。供大家参考。废话不多说了转入正题。

        一.使用miniStudio设置多语言

          1.在miniStudio的界面中如下图 可以添加多种语言。在这个界面的右上角有个 扳手 图标 点击可添加

MiniGUI初步学习心得2_第1张图片

2 .点击Add 可添加相应的语言,通过 Set Current  或者 Set Default 的方式来设置当前和默认使用的是哪种语言。 

MiniGUI初步学习心得2_第2张图片

这种设置方法有个弊端,他只能在编译的时候使用,不能在代码里动态设置。(也许是鄙人比较菜没找到代码里设置的方法)如果有高手知道 还望不吝赐教。

二. 通过设置配置文件的方式来实现语言的国际化。

1.Minigui 提供了如下方法来保存和读取配置文件信息

   SetValueToEtcFile (const char* pEtcFile, const char* pSection, const char* pKey, char* pValue);

   GetValueFromEtcFile (const char* pEtcFile, const char* pSection, const char* pKey, char* pValue, int iLen);

2.先说一下的鄙人的思路:

    首先讲应用里设计到语言转换的地方 都在文件中按照如下键值对方式设置好,然后通过GetValueFromEtcFile获取相应的值,然后将数据设置到界面控件上。

3.   首先在项目的根目录新建一个文件名字由你定,eg:language。

文件中我手动键入了一下两种语言一个section是中文,一个section是英文。韩文 日文鄙人不会,您就将就看吧。

[section_zh]
key_t=你好
[section_en]
key_t=hello

在我的language 文件中 由两种语言,你也可以讲这两种语言分成两个文件来存储。

4.调用文件进行语言设置。

程序中可以在flash中设置个标记,存储当前设置的是中文还是英文。然后在加载应用的时候从文件中读取相应的语言就可以了。
  



char * getvalue[13];
int length = 13;
int flash=0;//默认设置是0=中文,1=英文;
char * section="section_zh";
if(flash==1){
    section="section_en";
}
GetValueFromEtcFile("language", section, "key_t", getvalue, length);
SetWindowText(你的控件, getvalue);

这样就可以动态切换语言了。

如果有不对的地方 还望大神不吝赐教。

 

 

 

 

 

 

 

 

你可能感兴趣的:(嵌入式开发,Linux,Minigui)