aardio 文档
aardio 范例: 多语言简单示例
import win.ui;
import fonts.fontAwesome;
/*DSG{{*/
var winform = win.form(text="多语言简单示例";right=676;bottom=448)
winform.add(
btnSubmit={cls="button";text="提 交";left=456;top=392;right=615;bottom=432;anchors={right=1;bottom=1};font=LOGFONT(h=-16);z=3};
editInput={cls="edit";left=35;top=56;right=648;bottom=378;anchors={left=1;top=1;right=1;bottom=1};edge=1;font=LOGFONT(h=-14);multiline=1;z=2};
labelInput={cls="static";text="请输入内容:";left=38;top=12;right=317;bottom=32;anchors={left=1;top=1};font=LOGFONT(h=-14);transparent=1;z=1}
)
/*}}*/
import string.intlPack;
/*定义多语言字符串{{*/
var langPack = string.intlPack( {
// 简体中文
["zh-CN"] = {
name = "简体中文";
title = "多语言示例程序";
labelInput = "请输入内容:";
btnSubmit = "提 交";
};
// 繁体中文
["zh-TW"] = {
name = "繁體中文";
title = "多語言範例程式";
labelInput = "請輸入內容:";
btnSubmit = "提 交";
};
// 英语
["en-US"] = {
name = "English";
title = "Multilingual Demo";
labelInput = "Enter content:";
btnSubmit = "Submit";
};
// 日语
["ja-JP"] = {
name = "日本語";
title = "多言語サンプルプログラム";
labelInput = "内容を入力:";
btnSubmit = "送 信";
};
// 韩语
["ko-KR"] = {
name = "한국어";
title = "다국어 예제 프로그램";
labelInput = "내용 입력:";
btnSubmit = "제 출";
};
// 俄语
["ru-RU"] = {
name = "Русский";
title = "Многоязычный пример";
labelInput = "Введите содержимое:";
btnSubmit = "Отправить";
};
// 西班牙语
["es"] = {
name = "Español";
title = "Ejemplo multilingüe";
labelInput = "Ingrese contenido:";
btnSubmit = "Enviar";
};
// 葡萄牙语
["pt-BR"] = {
name = "Português";
title = "Exemplo multilíngue";
labelInput = "Digite o conteúdo:";
btnSubmit = "Enviar";
};
// 德语
["de-DE"] = {
name = "Deutsch";
title = "Mehrsprachiges Beispiel";
labelInput = "Inhalt eingeben:";
btnSubmit = "Senden";
};
// 法语
["fr-FR"] = {
name = "Français";
title = "Exemple multilingue";
labelInput = "Entrez le contenu:";
btnSubmit = "Envoyer";
};
}/*,"en-US"*/);
/*}}*/
// 界面刷新函数
var updateUI = function(){
winform.text = langPack.title;
for(name,ctrl in winform.eachControl() ){
if(langPack[name]) ctrl.text = langPack[name]
}
};
if(langPack.getLangCode()!="zh-CN"){
updateUI();
}
/*
string.intlPack 只是一个演示,导入 string.intlPack 不是必须的选项。
但可以参考 string.intlPack 的源码,利用主语言 ID 更宽松地匹配语言包。
一般不建议在运行时动态切换语言,
虽然这看着很酷但并不实用(频繁切换界面语言的场景非常罕见),
浪费资源去保存不需要的资源包是不合适的。
如果软件提供切换语言的选项,建议重启生效以丢弃不需要的语言包。
如果需要支持多语言,
考虑语种使用人数与地缘因素,
建议支持的语言如下(按优先级从高到低排列):
一. 基础语言
1. 简体中文 (zh-CN)
2. 繁体中文 (zh-TW/HK)
3. 英语 (en-US)
二. 地缘因素
1. 日语 (ja-JP)
2. 韩语 (ko-KR)
3. 俄语 (ru-RU):
三. 大语种
1. 西班牙语 (es)
2. 葡萄牙语 (pt-BR)
3. 德语 (de-DE)
4. 法语 (fr-FR)
四. 可选区域
1. 越南语 (vi-VN)
2. 泰语 (th-TH)
3. 阿拉伯语 (ar)
*/
winform.show();
win.loopMessage();
Markdown 格式