我目前在经典的Maven项目中使用Thymeleaf(没有Spring),我在文档中找不到从Java代码访问外部化国际化字符串的简单方法例如Rails' LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width,width*3/4);
yourImageView.setLayoutParams(params);
功能。
我找到了the following教程但是我真的想要做的事情似乎已经过度了。
答案 0 :(得分:1)
Thymeleaf文档(http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#a-multi-language-welcome)表示默认配置是使用属性文件。
此标准邮件解析程序希望在.properties文件中的/WEB-INF/templates/home.html中找到同一文件夹中的消息,并使用与模板相同的名称,例如:
- /WEB-INF/templates/home_en.properties for English texts。
- /WEB-INF/templates/home_es.properties用于西班牙语文本。
- /WEB-INF/templates/home_pt_BR.properties for Portuguese(Brazil) 语言文本。
- /WEB-INF/templates/home.properties用于默认文本 (如果区域设置不匹配)。
属性文件home_es.properties有一个类似
的条目home.welcome=¡Bienvenido a nuestra tienda de comestibles!
你用它就像:
<p th:text="#{home.welcome}">Welcome to our grocery store!</p>
答案 1 :(得分:0)
我最终采用了原始解决方案,只需读取属性文件并将其提取到Properties
类中。
这并不理想,因为这要求我自己处理模板名称和语言环境以找到正确的属性,但由于这是一个小项目,这没什么大不了的。我希望Thymeleaf为自己提供了一套正确的语言环境,但我没有时间去搜索。