【发布时间】:2013-10-27 18:13:32
【问题描述】:
我有一个基于 RequireJS 构建的单页 Marionette 应用程序,它需要支持翻译。
我的目标是为每种语言都有一个字典文件,并根据登录用户的配置,加载相关文件。
由于大多数用户会使用英语,我想在构建过程中将英语词典捆绑在应用程序中(使用 r.js)。
我写了一个小的 Translator 模块,它基本上包装了 jed.js(我用于 i18n 的库):
//in myTranslator.js
define(function (require) {
"use strict";
var Jed = require("jed");
var localeData = require("json!locales/en_US.json");
var Translator = function () {
var i18n = new Jed({
"domain": "messages",
"locale_data": localeData
});
return i18n;
};
return Translator;
});
//in app.js
define(function(require){
var Translator = require("myTranslator");
var translator = new Translator();
});
如您所见,语言环境数据是从静态文件加载的。 我希望能够将语言环境传递给 Translator 构造函数,并在此基础上加载正确的 JSON 文件。
如何将英文 JSON 与已构建项目捆绑在一起?
【问题讨论】:
标签: javascript internationalization requirejs amd js-amd