项目中国际化语言包的处理
来源:互联网 发布:hdp电视直播软件下载 编辑:程序博客网 时间:2024/06/06 01:46
程序中对中文进行处理,我们尽量避免程序中使用中文,但是我们要在客户端显示中文版、英文版或者其他,改怎么办呢?我们可以把它叫着国际化。
我们将中文抽取到一个txt文件中,按照key、value的命名方式,如key:value。然后讲该文件解析出来,按照key来保存value,程序中
通过key来得到value。这样就可以达到抽取语言包的效果,程序不用编译,直接替换资源文件即可。
如:
package game.managers
{
import flash.utils.Dictionary;
/**
* 资源文件处理
* @author lxh
*/
public class LanguageManager
{
private static var _words:Dictionary = new Dictionary();
private static var _familyNames:Dictionary = new Dictionary();
public static function setup(data:String):void
{
_words = new Dictionary();
var t:String = data;
data = data.split("\\n").join("\n");
var list:Array = data.split("\r\n");
for(var i:int = 0; i < list.length; i++){
var s:String = list[i];
if(s == "")continue;
if(s.indexOf("//") == 0)continue;
var n:int = s.indexOf(":");
if(n != -1){
var name:String = s.substring(0,n);
var value:String = s.substr(n + 1);
_words[name] = value;
}
}
}
public static function setupToo(data:String):void
{
if(!data) return ;
_familyNames = new Dictionary();
var t:String = data;
data = data.split("\\n").join("\n");
var list:Array = data.split("\r\n");
for(var i:int = 0; i < list.length; i++){
var s:String = list[i];
if(s == "")continue;
if(s.indexOf("//") == 0)continue;
var n:int = s.indexOf(":");
if(n != -1){
var name:String = s.substring(0,n);
var value:String = s.substr(n + 1);
_familyNames[name] = value;
}
}
}
public static function getNames(id:String,...args):String
{
var s:String = _familyNames[id];
if(s != null){
if(args.length > 0){
for(var i:int = 0; i < args.length; i++){
s = s.split("{" + (i + 1) + "}").join(args[i]);
}
}
return s;
}
return "";
}
public static function getWord(id:String,...args):String
{
var s:String = _words[id];
if(s != null){
if(args.length > 0){
for(var i:int = 0; i < args.length; i++){
s = s.split("{" + (i + 1) + "}").join(args[i]);
}
}
return s;
}
return "";
}
}
}
- 项目中国际化语言包的处理
- angular国际化angular-translate中语言包的两种形式
- 项目整理二.多语言包处理
- (三)Struts2国际化(i18n) :简单语言包的实现
- 项目中使用国际化
- IOS 国际化语言包配置(三)
- dojo的国际化处理
- Sturts2的国际化处理
- iOS项目的国际化
- 项目学习类容,日期处理,SQL语句查询,hashtable的运用,R语言包的环境配置
- struts国际化操作中遇到display标签的处理办法
- Struts2中simple主题下的国际化处理
- iPhone项目中如何才能国际化
- 关于项目中文字国际化的几点体会
- 多语言包中缺的resourceLib.java
- Struts国际化处理的配置
- Spring中的国际化的处理
- 前台页面的国际化处理
- int —>string
- 大端模式与小端模式
- 中文Mac系统下MonoDevelop乱码解决
- 一个功能齐全的SQLite数据库的帮助类
- SQL Sever触发器
- 项目中国际化语言包的处理
- 推荐 SpaceSniffer - windows上查看空间利用的利器
- 枚举类型
- unix网络编程学习(1)
- SQL 的数据访问控制
- [受教]_自己还不懂太多,收藏夹里的才是精华
- WPF中控件绑定XML文件,实现修改XML文件即可以改变程序控件内容
- 【转】Win7 更改文件夹背景
- 胜过visio的并且免费的画图软件