Android strings.xml资源 - 阿拉伯语言和动态格式化字符串

时间:2015-03-16 07:29:50

标签: android string resources arabic formatted

你好我有一个关于阿拉伯语格式的问题我应该如何正确格式化这个字符串,似乎我无法管理这个:

تحميل %1$s…

تم تحميل الكلمات. %1$d/%2$d!

这是在崇高的文本2中 - 但我认为存在从左到右的顺序

enter image description here

EDITED: 在Eclipse中,从Sublime Text复制的内容变得有些混乱。我聘请了一些人从英语翻译成阿拉伯语strings.xml。他使用了Word编辑器,但在处理eclipse时事情变得混乱了,我建议在Sublime Text中改变它,我认为它会像在Eclipse中一样正确地支持它并且是更轻的编辑器。我看到在Sublime Text中似乎是从左到右的顺序,这也是错误的。 *当我使用这个混乱的特殊字符运行应用程序时,它似乎正确运行。我是否怀疑某些交际词是否也搞砸了,例如:已经下载了第5/10项。将是已下载的项目。 5/10或类似的东西。* 需要一种首选的方法来获取某人英文写的strings.xml,将其翻译,然后复制到/ values-ar并正常工作? enter image description here

4 个答案:

答案 0 :(得分:6)

尝试在文字开头添加一个RIGHT-TO-LEFT MARK字符(\ u200F)。

类似的回答here

答案 1 :(得分:3)

这是一个崇高的问题,列出了从here列出的从右到左的语言。您不必过于担心它,因为它不会影响结果,您的应用程序将完美地显示它。

答案 2 :(得分:2)

“要解决此问题,请在BidiFormatter类中使用unicodeWrap()方法,将其插入到本地化消息中的每一段文本中。”

从这里引用https://developer.android.com/training/basics/supporting-devices/languages.html#FormatText

答案 3 :(得分:1)

您必须使用Arabic Font之类的:

Typeface face = Typeface.createFromAsset(this.getAssets(), "fonts/arabic_letters.TTF");
yourTextView = (TextView) findViewById(R.id.yourTextVIew);
yourTextView.setTypeface(face, Typeface.BOLD);