Локализация Flex приложений
Страница 1 из 1
Локализация Flex приложений
Локализовывать мы будем следующим образом:
Сохраним весь перевод (для каждого языка отдельно) в файле .properties, а сами файлы .properties положим в папочки, соответствующие языку - для английского это будет en_US, ну а для русского языка - это ru_RU…
Выглядит это примерно так должно:
hello = Hello World
welcome = Welcome!
и
hello = Привет мир
welcome = Здрасьте!
Для того, чтобы использовать локализованные файлы, нам понадобится класс ResourceBundle, и соответственно команду @Resource и методы getString(), getNumber(), getBoolean() и т.п…
Вот вам пример:
< ?xml version="1.0" encoding="utf-8"?>
< ![CDATA[
import mx.resources.ResourceBundle;
[ResourceBundle("helloWorld")]
private static var rb:ResourceBundle;
private function geti18nText(key:String):String{
return rb.getString(key);
}
]]>
Ну а чтоб компилятор понимал какой язык надо использовать, вы можете сделать так:
mxmlc -locale en_UK -sp ../locales/{locale} -o HelloWorld_en_UK.swf I18N_HelloWorld.mxml
mxmlc -locale ru_RU -sp ../locales/{locale} -o HelloWorld_ru_RU.swf I18N_HelloWorld.mxml
или же добавьте во Flexbuilder’е аргумент для компилятора:
-locale en_US -sp ../locales/{locale}
Сохраним весь перевод (для каждого языка отдельно) в файле .properties, а сами файлы .properties положим в папочки, соответствующие языку - для английского это будет en_US, ну а для русского языка - это ru_RU…
Выглядит это примерно так должно:
hello = Hello World
welcome = Welcome!
и
hello = Привет мир
welcome = Здрасьте!
Для того, чтобы использовать локализованные файлы, нам понадобится класс ResourceBundle, и соответственно команду @Resource и методы getString(), getNumber(), getBoolean() и т.п…
Вот вам пример:
< ?xml version="1.0" encoding="utf-8"?>
< ![CDATA[
import mx.resources.ResourceBundle;
[ResourceBundle("helloWorld")]
private static var rb:ResourceBundle;
private function geti18nText(key:String):String{
return rb.getString(key);
}
]]>
Ну а чтоб компилятор понимал какой язык надо использовать, вы можете сделать так:
mxmlc -locale en_UK -sp ../locales/{locale} -o HelloWorld_en_UK.swf I18N_HelloWorld.mxml
mxmlc -locale ru_RU -sp ../locales/{locale} -o HelloWorld_ru_RU.swf I18N_HelloWorld.mxml
или же добавьте во Flexbuilder’е аргумент для компилятора:
-locale en_US -sp ../locales/{locale}
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|