【问题标题】:I18N : Constants needed in constant (Java/GWT)I18N:常量中需要的常量(Java/GWT)
【发布时间】:2013-04-06 10:37:43
【问题描述】:

I18N 申请。 它的一部分在于对菜单进行 I18N-ing。没关系。
通过 GWT,我可以使用常量接口。
现在我必须提供该应用程序的帮助,其中包括一些涉及菜单的文本。
所以在这些更大的常量中,我需要使用菜单常量。

示例:
我在 I18N 的属性文件中有一个资源:

menuPlay = Play ...

现在我想定义另一个资源 = 一些帮助文本:

howToPlay = In order to start the game, go to the menu ??<resource menuPlay>??

在上面的问号中,我想使用资源menuPlay。

当我想翻译例如法语时,这两个资源将是:

menuPlay = Jouer...
howToPlay = Pour démarrer le jeu, aller au menu ??<resource menuPlay>??

我该怎么做(在 Java / GWT 中)? 我的意思是有现成的解决方案(我找不到或想不到)。我不想编写一些特定的解决方案,这些解决方案会根据本地化信息实时结合两者。
这将有助于防止更改 menuPlay 资源时出现不一致:无需费心更改其他资源 howToPlay(忘记的高风险)。

【问题讨论】:

    标签: java gwt internationalization constants


    【解决方案1】:

    那么你的财产就像

    menuPlay = Play ...
    howToPlay = In order to start the game, go to the menu {0}
    

    使用时

    为了得到menuPlay然后在java中你可以使用resource.menuPlay();

    现在为了得到howtoPlay

    resource.howToPlay(resource.menuPlay()); //现在 {0} 替换为 Play

    你可以为 no.of 参数做到这一点

    howToPlay = In order to start the game, go to the menu {0} {1} ..等

    see message patterns

    【讨论】:

    • 谢谢。我了解您的提议依赖于 GWT 的 messages 接口,howToPlay 是一条以常量 menuPlay 作为输入参数的消息。我牢记这一点,并将其用作后备。但是我仍然希望有一个只依赖常量的解决方案,因为我只使用常量。这个想法是让代码没有这些问题:在需要更改帮助的情况下,我不想回到代码中(例如,当帮助文本需要使用比一开始预想的更多的常量时)。
    猜你喜欢
    • 2011-04-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多