Ordres de gestió

Nota

L’execució d’ordres de gestió amb un usuari diferent del que executa el vostre servidor web pot provocar que els fitxers tinguin permisos equivocats, si us plau, comproveu Permisos del sistema de fitxers per a més detalls.

Trobareu ordres de gestió bàsiques (disponibles com a ./manage.py a les fonts de Django, o com a conjunt estès en un script anomenat weblate instal·lable a Weblate).

Invocació d’ordres de gestió

Com s’ha esmentat abans, la invocació depèn de com heu instal·lat Weblate.

Si utilitzeu un entorn Python per a Weblate, podeu especificar el camí complet a weblate, o bé activar l’entorn Python abans d’invocar-lo:

# Direct invocation
~/weblate-env/bin/weblate

# Activating Python environment adds it to search path
. ~/weblate-env/bin/activate
weblate

Si utilitzeu codi font directament (ja sigui des d’un fitxer tarball o de Git), l’script de gestió és ./manage.py disponible a les fonts del Weblate. Per executar-lo:

python ./manage.py list_versions

Si heu instal·lat Weblate mitjançant l’instal·lador pip, o mitjançant l’script ./setup.py, el weblate s’instal·la al vostre camí (o camí de l’entorn Python), des d’on podeu utilitzar-lo per controlar Weblate:

weblate list_versions

Per a la imatge de Docker, l’script s’instal·la com a dalt i podeu executar-lo mitjançant docker exec:

docker exec --user weblate <container> weblate list_versions

Per a docker-compose-plugin el procés és similar, només heu d’utilitzar docker compose exec:

docker compose exec --user weblate weblate weblate list_versions

En cas que necessiteu passar-li un fitxer, podeu afegir temporalment un volum:

docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json

add_suggestions

weblate add_suggestions <project> <component> <language> <file>

Importa una traducció del fitxer per utilitzar-la com a suggeriment per a la traducció donada. Omet les traduccions duplicades; només s’afegeixen de diferents.

--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).

Exemple:

weblate --author michal@cihar.com add_suggestions weblate application cs /tmp/suggestions-cs.po

analyze_translator_work

weblate analyze_translator_work

Analyzes change history to estimate realistic translator throughput per day. The command includes only active human users and unit-backed manual translation changes, and applies daily minimum and maximum thresholds to skip obvious outliers, bots, bulk imports, uploads, and other events that would pollute the result.

--days DAYS

Number of recent days to analyze when --since is not specified.

--since YYYY-MM-DD

Start date for the analysis.

--until YYYY-MM-DD

End date for the analysis.

--project PROJECT

Limit the analysis to a project slug.

--component PROJECT/COMPONENT

Limit the analysis to a component.

--language LANGUAGE

Limit the analysis to a language code.

--min-changes COUNT

Minimum translated strings per user day to include.

--max-changes COUNT

Maximum translated strings per user day to include.

--max-words COUNT

Maximum translated source words per user day to include.

Exemple:

weblate analyze_translator_work --project weblate --since 2026-01-01

auto_translate

weblate auto_translate <project> <component> <language>

Canviat a la versió 4.6: Added parameter for translation mode.

Realitza una traducció automàtica basada en altres traduccions de components.

--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 Inconsistent).

--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 translate but fuzzy or suggest can be used.

Exemple:

weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs

backup

weblate backup

Executa còpies de seguretat configurades de forma sincrònica, sense utilitzar Celery. Primer actualitza la configuració i els abocaments de còpia de seguretat de la base de dades a DATA_DIR, després executa el servei o els serveis de còpia de seguretat Borg seleccionats.

--list

Lists configured backup service IDs.

--service ID

Runs one backup service by ID.

--all

Runs all enabled backup services.

Utilitzeu l’opció estàndard --verbosity 2 de Django per mostrar la sortida del servei de còpia de seguretat. La sortida del servei de còpia de seguretat fallida es mostra fins i tot sense augmentar la verbositat.

Examples:

weblate backup --list
weblate backup --service 1 --verbosity 2
weblate backup --all

Per als desplegaments de Docker Compose, podeu aturar el contenidor Weblate normal i executar l’ordre en un contenidor únic mitjançant docker compose run. La base de dades i l’emmagatzematge de còpia de seguretat configurat encara han d’estar disponibles.

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

