支持带参数的RTL Java字符串国际化

问题描述 投票:0回答:2

我需要在程序中使用诸如以下参数(或模板,如果需要)显示错误消息:

Connection to {0} failed with {1} status

该字符串已经针对语言环境进行了编译(翻译),但是我想知道是否需要编写一个函数来填充模板,或者在标准Java 8中是否已经有一个可用的函数

我在翻译器中尝试过{N}(参数键),幸运的是,我所针对的语言不会翻译参数键,但是它们会“破坏” [/ C0]这样的标准Java / C风格的东西,所以没有一些自定义开销,%s呼叫将无法工作。

到目前为止,我一直在解决问题,据我所知,这是支持错误消息的RTL和LTR国际化的最佳方法。

[如果您知道更好的方法(不涉及库),我将全力聆听您的回答和/或评论。

谢谢。

string templates java-8 locale
2个回答
0
投票

所以,在等待时,我想到了这个作为基本函数,可以直接调用它,也可以通过特定的案例处理程序调用它:


0
投票

这是public static String compileLocaleTemplate(String template, String... parameters){ for (int i=0; i < parameters.length; i++){ String tag = "{"+i+"}"; template = template.replace(tag, parameters[i]); } return template; } ,并且早已在Java中添加了对C样式格式字符串的支持:

© www.soinside.com 2019 - 2024. All rights reserved.