有没有办法将所有语言添加到优化的RequireJS项目?

时间:2014-10-20 06:45:34

标签: javascript internationalization requirejs amd r.js

我的项目支持两种语言(英语和西班牙语)。问题是,当我使用r.js优化代码时,输​​出文件具有嵌入的根语言(英语),但不包含其他变体(西班牙语)。

如何强制优化器在输出文件中嵌入所有语言?

示例:

// /app/app.js
define(["i18n!nls/something"], function(somethingLanguage) { /* stuff */ });

// /app/nls/something.js
define({
    "root": {
        "hi": "Hi!"
    },
    "es": true
});

// /app/nls/es/something.js
define({
    "hi": "¡Hola!"
});

// /app/result-file.js
define("nls/something", { "hi": "Hi!" });define(["i18n!nls/something"], function(somethingLanguage) { /* stuff */ });

正如你所看到的," nls / es / something" "结果文件"中缺少。它应该是这样的:

// /app/result-file.js
define("nls/something", { "hi": "Hi!" });define("nls/es/something", { "hi": "¡Hola!" });define(["i18n!nls/something"], function(somethingLanguage) { /* stuff */ });

我希望你能帮助我,伙计们。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用r.js中的额外配置修复了此问题:

config: {
    "i18n": {
        locale: "es"
    }
}

希望它可以帮助其他人解决同样的问题。