2016-09-30 44 views
2

我正在使用strong-globalize來爲我的環回項目執行本地化。本地化無法在node.js中使用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文件夾中。 然後用西班牙語文本手動更新該文件中的所有消息,但仍然收到英文消息。

回答

2

也許,看看,如果這個工程第一:

g.setLanguage('es'); 

然後,

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

這不是爲我工作。也許我做錯了什麼。 – Amit

+0

如何爲其他語言生成messages.json?我正在做的是我正在運行slt-globalize -e,它爲en生成messages.json。然後我將這個messages.json複製到es文件夾。用es替換英文信息。 – Amit

+0

環迴應用程序是否可以訪問某處,如github.com?注意其他語言的messages.json,有兩種方法:就像您對西班牙語所做的一樣,並使用** slt-globalize -t **(-t代表「translation ')詳細信息在npmjs.com上的自述文件中。 – Setogit