Проекты перевода#

Организация переводов#

Weblate организует переводимое содержимое VCS проекта/компонентов в древовидную структуру. Вы можете дополнительно организовать компоненты внутри проекта с помощью категорий.

  • Объектом нижнего уровня является проект, который должен содержать все связанные переводы (например, перевод приложения различных версий и/или сопроводительную документацию).

  • Средний уровень дополнительно создается с помощью Категория. Категории могут быть вложены в более сложную структуру.

  • На уровне выше располагается компонент, который фактически и является компонентом для перевода, для которого вы определяете используемый репозиторий системы контроля версий и маску файлов для перевода.

  • Ещё выше компонента находятся отдельные переводы, которые Weblate обрабатывает автоматически, как только файлы перевода (соответствующие маске файлов, определённой в конфигурации компонента), появляются в репозитории системы контроля версий.

Weblate поддерживает широкий набор форматов перевода (как двуязычных, так и одноязычных), поддерживаемых набором инструментов Translate Toolkit, смотрите раздел Поддерживаемые форматы файлов.

Примечание

Вы можете совместно использовать склонированные репозитории системы контроля версий, используя внутренние URL-адреса Weblate. Использование этой возможности настоятельно рекомендуется при наличии множества компонентов, совместно использующих один и тот же репозиторий. Она повышает производительность и уменьшает необходимое дисковое пространство.

Добавление проектов и компонентов перевода#

