问题标签 [messageformat]

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 投票
5 回答
6538 浏览

java - 我应该将 java.text.MessageFormat 用于没有占位符的本地化消息吗?

我们正在本地化运行在 Java 5 上的 Web 应用程序的用户界面文本,并且对于如何输出属性文件中定义的消息(java.util.Properties使用的那种类型)存在两难境地。

一些消息包含将使用java.text.MessageFormat填充的占位符。例如:

MessageFormat 很烦人,因为单引号是一个特殊字符,尽管在英文文本中很常见。您必须为文字单引号键入两个:

但是,应用程序的大约 1000 条消息中有四分之三不包含占位符。这意味着我们可以直接输出它们,避免使用 MessageFormat,并且不理会单引号:

问题:我们应该对所有消息使用 MessageFormat,以保持语法一致,还是尽可能避免使用 MessageFormat,以便大多数消息不需要转义?

无论哪种方式,都有明显的利弊。

请注意,MessageFormat 的 API 文档承认了该问题并提出了非解决方案:

不幸的是,在消息格式模式中使用引号的规则有些令人困惑。特别是,对于本地化人员来说,单引号是否需要加倍并不总是显而易见的。确保将规则告知本地化人员,并告诉他们(例如,通过在资源包源文件中使用注释)MessageFormat 将处理哪些字符串。

0 投票
5 回答
36600 浏览

java - 我可以在 java MessageFormat 中转义大括号吗?

我想在 java MessageFormat 中输出一些大括号。例如,我知道以下不起作用:

有没有办法逃避“return {2}”周围的大括号?

0 投票
6 回答
14263 浏览

java - Java 中 MessageFormat 的好处

在 Struts2 Web 应用程序的某个 Java 类中,我有这行代码:

我的老师要我把 throw 语句改成这样:

但我看不出在这种情况下使用 MessageFormat 的意义。是什么让这比简单的字符串连接更好?正如 MessageFormat 的 JDK API 所说:

MessageFormat 提供了一种以与语言无关的方式生成连接消息的方法。使用它来构建为最终用户显示的消息。

我怀疑最终用户是否会看到此异常,因为无论如何它只会由应用程序日志显示,而且我有一个用于 Web 应用程序的自定义错误页面。

我应该更改代码行还是坚持当前行?

0 投票
6 回答
61009 浏览

java - 如何在Java中将长整数格式化为没有分隔符的字符串?

简单的问题,但我敢打赌,在这里提问可能比试图理解以下文档更直接MessageFormat

观测值为“12,345”。

所需值为“12345”。

0 投票
2 回答
6420 浏览

java - 测试 MessageFormat 的 .properties 文件中的空参数

使用资源包和 MessageFormat 是否有可能得到以下结果?

  • 当我打电话getBundle("message.07", "test")"Group test"
  • 当我打电话getBundle("message.07", null)"No group selected"

我在 Internet 上找到的每个示例都与行星、磁盘上的文件等有关。

我只需要检查资源包的属性文件中是否存在null或不存在)一个参数。我希望为空参数找到一种特殊的格式,例如{0,choice,null#No group selected|notnull#Group {0}}.

我用来获取捆绑包的方法是:

我也将此方法用于其他捆绑包,例如

  • getBundle("message.08", 1, 2)=> "Page 1 of 2"(总是参数,不需要检查null
  • getBundle("message.09")=> "Open file"(无参数,无需检查null

我应该在我的 .properties 文件中写什么message.07来描述结果?
我现在拥有的是:

0 投票
2 回答
4239 浏览

java - 在打印 JTable 时对齐消息格式

我目前正在使用它来打印我的表格,并且它有效。但我对消息格式的布局并不满意,我希望页脚和日期都在页脚中,日期格式与表格左侧对齐,页面在右侧。

我怎样才能做到这一点?一直在阅读一些关于覆盖 PrintTable 方法的内容,但从我所读到的内容似乎变得相当复杂。

希望你能帮我解决这个问题,谢谢。:)

0 投票
2 回答
191 浏览

c++ - 您可以访问 ICU MessageFormat 使用的 NumberFormatter

这可能是一个小众问题,但我正在与 ICU 合作格式化货币字符串。我遇到了一个我不太明白的情况。

使用 MessageFormat 类时,是否可以访问用于格式化货币字符串的 NumberFormat 对象。当您自己创建 NumberFormat 实例时,您可以指定创建货币字符串时使用的精度和舍入等属性。

我有一个问题,对于韩国语言环境(“ko_KR”),MessageFormat 类似乎创建了带四舍五入的货币字符串(100.50 -> ₩100)。

在我直接使用 NumberFormat 的区域中,我将 setMaximumFractionDigits 和 setMinimumFractionDigits 设置为 2,但我似乎无法在 MessageFormat 中设置它。

有任何想法吗?

0 投票
2 回答
40476 浏览

java - JDK 1.5 中的 MessageFormat.format 和 String.format 有什么区别?

MessageFormat.formatJDK 1.5和JDK 1.5有什么区别String.format

0 投票
3 回答
6032 浏览

java - Java MessageFormat 类线程安全吗?(相对于 SimpleDateFormat)

我知道 SimpleDateFormat 和 NumberFormat 不是线程安全的。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4101500

但是像 MessageFormat 这样的其他 Format 类呢?

Fortify 360 将使用“MessageFormat.format(String, Object...)”静态方法标记为“Race Condition - Format Flaw”问题,但是当我分析 MessageFormat 的源代码时,我在该方法中看到了这一点,它会创建 MessageFormat 本身的新本地实例。

Java MessageFormat 类线程安全吗?

0 投票
1 回答
100 浏览

messageformat - 如果未指定,Notes Person 文档中 MessageStorage 的默认值是什么?

我在弄清楚它在哪里获取默认值时遇到了问题。我尝试更改位置文档中邮件选项卡下的消息格式字段,但是在制作人员文档时并没有更改默认消息格式。