RTL文字未按预期显示

时间:2018-12-24 07:35:42

标签: java android localization tindify

我在阿拉伯语本地资源中有以下字符串资源

<string name="status_created_seen_closed_text">"%3$s التعليمات في %2$s قام %1$s"</string>

我正在使用BidiFormatter处理RTL和LTL混合文本:

text = String.format( context.getString(R.string.status_created_seen_closed_text),
                            bidiFormatter.unicodeWrap(statusTimeline.getEmpName()),
                            bidiFormatter.unicodeWrap(TextUtils.getTranslatedStatus(context, StandardUtil.StatusType.valueOf(statusTimeline.getStatus().toLowerCase()))),
                            bidiFormatter.unicodeWrap(dateStr));

但是我得到的结果如下:

‏‪17 Dec,2018 06:22 PM‬‏ التعليمات في بانشاء قام ‏‪Khaled

如果单独考虑,似乎每个插入的文本都朝着正确的方向发展,但总的来说,阿拉伯文本似乎正朝英语方向插入。我的预期结果如下

17 Dec,2018 06:22 PM قام بانشاءالتعليمات في ‬‏ ‏‪‬‏Khaled

已编辑

它可以在Android M及更低版本上正常工作

0 个答案:

没有答案