在ExtJS& Spring MVC

时间:2009-03-23 13:29:51

标签: spring internationalization extjs

我在网上搜索了一下,但还没有真正找到一个具体的解决方案来国际化运行ExtJS& Spring MVC。目前(用于测试),我在JSP&中定义了全局javascript变量。使用JSTL标记分配字符串文字。

有没有人在提出明确/清洁/灵活的解决方案方面取得任何成功?

任何想法都非常感激。 TIA。

3 个答案:

答案 0 :(得分:1)

您应该在应用程序中翻译3种类型的字符串

  1. 您页面上的静态字符串 - >正如亚当说使用模板是一个好主意。 MVC可以解决这个问题。因此,您将所有字符串保存在db或属性文件中。

  2. 发送到Ext J.S的错误消息字符串 - >这里有两个解决方案,要么允许Ext J.S来处理它们,所以这意味着你有加载了翻译的js文件 要么 在发送回复之前在MVC上添加您的回复中的翻译

  3. 必须转换的db表中的值,例如汽车部件。在这种情况下,您将密钥保存在car_parts表中,并将链接保存在属性文件或db中的转换表中。

  4. 在我当前的应用程序上,我在MVC级别执行翻译,并将翻译保留在db上。优点是 翻译逻辑是MVC的一个地方而不是分裂。 2.您的翻译在一个地方,每当您在翻译中出错时,您不必制作新版本,您只需更新数据库,或者您在应用程序管理员处提供表单以自行完成。需要备份翻译表!!!

答案 1 :(得分:0)

这是在我的应用程序中完成的,它使用Pylons,Ext JS和名为Mako的模板引擎。

我将JavaScript文件视为模板。我将每个类保存在一个单独的文件中,并使用我定义的函数 require()来处理依赖项。我的服务器处理这些模板,处理依赖关系,将它们连接在一起并进行压缩。这些模板包含对gettext-like函数“_”的调用,例如:

window.setTitle("${_('My title')}");

这些模板是常规的Mako模板,可以通过类似gettext的实用程序进行预处理,以创建 .po 文件。我正在使用的 .po 生成器(Babel)将找到的字符串的位置作为注释放在 .po 文件中,这对我来说很方便,因为我知道字符串在哪里出现了。

答案 2 :(得分:0)

看一下Spring MVC Ajax example frpm Spring。 如果使用JSP视图,则可以使用fmt标记库和资源包。 如果您使用Velocity视图,请按照Spring documentation中的说明使用#springMessage('my.key')。