#apache-flex #locale
#apache-flex #язык
Вопрос:
Я пытаюсь локализовать свое приложение Flex, я смог настроить специфику локали и все остальное внутри тегов MXML, это работает довольно хорошо, мой вопрос в том, что, если у меня есть, например:
if(loggin){
loginBtn.label = "Logout";
}else{
loginBtn.label = "Login";
}
Как я могу изменить с помощью ActionScript эти две строки на другой язык?
Спасибо за любую помощь!!
Ответ №1:
Используйте ResourceManager
if(loggin){
loginBtn.label = resourceManager.getString(MyResourceBundles.LABELS,'login')
}else{
loginBtn.label = resourceManager.getString(MyResourceBundles.LABELS,'logout')
}
Недостатком этого подхода является то, что привязки не будут срабатывать, если пользователь меняет язык на полпути.
Поэтому для этого конкретного примера я бы рекомендовал состояния:
<s:Button id="loginBtn"
label.loggedIn="{resourceManager.getString(MyResourceBundles.LABELS,'login')}"
label.loggedOut="{resourceManager.getString(MyResourceBundles.LABELS,'logout')}" />