Цитата:
|
Сообщение от 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");