我正在研究國際化我正在開發的Flex應用程序,並且我很好奇是否有任何最佳實踐或建議。國際化Flex應用程序的最佳實踐?
谷歌搜索這些信息會產生一些小文章和博客文章,每篇文章都以不同的方式做,而且優點和缺點都不完全清楚。
被修改,以縮小範圍:
- 需要支持只有兩種語言(en_CA和fr_CA)
- 需要能夠在運行時
我正在研究國際化我正在開發的Flex應用程序,並且我很好奇是否有任何最佳實踐或建議。國際化Flex應用程序的最佳實踐?
谷歌搜索這些信息會產生一些小文章和博客文章,每篇文章都以不同的方式做,而且優點和缺點都不完全清楚。
被修改,以縮小範圍:
當然切換,之後使用Google有點更多我遇到了關於runtime localization的文章。
並遵循下列步驟操作:
添加以下編譯器參數指定所支持的語言環境和它們的路徑: (在Flex Builder中,選擇項目並進入屬性 - > Flex編譯器 - >附加的編譯器參數)
-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
在ActionScript中使用資源管理器時,如何完成區域設置開關運行時? – 2009-01-14 19:46:38
@Niko:看看[文章](http://cookbooks.adobe.com/post_Change_Locale_at_the_runtime-11143 。html) – esBe 2010-04-07 18:40:17