Использование node-localize

#javascript #json #node.js #angularjs #localization

#javascript #json #node.js #angularjs #локализация

Вопрос:

Каков наилучший способ обеспечить локализацию с Node.js а стек AngularJS?

Я пытаюсь обеспечить локализацию с помощью модуля локализации узла. Интерфейс — AngularJS, а сервер узла выполняет функцию службы REST, предоставляя только строки JSON.

В документации node-localize было написано, что мы можем передать папку, и все файлы translations.json будут использоваться для перевода. Но я не могу заставить это работать с файлами. Каким должен быть формат translations.json? Я хочу передать весь файл в Angular и с помощью фильтров хочу реализовать локализацию в представлениях (как описано здесь ).

Ответ №1:

Это сработало для меня, в основном просто используйте тот же JSON, который вы обычно передаете в конструктор:

tranlations.js

  var Localize = require('localize');

 var myLocalize = new Localize('./translations/');

 console.log(myLocalize.translate("Testing...")); // Testing...
 console.log(myLocalize.translate("Substitution: $[1]", 5)); // Substitution: 5

 myLocalize.setLocale("es");
 console.log(myLocalize.translate("Testing...")); // Pruebas...

 myLocalize.setLocale("sr");
 console.log(myLocalize.translate("Substitution: $[1]", 5)); // замена: 5
 

./translations/translations.json

  {
     "Testing...": {
         "es": "Pruebas...",
         "sr": "тестирање..."
     },
     "Substitution: $[1]": {
         "es": "Sustitución: $[1]",
         "sr": "замена: $[1]"
     }
 }
 

Затем для выполнения:

node translations.js

Комментарии:

1. Спасибо 🙂 Не могли бы вы предложить какие-либо другие модули npm для моего варианта использования — node (только вывод JSON, не отправляет файлы jade) amp; angular?

2. @Nitin кажется, это работает довольно хорошо, но я не тестировал другие.