javascript 中的 i18n 使用 .properties 文件

发布于 2024-09-11 03:35:12 字数 176 浏览 5 评论 0原文

我正在使用 JSF 开发一个 Web 应用程序,因此我使用 Java 属性文件(即 resources_es_CO.properties)来本地化应用程序的字符串,并且工作正常。

我的问题是:如何从 JavaScript 验证中调用此类文件中的本地化字符串,以便警报向用户显示这些本地化字符串?

提前致谢。

I'm developing a web application with JSF, so I use a Java Properties File (i.e. resources_es_CO.properties) to localize strings for the application and this is working OK.

Mi question is: how can I call localized strings in this kind of files from my javascript validations so alerts show those localized strings to user?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风吹雨成花 2024-09-18 03:35:12

我所做的是将消息作为页面的一部分发送出去,放入隐藏的 标记中,其中“id”值由属性名称组成。

或者,您可以编写一个 Ajax 调用的操作并动态获取属性。

要执行 ajax 回调,您必须实现一个能够理解属性键等内容的服务器端操作。服务器将仅应用本地化(即在与会话关联的区域设置中查找属性),然后返回字符串。或者,您可以实现一个服务,该服务可以返回一整套属性,可能基于每个表单,或者根据属性名称的某种约定进行分组(例如,“返回以 'validation.addressForm' 开头的所有属性”) )

最简单的情况与 jQuery 类似:

$.get('/fetchProperty', { property: 'firstNameMissing' }, function(propValue) {
  $('#errMsg').text(propValue);
}, "text/plain");

其他框架提供类似的 ajax 工具,或者您可以自己执行 XMLHttpRequest。

What I do is to send the messages out as part of the page, dropped into hidden <span> tags with "id" values made from the property names.

Alternatively, you could write an Ajax-called action and fetch the properties dynamically.

To do an ajax callback, you'd have to implement a server-side action that would understand something like the property key. The server would just apply the localization (ie look up the property in the locale associated with the session) and then return the string. Alternatively, you could implement a service that'd return a whole set of properties, maybe on a per-form basis, or grouped according to some convention of property names (like, "return all properties that start with 'validation.addressForm'")

The simplest case would look something like this with jQuery:

$.get('/fetchProperty', { property: 'firstNameMissing' }, function(propValue) {
  $('#errMsg').text(propValue);
}, "text/plain");

Other frameworks provide similar ajax tools, or you could do the XMLHttpRequest yourself.

愚人国度 2024-09-18 03:35:12

您可以使用 ajax 调用访问服务器,并将警报文本从服务器发送到客户端并显示它。或者,您可以在呈现 jsp 时将消息放入您的页面。两者都可以。如果您可以在不刷新页面的情况下更改语言,您可能想要进行 ajax 调用。如果你不能,将消息放入 javascript 变量中会更容易

you could go to server with an ajax call and send alert texts from server to client and show it. or you could put messages to your page when your jsp's being rendered. both is ok. if you can change language without refreshing the page you probably want to make ajax call. if you can not , putting messages in javascript variables will be easier

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文