2016-09-30 4 views
2

Я использую сильную глобализацию для выполнения локализации для моего проекта loopback.Локализация не работает с сильной глобализацией в node.js

Я выполнил настройку, и сообщения правильно выбраны для английского языка по умолчанию.

Но проблема в том, что когда я пытаюсь получить доступ к сообщениям на других языках, он по-прежнему возвращает английское сообщение.

Вот мой код:

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, который генерирует messages.json для en. Затем я копирую папку messages.json в es. Там заменяются английские сообщения es. – Amit

+0

Доступен ли loopback-приложение где-то как github.com?Regarding messages.json для других языков, есть два способа: как и для испанского, и использование ** slt-globalize -t ** (-t означает 'перевод ') Подробности в README на npmjs.com. – Setogit

Смежные вопросы