在 Flash Builder 4.7(使用 AIR 3.5)中,我试图将语言环境 en_US 和 de_DE 添加到 Flex Mobile 应用程序,该应用程序最初只是 ru_RU。
即最初我只有-locale ru_RU
在项目属性 - > Flex 编译器和源代码中硬编码的俄语文本(一切正常)。
但是在学习了Adobe docs Localization in Flex – Part 1: Compiling resources into an application和Add new locales之后,我将 Flex 编译器(标志)更改为-locale ru_RU en_US de_DE
:
并已添加src\locale\{locale}
到源路径:
最后我创建了子目录和文件
src\locale\ru_RU\resources.properties
src\locale\en_US\resources.properties
src\locale\de_DE\resources.properties
这里 en_US\resources.properties 内容:
menu.play=Play via
menu.weekly=Weekly rating
menu.daily=Daily misere
menu.settings=Settings
AIR 3.5 SDK 目录本身已经包含 3 个子目录:
C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\sdks\4.6.0 (AIR 3.5)\
frameworks\projects\framework\bundles\ru_RU
frameworks\projects\framework\bundles\en_US
frameworks\projects\framework\bundles\de_DE
所以我没有使用该copylocale
实用程序(对吗?)
在我的源代码中,我更改了第一个视图:
<fx:Metadata>
[ResourceBundle("resources")]
</fx:Metadata>
......
[Bindable]
private var _ac:ArrayCollection = new ArrayCollection([
{ icon: OK_ICON, view: OK, label: resourceManager.getString('resources','menu.play'), msg: 'Odnoklassniki.ru' },
{ icon: MR_ICON, view: MR, label: resourceManager.getString('resources','menu.play'), msg: 'Mail.ru' },
{ icon: VK_ICON, view: VK, label: resourceManager.getString('resources','menu.play'), msg: 'Vk.com' },
{ icon: FB_ICON, view: FB, label: resourceManager.getString('resources','menu.play'), msg: 'Facebook.com' },
{ icon: GG_ICON, view: GG, label: resourceManager.getString('resources','menu.play'), msg: 'Google+' }
]);
然而,新代码在运行时爆炸,说resourceManager
是空的。
请问我错过了什么?
我应该resourceManager
以某种方式初始化吗?