You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Converse.js设置ug(维吾尔语)locale失败,提示模块缺失

问题:Converse.js自定义维吾尔语(ug)语言包无法加载,报错找不到模块

我按照Converse.js快速入门的选项3步骤构建了项目,生成的JS和CSS文件放在根目录的Dist文件夹中,页面集成后功能正常。切换/dist/locale下的39种官方语言都能正常生效,但自定义添加的维吾尔语(ug)语言包无法加载:设置i18n: 'ug'后,界面仍显示英文,控制台报错:

FATAL: Cannot find module './ug.js'

报错栈:

log log.js:68
fatal log.js:93
initialize index.js:121
initialize core.js:574
initialize converse.js:53
initialize entry.js:31
<anonymous> index.html:57

解决方案

以下是排查和修复的关键步骤:

1. 确认语言包文件结构与命名

  • 确保/dist/locale目录下存在全小写的ug.js文件,文件名必须和配置的i18n值完全匹配(不能是UG.js或Uygur.js这类变体)。
  • 检查ug.js的内容格式是否符合规范,必须用ES模块导出翻译键值对象,示例结构:
export default {
    "Hello": "سلام",
    // 其他翻译键值对...
};

2. 构建时需纳入自定义语言包

由于你是通过自定义构建(选项3)生成的Dist文件,默认构建脚本不会自动识别新增的语言包,需要:

  • 检查项目构建配置(如webpack.config.js或构建入口文件),确认已将ug.js加入语言包的打包范围。
  • 重新执行构建命令,确保ug.js被正确打包到/dist/locale目录中。

3. 验证模块导出方式

Converse.js的语言包仅支持ES模块的export default导出,不要使用CommonJS的module.exports,否则会导致加载识别失败。

4. 检查初始化配置的拼写

确认初始化代码中i18n配置项没有拼写错误:

converse.initialize({
    i18n: 'ug',
    // 其他配置项...
});

5. 清除浏览器缓存

浏览器可能缓存了旧的构建文件,导致新添加的ug.js未被加载,按Ctrl+Shift+R(Windows/Linux)或Cmd+Shift+R(Mac)强制刷新页面,清除缓存后重试。

内容的提问来源于stack exchange,提问作者Keram Yasin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 05:50:44