Команди керування¶
Примітка
Запуск команд керування від імені користувача, відмінного від користувача, від імені якого запущено вебсервер, може призвести до встановлення помилкових прав доступу до файлів. Будь ласка, ознайомтеся із розділом Права доступу у файловій системі, щоб дізнатися більше.
Тут наведено базові команди керування (доступні як ./manage.py
у початкових кодах Django або як розширений набір у скрипті із назвою weblate, який встановлюється над Weblate).
Виклик команд керування¶
Як ми вже згадували раніше, виклик залежить від того, як убуло встановлено Weblate.
Якщо використовувати для Weblate віртуальне середовище, ви можете або вказати повний шлях до weblate, або активувати віртуальне середовище до виклику команди:
# Direct invocation
~/weblate-env/bin/weblate
# Activating virtualenv adds it to search path
. ~/weblate-env/bin/activate
weblate
Якщо ви використовуєте початковий код безпосередньо (з розпакованого архіву або з копії сховища Git), скриптом керування буде файл ./manage.py
з початкових кодів Weblate. Щоб запустити його, виконайте такі дії:
python ./manage.py list_versions
Якщо ви встановили Weblate за допомогою засобу встановлення pip або за допомогою скрипту ./setup.py
, програму weblate встановлено до основного набору шляхів вашої системи (або шляху віртуального середовища). Ви можете скористатися нею для керування 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¶
Адреса електронної пошти автора пропозиції. Запис цього користувача має вже створено до імпортування (ви можете створити його за допомогою адміністративного інтерфейсу, якщо потрібно).
Приклад:
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¶
Вказує складник, який слід використати як доступне джерело для перекладу. Якщо не вказано, буде використано усі складники проєкту.
- --user USERNAME¶
Визначає ім’я користувача, яке буде внесено до списку авторів перекладів. Якщо не вказано, буде використано запис «Anonymous user».
- --overwrite¶
Чи переписувати наявні переклади.
- --inconsistent¶
Чи переписувати наявні переклади, які є несумісними із попередніми (див. Неузгодженість).
- --add¶
Автоматично додавати мову, якщо вказаного перекладу не існує.
- --mt MT¶
Використовувати комп’ютерний переклад замість інших складників комп’ютерних перекладів.
- --threshold THRESHOLD¶
Поріг подібності для комп’ютерного перекладу. Типовим значенням є 80.
- --mode MODE¶
Вказати режим перекладу. Типовим є
translate
, але можна скористатисяfuzzy
абоsuggest
.
Приклад:
weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs
Дивись також
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¶
Вік у годинах для внесків. Якщо не вказано, буде використано значення, яке налаштовано у Налаштовування складників.
Примітка
Це завдання автоматично виконується Weblate у фоновому режимі, отже, немає сенсу викликати його вручну, окрім примусового запису внеску, який передуватиме визначеному складником.
Дивись також
cleanuptrans¶
- weblate cleanuptrans¶
Очищує список осиротілих перевірок та пропозицій перекладів. Потреби у такому очищенні вручну, зазвичай, немає, оскільки очищення відбувається автоматично у фоновому режимі.
Дивись також
cleanup_ssh_keys¶
- weblate cleanup_ssh_keys¶
Added in version 4.9.1.
Виконує очищення збережених SSH-ключів хосту:
Вимикає застарілі ключі RSA до GitHub. Такі ключі можуть спричиняти проблеми під час встановлення з’єднання із GitHub.
Вилучає повторювані записи в ключах хосту.
Дивись також
createadmin¶
- weblate createadmin¶
Створює обліковий запис admin
із випадковим паролем, якщо пароль не вказано явним чином.
- --password PASSWORD¶
Надає пароль у командному рядку, щоб не створювати його випадковим чином.
- --no-password¶
Не встановлювати пароль. Може бути корисним із поєднанням –update.
- --username USERNAME¶
Використовувати вказане ім’я замість
admin
.
- --email USER@EXAMPLE.COM¶
Вказати адресу електронної пошти адміністратора.
- --name¶
Вказати ім’я адміністратора (видиме).
- --update¶
Оновити запис наявного користувача (ви можете скористатися цим для зміни паролів).
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¶
Вилучає наявний демонстраційний проєкт.
import_json¶
- weblate import_json <json-file>¶
Пакетне імпортування складників на основі даних JSON.
Структура імпортованого файла JSON дуже подібна до об’єкта складника (див. GET /api/components/(string:project)/(string:component)/
). Вам слід включити поля name
і filemask
.
- --project PROJECT¶
Вказує, звідки буде імпортовано складники.
- --main-component COMPONENT¶
Використовувати вказане сховище системи керування версіями з цього складника для всіх складників.
- --ignore¶
Пропустити (вже) імпортовані складники.
- --update¶
Оновити (вже) імпортовані складники.
Приклад файла 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>¶
Імпортує файл TMX або JSON до пам’яті перекладів Weblate.
- --language-map LANGMAP¶
Надає змогу встановлювати прив’язки мов у TMX до пам’яті перекладів Weblate. Прив’язка кодів мов установлюється після нормалізації, яку зазвичай виконує Weblate.
Наприклад,
--language-map en_US:en
імпортує усі рядкиen_US
як рядкиen
.Це може бути корисним у випадку, якщо ваші локалі файлів TMX не збігаються із локалями, які використовуються у Weblate.
Дивись також
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¶
Налаштування назви складника за допомогою синтаксису шаблонів Django.
Приклад:
Documentation: {{ component }}
- --base-file-template TEMPLATE¶
Налаштувати базовий файл для одномовних перекладів.
Приклад:
{{ component }}/res/values/string.xml
- --new-base-template TEMPLATE¶
Налаштування базового файла для додавання нових перекладів.
Приклад:
{{ component }}/ts/en.ts
- --file-format FORMAT¶
Ви також можете вказати формат файлів, який слід використати (див. Підтримувані формати файлів). Типовим є автоматичне визначення формату.
- --language-regex REGEX¶
За допомогою цього параметра ви можете вказати фільтрування мов (див. Налаштовування складників). Значенням параметра має бути коректний формальний вираз.
- --main-component¶
Ви можете вказати, який складник буде вибрано як основний — той, який насправді містить сховище системи керування версіями.
- --license NAME¶
Визначення загальних умов ліцензування, умов ліцензування проєкту або умов ліцензування складника.
- --license-url URL¶
Визначення адреси, за якою можна знайти умови ліцензування перекладу.
- --vcs NAME¶
Якщо вам потрібно вказати, яку систему керування версіями слід використати, ви можете вказати її тут. Типовою системою керування версіями є git.
Для прикладу, давайте спробуємо імпортувати два проєкти.
Спочатку, розгляньмо переклади «The Debian Handbook», де для кожної мови передбачено окрему теку із перекладами кожної з глав книги:
weblate import_project \
debian-handbook \
git://anonscm.debian.org/debian-handbook/debian-handbook.git \
squeeze/master \
'*/**.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
.
importuserdata¶
- weblate importuserdata <file.json>¶
Імпортує дані користувача з файла, який створено за допомогою dumpuserdata
.
importusers¶
- weblate importusers --check <file.json>¶
Імпортує записи користувачів з дампу JSON бази даних auth_users Django.
- --check¶
Із цим параметром програма спочатку перевірить, чи може бути імпортовано вказаний файл, і повідомить про можливі конфлікти, які пов’язано із іменами користувачів або адресами електронної пошти.
Ви можете створити дамп записів користувачів на основі наявного встановленого екземпляра Django за допомогою такої команди:
weblate dumpdata auth.User > users.json
install_addon¶
- weblate install_addon --addon ADDON <project|project/component>¶
Установлює додаток для набору складників.
- --addon ADDON¶
Назва додатка, який слід встановити. Приклад:
weblate.gettext.customize
.
- --configuration CONFIG¶
Закодовані у JSON налаштування додатка.
- --update¶
Оновити наявні налаштування додатків.
Ви можете або визначити проєкт або складник для встановлення додатка (наприклад, weblate/application
), або скористатися --all
для включення усіх наявних складників.
Встановлення Налаштувати виведення gettext для всіх складників:
weblate install_addon --addon weblate.gettext.customize --configuration '{"width": -1}' --update --all
Дивись також
install_machinery¶
Added in version 4.18.
- weblate install_machinery --service SERVICE¶
Встановлює автоматичну службу пропозицій на рівні сайта.
- --service SERVICE¶
Назва служби, яку слід встановити. Приклад:
deepl
.
- --configuration CONFIG¶
Закодовані у JSON налаштування служби.
- --update¶
Оновити наявні налаштування служб.
Для встановлення DeepL:
weblate install_service --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update
Дивись також
list_languages¶
- weblate list_languages <locale>¶
Виводить список підтримуваних мов у форматі MediaWiki — коди мов, назви мов англійською та локалізовані назви мов.
Використовується для створення <https://wiki.l10n.cz/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF>.
list_translators¶
- weblate list_translators <project|project/component>¶
Виводить список перекладачів за вказаною мовою для заданого проєкту:
[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
- --language-code¶
Виводить список імен за кодом мов, а не за назвами мов.
Ви можете або визначити проєкт або складник для використання (наприклад, weblate/application
), або скористатися --all
для виведення списку перекладачів усіх наявних складників.
list_versions¶
- weblate list_versions¶
Виводить список усіх залежностей Weblate та їхніх версій.
loadpo¶
- weblate loadpo <project|project/component>¶
Перезавантажує переклади з диска (наприклад, у випадку, якщо ви виконували певні оновлення у сховищі системи керування версіями).
- --force¶
Примусове оновлення, навіть якщо файли мають бути актуальними.
- --lang 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). Переносить усі дані з мови source до мови target.
Приклад:
weblate move_language cze cs
Після перенесення даних вам слід перевірити, чи не залишилося чогось (таке трапляється через конкурентність при одночасному внесенню оновлень до сховища сторонньою особою), і вилучити мови із суфіксом (generated).
pushgit¶
- weblate pushgit <project|project/component>¶
Записує внесені зміни до основного сховища системи керування версіями.
- --force-commit¶
Примусово вносить до сховища усі зміни з черги до надсилання змін до сховища.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application
), або скористатися --all
для оновлення усіх наявних складників.
Примітка
Weblate записує зміни до сховища автоматично, якщо позначено пункт Відправляти при поданні у налаштуваннях складника (типові налаштування).
unlock_translation¶
- weblate unlock_translation <project|project/component>¶
Розблоковує вказаний складник, роблячи його доступним для перекладу.
Підказка
Корисна, якщо ви хочете виконати певні дії з супроводу над підлеглим сховищем.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application
), або скористатися --all
для оновлення усіх наявних складників.
Дивись також
setupgroups¶
- weblate setupgroups¶
Налаштовує типові групи і, якщо потрібно, пов’язує усіх користувачів до цієї типової групи.
- --no-privs-update¶
Вимикає автоматичне оновлення наявних груп (лише додає нові групи).
- --no-projects-update¶
Запобігає автоматичним оновленням груп для наявних проєктів. Це уможливлює додавання новостворених груп до наявних проєктів, див. Керування доступом на рівні проєкту.
Дивись також
setuplang¶
- weblate setuplang¶
Оновлює список визначених мов у Weblate.
- --no-update¶
Вимикає автоматичні оновлення наявних мов (лише додає нові мови).
updatechecks¶
- weblate updatechecks <project|project/component>¶
Оновлює всі перевірки для всіх рядків.
Підказка
Корисна для оновлень, у яких вносяться значні зміни до перевірок.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application
), або скористатися --all
для оновлення усіх наявних складників.
Примітка
Результати перевірки регулярно оновлюються Weblate у фоновому режимі. Частоту можна налаштувати за допомогою змінної BACKGROUND_TASKS
.
updategit¶
- weblate updategit <project|project/component>¶
Отримує дані з віддалених сховищ системи керування версіями і оновлює вбудований кеш.
Ви можете або визначити проєкт або складник для оновлення (наприклад, weblate/application
), або скористатися --all
для оновлення усіх наявних складників.
Примітка
Зазвичай, краще налаштувати сторожові скрипт у сховищі, щоб вмикати Обробники сповіщень, а не виконувати регулярне вмикання оновлень за допомогою updategit
.