Опция для вас - это модуль 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
.Как правило, вы можете выполнять вложения и другие интересные вещи, в зависимости от используемой библиотеки.
Просто обратите внимание, что в конечном итоге вы используете эти специальные «строки ключей» повсюду, поэтому код немного сложнее для чтения.Назовите эти ключи с умом :) И если вы хотите перевести все содержимое вашего блога, это совершенно другой сервис.