将Android翻译成阿拉伯语

7
我正在与一位阿拉伯语翻译合作,将我的strings.xml从英语翻译成阿拉伯语。我意识到只有Honeycomb或Cyanogen roms支持阿拉伯语渲染,但这没关系。
我们的问题是文本在不断翻转。似乎一些文本编辑器(如Eclipse)明显不支持从右到左的文本。在某些情况下,文本不是按字符翻转,而是按单词或句子部分重新排列...当从Microsoft Word复制回UTF-8 xml文件时。
例如,翻译者提供了两端带空格的行,我自然想要清理它们。但是这样做会翻转一些文本!
例如:
إغلاق التطبيق
变成:
التطبيقإغلاق
仅仅是去掉边缘空格。
问题:
1.我应该使用哪个编辑器?
2.在同一行上混合使用英语和阿拉伯语是否可以(例如应用程序名称或其他不应翻译的单词),还是根本不行?

5
以“谢谢!猪”这样的方式结束对社区提出的问题并不太礼貌。 :P - ShreevatsaR
它只能与string.xml文件一起使用吗?你尝试过从assets文件或SD卡上的文件中读取吗?(用于测试) - pleerock
我从未使用过它,但前段时间偶然发现了http://poeditor.com/。翻译者可以直接在Web应用程序中输入翻译,并且您可以直接使用导出的字符串。希望能有所帮助。 - dualed
5个回答

4

我目前正在进行一项阿拉伯语/英语项目,并且我会说这两种语言,所以我可以提供我的经验 :)

回答问题1: 任何支持UTF8的编辑器都可以。我现在同时使用Eclipse和Notepad++。

要将Eclipse设置为UTF8(由于某些原因不是默认设置),请转到窗口菜单 ->首选项 ->常规 ->工作区,然后将文本文件编码从默认值(cp1252)更改为其他选项,并选择utf8,然后重新启动Eclipse。

对于Notepad ++,请确保安装了支持的语言环境,包括阿拉伯语。在安装过程中未选中,您必须选中复选框才能启用该功能。

回答问题2: 在句子中混合使用阿拉伯语和英语单词是完全可以的。我发现了一篇非常好的文章,关于如何混合使用阿拉伯语和英语单词,链接在这里http://www.w3.org/International/tutorials/bidi-xhtml/

该文章介绍了支持从右到左的语言(包括阿拉伯语和希伯来语)的网站设计概念,重点是阿拉伯语,因为它是一种更复杂的语言,因为一些字母会与其他字母连接,而另一些则不会。

即使这篇文章在谈论网站设计,但它也有很多如何混合使用阿拉伯语和英语语言的好方法。


谢谢Wahab,你愿意和我一起离线工作来让这个在Android上运行吗?然后我们可以回过头来,用我们的具体发现来启迪stackoverflow社区。 - swinefeaster
当然,这对我也会有好处,因为我计划在未来为我的项目发布Android版本(目前我正在进行网站开发阶段)。 - Greeso
你的电子邮件是什么?你可以发邮件给我,我的邮箱是swinefeaster@gmail.com - swinefeaster

1

在Windows下,有一种简单的方法可以在任何应用程序中插入从右到左和从左到右标记:

1- 从键盘的右侧数字键盘中按ALT + 0254以插入从右到左标记 2- 从键盘的右侧数字键盘中按ALT + 0253以插入从左到右标记

无需使用任何特殊编辑器或宏,这可以在任何应用程序中使用,无论是在记事本、Word、HTML、XML等。

希望这对大家有所帮助

最好的问候, 您的阿拉伯语翻译团队


那我是不是应该在我的Android字符串XML文件中的每个阿拉伯文本块周围都加上这些标记? - swinefeaster

1

1- 我开发了几个支持阿拉伯语的Android应用程序,并且我正在使用Notepad++编辑资源文件,没有任何问题。只需记住从视图菜单(Ctrl+Alt+R)中选择RTL。

几乎所有支持Unicode的Android设备都将显示阿拉伯字母,但如果bidi算法不是特定Android版本的一部分,则可以使用自定义库连接字母并正确显示阿拉伯语。

这是我以前使用过的一个库

描述如何使用它的博客

2- 一般来说,我不建议混合使用阿拉伯语和英语,特别是涉及特殊字符时,因为它可能会显示得很尴尬。


0

我知道Eclipse的部分,Eclipse默认字体不支持Unicode,所以将其更改为“Aria Unicode MS”字体。要在Eclipse工作区中执行此操作,请单击菜单栏中的“Windows” ->“首选项” ->“常规” ->“外观” ->“颜色和字体”。现在,在右侧的文件资源管理器中,展开“基本”,选择“文本字体”,然后单击“编辑”按钮。

希望这解决了您在Eclipse中的查看问题。

关于阿拉伯语应用程序名称问题,请考虑以下内容:如果您正确进行本地化,则仅当用户将手持设备语言环境(因此语言)更改为阿拉伯语时,才会显示应用程序的阿拉伯语名称,否则将显示默认的英语应用程序名称。因此,只需在Arabic string.xml中设置阿拉伯语名称,在英语中设置英语名称即可。


我可以在Eclipse中看到阿拉伯字符,尽管它们可能是以逐个字符的方式反转的...我不知道实际很难判断,因为我不是阿拉伯人!但肯定我可以看到Unicode。 - swinefeaster
1
尝试将翻译器的字符串复制粘贴到xml文件中,然后构建apk并请会说阿拉伯语的人校对。如果找不到该人,请在模拟器中截屏后将其发送给网络上的某个人。 - omermuhammed

0

就编辑器部分而言,在不知道平台的情况下无法回答您的问题。在Windows上,标准的记事本应该足够了。

对于混合字符串,这是相当普遍的场景。通常应用程序名称不会被翻译。此外,有时需要在括号中放一些英文描述。在这种情况下,您可能需要使用strong directionality marks(否则括号看起来可能有点奇怪)。


我正在Windows7上为Android开发。我的问题更多地涉及从右到左的处理以及在混合字符串时出现的奇怪情况;将任何其他从左到右的语言与英语混合使用都不是问题(甚至包括日语等)。 - swinefeaster
我知道这些问题,这就是为什么我写了关于方向标记的文章。你必须以某种方式告诉解析器哪一部分是RTL和哪一部分是LTR,你可以通过放置Unicode方向标记来实现。 - Paweł Dyda
有趣,那么插入这些标记的最佳方法是什么?有没有适用于Windows的文本编辑器可以轻松完成?我不能要求翻译人员编辑UTF8二进制文件... - swinefeaster
我唯一知道的方法是从字符映射中复制这些标记,然后粘贴。可能可以通过使用具有宏和插件的Notepad ++(http://notepad-plus-plus.org/download)来自动执行此类操作,尽管我不知道它在处理双向文本方面有多好... - Paweł Dyda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接