Importa contingut donat a Weblate, útil per a l’anàlisi comparativa.

Example of performance profiling
# 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
Exemple de perfils de memòria
# 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

Afegit a la versió 5.15.

Crea un projecte de facturació de demostració. Es pot executar diverses vegades per afegir factures i esdeveniments de facturació addicionals.

This can be useful when developing Weblate. Needs Facturació installed.

celery_queues

weblate celery_queues

Mostra la durada de les cues de tasques d’api.

checkgit

weblate checkgit <project|project/component>

Imprimeix l’estat actual del dipòsit Git de fons.

Podeu definir quin projecte o component voleu actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents.

commitgit

weblate commitgit <project|project/component>

Admet qualsevol possible canvi pendent al repositori de Git de fons.

Podeu definir quin projecte o component actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents, o utilitzar --file-format per filtrar segons el format del fitxer.

commit_pending

weblate commit_pending <project|project/component>

Compromesa els canvis pendents de més d’una edat determinada.

Podeu definir quin projecte o component voleu actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents.

--age HOURS

Age in hours for committing. If not specified the value configured in Configuració dels components is used.

Nota

Weblate ho fa automàticament en segon pla, de manera que no hi ha necessitat real d’invocar-ho manualment, a més de forçar una confirmació anterior a la especificada per Configuració dels components.

cleanuptrans

weblate cleanuptrans

Neteja els xecs orfes i els suggeriments de traducció. Normalment no cal executar-ho manualment, ja que les neteja es fan automàticament en segon pla.

cleanup_memory

weblate cleanup_memory

Afegit a la versió 5.13.

Removes all obsolete entries with pending status from the translation memory.

cleanup_ssh_keys

weblate cleanup_ssh_keys

Afegit a la versió 4.9.1.

Realitza la neteja de les claus d’amfitrió SSH emmagatzemades:

  • Suprimeix les claus RSA obsoletes per a GitHub que poden causar problemes de connexió a GitHub.

  • Elimina les entrades duplicades a les claus de l’amfitrió.

Vegeu també

Repositoris SSH

createadmin

weblate createadmin

Crea un compte admin amb una contrasenya aleatòria, tret que s’especifiqui.

--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

Exporteu un fitxer JSON que conté contingut de memòria de traducció de Weblate.

dumpuserdata

weblate dumpuserdata <file.json>

Aboca les dades de l’usuari a un fitxer per al seu ús posterior per importuserdata.

Suggeriment

Això és útil per migrar o combinar instàncies de Weblate.

import_demo

weblate import_demo

Afegit a la versió 4.1.

Crea un projecte de demostració amb components basats en <https://github.com/WeblateOrg/demo>. Assegureu-vos que les tasques d’api s’estan executant abans d’executar aquesta ordre.

Això pot ser útil a l’hora de desenvolupar Weblate.

--delete

Removes existing demo project.

import_json

weblate import_json <json-file>

Importació per lots de components basats en dades JSON.

L’estructura del fitxer JSON importat correspon pràcticament a l’objecte del component (vegeu GET /api/components/(string:project)/(string:component)/). Heu d’incloure els camps 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.

Exemple de fitxer 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"
  }
]

Vegeu també

import_memory

import_memory

weblate import_memory <file>

Imports a file into the Weblate translation memory.

Els formats de fitxer admesos són TMX, JSON, XLIFF, PO, CSV.

Pot ser que sigui necessari especificar una llengua d’origen i una de destinació per a formats diferents de JSON i 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:en will for example import all en_US strings as en ones.

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>

El lot importa components al projecte en funció de la màscara del fitxer. Es basa en el complement Descobriment de components, de manera que potser voldreu utilitzar-lo.

<project> anomena un projecte existent, al qual s’han d’importar els components.

El <gitrepo> defineix l’URL del dipòsit de Git que cal utilitzar, i <branch> significa la branca de Git. Per importar components de traducció addicionals d’un component Weblate existent, utilitzeu un URL weblate://<project>/<component> per a l’URL <gitrepo>.

El <filemask> defineix la descoberta de fitxers per al dipòsit. Es pot simplificar amb comodins o pot utilitzar tot el poder de les expressions regulars.

