Opdrachten voor beheer

Notitie

Uitvoeren van opdrachten voor beheer onder een andere gebruiker, dan die welke uw webserver uitvoert, kan resulteren in het feit dat ebstanden de verkeerde rechten krijgen, bekijk Rechten voor bestandssysteem voor meer details.

U zult basis opdrachten voor beheer vinden (beschikbaar als ./manage.py in de bronnen van Django, of als een uitgebreide set in een script, genaamd weblate, dat te installeren is bovenop Weblate).

Opdrachten voor beheer uitvoeren

Zoals eerder vermeld is de uitvoering afhankelijk van hoe u Weblate hebt geïnstalleerd.

Als u een omgeving van Python gebruikt voor Weblate kunt u ofwel het volledige pad naar weblate specificeren, of de omgeving van Python activeren, voorafgaande aan het uitvoeren ervan:

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

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

Als u broncode direct gebruikt (ofwel uit een tarball of Git checkout), is het beheerscript ./manage.py beschikbaar in de bronnen van Weblate. Uitvoeren ervan:

python ./manage.py list_versions

Als u Weblate hebt geïnstalleerd met het installatieprogramma pip, of door het script ./setup.py te gebruiken, wordt weblate geïnstalleerd naar uw pad (of pad voor de omgeving van Python), van waaruit u het kunt gebruiken om Weblate te beheren:

weblate list_versions

Voor de Docker image wordt het script als hierboven geïnstalleerd en u kunt het uitvoeren met docker exec:

docker exec --user weblate <container> weblate list_versions

Voor docker-compose-plugin is het proces is soortgelijk, u gebruikt eenvoudigweg docker compose exec:

docker compose exec --user weblate weblate weblate list_versions

In het geval dat u een bestand moet doorgeven, kunt u tijdelijk een volume toevoegen:

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

add_suggestions

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

Importeert een vertaling uit het bestand om als een suggestie te gebruiken voor de opgegeven vertaling. Het slaat gedupliceerde vertalingen over; alleen verschillende worden toegevoegd.

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

Voorbeeld:

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

auto_translate

weblate auto_translate <project> <component> <language>

Veranderd in versie 4.6: Toegevoegde parameter voor modus Vertalen.

Voert automatische vertaling uit, gebaseerd op vertalingen van andere onderdelen.

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

Voorbeeld:

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

backup

weblate backup

Voert geconfigureerde back-ups synchroon uit, zonder Celery te gebruiken. Het werkt eerst de instellingen en back-updumps van de database in DATA_DIR bij en voert dan de geselecteerde Borg back-upservice of -services uit.

--list

Lists configured backup service IDs.

--service ID

Runs one backup service by ID.

--all

Runs all enabled backup services.

Gebruik de standaardoptie van Django --verbosity 2 om de uitvoer van de back-upservice weer te geven. Uitvoer voor de mislukte back-upservice wordt weergegeven, zelfs zonder verhoogde uitbreiding.

Voorbeelden:

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

Voor uitrollen van Docker Compose kunt u de normale container van Weblate stoppen en de opdracht uitvoeren in een eenmalige container met docker compose run. De database en geconfigureerde opslag voor de back-up moeten nog steeds beschikbaar zijn.

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

Import die inhoud aan Weblate geeft, nuttig voor benchmarking.

Voorbeeld van profileren van prestaties
# 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
Voorbeeld van geheugen profileren
# 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.

Maakt een voorbeeld factuurproject. Kan meerdere keren worden uitgevoerd om extra facturen en factuurgebeurtenissen toe te voegen.

Dit kan nuttig zijn bij het ontwikkelen van Weblate. Facturatie moet zijn geïnstalleerd.

celery_queues

weblate celery_queues

Geeft de lengte weer van wachtrijen voor taken van Celery.

checkgit

weblate checkgit <project|project/component>

Drukt de huidige status van de backend opslagruimte voor Git af.

U kunt ofwel definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of gebruik --all om alle bestaande onderdelen bij te werken.

commitgit

weblate commitgit <project|project/component>

Dient mogelijk openstaande wijzigingen in bij de backend opslagruimte van Git.

U kunt definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of --all gebruiken om alle bestaande onderdelen bij te werken, of --file-format gebruiken om te filteren op basis van de bestandsindeling.

commit_pending

weblate commit_pending <project|project/component>

