typescript - 名称 : ' XXX |||| XXXs' , 在 i18n 中意味着什么?

标签 typescript react-admin react-i18next

此代码来自 recat-admin demo国际化翻译,

     invoices: {
        name: 'Invoice |||| Invoices',
        fields: {
            date: 'Invoice date',
            customer_id: 'Customer',
            command_id: 'Order',
            date_gte: 'Passed Since',
            date_lte: 'Passed Before',
            total_gte: 'Min amount',
            address: 'Address',
        },
    },

你能解释一下这一行的含义吗?

name: 'Invoice |||| Invoices'

我从来没有遇到过这样的带有 |||| 的代码

谢谢:)

最佳答案

react-admin 使用 Polyglot作为其默认的 i18n 提供商。这是定义消息的单数和复数形式的方式:

名称:'单数||||复数'

在某些语言中,您可能需要两个以上的变体:

名称:'WhenZero ||||当一个|||| WhenMoreThanOne'

在react-admin中,您可以调用useTranslate钩子(Hook)来获取translate函数。该函数接受 2 个参数:

  • 翻译键
  • 要在翻译后的消息中插入的变量对象。

如果您阅读多语言文档,您会发现可以在第二个参数中传递一个特殊变量,称为 smart_count。多语言使用此变量返回消息的正确复数形式。

react-admin 使用此功能来获取正确的标题。对于资源名称,我们在列表页和菜单项中显示复数版本,在创建、编辑和显示中显示单数版本。

关于typescript - 名称 : ' XXX |||| XXXs' , 在 i18n 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67667353/

相关文章:

Angular 2 最终版本 - ngModule 无法识别共享组件

typescript - 泛型类型函数中的类型 'something' 上不存在属性

javascript - TypeScript - 如何继承类和覆盖 lambda 方法

javascript - 从url导入json文件

reactjs - React-i18next 悬念

typescript - 你如何连接两个(管道标准输入和标准输出)Deno 子进程?

javascript - 从 React Admin 中的同一端点创建多个资源以应用不同的过滤器

reactjs - 如何处理 React-admin 中的服务器错误?

react-admin - 如何在react-admin中禁用开放式UI更新?

typescript - 将 i18next 与 TypeScript 结合使用 : How to Support Prefixed Namespace Keys in the t Function