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

时间: 2024-11-10 00:08:14

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

【CocoStudio游戏开发之四】UI.json 图片国际化

cocos2dx 3.0 CocoStudio1.4.1 做界面的时候用到了CocoStudio生成的UI.json文件,需要做语言本地化,论坛中有朋友给出了方法: 将本地化的图片设定格式,英文的叫button_store_normal.en.png 中文的叫button_store_normal.zh.png ...... 按照这种规则,根据需要的语言来加载不同的图片 我们用到的是另一种方法: 修改json文件,这里并不是真正的修改json文件,只是在读取json文件到内存后,不是立即交予GU

[iOS]如何在iOS开发中切换显示语言实现国际化

1.在Project设置,添加中英两种语言: 2.新建Localizable.strings文件,作为多语言对应的词典,存储多种语言,点击右侧Localization,勾选中英: 3.添加一个字段, 在English中,添加:"SUBMIT_BTN_TITLE" = "Go"; 在Chinese中,添加:"SUBMIT_BTN_TITLE" = "开始"; 4.一个工具类GDLocalizableController,用来切换

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

自从人类学会了使用火,烤制的方式替代了人类的消化系统部分功能,从此人类的消化系统更加简单,加速了人脑的进化:自从SharePoint 2010开始有了Client Side Object Model ,我们就可以不用在服务器上开发SharePoint解决方案了,开发的方式更加多元化,这又加速了SharePoint 更大范围的应用. 现在,我们可以在任一台PC上安装Visual Studio 然后使用类似于 Object Model的模型来访问服务器上的列表.网站或是其它任何东东. 那么 ,如何使

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

1.在Project设置,加入中英两种语言: 2.新建Localizable.strings文件,作为多语言相应的词典,存储多种语言,点击右側Localization,勾选中英: 3.加入一个字段, 在English中,加入:"SUBMIT_BTN_TITLE" = "Go"; 在Chinese中,加入:"SUBMIT_BTN_TITLE" = "開始"; 4.一个工具类GDLocalizableController.用来切换

Windowsclient开发简单介绍(四)

在上一篇文章里,我简单扼要的给大家介绍了一下GDI的基础知识,包含DC,HDC.GDI对象等等,总的来说都是些偏理论的知识,属于概念的范畴. 今天这篇文章里,我就要正式開始有点实际的东西了.我会教大家一些GDI的基本功能代码编写.主要的技巧,当然还有怎样避免主要的坑.哈哈,对的,主要的坑而不是高级的. 那么我要怎样说起呢.首先我要告诉大家怎样创建DC.怎样使用DC,怎样设置DC的属性(也就是GDI对象),怎样在DC上绘制简单的文字,绘制图形,绘制图片也就是位图. 我还会附带的说说GDI+,说说C

Jetty开发指导:HTTP Client

介绍 Jetty HTTP client模块提供易用的API.工具类和一个高性能.异步的实现来运行HTTP和HTTPS请求. Jetty HTTP client模块要求Java版本号1.7或者更高,Java 1.8的应用能用lambda表达式在一些HTTP client API中. Jetty HTTP client被实现和提供一个异步的API.不会由于I/O时间堵塞,因此使它在线程的利用上更有效率,并不是常适合用于负载測试和并行计算. 然而,有时你全部须要做的是对一个资源运行一个GET请求,H

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

首先须要说明的是,我所说的字符串的长度,不是string的length,也不是string的size.我指的是显示的长度.即物理长度. 缘由: 之所以要提到这个.是由于遇到了一些问题. 再使用duilib进行开发时.发现label控件不能自适应宽度. 思考: 这显示是这个库的一个不足,可是我们能够试图去改动一下这个库. 可是本着开源的精神.也许这个库的设计初衷就是label不能自适应字符串的宽度呢? 全部仅仅有走第二条路,我们首先获得要显示字符串的宽度width值.然后把这个label的宽度设置

windowsclient开发--duilib显示html

今天与大家分享的就是duilib这个库中,怎样做到显示html的. 有些控件,如Text能够通过showhtml函数来设置是否显示html富文本. 加粗 {b}加粗{/b} 斜体 {i}斜体{/i} 下划线 {u}下划线{/u} 被选中 {s}被选中{/s} 换行 {n} 链接 这个是最重要的 个人认为. {a http://www.baidu.com}百度{/a>} 比如: 输入 www.baidu.com {n} {b}加粗{/b} {n} {i}斜体{/i}{n} {u}下划线{/u} {

javaweb学习总结(三十一)——国际化(i18n)

一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationalization)又称为 i18n(读法为i 18 n,据说是因为internationalization(国际化)这个单词从i到n之间有18个英文字母,i18n的名字由此而来) 二.合格的国际化软件 软件实现国际化,需具备以下两个特征: 1.对于程序中固定使用的文本元素,例如菜单栏.导航条等中使用的文本