Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.06.2007, 01:33
student-uni вне форума Посмотреть профиль Отправить личное сообщение для student-uni Найти все сообщения от student-uni
  № 1  
Ответить с цитированием
student-uni

Регистрация: Dec 2005
Сообщений: 25
По умолчанию Многоязыковая поддержка

Готового решения не прошу
Подскажите лишь каков принцип и какие есть инструменты?
Вот например в АСП.НЕТ 2.0 (простите за сравнение)
есть т.н. локализация, можно создавать файлы ресурсов для каждого
языка и при выборе соответствующей культуры к элементам управления
будет прицеплено слово на правильном языке.
Например два текстбокса Имя и Фамилия, я говорю этим текстбоксам брать значение свойства текст из сотответствующего файла ресурсов
создаю к примеру два файла ресурсов Русский и английский
в руском указываю ТекстБоксу1 "Имя", ТекстБоксу2 "Фамилия"
а в Английском соотвественно "Vorname" и "Name"
и при переключении культур у меня будут правильные надписи.

В АС я видел такое решение:
Создаются массивы для каждого элемента
напр для текстбокса Фамилия :

myArrayFamilia[0]="Фамилия"
myArrayFamilia[1]="Name"
myArrayFamilia[2]="Призвыще"
... ну и так далее

и в зависимости от культуры берётся
соответствующий элемент, так например для
русского берётся элемент 0 во всех массивах
и присваивается
в свойство текст текстбокса Фамилия

Вопрос:
есть ли какое либо объектно ориентирванное решение
Форма образец - не важно на каком языке
а Формы с выбранным языком наследуют от неё

Спасибо.

Старый 04.06.2007, 02:18
miramax вне форума Посмотреть профиль Отправить личное сообщение для miramax Посетить домашнюю страницу miramax Найти все сообщения от miramax
  № 2  
Ответить с цитированием
miramax
 
Аватар для miramax

Регистрация: Oct 2005
Адрес: Борисоглебск
Сообщений: 1,702
Отправить сообщение для miramax с помощью ICQ Отправить сообщение для miramax с помощью AIM Отправить сообщение для miramax с помощью MSN Отправить сообщение для miramax с помощью Yahoo Отправить сообщение для miramax с помощью Skype™
незнаю как такая проблема решается на других платформах...
Если мне нужна мультиязычность, я юзаю свой класс 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';
__________________
AS3 | www.FLAPS.ru | Русские флэшеры самые умные флэшеры в мире. ©

Старый 04.06.2007, 02:38
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 3  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Хм...а не удобнее ли сделать так:
1. Сделать один класс и регистрировать на него все объекты
2. Передавать не каждый перевод в отдельности, а дефолтный перевод+ объект типа {english:'english', russian:'русский'}
а затем ставить язык всем элементам выражением вида LangManager.language = 'russian' ?

Т к в вопросе, насколько я понимаю, подразумевается, что все объекты в один момент времени имеют один язык и один набор языков.
__________________
4am is time to rock


Последний раз редактировалось DarkLight; 04.06.2007 в 02:43.
Старый 04.06.2007, 13:12
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 4  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
http://www.flasher.ru/forum/showthread.php?t=95370
__________________
33 коровы

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.