edX语言包格式错误引起组件崩溃

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

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

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

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

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

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

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

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

`N9GM7DC@DJTH6HJ2_TK2]K D0D6E921-CCD7-4964-A919-8FA0329B13BF

Posted in Open edX.

edustack

edustack webmaster

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Time limit is exhausted. Please reload CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.