2011-10-07 105 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,我不得不关闭我的未保存的文件,打开它回来了,我的内容粘贴回文件,以清除错误消息。然后清洁该项目(项目 - >清洁...),让它重建。