移除调试消息的翻译¶
包含您的 Launchpad 蓝图的 URL
https://blueprints.launchpad.net/cinder/+spec/debug-translation-removal
在OpenStack中包含调试消息的翻译会给翻译人员带来过多的工作量。为了减轻翻译人员的工作负担,并确保最重要的日志消息得到正确翻译,我们决定移除调试消息的翻译。
问题描述¶
目前,我们一直以所有消息都应该被翻译为前提进行Cinder开发。如上所述,已经决定这并非如此。为了使Cinder与其他OpenStack组件保持一致,我们需要移除调试级别日志消息的翻译。
用例¶
提议的变更¶
提议的更改是简单地从任何调试级别的日志消息周围移除 _()。虽然更改很简单,但更改涉及Cinder中的许多,甚至所有文件,这需要对更改的实施进行仔细协调。
提议的实施方案是让卷驱动程序所有者负责在每个目录中(从 cinder/volume/drivers/ 开始)实施更改,作为单独的提交。然后我们将向后工作,并分批完成剩余顶级目录 (cinder/) 的更改。每个顶级目录将作为单独的提交处理。
请注意,此规范和相关的蓝图不涉及 _LI()、_LW()、_LE() 和 _LC() 函数的集成。这项工作正在由以下规范/蓝图解决:https://review.openstack.org/#/c/99853/
备选方案¶
我们无法回溯并从现有的日志消息中移除。然而,考虑到我们与其它OpenStack项目不一致,并且在未来,一些调试消息会有 _() 围绕着它们,而另一些则没有,这似乎是一个糟糕的决定,会造成混乱和不美观。
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
最终用户将无法在除英语以外的语言环境中看到调试输出。然而,这被认为是必要的,以便翻译团队能够专注于翻译其他日志级别。
性能影响¶
无
其他部署者影响¶
之前看到翻译后的调试消息的部署者需要了解已实施此更改。
开发人员影响¶
开发者不应再翻译调试级别的消息。
实现¶
负责人¶
- 主要负责人
jsbryant (jsbryant@us.ibm.com 和 jungleboyj 在 IRC 上)
- 其他贡献者
会有许多其他贡献者参与此蓝图,因为预计这项工作将分摊给Cinder开发团队的多个成员。
工作项¶
移除 Cinder 中所有调试消息中的 _()。添加一个 HACKING 检查,以确保不会添加新的此类情况。
依赖项¶
无
测试¶
不需要对此更改进行单元测试。但是,应该添加一个 HACKING 检查来测试开发者是否试图在未来翻译调试消息。该检查应确保任何 LOG.debug 消息都没有 _() 围绕着消息中包含的文本。
文档影响¶
调试消息不应该被翻译的事实已经在此处记录:https://wiki.openstack.org/wiki/LoggingStandards 不需要进一步的文档说明。
参考资料¶
此问题在 6/11/14 的每周 Cinder 会议上讨论:http://eavesdrop.openstack.org/meetings/cinder/2014/cinder.2014-06-11-16.03.log.html