![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2005
Сообщений: 25
|
Готового решения не прошу
Подскажите лишь каков принцип и какие есть инструменты? Вот например в АСП.НЕТ 2.0 (простите за сравнение) есть т.н. локализация, можно создавать файлы ресурсов для каждого языка и при выборе соответствующей культуры к элементам управления будет прицеплено слово на правильном языке. Например два текстбокса Имя и Фамилия, я говорю этим текстбоксам брать значение свойства текст из сотответствующего файла ресурсов создаю к примеру два файла ресурсов Русский и английский в руском указываю ТекстБоксу1 "Имя", ТекстБоксу2 "Фамилия" а в Английском соотвественно "Vorname" и "Name" и при переключении культур у меня будут правильные надписи. В АС я видел такое решение: Создаются массивы для каждого элемента напр для текстбокса Фамилия : myArrayFamilia[0]="Фамилия" myArrayFamilia[1]="Name" myArrayFamilia[2]="Призвыще" ... ну и так далее и в зависимости от культуры берётся соответствующий элемент, так например для русского берётся элемент 0 во всех массивах и присваивается в свойство текст текстбокса Фамилия Вопрос: есть ли какое либо объектно ориентирванное решение Форма образец - не важно на каком языке а Формы с выбранным языком наследуют от неё Спасибо. |
|
|||||
|
незнаю как такая проблема решается на других платформах...
Если мне нужна мультиязычность, я юзаю свой класс MultilanguageProperty. Думаю из примера кода будет ясна идея: var txt:TextField = new TextField();
addChild(txt);
// есть некий объект txt, в нём есть строковое свойство text
// это свойство должно иметь
// разные значения в зависимости от настроек языка
// создадим некий объект, который будет
// контролировать переменную txt.text
var lang:MultilanguageProperty = new MultilanguageProperty(txt, 'text');
// добавляем переводы для каждого языка
land.setTranslation('russian', 'кнопка');
land.setTranslation('english', 'button');
land.setTranslation('superRussian', 'баттон !');
// статическое свойство MultilanguageProperty.language, меняет
// перевод свойств во всех объектах MultilanguageProperty
MultilanguageProperty.language = 'russian';
// объект lang исполняет код txt.text = 'кнопка';
MultilanguageProperty.language = 'english';
// объект lang исполняет код txt.text = 'button';
|
|
|||||
|
ветеран форума
|
Хм...а не удобнее ли сделать так:
1. Сделать один класс и регистрировать на него все объекты 2. Передавать не каждый перевод в отдельности, а дефолтный перевод+ объект типа {english:'english', russian:'русский'} а затем ставить язык всем элементам выражением вида LangManager.language = 'russian' ? Т к в вопросе, насколько я понимаю, подразумевается, что все объекты в один момент времени имеют один язык и один набор языков.
__________________
4am is time to rock Последний раз редактировалось DarkLight; 04.06.2007 в 02:43. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|