如何在htmlayout 易语言中实现多语言切换

下次自动登录
现在的位置:
& 综合 & 正文
iOS中代码支持多国语言切换的实现(Xcode5+iOS7)
为了增加的用户使用数量,那么程序的国际化是不可或缺的一步。在Xcode中要实现程序的国际化,其实非常简单,开发者只需要简单配置,并修改相应的字符串键值对即可。
应用程序的国际化主要包括三个方面:A、程序名称国际化;B、程序内容国际化;C、程序资源国际化
在Xcode中新建项目后,可以在project的info选项卡中找到Localization的项目,可以添加应用程序需要支持的国际语言。
点击+添加时,Xcode会自动把相关文件的相应语言字符串或者文件复制一份,并放于相应语言目录下(en.lproj、zh_Hans.lproj对应英语和汉语)
回到项目中可以发现在InfoPlist.strings、Main.storyboard(Main.strings)增加了相应项,而Localizable.strings文件如果已经存在的情况也会增加对应的语言版本。(默认情况,Xcode5+iOS7下Localizable文件需要新建,如下图)
完成以上的设置和文件添加,来看应用程序国际化的ABC。
A、应用名称国际化(InfoPlist.strings)
在InfoPList.strings的不同语言版本的文件中设置相应语言下程序的显示名称
/* Localized versions of Info.plist keys */
CFBundleDisplayName="test";
/* Localized versions of Info.plist keys */
CFBundleDisplayName="测试";
这样程序在运行时,就会根据设备当前设置的语言版本显示对应语言的名称。
B、内容国际化(Localizable.strings)
同样,应用程序里面的内容(组件显示的名称、提示等)可以在Localizable.strings的对应文件以键值对的形式配置;
Localizable.strings
LocalizeMe
Created by gisxy on 14-3-5.
Copyright (c) 2014年 esrixa. All rights reserved.*/"abc"="cba";"message"="this is english";"ok"="ok";
Localizable.strings
LocalizeMe
Created by gisxy on 14-3-5.
Copyright (c) 2014年 esrixa. All rights reserved.
"abc"="我是测试";
"message"="这是中文信息提示";
"ok"="确定";
需要注意的是里面:对于相应提示的代码应该使用NSLocalizedString(@"键值", nil)
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"abc", nil)
message:NSLocalizedString(@"message", nil)
delegate:self
cancelButtonTitle:NSLocalizedString(@"ok", nil)
otherButtonTitles:nil];
[alert show];
C、资源国际化
在iOS7中storyboard生成的对应语言文本文件可以通过配置相应组件的显示名称来完成国际化
/* Class = "IBUIButton"; normalTitle = "定位"; ObjectID = "qpS-qC-Lcy"; */
"qpS-qC-Lcy.normalTitle" = "定位";
对于使用xib文件组织布局的情况下,以上方法并不好使,个人建议是:复制xib文件改名,修改显示的名称,然后在代码里面来根据语言版本来加载对应的资源,该方法同样使用图片等资源。
判断当前设备语言版本:
NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
NSLog(@"language is %@",currentLanguage);
如不同语言的图片资源位于不同文件夹下,然后可以根据语言版本来动态加载:
_chineseImagesPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Images_Chinese/"];
_englishImagesPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/Images_English/"];
&&&&推荐文章:
【上篇】【下篇】Yii中实现多语言站点
通常的做法是在网站的头部显示语言切换链接,里面包含一个语言参数。
一种做法是:你可以定义一个controller基类,在它的init()里检测这个语言参数。如果有这个参数,就把Yii::app()-&language设成对应的语言,并且把该语言参数保存到session或cookie里;如果没有,你需要检查session或cookie,看看它们是否有类似的语言参数。这样做的好处是你的其它链接里不用再有这个语言参数。
另一种做法是:定义不同的hostname,对应不同的语言。然后通过hostname判断当前的语言参数。
一旦你设置对language后,yii就会根据它选取对应的view script或message进行多语言显示。
views/controller/zh_cn下的view和views/controller下的是一样的,除了静态文本需要翻译成不同的语言。
至于消息文件的格式,它就是一个php
script,包含了一个数组。具体请参考framework/messages/zh_cn/yii.php。guide里对此也有说明。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。请教JSP网页中怎么实现多国语言的切换啊 - Java Web开发当前位置:& &&&请教JSP网页中怎么实现多国语言的切换啊请教JSP网页中怎么实现多国语言的切换啊&&网友分享于:&&浏览:1021次请教JSP网页中如何实现多国语言的切换啊?本人想用JSP做一个餐馆店的服务软件,想使顾客可以在使用时能够随意地切换界面语言,请各位帮帮忙。------解决方案--------------------国际化~
------解决方案--------------------方法1是jsp中所有的标签和数据都存储在数据库中,用户选哪种语言就从库中选对应的数据进行展示;
方法2是使用几个MessageBuddle.properties文件进行定义所有的label,jsp的lable使用定义的label参数,这样通过切换properties文件就可以轻松实现国际化,而jsp文件勿需做任何改变.
------解决方案--------------------一种语言一个配置文件
默认根据浏览器使用语言判断
select语言改变是重新加载配置文件
------解决方案--------------------Struts中是不能完全实现的。因为Struts只可以国际化标签。而内容数据还是应该在数据库中设置。
设置一个字段Number(1) lang ,中文为1,英文为2,日文为3 等等
在提取数据的SQL语句中做判断。这样比较实际点。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有Android应用实现多语言切换_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Android应用实现多语言切换
来源:Linux社区&
作者:zboby
关于应用实现多语言切换,有好几种办法,网上也搜到很多资料,这里有个简单有效的办法。
步骤如下:
在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的内容拷贝一份到values-en中的strings.xml,再把该文件夹中的中文内容转换为英文,例如&string name="set"&设置&/string&转换为&string name="set"&set&/string&
然后在主Activity中添加一个方法
代码如下:
public void switchLanguage(Locale locale) {& & & & & & & &
Configuration config = getResources().getConfiguration();// 获得设置对象& & & & & & & &
Resources resources = getResources();// 获得res资源对象& & & & & & & &
DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。& & & & & & & &
config.locale = // 简体中文& & & & & & & &
resources.updateConfiguration(config, dm);& & & &
然后再在OnCreate函数中调用(也必须在OnCreate函数中调用才行)
switchLanguage(Locale.getDefault());& 或& switchLanguage(Locale.US);
最后需要注意的是:还需要在AndroidManifest.xml文件中要配置两个地方:
1、在对应activity节点中加上这个属性: android:configChanges="locale"
2、添加权限: &uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /&
更多Android相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款}

我要回帖

更多关于 java实现多语言切换 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信