问题
我想知道客户端系统使用什么语言和输入法
解决办法
使用flash.system.Capabilities.language 属性和flash.system.IME 类
讨论
flash.system.Capabilities.language 属性给出客户端系统的语言,返回两个ISO-639-1 字符
(如"fr" 代表French). 有些国家代码两个字符是不合适的,比如( "zh-CN" 代表Simplified
Chinese 和"zh-TW" 代表Traditional Chinese).
下面的代码展示如何使用语言属性:
// Example output: en-US
trace(flash.system.Capabilities.language);
var greetings:Array = new Array( );
greetings["en"] = "Hello";
greetings["es"] = "Hola";
greetings["fr"] = "Bonjour";
var lang:String = flash.system.Capabilities.language.substr(0, 2);
if (greetings[lang] == undefined) {
lang = "en";
}
trace(greetings[lang]);
如果要创建国际化的Flash,可以把文本保存在数组里,根据语言动态显示,或者直接做成
多个Flash版本(每个语言一个),如myMovie_en.swf, myMovie_es.swf, myMovie_fr.swf, 等.
//从capabilities 对象上得到语言值
var lang:String = System.capabilities.language.substr(0, 2);
// 创建支持语言数组
var supportedLanguages:Array = ["en", "es", "fr"];
// 设置默认语言.
var useLang:String = "en";
//循环匹配,如果找到,设置useLang
for (var i:int = 0; i < supportedLanguages.length; i++) {
if (supportedLanguages[i] == lang) {
useLang = lang;
break;
}
}
// 载入对应Flash
var movieURL:String = "myMovie_" + useLang + ".swf");
还有一点也很重要,比如用户使用的输入语言,比如中文,日文,韩文,输入这些字符需
要输入法,这时特定操作系统的一部分。
为了检测用户使用什么输入法,flash.system.Capabilities.hasIME, which will return true or
false. Then use the flash.system.IME 类返回关于输入法的信息。flash.system.IME.enabled 属性设
置用户是否可以使用输入法。在有些操作系统和版本上你可以发送字符串给IME 来转换成正确
的字符,接受IME 的返回,但这不是所有操作系统都支持的,最好检测下先。
相关文章
- linux系统安全及应用——弱口令检测
- c语言菜单界面退出系统,C语言怎么返回主界面
- ★C++语言期末课程设计★——图书借阅系统(完整项目+源代码+详细注释)
- 系统检测USBKey证书失败,请您按照如下步骤检查并尝试修复!
- 【目标检测】【YOLO综述】YOLOv1到YOLOv10:最快速、最精准的实时目标检测系统-4.YOLO用于多种计算机视觉任务
- 开源Flex Air版免费激情美女视频聊天室,免费网络远程视频会议系统((Flex,Fms3联合打造))
- 操作系统——使用C语言实现单链表的创建、插入、删除,要求代表最简
- setting bundle 多语言,本地化,系统设置
- TypeScript语言的操作系统原理
- 第6天: Web架构篇&域名&语言&中间件&数据库&系统&源码获取