最近在修正一些运行时错误中,发现了类似的错误模式,例如

打开SYSADMIN后,教师面板无法进入,检查lms/log发现

用户注册后不能发送邮件,也不能跳转到注册成功页面,而邮件却已正确配置。检查lms/log发现

共同的错误提示KeyError。在和社区开发者进行探讨后,认为是模板的问题,于是@wwj718修改了模板文件使组件可运行并提交commit到github。而edX社区的开发者提示这是语言包问题。

检查mako.po文件发现,的确是翻译者在变量中加入了错误的空格导致:

{link_start} -> { link_start }
{platform_name} -> { platform_name }

凡是错误加入空格的地方,涉及的组件都会出现KeyError错误。

一劳永逸的做法,我们已在transifex修正了目前发现的几十处类似语言包错误并确认审核。重新下载编译语言包即可修正此类错误。