根据the official documentation,本地化工作正常。但是,我发现Rails的humanize
方法如果带有重音,则不能正确将句子的第一个字符大写。
例如,如果我在 config / locales / fr.yml 中:
fr:
about_me: "à propos de moi"
...并在视图中:
<%= t("about_me").humanize %>
...浏览器中的输出是
àpropos de moi
...应该是
我的提议
如果我将à
更改为a
,则humanize
会按预期工作。
请注意,在法语中,大写字母的重音为sometimes omitted,但我们将其放在一边。我会很高兴:
Àpropos de moi
我是否只需要在YAML文件中对大写字母进行硬编码即可解决此问题?自然,我宁愿不求助于此。
答案 0 :(得分:1)
我建议在YAML中这样做,大写取决于语言和上下文;例如,德语将所有名词都大写,而英语仅将专有名词和您已经知道的法语中的重音问题, final String[] gameArray = {("1"), ("2"), ("3"), ("4"), ("5")};
public void startGame(View v) {
if (Arrays.asList(gameArray).contains((text))) {
Outputs1.setText("You typed in: " + text + ", which is the correct number!");
} else {
Outputs1.setText("No number 1-5 detected, please type in a number 1-5.");
}
}
和ß
之间的关系等方面大写。简单的字符串操作非常容易出错。最好不要将人类可读的字符串视为从I18N / L10N字符串数据库中提取并直接提供给用户的不透明且不可变的数据。
这是更多工作,但正确无误是很重要的。