Localization 是不是;对",;翻译错误消息?

Localization 是不是;对",;翻译错误消息?,localization,translation,custom-errors,Localization,Translation,Custom Errors,这在某种程度上是主观的,取决于目标翻译语言,但请耐心听我说 我最近参与了一个翻译项目。目标是将MVC框架的字符串翻译成希腊语 框架中70%的语言字符串被翻译,而30%的语言字符串被有意省略。我们的决定是,我们不会翻译针对应用程序开发人员的错误消息 这背后的原因(简而言之)是: 面向设计师/程序员。 程序员(甚至设计师:)应该有一个基本的 懂英语,至少足够 如果需要,他们可以在谷歌上搜索 他们不知道这意味着什么。(种族主义?) 都是针对开发商的 在一个完美的世界里不应该 显示给的最终用户 应用程序

这在某种程度上是主观的,取决于目标翻译语言,但请耐心听我说

我最近参与了一个翻译项目。目标是将MVC框架的字符串翻译成希腊语

框架中70%的语言字符串被翻译,而30%的语言字符串被有意省略。我们的决定是,我们不会翻译针对应用程序开发人员的错误消息

这背后的原因(简而言之)是:

  • 面向设计师/程序员。 程序员(甚至设计师:)应该有一个基本的 懂英语,至少足够 如果需要,他们可以在谷歌上搜索 他们不知道这意味着什么。(种族主义?)

  • 都是针对开发商的 在一个完美的世界里不应该 显示给的最终用户 应用程序,因为它们涉及 web的内部工作方式 应用程序本身。i、 “你必须 在数据库中设置数据库名称 数据库配置文件。“

  • 也许最重要的是, 他们创造了开发者的生活 当他试图得到更多时,他会更加努力 关于以下内容的信息/帮助: 错误。例如上面的错误 在谷歌(Google)中获得8个结果 引用),而它是希腊语 翻译的结果正好是0

  • 我知道这取决于目标翻译语言的流行程度和应用程序本身。例如,我猜有大量关于德国SAP错误消息的文档(我知道,我知道,SAP是德国的,但你明白了),而希腊的关于random application X的错误消息文档在全世界大约有500个安装


    总结一下:当您为应用程序开发语言翻译包时,您是否翻译错误消息?您是否只为英语/西班牙语/德语/法语等主要语言提供服务?还是让它们完好无损?我不是在寻找“正确”或“正确”的答案,我是在寻找“最佳实践”的答案,或者如果这个问题是在您有经验的任何“官方”标准/政策中定义的

    一个包含内置错误消息的好框架应该有一个选项来处理它们。这对用户来说非常重要

    另一方面,不能翻译例外消息。你已经指出了一个重要的原因——搜索。是的,它们是为开发者而不是最终用户提供的


    如果异常消息也用作向用户显示的消息,则这是错误的设计。异常可能包含i18n密钥。

    无论是否翻译,请确保始终使用唯一的ID并允许用户复制它



    提示:在某些应用程序中,按Ctrl+C可复制消息,而不可编辑,最好实现相同的隐藏功能。

    如果应用程序是针对普通业务或消费者用户的,并且向他们显示错误消息,以便他们能够理解或基于此采取一些行动,那么我认为应该对其进行翻译。如果错误消息纯粹用于日志记录和故障排除,那么翻译应该是不必要的。

    我只能提供我自己的观点,但对于我这个德国开发人员来说,获得翻译后的错误消息总是很烦人,尤其是对于广泛传播的软件,如MS软件。这有两个原因:

    • 德语错误信息通常更难理解,因为德语使一切听起来更复杂。此外,与IT相关的单词通常没有好的翻译。德国开发人员要么使用英语单词,要么用繁琐的直译代替。顺便说一句,MSDN网站也是如此

    • 此外,正如你已经提到的,这使得在英文网站上通过谷歌找到解决这些ERORR的方法变得更加困难。德国开发者社区比英国社区小得多


      • 用两种语言打印怎么样?用户/本地管理员知道发生了什么,可以搜索并与开发人员通信。

        通常会有很多错误消息,并且通常只偶尔显示。因此,翻译它们有时似乎太费劲了。

        不要翻译异常消息;这可能会变成一场翻译噩梦

        我经常与微软办公自动化公司合作。翻译成希伯来语的异常消息让我很难受:

      • 我在Google/MSDN上找不到它们中的大多数,所以我不得不自己把它们翻译成英语,只是为了谷歌搜索
      • 其中一些通过其翻译的类名引用对象。我(作为程序员)操作的对象类总是用英语命名的。这只会让信息变得不那么容易理解
      • 其中一些是格式化字符串,其中消息本身被翻译,但构造消息的参数没有被翻译;这使得消息更难理解,有时这意味着消息无法在默认的MsgBox中正确显示(从右到左的语言可能是一场噩梦)
        根据我的经验,开发人员需要用英语翻译异常消息,因此翻译这些消息只需要双方付出更多努力,不会给您带来太多好处。

        取决于应用程序。这是一个高度技术化的应用程序,将由懂英语和目标语言的人使用,您可能不会介意英文错误消息


        如果这是一条最终用户可以看到的消息,那么应该进行翻译。试想一下,如果您使用的是一个由日本开发人员编写的应用程序,并且您看到了一条日语错误消息。这可能对你没有多大帮助——你根本不知道它说了什么,也不知道你是否能做些什么。

        +1用于区分错误和异常消息。我的个人经验