La concordança simple utilitza ** per al nom del component i * per a l’idioma, per exemple: **/*.po

The regular expression has to contain groups named component and language, for example: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po.

La importació coincideix amb els components existents en funció dels fitxers i afegeix els que no existeixen. No canvia els ja existents.

--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 Configuració dels components) 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.

Per donar-vos alguns exemples, provem d’importar dos projectes.

Primer les traduccions del manual de Debian, on cada idioma té una carpeta separada amb les traduccions de cada capítol:

weblate import_project \
    debian-handbook \
    https://salsa.debian.org/hertzog/debian-handbook.git \
    bullseye/main \
    '*/**.po'

A continuació, l’eina Tanaguru, on cal especificar el format del fitxer, juntament amb la plantilla del fitxer base, i com es troben tots els components i traduccions en una sola carpeta:

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

Exemple més complex d’anàlisi de noms de fitxer per obtenir el component i l’idioma correctes d’un nom de fitxer com 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$'

Filtrant només traduccions en un idioma escollit:

./manage import_project \
    --language-regex '^(cs|sk)$' \
    weblate \
    https://github.com/WeblateOrg/weblate.git \
    'weblate/locale/*/LC_MESSAGES/**.po'

Importació de documentació de Sphinx dividida en diversos fitxers:

$ weblate import_project --name-template 'Documentation: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/**.po'

Importació de documentació de Sphinx dividida en diversos fitxers i directoris:

$ 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'

Vegeu també

Es poden trobar exemples més detallats al capítol Començant per la internacionalització, alternativament podeu utilitzar import_json.

import_projectbackup

weblate import_projectbackup <project_name> <project_slug> <username> <filename>

Afegit a la versió 5.10.

Imports Project level backups.

Suggeriment

Normalment és més còmode importar un projecte quan Afegir projectes i components de traducció.

importuserdata

weblate importuserdata <file.json>

Importa dades d’usuari d’un fitxer creat per dumpuserdata.

importusers

weblate importusers --check <file.json>

Importa usuaris de l’abocament JSON de la base de dades de 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.

Podeu bolcar usuaris del lloc de Django existent mitjançant:

./manage.py dumpdata auth.User > users.json

Suggeriment

Utilitzeu dumpuserdata per descarregar dades d’un altre servidor Weblate, ja que també inclou la configuració de l’usuari.

Vegeu també

Migrant des de Pootle

install_addon

weblate install_addon --addon ADDON <project|project/component>

Instal·la un complement a un conjunt de components.

--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.

Podeu definir en quin projecte o component instal·lar el complement (per exemple, weblate/application), o utilitzar --all per incloure tots els components existents.

Per instal·lar Genera els fitxers MO per a tots els components:

weblate install_addon --addon weblate.gettext.mo --configuration '{"fuzzy": true}' --update --all

Vegeu també

Complements

install_machinery

Afegit a la versió 4.18.

weblate install_machinery --service SERVICE

Installs a 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.

Per instal·lar DeepL:

weblate install_machinery --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/"}' --update

list_addons

weblate list_addons

Llista els complements a reStructuredText com a plantilla per a Complements.

--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

Llista els permisos a reStructuredText com a plantilla per a Control d’accés.

list_checks

weblate list_checks

Llista les comprovacions de qualitat a reStructuredText com a plantilla per a Comprovacions i correccions i Comprovacions i correccions.

--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.

Nota

L’ús de --output requereix seleccionar exactament un valor a les --sections, de manera que cada fragment generat s’escriu al seu propi fitxer. Això coincideix amb el flux de treball Contribute to Weblate documentation i els objectius make -C docs update-docs.

list_languages

weblate list_languages <locale>

Llista els idiomes compatibles amb el marcatge de MediaWiki: codis d’idioma, noms en anglès i noms localitzats.

S’utilitza per generar <https://www.l10n.cz/wiki/Slovn%C3%ADky/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF/>.

list_machinery

weblate list_machinery

Llista els serveis de suggeriments automàtics a reStructuredText com a plantilla per a Suggeriments automàtics.

list_translators

weblate list_translators <project|project/component>

Llista els traductors per idioma aportat per al projecte donat:

