问题标签 [resourcebundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8467 浏览

java - 来自 Java/Struts 的 ResourceBundle 和替换表达式

如果我有一个资源包属性文件:

A.属性:

然后我有加载资源包的java代码:

如何用某个值替换 {0} 文本

这样输出结果如下:

资源包中没有任何方法可以执行此操作。另外,我在 Struts 中,有没有办法使用 MessageProperties 进行替换。

0 投票
4 回答
5109 浏览

java - 如何使用 ResourceBundle 避免 Java 应用程序中的硬编码配置路径?

我想在我的 Java 应用程序中消除对配置数据硬编码路径的依赖,我知道使用 ResourceBundle 将帮助我使用类加载器来查找资源。

有人能告诉我如何用适当使用 ResourceBundle 来替换资源的硬编码路径(比如类所需的 .properties 配置数据文件)吗?如果可能的话,简单清晰的例子,谢谢大家。

0 投票
3 回答
7970 浏览

java - 在 Java 中,如何在 Web 应用程序中动态重新加载资源包?

我们使用 fmt:setBundle 从数据库加载资源包(我们扩展了 ResourceBundle 类来做到这一点)。当我们修改数据库中的值时,我们必须重新加载 Web 服务器以在 Web 应用程序上显示新值。

是否有任何简单的方法可以在不重新启动 Web 服务器的情况下使用新值?

(我们不想总是从数据库中查找值,但我们想使缓存无效,例如通过调用特殊的“管理员”URL)

编辑:我们使用的是 JDK 1.4,所以我更喜欢那个版本的解决方案。:)

0 投票
9 回答
64712 浏览

java - 如何在属性文件中指定值,以便可以使用 ResourceBundle#getStringArray 检索它们?

我正在尝试使用从属性文件ResourceBundle#getStringArray中检索 a 。String[]文档中对此方法的描述如下:

从此资源包或其父资源包中获取给定键的字符串数组。

但是,我尝试将属性文件中的值存储为多个单独的键/值对:

并作为逗号分隔的列表:

但这些都不能使用ResourceBundle#getStringArray.

您如何在属性文件中表示一组键/值对,以便可以使用 检索它们ResourceBundle#getStringArray

0 投票
4 回答
2766 浏览

java - 基于插件的程序中的语言环境和资源包

我们需要开始为我们的程序添加国际化。谢天谢地,还不是全部,只是一点点,但我希望我们这样做的方式可以扩大到可能覆盖整个程序。问题是,我们的程序是基于插件的,所以并不是所有的字符串都属于同一个地方。

据我了解,Java 的ResourceBundle工作是这样的。您创建了一个扩展类ResourceBundle,称为类似的类MyProgramStrings,以及特定于语言的类,称为MyProgramStrings_frMyProgramStrings_es。这些类中的每一个都将键(字符串)映射到值(任何对象)。从哪里获取数据取决于这些类中的每一个,但它们的常见位置是属性文件。

您在两个阶段查找值:首先您获得正确的捆绑包,然后查询它以获取您想要的字符串。

但是,我们需要将多个语言环境的结果组合到一个资源空间中。例如,插件需要能够覆盖已定义的字符串,并在代码查找该字符串时返回该新值。

我有点迷失在这一切中。有人可以帮忙吗?


更新:大卫沃特斯问:

我已经把我的答案放在了底部,但我很想听听你是如何解决这个问题的。

好吧,我们还没有走多远——长期的 WIBNI 总是成为最新危机的受害者——但我们基于插件实现的接口,约定资源与接口具有相同的完全限定名称.

所以一个接口UsersAPI可能有各种不同的实现。默认情况下,该接口上的方法getBundle()返回等效于 ResourceBundle.get("...UsersAPI", locale). 可以替换该文件,或者如果用户需要更复杂的内容,UsersAPI 的实现可以覆盖该方法。

到目前为止,这可以满足我们的需要,但我们仍在寻找基于插件的更灵活的解决方案。

0 投票
3 回答
9507 浏览

jsp - Spring MVC Webapp:在哪里存储常见图像的路径?

