Международная локализация и локализация
Обзор
Цель международной локализации и локализации — позволить одному веб-приложению предлагать свой контент на языках и в форматах, адаптированных к аудитории.
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-LanguageHTTP с использованием этого формата. Примеры:it,de-at,es,pt-br. Коды языков обычно представлены в нижнем регистре, но заголовок HTTPAccept-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.2/topics/i18n/index/