news 2026/10/20 10:35:10

Frappe LMS 多语言配置指南:3步跑通国际化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Frappe LMS 多语言配置指南:3步跑通国际化

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步跑通多语言配置

  1. 克隆仓库:git clone https://gitcode.com/GitHub_Trending/lms1/lms,装好 Frappe 环境再启动站点。
  2. 管理员进 Settings → Preferences,把 System Language 设成站点默认语言,访客看到的界面就跟随它。
  3. 学员在个人资料里选择个人语言,登录后整站界面按该语言显示。
  4. 界面出现新文案没翻译?在 Frappe 项目目录跑bench --site your-site extract-message,新文案会写进main.pot和各语言.po文件。
  5. 把.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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/20 10:34:27

C语言PAT刷题本地化工程实践:从MOOC习题到可调试可验证训练包

简介:本资源是面向C语言初学者与MOOC学习者的《中国大学MOOC-翁恺-C语言程序设计》配套习题集完整实现方案,聚焦PAT平台常见编程训练题型,覆盖整数运算、单位换算、时间处理、进制转换、条件判断、循环控制、函数封装及基础算法(如…

作者头像 李华
网站建设 2026/10/20 10:31:47

SSM+Vue科研团队管理系统:从选题到答辩的完整实战指南

如果你正在纠结2026届的毕业设计选题,又恰好希望找一个"既有后端技术含量、又有前端界面展示、论文还相对好写"的系统类题目,那么SSMVue科研团队管理系统,确实是一个性价比很高的选择。这个题目每年都有人做,每年答辩也…

作者头像 李华
网站建设 2026/10/20 10:27:16

Python零基础入门:高清PDF版教程与源码实战资源全解析

简介:《Python基础教程(第3版)》高清PDF与配套源码珍藏包,面向零基础或刚入门的Python学习者,也适合作为高校教材辅导资料。PDF版带完整目录、高清排版,对应书中的基础知识、列表和元组、使用字符串等章节&…

作者头像 李华
网站建设 2026/10/20 10:27:05

CRM客户关系管理概念、价值、功能及设计原则详解 | 学习笔记

一、什么是CRM CRM 是客户关系管理(Customer Relationship Management)的英文缩写,既是一套面向企业的客户经营管理策略,也是落地业务流程的数字化工具。其核心是以客户为中心,通过系统化收集、整合、分析全量客户数据,标准化统筹销售、营销、客服等全链路业务流程,帮助…

作者头像 李华