如何禁用复数后缀?

Cem*_*aan 2 strapi

集合类型列表 未列出collectionName

API 名称不是“集合名称”,而是创建的集合类型的“显示名称”。

如何控制复数后缀?

有没有办法为多元化效用定义新的不规则规则?

pluralize.plural('irregular') //=> "irregulars"

我无法创建英语以外的内容类型。它只是添加了自己的后缀,这使得 i18n 变得不可能。

重现行为的步骤

  1. 转到“内容类型生成器”
  2. 单击“创建新集合类型”
  3. 在“显示名称”中输入“araba”(非英语单词)
  4. 在“高级设置”下的“集合名称”中输入“arabalar”(复数非英语单词)
  5. 查看左侧菜单,它不显示collectionName,而是显示 API 名称

预期行为

它应该是“arabalar”而不是作为集合名称输入的“arabas”

截图

单数 复数

“arabalar”是“araba”的复数而不是“arabas”

错误的

系统

  • Node.js 版本:v12.16.1
  • 纱线版本:1.22.4
  • Strapi版本:v3.0.0-beta.19.3
  • 数据库:sqlite
  • 操作系统:windows

Jan*_*čík 5

不可能禁用复数,但有一个解决方法:

  1. 打开文件 api\araba\models\araba.settings.json (araba 是您的 API 名称)
  2. 将 key displayName 添加到 info 部分

    "info": {
       "name": "Araba",
       "displayName": "arabalar"
     },

Run Code Online (Sandbox Code Playgroud)
  1. 创建文件 admin/src/components/LeftMenuLinkSection/index.js
  2. 将文件 node_modules/strapi-admin/admin/src/components/LeftMenuLinkSection/index.js 的内容复制到其中
  3. 改变这个

   <LeftMenuLink
     location={location}
     key={index}
     iconName={link.icon}
     label={link.label}
     destination={getLinkDestination(link)}
   /> 

Run Code Online (Sandbox Code Playgroud)

对此

       <LeftMenuLink
         location={location}
         key={index}
         iconName={link.icon}
         label={link.schema && link.schema.info.displayName ? link.schema.info.displayName : link.label}
         destination={getLinkDestination(link)}
        />

Run Code Online (Sandbox Code Playgroud)

yarn strapi build

  • 在这里您可以看到如何为新版本执行此操作,它几乎是相同的事情,但在其他地方:https://github.com/strapi/strapi/issues/6332 (3认同)
  • 是的,您可以将任何文件从 /node_modules/strapi-admin/admin/src/ 复制到 /admin/src/ 并在那里进行更改。不要在node_modules 中自定义此文件。 (2认同)