【问题标题】:Understanding React-Admin translation了解 React-Admin 翻译
【发布时间】:2020-02-25 10:04:35
【问题描述】:

我正在使用 react-admin 并尝试通过以下简短指南用法将其翻译为我的母语: https://github.com/marmelab/react-admin/tree/master/packages/ra-language-french

我不断在假定的翻译键上获得非引用键。

为了让我的翻译工作,我尝试删除节点模块文件,在其他浏览器中测试,清除缓存等,但我仍然有未引用的键:ra.______

当我改变这一行(如下)时,它解决了我的问题:

const messages = { 'fr': frenchMessages, };

const messages = { 'en': frenchMessages, };

这是我唯一需要改变的东西才能使多语言工作(法语翻译)。
有人可以向我解释发生了什么,我不知道为什么它在这种情况下有效?

图片中的示例显示了上述案例:

Not working case

Working case

感谢您的宝贵时间。

【问题讨论】:

  • 这似乎是错误的,我同意,而且我不知道正确的解决方案。但是,如果您将polyglotI18nProvider 设为非动态,如github.com/marmelab/react-admin/blob/master/docs/… 所示,会发生什么?您只需像这样对其进行硬编码:polyglotI18nProvider(() => frenchMessages, 'fr');。如果您尝试这种方法,请告诉我会发生什么。
  • 如果您能提及您正在使用的react-admin 的哪个版本,那将非常有帮助。谢谢
  • 当然,“版本”:“3.2.3”

标签: react-admin language-translation


【解决方案1】:

<Admin locale='fr' ... 属性已弃用!新版本:

import { resolveBrowserLocale } from 'react-admin'
...
const i18nProvider = polyglotI18nProvider(locale => messages[locale], resolveBrowserLocale()) // or 'fr'

【讨论】:

  • 那么,这意味着@DiSiZ 的问题实际上是他们的浏览器语言是en?然后,如果他们只想支持fr,我上面的解决方案也将解决这个问题;-)
猜你喜欢
  • 1970-01-01
  • 2019-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多