Форматы файлов локализации¶
Weblate поддерживает широкий спектр форматов перевода. Каждый формат немного отличается и предоставляет различный набор возможностей.
Подсказка
При выборе формата файла для вашего приложения лучше придерживаться какого-нибудь устоявшегося формата для используемого вами инструментария/платформы. Таким образом, ваши переводчики в дополнение смогут использовать любые инструменты, к которым они привыкли, и вероятность внесения ими своего вклада в ваш проект будет выше.
См. также
Автоматическое обнаружение¶
Weblate пытается определить формат файла во время Добавление проектов и компонентов перевода. Определение может быть неверным для разных вариантов одного и того же формата сериализации (JSON, YAML, properties) или кодировки файла, поэтому, пожалуйста, убедитесь, что Формат файла правильный, перед созданием компонента.
Возможности типов переводов¶
Пожалуйста, обратитесь к странице документации каждого отдельного формата файла для получения информации о том, какие функции поддерживаются в этом формате.
Двуязычные и одноязычные форматы¶
Поддерживаются как одноязычные, так и двуязычные форматы. Двуязычные форматы хранят в одном файле два языка — исходный язык и перевод (типовые примеры: GNU gettext PO (переносимый объект), XLIFF 1.1 и 1.2 или Строки Apple iOS). Одноязычные же форматы, напротив, идентифицируют строку по ID, и каждый файл перевода содержит только сопоставление этих ID с одним конкретным языком (например, Строковые ресурсы Android). Некоторые форматы файлов могут использоваться и так, и так; подробности смотрите ниже.
Для правильного использования одноязычных файлов Weblate требует доступа к файлу, содержащему полный список строк для перевода с их источником — этот файл называется Одноязычный базовый файл в Weblate, хотя в вашей парадигме именование может отличаться.
Кроме того, этот рабочий процесс можно расширить, используя Файл промежуточного языка для включения строк, предоставленных разработчиками, но не предназначенных для использования в том виде, в каком они есть, в окончательных строках.
Строковые состояния¶
Многие форматы файлов различают только строки Untranslated («Без перевода») и Translated («Переведённые»). В некоторых форматах можно хранить более подробную информацию о состоянии, например Needs editing («На правку») или Approved («Одобрено»).
Описание исходной строки¶
Описания исходной строки можно использовать для передачи дополнительной информации о строке, которую нужно перевести.
Некоторые форматы имеют встроенную поддержку предоставления дополнительной информации переводчикам (например, XLIFF 1.1 и 1.2, GNU gettext PO (переносимый объект), JSON-файлы WebExtension, Файлы CSV, Excel Open XML, Файлы .ts Qt Linguist, JSON-файлы go-i18n, Файл JSON gotext, Файл ARB, ресурсные файлы .NET (RESX, RESW)). Многие другие форматы извлекают ближайший комментарий в качестве описания исходной строки.
Пояснение¶
Пояснение для строк можно хранить и анализировать из нескольких форматов файлов.
В настоящее время поддерживается только в Формат TermBase eXchange.
Расположение исходной строки¶
Расположение строки в исходном коде может помочь опытным переводчикам понять предназначение этой строки.
Эта информация обычно доступна в двуязычных форматах, где строки извлекаются из исходного кода с помощью инструментов. Например, GNU gettext PO (переносимый объект) и Файлы .ts Qt Linguist.
Флаги перевода¶
Флаги перевода позволяют настраивать поведение Weblate. Некоторые форматы поддерживают их определение в файле перевода (вы всегда можете определить их в интерфейсе Weblate, см. Настройка поведения с помощью флагов).
Эта функция смоделирована на флагах в GNU gettext PO (переносимый объект).
Кроме того, для всех форматов на основе XML флаги извлекаются из нестандартного атрибута weblate-flags. Кроме того, max-length:N поддерживается через атрибут maxwidth (см. спецификацию XLIFF), как определено в стандарте XLIFF; см. Указание флагов перевода.
Контекст¶
Контекст используется для различения одинаковых строк в двуязычном формате, используемом в разных областях (например, «Воскрес» может использоваться как сокращённое название дня «Воскресенье»).
Для одноязычных форматов строковый идентификатор (часто называемый ключом) может служить той же цели, и дополнительный контекст не требуется.
Строки с множественным числом¶
Множественные числа необходимы для правильной локализации строк с количеством переменных. Правила зависят от целевого языка, и многие форматы соответствуют спецификации CLDR.
Подсказка
Множество строк также требует надлежащей поддержки со стороны платформы приложения. Выберите собственный формат вашей платформы, например GNU gettext PO (переносимый объект), Строковые ресурсы Android или Формат Stringsdict.
Строки только для чтения¶
Строки из файлов перевода, доступные только для чтения, будут включены, но не могут быть отредактированы в Weblate. Поддержка этой возможности уже встроена в некоторые форматы (XLIFF 1.1 и 1.2 и Строковые ресурсы Android), а в других может быть сэмулирована добавлением к строке флага read-only — смотрите раздел Настройка поведения с помощью флагов.
Поддержка других форматов¶
Большинство форматов, поддерживаемых translate-toolkit, которые поддерживают сериализацию, могут быть легко поддержаны, но они (пока) не получали никакого тестирования. В большинстве случаев в Weblate требуется дополнительный тонкий слой, чтобы скрыть различия в поведении разных хранилищ.
Чтобы добавить поддержку нового формата, предпочтительный подход состоит в том, чтобы сначала реализовать его поддержку в translate-toolkit.
См. также
Параметры формата файла¶
Параметры формата файла предоставляют способ настройки параметров, связанных с форматом файла. Они настраиваются на уровне компонента и позволяют настраивать обработку синтаксического анализа и сериализации файлов.
Список параметров формата файлов¶
Имя параметра |
Форматы файлов |
Метка |
Текст справки |
|---|---|---|---|
csv_encoding |
|
Кодировка файла |
Кодировка, используемая для файлов CSV Доступные варианты:
|
csv_simple_encoding |
|
Кодировка файла |
Кодировка, используемая для простых файлов CSV Доступные варианты:
|
dos_eol |
All file formats |
DOS окончания строк |
Использовать в строках окончания строк DOS (rn) вместо окончаний строк UNIX (n). |
flatxml_key_name |
|
Имя ключа FlatXML |
|
flatxml_root_name |
|
Имя корневого элемента FlatXML |
|
flatxml_value_name |
|
Имя значения элемента FlatXML |
|
gwt_encoding |
|
Кодировка файла |
Кодировка, используемая для файлов свойств GWT Доступные варианты:
|
json_indent |
|
Отступы JSON |
|
json_indent_style |
|
Стиль отступов JSON |
Доступные варианты:
|
json_sort_keys |
|
Сортировка JSON-ключей |
|
json_use_compact_separators |
|
Избегайте пробелов после разделителей |
|
line_max_length |
|
Максимальная длина линии |
Максимальное количество символов для каждой строки в выходном файле. |
md_extract_code_blocks |
|
Извлечение блоков кода |
Следует ли извлекать переводимое содержимое из блоков кода в файлах Markdown и MDX. |
md_extract_frontmatter |
|
Извлечение фронтматтера |
Следует ли извлекать и переводить блоки YAML-фронтматтера в файлах Markdown и MDX. |
md_no_placeholders |
|
Отключить заполнители |
Отключает обнаружение и обработку заполнителей в файлах Markdown и MDX. |
merge_duplicates |
|
Удаление дубликатов идентичных строк |
Объединяет идентичные исходные строки в одну единицу перевода. Предотвращает потерю перевода при реструктуризации файлов или переупорядочивании таблиц путём удаления контекста, зависящего от положения. |
po_fuzzy_matching |
|
Использовать неточное соответствие |
|
po_keep_previous |
|
Сохранять предыдущие msgid переведённых строк |
|
po_line_wrap |
|
Перенос длинных строк |
По умолчанию gettext переносит строки на 77 символах и на символах новой строки. С параметром Доступные варианты:
|
po_no_location |
|
Не включайте в файл информацию о местоположении |
|
po_report_msgid_bugs_to |
|
Сообщение об ошибках msgid |
Позволяет Weblate обновлять заголовок «Report-Msgid-Bugs-To» в файле, если задан адрес сообщения об ошибке в исходной строке. |
po_set_language_team |
|
Обновление заголовка языковой команды |
Позволяет Weblate обновить заголовок «Language-Team» в файле. |
po_set_last_translator |
|
Обновление заголовка последнего переводчика |
Позволяет Weblate обновлять заголовок «Last-Translator» в файле. |
po_set_x_generator |
|
Обновить заголовок X-Generator |
Позволяет Weblate обновлять заголовок «X-Generator» в файле. |
properties_encoding |
|
Кодировка файла |
Кодировка, используемая для файлов свойств Java Доступные варианты:
|
strings_encoding |
|
Кодировка файла |
Кодировка, используемая для файлов строк iOS Доступные варианты:
|
xml_closing_tags |
|
Включать закрывающую метку для пустых XML меток |
|
yaml_indent |
|
Отступы YAML |
|
yaml_line_break |
|
Символ перевода строки |
Доступные варианты:
|
yaml_line_wrap |
|
Перенос длинных строк |
Доступные варианты:
|