Logging 日志应该受到国际化的影响吗?
我们目前正在考虑将我们的一系列产品运往世界其他地区。我们将确保用户界面中的所有字符串和日期格式等反映目标国家的语言和文化 我们的日志文件和错误报告是否也应该以这种方式更改?考虑到客户可能会查阅日志文件,或者我们可能在该国家/地区有一个支持团队,如果相关报告使用他们的语言,则故障排除和问题报告将变得更容易。但是,开发人员都会说英语和ulimate,如果支持团队无法解决该问题,那么报告和日志文件最终将与他们一起出现,并且可能需要翻译Logging 日志应该受到国际化的影响吗?,logging,internationalization,Logging,Internationalization,我们目前正在考虑将我们的一系列产品运往世界其他地区。我们将确保用户界面中的所有字符串和日期格式等反映目标国家的语言和文化 我们的日志文件和错误报告是否也应该以这种方式更改?考虑到客户可能会查阅日志文件,或者我们可能在该国家/地区有一个支持团队,如果相关报告使用他们的语言,则故障排除和问题报告将变得更容易。但是,开发人员都会说英语和ulimate,如果支持团队无法解决该问题,那么报告和日志文件最终将与他们一起出现,并且可能需要翻译 谢谢提交给用户的所有消息都应使用本地语言 除非日志文件是你的应用程
谢谢提交给用户的所有消息都应使用本地语言 除非日志文件是你的应用程序的重要部分,否则我会用英语留下它们。您当地的支持团队应具备合理的英语技能
如果您确实需要翻译这些消息,为什么不记录错误号以及本地语言的消息呢。然后,您可以查找错误号并从代码库中获取英文文本。不需要额外的翻译。用户可以看到的错误消息应该翻译,用你不懂的语言编写的错误消息非常令人恼火
假设您的支持团队通常讲英语,我会将用于故障排除的日志文件保留为未翻译。每次翻译都要花费金钱/时间,我不会将此花费在用户看不见的消息上。日志消息的一部分可以是独立于本地化的日志消息标识符,例如在错误消息中包含
errno
,以及strerrno
的输出
例如,在vim中键入:Q
,然后返回E492:而不是编辑器命令:Q
E492
可以轻松查找(:help E492
),翻译人员可以轻松提供有意义的本地翻译。日志文件供开发人员/调试器使用。如果他们能够理解英语的开发语言,他们肯定应该理解调试日志。在我看来,将日志国际化是一种过分的做法。只要您的二线和三线支持人员懂英语,就不用费心翻译日志消息。否则,您只会在事件和问题管理中引入更多的混乱
但是,将向最终用户显示的任何错误或警告消息以翻译后的语言(以及英语版本)记录下来可能是一个好主意,以帮助一线支持向二线支持提供信息 真实情况:事实证明,如果您的服务器支持来自不同本地用户的同时用户,那么显示用户看到的错误文本的日志文件根本不容易读取。除非你会说多种语言。