Comenzi de gestionare¶
Notă
Rularea comenzilor de management sub un utilizator diferit de cel care rulează serverul web poate avea ca rezultat obținerea unor permisiuni greșite pentru fișiere; consultați Permisiunile sistemului de fișiere pentru mai multe detalii.
Veți găsi comenzi de gestionare de bază (disponibile ca ./manage.py în sursele Django, sau ca un set extins într-un script numit weblate instalabil deasupra Weblate).
Invocarea comenzilor de gestionare¶
După cum am menționat anterior, invocarea depinde de modul în care ați instalat Weblate.
If using a Python environment for Weblate, you can either specify the full path to weblate, or activate the Python environment prior to invoking it:
# Direct invocation
~/weblate-env/bin/weblate
# Activating Python environment adds it to search path
. ~/weblate-env/bin/activate
weblate
Dacă folosiți codul sursă direct (fie dintr-un tarball, fie din Git checkout), scriptul de management este ./manage.py disponibil în sursele Weblate. Pentru a-l rula:
python ./manage.py list_versions
If you’ve installed Weblate using the pip installer, or by using the ./setup.py
script, the weblate is installed to your path (or Python environment path),
from where you can use it to control Weblate:
weblate list_versions
Pentru imaginea Docker, scriptul este instalat ca mai sus și îl puteți rula folosind docker exec:
docker exec --user weblate <container> weblate list_versions
For docker-compose-plugin the process is similar, you just have to use docker compose exec:
docker compose exec --user weblate weblate weblate list_versions
În cazul în care aveți nevoie să-i transmiteți un fișier, puteți adăuga temporar un volum:
docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json
add_suggestions¶
- weblate add_suggestions <project> <component> <language> <file>¶
Importă o traducere din fișier pentru a o utiliza ca sugestie pentru traducerea dată. Nu ia în considerare traducerile duplicate; sunt adăugate doar cele diferite.
- --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).
Exemplu:
weblate --author michal@cihar.com add_suggestions weblate application cs /tmp/suggestions-cs.po
auto_translate¶
- weblate auto_translate <project> <component> <language>¶
Schimbat în versiunea 4.6: A fost adăugat un parametru pentru modul de traducere.
Efectuează traducerea automată pe baza traducerilor altor componente.
- --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 Inconsecvent).
- --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.
Exemplu:
weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs
Vezi și
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.
Examples:
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¶
Imports given content into Weblate, useful for benchmarking.
# 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.
Creates a demo billing project. Can be executed multiple times to add additional invoices and billing events.
This can be useful when developing Weblate. Needs Facturare installed.
celery_queues¶
- weblate celery_queues¶
Afișează lungimea cozilor de sarcini Celery.
Vezi și
checkgit¶
- weblate checkgit <project|project/component>¶
Tipărește starea curentă a depozitului Git din back-end.
Puteți fie să definiți proiectul sau componenta care trebuie actualizată (de exemplu weblate/application), fie să utilizați --all pentru a actualiza toate componentele existente.
commitgit¶
- weblate commitgit <project|project/component>¶
Transferă toate modificările posibile în așteptare în depozitul Git din spate.
You can either define which project or component to update (for example
weblate/application), or use --all to update all existing components,
or use --file-format to filter based on the file format.
commit_pending¶
- weblate commit_pending <project|project/component>¶
Activează modificările în așteptare mai vechi de o anumită vârstă.
Puteți fie să definiți proiectul sau componenta care trebuie actualizată (de exemplu weblate/application), fie să utilizați --all pentru a actualiza toate componentele existente.
- --age HOURS¶
Age in hours for committing. If not specified the value configured in Configurația componentei is used.
Notă
Acest lucru este efectuat automat în fundal de către Weblate, astfel încât nu este nevoie de o invocare manuală, în afară de forțarea unei comenzi mai devreme decât cea specificată de Configurația componentei.
cleanuptrans¶
- weblate cleanuptrans¶
Curăță verificările orfane și sugestiile de traducere. În mod normal, nu este necesar să executați manual această operațiune, deoarece curățarea se face automat în fundal.
cleanup_memory¶
- weblate cleanup_memory¶
Added in version 5.13.
Removes all obsolete entries with pending status from the translation memory.
cleanup_ssh_keys¶
- weblate cleanup_ssh_keys¶
Added in version 4.9.1.
Efectuează curățarea cheilor de gazdă SSH stocate:
Elimină cheile RSA depreciate pentru GitHub, care ar putea cauza probleme de conectare la GitHub.
Elimină intrările duplicate din cheile de gazdă.
Vezi și
createadmin¶
- weblate createadmin¶
Creează un cont admin cu o parolă aleatorie, cu excepția cazului în care aceasta este specificată.
- --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¶
Exportați un fișier JSON care conține conținutul Weblate Translation Memory.
dumpuserdata¶
- weblate dumpuserdata <file.json>¶
Dumps userdata to a file for later use by importuserdata.
Sugestie
Acest lucru este util atunci când migrați sau fuzionați instanțe Weblate.
import_demo¶
- weblate import_demo¶
Added in version 4.1.
Creează un proiect demo cu componente bazate pe <https://github.com/WeblateOrg/demo>. Asigurați-vă că sarcinile celery sunt în curs de execuție înainte de a rula această comandă.
Acest lucru poate fi util atunci când se dezvoltă Weblate.
- --delete¶
Removes existing demo project.
import_json¶
- weblate import_json <json-file>¶
Import pe loturi de componente pe baza datelor JSON.
Structura fișierului JSON importat corespunde în mare parte obiectului component (a se vedea GET /api/components/(string:project)/(string:component)/). Trebuie să includeți câmpurile name și 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.
Exemplu de fișier 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"
}
]
Vezi și
import_memory¶
- weblate import_memory <file>¶
Imports a file into the Weblate translation memory.
Supported file formats are TMX, JSON, XLIFF, PO, CSV.
Specifying a source and a target languages might be necessary for formats other than JSON and 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>¶
Batch imports components into project based on the file mask. It is based on the Descoperire componente add-on, so you might want to use that instead.
<project> numește un proiect existent, în care urmează să fie importate componentele.
<gitrepo> definește adresa URL a depozitului Git care trebuie utilizată, iar <branch> reprezintă ramura Git. Pentru a importa componente de traducere suplimentare dintr-o componentă Weblate existentă, utilizați un URL weblate://<proiect>/<component> pentru <gitrepo>.
<filemask> definește descoperirea fișierelor pentru depozit. Aceasta poate fi fie simplă, folosind caractere wildcards, fie poate folosi întreaga putere a expresiilor regulate.
Potrivirea simplă folosește ** pentru numele componentei și *` pentru limbă, de exemplu: **/*.po
The regular expression has to contain groups named component and language,
for example: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po.
Importul se potrivește cu componentele existente pe baza fișierelor și le adaugă pe cele care nu există. Nu le modifică pe cele deja existente.
- --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 Localization file formats), the default is auto-detection.
- --language-regex REGEX¶
You can specify language filtering (see Configurația componentei) 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.
Pentru a vă oferi câteva exemple, să încercăm să importăm două proiecte.
În primul rând traducerile Manualului Debian, unde fiecare limbă are un dosar separat cu traducerile fiecărui capitol:
weblate import_project \
debian-handbook \
https://salsa.debian.org/hertzog/debian-handbook.git \
bullseye/main \
'*/**.po'
Apoi, instrumentul Tanaguru, unde trebuie specificat formatul fișierului, împreună cu șablonul fișierului de bază și modul în care toate componentele și traducerile sunt localizate într-un singur dosar:
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
Exemplu mai complex de analiză a numelor de fișiere pentru a obține componenta și limba corectă dintr-un nume de fișier de tipul 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$'
Filtrarea numai a traducerilor într-o limbă aleasă:
./manage import_project \
--language-regex '^(cs|sk)$' \
weblate \
https://github.com/WeblateOrg/weblate.git \
'weblate/locale/*/LC_MESSAGES/**.po'
Importul documentației Sphinx împărțite în mai multe fișiere:
$ weblate import_project --name-template 'Documentation: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/**.po'
Importul documentației Sphinx împărțite în mai multe fișiere și directoare:
$ 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'
Vezi și
More detailed examples can be found in the Începând cu internaționalizarea chapter,
alternatively you might want to use import_json.
import_projectbackup¶
- weblate import_projectbackup <project_name> <project_slug> <username> <filename>¶
Added in version 5.10.
Imports Copii de rezervă la nivel de proiect.
Sugestie
Usually it is more comfortable to import project when Adăugarea de proiecte și componente de traducere.
importuserdata¶
- weblate importuserdata <file.json>¶
Imports user data from a file created by dumpuserdata.
importusers¶
- weblate importusers --check <file.json>¶
Importă utilizatorii din fișierul JSON al bazei de date Django auth_users.
- --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.
You can dump users from the existing Django site using:
./manage.py dumpdata auth.User > users.json
Sugestie
Use dumpuserdata for dumping data from other Weblate server as that includes user settings as well.
Vezi și
install_addon¶
- weblate install_addon --addon ADDON <project|project/component>¶
Instalează un add-on la un set de componente.
- --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.
Puteți fie să definiți în ce proiect sau componentă să instalați add-on-ul (de exemplu weblate/application), fie să utilizați --all pentru a include toate componentele existente.
To install Generare fișiere MO for all components:
weblate install_addon --addon weblate.gettext.mo --configuration '{"fuzzy": true}' --update --all
Vezi și
install_machinery¶
Added in version 4.18.
- weblate install_machinery --service SERVICE¶
Installs an site-wide automatic suggestion 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.
To install DeepL:
weblate install_machinery --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update
Vezi și
list_addons¶
- weblate list_addons¶
Lists add-ons in reStructuredText as a template for Suplimente.
- --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¶
Lists permissions in reStructuredText as a template for Control acces.
list_checks¶
- weblate list_checks¶
Lists quality checks in reStructuredText as a template for Verificări și reparații and Verificări și reparații.
- --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.
Notă
Using --output requires selecting exactly one value in --sections so
each generated snippet is written to its own file. This matches the
Contribuiți la documentația Weblate workflow and the make -C docs
update-docs targets.
list_languages¶
- weblate list_languages <locale>¶
Listează limbile acceptate în marcajul MediaWiki - coduri de limbă, nume în engleză și nume localizate.
This is used to generate <https://www.l10n.cz/wiki/Slovn%C3%ADky/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF/>.
list_machinery¶
- weblate list_machinery¶
Lists automatic suggestions services in reStructuredText as a template for Sugestii automate.
list_translators¶
- weblate list_translators <project|project/component>¶
Listează traducătorii în funcție de limba la care au contribuit pentru proiectul dat:
[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
- --language-code¶
List names by language code instead of language name.
Puteți fie să definiți ce proiect sau componentă să utilizați (de exemplu weblate/application), fie să utilizați --all pentru a lista traducătorii din toate componentele existente.
list_versions¶
- weblate list_versions¶
Listează toate dependențele Weblate și versiunile acestora.
list_file_format_params¶
- weblate list_file_format_params¶
Lists File format parameters.
list_change_events¶
- weblate list_change_events¶
Lists all possible change event types.
list_format_features¶
- weblate list_format_features¶
Generates RST documentation snippets describing the supported features for every file format.
The command generates one file for every format, that can be found in the specified output directory.
- --output PATH¶
Directory where the format feature snippets will be written.
Notă
The generated documentation files are meant to be included in documentation sources such as Localization file formats. See also weblate/formats/management/commands/list_format_features.py for customization and merging logic.
loadpo¶
- weblate loadpo <project|project/component>¶
Reîncarcă traducerile de pe disc (de exemplu, în cazul în care ați făcut unele actualizări în depozitul VCS).
- --force¶
Force update, even if the files should be up-to-date.
- --lang LANGUAGE¶
Limit processing to a single language.
Puteți fie să definiți proiectul sau componenta care trebuie actualizată (de exemplu weblate/application), fie să utilizați --all pentru a actualiza toate componentele existente.
Notă
Rareori este nevoie să apelați acest lucru, Weblate va încărca automat fișierele modificate la fiecare actualizare VCS. Acest lucru este necesar în cazul în care ați modificat manual un depozit VCS subiacent Weblate sau în unele cazuri speciale în urma unei actualizări.
lock_translation¶
- weblate lock_translation <project|project/component>¶
Împiedică continuarea traducerii unei componente.
Sugestie
Utile în cazul în care doriți să efectuați lucrări de întreținere la depozitul de bază.
Puteți fie să definiți proiectul sau componenta care trebuie actualizată (de exemplu weblate/application), fie să utilizați --all pentru a actualiza toate componentele existente.
Vezi și
migrate¶
- weblate migrate¶
Migrates database to current Weblate schema. The command line options are
described at Django migrate.
Sugestie
In case you want to run an installation non interactively, you can use
weblate migrate --noinput, and then create an admin user using
createadmin command.
Vezi și
move_language¶
- weblate move_language source target¶
Allows you to merge language content. This is useful when updating to a new
version which contains aliases for previously unknown languages that have been
created with the (generated) suffix. It moves all content from the source
language to the target one.
Exemplu:
weblate move_language cze cs
After moving the content, you should check whether there is anything left (this is
subject to race conditions when somebody updates the repository meanwhile) and
remove the (generated) language.
pushgit¶
- weblate pushgit <project|project/component>¶
Împinge modificările acceptate în depozitul VCS din amonte.
- --force-commit¶
Force commits any pending changes, prior to pushing.
Puteți fie să definiți proiectul sau componenta care trebuie actualizată (de exemplu weblate/application), fie să utilizați --all pentru a actualiza toate componentele existente.
Notă
Weblate împinge automat modificările dacă Încarcă la comitere din Configurația componentei este activat, ceea ce este implicit.
unlock_translation¶
- weblate unlock_translation <project|project/component>¶
Deblochează o anumită componentă, făcând-o disponibilă pentru traducere.
Sugestie
Utile în cazul în care doriți să efectuați lucrări de întreținere la depozitul de bază.
Puteți fie să definiți proiectul sau componenta care trebuie actualizată (de exemplu weblate/application), fie să utilizați --all pentru a actualiza toate componentele existente.
Vezi și
setupgroups¶
- weblate setupgroups¶
Configurează grupurile implicite și, opțional, atribuie toți utilizatorii grupului implicit respectiv.
- --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 Control acces proiect.
Vezi și
setuplang¶
- weblate setuplang¶
Actualizează lista de limbi definite în Weblate.
- --no-update¶
Turns off automatic updates of existing languages (only adds new ones).
updatechecks¶
- weblate updatechecks <project|project/component>¶
Actualizează toate verificările pentru toate șirurile de caractere.
Sugestie
Utile pentru actualizările care aduc modificări majore la verificări.
Puteți fie să definiți proiectul sau componenta care trebuie actualizată (de exemplu weblate/application), fie să utilizați --all pentru a actualiza toate componentele existente.
Notă
Checks are recalculated regularly by Weblate in the background, the frequency
can be configured via BACKGROUND_TASKS.
updategit¶
- weblate updategit <project|project/component>¶
Preia depozitele VCS de la distanță și actualizează memoria cache internă.
Puteți fie să definiți proiectul sau componenta care trebuie actualizată (de exemplu weblate/application), fie să utilizați --all pentru a actualiza toate componentele existente.
Notă
Usually it is better to configure hooks in the repository to trigger
Cârlige notificare, instead of regular triggering the updates by updategit.