Dient openstaande wijzigingen in die ouder zijn dan een opgegeven periode.

U kunt ofwel definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of gebruik --all om alle bestaande onderdelen bij te werken.

--age HOURS

Age in hours for committing. If not specified the value configured in Configuratie onderdeel is used.

Notitie

Dit wordt automatisch op de achtergrond door Weblate uitgevoerd, dus het is niet echt nodig om dit handmatig uit te voeren, naast het forceren van een eerdere indiening dan gespecificeerd door Configuratie onderdeel.

cleanuptrans

weblate cleanuptrans

Schoont wezen van controles en vertaalsuggesties op. Er bestaat normaal gesproken geen reden om dit handmatig uit te voeren, omdat het opschonen automatisch op de achtergrond gebeurt.

cleanup_memory

weblate cleanup_memory

Added in version 5.13.

Verwijdert overbodige items met de status openstaand uit het vertaalgeheugen.

cleanup_ssh_keys

weblate cleanup_ssh_keys

Added in version 4.9.1.

Voert opschonen uit van opgeslagen sleutels voor de SSH host:

  • Verwijdert vervallen RSA-sleutels voor GitHub, wat problemen zou kunnen veroorzaken bij het verbinden met GitHub.

  • Verwijdert gedupliceerde items in sleutels voor host.

createadmin

weblate createadmin

Maakt een account admin met een willekeurig wachtwoord, tenzij dat wordt opgegeven.

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

Exporteert een bestand van JSON dat de inhoud van Weblate vertaalgeheugen bevat.

dumpuserdata

weblate dumpuserdata <file.json>

Dumpt gebruikersgegevens in een bestand om later te gebruiken door importuserdata.

Hint

Dit is handig bij het migreren of samenvoegen van instanties van Weblate.

import_demo

weblate import_demo

Added in version 4.1.

Maakt een demoproject met onderdelen gebaseerd op <https://github.com/WeblateOrg/demo>. Zorg ervoor dat de taken Celery worden uitgevoerd voordat deze opdracht wordt uitgevoerd.

Dit kan nuttig zijn bij het ontwikkelen van Weblate.

--delete

Removes existing demo project.

import_json

weblate import_json <json-file>

Bulk importeren van onderdelen, gebaseerd op gegevens van JSON.

De geïmporteerde bestandsstructuur van JSON correspondeert behoorlijk met het object onderdeel (bekijk GET /api/components/(string:project)/(string:component)/). U moet de velden name en filemask opnemen.

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

Voorbeeld van JSON-bestand:

[
  {
    "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"
  }
]

Zie ook

import_memory

import_memory

weblate import_memory <file>

Importeert een bestand in het vertaalgeheugen van Weblate.

Ondersteunde bestandsindelingen zijn TMX, JSON, XLIFF, PO, CSV.

Specificeren van een bron- en doeltaal zou nodig kunnen zijn voor andere indelingen dan JSON en 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>

Importeert onderdelen in bulk in het project, gebaseerd op het bestandsmasker. Het is gebaseerd op de add-on Onderdeel opsporing, dus u zou misschien in plaats daarvan die willen gebruiken.

<project> benoemt een bestaand project, waarin de onderdelen moeten worden geïmporteerd.

De <gitrepo> definieert de URL van de te gebruiken opslagruimte van Git en <branch> bepaalt de tak van Git. Gebruik een URL weblate://<project>/<component> voor de <gitrepo> om aanvullende vertaalonderdelen te importeren uit een bestaand onderdeel van Weblate.

Het <filemask> definieert bestandsopsporing voor de opslagruimte. Het mag ofwel eenvoudig gemaakt worden met jokertekens, of het mag de volledige kracht van reguliere uitdrukkingen gebruiken.