В зависимости от ваших разрешений вы можете создавать новые проекты и компоненты перевода. Для пользователей с разрешением Добавление новых проектов их создание всегда разрешено, а если ваш экземпляр использует тарифные планы (как, например, https://hosted.weblate.org/, смотрите раздел Выставление счетов), вы также можете создавать их на основе разрешений из вашего плана, установленных учётной записью пользователя, управляющего тарификацией.

Подсказка

Чтобы предоставить каждому пользователю разрешение на создание новых проектов, создайте новый :ref:“autoteam“ для команды :guilabel:“Project creators“.

Вы можете просмотреть свой текущий тарифный план на отдельной странице:

../_images/user-billing.webp

Создание проекта можно инициировать оттуда или из меню на панели навигации. Чтобы завершить добавление проекта перевода, заполните основную информацию о нем:

../_images/user-add-project.webp

После создания проекта вы попадаете непосредственно на страницу проекта:

../_images/user-add-project-done.webp

Создание нового компонента перевода можно инициировать одним щелчком мыши. Процесс создания компонента многоступенчатый, большинство параметров перевода он определяет автоматически. Существует несколько подходов к созданию компонента:

Из системы контроля версий

Создать компонент из удалённого репозитория системы контроля версий.

Из уже существующего компонента

Создать дополнительный компонент на основе уже существующего, только с другими файлами.

Дополнительная ветка

Создать дополнительный компонент на основе уже существующего, только для другой ветки.

Отправить файлы перевода

Загрузить файлы перевода в Weblate в случае, если у вас нет системы контроля версий или вы не хотите интегрировать её с Weblate. Позже вы сможете обновить содержимое через веб-интерфейс или REST API Weblate.

Перевести документ

Загрузите отдельный документ или файл перевода и переведите его.

Начать с нуля

Создать пустой проект перевода и добавить строки вручную.

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

Сначала вам нужно указать наименование и расположение репозитория:

../_images/user-add-component-init.webp

На следующей странице вам будет представлен список обнаруженных переводимых ресурсов:

../_images/user-add-component-discovery.webp

На последнем этапе просмотрите информацию о компоненте перевода и укажите дополнительные сведения:

../_images/user-add-component.webp

Настройки проекта#

Создайте проект перевода, а затем добавьте в него новый компонент, в котором вы и будете непосредственно делать перевод. Проект здесь похож на полку, на которую укладываются реальные переводы. Все компоненты одного проекта разделяют между собой общие предложения и глоссарий; переводы также автоматически распространяются во все компоненты одного проекта (если только оно не отключено в настройках компонентов), смотрите раздел Память переводов.

Это основные атрибуты для настройки, они предоставляют переводчикам информацию о проекте:

Название проекта#

Более подробное наименование проекта для отображения.

См.также

PROJECT_NAME_RESTRICT_RE

URL-плашка#

Название проекта, подходящее для указания его в URL-адресе.

Веб-сайт проекта#

URL-адрес, по которому переводчики могут найти дополнительную информацию о проекте.

Это обязательный параметр, если он не отключён с помощью WEBSITE_REQUIRED.

Инструкции для переводчиков#

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

Задать заголовок «Language-Team»#

Должен ли Weblate управлять заголовком Language-Team (сейчас это единственная особая возможность для GNU gettext).

Использовать совместную память переводов#

Использовать ли совместно используемую память переводов, подробнее смотрите в разделе Совместная память переводов.

Значение по умолчанию можно изменить с помощью DEFAULT_SHARED_TM.

Вносить вклад в совместную память переводов#

Помещать ли переводы в совместно используемую память переводов, подробнее смотрите в разделе Совместная память переводов.

Это также влияет на то, можно ли использовать проект в качестве источника для Автоматический перевод.

Значение по умолчанию можно изменить с помощью DEFAULT_SHARED_TM.

Примечание

Эта опция недоступна на Hosted Weblate, она включается вместе с Использовать совместную память переводов.

Контроль доступа#

Настройка контроля доступа для каждого проекта, подробнее смотрите в разделе Контроль доступа к проекту.

Значение по умолчанию можно изменить с помощью DEFAULT_ACCESS_CONTROL.

Включить рецензии#

Включение процесса рецензирования переводов, смотрите раздел Выделенные рецензенты.

Включить рецензии исходных строк#

Включение процесса рецензирования исходных строк, смотрите раздел Рецензирование исходных строк.

Включить обработчики#

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

Псевдонимы языка#

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

Типовым случаем использования псевдонимов, например, является отображение американского английского языка на английский: en_US:en

Несколько отображений должны разделяться запятой: en_GB:en,en_US:en

Использование нестандартного кода: ru_FOO:ru

Подсказка

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

Настройки компонента#

Компонент — это группировка каких-то сущностей для перевода. Вы вводите расположение репозитория системы контроля версий и маску файлов, определяющую, какие файлы вы хотите переводить, а Weblate автоматически извлекает код из этого репозитория и находит все соответствующие файлы для перевода.

Некоторые примеры типовых конфигураций можно найти в разделе Поддерживаемые форматы файлов.

Примечание

Рекомендуется держать размер компонентов перевода в разумных пределах — разбивайте перевод по любому критерию, который в вашем случае имеет смысл (по отдельным приложениям или дополнениям, по главам книг или по веб-сайтам).

Weblate легко справляется с переводами с 10000 строк, но с такими объёмами труднее разделять работу между несколькими переводчиками и координировать их действия.

Если определение языка для перевода отсутствует, создаётся пустое определение с именем вида «ru_RU (generated)». Вы должны скорректировать определение и сообщить об этом авторам Weblate, чтобы недостающие языки могли быть включены в следующий выпуск.

Компонент содержит все важные параметры для работы с системой контроля версий, а также для получения из неё переводов:

Название компонента#

Подробное наименование компонента, используемое для его отображения.

Плашка компонента#

Название компонента, подходящее для указания его в URL-адресе.

Проект компонента#

Настройки проекта, которому принадлежит компонент.

Система контроля версий#

Используемая система контроля версий, подробнее смотрите в разделе Интеграция с системой контроля версий.

Репозиторий исходного кода#

Репозиторий системы контроля версий, из которого извлекаются изменения.

См.также

Для получения более подробной информации о том, как указывать URL-адреса, смотрите раздел Доступ к репозиториям.

Подсказка

Это может быть либо реальный URL-адрес системы контроля версий, либо адрес вида weblate://проект/компонент, указывающий на то, что репозиторий должен совместно использоваться с другим компонентом. Для получения более подробной информации обратитесь к разделу Внутренние URL-адреса Weblate.

URL для отправки в репозиторий#

URL-адрес репозитория, используемый для отправки. Поведение этого зависит от comComponent-vcs, и это более подробно описано в Отправка изменений из Weblate.

Это не используется для связанных репозиториев, будут применены параметры из связанного компонента.

См.также

Для получения более подробной информации о том, как указывать URL-адрес репозитория, смотрите раздел Доступ к репозиториям, а для получения более подробной информации об отправке изменений из Weblate’а обратитесь к разделу Отправка изменений из Weblate.

Просмотрщик репозитория#

URL-адрес браузера репозитория, используемый для отображения исходных файлов (местоположения используемых сообщений). Если пустой, такие ссылки генерироваться не будут. Вы можете использовать шаблонную разметку.

Например, для ссылок на GitHub, используйте что-то наподобие: https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename}}#L{{line}}

