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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.04.2008, 03:37
lingardo вне форума Посмотреть профиль Отправить личное сообщение для lingardo Найти все сообщения от lingardo
  № 1  
Ответить с цитированием
lingardo
 
Аватар для lingardo

Регистрация: Feb 2007
Сообщений: 19
Отправить сообщение для lingardo с помощью ICQ
По умолчанию Как изменить язык во время выполнения?

Допустим есть текстовое поле привязанным идентификатором из таблицы языков Strings. Есть кнопка "Русский" и "Английский".

Какой код нужно повесить на кнопкив AS3, чтобы менять язык налету?

Спасибо.
________
(а может кто-нибудь альтернативу предложит)

Старый 04.04.2008, 08:45
manah вне форума Посмотреть профиль Отправить личное сообщение для manah Найти все сообщения от manah
  № 2  
Ответить с цитированием
manah
 
Аватар для manah

Регистрация: Apr 2006
Сообщений: 29
вы хотите что бы AS3 "перевел" все слова с одного языка на другой?

Старый 04.04.2008, 11:44
lingardo вне форума Посмотреть профиль Отправить личное сообщение для lingardo Найти все сообщения от lingardo
  № 3  
Ответить с цитированием
lingardo
 
Аватар для lingardo

Регистрация: Feb 2007
Сообщений: 19
Отправить сообщение для lingardo с помощью ICQ
Нажмите во Флеше ctrl+F11. Появится окошко Strings. В нем у меня забито слово на русском и английском. На поле есть динамик текст, с привязанным идентификатором из Strings. Если я в окошке стрингс меняю язык, то мой динамик текст тоже меняет содержимое (т.к. он привязан).

Вопрос. Можноли во время выполнения программы через AS сменить язык, так чтобы все привязанные текстовые поля изменили свой язык?

Старый 04.04.2008, 12:44
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Это в АС2 тож в пакете мх была такая утилита, "переводила" тексты... если честно, никто ей никогда не пользовался... Помоему сейчас это находится в fl.lang.Locale а метод по замене выглядит что-то типа Locale.setDefaultLang, нужно просто этот класс открыть и почитать чего они там понаписывали...
__________________
Hell is the possibility of sanity

Старый 04.04.2008, 13:16
ulik вне форума Посмотреть профиль Отправить личное сообщение для ulik Посетить домашнюю страницу ulik Найти все сообщения от ulik
  № 5  
Ответить с цитированием
ulik
 
Аватар для ulik

Регистрация: Apr 2007
Адрес: Moscow city
Сообщений: 286
Отправить сообщение для ulik с помощью ICQ
Цитата:
Сообщение от lingardo
Вопрос. Можноли во время выполнения программы через AS сменить язык, так чтобы все привязанные текстовые поля изменили свой язык?
Я вас немного не понимаю. Что значит "изменить язык"?
Код:
// вот русский.
var lang:String="ru";
// изменили на английский.
lang="en";
Смена языка - это ваша реализация, но никак не Class или пакет, встроенный в IDE.

Вот вам пример:
Код:
import flash.text.TextField;
import flash.text.TextFieldAutoSize;

var tf:TextField;
/* текущий язык ставим русский */
var language:String="ru";
/* объект, который лучше бы сделать static classом для удобства */
var textData:Object=new Object();
textData["ru"]=new Object();
textData["ru"].welcome="Добропожаловать на мой сайт !";
textData["ru"].bye="Всего доброго !";
textData["en"]=new Object();
textData["en"].welcome="Welcome to my website !";
textData["en"].bye="Goodbye ";
/* ф-ия смены языка */
function chageLang(newLanguage:String){
	language=newLanguage;
}
/**
* ф-ия для текущего языка
* id - свойство объекта указанного в lang (в нашем случае их 2 - welcome и bye)
*/
function getCurrentLangData(id:String):String {
	return textData[language][id];
}
/*
* ф-ия, на случай, если вы захотите язык, отличный от текущего
* lang - язык (в нашем случае ru/en), id - свойство объекта указанного в lang (в нашем случае их 2 - welcome и bye)
*/
function getDefinedLangData(lang:String, id:String):String {
	return textData[lang][id];
}
/* создадим TF и проверим */
function createTextField():void {
	tf=new TextField();
	tf.autoSize=TextFieldAutoSize.LEFT;
	addChild(tf);
}
createTextField();
/* пример: */
//tf.htmlText=getDefinedLangData("en", "welcome");
tf.htmlText=getCurrentLangData("bye");
__________________
Дизайн, как презерватив - каждому жмет по-своему © Я
мое: блог форум


Последний раз редактировалось ulik; 04.04.2008 в 13:22.
Старый 04.04.2008, 13:57
lingardo вне форума Посмотреть профиль Отправить личное сообщение для lingardo Найти все сообщения от lingardo
  № 6  
Ответить с цитированием
lingardo
 
Аватар для lingardo

Регистрация: Feb 2007
Сообщений: 19
Отправить сообщение для lingardo с помощью ICQ
"Смена языка - это ваша реализация, но никак не Class или пакет, встроенный в IDE."

Вот это и спрашивал. Вобщем спасибо, придётся действительно вручную всё делать.

Старый 04.04.2008, 14:11
ulik вне форума Посмотреть профиль Отправить личное сообщение для ulik Посетить домашнюю страницу ulik Найти все сообщения от ulik
  № 7  
Ответить с цитированием
ulik
 
Аватар для ulik

Регистрация: Apr 2007
Адрес: Moscow city
Сообщений: 286
Отправить сообщение для ulik с помощью ICQ
Цитата:
Сообщение от lingardo
"Смена языка - это ваша реализация, но никак не Class или пакет, встроенный в IDE."

Вот это и спрашивал. Вобщем спасибо, придётся действительно вручную всё делать.
Ну, вы сами подумайте, даже если и был класс-переводчик, то он бы имел метод из серии loadExternalDictionary(file:String), это как минимум.
Да и это была б та же "ручная" реализация. Только разработчиков, а не ваша.
__________________
Дизайн, как презерватив - каждому жмет по-своему © Я
мое: блог форум

Старый 04.04.2008, 15:20
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну, так это ИДЕ умеет работать с одним классом (сейчас посмотрел, он действительно существует, там где я и думал), ну и соответственно дает пользователю возможность выбрать какой набор строрк использовать при компиляции... Но он не хороший, если нужно текстовые поля создавать динамически и все такое... вобщем, лучше самому делать
__________________
Hell is the possibility of sanity

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

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

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


 


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


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