【问题标题】:Can I use flat json keys in i18n-js react native我可以在 i18n-js 中使用平面 json 键吗?
【发布时间】:2020-05-06 14:01:37
【问题描述】:

我有一个扁平的json如下

'action.skip': 'Skip this for now', 'action.start': 'Start'

我想叫它

{I18n.t('action.start')}

目前它不起作用,因为 i18n 试图找到“action”键及其子“start”而不是“action.start”。我找不到任何更改键分隔符的选项。请帮忙

【问题讨论】:

    标签: react-native translation i18n-js


    【解决方案1】:

    我们可以通过添加以下代码来更改键分隔符。

    import I18n from 'i18n-js';
    
    import { de, en } from '../locales';
    
    I18n.defaultLocale = 'en';
    I18n.defaultSeparator = '_';
    

    i18n-js 现在只用 "_" 分割字符串,所以如果添加 "abc.xyz" 它将被视为单个键。

    【讨论】:

    • 有效吗?对我来说它不起作用。
    • 您是否只使用了 I18n.defaultSeparator = '_',或者您还做了其他任何事情。因为对我来说 defaultSeparator 不起作用。
    • 我只做了这个。您使用哪个字符进行拆分?
    • 从'i18n-js'导入I18n;从 '../locales' 导入 { de, en }; I18n.defaultLocale = 'en'; I18n.defaultSeparator = '|'; I18n.fallbacks = true; I18n.translations = { en, de };导出默认 I18n;这是我的代码
    • 感谢您的帮助,我认为插件有问题所以我将其更改为I18next,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-12
    • 2021-06-07
    • 2020-05-22
    • 1970-01-01
    相关资源
    最近更新 更多