Рубрика «i18n» - 3

Джон Резиг об интернационализации JavaScript приложенийНедавно мне пришлось заниматься интернационализацией веб-приложения на Node.js+Express, над которым я сейчас работаю, и, как мне кажется, получилось довольно неплохо (иностранные пользователи очень довольны, и я вижу заметный приток трафика из неанглоязычных стран). Стратегия интернационализации, которую я опишу, не слишком сильно завязана на Node и может подойти любому веб-приложению.

Мне часто приходилось пользоваться многоязычными сайтами или заходить на англоязычные сайты из разных стран мира, так что я хорошо представлял, каким требованиям должна удовлетворять интернационализация:
Читать полностью »

Хорошо, когда при разработке проекта под django, разработчики проекта изначально озаботились его интернационализацией.

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

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

Читать полностью »

Управление интернационализацией в Rails при помощи сторонних сервисов

Одним из самых моих любимых компонентов Rails является организация интернационализации и локализации при помощи класса I18n и файлов-словарей ( еn.yml, ru.yml и т.д. ). Но если брать не «сферический проект в вакууме», а реальное приложение с группой разработчиков и кучей веток в репозитории — то иногда голова пухнет разрешать конфликты при объединении разных веток/версий которые так или иначе возникают в файлах локалей. Как быть? Тут-то нам напомощь и приходят различные сторонние сервисы со своими гемами.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js