- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我应该何时以及如何使用<resource-bundle>
和<message-bundle>
faces-config.xml
中的本地化标签?我不太清楚这两者之间的区别。
最佳答案
<message-bundle>
每当您想要覆盖 JSF 验证/转换内容所使用的 JSF 默认警告/错误消息时,就可以使用它。您可以在 JSF specification 的第 2.5.2.4 章中找到默认警告/错误消息的键。 .
例如,Messages_xx_XX.properties
文件位于 com.example.i18n
包如下,它覆盖默认的 required="true"
消息:
com/example/i18n/Messages_en.properties
javax.faces.component.UIInput.REQUIRED = {0}: This field is required
com/example/i18n/Messages_nl.properties
javax.faces.component.UIInput.REQUIRED = {0}: Dit veld is vereist
可以按如下方式配置(没有区域设置说明符 _xx_XX
和文件扩展名!):
<message-bundle>com.example.i18n.Messages</message-bundle>
<小时/>
<resource-bundle>
每当您想要注册可在整个 JSF 应用程序中使用的本地化资源包时,就可以使用它,而无需指定 <f:loadBundle>
在每个 View 中。
例如,Text_xx_XX.properties
文件位于 com.example.i18n
封装如下:
com/example/i18n/Text_en.properties
main.title = Title of main page
main.head1 = Top heading of main page
main.form1.input1.label = Label of input1 of form1 of main page
com/example/i18n/Text_nl.properties
main.title = Titel van hoofd pagina
main.head1 = Bovenste kop van hoofd pagina
main.form1.input1.label = Label van input1 van form1 van hoofd pagina
可以按如下方式配置(没有区域设置说明符 _xx_XX
和文件扩展名!):
<resource-bundle>
<base-name>com.example.i18n.Text</base-name>
<var>text</var>
</resource-bundle>
并用于 main.xhtml
如下:
<h:head>
<title>#{text['main.title']}</title>
</h:head>
<h:body>
<h1 id="head1">#{text['main.head1']}</h1>
<h:form id="form1">
<h:outputLabel for="input1" value="#{text['main.form1.input1.label']}" />
<h:inputText id="input1" label="#{text['main.form1.input1.label']}" />
</h:form>
</h:body>
<小时/>
自 Java EE 6/JSF 2 起,还有新的 JSR303 Bean 验证 API,由 @NotNull
表示。 , Size
, @Max
等 javax.validation.constraints
的注释包裹。您应该了解此 API 与 JSF 完全无关。它不是 JSF 的一部分,但 JSF 恰好在验证阶段支持它。 IE。它确定并识别 JSR303 实现(例如 Hibernate Validator)的存在,然后将验证委托(delegate)给它(顺便说一句,可以使用 <f:validateBean disabled="true"/>
禁用它)。
根据 JSR303 specification 第 4.3.1.1 章,自定义 JSR303 验证消息文件需要完全名称 ValidationMessages_xx_XX.properties
并且需要将其放置在类路径的根中(因此,不要放在包中!)。
在上面的示例中,_xx_XX
文件名中代表(可选)语言和国家/地区代码。如果完全不存在,那么它将成为默认(后备) bundle 。如果存在该语言,例如_en
,那么当客户端在 Accept-Language
中明确请求使用这种语言时,就会使用它。 HTTP 请求 header 。这同样适用于国家,例如_en_US
或_en_GB
.
您可以在 <locale-config>
中一般指定消息和资源包支持的区域设置。 faces-config.xml
的元素.
<locale-config>
<default-locale>en</default-locale>
<supported-locale>nl</supported-locale>
<supported-locale>de</supported-locale>
<supported-locale>es</supported-locale>
<supported-locale>fr</supported-locale>
</locale-config>
需要通过 <f:view locale>
设置所需的区域设置。另请参阅Localization in JSF, how to remember selected locale per session instead of per request/view .
关于jsf - JSF国际化,什么时候使用message-bundle和resource-bundle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2668161/
我有一个 Java 字符串,但在处理时遇到了问题。我有一个字符串 s,它的值为丞(我随机选择的一个汉字,我不会说中文)。如果我打电话 String t = new String(s.getBytes(
在Qt中,所有的输入部件和文本绘制方式对Qt支持的所有语言都提供了内置的支持。Qt内置的字体引擎可以在同一时间正确而且精细地绘制不同的文本,这些文本可以包含来自众多不同书写系统的字符。如果想了解更多的
如何实现字段标签、帮助文本等的国际化支持。字段的标准乘法似乎不起作用例如文档中给出的用于创建联系表单的示例。我尝试为其他语言添加额外的字段(文档中描述的第一种方法) from django.db
是否有可能当我在操作类中使用“getText(”keyName”); 时,我可以指定仅从 ENGLISH 资源包中选择值。因为我只想将此值用于日志记录目的。 任何想法我怎么能做到这一点? BR 标准委
我有一些关于 GWT 的国际化解决方法的问题。 1) 处理直接写入 ui.xml 文件的静态文本的最佳方式是什么? 目前,我正在使用 Messages-Interface 来翻译 Java 生成的文本
我在 Symfony 2 中遇到了一个奇怪的翻译问题。 这是我的config.yml imports: - { resource: parameters.yml } - { resou
对于我的大部分应用程序,我可以使用 https://developers.google.com/web-toolkit/doc/latest/DevGuideI18n 中列出的推荐国际化技术。 (主要
我使用 Android Studio 创建了一个新的 Flutter 项目。我正在使用null-safety,并且正在物理设备上运行应用程序,但代码生成无法正常工作,没有flutter_gen.dar
这里是菜鸟。 我正在尝试对基于命令行的程序实现国际化。以下是 java 国际化路径中可用的内容。 import java.util.*; public class I18NSample { s
我使用 Android Studio 创建了一个新的 Flutter 项目。我正在使用null-safety,并且正在物理设备上运行应用程序,但代码生成无法正常工作,没有flutter_gen.dar
我正在开发一个需要多语言的应用程序。 我正在尝试关注 this国际化教程。但是,当我尝试“使用基本国际化”时, View 中没有列出我的 Storyboard。 我正在使用 XCode 4.6.3 我
我住在印度(有超过20种语言)我正在尝试在网站中实现java国际化。 但是在 Locale.getAvailableLocales() 中,本地语言不可用。我的情况是否可以实现国际化? 如果可能的话字
我有以下 SDN 4 实体: 决策、特征和值: @NodeEntity public class Value { private final static String SET_FOR = "
关于MySql,是否有支持所有或绝大多数语言的字符集? 最佳答案 统一码。它有几种编码:UTF-8、UTF-16 和 UTF-32。 来自 http://en.wikipedia.org/wiki/U
我目前正在使用 Vuepress。但是我想要在我的 Vuepress 站点中使用多种语言。经过 3 天的挣扎,我决定把我的问题放在这里。 (是的,我查看了 Vuepress 文档:https://vu
我需要返回一个 strftime() 调用,该调用使用与我本地机器/操作系统上设置的语言不同的语言。是否可以选择返回语言? 最佳答案 对于可靠的 i18n/L10N,可由必须在同一运行中提供不同本地化
我有一些按钮,按下它们后我想播放一些音频。按钮的名称是音频文件的名称 private func playAudio(title : String){ audioPlayer = AVAudio
如何更改 HTML5 的消息(或者它会根据浏览器的语言自动更改?) 例如: E-mail: 当我在 Opera 运行此代码(来自 W3schools)
我发现很多关于 url schemes 的话题,最常见的是: www.mysite.com/fr/products www.mysite.com/en/products www.mysite.com/
在 Android WebView 中处理国际化/本地化的最佳方式是什么。理想情况下,我想访问以下位置的所有字符串资源: res/values/strings.xmlres/values-de/str
我是一名优秀的程序员,十分优秀!