Как мне использовать несколько разных языков в NodeJs? - PullRequest
0 голосов
/ 18 июня 2019

Может ли кто-нибудь мне помочь и может объяснить по этому поводу?В настоящее время я просто создаю блог, в котором я использовал nodejs.В своих проектах я хочу использовать и отображать два разных языка: мой местный язык и английский.

Как я показал выше, например, на этом веб-сайте, когда я нажимаю кнопку «изменить языки», не показывая, например, example.com/mm.Я просто хочу отобразить как example.com без / mm или / en.

Пример URL: https://www.mmbusticket.com/

Я не знаком с PHP.Я большое удовольствие от нодейцев.Как мне сделать это для этого случая и какие пакеты я должен использовать для nodejs?

Спасибо.

1 Ответ

0 голосов
/ 18 июня 2019

Опция для вас - это модуль i18n , и вы можете найти аналогичные опции и во многих инфраструктурах внешнего интерфейса.(Вы также увидите эту концепцию в разработке приложений.)

Идея состоит в том, что у вас есть каталог с "locales" (языками), каждый из которых находится в файле JSON.Ключи одинаковы во всех регионах.Как:

locales/en.json

{
  "hello": "hello",
  "greeting": "hey there, {{name}}"
}

locales/mm.json (использовал гугл-переводчик, прости меня:)

{
  "hello": "ဟယ်လို",
  "greeting": "ဟေ့ဒီမှာ {{name}}"
}

В вашем приложении вы будете делать что-то вроде i18n.localize("hello") и в зависимости от ваших текущих языковых настроек (может быть передано в куки-файле на сервер при рендеринге на сервере или на странице веб-интерфейса для клиентской стороны)получить ответ.

Переменные могут быть сделаны выше, как i18n.localize(['greeting', {name: "clay"}]), и это заполнит переданный параметр name в строку, определенную в greeting.Как правило, вы можете выполнять вложения и другие интересные вещи, в зависимости от используемой библиотеки.

Просто обратите внимание, что в конечном итоге вы используете эти специальные «строки ключей» повсюду, поэтому код немного сложнее для чтения.Назовите эти ключи с умом :) И если вы хотите перевести все содержимое вашего блога, это совершенно другой сервис.

...