【问题标题】:Sonar displays violation messages in another language than Sonar default localeSonar 以不同于 Sonar 默认区域设置的其他语言显示违规消息
【发布时间】:2017-12-20 22:54:37
【问题描述】:

将 Sonar 2.10 升级到 Sonar 3.2 后,一些违规消息会以 Sonar 默认区域设置以外的其他语言显示。

就我而言,Sonar 默认语言环境在常规配置设置中设置为“en”。我还在 Sonar System Info 面板中检查了 Java 系统属性“user.language”也设置为“en”。我也没有安装 Sonar French Pack。默认只安装英文包。但是有些消息仍然以法语显示?!?!

请注意,Sonar 指标是由 Jenkins 中配置的作业触发的。我也应该在 Jenkins 中强制执行任何操作吗?

【问题讨论】:

    标签: internationalization sonarqube locale


    【解决方案1】:

    您必须确保 Jenkins 服务器上的默认语言环境也是英语。

    【讨论】:

    • 嗯...我已经强制 Jenkins 在“管理 Jenkins”->“配置系统”->“区域设置”->“默认语言”中使用语言“en”。此外,还选中了“忽略浏览器首选项并强制所有用户使用此语言”选项。
    • 我还在 Jenkins 系统信息中验证了 Java 系统属性“user.language”也设置为“en”。但是在这个面板中,我还可以看到有两个环境变量:LANGUAGE 和 LANG。它们分别设置为“fr_BE:fr”和“fr_BE.UTF-8”。据我所知,我没有自己设置。这可能是我的问题的原因。这些变量是否由操作系统根据服务器的区域设置自动设置?
    • 当我谈到你的 Jenkins 服务器的默认语言环境时,我应该说:运行 Jenkins 的服务器的默认语言环境。事实上,您可以将环境变量设置为 fr_BE 的事实解释了为什么您会收到法语消息。如果您想要英文消息,您可以通过修改运行 Jenkins 的用户的环境变量来强制使用语言环境(=> 这是将启动 Sonar 分析的用户)。
    • 谢谢Fabrice ...我也猜到了,这确实是我的问题的原因。我要求我们的管理员更改 Jenkins 服务器的默认区域设置,现在所有违规消息都显示在正确的区域设置中。然而,这有点奇怪,这个问题似乎只发生在某些违规消息而不是所有消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 2014-01-14
    • 2012-02-16
    • 2018-03-02
    • 1970-01-01
    • 2017-08-03
    相关资源
    最近更新 更多