В случае, если ваши пути указываются относительно другого каталога (путь содержит ..), вы можете удалить ведущий каталог фильтром parentdir (смотрите раздел Шаблонная разметка): https://github.com/WeblateOrg/hello/blob/{{branch}}/{{filename|parentdir}}#L{{line}}

URL экспортированного репозитория#

URL-адрес, куда экспортируются изменения, сделанные в Weblate. Он имеет значение, если не используется непрерывная локализация или в том случае, когда есть необходимость ручного слияния изменений. Для автоматизации этого процесса для Git-репозиториев вы можете использовать экспортер Git.

Ветка репозитория#

Какую ветку извлекать из системы контроля версий и где искать переводы.

Это не используется для связанных репозиториев, будут применены параметры из связанного компонента.

Ветка для отправки#

Ветка, в которую отправлять изменения, оставьте пустой для использования параметра Ветка репозитория.

Это не используется для связанных репозиториев, будут применены параметры из связанного компонента.

Примечание

В настоящее время параметр поддерживается только для Git, GitLab и GitHub, для интеграций с другими системами контроля версий он игнорируется.

Маска файла#

Маска файлов для перевода, включая путь. Она должна включать в себя один символ *, который заменяется на код языка (для получения информации о том, как он обрабатывается, смотрите раздел Определение языков). В случае, если в вашем репозитории содержится более одного файла перевода (например, несколько доменов gettext), вам необходимо создать компонент для каждого из них.

Например, po/*.po или locale/*/LC_MESSAGES/django.po.

В случае, если имя вашего файла содержит такие специальные символы, как [ или ], они должны быть экранированы как [[] и []].

Маска файла скриншота#

Эта функция позволяет обнаруживать и обновлять снимки экрана с помощью масок файлов снимков экрана, используя пути из репозитория VCS. Это работает на уровне компонента и требует использования звездочки «*» для замены имени файла снимка экрана.

Разрешенные форматы: WebP, JPEG, PNG, APNG и GIF.

Примечание:

  1. Маска файла и маска файла снимка экрана не связаны между собой. Настройте их отдельно.

  2. Связывание обнаруженного скриншота в компоненте с конкретным ключом перевода — это ручная работа.

Например:

Предположим, ваш репозиторий VCS имеет такую структуру:

component_A
└── docs
    ├── image1.png
    └── image2.jpg

