Вход

Просмотр полной версии : Какие есть варианты runtime локализации приложений?


ShockWave512
12.04.2010, 20:17
Какие есть варианты runtime локализации Flex приложений?
Интересует переключение языка в работающем приложении.

пробовал вариант с байндингом на ХМЛ, но он корректно работает только с статическими компонентами вида:
<mx:Label text="{Localizator.instance.currentLangXML.ValueName}"/>
при попытке привязки в работающем коде, всё молчит
BindingUtils.bindProperty(textLabel, "text", Localizator.instance.currentLangXML, "ValueName");
собсна, документация это подтверждает, e4x выражения не биндуются в коде

fljot
12.04.2010, 23:39
Ну вообще в хелпе специально раздел под эту тему отведён http://livedocs.adobe.com/flex/3/html/help.html?content=l10n_1.html

ShockWave512
13.04.2010, 00:10
Ну вообще в хелпе специально раздел под эту тему отведён http://livedocs.adobe.com/flex/3/html/help.html?content=l10n_1.html
там нет схем обновления свойств динамических объектов

fljot
13.04.2010, 00:15
http://livedocs.adobe.com/flex/3/html/l10n_4.html#160715

ShockWave512
13.04.2010, 00:32
допустим объект динамически конфигурится при работе апликухи
var lb:Label = new Label();
lb.text = resourceManager.getString('RegistrationForm', 'thanks');
при переключении языка в
resourceManager.localeChain = [ localeComboBox.selectedItem ];
текст в лаэйбле не обновится
вот к чему я клоню

fljot
13.04.2010, 00:34
а для этого есть Binding

ShockWave512
13.04.2010, 02:40
предпологалось малой кровью и на чужой территории
прийдется копать глубоко, со своим хранилищем прибайнденых свойств и т.д.
думал есть готовые, простые и веселые решения

etc
13.04.2010, 11:53
А зачем вам локализация именно в рантайме?

ShockWave512
13.04.2010, 12:16
требование заказчика

bastrakov
13.04.2010, 14:29
подождите, подождите.
что-то или я не догнал по топику, или что-то я не знаю.
запрашиваем перечитать xml-файл. складываем все в статическую модель данных.
из нее биндинг на элементы. если вам мало простого биндинга - ставте watcher-ы.
чем не устраивает? во

ShockWave512
13.04.2010, 14:47
если вам мало простого биндинга - ставте watcher-ы.
как их ставить?