gpt4 book ai didi

java - GWT:在服务器代码中访问 i18n 消息

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:10:48 25 4
gpt4 key购买 nike

我有一个扩展 com.google.gwt.i18n.client.Messages 类的接口(interface),我用它来在我的 GWT 应用程序中检索 i18n 消息。它看起来像这样:

public interface MyMessages extends com.google.gwt.i18n.client.Messages {
@DefaultMessage("Hello world")
@Key("message1")
String message1();

@DefaultMessage("Hello again")
@Key("message2")
String message2();

//...
}

通常,我使用 GWT.create() 创建它的实例,如下所示:

private MyMessages messages = GWT.create(MyMessages.class);

但是,这不适用于服务器端代码,仅适用于客户端代码(它会抛出一个错误,指出 GWT.create() 只能在客户端代码中使用)。

similar question 的答案指向一个单独的库,您可以下载它让您访问服务器上的 i18n 消息,但我不想下载任何额外的库(这似乎是一个简单的问题,必须有一个简单的解决方案)。

总结:如何在服务器端代码中访问我的 i18n 消息?谢谢。

最佳答案

在服务器端,您可以使用标准的 Java 本地化工具,例如 ResourceBundle .看here有关如何使用它的教程。

// Create a ResourceBundle out of your property files
ResourceBundle labels =
ResourceBundle.getBundle("LabelsBundle", currentLocale);

// Get localized value
String value = labels.getString(key);

不能在服务器端 Java 上使用 GWT 特定的从属性文件创建接口(interface)并通过延迟绑定(bind)提供实现的方法。

如果你有胆量并且愿意花时间,你可以实现一个代码生成步骤来读取你的属性文件并为你的消息接口(interface)生成实现类。这正是 Google GWT 编译器在幕后所做的。

关于java - GWT:在服务器代码中访问 i18n 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7769685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com