Команди керування¶
Примітка
Запуск команд керування від імені користувача, відмінного від користувача, від імені якого запущено вебсервер, може призвести до встановлення помилкових прав доступу до файлів. Будь ласка, ознайомтеся із розділом Права доступу у файловій системі, щоб дізнатися більше.
Тут наведено базові команди керування (доступні як ./manage.py у початкових кодах Django або як розширений набір у скрипті із назвою weblate, який встановлюється над Weblate).
Виклик команд керування¶
Як ми вже згадували раніше, виклик залежить від того, як убуло встановлено Weblate.
Якщо ви використовуєте середовище Python для Weblate, ви можете вказати повний шлях до weblate або активувати середовище Python перед його запуском:
# Direct invocation
~/weblate-env/bin/weblate
# Activating Python environment adds it to search path
. ~/weblate-env/bin/activate
weblate
Якщо ви використовуєте початковий код безпосередньо (з розпакованого архіву або з копії сховища Git), скриптом керування буде файл ./manage.py з початкових кодів Weblate. Щоб запустити його, виконайте такі дії:
python ./manage.py list_versions
Якщо ви встановили Weblate за допомогою інсталятора pip або за допомогою скрипта ./setup.py, команда weblate буде додана до вашого шляху (або шляху середовища Python), звідки ви зможете використовувати її для керування Weblate:
weblate list_versions
Для випадку образу Docker скрипт буде встановлено подібно до інших варіантів і ви зможете запустити його за допомогою docker exec:
docker exec --user weblate <container> weblate list_versions
Для docker-compose-plugin процедура є подібною, вам лише треба скористатися docker compose exec:
docker compose exec --user weblate weblate weblate list_versions
Якщо вам треба передати програмі файл, ви можете тимчасово додати том:
docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json
add_suggestions¶
- weblate add_suggestions <project> <component> <language> <file>¶
Імпортує переклад з файла для використання його як пропозиції для вказаного перекладу. Дублікати перекладів буде пропущено, додано буде лише різні переклади.
- --author USER@EXAMPLE.COM¶
E-mail of author for the suggestions. This user has to exist prior to importing (you can create one in the admin interface if needed).
Приклад:
weblate --author michal@cihar.com add_suggestions weblate application cs /tmp/suggestions-cs.po
auto_translate¶
- weblate auto_translate <project> <component> <language>¶
Змінено в версії 4.6: Додано параметр для режиму перекладу.
Виконує автоматичний переклад на основі перекладів інших складників.
- --source PROJECT/COMPONENT¶
Specifies the component to use as source available for translation. If not specified all components in the project are used.
- --user USERNAME¶
Specify username listed as author of the translations. «Anonymous user» is used if not specified.
- --overwrite¶
Whether to overwrite existing translations.
- --inconsistent¶
Whether to overwrite existing translations that are inconsistent (see Неузгодженість).
- --add¶
Automatically add language if a given translation does not exist.
- --mt MT¶
Use machine translation instead of other components as machine translations.
- --threshold THRESHOLD¶
Similarity threshold for machine translation, defaults to 80.
- --mode MODE¶
Specify translation mode, default is
translatebutfuzzyorsuggestcan be used.
Приклад:
weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs
Дивись також
backup¶
- weblate backup¶
Runs configured backups synchronously, without using Celery. It first updates
the settings and database backup dumps in DATA_DIR, then runs the
selected Borg backup service or services.
- --list¶
Lists configured backup service IDs.
- --service ID¶
Runs one backup service by ID.
- --all¶
Runs all enabled backup services.
Use Django’s standard --verbosity 2 option to show backup service output.
Failed backup service output is shown even without increased verbosity.
Приклади:
weblate backup --list
weblate backup --service 1 --verbosity 2
weblate backup --all
For Docker Compose deployments, you can stop the regular Weblate container and run the command in a one-off container using docker compose run. The database and configured backup storage still need to be available.
docker compose stop weblate
docker compose run --rm --user weblate weblate weblate backup --list
docker compose run --rm --user weblate weblate weblate backup --service 1 --verbosity 2
benchmark¶
- weblate benchmark¶
Імпортує заданий контент у Weblate, що корисно для бенчмаркінгу.
# Run benchmark with a profiling
python -m cProfile -o benchmark.prof ./manage.py benchmark --project benchmark --filemask '*.tbx' --format tbx --zipfile /tmp/MicrosoftTermCollection2.zip
# Convert to SVG for visualization
uvx gprof2dot -f pstats benchmark.prof | dot -Tsvg -o benchmark.svg
# Display SVG
firefox ./benchmark.svg
# Run benchmark under memray
uvx memray run ./manage.py benchmark --project benchmark --filemask '*.tbx' --format tbx --zipfile /tmp/MicrosoftTermCollection2.zip
# Render the profile
uvx memray flamegraph ./memray-manage.py.2554179.bin
# Display it
fixefox memray-flamegraph-manage.py.2554179.html
billing_demo¶
- weblate billing_demo¶
Added in version 5.15.
Створює демонстраційний проєкт виставлення рахунків. Можна виконати кілька разів для додавання додаткових рахунків-фактур та подій виставлення рахунків.
Це може бути корисним під час розробки Weblate. Потрібно встановити Оплата.
Дивись також
celery_queues¶
- weblate celery_queues¶
Показує довжину черг завдань Celery.
Дивись також
checkgit¶
- weblate checkgit <project|project/component>¶
Виводить поточний стан сховища модуля Git.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників.
commitgit¶
- weblate commitgit <project|project/component>¶
Надсилає усі можливі зміни з черги до сховища Git модуля обробки.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників або скористайтеся --file-format для фільтрування на основі формату файлів.
commit_pending¶
- weblate commit_pending <project|project/component>¶
Вносить зміни з черги, вік яких перевищує вказаний.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників.
- --age HOURS¶
Age in hours for committing. If not specified the value configured in Налаштовування складників is used.
Примітка
Це автоматично виконується Weblate у фоновому режимі, тому немає реальної потреби викликати це вручну, окрім примусового виконання коміту раніше, ніж зазначено в Налаштовування складників.
Дивись також
cleanuptrans¶
- weblate cleanuptrans¶
Очищує список осиротілих перевірок та пропозицій перекладів. Потреби у такому очищенні вручну, зазвичай, немає, оскільки очищення відбувається автоматично у фоновому режимі.
Дивись також
cleanup_memory¶
- weblate cleanup_memory¶
Added in version 5.13.
Видаляє всі застарілі записи зі статусом «очікує на розгляд» з пам’яті перекладів.
cleanup_ssh_keys¶
- weblate cleanup_ssh_keys¶
Added in version 4.9.1.
Виконує очищення збережених SSH-ключів хосту:
Вимикає застарілі ключі RSA до GitHub. Такі ключі можуть спричиняти проблеми під час встановлення з’єднання із GitHub.
Вилучає повторювані записи в ключах хосту.
Дивись також
createadmin¶
- weblate createadmin¶
Створює обліковий запис admin із випадковим паролем, якщо пароль не вказано явним чином.
- --password PASSWORD¶
Provides a password on the command-line, to not generate a random one.
- --no-password¶
Do not set password, this can be useful with –update.
- --username USERNAME¶
Use the given name instead of
admin.
- --email USER@EXAMPLE.COM¶
Specify the admin e-mail address.
- --name¶
Specify the admin name (visible).
- --update¶
Update the existing user (you can use this to change passwords).
dump_memory¶
- weblate dump_memory¶
Експортувати файл JSON, який міститиме вміст пам’яті перекладів Weblate.
Дивись також
dumpuserdata¶
- weblate dumpuserdata <file.json>¶
Створити дамп даних користувачів у файлі для наступного використання у importuserdata.
Підказка
Ця можливість стане у пригоді, якщо ви вирішите перенести або злити екземпляри Weblate.
import_demo¶
- weblate import_demo¶
Added in version 4.1.
Створює демонстраційний проєкт зі складниками на основі <https://github.com/WeblateOrg/demo>. Перш ніж віддавати цю команду, переконайтеся, що завдання celery запущено.
Ця можливість може бути корисною для розробників Weblate.
- --delete¶
Removes existing demo project.
Дивись також
import_json¶
- weblate import_json <json-file>¶
Пакетне імпортування складників на основі даних JSON.
Структура імпортованого файла JSON дуже подібна до об’єкта складника (див. GET /api/components/(string:project)/(string:component)/). Вам слід включити поля name і filemask.
- --project PROJECT¶
Specifies where the components will be imported from.
- --main-component COMPONENT¶
Use the given VCS repository from this component for all of them.
- --ignore¶
Skip (already) imported components.
- --update¶
Update (already) imported components.
Приклад файла JSON:
[
{
"slug": "po",
"name": "Gettext PO",
"file_format": "po",
"filemask": "po/*.po",
"new_lang": "none"
},
{
"name": "Android",
"filemask": "android/values-*/strings.xml",
"template": "android/values/strings.xml",
"repo": "weblate://test/test",
"file_format": "aresource"
}
]
Дивись також
import_memory¶
- weblate import_memory <file>¶
Імпортує файл до пам’яті перекладів Weblate.
Підтримувані формати файлів: TMX, JSON, XLIFF, PO, CSV.
Зазначення вихідної та цільової мов може знадобитися для форматів, відмінних від JSON і TMX.
- --language-map LANGMAP¶
Allows mapping languages in the TMX to the Weblate translation memory. The language codes are mapped after normalization usually done by Weblate.
--language-map en_US:enwill for example import allen_USstrings asenones.This can be useful in case your TMX file locales happen not to match what you use in Weblate.
- --source-language SOURCE_LANG¶
Specifies the source language for imported translations. Typically needed for formats where the languages cannot be determined from the file itself.
- --target-language TARGET_LANG¶
Specifies the target language for imported translations. Typically needed for formats where the languages cannot be determined from the file itself.
Дивись також
import_project¶
- weblate import_project <project> <gitrepo> <branch> <filemask>¶
Пакетне імпортування компонентів до проєкту на основі маски файлів. Його засновано на додатку Виявлення складників, тому, можливо, вам варто скористатися саме ним.
<project> є назвою наявного проєкту, до якого буде імпортовано складники.
<gitrepo> визначає адресу сховища Git, якою слід скористатися, а <branch> вказує на гілку Git. Щоб імпортувати додаткові складники перекладу з наявного складника Weblate, скористайтеся адресою weblate://<project>/<component> для <gitrepo>.
<filemask> визначає спосіб пошуку файлів для сховища. Можна скористатися простими символами-замінниками або використати усю потужність формальних виразів.
При простому встановленні відповідності для назви складника використовується **, для мови — *. Приклад: **/*.po
Регулярний вираз має містити групи з назвами component і language, наприклад: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po.
Засіб імпортування встановлює відповідність наявних складників на основі файлів і додає складники, яких не існує. Він не вносить змін до наявних складників.
- --name-template TEMPLATE¶
Customize the name of a component using Django template syntax.
For example:
Documentation: {{ component }}
- --base-file-template TEMPLATE¶
Customize the base file for monolingual translations.
For example:
{{ component }}/res/values/string.xml
- --new-base-template TEMPLATE¶
Customize the base file for addition of new translations.
For example:
{{ component }}/ts/en.ts
- --file-format FORMAT¶
You can also specify the file format to use (see Формати файлів локалізації), the default is auto-detection.
- --language-regex REGEX¶
You can specify language filtering (see Налаштовування складників) with this parameter. It has to be a valid regular expression.
- --main-component¶
You can specify which component will be chosen as the main one—the one actually containing the VCS repository.
- --license NAME¶
Specify the overall, project or component translation license.
- --license-url URL¶
Specify the URL where the translation license is to be found.
- --vcs NAME¶
In case you need to specify which version control system to use, you can do it here. The default version control is Git.
Для прикладу, давайте спробуємо імпортувати два проєкти.
Спочатку, розгляньмо переклади «The Debian Handbook», де для кожної мови передбачено окрему теку із перекладами кожної з глав книги:
weblate import_project \
debian-handbook \
https://salsa.debian.org/hertzog/debian-handbook.git \
bullseye/main \
'*/**.po'
Далі, розгляньмо інструмент Tanaguru, де слід вказати формат файла, а також шаблон базового файла і те, як усі складники і переклади розташовано у одній теці:
weblate import_project \
--file-format=properties \
--base-file-template=web-app/tgol-web-app/src/main/resources/i18n/%s-I18N.properties \
tanaguru \
https://github.com/Tanaguru/Tanaguru \
master \
web-app/tgol-web-app/src/main/resources/i18n/**-I18N_*.properties
Складніший приклад обробки назв файлів для отримання належних записів складників та мови з назви файла, зокрема src/security/Numerous_security_holes_in_0.10.1.de.po:
weblate import_project \
tails \
git://git.tails.boum.org/tails master \
'wiki/src/security/(?P<component>.*)\.(?P<language>[^.]*)\.po$'
Фільтрування з метою отримання лише перекладів вибраною мовою:
./manage import_project \
--language-regex '^(cs|sk)$' \
weblate \
https://github.com/WeblateOrg/weblate.git \
'weblate/locale/*/LC_MESSAGES/**.po'
Імпортування документації Sphinx, поділеної на декілька файлів:
$ weblate import_project --name-template 'Documentation: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/**.po'
Імпортування документації Sphinx, поділеної на декілька файлів і каталогів:
$ weblate import_project --name-template 'Directory 1: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/dir1/**.po'
$ weblate import_project --name-template 'Directory 2: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/dir2/**.po'
Дивись також
Докладніші приклади можна знайти у главі Початкові кроки у інтернаціоналізації. Крім того, ви можете скористатися import_json.
import_projectbackup¶
- weblate import_projectbackup <project_name> <project_slug> <username> <filename>¶
Added in version 5.10.
Імпортує Резервне копіювання на рівні проєктів.
Підказка
Зазвичай зручніше імпортувати проект Додавання проєктів і складників перекладу.
importuserdata¶
- weblate importuserdata <file.json>¶
Імпортує дані користувача з файла, який створено за допомогою dumpuserdata.
importusers¶
- weblate importusers --check <file.json>¶
Імпортує записи користувачів з дампу JSON бази даних auth_users Django.
- --check¶
With this option it will just check whether a given file can be imported and report possible conflicts arising from usernames or e-mails.
Ви можете видалити користувачів з існуючого сайту Django, використовуючи:
./manage.py dumpdata auth.User > users.json
Підказка
Використовуйте dumpuserdata для вивантаження даних з іншого сервера Weblate, оскільки це також включає налаштування користувача.
Дивись також
install_addon¶
- weblate install_addon --addon ADDON <project|project/component>¶
Установлює додаток для набору складників.
- --addon ADDON¶
Name of the add-on to install. For example
weblate.gettext.customize.
- --configuration CONFIG¶
JSON encoded configuration of an add-on.
- --update¶
Update the existing add-on configuration.
Ви можете або визначити проєкт або складник для встановлення додатка (наприклад, weblate/application), або скористатися --all для включення усіх наявних складників.
Щоб встановити Генерувати mo-файли для всіх компонентів:
weblate install_addon --addon weblate.gettext.mo --configuration '{"fuzzy": true}' --update --all
Дивись також
install_machinery¶
Added in version 4.18.
- weblate install_machinery --service SERVICE¶
Встановлює автоматичну службу пропозицій на рівні сайта.
- --service SERVICE¶
Name of the service to install. For example
deepl.
- --configuration CONFIG¶
JSON encoded configuration of a service.
- --update¶
Update the existing service configuration.
Для встановлення DeepL:
weblate install_machinery --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update
Дивись також
list_addons¶
- weblate list_addons¶
Перелічує надбудови в reStructuredText як шаблон для Додатки.
- --sections {events,addons,parameters}¶
Filter the generated output to just the add-on event sections, the built-in add-on sections, or the shared add-on parameter sections. If omitted, all generated sections are shown.
Дивись також
list_permissions¶
- weblate list_permissions¶
Перелічує дозволи в reStructuredText як шаблон для Керування доступом.
Дивись також
list_checks¶
- weblate list_checks¶
Перелічує перевірки якості в reStructuredText як шаблон для Перевірки і виправлення і Перевірки і виправлення.
- --sections {checks,flags}¶
Filter the generated output to just the quality check sections or the shared check flag sections. If omitted, all generated sections are shown.
Примітка
Для використання опції --output необхідно вказати саме одне значення в параметрі --sections, щоб кожен згенерований фрагмент записувався в окремий файл. Це відповідає робочому процесу, описаному в Посприяйте документуванню Weblate, та цілям make -C docs update-docs.
Дивись також
list_languages¶
- weblate list_languages <locale>¶
Виводить список підтримуваних мов у форматі MediaWiki — коди мов, назви мов англійською та локалізовані назви мов.
Це використовується для генерації <https://www.l10n.cz/wiki/Slovn%C3%ADky/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF/>.
list_machinery¶
- weblate list_machinery¶
Перелічує служби автоматичних пропозицій у reStructuredText як шаблон для Автоматичні пропозиції.
Дивись також
list_translators¶
- weblate list_translators <project|project/component>¶
Виводить список перекладачів за вказаною мовою для заданого проєкту:
[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
- --language-code¶
List names by language code instead of language name.
Ви можете або визначити проєкт або складник для використання (наприклад, weblate/application), або скористатися --all для виведення списку перекладачів усіх наявних складників.
list_versions¶
- weblate list_versions¶
Виводить список усіх залежностей Weblate та їхніх версій.
list_file_format_params¶
- weblate list_file_format_params¶
Перелічує параметри формату файлу.
list_change_events¶
- weblate list_change_events¶
Перелічує всі можливі типи подій змін.
list_format_features¶
- weblate list_format_features¶
Створює фрагменти документації RST, що описують підтримувані функції для кожного формату файлів.
Команда створює по одному файлу для кожного формату, які можна знайти у вказаному каталозі виводу.
- --output PATH¶
Directory where the format feature snippets will be written.
Примітка
Створені файли документації призначені для включення до джерел документації, таких як Формати файлів локалізації. Див. також weblate/formats/management/commands/list_format_features.py для ознайомлення з логікою налаштування та об’єднання.
loadpo¶
- weblate loadpo <project|project/component>¶
Перезавантажує переклади з диска (наприклад, у випадку, якщо ви виконували певні оновлення у сховищі системи керування версіями).
- --force¶
Force update, even if the files should be up-to-date.
- --lang LANGUAGE¶
Limit processing to a single language.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників.
Примітка
Потреба у виклику цієї команди виникатиме нечасто — Weblate автоматично завантажуватиме змінені файли для будь-якого оновлення у системі керування версіями. Потреба у команді виникає тоді, коли ви вручну змінює підлегле сховище системи керування версіями Weblate, або в особливих випадках після оновлення Weblate.
lock_translation¶
- weblate lock_translation <project|project/component>¶
Забороняє подальший переклад складника.
Підказка
Корисна, якщо ви хочете виконати певні дії з супроводу над підлеглим сховищем.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників.
Дивись також
migrate¶
- weblate migrate¶
Переносить базу даних на поточну схему Weblate. Параметри командного рядка описано у розділі щодо migrate Django.
Підказка
Якщо ви хочете запустити встановлення у неінтерактивному режимі, ви можете скористатися командою weblate migrate --noinput, а потім створити користувача-адміністратора за допомогою команди createadmin.
Дивись також
move_language¶
- weblate move_language source target¶
Дозволяє об’єднувати мовний контент. Це корисно під час оновлення до нової версії, яка містить псевдоніми для раніше невідомих мов, створених із суфіксом (generated). Він переміщує весь контент з «вихідної» мови на «цільову».
Приклад:
weblate move_language cze cs
Після переміщення контенту слід перевірити, чи щось залишилося (це залежить від умов гонки, коли хтось тим часом оновлює репозиторій), та видалити мови (generated).
pushgit¶
- weblate pushgit <project|project/component>¶
Записує внесені зміни до основного сховища системи керування версіями.
- --force-commit¶
Force commits any pending changes, prior to pushing.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників.
Примітка
Weblate автоматично надсилає зміни, якщо Відправляти при поданні у Налаштовування складників увімкнено, що є значенням за замовчуванням.
unlock_translation¶
- weblate unlock_translation <project|project/component>¶
Розблоковує вказаний складник, роблячи його доступним для перекладу.
Підказка
Корисна, якщо ви хочете виконати певні дії з супроводу над підлеглим сховищем.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників.
Дивись також
setupgroups¶
- weblate setupgroups¶
Налаштовує типові групи і, якщо потрібно, пов’язує усіх користувачів до цієї типової групи.
- --no-privs-update¶
Turns off automatic updating of existing groups (only adds new ones).
- --no-projects-update¶
Prevents automatic updates of groups for existing projects. This allows adding newly added groups to existing projects, see Керування доступом на рівні проєкту.
Дивись також
setuplang¶
- weblate setuplang¶
Оновлює список визначених мов у Weblate.
- --no-update¶
Turns off automatic updates of existing languages (only adds new ones).
updatechecks¶
- weblate updatechecks <project|project/component>¶
Оновлює всі перевірки для всіх рядків.
Підказка
Корисна для оновлень, у яких вносяться значні зміни до перевірок.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників.
Примітка
Результати перевірки регулярно оновлюються Weblate у фоновому режимі. Частоту можна налаштувати за допомогою змінної BACKGROUND_TASKS.
updategit¶
- weblate updategit <project|project/component>¶
Отримує дані з віддалених сховищ системи керування версіями і оновлює вбудований кеш.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application), або скористатися --all для оновлення усіх наявних складників.
Примітка
Зазвичай, краще налаштувати сторожові скрипт у сховищі, щоб вмикати Обробники сповіщень, а не виконувати регулярне вмикання оновлень за допомогою updategit.