GWT i18n 消息属性不显示像 ß 这样的特殊字符

GWT i18n Message Properties does not Display special Character like ß

我使用 GWT i18n Messages 来翻译消息:

@DefaultLocale("en")
public interface Messages extends com.google.gwt.i18n.client.Messages {

    @DefaultMessage("Size")
    String size();

}

对于德语,我有 Messages_de.properties 文件。

size=Größe äüö ÄÖÜ

在我使用的一个 UIBinder 模板中

<ui:text with="{messages.size}"/>

当用户的浏览器 de 我得到 Grösse ÄÖÜ ÄÖÜ 而不是 Größe äüö ÄÖÜ 被显示。

我的工作区以及我的 .properties 文件设置为 UTF8。

如何让德语中的特殊字符 ß 正确显示,或者有没有办法包含 ASCII 码?

解决方法:设置CSS时text-transform: uppercase;ß转化为SS.

GWT 始终为 UTF8。因此,解决问题的最简单方法是将工作区的编码设置为 utf-8。

或select您的Messages_de.properties、鼠标右键和select属性。使用资源将 属性 文件的编码设置为 utf-8。

这是 Eclipse 处理 properties 文件的方式的问题。您可以将整个工作区设置为 UTF-8,它仍会将 properties 文件视为 ISO 8859-1 - 因为 that's the default/expected encoding. However, GWT uses an enhanced properties file format 直接使用 UTF-8(无需转义字符)。

您必须单独覆盖此设置:

您可以在那里将所有 *.properties 文件的默认编码更改为 UTF-8(不要忘记点击 Update 按钮)。

但请注意,这意味着将所有 properties 文件视为 UTF-8。因此,除非您确定这不会破坏任何内容,否则我会缩小文件关联范围,例如 *Messages.properties 文件(如果您所有的翻译文件都具有 Messages 后缀)。或者只是使用不同的编辑器来编辑属性文件。