Verwaltungsbefehle#

Bemerkung

Das Ausführen von Verwaltungsbefehlen unter einem anderen Benutzer als dem, unter dem Ihr Webserver läuft, kann dazu führen, dass Dateien falsche Berechtigungen erhalten, bitte lesen Sie Dateisystemberechtigungen für weitere Details.

Sie finden grundlegende Verwaltungsbefehle (verfügbar als ./manage.py in den Django-Quellen oder als erweiterter Satz in einem Skript namens weblate, installierbar über Weblate).

Aufrufen von Verwaltungsbefehlen#

Wie bereits erwähnt, hängt der Aufruf davon ab, wie Sie Weblate installiert haben.

Wenn Sie virtualenv für Weblate verwenden, können Sie entweder den vollständigen Pfad zu weblate angeben oder virtualenv aktivieren, bevor Sie es aufrufen:

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

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

Wenn Sie den Quellcode direkt verwenden (entweder aus einem Tarball oder einem Git-Checkout), ist das Verwaltungsskript ./manage.py in den Weblate-Quellen verfügbar. Um es auszuführen:

python ./manage.py list_versions

Wenn Sie Weblate mit dem pip-Installer oder mit dem Skript ./setup.py installiert haben, wird weblate in Ihrem Pfad (oder virtualenv-Pfad) installiert, von wo aus Sie Weblate steuern können:

weblate list_versions

Für das Docker-Image wird das Skript wie oben installiert und Sie können es mit docker exec ausführen:

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

Falls Sie eine Datei übergeben müssen, können Sie vorübergehend ein Volume hinzufügen:

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

Für docker-compose ist der Vorgang ähnlich, Sie müssen nur docker-compose exec verwenden:

docker-compose exec --user weblate weblate weblate list_versions

Falls Sie eine Datei übergeben müssen, können Sie vorübergehend ein Volume hinzufügen:

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

add_suggestions#

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

Importiert eine Übersetzung aus der Datei, um sie als Vorschlag für die angegebene Übersetzung zu verwenden. Doppelte Übersetzungen werden übersprungen; es werden nur unterschiedliche Übersetzungen hinzugefügt.

--author USER@EXAMPLE.COM#

E-Mail des Autors für die Vorschläge. Dieser Benutzer muss vor dem Import existieren (Sie können ihn bei Bedarf in der Adminoberfläche anlegen).

Beispiel:

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

auto_translate#

weblate auto_translate <project> <component> <language>#

Geändert in Version 4.6: Parameter für Übersetzungsmodus hinzugefügt.

Führt eine automatische Übersetzung auf der Grundlage von anderen Komponentenübersetzungen durch.

--source PROJECT/COMPONENT#

Die Komponente angeben, die als Quelle für die Übersetzung verwendet werden soll. Alle Komponenten im Projekt werden verwendet, wenn nichts angegeben wird.

--user USERNAME#

Den Benutzernamen angeben, der als Autor der Übersetzungen aufgeführt wird. „Anonymer Benutzer“ wird verwendet, wenn nichts angegeben wird.

--overwrite#

Ob vorhandene Übersetzungen überschrieben werden sollen.

--inconsistent#

Ob vorhandene, inkonsistente Übersetzungen überschrieben werden sollen (siehe Inkonsistent).

--add#

Sprache automatisch hinzufügen, wenn eine bestimmte Übersetzung nicht vorhanden ist.

--mt MT#

Maschinelle Übersetzung anstelle anderer Komponenten als maschinelle Übersetzungen verwenden.

--threshold THRESHOLD#

Ähnlichkeitsschwellwert für maschinelle Übersetzung, Standardwert ist 80.

--mode MODE#

Den Übersetzungsmodus angeben, Standard ist translate, aber fuzzy oder suggest können verwendet werden.

Beispiel:

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

celery_queues#

weblate celery_queues#

Neu in Version 3.7.

Zeigt die Länge der Celery-Aufgabenwarteschlangen an.

checkgit#

weblate checkgit <project|project/component>#

Gibt den aktuellen Status des Git-Repositorys im Backend aus.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

commitgit#

weblate commitgit <project|project/component>#

Committet etwaige ausstehende Änderungen an das Backend-Git-Repository.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application), --all verwenden, um alle vorhandenen Komponenten zu aktualisieren oder --file-format verwenden, um anhand des Dateiformats zu filtern.

commit_pending#

weblate commit_pending <project|project/component>#

Committet ausstehende Änderungen, die älter als ein bestimmtes Alter sind.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

--age HOURS#

Alter in Stunden für die Übergabe. Wenn nicht angegeben, wird der in der Komponentenkonfiguration konfigurierte Wert verwendet.

Bemerkung

Dies wird automatisch im Hintergrund von Weblate durchgeführt, so dass es keine wirkliche Notwendigkeit gibt, dies manuell aufzurufen, abgesehen von der Erzwingung einer früheren Übergabe als durch die Komponentenkonfiguration angegeben.

