Интернационализация и регионализация

Предварительный просмотр

Цель интернационализации и регионализации - дать возможность одному веб-приложению представлять свой контент на языках и в форматах, подходящих для его посетителей.

Django полностью поддерживает перевод текста , форматирование дат, времени и чисел , а также часовых поясов .

По сути, Django делает две вещи:

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

Перевод зависит от целевого языка, а форматирование обычно зависит от целевой страны. Эта информация предоставляется браузерами в заголовке Accept-Language . Однако часовой пояс не всегда доступен.

Определения

Слова «интернационализация» и «регионализация» часто вызывают путаницу. Вот упрощенное определение:

интернационализация
Подготовка программного обеспечения к регионализации. Обычно это делают разработчики.
районирование
Написание переводов и языковых форматов. Обычно это делают переводчики.

Вы можете найти более подробную информацию в FAQ W3C Web Internationalization , статье в Википедии или документации GNU gettext .

Предупреждение

Перевод и форматирование контролируются соответствующими настройками USE_I18N и USE_L10N . Но эти две функции касаются интернационализации и регионализации. Имена этих настроек в Django имеют неудачное историческое происхождение.

Вот еще несколько терминов, которые помогут нам использовать тот же язык:

название локали
Имя языкового стандарта, либо языковая спецификация формы, ll либо комбинированная спецификация языка и страны в форме ll_CC . Примеры: it , de_AT , es , pt_BR , sr_Latn . Языковая часть всегда в нижнем регистре. Часть страны указывается в заглавном регистре, если она содержит более двух символов, в противном случае - в верхнем регистре. Разделитель - нижнее подчеркивание.
код языка
Представляет название языка. Браузеры отправляют названия языков, которые они принимают, в заголовке HTTP в Accept-Language этом формате. Примеры: it , de-at , es , pt-br . Коды языков обычно отображаются в нижнем регистре, но заголовок HTTP Accept-Language не чувствителен к регистру. Разделитель - прочерк.
файл сообщения
Файл сообщений - это чистый текстовый файл, соответствующий одному языку и содержащий все доступные строки символов перевода с их переведенным эквивалентом на данном языке. Файлы сообщений имеют расширение .po .
строка для перевода
Текст для перевода.
формат файла
Файл форматов - это модуль Python, определяющий форматы данных для определенного языка.

Copyright ©2020 All rights reserved