Spec-Zone.ru › Django 5.1

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

Обзор

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

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

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

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

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

Определения

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

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

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

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

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

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

locale name
Имя локали, либо спецификация языка в формате ll , либо объединённая спецификация языка и страны в формате ll_CC. Примеры: it, de_AT, es, pt_BR, sr_Latn. Часть языка всегда в нижнем регистре. Часть страны — в верхнем регистре, если она имеет более 2 символов, иначе — в верхнем регистре. Разделитель — нижнее подчёркивание.
language code
Представляет имя языка. Браузеры отправляют имена принимаемых ими языков в заголовке Accept-Language HTTP с помощью этого формата. Примеры: 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/5.1/topics/i18n/index/

Spec-Zone.ru

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