代码之家  ›  专栏  ›  技术社区  ›  Dimitri Dewaele

德语中名词的小写不正确

  •  0
  • Dimitri Dewaele  · 技术社区  · 10 年前

    我的应用程序使用不同语言的资源包(I18N)。

    string.toLowerCase()
    

    整个应用程序都使用小写字母来组合句子。

    问题 :lowerCase不正确 德国的 名词。

    资源捆绑包:

    • 英语:resource_day= D 是的
    • 德语:resource_day= T ag公司

    句子:

    • 英语:这是第一次 d 是的。
    • 德语:Dies ist der erste T ag。

    如你所见:德语使用 首都 名词的字母。

    代码:

    sentence = resource_start + number + resource_day.toLowerCase();
    

    区分英语和德语的最好方法是什么?

    1 回复  |  直到 10 年前
        1
  •  1
  •   Jan    10 年前

    最好的方法是在资源中存储完整的句子,并为变量部分使用占位符:

    EN

    resource_day = This is the {0} day.
    day_first = first
    

    判定元件

    resource_day = Dies ist der {0} Tag.
    day_first = erste
    

    并将其用作

    String day_number = "day_first";
    MessageFormat.format(RESOURCE_BUNDLE.getString("resource_day"), 
       RESOURCE_BUNDLE.getString(day_number);