2011-10-07 107 views
0

今天,我學習如何本地化我的Flex應用程序並支持多種語言。在線教程非常棒。但是,他們中沒有一個提到阿拉伯語區域。Flex中的阿拉伯語語言環境支持

所以基本上,我創建了阿拉伯語(約旦)在SDK文件夾中語言文件使用:

copylocale en_US ar_JO 

我瀏覽到的區域設置文件夾,我能看到在那裏ar_JO文件夾...所以我認爲一切都很順利。

接下來,我遵循教程(www.babelfx.org),並能夠使用英語,法語和阿拉伯語對我的測試應用程序進行本地化。點擊這些語言中的任何一種都可以將簡單表格的標籤切換爲所需的語言...但是:

  1. 切換到阿拉伯語時,標籤​​會變成空白的方形符號。如果您想知道,是的,我可以打開記事本並輸入阿拉伯文字併成功保存。
  2. 當我在文本框中鍵入阿拉伯語文本時,可以看到正確輸入的阿拉伯語單詞(標籤仍然是方形符號)。

任何想法,我可能會在這裏失蹤?

我試着改變我的應用程序的字體(正確的應用程序標籤,我設置fontFamily)爲Simplified Arabic,默認在Windows上。

感謝

回答

0

我找到了解決方案。實際上,我並不需要嵌入任何字體或任何東西來獲得它的工作。

我的問題是在resources.properties文件中的編碼。我用Notepad ++打開它,然後我注意到了Encoding菜單。那時候,我想起了一些關於資源文件的編碼應該是UTF-8的內容。所以我把編碼轉換成UTF-8從編譯菜單,它沒有工作!經過幾次重試和清理項目後,它成功運行了!

每個人只是一個提醒(因爲我已經墮落到這個工作時這個問題了): 對於mx組件,嵌入字體必須有embedAsCFF設置爲false

0

您嵌入字體到您的swf這可以使阿拉伯語?你在使用那種字體嗎?如果答案是否定的,那麼我建議reading up on the subject

有關Flash和字體的一點要記住的是它具有令人難以置信的力量,它來自於能夠將實際字體嵌入swf本身的事實。其中一個也需要記住,Flash非常挑剔,如果你不這樣做的話,很容易出現投擲問題。

+0

感謝您的快速回復。 我按照你的建議和嵌入的字體到我的應用程序。這些字母顯示爲空白方形符號。 –

+0

我嘗試了別的。我從Flash Builder IDE中打開resources.properties ...並將字母顯示爲不同的符號。我手動編輯了其中一個值,我能夠輸入阿拉伯文。當我保存屬性文件時,它不起作用,它說: 「保存不能完成 原因: 某些字符不能使用」ISO-88591-1「字符編碼進行映射。刪除「ISO-8859-1」字符編碼不支持的字符「。 不知道這是否與 –

+0

實際上我找到了解決方案...在我的問題閱讀編輯部分。再次感謝! –

0

解決方案是將上下文類型更改爲UTF-8。三種方法從在Flex Builder中實現這一點:

    (選項1)右鍵單擊在文件瀏覽並選擇屬性
    (選項2)打開文件後的文件,瀏覽到文件菜單,然後選擇屬性
    (選項3)打開文件後,按下Alt + Enter鍵,彈出文件屬性

一旦顯示屬性窗口中,你會看到從默認更改文件編碼選項其他(UTF-8)。

注:至少對我來說,一旦我改變了內容類型爲UTF-8,我不得不關閉我的未保存的文件,打開它回來了,我的內容粘貼迴文件,以清除錯誤消息。然後清潔該項目(項目 - >清潔...),讓它重建。