cleanuptrans#

weblate cleanuptrans#

Bereinigt verwaiste Qualitätsprüfungen und Übersetzungsvorschläge. Normalerweise ist es nicht nötig, dies manuell auszuführen, da die Bereinigungen automatisch im Hintergrund erfolgen.

cleanup_ssh_keys#

weblate cleanup_ssh_keys#

Neu in Version 4.9.1.

Führt eine Bereinigung der gespeicherten SSH-Hostschlüssel durch:

  • Entfernt veraltete RSA-Schlüssel für GitHub, die zu Problemen bei der Verbindung mit GitHub führen können.

  • Entfernt doppelte Einträge in Hostschlüsseln.

Siehe auch

SSH-Repositorys

createadmin#

weblate createadmin#

Erstellt ein admin-Benutzerkonto mit einem zufälligen Passwort, sofern es nicht angegeben ist.

--password PASSWORD#

Gibt ein Passwort auf der Kommandozeile an, um kein zufälliges zu generieren.

--no-password#

Setzt kein Passwort, dies kann bei –update nützlich sein.

--username USERNAME#

Verwendet den angegebenen Namen anstelle von admin.

--email USER@EXAMPLE.COM#

Die E-Mail-Adresse des Administrators angeben.

--name#

Den Namen des Administrators angeben (sichtbar).

--update#

Den bestehenden Benutzer aktualisieren (Damit können auch Passwörter geändert werden).

dump_memory#

weblate dump_memory#

Exportiert eine JSON-Datei mit Weblate-Übersetzungsspeicher-Inhalten.

dumpuserdata#

weblate dumpuserdata <file.json>#

Dumps userdata to a file for later use by weblate importuserdata.

Hinweis

Dies ist sehr nützlich, wenn Sie Weblate-Instanzen migrieren oder zusammenführen.

import_demo#

weblate import_demo#

Neu in Version 4.1.

Erstellt ein Demoprojekt mit Komponenten auf der Grundlage von <https://github.com/WeblateOrg/demo>. Vergewissern Sie sich, dass die celery-Tasks laufen, bevor Sie diesen Befehl ausführen.

Dies kann bei der Entwicklung von Weblate nützlich sein.

import_json#

weblate import_json <json-file>#

Batch-Import von Komponenten basierend auf JSON-Daten.

Die Struktur der importierten JSON-Datei entspricht im Wesentlichen dem Komponentenobjekt (siehe GET /api/components/(string:project)/(string:component)/). Sie müssen die Felder name und filemask einschließen.

--project PROJECT#

Gibt an, woher die Komponenten importiert werden sollen.

--main-component COMPONENT#

Verwenden Sie das angegebene VCS-Repository dieser Komponente für alle davon.

--ignore#

Überspringen Sie (bereits) importierte Komponenten.

--update#

Aktualisieren Sie (bereits) importierte Komponenten.

Beispiel für eine JSON-Datei:

[
  {
    "slug": "po",
    "name": "Gettext PO",
    "file_format": "po",
    "filemask": "po/*.po",
    "new_lang": "none"
  },
  {
    "name": "Android",
    "filemask": "android/values-*/strings.xml",
    "template": "android/values/strings.xml",
    "repo": "weblate://test/test",
    "file_format": "aresource"
  }
]

import_memory#

weblate import_memory <file>#

Importiert eine TMX- oder JSON-Datei in den Weblate-Übersetzungsspeicher.

--language-map LANGMAP#

Ermöglicht die Zuordnung von Sprachen im TMX zum Weblate-Übersetzungsspeicher. Die Sprachcodes werden nach der Normalisierung, die normalerweise von Weblate vorgenommen wird, zugeordnet.

--language-map en_US:en importiert beispielsweise alle en_US-Zeichenketten als en.

Dies kann nützlich sein, wenn die Gebietsschemata Ihrer TMX-Datei nicht mit denen übereinstimmen, die Sie in Weblate verwenden.

import_project#

weblate import_project <project> <gitrepo> <branch> <filemask>#

Geändert in Version 3.0: Der Befehl import_project basiert nun auf der Erweiterung Komponentenerkennung, was zu einigen Änderungen im Verhalten und bei den akzeptierten Parametern führt.

Batch-Import von Komponenten in das Projekt auf der Grundlage der Dateimaske.

<project> benennt ein bestehendes Projekt, in das die Komponenten importiert werden sollen.

The <gitrepo> defines the Git repository URL to use, and <branch> signifies the Git branch. To import additional translation components from an existing Weblate component, use a weblate://<project>/<component> URL for the <gitrepo>.

The <filemask> defines file discovery for the repository. It can be either be made simple using wildcards, or it can use the full power of regular expressions.