Het eenvoudig overeenkomen gebruikt ** voor naam van het onderdeel en * voor de taal, bijvoorbeeld: **/*.po

De reguliere uitdrukking moet groepen, genaamd component en language, bevatten, bijvoorbeeld: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po.

Het importeren komt overeen met bestaande onderdelen, gebaseerd op bestanden en voegt die, welke niet bestaan, toe. Het wijzigt niet al bestaande.

--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 Bestandsindelingen voor vertalen), the default is auto-detection.

--language-regex REGEX

You can specify language filtering (see Configuratie onderdeel) 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.

Laten we, om enkele voorbeelden te geven, twee projecten importeren.

Als eerst de vertalingen voor The Debian Handbook, waar elke taal een afzonderlijke map heeft binnen de vertalingen van elke hoofdstuk:

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

Dan het programma Tanaguru, waar de bestandsindeling moet worden gespecificeerd, naast het sjabloon voor het basisbestand en hoe alle onderdelen en vertalingen in een enkele map zijn geplaatst:

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

Meer complex voorbeeld van het parsen van bestandsnamen, om het juiste onderdeel en taal uit een bestandsnaam zoals src/security/Numerous_security_holes_in_0.10.1.de.po te krijgen:

weblate import_project \
    tails \
    git://git.tails.boum.org/tails master \
    'wiki/src/security/(?P<component>.*)\.(?P<language>[^.]*)\.po$'

Vertalingen alleen filteren op een gekozen taal:

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

Importeren van documentatie voor Sphinx, gesplitst in meerdere bestanden:

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

Importeren van documentatie voor Sphinx, gesplitst in meerdere bestanden en mappen:

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

Zie ook

Meer gedetailleerde voorbeelden zijn te vinden in het hoofdstuk Beginnen met internationalisatie, als alternatief zou u misschien import_json willen gebruiken.

import_projectbackup

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

Added in version 5.10.

Importeert Projectniveau back-ups.

Hint

Gewoonlijk is het meer comfortabel om project te importeren bij Vertaalprojecten en onderdelen toevoegen.

importuserdata

weblate importuserdata <file.json>

Importeert gebruikersgegevens uit een bestand dat is gemaakt door dumpuserdata.

importusers

weblate importusers --check <file.json>

Importeert gebruikers vanuit een JSON-dump van de Django database 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.

U kunt gebruikers dumpen uit de bestaande site van Django met:

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

Hint

Gebruik dumpuserdata voor het dumpen van gegevens van een andere Weblate-server als dat ook de gebruikersinstellingen omvat.

install_addon

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

Installeert een add-on in een set onderdelen.

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

U kunt ofwel definiëren in welk project of onderdeel de add-on moet worden geïnstalleerd (bijvoorbeeld weblate/application), of --all gebruiken om alle bestaande onderdelen op te nemen.

Voor alle onderdelen MO-bestanden genereren installeren:

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

Zie ook

Add-ons

install_machinery

Added in version 4.18.

weblate install_machinery --service SERVICE

Installeert een sitebrede automatische service voor suggesties.

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

Installeren van DeepL:

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

list_addons

weblate list_addons

Vermeld add-ons in reStructuredText als een sjabloon voor Add-ons.

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

Vermeld rechten in reStructuredText als een sjabloon voor Toegangsbeheer.

list_checks

weblate list_checks

Vermeld kwaliteitscontroles in reStructuredText als een sjabloon voor Controles en reparaties en Controles en reparaties.

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

Notitie

Gebruiken van --output vereist het selecteren van exact een waarde in --sections zodat elke gemaakte snipper wordt weggeschreven naar zijn eigen bestand. Dat komt overeen met de werkstroom Bijdragen aan documentatie voor Weblate en de doelen van make -C docs update-docs.

list_languages

weblate list_languages <locale>

Vermeld ondersteunde talen in markup voor MediaWiki - taalcodes, Engelse namen en vertaalde namen.

Dit wordt gebruikt om <https://www.l10n.cz/wiki/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF> te genereren.

list_machinery

weblate list_machinery

Vermeld services voor automatische suggesties in reStructuredText als een sjabloon voor Automatische vertalingen.

list_translators

weblate list_translators <project|project/component>

Vermeld vertalers per bijgedragen taal voor het opgegeven project:

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

List names by language code instead of language name.

U kunt ofwel definiëren welk project of onderdeel te gebruiken (bijvoorbeeld weblate/application) of --all gebruiken om alle vertalers uit alle bestaande onderdelen te vermelden.

list_versions

weblate list_versions

Vermeldt alle afhankelijkheden van Weblate en hun versies.

list_file_format_params

weblate list_file_format_params

Vermeld parameters voor bestandsindeling.

list_change_events

weblate list_change_events

Lijsten van alle mogelijke wijzigingsgebeurtenissen types.

list_format_features

weblate list_format_features

Maakt RST documentatiesnippers die de ondersteunde mogelijkheden voor elke bestandsindeling beschrijven.

De opdracht maakt een bestand voor elke indeling, die zijn te vinden in de opgegeven uitvoermap.

--output PATH

Directory where the format feature snippets will be written.

Notitie

De gemaakte documentatiebestanden zijn bedoeld om te worden opgenomen in bronnen voor documentatie, zoals Bestandsindelingen voor vertalen. Bekijk ook weblate/formats/management/commands/list_format_features.py voor logica voor aanpassen en samenvoegen.

loadpo

weblate loadpo <project|project/component>

Laadt vertalingen opnieuw vanaf schijf (bijvoorbeeld in het geval dat u enkele bijwerkingen in de opslagruimte van het VCS hebt gedaan).

--force

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

--lang LANGUAGE

Limit processing to a single language.

U kunt ofwel definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of gebruik --all om alle bestaande onderdelen bij te werken.

Notitie

U zou dit zelden dienen te activeren, Weblate zal automatisch gewijzigde bestanden laden voor elk bijwerken van het VCS. Dit is nodig in het geval u handmatig een onderliggende opslagruimte voor Weblate in het VCS hebt gewijzigd of in enkele speciale gevallen die volgen na een upgrade.

lock_translation

weblate lock_translation <project|project/component>

Voorkomt verder vertalen van een onderdeel.

Hint

Nuttig in het geval u enig onderhoud wilt plegen aan de onderliggende opslagruimte.

U kunt ofwel definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of gebruik --all om alle bestaande onderdelen bij te werken.

migrate

weblate migrate

Migreert de database naar het huidige schema van Weblate. De opties voor de opdrachtregel worden beschreven in Django migrate.

Hint

In het geval dat u een installatie niet interactief zou willen uitvoeren, kunt u weblate migrate --noinput gebruiken en dan een gebruiker admin maken met de opdracht createadmin.

move_language

weblate move_language source target

Stelt u in staat taalinhoud samen te voegen. Dit is nuttig bij het updaten naar een nieuwe versie die aliassen bevat voor eerder onbekende talen die zijn gemaakt met het achtervoegsel (generated). Het verplaatst alle inhoud van de source-taal naar de target-taal.

Voorbeeld:

weblate move_language cze cs

Na het verplaatsen van de inhoud zou u moeten controleren of er iets is achtergebleven (dit is onderwerp van race condities als iemand tegelijkertijd de opslagruimte bijwerkt) en de taal (generated) verwijderen.

pushgit

weblate pushgit <project|project/component>

Dient ingediende wijzigingen in bij de opslagruimte upstream van het VCS.

--force-commit

Force commits any pending changes, prior to pushing.

U kunt ofwel definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of gebruik --all om alle bestaande onderdelen bij te werken.

Notitie

Weblate pusht wijzigingen automatisch als Pushen na commit in Configuratie onderdeel is ingeschakeld, wat de standaard is.

unlock_translation

weblate unlock_translation <project|project/component>

Ontgrendelt een opgegeven onderdeel, wat het beschikbaar maakt voor vertalen.

Hint

Nuttig in het geval u enig onderhoud wilt plegen aan de onderliggende opslagruimte.

U kunt ofwel definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of gebruik --all om alle bestaande onderdelen bij te werken.

setupgroups

weblate setupgroups

Configureert standaard groepen en wijst optioneel alle gebruikers toe aan die standaard groep.

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

setuplang

weblate setuplang

Bijwerken van de lijst met gedefinieerde talen in Weblate.

--no-update

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

updatechecks

weblate updatechecks <project|project/component>

Werkt alle controles voor alle tekenreeksen bij.

Hint

Nuttig voor upgrades die belangrijke wijzigingen aan controles maken.

U kunt ofwel definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of gebruik --all om alle bestaande onderdelen bij te werken.

Notitie

Controles worden regelmatig op de achtergrond opnieuw berekend door Weblate, de frequentie kan worden geconfigureerd via BACKGROUND_TASKS.

updategit

weblate updategit <project|project/component>

Haalt opslagruimten van het VCS op afstand op en werkt de interne cache bij.

U kunt ofwel definiëren welk project of onderdeel bij te werken (bijvoorbeeld weblate/application), of gebruik --all om alle bestaande onderdelen bij te werken.

Notitie

Gewoonlijk is het beter hooks in de opslagruimte te configureren om Notificatie-hooks te activeren, in plaats van het regelmatig activeren van het bijwerken met updategit.