Интеграция с Weblate¶
Основы Weblate¶
Projects and components structure¶
Переводы в Weblate организованы по проектам и компонентам. Каждый проект может содержать несколько компонентов, а те — переводы на отдельные языки. Компоненту соответствует один переводимый файл (например, GNU gettext или Строковые ресурсы Android). Проекты служат для организации компонентов в логические наборы (например, для группировки всех переводов, используемых в одном приложении).
Internally, each project has translations to common strings propagated across other components within it by default. This lightens the burden of repetitive and multi version translation. The translation propagation can be disabled per Конфигурация компонента in case the translations should diverge.
Importing localization project into Weblate¶
Weblate was developed with VCS integration in mind. The easiest approach to integrate with it is to grant access to your VCS repository. The import process will guide you through configuring components with your translations.
In case you do not use VCS or do not want to grant access to your VCS at all, you can use Weblate without a remote VCS repository - it will create local repository with all the translations.
Получение из Weblate обновлений переводов¶
Для получения обновлённых строк из Weblate вы можете просто затянуть изменения из нижележащего репозитория (либо из файловой системы, либо его можно сделать доступным через Экспортер Git). До этого вы можете захотеть зафиксировать любые отложенные изменения (смотрите раздел Отложенные коммиты). Это можно сделать либо через пользовательский интерфейс (в разделе Обслуживание репозитория), либо из командной строки при помощи клиента Weblate.
This can be automated if you grant Weblate push access to your repository and configure URL для отправки в репозиторий in the Конфигурация компонента.
См.также
Отправка в Weblate изменений строк¶
Для отправки недавно обновлённые строки в Weblate, просто позвольте ему извлечь их из вышестоящего репозитория. Это можно сделать либо через пользовательский интерфейс (в разделе Обслуживание репозитория), либо из командной строки при помощи клиента Weblate.
Это действие можно автоматизировать путём установки в вашем репозитории веб-обработчика, запускающего Weblate по появлению нового коммита, подробнее смотрите в разделе Обновление репозиториев.
When not using a VCS integration, you can use UI or REST API Weblate’а to update translations to match your code base.
См.также
Adding new strings¶
In case your translation files are stored in VCS together with the code, you most likely have existing workflow for developers to introduce new strings. You might extend it by using Шлюз качества для исходных строк.
When the translation files are separate, there needs to be a way to introduce new strings. Weblate can add new strings on monolingual translations only (see Двуязычные и одноязычные форматы). You have three options to do that:
Manually, using Add new translation string from Tools menu on source language translation.
Programatically, using API
POST /api/translations/(string:project)/(string:component)/(string:language)/units/
.By uploading source file as Replace existing translation file (this overwrites existing strings, so please make sure the file includes both old and new ones, see Способы импортирования).