Показать сообщение отдельно
Старый 15.03.2011, 00:42
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 10  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Налету: при инциализации приложения собираете все ссылки на ТекстФилды, в которые уже забиты тексты по умолчанию. При переключении языка обходите все ТекстФилды, и меняете у них тексты, согласно таблице языков.
1. Как текст-филды идентифицировать (т.е. ага, вот еще один текстфилд нашли, а ключ локализации то у него какой)? - загонять на месте создания в хеш-справочник, а при удалении убирать отдуда?
2. Как быть, если текст является параметризированным?, ну т.е "У вашего юнита 10 опыта и 1 брони"

Цитата:
Или:
- Пишем класс-контейнер для языков. У класса есть статический массив с текущими словами, которые меняются в зависимости от выбранного языка. LangManager
- Пишем класс языко-зависимое-текстовое-поле. LangField В конструкторе этого класса подписываемся на события от LangManager'а. Менеджер языков нам сообщает об изменении языка и каждое текстовое поле (или еще что-то) само себя обновляет из статического массива

На мой взгляд, вариант с менеджером удобнее
Мне тоже кажется удобнее, только подписываться лучше в onAddedToStage и отписываться не забывать в onRemovedFromStage, по-тому как кто знает сколько когда и чего вы насоздаете и наудаляете.

На практике такое кто-нибудь делал?

Да, бывают же еще текстфилды, которые в зависимости от состояния приложения имеют разный текст, с ними как быть?


Последний раз редактировалось expl; 15.03.2011 в 00:51.