我在导航器中有几个不同的选项卡,如下所示:(已删除客户端特定域)
<s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:container="com.*****.shop.admin.container.*"
width="100%" height="100%"
implements="com.*****.common.container.IScreen"
xmlns:services="com.****.shop.admin.services.*"
label="Service Types">
我有不同语言环境的资源包,en_US如下所示:
ServicesScreen.label=Service Types
当我尝试这样做时,它不起作用:
...
...
label="{resourceManager.getString('resources','ServicesScreen.label')}"
而不是获取我的资源包条目,我在GUI中看到了一些奇怪的东西,如:
Shop0.ShopSkin9._ShopSkin_Group1.contentScroller.ScrollerSkin13.contentGroup.vsMain.AdminView154.SkinnableContainerSkin159.contentGroup.subNavItems.opCodeScreen
我的资源包在其他情况下工作,例如表单输入字段旁边的标签等等。然而,代码编译并没有实际抛出任何错误(编译或运行时)。我尝试将值赋给变量并在标签字段中使用该变量,但这会导致编译错误。
我尝试在创建组件时调用setter方法,但这也没有解决问题。
如何本地化我的标签标签,是否可以在运行时动态执行此操作?
感谢您的时间!
答案 0 :(得分:0)
我想我会自己回答这个,虽然归功于Sunil D.我不知道为什么它在我测试时没有提前工作,我肯定第一次错过了什么,但是这里去。首先我补充说:
creationComplete="init(event)">
然后在那个方法体中我做了:
protected function init(event:FlexEvent):void
{
this.label = resourceManager.getString('resources','opCodeScreen.title');
}
它就像一个魅力。说实话,我很确定我今天早上做了同样的测试,但我猜不是。 Sunil如果你想让你的评论成为答案,我会继续并接受它。
编辑:在运行时更改文本,添加调用上述方法的currentStateChange
干杯!