名词的小写字母在德语中不正确

时间:2016-01-07 10:35:41

标签: java locale lowercase

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

string.toLowerCase()

在整个应用程序中使用小写来组合句子。

问题德语名词的lowerCase不正确。

资源包:

  • 英语:resource_day = D ay
  • 德语:resource_day = T ag

句:

  • 英文:这是第一个 d ay。
  • 德语:Dies ist der erste T ag。

您可以看到:德语使用名词的大写字母。

代码:

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

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

1 个答案:

答案 0 :(得分:1)

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

<强> EN

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

<强> DE

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);