我需要在程序中使用诸如以下参数(或模板,如果需要)显示错误消息:
Connection to {0} failed with {1} status
该字符串已经针对语言环境进行了编译(翻译),但是我想知道是否需要编写一个函数来填充模板,或者在标准Java 8中是否已经有一个可用的函数。
我在翻译器中尝试过{N}
(参数键),幸运的是,我所针对的语言不会翻译参数键,但是它们会“破坏” [/ C0]这样的标准Java / C风格的东西,所以没有一些自定义开销,%s
呼叫将无法工作。
到目前为止,我一直在解决问题,据我所知,这是支持错误消息的RTL和LTR国际化的最佳方法。
[如果您知道更好的方法(不涉及库),我将全力聆听您的回答和/或评论。
谢谢。
所以,在等待时,我想到了这个作为基本函数,可以直接调用它,也可以通过特定的案例处理程序调用它:
这是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样式格式字符串的支持: