
Frappe LMS 多语言配置指南3步跑通国际化【免费下载链接】lmsEasy to Use, 100% Open Source Learning Management System项目地址: https://gitcode.com/GitHub_Trending/lms1/lms给学员上线一门课界面却全是英文海外用户基本留不住。Frappe LMS 自带多语言支持从翻译文件到前端取词都是现成的你要做的只是挑好语言、把文案填进去。 什么时候会用到多语言企业给不同国家团队开同一个培训站点希望每人按母语看界面你把课程输出到海外机构对方要求界面至少支持本地语言学员没登录直接看课程页希望看到系统默认语言而不是全英文 机制速览翻译是怎么生效的翻译文件所有文案存在 lms/locale/ 目录。main.pot是文案源文件每种语言一个.po文件如zh.po对应简体中文目前内置 39 种语言。后端下发lms/lms/api.py 里的get_translations()负责取词登录用户读个人语言偏好访客则回退到 System Settings 里配置的站点默认语言。def get_translations(): if frappe.session.user ! Guest: language frappe.db.get_value(User, frappe.session.user, language) else: language frappe.db.get_single_value(System Settings, language) return get_all_translations(language)前端取词frontend/src/translation.js 里的 Vue 插件把__()挂到全局页面组件统一用__(Save)这样的写法取词首次加载时前端自动拉取翻译字典没匹配到的文案直接显示原文。️ 3步跑通多语言配置克隆仓库git clone https://gitcode.com/GitHub_Trending/lms1/lms装好 Frappe 环境再启动站点。管理员进 Settings → Preferences把 System Language 设成站点默认语言访客看到的界面就跟随它。学员在个人资料里选择个人语言登录后整站界面按该语言显示。界面出现新文案没翻译在 Frappe 项目目录跑bench --site your-site extract-message新文案会写进main.pot和各语言.po文件。把.po文件交给译者填好翻译再跑bench --site your-site translate编译刷新页面即可生效。⚠️ 进阶与边界.po 文件怎么维护各.po文件由 Crowdin 协作翻译文件头带有语言标识比如zh.po里是Language: zh_CN。你本地直接改翻译时保持msgid/msgstr的对应关系即可别动文件头。空翻译回退原文msgstr为空的条目界面直接显示英文原文不会报空白。翻译没做完也能上线缺哪条就回退哪条。占位符要原样保留前端支持__(Row {0}, [7])这种带占位符的文案翻译时把{0}完整保留否则数字、用户名填不进去。✅ 收尾多语言配置的核心就三件事.po文件管翻译、get_translations按语言下发、前端__()统一取词。下一步先在 Settings 里把 System Language 设成你的目标语言再把课程名、章节这些高频文案翻译出来效果立竿见影。【免费下载链接】lmsEasy to Use, 100% Open Source Learning Management System项目地址: https://gitcode.com/GitHub_Trending/lms1/lms创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考