之前博客讲过函数:

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中,然后剩下的工作就是在程序代码中显示了。

windowsclient开发--为你的client进行国际化的更多相关文章

  1. windowsclient开发--使你的client执行时记住上次关闭的大小和位置

    差点儿全部的windowsclient都能够调整大小,所以用户依据自己的喜好调整client的大小和位置. 可是当该client退出后,又一次执行client的时候.我们往往又要调整自己喜好的大小和位 ...

  2. 在C#开发中如何使用Client Object Model客户端代码获得SharePoint 网站、列表的权限情况

    自从人类学会了使用火,烤制的方式替代了人类的消化系统部分功能,从此人类的消化系统更加简单,加速了人脑的进化:自从SharePoint 2010开始有了Client Side Object Model ...

  3. windowsclient开发--使用、屏蔽一些快捷键

    每一个windowsclient都有自己的一些快捷键,有的是windows系统提供的. 今天就要与大家分享一下.在windowsclient开发过程中对按键的处理. ESC按键 Duilib这个库中, ...

  4. windowsclient开发--依据可下载url另存为文件(微信windowsclient这样做的)

    能够我的blog的标题会让你误解,那么好,没图说了xx: 比方微信windowsclient发送了一张图片,我们能够预览这张图片,还能够保存到本地: 那么windows程序是怎样下载这张图片的呢? 是 ...

  5. windowsclient开发--为你clientsign一个签名证书

    郑重声明:该方法自娱自乐,尽管写入了签名,可是在微软系统免签证书不是合格的. 什么是签名? 话不多说,上图(没图说个xx): 微信windowsclient.exe安装文件: 再看还有一个.exe文件 ...

  6. Windowsclient开发简单介绍(四)

            在上一篇文章里,我简单扼要的给大家介绍了一下GDI的基础知识,包含DC,HDC.GDI对象等等,总的来说都是些偏理论的知识,属于概念的范畴. 今天这篇文章里,我就要正式開始有点实际的东 ...

  7. Jetty开发指导:HTTP Client

    介绍 Jetty HTTP client模块提供易用的API.工具类和一个高性能.异步的实现来运行HTTP和HTTPS请求. Jetty HTTP client模块要求Java版本号1.7或者更高,J ...

  8. windowsclient开发--怎样測量一个字符串显示的物理长度

    首先须要说明的是,我所说的字符串的长度,不是string的length,也不是string的size.我指的是显示的长度.即物理长度. 缘由: 之所以要提到这个.是由于遇到了一些问题. 再使用duil ...

  9. [iOS]怎样在iOS开发中切换显示语言实现国际化

    1.在Project设置,加入中英两种语言: 2.新建Localizable.strings文件,作为多语言相应的词典,存储多种语言,点击右側Localization,勾选中英: watermark/ ...

随机推荐

  1. 2019最新最全HUSTOJ本地及云端服务器搭建(基于腾讯云服务器)

    在刚接触ACM的时候,对于那些在线测评的网站很感兴趣,就在网上搜索了一下,在Github上发现了一个有趣的项目,然后在 Github 上获取 了HUST OJ 的开源项目代码,根据网上的教程踩了无数的 ...

  2. chrome浏览器调试工具你会使用吗?

    浏览器调试工具使用总结 一. console使用 console.table(),可以把对象输出成表格的形式,直观的观察数据. console.dir(),可以直观观察dom元素的对象形式 二. $的 ...

  3. AGC001 E - BBQ Hard 组合数学

    题目链接 AGC001 E - BBQ Hard 题解 考虑\(C(n+m,n)\)的组合意义 从\((0,0)\)走到\((n,m)\)的方案数 从\((x,y)\)走到\((x+n,y+m)\)的 ...

  4. [CF98E]Help Shrek and Donkey(纳什均衡)

    https://www.cnblogs.com/MashiroSky/p/6576398.html #include<cstdio> #include<algorithm> # ...

  5. [CF1030E]Vasya and Good Sequences

    [CF1030E]Vasya and Good Sequences 题目大意: 给定一个长度为\(n(n\le3\times10^5)\)的数列\(a_i(1\le a_i\le10^{18})\). ...

  6. java中的文件下载

    package com.pb.down;import java.io.File;import java.io.FileInputStream;import java.io.IOException; i ...

  7. VS2012 VS2015打开项目加载失败

    VS2012 VS2015打开项目加载失败 改成这个$(MSBuildToolsVersion)试试

  8. [Asp.net core]bootstrap分页

    摘要 一直在用前后端分离,在一个后台管理的页面中,尝试封装了一个辅助类. 类 /// <summary> /// 分页viewmodel /// </summary> /// ...

  9. how to use boost program options

    From:  http://www.radmangames.com/programming/how-to-use-boost-program_options If it so happens that ...

  10. NuGet Package Explorer

    https://www.microsoft.com/zh-cn/store/p/nuget-package-explorer/9wzdncrdmdm3?ocid=badge&rtc=1