【问题标题】:Turn off translations for react-admin关闭 react-admin 的翻译
【发布时间】:2018-07-20 14:32:23
【问题描述】:

培养不需要翻译的管理员。有没有办法完全关闭它们。就像现在一样,对于诸如通知之类的事情,它们会显示,但我也会收到控制台警告,提示缺少翻译键。

【问题讨论】:

  • 您看到了哪些翻译警告?它必须在您的自定义组件上,因为如果缺少字段标签的翻译,react-admin 组件不会引发翻译警告。它在所有地方都使用(未记录的默认翻译
  • 也可能是因为我们的某些翻译调用不使用此功能,所以如果您能找到这些,请打开一个问题 :)

标签: react-admin


【解决方案1】:

除了 Frederik 的回答之外,这是在 react-admin 上禁用“缺少翻译”警告的正确方法:

import polyglotI18nProvider from 'ra-i18n-polyglot'; // install the package
import englishMessages from 'ra-language-english'; // install the package

const App = () => {

  const i18nProvider = polyglotI18nProvider(() => englishMessages, 'en', { allowMissing: true });

  return (

     <Admin i18nProvider={i18nProvider}
       ...
     />

  )

}

【讨论】:

  • 并非如此。您假设它是单语言应用程序,因为您丢弃了 polyglotI18nProvider 函数中的语言环境,并且您还假设提供的翻译只是 React Admin 依赖项中的翻译。这仅适用于仅使用 RA 翻译并使用翻译后的字符串作为代码库中的键的单语言应用程序。
【解决方案2】:

通过添加允许丢失键的自定义 i18nProvider 来解决它:

const i18nProvider = polyglotI18nProvider(locale => i18nMessages[locale], 'en', { allowMissing: true });

<Admin
    i18nProvider={i18nProvider}
    ...
/>

更多详情:https://marmelab.com/react-admin/Translation.html 和:https://www.npmjs.com/package/node-polyglot#options-overview

【讨论】:

  • 如何导入“i18nMessages”?
  • @YukiTanaka i18nMessages 是所有翻译的字典。您可以导入英文消息表单ra-language-english。你可以在这里查看文档:marmelab.com/react-admin/Translation.html
猜你喜欢
  • 1970-01-01
  • 2019-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 2021-04-11
  • 2019-01-25
相关资源
最近更新 更多