2008-09-25 2 views
5

Я занимаюсь интернационализацией приложения Flex, над которым я работаю, и мне любопытно, есть ли какие-либо рекомендации или рекомендации для этого.Рекомендации по интернационализации приложения Flex?

Google для получения такой информации приводит к небольшому количеству мелких статей и сообщений в блогах, каждый из которых делает это по-другому, а преимущества и недостатки не совсем ясны.

Edited, чтобы сузить область применения:

  • нужно поддерживать только два языка (en_CA и fr_CA)
  • нужно иметь возможность переключаться во время выполнения
+0

@Niko: Посмотрите на [этой статье] (http://cookbooks.adobe.com/post_Change_Locale_at_the_runtime-11143 ,html) – esBe 2010-04-07 18:40:17

ответ

5

Конечно, после того, как прибегая к помощи немного больше я наткнулся на статью на runtime localization.

И следовали за этими шагами:

добавьте следующую строку аргументов компилятора указать поддерживаемые локали и их путь: (В Flex Builder, выберите проект и перейти свойства -> Flex Compiler -> Дополнительные аргументы компилятора)

-locale=en_CA,fr_CA -source-path=locale/{locale}

Создайте следующие файлы:

src/locale/en_CA/resources.properties 
src/locale/fr_CA/resources.properties 

И тогда компилятор жалуется: unable to open 'C:\Program Files\Adobe\Flex Builder 3\sdks\3.1.0\frameworks\locale\en_CA'

Что выглядит быть связано с ошибкой SDK-12507

работа вокруг:
В каталоге sdks\3.1.0\bin, выполните следующие команды:

copylocale en_US en_CA 
copylocale en_US fr_CA 

Это будет создайте каталоги локали в установке Flex Builder и создайте в них необходимые ресурсы.

Тогда в ваших .mxml файлы, ссылки на пакет ресурсов:

<mx:Metadata> 
    [ResourceBundle("resources")] 
</mx:Metadata> 

И интернационализацию строки:

<mx:TitleWindow title="Window Title"> 

становится:

<mx:TitleWindow 
    title="{resourceManager.getString('resources', 'windowTitle')}"> 

и

var name:String = "Name"; 

становится:

var name:String = resourceManager.getString("resources", "name"); 

И в вашем src/locale/en_CA/resources.properties файле:

windowTitle=Window Title 
name=Name 
+0

Как вы выполняете runtime switch runtime при использовании диспетчера ресурсов в ActionScript? – 2009-01-14 19:46:38

Смежные вопросы