iGarett
@iGarett
Изобретатель велосипедов

Как сделать поддержку нескольких языков в Node.JS + MongoDB?

На Node.JS + MongoDB небольшой restfull api проектик. Как правильно делается поддержка нескольких языков (локализация приложения)?
  • Вопрос задан
  • 748 просмотров
Решения вопроса 2
@napa3um
Зависит от бизнес-логики. Если все ресурсы (например, статьи) предполагаются едиными для всех языков, то добавить мультиязычным ресурсам обязательный параметр lang для выбора языка ответа (в стиле обязательного параметра-тикета для авторизации). Если для разных языков предполагаются разные ресурсы (например, статьи на разных языках пишутся независимо друг от друга), то имеет смысл разнести API на разные домены в стиле ru.service.com и en.service.com (что поможет и масштабированию/балансировке).
Ответ написан
Комментировать
@bromzh
Drugs-driven development
* В монге можно строить индексы искать по текстовым полям с учётом языка. См. тут и тут.
* Можно просто хранить переводы в любом удобном формате, а при запросе к монге получать только необходимые.
* Если строки, для которых нужны переводы ограничены и заранее известны, то можно хранить переводы в отдельных файлах. В монге, например, хранить только ключ, по которому будет браться перевод. Плюс в том, что править переводы так намного проще и можно поручить это дело людям, не знающим про монгу, ноду и другие страшные слова. Гуглить нужные библиотеки можно по словам `nodejs i18n`.

Ну и в любом случае, надо как-то получить информацию о локали пользователя. Брать её можно из заголовка `Accept-Language`, из кук или из профиля пользователя.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы