如何使用 i18next 设置 RTL 翻译方向?

How to set RTL direction of translation using i18next?

我有一个带有“混合方向”部分的文本,这意味着句子的一部分应该是 RTL,其他部分应该是 LTR。

例如:

{
  "CC_LAST_DIGITS": "מס׳ כרטיס: **** **** **** 1234"
}

在示例中,主要布局为 RTL,浏览器在 4 位数字之后呈现星号。它们应该呈现在 4 位数字的前面。

如何在 I18next 中强制执行 LTR?

我发现有 direction marks 可用于在 unicode 用法中切换文本方向。

left-to-right mark: ‎ or ‎ (U+200E)

right-to-left mark: ‏ or ‏ (U+200F)

为了修复我的翻译文本,您需要在星号前添加正确方向的 unicode:

{
  "CC_LAST_DIGITS": "מס׳ כרטיס:\u200E **** **** **** 1234"
}