You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GWT 2.10项目Ui-Binder国际化配置无效,求排查错误

GWT 2.10国际化配置失效问题排查

核心错误点

1. UiBinder的ui:msg未正确关联Messages接口方法

当你在UiBinder中指定ui:baseMessagesInterface="com.lass.smsweb.client.SiMaSoMessages"时,<ui:msg>的description属性必须对应Messages接口中的方法名,而非自定义的ST1这类标识。

你的UiBinder代码中:

<b.html:Span><ui:msg description="ST1">Fehler</ui:msg></b.html:Span>

这里的description="ST1"没有对应的方法在SiMaSoMessages接口中,GWT无法完成映射。

2. Messages接口缺少对应UiBinder文本的方法

SiMaSoMessages接口仅定义了invalidSymbol方法,但你在UiBinder中使用的ST1等文本没有对应的方法声明。需要在接口中添加对应方法,示例如下:

package com.lass.smsweb.client;
import com.google.gwt.i18n.client.Messages;

public interface SiMaSoMessages extends Messages {
  @DefaultMessage("''{0}'' ist keine gültiges Symbol.")
  String invalidSymbol(String symbol);  

  // 对应UiBinder中的ST1文本
  @DefaultMessage("Fehler")
  String ST1();

  // 对应其他ST2、ST3、ST4文本
  @DefaultMessage("Perturbations")
  String ST2();

  @DefaultMessage("Alarmes")
  String ST3();

  @DefaultMessage("Maintenance")
  String ST4();
}

3. 属性文件的键需与Messages接口方法名完全匹配

法语属性文件SiMaSoMessages_fr.properties中的键必须和接口方法名一致,同时修正属性文件中的语法错误:

invalidSymbol = ''{0}'' n''est pas un numéro valide.
ST1 = Erreur
ST2 = Perturbations
ST3 = Alarmes
ST4 = Maintenance

4. 可选方案:无需接口方法时改用ui:key

如果不想为每个UiBinder文本添加接口方法,可以去掉ui:baseMessagesInterface,改用ui:key直接指定属性文件中的键:

<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
             xmlns:g="urn:import:com.google.gwt.user.client.ui"
             xmlns:b="urn:import:org.gwtbootstrap3.client.ui"
             xmlns:b.gwt="urn:import:org.gwtbootstrap3.client.ui.gwt"
             xmlns:b.html="urn:import:org.gwtbootstrap3.client.ui.html"
             xmlns:b3="urn:import:org.gwtbootstrap3.extras.toggleswitch.client.ui"
             >
  <b.html:Span><ui:msg key="ST1" description="ST1">Fehler</ui:msg></b.html:Span>
</ui:UiBinder>

这种方式不需要在Messages接口中添加对应方法,但需确保属性文件中的键和ui:key完全一致。

内容的提问来源于stack exchange,提问作者RG01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 22:33:37