====== 本地化支持 ======
===== 在编辑器里本地化 =====
编辑器内嵌了文本的本地化支持,你可以点击Localization -> [地点]切换到一个不同的语言,你可以立即看到文本的变化。
默认状态下,你需要修改YOUR_WORKSPACE/localization目录下的string.json文件,这个文件通过[key][locale]的格式索引
{
"hello":{"en_US":"hello", "de_DE":"hallo", "es_ES":"hola", "fr_FR":"bonjour"},
"world":{"en_US":"world", "de_DE":"wereld", "es_ES":"mundo", "fr_FR":"monde"}
}
选中需要本地化的textfield,在custom tab的localizeKey里填入相应的文本键值(你可以从自动完成文本框中选择)
就这么简单,你已经看到所有文本在编辑器中根据选中的locale本地化。
{{:builder:localize1.png?700|}}{{:builder:localize2.png?700|}}
===== 在工程里本地化 =====
编辑器可以自动化大部分本地化工作,但你有时需要通过手动编码实现。以下是一个手动本地化的例子:
vae key:String = "hello";
textField.text = uiBuilder.localization.getLocalizedText(key);
===== 自定义本地化 =====
大部分情况下,默认的本地化实现已经能够满足你的需求,但如果你想自定义本地化文本格式呢?不要担心,本地化功能的设计使它很容易定制和扩展。
=== 在工程里自定义本地化 ===
* 实现ILocalization接口,然后传入UIBuilder即可实现自定义本地化
=== 在编辑器里自定义本地化 ===
* 除了实现ILocalization接口,你还需要实现ILocalizationFileWrapper,并编译成swf文件。你可以把代码编译进EmbeddedTheme.swf,EmbeddedComponents.swf或者一个新的swf文件。然后把swf文件放到YOUR_WORKSPACE/libs下。([[builder:extensions_cn|更多信息]])
* 打开YOUR_WORKSPACE/settings/ui_builder.json,替换一下配置项
"localizationWrapper":"starlingbuilder.editor.localization.DefaultLocalizationFileWrapper"
为
"localizationWrapper":"path_to_your_localizationFileWrapper"
* 重启编辑器,点击菜单 Workspace -> Workspace Setting, 设置localization path为本地化文件的所在目录