在我看到的代码片段中,我想了解在代码中使用i18n(国际化)。任何人只是简单地向我说明为什么它在那里......我只想说明为什么会有“ i18n.createTitle“这是否意味着,它将语言翻译成英语式的国际化或什么?这可能是一个愚蠢的问题,但我是一个新手..谢谢..
<ui:composition template="/_decorator.xhtml">
<ui:define name="title">#{i18n.createTitle}</ui:define>
<ui:define name="heading">#{i18n.createHeading}</ui:define>
<ui:define name="body">
答案 0 :(得分:1)
简而言之:您拥有每种语言的属性文件。在这些文件中,每个文本都有一个标签。例如:
i18n_ES.properties :(西班牙语为ES)
helloworld=Hola Mundo
share_button=Comparte esta entrada
i18n_EN.properties :(英语为EN)
helloworld=Hello World
share_button=Share this post
浏览器请求通常在标题中包含语言首选项,因此响应使用该选项来选择文本。如果要支持更多语言,则需要创建更多属性文件。
然后你可以使用i18n加载属性并请求文本:例如i18n.helloworld。