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.

Om du använder virtualenv för Weblate kan du antingen ange den fullständiga sökvägen till weblate eller aktivera virtualenv innan du startar det:

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

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

Om du har installerat Weblate med pip-installationsprogrammet eller med skriptet ./setup.py, installeras weblate i din sökväg (eller virtualenv-sökväg), varifrån du kan använda det för att styra 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-postadress till författaren för förslag. Denna användare måste finnas innan importen (du kan skapa en i administratörsgränssnittet om det behövs).

Exempel:

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

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

Anger vilken komponent som ska användas som källa för översättning. Om inget anges används alla komponenter i projektet.

--user USERNAME

Ange användarnamn som anges som författare till översättningarna. Om inget anges används ”Anonym användare”.

--overwrite

Om befintliga översättningar ska skrivas över.

--inconsistent

Om befintliga översättningar som är inkonsekventa ska skrivas över (se Inkonsekvent).

--add

Lägg automatiskt till språk om en viss översättning inte finns.

--mt MT

Använd maskinöversättning istället för andra komponenter som maskinöversättningar.

--threshold THRESHOLD

Likhetsgräns för maskinöversättning, standardvärde är 80.

--mode MODE

Ange översättningsläge, standard är translate men fuzzy eller suggest kan också användas.

Exempel:

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

benchmark

weblate benchmark

Importerar innehåll till Weblate, användbart för benchmarking.

Exempel på prestationsprofilering
# 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
Exempel på minnesprofilering
# 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.

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

Ålder i timmar för att begå. Om inget anges används det värde som konfigurerats i Komponentkonfiguration.

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.

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

SSH-arkiv

createadmin

weblate createadmin

Skapar ett admin-konto med ett slumpmässigt lösenord, om inget annat anges.

--password PASSWORD

Anger ett lösenord på kommandoraden för att inte generera ett slumpmässigt lösenord.

--no-password

Ange inte lösenord, detta kan vara användbart med –update.

--username USERNAME

Använd det angivna namnet istället för admin.

--email USER@EXAMPLE.COM

Ange administratörens e-postadress.

--name

Ange administratörens namn (synligt).

--update

Uppdatera befintlig användare (du kan använda detta för att ändra lösenord).

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

Tar bort befintligt demoprojekt.

import_json

weblate import_json <json-file>

Batchimport 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

Anger varifrån komponenterna ska importeras.

--main-component COMPONENT

Använd det angivna VCS-arkivet från denna komponent för alla.

--ignore

Hoppa över (redan) importerade komponenter.

--update

Uppdatera (redan) importerade komponenter.

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

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

Gör det möjligt att mappa språk i TMX till Weblate-översättningsminnet. Språkkoderna mappas efter normalisering, som vanligtvis utförs av Weblate.

--language-map en_US:en importerar till exempel alla en_US-strängar som en-strängar.

Detta kan vara användbart om dina TMX-filers språkinställningar inte stämmer överens med dem du använder i Weblate.

--source-language SOURCE_LANG

Anger källspråket för importerade översättningar. Behövs vanligtvis för format där språken inte kan fastställas utifrån själva filen.

--target-language TARGET_LANG

Anger målspråket för importerade översättningar. Behövs vanligtvis för format där språken inte kan fastställas utifrån själva filen.

import_project

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

Importerar 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

Anpassa namnet på en komponent med hjälp av Djangos mallsyntax.

Till exempel: Dokumentation: {{ komponent }}

--base-file-template TEMPLATE

Anpassa basfilen för enspråkiga översättningar.

Till exempel: {{ component }}/res/values/string.xml

--new-base-template TEMPLATE

Anpassa basfilen för att lägga till nya översättningar.

Till exempel: {{ component }}/ts/en.ts

--file-format FORMAT

Du kan också ange vilket filformat som ska användas (se Lokalisering filformat), standardinställningen är automatisk detektering.

--language-regex REGEX

Du kan ange språkfiltrering (se Komponentkonfiguration) med denna parameter. Det måste vara ett giltigt reguljärt uttryck.

--main-component

Du kan ange vilken komponent som ska väljas som huvudkomponent – den som faktiskt innehåller VCS-arkivet.

--license NAME

Ange den övergripande översättningslicensen, projektlicensen eller komponentlicensen.

--license-url URL

Ange den URL där översättningslicensen finns.

--vcs NAME

Om du behöver ange vilket versionshanteringssystem som ska användas kan du göra det här. Standardversionshanteringen är 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

Med detta alternativ kontrolleras endast om en viss fil kan importeras och eventuella konflikter som uppstår på grund av användarnamn eller e-postadresser rapporteras.

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.

install_addon

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

Installerar ett tillägg till en uppsättning komponenter.

--addon ADDON

Namnet på tillägget som ska installeras. Till exempel weblate.gettext.customize.

--configuration CONFIG

JSON-kodad konfiguration av ett tillägg.

--update

Uppdatera den befintliga tilläggskonfigurationen.

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

Tillägg

install_machinery

Added in version 4.18.

weblate install_machinery --service SERVICE

Installerar en automatisk förslagstjänst för hela webbplatsen.

--service SERVICE

Namnet på tjänsten som ska installeras. Till exempel deepl.

--configuration CONFIG

JSON-kodad konfiguration av en tjänst.

--update

Uppdatera den befintliga tjänstekonfigurationen.

För att installera DeepL:

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

list_addons

weblate list_addons

Listar tillägg i reStructuredText som en mall för Tillägg.

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.

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

Lista namn efter språkkod istället för språknamn.

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.

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

Tvinga uppdatering, även om filerna borde vara uppdaterade.

--lang LANGUAGE

Begränsa bearbetningen till ett enda språk.

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.

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.

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 bekräftar alla väntande ändringar innan de skickas.

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

lock_translation

setupgroups

weblate setupgroups

Konfigurerar standardgrupper och tilldelar valfritt alla användare till den standardgruppen.

--no-privs-update

Stänger av automatisk uppdatering av befintliga grupper (lägger endast till nya).

--no-projects-update

Förhindrar automatiska uppdateringar av grupper för befintliga projekt. Detta gör det möjligt att lägga till nyligen tillagda grupper till befintliga projekt, se Åtkomstsinställning för projektet.

setuplang

weblate setuplang

Uppdaterar listan över definierade språk i Weblate.

--no-update

Stänger av automatiska uppdateringar av befintliga språk (lägger endast till nya).

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.