windowsclient开发--为你的client进行国际化
之前博客讲过函数:
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进行国际化的更多相关文章
- windowsclient开发--使你的client执行时记住上次关闭的大小和位置
差点儿全部的windowsclient都能够调整大小,所以用户依据自己的喜好调整client的大小和位置. 可是当该client退出后,又一次执行client的时候.我们往往又要调整自己喜好的大小和位 ...
- 在C#开发中如何使用Client Object Model客户端代码获得SharePoint 网站、列表的权限情况
自从人类学会了使用火,烤制的方式替代了人类的消化系统部分功能,从此人类的消化系统更加简单,加速了人脑的进化:自从SharePoint 2010开始有了Client Side Object Model ...
- windowsclient开发--使用、屏蔽一些快捷键
每一个windowsclient都有自己的一些快捷键,有的是windows系统提供的. 今天就要与大家分享一下.在windowsclient开发过程中对按键的处理. ESC按键 Duilib这个库中, ...
- windowsclient开发--依据可下载url另存为文件(微信windowsclient这样做的)
能够我的blog的标题会让你误解,那么好,没图说了xx: 比方微信windowsclient发送了一张图片,我们能够预览这张图片,还能够保存到本地: 那么windows程序是怎样下载这张图片的呢? 是 ...
- windowsclient开发--为你clientsign一个签名证书
郑重声明:该方法自娱自乐,尽管写入了签名,可是在微软系统免签证书不是合格的. 什么是签名? 话不多说,上图(没图说个xx): 微信windowsclient.exe安装文件: 再看还有一个.exe文件 ...
- Windowsclient开发简单介绍(四)
在上一篇文章里,我简单扼要的给大家介绍了一下GDI的基础知识,包含DC,HDC.GDI对象等等,总的来说都是些偏理论的知识,属于概念的范畴. 今天这篇文章里,我就要正式開始有点实际的东 ...
- Jetty开发指导:HTTP Client
介绍 Jetty HTTP client模块提供易用的API.工具类和一个高性能.异步的实现来运行HTTP和HTTPS请求. Jetty HTTP client模块要求Java版本号1.7或者更高,J ...
- windowsclient开发--怎样測量一个字符串显示的物理长度
首先须要说明的是,我所说的字符串的长度,不是string的length,也不是string的size.我指的是显示的长度.即物理长度. 缘由: 之所以要提到这个.是由于遇到了一些问题. 再使用duil ...
- [iOS]怎样在iOS开发中切换显示语言实现国际化
1.在Project设置,加入中英两种语言: 2.新建Localizable.strings文件,作为多语言相应的词典,存储多种语言,点击右側Localization,勾选中英: watermark/ ...
随机推荐
- vue那些事儿
本篇文章基于vue2,vuejs不支持ie8,因为es5的Object.defineProperty特性不被ie8支持,而vue正是使用Object.defineProperty把遍历过的data属性 ...
- MySQL中查询获取每个班级成绩前三名的学生信息
CREATE TABLE t_testscore( pk_id INT PRIMARY KEY, c_name VARCHAR(50) , c_score INT, c_class INT )DEFA ...
- Windows 下安装 swoole 具体步骤(php)
Windows 下安装 swoole 具体步骤: Swoole,原本不支持在Windows下安装的,所以我们要安装Cygwin来使用.在安装Cygwin下遇到了很多坑,百度经验上的文档不是很全,所以我 ...
- 码云 使用 汉化 GitHub
enhancement 增强feature 功能duplicate 重复的invalid 无效的wontfix 无法修改 不处理 ===== Wiki 主要是您项目的文档(说明, 状态)等等. 该项目 ...
- BZOJ 4552 [Tjoi2016&Heoi2016]排序 线段树的分裂和合并
https://www.lydsy.com/JudgeOnline/problem.php?id=4552 https://blog.csdn.net/zawedx/article/details/5 ...
- BZOJ.2118.墨墨的等式(思路 最短路Dijkstra 按余数分类)
题目链接 题意可以看做,用\(a_1,a_2,...,a_n\),能组成多少个\([L,R]\)中的数. (40分就是个完全背包) 首先如果\(k*a_i+x\)可以组成,那么\((k+1)*a_i+ ...
- mongodb操作符
1."$gt" ."$gte". "$lt". "$lte"."null查询"."$all ...
- oracle 语句 笔记
1.查询某个表有多少列. select column_name from user_tab_columns where table_name = 'DQ_S1'; 列出所有的字段名. 2.查询昨天一天 ...
- iOS11适配
链接: 你可能需要为你的 APP 适配 iOS 11 iOS11新特性,如何适配iOS11 App界面适配iOS11(包括iPhoneX的奇葩尺寸) iOS 11 安全区域适配总结 iOS 11 sa ...
- CustomJsonDateDeserializer @JsonDeserialize(using = CustomJsonDateDeserializer.class) Jackson 反序列化Date时遇到的问题 java中json日期属性反序列化
public class CustomJsonDateDeserializer extends JsonDeserializer<Date> { @Override public Date ...