[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
--language-code

List names by language code instead of language name.

Podeu definir quin projecte o component utilitzar (per exemple, weblate/application), o utilitzar --all per llistar els traductors de tots els components existents.

list_versions

weblate list_versions

Llista totes les dependències de Weblate i les seves versions.

list_file_format_params

weblate list_file_format_params

Lists File format parameters.

list_change_events

weblate list_change_events

Llista tots els tipus d’esdeveniments de canvi possibles.

list_format_features

weblate list_format_features

Genera fragments de documentació RST que descriuen les funcions admeses per a cada format de fitxer.

L’ordre genera un fitxer per a cada format, que es pot trobar al directori de sortida especificat.

--output PATH

Directory where the format feature snippets will be written.

Nota

Els fitxers de documentació generats s’han d’incloure en fonts de documentació com ara Localization file formats. Vegeu també weblate/formats/management/commands/list_format_features.py per a la personalització i la lògica de combinació.

loadpo

weblate loadpo <project|project/component>

Torna a carregar les traduccions des del disc (per exemple, en cas que hagis fet algunes actualitzacions al repositori VCS).

--force

Force update, even if the files should be up-to-date.

--lang LANGUAGE

Limit processing to a single language.

Podeu definir quin projecte o component voleu actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents.

Nota

Poques vegades necessiteu invocar això, Weblate carregarà automàticament els fitxers modificats per a cada actualització de VCS. Això és necessari en cas que hàgiu canviat manualment un repositori Weblate VCS subjacent o en alguns casos especials després d’una actualització.

lock_translation

weblate lock_translation <project|project/component>

Impedeix una traducció posterior d’un component.

Suggeriment

Útil per si voleu fer una mica de manteniment al repositori subjacent.

Podeu definir quin projecte o component voleu actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents.

Vegeu també

unlock_translation

migrate

weblate migrate

Migra la base de dades a l’esquema de Weblate actual. Les opcions de la línia d’ordres es descriuen a Django migrate.

Suggeriment

En cas que vulgueu executar una instal·lació de manera no interactiva, podeu utilitzar weblate migrate --noinput, i després crear un usuari administrador mitjançant l’ordre createadmin.

move_language

weblate move_language source target

Permet combinar contingut d’idioma. Això és útil quan s’actualitza a una versió nova que conté àlies d’idiomes desconeguts anteriorment que s’han creat amb el sufix (generated). Mou tot el contingut de l’idioma «origen» a l’idioma «destí».

Exemple:

weblate move_language cze cs

Després de moure el contingut, hauríeu de comprovar si queda alguna cosa (això està subjecte a condicions de carrera quan algú actualitza el repositori mentrestant) i eliminar el llenguatge (generated).

pushgit

weblate pushgit <project|project/component>

Envia els canvis compromesos al repositori de VCS amunt.

--force-commit

Force commits any pending changes, prior to pushing.

Podeu definir quin projecte o component voleu actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents.

Nota

Weblate envia els canvis automàticament si Puja en fer una comissió a Configuració dels components està activat, que és el valor predeterminat.

unlock_translation

weblate unlock_translation <project|project/component>

Desbloqueja un component determinat, fent-lo disponible per a la traducció.

Suggeriment

Útil per si voleu fer una mica de manteniment al repositori subjacent.

Podeu definir quin projecte o component voleu actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents.

Vegeu també

lock_translation

setupgroups

weblate setupgroups

Configura grups predeterminats i, opcionalment, assigna tots els usuaris a aquest grup predeterminat.

--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 d’accés del projecte.

Vegeu també

List of privileges

setuplang

weblate setuplang

Actualitza la llista d’idiomes definits a Weblate.

--no-update

Turns off automatic updates of existing languages (only adds new ones).

updatechecks

weblate updatechecks <project|project/component>

Actualitza totes les comprovacions de totes les cadenes.

Suggeriment

Útil per a actualitzacions que fan canvis importants a les comprovacions.

Podeu definir quin projecte o component voleu actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents.

Nota

Weblate torna a calcular regularment les comprovacions en segon pla, la freqüència es pot configurar mitjançant BACKGROUND_TASKS.

updategit

weblate updategit <project|project/component>

Obtén repositoris VCS remots i actualitza la memòria cau interna.

Podeu definir quin projecte o component voleu actualitzar (per exemple, weblate/application), o utilitzar --all per actualitzar tots els components existents.

Nota

En general, és millor configurar els ganxos al dipòsit per activar Punts d’inserció de notificacions, en lloc d’activar regularment les actualitzacions per updategit.