Проекты перевода¶
Организация переводов¶
Weblate организует переводимое содержимое VCS проекта/компонентов в древовидную структуру. Вы можете дополнительно организовать компоненты внутри проекта с помощью категорий.
Объектом нижнего уровня является проект, который должен содержать все связанные переводы (например, перевод приложения различных версий и/или сопроводительную документацию).
Средний уровень дополнительно создаётся с помощью Категория. Категории могут быть вложены в более сложную структуру.
На уровне выше располагается компонент, который фактически и является компонентом для перевода, для которого вы определяете используемый репозиторий системы контроля версий и маску файлов для перевода.
Ещё выше компонента находятся отдельные переводы, которые Weblate обрабатывает автоматически, как только файлы перевода (соответствующие маске файлов, определённой в конфигурации компонента), появляются в репозитории системы контроля версий.
Weblate поддерживает широкий набор форматов перевода (как двуязычных, так и одноязычных), поддерживаемых набором инструментов Translate Toolkit, смотрите раздел Localization file formats.
Примечание
Вы можете совместно использовать склонированные репозитории системы контроля версий, используя внутренние URL-адреса Weblate. Использование этой возможности настоятельно рекомендуется при наличии множества компонентов, совместно использующих один и тот же репозиторий. Она повышает производительность и уменьшает необходимое дисковое пространство.
Добавление проектов и компонентов перевода¶
В зависимости от ваших разрешений вы можете создавать новые проекты и компоненты перевода. Для пользователей с разрешением Добавление новых проектов их создание всегда разрешено, а если ваш экземпляр использует тарифные планы (как, например, https://hosted.weblate.org/, смотрите раздел Выставление счетов), вы также можете создавать их на основе разрешений из вашего плана, установленных учётной записью пользователя, управляющего тарификацией.
Подсказка
Чтобы предоставить каждому пользователю разрешение на создание новых проектов, создайте новый Автоматическое назначение команд для команды «Создатели проекта».
Вы можете просмотреть свой текущий тарифный план на отдельной странице:

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

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

Создание нового компонента перевода можно инициировать одним щелчком мыши. Процесс создания компонента многоступенчатый, большинство параметров перевода он определяет автоматически. Существует несколько подходов к созданию компонента:
- Из системы контроля версий
Создать компонент из удалённого репозитория системы контроля версий.
- Из уже существующего компонента
Создать дополнительный компонент на основе уже существующего, только с другими файлами.
- Дополнительная ветка
Создать дополнительный компонент на основе уже существующего, только для другой ветки.
- Отправить файлы перевода
Загрузить файлы перевода в Weblate в случае, если у вас нет системы контроля версий или вы не хотите интегрировать её с Weblate. Позже вы сможете обновить содержимое через веб-интерфейс или REST API Weblate.
- Перевести документ
Загрузите отдельный документ или файл перевода и переведите его.
- Начать с нуля
Создать пустой проект перевода и добавить строки вручную.
Имея существующие компоненты перевода, вы также можете легко добавлять новые для дополнительных файлов или веток из того же репозитория.
Сначала вам нужно указать наименование и расположение репозитория:

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

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

Настройки проекта¶
Создайте проект перевода, а затем добавьте в него новый компонент, в котором вы и будете непосредственно делать перевод. Проект здесь похож на полку, на которую укладываются реальные переводы. Все компоненты одного проекта разделяют между собой общие предложения и словарь; переводы также автоматически распространяются во все компоненты одного проекта (если только оно не отключено в настройках компонентов), см. раздел Память переводов.
См. также
Это основные атрибуты для настройки, они предоставляют переводчикам информацию о проекте:
Название проекта¶
Более подробное наименование проекта для отображения.
См. также
URL-плашка¶
Название проекта, подходящее для указания его в URL-адресе.
Веб-сайт проекта¶
URL-адрес, по которому переводчики могут найти дополнительную информацию о проекте.
Это обязательный параметр, если он не отключён с помощью WEBSITE_REQUIRED
.
Инструкции для переводчиков¶
Текст, описывающий процесс локализации в проекте, и любая другая информация, полезная для переводчиков. Для форматирования текста или вставки ссылок можно использовать Markdown.
Задать заголовок «Language-Team»¶
Должен ли Weblate управлять заголовком Language-Team
(сейчас это единственная особая возможность для GNU gettext PO (Portable Object)).
Контроль доступа¶
Настройка контроля доступа для каждого проекта, подробнее смотрите в разделе Контроль доступа к проекту.
Значение по умолчанию можно изменить с помощью DEFAULT_ACCESS_CONTROL
.
Принудительная двухфакторная аутентификация¶
Добавлено в версии 5.7.
Enforce Двухфакторная авторизация for all contributors. Users won’t be allowed to perform any operations within the project without having it configured.
Включить рецензии¶
Включение процесса рецензирования переводов, смотрите раздел Выделенные рецензенты.
См. также
Включить рецензии исходных строк¶
Включение процесса рецензирования исходных строк, смотрите раздел Рецензирование исходных строк.
Включить обработчики¶
Должны ли для этого репозитория использоваться неавторизованные обработчики уведомлений.
Псевдонимы языка¶
Определяет отображение кодов языков при импорте переводов в Weblate. Используйте этот параметр, если коды языков в ваших репозиториях не согласуются друг с другом, а вы хотите, чтобы в Weblate они были представлены единообразно; или если вы хотите использовать нестандартные имена файлов перевода.
Типовым случаем использования псевдонимов, например, является отображение американского английского языка на английский: en_US:en
Несколько отображений должны разделяться запятой: en_GB:en,en_US:en
Использование нестандартного кода: ru_FOO:ru
Подсказка
Коды языков отображаются при успешном сопоставлении с именами файлов перевода, а оно чувствительно к регистру, поэтому убедитесь, что вы используете коды исходного языка в той же форме, в которой они используются в именах файлов.
См. также
Настройки компонента¶
Компонент — это группировка каких-то сущностей для перевода. Вы вводите расположение репозитория системы контроля версий и маску файлов, определяющую, какие файлы вы хотите переводить, а Weblate автоматически извлекает код из этого репозитория и находит все соответствующие файлы для перевода.
См. также
Некоторые примеры типовых конфигураций можно найти в разделе Localization file formats.
Примечание
Рекомендуется держать размер компонентов перевода в разумных пределах — разбивайте перевод по любому критерию, который в вашем случае имеет смысл (по отдельным приложениям или дополнениям, по главам книг или по веб-сайтам).
Weblate легко справляется с переводами с 10000 строк, но с такими объёмами труднее разделять работу между несколькими переводчиками и координировать их действия.
Если определение языка для перевода отсутствует, создаётся пустое определение с именем вида «ru_RU (generated)». Вы должны скорректировать определение и сообщить об этом авторам Weblate, чтобы недостающие языки могли быть включены в следующий выпуск.
Компонент содержит все важные параметры для работы с системой контроля версий, а также для получения из неё переводов:
Название компонента¶
Подробное наименование компонента, используемое для его отображения.
Плашка компонента¶
Название компонента, подходящее для указания его в URL-адресе.
Проект компонента¶
Настройки проекта, которому принадлежит компонент.
Система контроля версий¶
Используемая система контроля версий, подробнее смотрите в разделе Интеграция с системой контроля версий.
См. также
Репозиторий исходного кода¶
Репозиторий системы контроля версий, из которого извлекаются изменения.
См. также
Для получения более подробной информации о том, как указывать URL-адреса, смотрите раздел Доступ к репозиториям.
Подсказка
Это может быть либо реальный URL-адрес системы контроля версий, либо адрес вида weblate://проект/компонент
, указывающий на то, что репозиторий должен совместно использоваться с другим компонентом. Для получения более подробной информации обратитесь к разделу Внутренние URL-адреса Weblate.
URL для отправки в репозиторий¶
URL-адрес репозитория, используемый для отправки. Поведение этого зависит от Система контроля версий, и это более подробно описано в Отправка изменений из 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.
Примечание:
Маска файла и маска файла снимка экрана не связаны между собой. Настройте их отдельно.
Связывание обнаруженного снимка экрана в компоненте с конкретным ключом перевода — это ручная работа.
Например:
Предположим, ваш репозиторий VCS имеет такую структуру:
component_A
└── docs
├── image1.png
└── image2.jpg
Для component_A вы хотите разрешить обнаружение и обновление снимков экрана PNG. Вы должны установить маску файла снимка экрана для component_A как comment_A/docs/*.png
. Это означает, что любые изображения PNG в документации component_A можно обнаружить и обновить. Итак, если вы хотите обновить файл image1.png
, новый предоставленный вами снимок экрана должен иметь имя image1.png
, соответствующее существующему имени файла
, и храниться в component_A/docs/
.
Одноязычный базовый файл¶
Базовый файл, содержащий определения строк для одноязычных компонентов.
Правка базового файла¶
Разрешать ли редактирование строк в Одноязычный базовый файл.
Файл промежуточного языка¶
Файл промежуточного языка для одноязычных компонентов. В большинстве случаев это файл перевода предоставляется разработчиками и именно из него берутся настоящие исходные строки для перевода на другие языки.
Если он задан, то исходные строки будут взяты из этого файла, а переводы на все остальные языки — из одноязычных базовых файлов. В случае, если строка не переведена на исходный язык, перевод на другие языки запрещается. Этим обеспечивается контроль качества строк.
Шаблон для новых переводов¶
Базовый файл, используемый для создания новых переводов.
Оставьте это поле пустым для большинства одноязычных форматов. Обычно они могут начаться с пустого файла.
Выберите файл
.pot
с файлами GNU gettext PO.Выберите пустой файл без переводов, если он у вас есть.
Выберите Одноязычный базовый файл для одноязычных форматов, которым требуется полный набор ключей.
Для перевода документа выберите Одноязычный базовый файл.
Выберите любой файл перевода для других.
В большинстве случаев файл шаблона может совпадать с базовым файлом.
Подсказка
Для многих одноязычных форматов Weblate по умолчанию начинает с пустого файла. Используйте это, если вы хотите, чтобы при создании нового перевода все строки были с пустым значением.
Формат файла¶
Формат файла перевода, смотрите также поддерживаемые форматы файлов.
Адрес для сообщения об ошибке в исходной строке¶
Адрес электронной почты, используемый для отправки сообщений об ошибках в исходных строках. На этот адрес также будут отсылаться уведомления о любых сделанных в Weblate комментариях к исходной строке.
При использовании формата GNU gettext PO (Portable Object) этот адрес также сохраняется Weblate в заголовке файла Report-Msgid-Bugs-To.
Разрешить распространение перевода¶
Вы можете отключить распространение переводов на этот компонент из других компонентов этого же проекта. Это сильно зависит от того, что вы переводите, иногда желательно использовать разные переводы для одинаковых строк.
Обычно для одноязычных переводов рекомендуется отключать этот параметр, если только вы не используете во всем проекте одни и те же идентификаторы для одинаковых строк.
The default value can be changed by DEFAULT_TRANSLATION_PROPAGATION
.
Включить предложения¶
Принимать ли предложения по переводу этого компонента.
См. также
Голосование по предложению¶
Включает голосование за предложения, смотрите раздел Голосование по предложению.
См. также
Автоматически принимать предложения¶
Автоматически принимать предложения, за которые проголосовали, смотрите раздел Голосование по предложению.
См. также
Флаги перевода¶
Настройка проверок качества и другого поведения Weblate’а, смотрите раздел Настройка поведения с помощью флагов.
Принудительная проверка¶
Список проверок, которые нельзя проигнорировать, смотрите раздел Принудительные проверки.
Примечание
Добавление проверки в качестве принудительной не включает её автоматически; вам всё равно придётся включить её с помощью настроек поведения во флагах перевода или дополнительной информации об исходных строках.
Лицензия перевода¶
Лицензия на перевод (не обязательно должна совпадать с лицензией на исходный код).
Лицензионное соглашение участника¶
Лицензионное соглашение участника, которое должно быть одобрено, прежде чем пользователь сможет переводить этот компонент.
Markdown can be used for text formatting or inserting links.
Добавление нового перевода¶
Как обрабатывать запросы на создание новых языков. Доступные варианты:
- Связаться с кураторами
Пользователь может выбрать желаемый язык, а кураторы проекта получат об этом уведомление. Добавление (или не добавление) языка в репозиторий зависит от них.
- Указать URL на инструкции по переводу
Пользователю предоставляется ссылка на страницу, которая описывает процесс начала новых переводов. Используйте этот вариант в случае, если вам требуется более формальный процесс (например, формирование команды людей перед началом фактического перевода).
- Создать новый язык
Пользователь может выбрать язык и Weblate автоматически создаст для него файл, так что можно сразу начинать переводить.
- Запретить добавление новых переводов
У пользователя не будет возможности начать новый перевод.
Подсказка
Администраторы проекта могут добавлять новые переводы, даже если это отключено здесь, когда это возможно (либо Шаблон для новых переводов, или же формат файла поддерживает запуск с пустого файла).
Управление строками¶
Добавлено в версии 4.5.
Настраивает, смогут ли пользователи добавлять новые и удалять существующие строки из Weblate. В зависимости от вашего рабочего процесса (как именно должны добавляться новые строки) вы можете включить этот параметр или оставить отключённым.
В двуязычных форматах строки обычно извлекаются из исходного кода (например, с помощью xgettext) и добавление новых строк через Weblate должно быть отключено (они всё равно удалятся, когда вы в следующий раз будете обновлять свои файлы перевода). В Weblate вы можете управлять строками для каждого перевода отдельно, это не будет принудительно поддерживать набор исходных строк для всех языков одинаковым.
Для одноязычных форматов управление строками происходит только на исходном языке, в переводах они добавляются и удаляются автоматически. В файлах перевода строки появляются только после их фактического перевода.
Подсказка
Возможно, для одноязычных форматов следует включить Правка базового файла вместе с «Управление строками».
Стиль кода языка¶
Настройте код языка, используемый для генерации имени файла для переводов, созданных Weblate.
Примечание
Weblate распознает любой языковой код при анализе файлов перевода, следующие настройки влияют только на создание новых файлов.
- Умолчание, основанное на формате файла
Зависит от формата файла, для большинства форматов используется стиль POSIX.
- Стиль POSIX, использующий подчёркивание как разделитель
Обычно используется gettext’ом и связанными с ним инструментами, выдаёт коды языков вида
pt_BR
.- Стиль 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.
- Стиль метаданных Google Play
Стиль подходит для загрузки метаданных в магазине Google Play.
- Стиль Android
Используется только в приложениях для Android, выдаёт коды языков вида
pt-rBR
.- Стиль Linux
Локали, используемые в Linux, используют устаревшие коды для обозначения китайского языка и стиля POSIX.
- Стиль Linux, в нижнем регистре
Locales as used by Linux, uses legacy codes for Chinese and POSIX style notation. Lower cased.
Стиль слияния¶
Вы можете настроить обработку обновлений из вышестоящего репозитория. Реализация зависит от системы управления версиями, см. Интеграция с системой контроля версий.
- Сменить базу
Перебазирует коммиты Weblate поверх вышестоящего репозитория при обновлении. Это обеспечивает чистую историю без дополнительных коммитов слияния.
В случае сложных слияний перебазирование может доставить вам проблем, поэтому тщательно подумайте, хотите ли вы его включать или нет.
Возможно, вам потребуется включить принудительную отправку, выбрав Git c принудительной отправкой (force push) как Система контроля версий, особенно при отправке в другую ветку.
- Объединить
Изменения из вышестоящего репозитория объединяются в репозитории Weblate. Этот параметр использует быструю перемотку вперед, когда это возможно. Это самый безопасный способ, но он может привести к большому количеству объединений коммитов.
- Слияние без fast-forward
Изменения исходного репозитория объединяются в репозиторий Weblate с выполнением фиксации слияния каждый раз (даже если возможна быстрая перемотка вперёд). Каждое изменение Weblate будет отображаться как коммит слияния в репозитории Weblate.
The default value can be changed by DEFAULT_MERGE_STYLE
.
Сообщения коммита, добавления, удаления, слияния, дополнения и запроса объединения¶
Сообщение, используемое при коммите перевода, смотрите раздел Шаблонная разметка.
The default value can be changed by DEFAULT_ADD_MESSAGE
,
DEFAULT_ADDON_MESSAGE
, DEFAULT_COMMIT_MESSAGE
,
DEFAULT_DELETE_MESSAGE
, DEFAULT_MERGE_MESSAGE
,
DEFAULT_PULL_MESSAGE
.
Отправлять при коммите¶
Должны ли закоммиченные изменения автоматически отправляться в вышестоящий репозиторий. Когда этот параметр включён, отправка инициируется после того, как Weblate закоммитит изменения в свой базовом репозиторий (смотрите отложенные коммиты). Для реального включения функции отправки также должен быть настроен URL для отправки в репозиторий.
Возраст изменений для коммита¶
Устанавливает, насколько давно (в часах) должны быть изменения, прежде чем они будут зафиксированы фоновой задачей или командой управления commit_pending
. Все изменения в компоненте фиксируются, если хотя бы одно изменение старше этого периода.
The default value can be changed by COMMIT_PENDING_HOURS
.
Подсказка
Существуют и другие ситуации, когда незавершённые изменения могут быть зафиксированы, см Отложенные коммиты.
Блокировать при ошибке¶
Блокирует компонент (и связанные компоненты, смотреть раздел Внутренние URL-адреса Weblate) при первой неудачной отправке или слиянии в его вышестоящий репозиторий или извлечения из него. Это позволяет избежать добавления новых конфликтов, которые пришлось бы разрешать вручную.
Компонент будет автоматически разблокирован, как только в репозитории не останется ошибок.
Исходный язык¶
Язык, используемый для исходных строк. Изменяйте этот параметр, если вы переводите не с английского.
Подсказка
В случае, если вы переводите двуязычные файлы с английского языка, но хотите иметь возможность делать исправления также и в английском переводе, выберите Английский (разработчик), чтобы избежать конфликта между названием исходного языка и существующим переводом.
Для одноязычных переводов в данном случае можно использовать промежуточный перевод, смотрите раздел Файл промежуточного языка.
Языковой фильтр¶
Регулярное выражение, используемое для фильтрации перевода при поиске файлов по маске. Это можно использовать для ограничения списка управляемых Weblate’ом языков.
Примечание
Вам необходимо перечислить коды языков в том же виде, в котором они встречаются в именах файлов.
Несколько примеров фильтров:
Описание фильтра |
Регулярное выражение |
---|---|
Только выбранные языки |
|
Исключить языки |
|
Выбрать только двубуквенные языковые коды |
|
Исключить неязыковые файлы |
|
Включить все файлы (по умолчанию) |
|
Ключевой фильтр¶
Добавлено в версии 5.8.
A regular expression that is used to filter units by their keys. It displays only those units whose keys match the regular expression that was set as the value of this field.
Несколько примеров фильтров:
Описание фильтра |
Регулярное выражение |
---|---|
Selected keys only |
|
Exclude app store changelogs |
|
Filter prefixed strings |
|
Примечание
This filter is only available for components with monolingual file formats.
Регулярное выражение вариантов¶
Регулярное выражение, используемое для определения вариантов строки, смотрите раздел Варианты строк.
Примечание
Большинство полей могут отредактировать владельцы или администраторы проекта через интерфейс Weblate.
Приоритет¶
Переводчикам вначале предлагаются компоненты с большим приоритетом.
Изменено в версии 4.15: Теперь это также влияет на порядок совпадающих терминов словаря.
Ограниченный доступ¶
Примечание
Эта функция недоступна на Hosted Weblate.
По умолчанию компонент виден любому, кто имеет доступ к проекту, даже если этот человек не может выполнить в компоненте никаких изменений. Это облегчает поддержание согласованности перевода в рамках проекта.
Ограничение доступа на уровне компонента или списка компонентов накладывает разрешение на доступ к компоненту, независимо от разрешений на уровне проекта. Вам придётся явно предоставить доступ к нему. Это можно сделать, предоставив доступ новой группе пользователей и включив в неё пользователей, или используя стандартные группы управления доступом настраиваемый или частный.
Значение по умолчанию можно изменить установкой параметра в DEFAULT_RESTRICTED_COMPONENT
.
Подсказка
Это также относится и к администраторам проектов — пожалуйста, убедитесь, что после переключения статуса вы не потеряете доступ к компоненту.
Использовать в качестве словаря¶
Добавлено в версии 4.5.
Позволяет использовать данный компонент в качестве словаря. Вы можете настроить, как именно он будет отображаться, с помощью параметра «Цвет словаря».
Словарь будет доступен во всех проектах, в которые он добавлен в качестве разделяемого компонента.
Для словарей также рекомендуется включить управление строками, чтобы в в них можно было добавлять новые слова.
См. также
Цвет словаря¶
Color used when displaying terms from this glossary. Useful to distinguish glossaries when using more of them.
См. также
Категория¶
Категории предназначены для структурирования компонентов в проекте. Вы можете вкладывать их, чтобы получить более сложную структуру.
Шаблонная разметка¶
В нескольких местах, где необходима отрисовка текста, Weblate использует простой язык разметки. Он основан на языке шаблонов Django, так что он может быть достаточно мощным.
В настоящее время он используется:
Для форматирования сообщений коммитов, смотрите раздел Настройки компонента
- В нескольких надстройках
The following variables are available in the component templates:
{{ 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 }}
…and other Django template features.
Скорость импорта¶
Извлечение из репозитория системы контроля версий и импорт переводов в Weblate может быть длительным процессом, в зависимости от размера ваших переводов. Вот несколько советов:
Оптимизация настроек¶
Конфигурация по умолчанию полезна для тестирования и отладки Weblate, в то же время для установки в рабочую среду в неё необходимо внести некоторые коррективы. Многие из параметров довольно сильно влияют на производительность. Для получения более подробной информации обратитесь к разделу Рабочая среда, особенно обратите внимание на следующие темы:
Настройка Celery для выполнения фоновых задач (смотрите раздел Фоновые задачи с использованием Celery)
Проверка ограничения по ресурсам¶
Если вы импортируете огромные переводы или репозитории, вы можете столкнуться с ограничениями по ресурсам вашего сервера.
Проверьте объём свободной памяти, наличие кэшированных операционной системой файлов перевода значительно повысит производительность.
Если нужно обработать множество строк, дисковые операции могут стать узким местом — диск насилуется как Weblate’ом, так и базой данных.
Улучшить производительность фоновых задач могут помочь дополнительные ядра процессора (смотрите раздел Фоновые задачи с использованием Celery).
Отключение ненужных проверок¶
Некоторые проверки качества могут быть довольно дорогими, и если в них нет необходимости, при импорте можно сэкономить некоторое время, если их пропустить. Информацию по их настройке смотрите в описании параметра CHECK_LIST
.
Автоматическое создание компонентов¶
Если в вашем проекте есть десятки файлов перевода (например, для разных доменов gettext или частей приложений Android), вы можете импортировать их автоматически. Этого можно добиться либо из командной строки, используя import_project
или import_json
, либо установив надстройку Обнаружение компонентов.
Для использования надстройки вам сначала нужно создать компонент для одного файла перевода (выберите тот, который с наименьшей вероятностью в будущем будет переименован или удалён), и установить надстройку в этот компонент.
Для команд управления вам необходимо создать проект, который будет содержать все компоненты, а затем запустить import_project
или import_json
.
См. также