Ledningskommandon¶
Observera
Om du kör administrationskommandon under en annan användare än den som kör din webbserver kan det leda till att filer får fel behörigheter. Se Filssystemets behörigheter för mer information.
Du hittar grundläggande hanteringskommandon (tillgängliga som ./manage.py i Django-källkoden, eller som en utökad uppsättning i ett skript som heter weblate som kan installeras ovanpå Weblate).
Använda administrationskommandon¶
Som tidigare nämnts beror anropet på hur du har installerat 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
Om du använder källkoden direkt (antingen från en tarball eller Git checkout) finns administrationsskriptet ./manage.py tillgängligt i Weblate-källorna. För att köra det:
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
För Docker-bilden installeras skriptet som ovan, och du kan köra det med docker exec:
docker exec --user weblate <container> weblate list_versions
För docker-compose-plugin är processen liknande, du behöver bara använda docker compose exec:
docker compose exec --user weblate weblate weblate list_versions
Om du behöver överföra en fil kan du tillfälligt lägga till en volym:
docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json
add_suggestions¶
- weblate add_suggestions <project> <component> <language> <file>¶
Importerar en översättning från filen för att använda som förslag för den angivna översättningen. Den hoppar över dubbla översättningar; endast olika översättningar läggs till.
- --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).
Exempel:
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
--sinceis 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.
Exempel:
weblate analyze_translator_work --project weblate --since 2026-01-01
auto_translate¶
- weblate auto_translate <project> <component> <language>¶
Förändrat i version 4.6: Lagt till parameter för översättningsläge.
Utför automatisk översättning baserat på översättningar från andra komponenter.
- --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 Inkonsekvent).
- --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.
Exempel:
weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs
Se även
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.
Exempel:
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¶
Importerar innehåll till Weblate, användbart för 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.
Skapar ett demo-faktureringsprojekt. Kan köras flera gånger för att lägga till ytterligare fakturor och faktureringshändelser.
Detta kan vara användbart vid utveckling av Weblate. Kräver att Fakturering är installerat.
celery_queues¶
- weblate celery_queues¶
Visar längden på Celery-uppgiftsköerna.
Se även
checkgit¶
- weblate checkgit <project|project/component>¶
Skriver ut det aktuella tillståndet för Git-arkivet på backend-sidan.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application) eller använda --all för att uppdatera alla befintliga komponenter.
commitgit¶
- weblate commitgit <project|project/component>¶
Sparar alla eventuella väntande ändringar i Git-arkivet.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application), använda --all för att uppdatera alla befintliga komponenter eller använda --file-format för att filtrera utifrån filformatet.
commit_pending¶
- weblate commit_pending <project|project/component>¶
Bekräftar väntande ändringar som är äldre än en viss ålder.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application) eller använda --all för att uppdatera alla befintliga komponenter.
- --age HOURS¶
Age in hours for committing. If not specified the value configured in Komponentkonfiguration is used.
Observera
Detta utförs automatiskt i bakgrunden av Weblate, så det finns inget egentligt behov av att göra detta manuellt, förutom för att tvinga fram en tidigare commit än den som anges av Komponentkonfiguration.
cleanuptrans¶
- weblate cleanuptrans¶
Rensar bort övergivna kontroller och översättningsförslag. Normalt behöver detta inte köras manuellt, eftersom rensningen sker automatiskt i bakgrunden.
Se även
cleanup_memory¶
- weblate cleanup_memory¶
Added in version 5.13.
Tar bort alla föråldrade poster med status ”väntande” från översättningsminnet.
cleanup_ssh_keys¶
- weblate cleanup_ssh_keys¶
Added in version 4.9.1.
Rensar lagrade SSH-värdnycklar:
Tar bort föråldrade RSA-nycklar för GitHub som kan orsaka problem vid anslutning till GitHub.
Tar bort dubbla poster i värdnycklar.
Se även
createadmin¶
- weblate createadmin¶
Skapar ett admin-konto med ett slumpmässigt lösenord, om inget annat anges.
- --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¶
Exportera en JSON-fil som innehåller innehållet i Weblate Translation Memory.
dumpuserdata¶
- weblate dumpuserdata <file.json>¶
Sparar användardata till en fil för senare användning av importuserdata.
Råd
Detta är praktiskt när man migrerar eller slår samman Weblate-instanser.
import_demo¶
- weblate import_demo¶
Added in version 4.1.
Skapar ett demoprojekt med komponenter baserade på <https://github.com/WeblateOrg/demo>. Se till att celery-uppgifterna körs innan du kör detta kommando.
Detta kan vara användbart vid utveckling av Weblate.
- --delete¶
Removes existing demo project.
import_json¶
- weblate import_json <json-file>¶
Massimport av komponenter baserat på JSON-data.
Den importerade JSON-filstrukturen motsvarar i stort sett komponentobjektet (se GET /api/components/(string:project)/(string:component)/). Du måste inkludera fälten name och 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.
Exempel på JSON-fil:
[
{
"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"
}
]
Se även
import_memory¶
- weblate import_memory <file>¶
Importerar en fil till Weblate-översättningsminnet.
Följande filformat stöds: TMX, JSON, XLIFF, PO, CSV.
Det kan vara nödvändigt att ange källspråk och målspråk för andra format än JSON och 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>¶
Massimporterar komponenter till projektet baserat på filmasken. Det baseras på tillägget Komponentupptäckt, så du kanske vill använda det istället.
<project> namnger ett befintligt projekt, till vilket komponenterna ska importeras.
<gitrepo> definierar vilken Git-repository-URL som ska användas, och<branch> anger Git-grenen. För att importera ytterligare översättningskomponenter från en befintlig Weblate-komponent använder du en webate://<project>/<component> URL för<gitrepo>.
<filemask> definierar filupptäckt för arkivet. Det kan antingen göras enkelt med hjälp av jokertecken eller så kan det utnyttja hela kraften i reguljära uttryck.
Den enkla matchningen använder ** för komponentnamn och * för språk, till exempel: **/*.po
Det reguljära uttrycket måste innehålla grupper med namnen component och language, till exempel: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po.
Importen matchar befintliga komponenter baserat på filer och lägger till de som inte finns. Den ändrar inte redan befintliga komponenter.
- --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 Lokalisering filformat), the default is auto-detection.
- --language-regex REGEX¶
You can specify language filtering (see Komponentkonfiguration) 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.
För att ge några exempel, låt oss prova att importera två projekt.
Först översättningarna av Debian-handboken, där varje språk har en separat mapp med översättningarna av varje kapitel:
weblate import_project \
debian-handbook \
https://salsa.debian.org/hertzog/debian-handbook.git \
bullseye/main \
'*/**.po'
Sedan Tanaguru-verktyget, där filformatet måste anges, tillsammans med basfilmallen och hur alla komponenter och översättningar finns i en enda mapp:
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
Mer komplext exempel på parsning av filnamn för att få fram rätt komponent och språk ur ett filnamn som 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$'
Filtrera endast översättningar på ett valt språk:
./manage import_project \
--language-regex '^(cs|sk)$' \
weblate \
https://github.com/WeblateOrg/weblate.git \
'weblate/locale/*/LC_MESSAGES/**.po'
Importera Sphinx-dokumentation uppdelad i flera filer:
$ weblate import_project --name-template 'Documentation: %s' \
--file-format po \
project https://github.com/project/docs.git master \
'docs/locale/*/LC_MESSAGES/**.po'
Importera Sphinx-dokumentation uppdelad i flera filer och kataloger:
$ 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'
Se även
Mer detaljerade exempel finns i kapitlet Börja med internationalisering. Alternativt kan du använda import_json.
import_projectbackup¶
- weblate import_projectbackup <project_name> <project_slug> <username> <filename>¶
Added in version 5.10.
Importerar Säkerhetskopior på projektnivå.
Råd
Vanligtvis är det bekvämare att importera projekt när Lägga till översättningsprojekt och komponenter.
importuserdata¶
- weblate importuserdata <file.json>¶
Importerar användardata från en fil som skapats av dumpuserdata.
importusers¶
- weblate importusers --check <file.json>¶
Importerar användare från JSON-dump av Django auth_users-databasen.
- --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.
Du kan ta bort användare från den befintliga Django-webbplatsen med hjälp av:
./manage.py dumpdata auth.User > users.json
Råd
Använd dumpuserdata för att dumpa data från andra Weblate-servrar, eftersom det även inkluderar användarinställningar.
Se även
install_addon¶
- weblate install_addon --addon ADDON <project|project/component>¶
Installerar ett tillägg till en uppsättning komponenter.
- --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.
Du kan antingen ange vilket projekt eller vilken komponent tillägget ska installeras i (till exempel weblate/application), eller använda --all för att inkludera alla befintliga komponenter.
För att installera Generera MO-filer för alla komponenter:
weblate install_addon --addon weblate.gettext.mo --configuration '{"fuzzy": true}' --update --all
Se även
install_machinery¶
Added in version 4.18.
- weblate install_machinery --service SERVICE¶
Installerar en automatisk förslagstjänst för hela webbplatsen.
- --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.
För att installera DeepL:
weblate install_machinery --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update
Se även
list_addons¶
- weblate list_addons¶
Listar tillägg i reStructuredText som en mall för Tillägg.
- --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¶
Listar behörigheter i reStructuredText som en mall för Åtkomstkontroll.
list_checks¶
- weblate list_checks¶
Listar kvalitetskontroller i reStructuredText som en mall för Kontroller och korrigeringar och Kontroller och korrigeringar.
- --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.
Observera
Using --output requires selecting exactly one value in --sections so
each generated snippet is written to its own file. This matches the
Bidra till Weblate-dokumentationen workflow and the make -C docs
update-docs targets.
list_languages¶
- weblate list_languages <locale>¶
Listar språk som stöds i MediaWiki-markup – språkkoder, engelska namn och lokaliserade namn.
Detta används för att generera <https://www.l10n.cz/wiki/Slovn%C3%ADky/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF/>.
list_machinery¶
- weblate list_machinery¶
Listar automatiska förslagstjänster i reStructuredText som en mall för Automatiska förslag.
list_translators¶
- weblate list_translators <project|project/component>¶
Listar översättare efter bidragande språk för det angivna projektet:
[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
- --language-code¶
List names by language code instead of language name.
Du kan antingen ange vilket projekt eller vilken komponent som ska användas (till exempel weblate/application) eller använda --all för att visa översättare från alla befintliga komponenter.
list_versions¶
- weblate list_versions¶
Visar alla Weblate-beroenden och deras versioner.
list_file_format_params¶
- weblate list_file_format_params¶
Listar filformatsparametrar.
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.
Observera
The generated documentation files are meant to be included in documentation sources such as Lokalisering filformat. See also weblate/formats/management/commands/list_format_features.py for customization and merging logic.
loadpo¶
- weblate loadpo <project|project/component>¶
Laddar om översättningar från disken (till exempel om du har gjort några uppdateringar i VCS-arkivet).
- --force¶
Force update, even if the files should be up-to-date.
- --lang LANGUAGE¶
Limit processing to a single language.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application) eller använda --all för att uppdatera alla befintliga komponenter.
Observera
Du behöver sällan använda detta, eftersom Weblate automatiskt laddar ändrade filer vid varje VCS-uppdatering. Detta behövs om du manuellt har ändrat ett underliggande Weblate VCS-arkiv eller i vissa specialfall efter en uppgradering.
lock_translation¶
- weblate lock_translation <project|project/component>¶
Förhindrar ytterligare översättning av en komponent.
Råd
Användbart om du vill utföra underhåll på det underliggande arkivet.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application) eller använda --all för att uppdatera alla befintliga komponenter.
Se även
migrate¶
- weblate migrate¶
Migrerar databasen till det aktuella Weblate-schemat. Kommandoradsalternativen beskrivs på Django migrate.
Råd
Om du vill köra en installation icke-interaktivt kan du använda weblate migrate --noinput och sedan skapa en administratörsanvändare med kommandot createadmin.
Se även
move_language¶
- weblate move_language source target¶
Gör det möjligt att slå samman språkinnehåll. Detta är användbart när du uppdaterar till en ny version som innehåller alias för tidigare okända språk som har skapats med suffixet (generated). Det flyttar allt innehåll från källspråket till målspråket.
Exempel:
weblate move_language cze cs
Efter att ha flyttat innehållet bör du kontrollera om något finns kvar (detta är föremål för race conditions om någon uppdaterar arkivet under tiden) och ta bort språket (generated).
pushgit¶
- weblate pushgit <project|project/component>¶
Skickar bekräftade ändringar till uppströms VCS-arkivet.
- --force-commit¶
Force commits any pending changes, prior to pushing.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application) eller använda --all för att uppdatera alla befintliga komponenter.
Observera
Weblate skickar automatiskt ändringar om Skicka vid incheckning i Komponentkonfiguration är aktiverat, vilket är standardinställningen.
unlock_translation¶
- weblate unlock_translation <project|project/component>¶
Låser upp en viss komponent och gör den tillgänglig för översättning.
Råd
Användbart om du vill utföra underhåll på det underliggande arkivet.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application) eller använda --all för att uppdatera alla befintliga komponenter.
Se även
setupgroups¶
- weblate setupgroups¶
Konfigurerar standardgrupper och tilldelar valfritt alla användare till den standardgruppen.
- --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 Åtkomstsinställning för projektet.
Se även
setuplang¶
- weblate setuplang¶
Uppdaterar listan över definierade språk i Weblate.
- --no-update¶
Turns off automatic updates of existing languages (only adds new ones).
updatechecks¶
- weblate updatechecks <project|project/component>¶
Uppdaterar alla kontroller för alla strängar.
Råd
Användbart för uppgraderingar som innebär större förändringar av kontroller.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application) eller använda --all för att uppdatera alla befintliga komponenter.
Observera
Kontroller beräknas regelbundet av Weblate i bakgrunden. Frekvensen kan konfigureras via BACKGROUND_TASKS.
updategit¶
- weblate updategit <project|project/component>¶
Hämtar fjärr-VCS-arkiv och uppdaterar den interna cachen.
Du kan antingen ange vilket projekt eller vilken komponent som ska uppdateras (till exempel weblate/application) eller använda --all för att uppdatera alla befintliga komponenter.
Observera
Vanligtvis är det bättre att konfigurera krokar i arkivet för att utlösa Aviseringskopplingar, istället för att regelbundet utlösa uppdateringar med updategit.