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 virtualenv gebruikt voor Weblate kunt u ofwel het volledige pad naar weblate specificeren, of de virtualenv activeren, voorafgaande aan het uitvoeren ervan:

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

# Activating virtualenv 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 van virtualenv), 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 van auteur voor de suggesties. Deze gebruiker moet bestaan voorafgaande aan het importeren (u kunt er een maken in de beheerinterface indien nodig).

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

Specificeert het te gebruiken onderdeel als beschikbare bron voor de vertaling. Indien niet gespecificeerd worden alle onderdelen in het project gebruikt.

--user USERNAME

Specificeer de gebruikersnaam die moet worden vermeld als auteur van de vertalingen. “Anonieme gebruiker” wordt gebruikt indien niet gespecificeerd.

--overwrite

Of bestaande vertalingen moeten worden overschreven.

--inconsistent

Of inconsistente bestaande vertalingen moeten worden overschreven (bekijk Inconsistent).

--add

Automatisch taal toevoegen als een bepaalde vertaling niet bestaat.

--mt MT

Machinevertaling gebruiken in plaats van andere onderdelen als machinevertalingen.

--threshold THRESHOLD

Drempel voor overeenkomst voor machinevertaling, standaard is 80.

--mode MODE

Specificeer de modus voor de vertaling, standaard is translate, maar ook fuzzy of suggest mogen worden gebruikt.

Voorbeeld:

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

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

Periode is in uren voor indienen. Indien niet gespecificeerd wordt de waarde die is geconfigureerd in Configuratie onderdeel gebruikt.

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

Verschaft een wachtwoord op de opdrachtregel, om niet een willekeurig te hoeven genereren.

--no-password

Stel geen wachtwoord in, dit kan nuttig zijn met –update.

--username USERNAME

Gebruik de opgegeven naam in plaats van admin.

--email USER@EXAMPLE.COM

Specificeer het e-mailadres voor admin.

--name

Specificeer de naam van admin (zichtbaar).

--update

Werk de bestaande gebruiker bij (u kunt dit gebruiken om wachtwoorden te wijzigen).

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

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

Specificeert waaruit de onderdelen zullen worden geïmporteerd.

--main-component COMPONENT

Gebruik de opgegeven opslagruimte van VCS van dit onderdeel voor alle onderdelen.

--ignore

Sla (reeds) geïmporteerde onderdelen over.

--update

Werk (reeds) geïmporteerde onderdelen bij.

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

Maakt verwijzen van talen in de TMX naar het vertaalgeheugen van Weblate mogelijk. De taalcodes worden verwezen na normalisatie die gewoonlijk wordt uitgevoerd door Weblate.

--language-map en_US:en zal bijvoorbeeld alle tekenreeksen en_US importeren als voor en.

Dit kan nuttig zijn in het geval uw locales van het TMX-bestand niet overeenkomen met wat u gebruikt in Weblate.

--source-language SOURCE_LANG

Specificeert de brontaal voor geïmporteerde vertalingen. Gewoonlijk nodig voor indelingen waar de taal niet kan worden vastgesteld uit het bestand zelf.

--target-language TARGET_LANG

Specificeert de doeltaal voor geïmporteerde vertalingen. Gewoonlijk nodig voor indelingen waar de taal niet kan worden vastgesteld uit het bestand zelf.

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

Pas de naam van een onderdeel aan met de syntaxis voor sjablonen van Django.

Bijvoorbeeld: Documentation: {{ component }}

--base-file-template TEMPLATE

Pas het basisbestand voor eentalige vertalingen aan.

Bijvoorbeeld: {{ component }}/res/values/string.xml

--new-base-template TEMPLATE

Pas het basisbestand voor het toevoegen van nieuwe vertalingen aan.

Bijvoorbeeld: {{ component }}/ts/en.ts

--file-format FORMAT

U kunt ook de te gebruiken bestandsindeling specificeren (bekijk Bestandsindelingen voor vertalen), de standaard is automatisch detecteren.

--language-regex REGEX

U kunt het filteren van taal specificeren (bekijk Configuratie onderdeel) met deze parameter. Het moet een geldige reguliere uitdrukking zijn.

--main-component

U kunt specificeren welk onderdeel als het belangrijkste moet worden gekozen—dat welke feitelijk de opslagruimte voor het VCS bevat.

--license NAME

Specificeer de algehele, project of onderdeel licentie voor de vertalingen.

--license-url URL

Specificeer de URL waar de licentie voor de vertalingen is te vinden.

--vcs NAME

In het geval u moet specificeren welk systeem voor versiebeheer te gebruiken, kunt u dat hier doen. Het standaard systeem voor versiebeheer 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

Met deze optie zal het slechts controleren of een bepaald bestand kan worden geïmporteerd en mogelijke conflicten rapporteren die voortkomen uit gebruikersnamen of e-mails.

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

weblate dumpdata auth.User > users.json

install_addon

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

Installeert een add-on in een set onderdelen.

--addon ADDON

Naam van de te installeren add-on. Bijvoorbeeld weblate.gettext.customize.

--configuration CONFIG

JSON-gecodeerde configuratie van een add-on.

--update

Werk de bestaande configuratie van de add-on bij.

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 Gettext-uitvoer aanpassen installeren:

weblate install_addon --addon weblate.gettext.customize --configuration '{"width": -1}' --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

Naam van de te installeren service. Bijvoorbeeld deepl.

--configuration CONFIG

JSON-gecodeerde configuratie van een service.

--update

Werk de bestaande configuratie van de service bij.

Installeren van DeepL:

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

list_languages

weblate list_languages <locale>

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

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

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

Vermeld namen op taalcode in plaats van op de naam van de taal.

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.

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

Bijwerken forceren, zelfs als de bestanden up-to-date zouden zijn.

--lang LANGUAGE

Beperk het verwerken tot een enkele taal.

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

Forceer indienen van openstaande wijzigingen, voorafgaande aan het pushen.

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

Schakelt automatisch bijwerken van bestaande groepen uit (voegt alleen nieuwe toe).

--no-projects-update

Voorkomt automatisch bijwerken van groepen voor bestaande projecten. Dit maakt het mogelijk nieuw aangemaakte groepen toe te voegen aan bestaande projecten, bekijk Project toegangsbeheer.

setuplang

weblate setuplang

Bijwerken van de lijst met gedefinieerde talen in Weblate.

--no-update

Schakelt automatisch bijwerken van de bestaande talen uit (voegt alleen nieuwe toe).

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.