windowsclient开发--为你的client进行国际化

本文介绍了一种基于XML配置文件实现软件国际化的方案。利用GetUserDefaultUILanguage函数判断用户的语言环境,并据此选择加载中文简体、繁体或英文的XML文件。每种语言的XML文件包含相同的键值对,但值部分对应不同的语言翻译。

之前博客讲过函数:
GetUserDefaultUILanguage
Returns the language identifier for the user UI language for the current user.

我们国际化主要是支持三种语言,中文简体、繁体中文、以及英文。

获得用户使用语言
所以我们能够通过GetUserDefaultUILanguage函数来推断用户使用的是何种语言:

int response_code = GetUserDefaultUILanguage();
    switch (response_code)
    {
    case 2052:  
        //显示中文简体
        break;
    case 1028:
        //显示繁体中文
        break;
    default:
       //其它情况都使用英文
        break;
    }

创建对应的xml
前一篇关于windowsclient的博客也介绍了怎样使用tinyxml来解析xml。也为我们的国际化做了铺垫。

所以。我们能够创建三个xml文件,各自是
simple_chinese.xml
traditional_chinese.xml
English.xml

这三个xml文件里。每一个节点的key同样。value不同。
比方在simple_chinese.xml中这样写:

<?xml version="1.0" encoding="utf-8"?>  
<Strings>  
  <!--close button tip-->  
  <String>  
    <StringKey>CloseTips</StringKey>  
    <StringValue>关闭</StringValue>  
  </String>  
<Strings>  

在traditional_chinese.xml中能够这么写:

<?xml version="1.0" encoding="utf-8"?

>

<Strings> <!--close button tip--> <String> <StringKey>CloseTips</StringKey> <StringValue>關閉</StringValue> </String> <Strings>

而在English.xml中就能够这么写:

<?xml version="1.0" encoding="utf-8"?>  
<Strings>  
  <!--close button tip-->  
  <String>  
    <StringKey>CloseTips</StringKey>  
    <StringValue>close</StringValue>  
  </String>  
<Strings> 

这样呢,就会依据用户使用的语言来读取对应的xml文件。能够把xml文件里的内容读取到map中,然后剩下的工作就是在程序代码中显示了。

转载于:https://www.cnblogs.com/wzjhoutai/p/7398777.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值