在HTML5 Web应用程序中创建和使用翻译资源

时间:2012-05-04 14:45:05

标签: html5 web translation

我正在使用HTML5 / JQuery和Java EE创建一个富Web应用程序,我需要使这个应用程序能够以英语和法语显示。我是HTML5的新手,所以我不知道是否可以轻松地做到这一点,如果是的话,我应该怎么做?

我在Flex中有很好的概念,使用这种技术,它很容易做到:你只需要在两个不同的文件中存储一个“字典”。 例如:

file english:

title = Welcome to my app !

file French :

title = Bienvenu dans mon appli !

然后在每次需要翻译术语时调用{resourceManager.getString('file','title')}。

在HTML中有没有类似的方法?

提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

你可以用javascript做类似的事情。 有很多方法可以做到这一点,我只会按照我的方式投入。

我将翻译存储在一些普通的javascript文件中。

lang_english.js

var language = 
{
  "title" : "Welcome to my app"
}

lang_french.js

var language = 
{
  "title" : "Bienvenu dans mon appli !"
}

您可以在html头中加载其中一个文件:

<script src="lang_english.js" type="text/javascript"></script>

然后在您的应用中,您可以创建一个resourceManager对象:

resourceManager = {}
resourceManager.getString = function(str)
{
  return language[str];
}

然后致电:

var title = resourceManager.getString('title')

修改

对于动态加载,您可以将它们存储在.json文件中,并使用jquery根据用户语言选择动态加载它们:

var language = {};

$.get('lang_french.json', function(data) {
    language = JSON.parse(data);
});

lang_french.json文件如下所示:

{
  "title" : "Bienvenu dans mon appli !"
}