我正在构建一个使用 Tiles/JSP 作为视图技术的 Spring MVC Web 应用程序。以前我将常见图像的路径存储在 Common 类中:

然后我会在jsp中使用这个类来获取图像src

我想摆脱我的 jsp 代码中的 scriptlet 并改用 jstl 等。存储此类信息的最佳方式是什么?是资源包吗?你是怎么解决这个问题的?

0 投票
2 回答
4800 浏览

java - 如何覆盖 PropertyResourceBundle 中的一些资源

我有一个现有的 Java/JSF 网站,屏幕上的所有文本都来自属性文件,通过 <f:loadBundle basename="org.example.applicaltion" var="applicaltion" /> 从 applicaltion.properties 中提取文本。

对于这些的运行时可配置子集,我想从其他地方(通过 Web 服务的 CMS)提取字符串。查看 ResourceBundle 类,它似乎有一个基础设施,用于与此类似的东西,并委托给父 ResourceBundle。

我想要这样的东西

我已经尝试过了,并且 parent 为空,我认为这更多地用于默认 -> en -> en_GB 的情况。

我正在考虑一个不太吸引人的选项,即让属性文件与自定义 resourceBundle 的名称不同,然后从 CustomResourceBundle.handleGetObject(key) 中委托 ResourceBundle.getBundle(PROPERTY_FILE_NAME).getString(key) 的完整堆栈。

有更好的想法吗?

0 投票
2 回答
10414 浏览

eclipse - JSF 验证未找到自定义 ResourceBundle 类

我有一个自定义的 ResourceBundle 类 org.example.web.UILabels.java,它在运行代码时运行良好,但 Eclipse 中的 JSF 编辑器没有找到它,我假设编辑器/验证器只是按名称查找属性文件。这也意味着我不再能够提前找到非常好的资源。

有什么想法可以纠正吗?

我收到错误消息(在问题错误列表中)

在类路径中找不到资源包 org.example.web.UILabels

类型=JSF 问题

带有 WebStandardTools 版本的 Eclipse3.4.0

  • 版本:1.4.0.v200802280619-13-7w311917141518
  • 版本:1.5.1.v200802280619-1407w311917141519
  • 版本:3.0.0.v200806092130-7A-8Y8QqN2lf4VSWrI2ek5Pf4k7s

有关我为什么使用 ResourceBundle 类而不仅仅是属性文件的更多信息,请参阅问题 653682 how-to-override-some-resources-from-a-propertyresourcebundle

谢谢你的时间,大卫沃特斯

0 投票
2 回答
5394 浏览

java - 如何使用 JSTL 标签检查资源包键是否不存在?

我有一个包含一些可选键的资源文件。如果可选资源键不存在,我设置一个默认值。似乎没有简单的方法来确定资源包中是否存在密钥。所以这就是我正在做的解决它。

有没有更好的办法?

0 投票
3 回答
1034 浏览

java - 是否有非开发人员(翻译人员!)编辑资源包的工具?

我们公司为了让外部翻译人员翻译我们的软件所做的工作是……嗯……怎么说呢……

  1. cvs co someModule
  2. ant translation.export(在这个目标后面有一个自制的ant任务,将所有资源包一起导出为一个大的制表符分隔的文本文件,列:不同的语言,每一行所有语言对应一个键)
  3. 一些 VB 工具对文件做了一些事情(你不想知道)
  4. 翻译人员在他们的专栏中使用 Excel 工作
  5. 有人收集并合并翻译
  6. VB工具
  7. 蚂蚁翻译.import
  8. 简历提交

... 最好的情况:1. 到 8. 之间的 2 周,开发仍在继续...

第一个问题:你如何处理这个问题?

我的想法是构建一个带有 web-gui 的工具,允许翻译人员直接在 cvs 模块上工作(在后台签出并在“保存”时提交,可能在后台进行标记)。我们从受训人员的实施开始,得到了类似于概念证明的东西。在我们继续开发之前,我想知道

第二个问题:你知道类似的工具吗?

和/或

第三个问题:你会使用这样的工具吗?