在 Velocity 或 FreeMarker 中更好地支持国际化?

Posted

技术标签:

【中文标题】在 Velocity 或 FreeMarker 中更好地支持国际化?【英文标题】:Internationalization support better in Velocity or FreeMarker? 【发布时间】:2011-05-23 09:47:35 【问题描述】:

国际化对我们很重要。因此,在为电子邮件和其他非 web 模板系统(我们使用 spring webmvc/JSP for web)模板需求选择模板系统时,我需要知道哪个可以最好地处理翻译短语和格式化数字、货币、日期等。我还读过 StringTemplate 专注于国际化和本地化。但我对 StringTemplate 的了解并不多。

Velocity 还是 FreeMarker 更好?我知道 FreeMarker 吹嘘其国际化能力,但 Velocity 真的一样好吗?

【问题讨论】:

嗨,看看这个:rythm.gelinsoft.com/doc/feature#i18n 【参考方案1】:

Freemarker 在核心引擎中内置了更多 i18n 支持。但是,我相信,添加 VelocityTools 项目的 Velocity 提供了更多 i18n 功能。 Spring 也提供了一些可用于 Velocity 的 i18n 支持。

就个人而言,我在模板中对 i18n 的偏好是使用 VelocityTools 支持,但我有偏见,因为我编写了大部分内容。我特别喜欢 ResourceTool ($text) 和 DateTool ($date) 的强大功能和灵活性。

我从未研究过 StringTemplate 的 i18n 功能,但它们通常可以制作非常可靠的东西,如果比我更喜欢的限制更多的话。如果他们说他们专注于 i18n 之类的,我会相信他们。

【讨论】:

Velocity & Tools 是否支持 Spring/JSP 用于翻译短语的相同 messages_*.properties 文件?我当然想重用那个机制。 VelocityTools 有一个使用资源包和 0 1 参数的 ResourceTool,我认为这与 Spring 的系统相同。我相信两者都是 java.util.ResourceBundle 下面。

以上是关于在 Velocity 或 FreeMarker 中更好地支持国际化?的主要内容,如果未能解决你的问题,请参考以下文章

Freemarker/Velocity - 日期操作

为啥要使用 Velocity/Freemarker/Thymeleaf 等模板引擎进行数据编织

大数据学习总结记录—页面静态化技术(Freemarker/velocity)& 网站伪静态(UrlRewriteFilter)

FreeMarker标签与使用

模板引擎:Velocity&FreeMarker(转)

JSP FreeMarker Velocity 原理