我想编辑我的Android strings.xml文件以添加阿拉伯语翻译,但是遇到了问题。例如,我有以下内容:
<string name="test">اختبار</string>
当我输入像%1$s这样的占位符时,带有占位符的字符串也会混淆。
正确的方法是什么?谢谢。
我想编辑我的Android strings.xml文件以添加阿拉伯语翻译,但是遇到了问题。例如,我有以下内容:
<string name="test">اختبار</string>
在双向文本字符串中,占位符(ascii)很棘手。如果您知道这个%1$s
最终将被阿拉伯语中的名称替换,那么它是可管理的;但如果替换可以是英语或混合文本,则需要长时间仔细的QA来检查所有特殊情况。
不要尝试在Android Studio文本编辑器中编辑阿拉伯文本文件res/values-ar/strings.xml;请改用Translations Editor。
官方指南https://developer.android.com/studio/write/translations-editor.html非常详细地描述了此编辑器,但它忽略了一个小技巧,即使用View/BiDi Text Direction菜单。要使用阿拉伯字符串,请将其设置为从右到左。
这不会影响您编辑器中的阿拉伯列,甚至不会影响翻译在底部文本框中的显示方式:
但是当你点击翻译的 ... 按钮时,你会得到从右到左的翻译:
现在,您可以理解当占位符被实际数据替换后的样子。