![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Сообщений: 60
|
Это не совсем локализация, но все же.
Есть необходимость менять форматирование чисел автоматически ( в зависимости от локали ) или используя параметр, например, ResourseBundle. К примеру, в России заказчики хотят видеть число 1/2 ввиде "0.5", а в буржундии "0,5". Использовать NumberFornatter и прочее очень затруднительно, если вообще возможно, тк не всегда можно получить ссылки на все текстовые поля всех компонентов, а как написать универсальную утилиту пока не пришло в голову. Вообще, судя по региональным и языковым настройкам в панели инструментов, форматирование должно автоматически происходить. Вопрос1 - так ли это? Вопрос2 - как можно изменить форматирование в ручную? и как потестить ЗЫ: Вообще в строку компилятора передается параметр -locale, но изменение его на -locale ru_RU ни к чему не привело. Хотя бы трейс Capabilities.language выдает en, а в региональных настройках все опции выставлены в Russian Спасибо ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 60
|
Смысл в том, что надо уметь в зависимости от локали менять форматирование числа. Возможно это как-то автоматически осуществить - без использования ручного форматирования чисел, например, статическую переменную где-нибудь задать ?
|
|
|||||
|
Навскидку можно предложить такое решение:
1) в модели хранится класс (синглетон, наследуется от EventDispatcher'a), который отвечает за изменение языка и параметром currentLanguage 2) при изменении currentLanguage он шлет сообщения LanguageEvent.CURRENT_LANGUAGE_CHANGE 3) поскольку это синглетон, то подписаться к нему можно из любого места, и все классы (компоненты) которым это важно подписываются на это сообщение и вызывают соответственно, какой-нибудь NumberFormattersUtils.formatNumber(number:Number,languageName:String):String для изменения, зависящих от языка парметров Минусы: растет связанность кода и использование синглетонного диспетчера сообщений и отлов событий от него в произвольных местах программы не очень хорошо. Поэтому если есть класс типа ValueObject c полем value:String которое должно зависеть от языка, лучше унаследоваться от него для добавления такого функционала. |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 60
|
Координально другого решения я тоже не придумал. Все равно придется везде следить за форматированием каждом компоненте и при каждом выводе, что очень плохо в условиях проекта.
Но все равно, большое СПАСИБО ![]() |
|
|||||
|
Не при выводе, а при смене языка... что само по себе бывает достаточно редко - юзер же как правило по 10 раз на дню язык не меняет.
|
|
|||||
|
Контрибьютор базы знаний по Флекс
Регистрация: Aug 2005
Сообщений: 690
|
почитай про resourcebundle
__________________
Flex 2 и Co |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|