Spec-Zone.ru › Django 1.9

Локализация и интернационализация

Обзор

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

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

В сущности, Django выполняет две вещи:

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

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

Определения

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

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

Более подробную информацию можно найти в часто задаваемых вопросах о веб-интернационализации W3C, в статье Википедии или в документации GNU gettext.

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

Перевод и форматирование контролируются настройками USE_I18N и USE_L10N соответственно. Однако обе функции связаны с интернационализацией и локализацией. Названия настроек — печальное следствие истории Django.

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

locale name
Имя локали, либо языковое описание в формате ll , либо комбинированное языковое и страновое описание в формате ll_CC. Примеры: it, de_AT, es, pt_BR. Часть языка всегда в нижнем регистре, а часть страны — в верхнем. Разделитель — нижнее подчеркивание.
language code
Представляет имя языка. Браузеры отправляют имена принимаемых ими языков в заголовке HTTP Accept-Language в этом формате. Примеры: it, de-at, es, pt-br. Языковые коды обычно представлены в нижнем регистре, но заголовок HTTP Accept-Language нечувствителен к регистру. Разделитель — тире.
message file
Файл сообщений — это текстовый файл, представляющий отдельный язык, содержащий все доступные строки перевода и то, как они должны отображаться на данном языке. Файлы сообщений имеют расширение .po.
translation string
Литерал, который может быть переведен.
format file
Файл формата — это модуль Python, который определяет форматы данных для заданной локали.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.9/topics/i18n/index/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API