【问题标题】:localization not working with strong-globalize in node.js本地化不适用于 node.js 中的 strong-globalize
【发布时间】:2016-09-30 16:46:47
【问题描述】:

我正在使用 strong-globalize 为我的环回项目进行本地化。

我已完成设置,并且已正确获取默认英语语言的消息。

但问题是当我尝试访问其他语言的消息时,它仍然返回英文消息。

这是我的代码:

Server.js

var SG = require('strong-globalize');
SG.SetRootDir(__dirname);
SG.setDefaultLanguage('en');
g = SG();

Coupon.js(带有远程方法的模型)

 var SG = require('strong-globalize');
 var g = SG();
 var Negotiator = require('negotiator');

远程方法中的Coupon.js

var negotiator = new Negotiator(request);
var acceptedLanguage = negotiator.language();
g.setLanguage(languageSelected);
var message = g.m('valid coupon');

我使用命令slt-globalize -d 生成英文消息(en)。 然后我为es 创建了一个新文件夹,我在其中粘贴了messages.json 文件,该文件位于en 文件夹中。 然后用西班牙语文本手动更新该文件中的所有消息,但我仍然收到英文消息。

【问题讨论】:

    标签: javascript node.js globalization strongloop loopback


    【解决方案1】:

    也许,先看看这是否有效:

    g.setLanguage('es');
    

    那么,

    var availableLanguages = ['es', 'en'];
    var languageSelected = negotiator.languages(availableLanguages);
    g.setLanguage(languageSelected);
    

    【讨论】:

    • 这对我不起作用。也许我做错了什么。
    • 如何生成其他语言的messages.json?我正在做的是运行 slt-globalize -e,它为 en 生成 messages.json。然后我将该messages.json复制到es文件夹。那里用es替换英文信息。
    • 是否可以在 github.com 之类的地方访问环回应用程序?关于其他语言的 messages.json,有两种方法:就像您为西班牙语所做的那样,以及使用 slt-globalize -t(-t 代表translation)npmjs.com 上的 README 中的详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-13
    相关资源
    最近更新 更多