Strapi新增语言无法通过API获取问题求助
解决方案:Strapi 11.5 新增语言后API无法获取数据
1. 核对语言配置文件
确认config/i18n.js中已正确添加新语言的配置,locale代码必须和后台面板添加的完全一致:
module.exports = { locales: ['en', 'zh-Hant-HK', 'zh-CN'], // 确保包含zh-CN defaultLocale: 'en', // 其余配置保持不变 };
2. 检查内容类型的权限与字段设置
- 进入目标内容类型的编辑页,确认所有需要多语言的字段都开启了「国际化」选项,新增语言后部分字段可能未自动同步设置。
- 前往「设置→角色」,给对应角色(如公共角色)添加该内容类型
zh-CN语言的读写权限——新增语言不会自动同步权限配置。
3. 验证新语言数据是否已入库
- 后台切换到
zh-CN语言编辑内容后,务必点击保存,避免切换语言后未提交数据。 - 直接查看数据库(如SQLite的
.tmp/data.db),确认对应内容表的locale字段存在zh-CN的记录,且字段值已填充。
4. 清理缓存并重建项目
- 执行
npm run build重新构建项目,再重启Strapi服务,刷新配置缓存。 - 开发模式下可手动删除
.cache和.tmp目录后重启,彻底清除旧缓存。
5. 排查API请求与自定义代码问题
- 简化请求参数,先测试基础请求
GET /api/[内容类型]?locale=zh-CN,排除populate=*等参数的干扰。 - 若使用了自定义路由或控制器,检查代码中是否硬编码了locale值,导致新语言被过滤。
6. 确认国际化插件版本兼容性
执行npm list @strapi/plugin-i18n查看插件版本,确保其适配Strapi 11.5,必要时更新插件至最新版。
内容的提问来源于stack exchange,提问作者ZackChim
相关产品推荐
相关产品推荐