Для компонента_A вы хотите разрешить обнаружение и обновление снимков экрана PNG. Вы должны установить маску файла снимка экрана для компонента_A как comment_A/docs/*.png. Это означает, что любые изображения PNG в документах компонента_A можно обнаружить и обновить. Итак, если вы хотите обновить файл image1.png, новый предоставленный вами снимок экрана должен иметь имя image1.png, соответствующее существующему имя файла, и храниться в ``comComponent_A/docs/`. `.

Одноязычный базовый файл#

Базовый файл, содержащий определения строк для одноязычных компонентов.

Правка базового файла#

Разрешать ли редактирование строк в Одноязычный базовый файл.

Файл промежуточного языка#

Файл промежуточного языка для одноязычных компонентов. В большинстве случаев это файл перевода предоставляется разработчиками и именно из него берутся настоящие исходные строки для перевода на другие языки.

Если он задан, то исходные строки будут взяты из этого файла, а переводы на все остальные языки — из одноязычных базовых файлов. В случае, если строка не переведена на исходный язык, перевод на другие языки запрещается. Этим обеспечивается контроль качества строк.

Шаблон для новых переводов#

Базовый файл, используемый для создания новых переводов.

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

  • Выберите файл .pot с файлами GNU gettext PO.

  • Выберите пустой файл без переводов, если он у вас есть.

  • Выберите comComponent-template для одноязычных форматов, которым требуется полный набор ключей.

  • Для перевода документа выберите comComponent-template.

  • Выберите любой файл перевода для других.

  • В большинстве случаев файл шаблона может совпадать с базовым файлом.

Подсказка

Для многих одноязычных форматов Weblate по умолчанию начинает с пустого файла. Используйте это, если вы хотите, чтобы при создании нового перевода все строки были с пустым значением.

Формат файла#

Формат файла перевода, смотрите также поддерживаемые форматы файлов.

Адрес для сообщения об ошибке в исходной строке#

Адрес электронной почты, используемый для отправки сообщений об ошибках в исходных строках. На этот адрес также будут отсылаться уведомления о любых сделанных в Weblate комментариях к исходной строке.

При использовании формата GNU gettext этот адрес также сохраняется Weblate в заголовке файла Report-Msgid-Bugs-To.

Разрешить распространение перевода#

Вы можете отключить распространение переводов на этот компонент из других компонентов этого же проекта. Это сильно зависит от того, что вы переводите, иногда желательно использовать разные переводы для одинаковых строк.

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

Значение по умолчанию может быть изменено параметром DEFAULT_TRANSLATION_PROPAGATION.

Включить предложения#

Принимать ли предложения по переводу этого компонента.

Голосование по предложению#

Включает голосование за предложения, смотрите раздел Голосование по предложению.

Автоматическое принятие предложений#

Автоматически принимать предложения, за которые проголосовали, смотрите раздел Голосование по предложению.

Флаги перевода#

Настройка проверок качества и другого поведения Weblate’а, смотрите раздел Настройка поведения с помощью флагов.

Принудительная проверка#

Список проверок, которые нельзя проигнорировать, смотрите раздел Принудительные проверки.

Примечание

Добавление проверки в качестве принудительной не включает её автоматически; вам всё равно придётся включить её с помощью настроек поведения во флагах перевода или дополнительной информации об исходных строках.

Лицензия перевода#

Лицензия на перевод (не обязательно должна совпадать с лицензией на исходный код).

Соглашение с участником#

Пользовательское соглашение, которое должно быть одобрено, прежде чем пользователь сможет переводить этот компонент.

Добавление нового перевода#

Как обрабатывать запросы на создание новых языков. Доступные варианты:

Связаться с кураторами

Пользователь может выбрать желаемый язык, а кураторы проекта получат об этом уведомление. Добавление (или не добавление) языка в репозиторий зависит от них.

Указать URL на инструкции по переводу

Пользователю предоставляется ссылка на страницу, которая описывает процесс начала новых переводов. Используйте этот вариант в случае, если вам требуется более формальный процесс (например, формирование команды людей перед началом фактического перевода).

Создать новый язык

Пользователь может выбрать язык и Weblate автоматически создаст для него файл, так что можно сразу начинать переводить.

Запретить добавление новых переводов

У пользователя не будет возможности начать новый перевод.

Подсказка

Администраторы проекта могут добавлять новые переводы, даже если это отключено здесь, когда это возможно (либо Шаблон для новых переводов, или же формат файла поддерживает запуск с пустого файла).

Управление строками#

Добавлено в версии 4.5.

Настраивает, смогут ли пользователи добавлять новые и удалять существующие строки из Weblate. В зависимости от вашего рабочего процесса (как именно должны добавляться новые строки) вы можете включить этот параметр или оставить отключённым.

В двуязычных форматах строки обычно извлекаются из исходного кода (например, с помощью xgettext) и добавление новых строк через Weblate должно быть отключено (они всё равно удалятся, когда вы в следующий раз будете обновлять свои файлы перевода). В Weblate вы можете управлять строками для каждого перевода отдельно, это не будет принудительно поддерживать набор исходных строк для всех языков одинаковым.

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

Подсказка

Возможно, для моноязычных форматов следует включить Правка базового файла вместе с Manage strings.

Стиль кода языка#

Настройте код языка, используемый для генерации имени файла для переводов, созданных Weblate.

Примечание

Weblate распознает любой языковой код при анализе файлов перевода, следующие настройки влияют только на создание новых файлов.

Умолчание, основанное на формате файла

Зависит от формата файла, для большинства форматов используется стиль POSIX.

Стиль POSIX, использующий подчёркивание как разделитель

Обычно используется gettext’ом и связанными с ним инструментами, выдаёт коды языков вида pt_BR.

Стиль POSIX, использующий подчеркивание как разделитель и включающий код страны

Код языка в стиле POSIX, включающий код страны, даже если в этом нет необходимости (например, ru_RU).

Стиль POSIX, использующий подчеркивание в качестве разделителя, включая код страны (в нижнем регистре)

Код языка в стиле POSIX, включая код страны, даже если он не нужен (нижний регистр) (например, cs_cz).

Стиль BCP, использующий в качестве разделителя дефис

Обычно используется на веб-платформах, выдаёт коды языков вида pt-BR.

Стиль BCP, использующий в качестве разделителя дефис и включающий код страны

Код языка в стиле BCP, включающий код страны, даже если в этом нет необходимости (например, ``ru-RU`).

Стиль BCP с использованием дефиса в качестве разделителя, устаревшие коды языков

Использует устаревшие коды для обозначения китайского языка и стиля BCP.

Стиль BCP с использованием дефиса в качестве разделителя, в нижнем регистре

Обозначение в стиле BCP, все в нижнем регистре (например, cs-cz).

Стиль метаданных App Store от Apple

Стиль подходит для загрузки метаданных в Apple App Store.

Стиль метаданных Google Play

Стиль подходит для загрузки метаданных в Google Play Store.

Стиль Android

Используется только в приложениях для Android, выдаёт коды языков вида pt-rBR.

Стиль Linux

Локали, используемые в Linux, используют устаревшие коды для обозначения китайского языка и стиля POSIX.

Стиль слияния#

Вы можете настроить обработку обновлений из вышестоящего репозитория. Реализация зависит от системы управления версиями, см. Интеграция с системой контроля версий.

Сменить базу

Перебазирует коммиты Weblate поверх вышестоящего репозитория при обновлении. Это обеспечивает чистую историю без дополнительных коммитов слияния.

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

Возможно, вам потребуется включить принудительную отправку, выбрав: ref: vcs-git-force-push как: ref:` component-vcs`, особенно при отправке в другую ветку.

Объединить

Изменения из вышестоящего репозитория объединяются в репозитории Weblate. Этот параметр использует быструю перемотку вперед, когда это возможно. Это самый безопасный способ, но он может привести к большому количеству объединений коммитов.

Слияние без fast-forward

Изменения исходного репозитория объединяются в репозиторий Weblate с выполнением фиксации слияния каждый раз (даже если возможна быстрая перемотка вперед). Каждое изменение Weblate будет отображаться как коммит слияния в репозитории Weblate.

Значение по умолчанию можно изменить установкой параметра DEFAULT_MERGE_STYLE.

Сообщения коммита, добавления, удаления, слияния, дополнения и запроса объединения#

Сообщение, используемое при коммите перевода, смотрите раздел Шаблонная разметка.

Значения по умолчанию можно изменить установкой параметров DEFAULT_ADD_MESSAGE, DEFAULT_ADDON_MESSAGE, DEFAULT_COMMIT_MESSAGE, DEFAULT_DELETE_MESSAGE, DEFAULT_MERGE_MESSAGE и DEFAULT_PULL_MESSAGE.

Отправлять при коммите#

Должны ли закоммиченные изменения автоматически отправляться в вышестоящий репозиторий. Когда этот параметр включён, отправка инициируется после того, как Weblate закоммитит изменения в свой базовом репозиторий (смотрите отложенные коммиты). Для реального включения функции отправки также должен быть настроен URL для отправки в репозиторий.

Возраст изменений для коммита#

Устанавливает, насколько давно (в часах) должны быть изменения, прежде чем они будут зафиксированы фоновой задачей или командой управления commit_pending. Все изменения в компоненте фиксируются, если хотя бы одно изменение старше этого периода.

Значение по умолчанию можно изменить установкой параметра COMMIT_PENDING_HOURS.

Подсказка

Существуют и другие ситуации, когда незавершённые изменения могут быть зафиксированы, см Отложенные коммиты.

Блокировать при ошибке#

Блокирует компонент (и связанные компоненты, смотреть раздел Внутренние URL-адреса Weblate) при первой неудачной отправке или слиянии в его вышестоящий репозиторий или извлечения из него. Это позволяет избежать добавления новых конфликтов, которые пришлось бы разрешать вручную.

Компонент будет автоматически разблокирован, как только в репозитории не останется ошибок.

Исходный язык#

Язык, используемый для исходных строк. Изменяйте этот параметр, если вы переводите не с английского.

Подсказка

В случае, если вы переводите двуязычные файлы с английского языка, но хотите иметь возможность делать исправления также и в английском переводе, выберите Английский (разработчик), чтобы избежать конфликта между названием исходного языка и существующим переводом.

Для одноязычных переводов в данном случае можно использовать промежуточный перевод, смотрите раздел Файл промежуточного языка.

Языковой фильтр#

Регулярное выражение, используемое для фильтрации перевода при поиске файлов по маске. Это можно использовать для ограничения списка управляемых Weblate’ом языков.

Примечание

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

Несколько примеров фильтров:

Описание фильтра

Регулярное выражение

Только выбранные языки

^(cs|de|es)$

Исключить языки

^(?!(it|fr)$).+$

Выбрать только двубуквенные языковые коды

^..$

Исключить неязыковые файлы

^(?!(blank)$).+$

Включить все файлы (по умолчанию)

^[^.]+$

Регулярное выражение вариантов#

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

Примечание

Большинство полей могут отредактировать владельцы или администраторы проекта через интерфейс Weblate.

Приоритет#

Переводчикам вначале предлагаются компоненты с большим приоритетом.

Изменено в версии 4.15: Теперь это также влияет на порядок совпадающих терминов глоссария.

Ограниченный доступ#

Примечание

Эта функция недоступна на Hosted Weblate.

По умолчанию компонент виден любому, кто имеет доступ к проекту, даже если этот человек не может выполнить в компоненте никаких изменений. Это облегчает поддержание согласованности перевода в рамках проекта.

Ограничение доступа на уровне компонента или списка компонентов накладывает разрешение на доступ к компоненту, независимо от разрешений на уровне проекта. Вам придётся явно предоставить доступ к нему. Это можно сделать, предоставив доступ новой группе пользователей и включив в неё пользователей, или используя стандартные группы управления доступом настраиваемый или частный.

Значение по умолчанию можно изменить установкой параметра в DEFAULT_RESTRICTED_COMPONENT.

Подсказка

Это также относится и к администраторам проектов — пожалуйста, убедитесь, что после переключения статуса вы не потеряете доступ к компоненту.

Разделяемые компоненты#

Вы можете выбрать дополнительные проекты в которых какой-либо компонент будет отображаться. Полезно для разделяемых библиотек, которые используются в нескольких проектах.

Примечание

Такое разделение компонентов между проектами не влияет на контроль доступа к ним. Оно только делает их видимыми при просмотре других проектов. Пользователям по-прежнему необходим доступ к компоненту, чтобы просмотреть или перевести его.

Использовать в качестве глоссария#

Добавлено в версии 4.5.

Позволяет использовать данный компонент в качестве глоссария. Вы можете настроить, как именно он будет отображаться, с помощью параметра «Цвет глоссария».

Глоссарий будет доступен во всех проектах, в которые он добавлен в качестве разделяемого компонента.

Для словарей также рекомендуется включить управление строками, чтобы в в них можно было добавлять новые слова.

См.также

Словарь

Цвет глоссария#

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

Категория#

Категории предназначены для структурирования компонентов в проекте. Вы можете вкладывать их, чтобы получить более сложную структуру.

Шаблонная разметка#

В нескольких местах, где необходима отрисовка текста, Weblate использует простой язык разметки. Он основан на языке шаблонов Django, так что он может быть достаточно мощным.

В настоящее время он используется:

В шаблонах компонентов доступны следующие переменные:

{{ language_code }}

Код языка

{{ language_name }}

Название языка

{{ component_name }}

Название компонента

{{ component_slug }}

Плашка компонента

{{ project_name }}

Название проекта

{{ project_slug }}

Плашка проекта

{{ url }}

URL-адрес перевода

{{ filename }}

Имя файла перевода

{{ stats }}

Статистика перевода, у неё есть дополнительные атрибуты, примеры ниже.

{{ stats.all }}

Общее количество строк

{{ stats.fuzzy }}

Количество строк, требующих рецензирования

{{ stats.fuzzy_percent }}

Процент строк, требующих рецензирования

{{ stats.translated }}

Количество переведённых строк

{{ stats.translated_percent }}

Процент переведённых строк

{{ stats.allchecks }}

Количество строк с неудачными проверками

{{ stats.allchecks_percent }}

Процент строк с неудачными проверками

{{ author }}

Автор текущего коммита, доступна только в области действия коммита.

{{ addon_name }}

Имя исполняемой в данный момент надстройки, доступна только в сообщении о коммите надстройки.

Следующие переменные доступны в шаблонах браузера репозитория или редактора:

{{branch}}

текущая ветка

{{line}}

строка в файле

{{filename}}

имя файла, также с помощью фильтра parentdir вы можете удалить ведущие части, например {{filename|parentdir}}

Подсказка

В некоторых местах могут быть доступны дополнительные переменные, см. Обнаружение компонентов.

Вы можете объединять их с фильтрами:

{{ component|title }}

Можете использовать условия:

{% if stats.translated_percent > 80 %}Well translated!{% endif %}

Для замены символов доступен дополнительный тег:

{% replace component "-" " " %}

Вы можете объединить его с фильтрами:

{% replace component|capfirst "-" " " %}

Также есть дополнительный фильтр для работы с именами файлов:

Directory of a file: {{ filename|dirname }}
File without extension: {{ filename|stripext }}
File in parent dir: {{ filename|parentdir }}
It can be used multiple times:  {{ filename|parentdir|parentdir }}

…и другие возможности шаблонов Django.

Скорость импорта#

Извлечение из репозитория системы контроля версий и импорт переводов в Weblate может быть длительным процессом, в зависимости от размера ваших переводов. Вот несколько советов:

Оптимизация настроек#

Конфигурация по умолчанию полезна для тестирования и отладки Weblate, в то же время для установки в рабочую среду в неё необходимо внести некоторые коррективы. Многие из параметров довольно сильно влияют на производительность. Для получения более подробной информации обратитесь к разделу Рабочая среда, особенно обратите внимание на следующие темы:

Проверка ограничения по ресурсам#

Если вы импортируете огромные переводы или репозитории, вы можете столкнуться с ограничениями по ресурсам вашего сервера.

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

  • Если нужно обработать множество строк, дисковые операции могут стать узким местом — диск насилуется как Weblate’ом, так и базой данных.

  • Улучшить производительность фоновых задач могут помочь дополнительные ядра процессора (смотрите раздел Фоновые задачи с использованием Celery).

Отключение ненужных проверок#

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

Автоматическое создание компонентов#

Если в вашем проекте есть десятки файлов перевода (например, для разных доменов gettext или частей приложений Android), вы можете импортировать их автоматически. Этого можно добиться либо из командной строки, используя import_project или import_json, либо установив надстройку Обнаружение компонентов.

Для использования надстройки вам сначала нужно создать компонент для одного файла перевода (выберите тот, который с наименьшей вероятностью в будущем будет переименован или удалён), и установить надстройку в этот компонент.

Для команд управления вам необходимо создать проект, который будет содержать все компоненты, а затем запустить import_project или import_json.