Der einfache Abgleich verwendet ** für den Komponentennamen und * für die Sprache, zum Beispiel: **/*.po

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

The import matches existing components based on files and adds the ones that do not exist. It does not change already existing ones.

--name-template TEMPLATE#

Customize the name of a component using Django template syntax.

Zum Beispiel: Documentation: {{ component }}

--base-file-template TEMPLATE#

Customize the base file for monolingual translations.

Zum Beispiel: {{ component }}/res/values/string.xml

--new-base-template TEMPLATE#

Customize the base file for addition of new translations.

Zum Beispiel: {{ component }}/ts/en.ts

--file-format FORMAT#

You can also specify the file format to use (see Unterstützte Dateiformate), the default is auto-detection.

--language-regex REGEX#

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

To give you some examples, let’s try importing two projects.

First The Debian Handbook translations, where each language has separate a folder with the translations of each chapter:

weblate import_project \
    debian-handbook \
    git://anonscm.debian.org/debian-handbook/debian-handbook.git \
    squeeze/master \
    '*/**.po'

Then the Tanaguru tool, where the file format needs be specified, along with the base file template, and how all components and translations are located in single folder:

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

More complex example of parsing of filenames to get the correct component and language out of a filename like 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$'

Filtering only translations in a chosen language:

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

Importing Sphinx documentation split to multiple files:

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

Importing Sphinx documentation split to multiple files and directories:

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

Siehe auch

More detailed examples can be found in the Mit der Internationalisierung beginnen chapter, alternatively you might want to use weblate import_json.

importuserdata#

weblate importuserdata <file.json>#

Imports user data from a file created by weblate dumpuserdata.

importusers#

weblate importusers --check <file.json>#

Imports users from JSON dump of the Django auth_users database.

--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 installation using:

weblate dumpdata auth.User > users.json

install_addon#

Neu in Version 3.2.

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

Installs an add-on to a set of components.

--addon ADDON#

Name of the add-on to install. For example weblate.gettext.customize.

--configuration CONFIG#

JSON-kodierte Konfiguration einer Erweiterung.

--update#

Aktualisieren Sie die vorhandene Konfiguration der Erweiterung.

You can either define which project or component to install the add-on in (for example weblate/application), or use --all to include all existing components.

To install Ausgabe von Gettext anpassen for all components:

weblate install_addon --addon weblate.gettext.customize --config '{"width": -1}' --update --all

Siehe auch

Erweiterungen

list_languages#

weblate list_languages <locale>#

Lists supported languages in MediaWiki markup - language codes, English names and localized names.

This is used to generate <https://wiki.l10n.cz/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF>.

list_translators#

weblate list_translators <project|project/component>#

Lists translators by contributed language for the given 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.

You can either define which project or component to use (for example weblate/application), or use --all to list translators from all existing components.

list_versions#

weblate list_versions#

Lists all Weblate dependencies and their versions.

loadpo#

weblate loadpo <project|project/component>#

Reloads translations from disk (for example in case you have done some updates in the VCS repository).

--force#

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

--lang LANGUAGE#

Limit processing to a single language.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Bemerkung

You seldom need to invoke this, Weblate will automatically load changed files for every VCS update. This is needed in case you manually changed an underlying Weblate VCS repository or in some special cases following an upgrade.

lock_translation#

weblate lock_translation <project|project/component>#

Prevents further translation of a component.

Hinweis

Useful in case you want to do some maintenance on the underlying repository.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

migrate#

weblate migrate#

Migrates database to current Weblate schema. The command line options are described at Django migrate.

Hinweis

In case you want to run an installation non interactively, you can use weblate migrate --noinput, and then create an admin user using weblate createadmin command.

move_language#

weblate move_language source target#

Neu in Version 3.0.

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.

Beispiel:

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

Pushes committed changes to the upstream VCS repository.

--force-commit#

Force commits any pending changes, prior to pushing.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Bemerkung

Weblate pushes changes automatically if Bei Commit gleichzeitig Pushen in Komponentenkonfiguration is turned on, which is the default.

unlock_translation#

weblate unlock_translation <project|project/component>#

Unlocks a given component, making it available for translation.

Hinweis

Useful in case you want to do some maintenance on the underlying repository.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

setupgroups#

weblate setupgroups#

Configures default groups and optionally assigns all users to that default group.

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

setuplang#

weblate setuplang#

Updates list of defined languages in Weblate.

--no-update#

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

updatechecks#

weblate updatechecks <project|project/component>#

Updates all checks for all strings.

Hinweis

Useful for upgrades which do major changes to checks.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Bemerkung

Checks are recalculated regularly by Weblate in the background, the frequency can be configured via BACKGROUND_TASKS.

updategit#

weblate updategit <project|project/component>#

Fetches remote VCS repositories and updates the internal cache.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Bemerkung

Usually it is better to configure hooks in the repository to trigger Benachrichtigungs-Hooks, instead of regular polling by weblate updategit.