Tillägg¶
Tillägg erbjuder möjligheter att anpassa och automatisera översättningsflödet. Administratörer kan lägga till och hantera tillägg från menyn Operations ↓ Add-ons i respektive översättningsprojekt eller komponent. Tillägg kan också installeras för hela webbplatsen i Hanteringsgränssnitt.
Råd
Du kan också konfigurera tillägg med hjälp av API-, DEFAULT_ADDONS eller install_addon.
Händelser som utlöser tillägg¶
Tilläggsinstallation¶
Aktiveras när tillägget installeras.
Komponentuppdatering¶
Aktiveras när en förändring sker i en komponent, till exempel:
Strängarna ändras i arkivet.
En sträng läggs till.
En ny översättning har lagts till.
Dagligen¶
Aktiveras dagligen, men tillägg delar vanligtvis upp den dagliga belastningen mellan komponenter beroende på BACKGROUND_TASKS.
Ändring av evenemang¶
Aktiveras efter att en ändringshändelse har skapats.
Repository efter tillägg¶
Aktiveras strax efter att den nya översättningen har lagts till och bekräftats.
Repository efter commit¶
Aktiveras strax efter att ändringarna har bekräftats.
Repository efter push¶
Aktiveras strax efter att arkivet har skickats uppströms.
Repository efter uppdatering¶
Aktiveras varje gång nya ändringar hämtas från uppströmsrepositoriet.
Repository pre-commit¶
Aktiveras precis innan ändringarna genomförs.
Repository före push¶
Aktiveras precis innan arkivet skickas uppströms.
Repository före uppdatering¶
Aktiveras precis innan uppdateringen av arkivet försöks.
Enhet efter sparande¶
Aktiveras direkt efter att strängen har sparats.
Enhet efter synkronisering¶
Aktiveras efter att strängen har synkroniserats med VCS.
Enhet förskapas¶
Aktiveras strax efter att den nyskapade strängen har sparats.
Inbyggda tillägg¶
Automatisk översättning¶
- Tilläggs-ID:
weblate.autotranslate.autotranslate- Konfiguration:
modeAutomatiskt översättningsläge
Tillgängliga alternativ:¶ suggestLägg till som förslag
translateLägg till som översättning
fuzzyLägg till som ”Behöver åtgärdas”
qSökning
Observera att om du översätter alla strängar kommer alla befintliga översättningar att slängas.
auto_sourceKälla för automatiserade översättningar
Tillgängliga alternativ:¶ othersAndra översättningskomponenter
mtMaskinöversättning
componentKomponent
Ange URL-slug för den komponent som ska användas som källa, lämna tom för att använda alla komponenter i det aktuella projektet.
enginesÖversättningsmotor
thresholdPoänggräns
- Utlösare:
Tilläggsinstallation, Komponentuppdatering, Dagligen, Ändring av evenemang
Översätter automatiskt strängar med maskinöversättning eller andra komponenter.
JavaScript-lokalisering CDN¶
Added in version 4.2.
- Tilläggs-ID:
weblate.cdn.cdnjs- Konfiguration:
thresholdÖversättningströskel
Den procentandel av översatta strängar som måste finnas för att översättningen ska inkluderas.
css_selectorCSS-väljare
CSS-väljare för att upptäcka lokaliserbara element.
cookie_nameNamn på språkcookie
Namn på cookie som lagrar språkinställningar.
filesExtrahera strängar från HTML-filer
Lista över filnamn i aktuella databas- eller fjärradresser som ska tolkas för översättningsbara strängar.
- Utlösare:
Tilläggsinstallation, Dagligen, Repository efter commit, Repository efter uppdatering
Publicerar översättningar till content delivery network för användning i JavaScript eller HTML-lokalisering.
Kan användas för att lokalisera statiska HTML-sidor eller för att ladda lokalisering i JavaScript-koden.
Genererar en unik URL för din komponent som du kan inkludera i HTML-sidor för att lokalisera dem. Se Översättning av HTML och JavaScript med Weblate CDN för mer information.
Observera
Detta tillägg kräver ytterligare konfiguration på Weblate-servern. LOCALIZE_CDN_PATH konfigurerar var genererade filer ska skrivas (på ett filsystem) och LOCALIZE_CDN_URL definierar var de ska serveras (URL). Serveringen av filerna sköts inte av Weblate och måste konfigureras externt (vanligtvis med hjälp av en CDN-tjänst).
Detta tillägg är konfigurerat på Hosted Weblate och levererar filerna via https://weblate-cdn.com/.
Ta bort tomma strängar¶
Added in version 4.4.
- Tilläggs-ID:
weblate.cleanup.blank- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Tilläggsinstallation, Repository efter commit, Repository efter uppdatering
Tar bort strängar utan en översättning från översättningsfiler.
Använd detta för att undvika tomma strängar i översättningsfiler (till exempel om ditt lokaliseringsbibliotek visar dem som saknade istället för att återgå till källsträngen).
Städa upp i översättningsfiler¶
- Tilläggs-ID:
weblate.cleanup.generic- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Tilläggsinstallation, Repository efter uppdatering, Repository pre-commit
Uppdatera alla översättningsfiler så att de stämmer överens med den enspråkiga basfilen. För de flesta filformat betyder det att översättningsposter som inte finns kvar i basfilen kommer att raderas.
För format som innehåller ytterligare innehåll utöver översättningssträngar (såsom HTML-filer, Windows RC-filer eller OpenDocument-format) synkroniseras även översättningsfilen med basfilen.
Lägg till saknade språk¶
- Tilläggs-ID:
weblate.consistency.languages- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Säkerställer att en enhetlig uppsättning språk används för alla komponenter i ett projekt.
Observera
Komponenter som delas från andra projekt beaktas inte i detta.
Saknade språk kontrolleras en gång var 24:e timme, och när nya språk läggs till i Weblate.
Till skillnad från de flesta andra påverkar detta tillägg hela projektet.
Råd
Översätt automatiskt de nyligen tillagda strängarna med Automatisk översättning.
Komponentupptäckt¶
- Tilläggs-ID:
weblate.discovery.discovery- Konfiguration:
matchReguljärt uttryck för att matcha översättningsfiler mot
file_formatFilformat
name_templateAnpassa komponentnamnet
base_file_templateDefiniera den enspråkiga basspråkfilen
Lämna tom för tvåspråkiga översättningsfiler.
new_base_templateDefiniera basfil för nya översättningar
Filnamn på fil som används för att skapa nya översättningar. Välj .pot-fil för gettext.
intermediate_templateMellanliggande språkfil
Filnamn för mellanliggande översättningsfil. I de flesta fall är detta en översättningsfil som tillhandahålls av utvecklare och som används vid skapandet av faktiska källsträngar.
language_regexSpråkfilter
Reguljärt uttryck för att filtrera översättningsfiler vid sökning efter filmask.
copy_addonsKlona tillägg från huvudkomponenten till de nyligen skapade
removeTa bort komponenter för icke-befintliga filer
confirmJag bekräftar att ovanstående matchningar ser ut att vara korrekta
- Utlösare:
Lägger till och tar bort projektkomponenter automatiskt baserat på filändringar i versionskontrollsystemet.
Matchningen görs med hjälp av reguljära uttryck som möjliggör komplex konfiguration, men det krävs viss kunskap för att göra detta. Några exempel på vanliga användningsfall finns i hjälpavsnittet för tillägget.
Det reguljära uttrycket som matchar översättningsfiler måste innehålla två namngivna grupper för att matcha komponent och språk. Alla namngivna grupper i det reguljära uttrycket kan användas som variabler i mallfälten.
Du kan använda Django-mallmarkeringar i alla filnamnsfält, till exempel:
{{ component }}Komponent filnamn match
{{ component|title }}Komponentfilnamn med stor begynnelsebokstav
{{ path }}: {{ component }}Anpassad matchningsgrupp från det reguljära uttrycket
När du klickar på Spara visas en förhandsgranskning av matchande komponenter, där du kan kontrollera om konfigurationen verkligen motsvarar dina behov:
Exempel på komponentupptäckt¶
En mapp per språk¶
En katalog per språk som innehåller översättningsfiler för komponeter.
- Reguljärt uttryck:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po- Filer som matchar:
cs/application.pocs/website.pode/application.pode/website.po
Gettext-lokaliseringens layout¶
Vanlig struktur för att lagra gettext PO-filer.
- Reguljärt uttryck:
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po- Filer som matchar:
locale/cs/LC_MESSAGES/application.polocale/cs/LC_MESSAGES/website.polocale/de/LC_MESSAGES/application.polocale/de/LC_MESSAGES/website.po
Komplexa filnamn¶
Använder både komponent- och språknamn i filnamn.
- Reguljärt uttryck:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po- Filer som matchar:
src/locale/application.cs.posrc/locale/website.cs.posrc/locale/application.de.posrc/locale/website.de.po
Upprepad språkkod¶
Använder språk i både sökväg och filnamn.
- Reguljärt uttryck:
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po- Filer som matchar:
locale/cs/application/cs.polocale/cs/website/cs.polocale/de/application/de.polocale/de/website/de.po
Dela Android-strängar¶
Android resurssträngar, dela i flera filer.
- Reguljärt uttryck:
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml- Filer som matchar:
res/values-cs/strings-about.xmlres/values-cs/strings-help.xmlres/values-de/strings-about.xmlres/values-de/strings-help.xml
Matchning av flera sökvägar¶
Flermoduls Maven-projekt med översättningar av Java-egenskaper.
- Reguljärt uttryck:
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties- Komponentnamn:
{{ originalHierarchy }}: {{ component }}- Filer som matchar:
parent/module1/submodule/src/main/resources/ApplicationResources_fr.propertiesparent/module1/submodule/src/main/resources/ApplicationResource_es.propertiesparent/module2/src/main/resources/ApplicationResource_de.propertiesparent/module2/src/main/resources/ApplicationResource_ro.properties
Råd
Komponentupptäcktstillägget använder Weblates interna URL:er. Det är ett bekvämt sätt att dela VCS-inställningar mellan flera komponenter. Länkade komponenter använder det lokala arkivet för huvudkomponenten som konfigurerats genom att fylla i weblate://project/main-component i fältet Källkodsarkiv (i Operations ↓ Settings ↓ Version control system) för respektive komponent. Detta sparar tid vid konfigurationen och även systemresurser.
Råd
Se till att den nya komponenten innehåller alla översättningsbara språk med Lägg till saknade språk.
Varning
För att upptäckas måste en ny komponent innehålla en fil som matchar base_file_template och minst en fil med ett namn som matchar match – dvs. komponenten måste innehålla en basspråkfil och minst en befintlig översättning. Annars kommer den att ignoreras.
Se även
Fedora Messaging¶
Added in version 5.15.
- Tilläggs-ID:
weblate.fedora_messaging.publish- Konfiguration:
eventsÄndringshändelser
amqp_hostAMQP-brokervärd
AMQP-brokern som ska anslutas till.
amqp_sslAnvänd SSL för AMQP-anslutning
ca_certCA-certifikat
Paket med PEM-kodade CA-certifikat som används för att validera det certifikat som presenteras av servern.
client_keyKlient-SSL-nyckel
PEM-kodad privat SSL-nyckel för klient.
client_certSSL-certifikat för klienten
PEM-kodat SSL-certifikat för klient.
- Utlösare:
Skickar aviseringar till en Fedora Messaging-kompatibel AMQP-växel.
Fedora Messaging är en AMQP-baserad publiceringsplattform för alla ändringar som sker i Weblate. Med hjälp av denna kan du koppla ytterligare tjänster till ändringar som sker i Weblate.
Meddelandeämne¶
Alla meddelanden har ämnet weblate.<action>.<project>.<component>.<translation>. Åtgärden är en textrepresentation i gemener av åtgärden med understreck istället för mellanslag, till exempel resource_update. Alla andra delar är valfria och representerar objektets slug eller en språkkod.
Meddelande¶
Kroppen består av följande fält (förutsatt att de är tillgängliga för evenemanget):
change_idNumeriskt ID för ändring
actionDetaljerat namn på ändringen.
timestampTidsstämpel i ISO-format
targetNytt värde för ändringen (t.ex. ny översättning av strängen)
oldGammalt värde för ändringen (t.ex. tidigare översättning av strängen)
sourceKällsträng.
urlAbsolut URL för att visa det relaterade objektet.
authorFörfattarens användarnamn (detta kan skilja sig från användarnamnet, till exempel när förslag accepteras)
userTillfälligt användarnamn
projectProjektslugg
componentKomponent slug
translationÖversättningsspråkkod
Meddelandehuvuden¶
Det finns ytterligare rubriker som du också kan använda för routning:
actionDetaljerat namn på ändringen.
projectProjektslugg
componentKomponent slug
Exempel på meddelanden¶
Händelse för sammanslagning av arkiv:
{
"id": 1,
"action": "Merged repository",
"timestamp": "2017-06-15T11:30:47.325000+00:00",
"url": "http://example.com/projects/test/test/",
"component": "test"
}
Ny källsträngshändelse:
{
"id": 2,
"action": "New source string",
"timestamp": "2017-06-15T11:30:47.372000+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
Resursuppdateringsevenemang:
{
"id": 6,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.410000+00:00",
"url": "http://example.com/projects/test/test/cs/",
"project": "test",
"component": "test",
"translation": "cs"
}
{
"id": 7,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.510000+00:00",
"url": "http://example.com/projects/test/test/de/",
"project": "test",
"component": "test",
"translation": "de"
}
{
"id": 8,
"action": "Resource update",
"timestamp": "2017-06-15T11:30:47.595000+00:00",
"url": "http://example.com/projects/test/test/it/",
"project": "test",
"component": "test",
"translation": "it"
}
Projektborttagningsevenemang:
{
"id": 9,
"action": "Removed project",
"timestamp": "2019-10-17T15:57:08.559420+00:00",
"target": "test",
"user": "testuser"
}
Nytt evenemang för bidragsgivare:
{
"id": 11,
"action": "New contributor",
"timestamp": "2019-10-17T15:57:08.759960+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"author": "testuser",
"user": "testuser",
"project": "test",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
Nytt översättningsarrangemang:
{
"id": 12,
"action": "New translation",
"timestamp": "2019-10-17T15:57:08.772591+00:00",
"url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
"target": ["Ahoj svete!\n"],
"author": "testuser",
"user": "testuser",
"project": "test",
"component": "test",
"translation": "cs",
"source": ["Hello, world!\n"]
}
Massredigering¶
- Tilläggs-ID:
weblate.flags.bulk- Konfiguration:
qSökning
stateTillstånd som ska sättas
Tillgängliga alternativ:¶ -1Ändra inte
10Behöver åtgärdas
11Behöver redigeras (Behöver skrivas om)
12Behöver redigeras (Behöver kontrolleras)
20Översatt
30Godkänd
add_flagsÖversättningsflaggor att lägga till
remove_flagsÖversättningsflaggor att ta bort
add_labelsEtiketter att lägga till
remove_labelsEtiketter att ta bort
- Utlösare:
Massredigering av flaggor, etiketter eller strängstatus.
Exempel:
Sökfråga |
|
|---|---|
Etiketter att lägga till |
senaste |
Sökfråga |
|
|---|---|
Översättningsflaggor att lägga till |
|
Sökfråga |
|
|---|---|
Översättningsflaggor att lägga till |
|
Markera oförändrade översättningar som ”Behöver skrivas om”¶
- Tilläggs-ID:
weblate.flags.same_edit- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
När en ny översättningsbar sträng importeras från VCS och den matchar en källsträng, markeras den som att den behöver skrivas om i Weblate. Detta är särskilt användbart för filformat som innehåller källsträngar för oöversatta strängar.
Råd
Du kanske också vill skärpa kontrollen Oförändrad översättning genom att lägga till flaggan strict-same till Översättningsflaggor.
Se även
Markera nya källsträngar som ”Behöver kontrolleras”¶
- Tilläggs-ID:
weblate.flags.source_edit- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
När en ny källsträng importeras från VCS markeras den som att den behöver kontrolleras i Weblate. På så sätt kan du enkelt filtrera och redigera källsträngar som skrivits av utvecklarna.
Se även
Markera nya översättningar som ”Behöver omskrivning”¶
- Tilläggs-ID:
weblate.flags.target_edit- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
När en ny översättningsbar sträng importeras från VCS markeras den som omskrivningsbar i Weblate. På så sätt kan du enkelt filtrera och redigera översättningar som skapats av utvecklarna.
Se även
Markera uppdaterade översättningar från arkivet som ”Behöver skrivas om”¶
- Tilläggs-ID:
weblate.flags.target_repo_update- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
När en strängöversättning ändras från VCS markeras den som behöver skrivas om i Weblate. Detta är särskilt användbart om översättningsfiler ofta uppdateras manuellt eller av en extern tjänst.
Se även
Fyll skrivskyddade strängar med källsträngen¶
Added in version 4.18.
- Tilläggs-ID:
weblate.generate.fill_read_only- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Fyller i översättningen av skrivskyddade strängar med källsträngen.
Statistikgenerator¶
- Tilläggs-ID:
weblate.generate.generate- Konfiguration:
filenameNamn på genererad fil
templateInnehåll för genererad fil
- Utlösare:
Genererar en fil med detaljerad information om översättningsstatusen.
Du kan använda en Django-mall både i filnamn och innehåll. Se Mallmarkering för en detaljerad beskrivning av markeringen.
Till exempel skapa en sammanfattningsfil för varje översättning:
- Namn på genererad fil
locale/{{ language_code }}.json- Innehåll
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
Se även
Förfyll översättning med källa¶
Added in version 4.11.
- Tilläggs-ID:
weblate.generate.prefill- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Fyller i översättningssträngar med källsträng.
Alla icke översatta strängar i komponenten kommer att fyllas med källsträngen och markeras som redigeringsbara. Använd detta när du inte kan ha tomma strängar i översättningsfilerna.
Pseudolocale-generering¶
Added in version 4.5.
- Tilläggs-ID:
weblate.generate.pseudolocale- Konfiguration:
sourceKällsträngar
targetMålöversättning
Alla strängar i denna översättning kommer att skrivas över
prefixStatisk text i början
var_prefixVariabel text i början
suffixStatisk text i slutet
var_suffixVariabel text i slutet
var_multiplierVariabel textmultiplikator
Hur många gånger variabeltexten ska upprepas beroende på längden på källsträngen.
include_readonlyInkludera skrivskyddade strängar
- Utlösare:
Skapar en översättning genom att automatiskt lägga till prefix och suffix till källsträngarna.
Pseudolokaler är användbara för att hitta strängar som inte är förberedda för lokalisering. Detta görs genom att ändra alla översättningsbara källsträngar så att det blir lätt att upptäcka oförändrade strängar när applikationen körs på pseudolokalens språk.
Det är också möjligt att hitta strängar vars lokaliserade motsvarigheter kanske inte passar in i layouten.
Genom att använda variablerna kan man söka efter strängar som kanske inte passar in i användargränssnittet efter lokaliseringen – det förlänger texten baserat på källsträngens längd. De variabla texterna upprepas med textens längd multiplicerad med multiplikatorn. Till exempel blir Hello world med variabeltext _ och variabel multiplikator 1 Hello world___________ – texten upprepas en gång för varje tecken i källsträngen.
Strängarna genereras enligt följande mönster:
Förinställd statisk text Förinställd variabel text Källsträng Tillagd variabel text Tillagd statisk text
Råd
Du kan använda riktiga språk för testning, men det finns särskilda pseudolokaler tillgängliga i Weblate – en_XA och ar_XB.
Råd
Du kan använda detta tillägg för att starta översättning till en ny lokal av ett befintligt språk eller ett liknande språk. När du har lagt till översättningen till komponenten följer du tillägget. Exempel: Om du har fr och vill starta översättningen av fr_CA, anger du helt enkelt fr som källa, fr_CA som mål och lämnar prefixet och suffixet tomma.
Avinstallera tillägget när du har fyllt i den nya översättningen för att förhindra att Weblate ändrar översättningarna som gjorts efter kopieringen.
Bidragsgivare i kommentar¶
- Tilläggs-ID:
weblate.gettext.authors- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Uppdaterar kommentarsdelen i PO-filens huvud så att deltagarnamn och år av bidrag inkluderas.
PO-filens rubrik kommer att se ut så här:
# Michal Čihař <michal@weblate.org>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.
Uppdatera ALL_LINGUAS-variabeln i ”configure”-filen¶
- Tilläggs-ID:
weblate.gettext.configure- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Uppdaterar variabeln ALL_LINGUAS i configure, configure.in eller alla configure.ac-filer när en ny översättning läggs till.
Anpassa gettext-utmatning¶
Removed in version 5.13: Ersatt av Filformatsparametrar.
Uppdatera LINGUAS-fil¶
- Tilläggs-ID:
weblate.gettext.linguas- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Uppdaterar LINGUAS-filen när en ny översättning adderas.
Generera MO-filer¶
- Tilläggs-ID:
weblate.gettext.mo- Konfiguration:
pathSökväg till genererad MO-fil
Om inte angiven så kommer platsen för PO-filen att användas.
fuzzyInkludera strängar som behöver åtgärdas
Strängar som behöver åtgärdas (fuzzy) är vanligtvis inte redo att användas som översättningar.
- Utlösare:
Genererar automatiskt en MO-fil för varje ändrad PO-fil.
Platsen för den genererade MO-filen kan anpassas och fältet för den använder Mallmarkering.
Observera
Om en översättning tas bort kommer dess PO-fil att raderas från arkivet, men inte MO-filen som genererats av detta tillägg. MO-filen måste tas bort manuellt från uppströms.
Uppdatera PO-filerna till att matcha POT (msgmerge)¶
Förändrat i version 5.13: Inställningar-konfigurationen har flyttats till Filformatsparametrar.
- Tilläggs-ID:
weblate.gettext.msgmerge- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Uppdaterar alla PO-filer (enligt konfigurationen i Filmask) så att de matchar POT-filen (enligt konfigurationen i Mall för nya översättningar) med hjälp av msgmerge.
Detta tillägg är viktigt när du arbetar med gettext PO-filer där POT-filen (mallen) uppdateras med nya strängar eller ändringar av befintliga strängar. När POT-filen uppdateras i arkivet sammanfogar detta tillägg automatiskt dessa ändringar i alla språk-PO-filer, vilket säkerställer att:
Nya översättningsbara strängar visas på alla språk
Borttagna strängar markeras som föråldrade
Modifierade strängar markeras som behöver granskas (fuzzy)
De flesta kommandoradsalternativ för msgmerge kan konfigureras genom att ställa in parametrar för filformat.
Squasha Git arkiveringar¶
- Tilläggs-ID:
weblate.git.squash- Konfiguration:
squashSquasha arkivering
Tillgängliga alternativ:¶ allAlla arkiveringar till en enda
languagePer språk
filePer fil
authorEfter författare
append_trailersLägg till git-trailers till squashade commit meddelande
Trailer-rader är rader som liknar RFC 822 e-posthuvuden i slutet på den i övrigt fria delen av ett arkiveringsmeddelande, t.ex. ’Co-authored-by: …’.
commit_messageArkiveringsmeddelande
Detta arkiveringsmeddelande kommer att användas istället för det kombinerade arkiveringsmeddelandet från de squashade committerna.
- Utlösare:
Squasha Git-arkiveringar innan de pushas.
Råd
För att undvika onödiga konflikter rekommenderas det att konfigurera automatisk mottagning av uppströmsändringar via webhooks eller API, se Uppdatering av filförråden.
Git-commits kan squashas innan ändringarna pushas i något av följande lägen:
Alla arkiveringar till en enda
Per språk
Per fil
Efter författare
Originalcommit-meddelanden behålls, men upphovsmannaskapet går förlorat om inte Per author är valt eller om commit-meddelandet anpassas så att det inkluderar det.
De ursprungliga commit-meddelandena kan valfritt ersättas med ett anpassat commit-meddelande.
Trailers (commit-rader som Co-authored-by: …) kan valfritt tas bort från de ursprungliga commit-meddelandena och läggas till i slutet av det sammanslagna commit-meddelandet. Detta genererar också korrekt Co-authored-by:-kreditering för varje översättare.
Anpassa JSON-utmatning¶
Förändrat i version 5.12: Alternativet Undvik mellanslag efter separatorer har lagts till.
Removed in version 5.13: Ersatt av Filformatsparametrar.
Formatera Java-properties-filen¶
- Tilläggs-ID:
weblate.properties.sort- Konfiguration:
case_sensitiveAktivera sortering av tangenter med skiftlägeskänslighet
- Utlösare:
Formaterar och sorterar Java-properties-filen.
Konsoliderar radbrytningar till Unix-radbrytningar.
Formatering av Unicode-eskapsekvenser med versaler (om sådana förekommer).
Tar bort tomma rader och kommentarer.
Sorterar strängarna efter nycklarna.
Tar bort dubbla strängar.
Borttagning av inaktuella kommentarer¶
- Tilläggs-ID:
weblate.removal.comments- Konfiguration:
ageDagar som sparas
- Utlösare:
Ange en tidsram för borttagning av kommentarer.
Detta kan vara användbart för att ta bort gamla kommentarer som kan ha blivit inaktuella. Använd med försiktighet, eftersom gamla kommentarer inte nödvändigtvis har förlorat sin betydelse.
Borttagning av inaktuella förslag¶
- Tilläggs-ID:
weblate.removal.suggestions- Konfiguration:
ageDagar som sparas
votesTröskelvärde för röstning
Tröskelvärde för avlägsnande. Det här fältet har ingen effekt när röstningen är avstängd.
- Utlösare:
Ange en tidsram för borttagning av förslag.
Kan vara mycket användbart i samband med omröstning om förslag (se Utvärdering av gruppmedlem) för att ta bort förslag som inte får tillräckligt många positiva röster inom en given tidsram.
Uppdatera RESX-filer¶
- Tilläggs-ID:
weblate.resx.update- Konfiguration:
Detta tillägg har ingen konfiguration.
- Utlösare:
Uppdatera alla översättningsfiler så att de matchar den enspråkiga uppströmsbasfilen. Oanvända strängar tas bort och nya läggs till som kopior av källsträngen.
Råd
Använd Städa upp i översättningsfiler om du bara vill ta bort gamla översättningsnycklar.
Slack-webhooks¶
Added in version 5.12.
- Tilläggs-ID:
weblate.webhook.slack- Konfiguration:
webhook_urlWebhook-URL
eventsÄndringshändelser
- Utlösare:
Skickar meddelanden till en Slack-kanal baserat på valda händelser.
Varning
Meddelandets innehåll kan innehålla HTML-taggar. Detta är ett känt problem som snart kommer att åtgärdas. Se https://github.com/WeblateOrg/weblate/issues/15056.
Råd
För att få en webhook-URL, följ stegen som beskrivs i dokumentationen för Slack Incoming Webhooks <https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks>_
Webhook¶
Added in version 5.11.
Förändrat i version 5.15: Sekretesslängdens överensstämmelse med specifikationen valideras nu.
- Tilläggs-ID:
weblate.webhook.webhook- Konfiguration:
webhook_urlWebhook-URL
secretHemlighet för webhook
Standard Webhooks-hemligheten är en base64-kodad sträng.
eventsÄndringshändelser
- Utlösare:
Skickar aviseringar till externa tjänster baserat på valda händelser, enligt standardspecifikationen för webhooks.
Begäranens nyttolast överensstämmer med Weblate Messaging-schemat. OpenAPI-beskrivningen finns också på /api/docs/. Exempel på begäran:
{
"change_id": 99,
"action": "Translation changed",
"timestamp": "2019-08-24T14:15:22Z",
"target": "Nazdar svete!",
"old": "Nazdar!",
"source": "Hello, world",
"url": "/translate/project-slug/component-slug/cs/?checksum=46add148a53cab6f",
"author": "author-username",
"user": "user-username",
"project": "project-slug",
"component": "component-slug",
"translation": "cs"
}
Exempel på begäran med kategorier:
{
"change_id": 8910,
"action": "Component renamed",
"timestamp": "2025-06-11T07:15:09Z",
"target": ["new-name"],
"old": ["component-slug"],
"url": "/projects/project-slug/parent-category/child-category/sub-category/component-slug/",
"user": "testuser",
"project": "project-slug",
"component": "component-slug",
"category": [
"sub-category",
"child-category",
"parent-category"
]
}
Exempel på begäranrubriker:
{
"webhook-id": "7f1c5477f6275a69af7b83236c20cb1a",
"webhook-timestamp": "1748505623.044281",
"webhook-signature": "v1,Ceo5qEr07ixe2NLpvHk3FH9bwy/WavXrAFQ/9tdO6mc="
}
webhook-signature är en lista med HMAC-signaturer separerade med mellanslag som genereras med hjälp av strängen secret, begäranens nyttolast, webhook-timestamp och webhook-id. Detta säkerställer äktheten och integriteten hos webhook-begäran.
Den angivna hemligheten är en base64-kodad sträng mellan 24 byte (192 bitar) och 64 byte (512 bitar). Den kan prefixeras med whsec_ för enkel identifiering.
För att verifiera en begäran kan du använda metoden Webhook.verify från biblioteket standardwebhooks eller en implementering av ”Standard Webhooks Specification”.
Se även
Python-bibliotek för standardwebhooks <https://pypi.org/project/standardwebhooks/>_
Anpassa XML-utdata¶
Added in version 4.15.
Removed in version 5.13: Ersatt av Filformatsparametrar.
Anpassa YAML-utmatning¶
Removed in version 5.13: Ersatt av Filformatsparametrar.
Vanliga tilläggsparametrar¶
Översättningsmotor¶
|
Amazon Översätt |
|
DeepL |
|
Google Cloud Translation Advanced |
|
Google Cloud Translation Basic |
|
Azure AI Translator |
|
ModernMT |
|
OpenAI |
|
Weblate |
|
Weblate översättningsminne |
Ändringshändelser¶
|
Resursen uppdaterad |
|
Översättning klar |
|
Översättning ändrad |
|
Kommentar tillagd |
|
Förslag tillagt |
|
Översättning tillagd |
|
Automatiskt översatt |
|
Förslag accepterat |
|
Översättning återställd |
|
Översättning skickad |
|
Källsträng tillagd |
|
Komponent låst |
|
Komponent olåst |
|
Ändringar arkiverade |
|
Ändringar skickade |
|
Arkivåterställning |
|
Arkivet sammanslaget |
|
Arkivet ombaserat |
|
Sammanslagning av arkiv misslyckades |
|
Ombasering av arkiv misslyckades |
|
Tolkning misslyckades |
|
Översättning borttagen |
|
Förslaget borttaget |
|
Översättning ersatt |
|
Skicka arkiv misslyckades |
|
Förslaget borttaget vid rensning |
|
Källsträngen ändrad |
|
Sträng tillagd |
|
Mass-statusändring |
|
Synlighet ändrad |
|
Användare tillagd |
|
Användare borttagen |
|
Översättning godkänd |
|
Flaggad för redigering |
|
Komponent borttagen |
|
Projektet borttaget |
|
Projekt bytte namn |
|
Komponent bytte namn |
|
Komponent flyttad |
|
Bidragsgivare gick med |
|
Meddelande publicerat |
|
Varning utlöst |
|
Språk tillagt |
|
Språk begärt |
|
Projekt skapat |
|
Komponent skapad |
|
Användare inbjuden |
|
Arkivavisering mottaget |
|
Översättning ersatte fil genom uppladdning |
|
Licens ändrad |
|
Ändrat licensavtal för bidragsgivare |
|
Skärmdump tillagd |
|
Skärmdump uppladdad |
|
Sträng uppdaterad i arkivet |
|
Tillägg installerat |
|
Tilläggskonfigurationen har ändrats |
|
Tillägget avinstallerat |
|
Sträng borttagen |
|
Kommentar borttagen |
|
Kommentar löst |
|
Förklaring uppdaterad |
|
Kategori borttagen |
|
Kategori omdöpt |
|
Kategori flyttad |
|
Strängsparning misslyckades |
|
Sträng tillagd i arkivet |
|
Sträng uppdaterad i uppladdningen |
|
Sträng tillagd i uppladdningen |
|
Översättning uppdaterad genom källuppladdning |
|
Komponentöversättning slutförd |
|
Tillämpad tvångskontroll |
|
Propagerad ändring |
|
Fil uppladdad |
|
Extra flaggor uppdaterade |
|
Teckensnitt uppladdat |
|
Teckensnitt ändrat |
|
Teckensnitt borttaget |
|
Tvingad synkronisering av översättningar |
|
Tvingad omskanning av översättningar |
|
Skärmdump togs bort |
|
Etikett tillagd |
|
Etikett togs bort |
|
Arkivrensning |
Filformat¶
|
Metadata-filer för App store |
|
ARB-fil |
|
Android String-resurs |
|
Advanced SubStation Alpha-undertextfil |
|
Haiku catkeys |
|
Compose Multiplatform Resource |
|
CSV-fil |
|
CSV-fil med flera värden (UTF-8) |
|
Simple CSV-fil |
|
Simple CSV-fil (ISO-8859-1) |
|
Enkel CSV-fil (UTF-8) |
|
CSV-fil (UTF-8) |
|
DokuWiki textfil |
|
DTD-fil |
|
Flat XML-fil |
|
Fluent-fil |
|
Format.JS JSON-fil |
|
go-i18n v1 JSON-fil |
|
go-i18n v2 JSON-fil |
|
go-i18n TOML-fil |
|
gotext JSON-fil |
|
GWT-egenskaper (UTF-8) |
|
GWT-egenskaper (ISO-8859-1) |
|
HTML-fil |
|
i18next JSON-fil v3 |
|
i18next JSON-fil v4 |
|
IDML-fil |
|
INI-fil |
|
Inno Setup INI-fil |
|
Joomla-språkfil |
|
JSON-fil |
|
JSON nested structure-fil |
|
Laravel PHP-strängar |
|
Markdown-fil |
|
MediaWiki textfil |
|
@draggable/i18n språkfil |
|
Mobile Kotlin Resource |
|
Nextcloud JSON-fil |
|
OpenDocument-fil |
|
PHP-strängar |
|
XLIFF 1.2 översättningsfil |
|
gettext PO-fil |
|
gettext po-fil (enspråkig) |
|
XLIFF 1.2 med gettext-tillägg |
|
Java-properties (ISO 8859-1) |
|
Java-properties (UTF-16) |
|
Java-properties (UTF-8) |
|
RC-fil |
|
RESJSON-fil |
|
ResourceDictionary-fil |
|
.NET-resursfil |
|
Ruby YAML-fil |
|
SubRip-undertextfil |
|
SubStation Alpha-undertextfil |
|
iOS-strängar (UTF-16) |
|
iOS-strängar (UTF-8) |
|
Stringsdict -fil |
|
MicroDVD-undertextfil |
|
TermBase eXchange-fil |
|
TOML-fil |
|
Qt Linguist-översättningsfil |
|
Vanlig textfil |
|
WebExtension JSON-fil |
|
XLIFF 1.2 med stöd för placeables |
|
XLIFF 2.0-översättningsfil |
|
XLIFF 2.0-översättningsfil med stöd för placerbara objekt |
|
Excel Open XML |
|
XWiki Hela sidan |
|
XWiki Java-egenskaper |
|
XWiki-sidegenskaper |
|
YAML-fil |
Anpassa lista över tillägg¶
Listan över tillägg konfigureras med WEBLATE_ADDONS. För att lägga till ett nytt tillägg, ange bara det absoluta klassnamnet i denna inställning.
Skriv tillägg¶
Du kan också skriva egna tillägg, skapa en underklass av weblate.addons.base.BaseAddon för att definiera tilläggets metadata och sedan implementera en återanrop för att utföra bearbetningen.
Se även
Körning av skript från tillägg¶
Tillägg kan också användas för att köra externa skript. Detta var tidigare integrerat i Weblate, men nu måste du skriva lite kod för att omsluta ditt skript med ett tillägg.
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Example pre commit script."""
from __future__ import annotations
from typing import ClassVar
from django.utils.translation import gettext_lazy
from weblate.addons.events import AddonEvent
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events: ClassVar[set[AddonEvent]] = {
AddonEvent.EVENT_PRE_COMMIT,
}
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long description
verbose = gettext_lazy("Execute script before commit")
description = gettext_lazy("This add-on executes a script.")
# Script to execute
script = "/bin/true"
# File to add in commit (for pre commit event)
# does not have to be set
add_file = "po/{{ language_code }}.po"
För installationsinstruktioner, se Anpassade kvalitetskontroller, tillägg, automatiska förslag och automatiska korrigeringar.
Skriptet körs med den aktuella katalogen inställd på roten av VCS-arkivet för en given komponent.
Dessutom finns följande miljövariabler tillgängliga:
- WL_VCS¶
Använt versionshanteringssystem.
- WL_REPO¶
Upstream-arkivets URL.
- WL_PATH¶
Absolut sökväg till VCS-arkivet.
- WL_BRANCH¶
Repository-gren konfigurerad i den aktuella komponenten.
- WL_FILEMASK¶
Filmask för aktuell komponent.
- WL_TEMPLATE¶
Filnamn på mall för enspråkiga översättningar (kan vara tomt).
- WL_NEW_BASE¶
Filnamn på filen som används för att skapa nya översättningar (kan vara tom).
- WL_FILE_FORMAT¶
Filformat som används i aktuell komponent.
- WL_LANGUAGE¶
Språk för den översättning som för närvarande bearbetas (inte tillgängligt för komponenthookar).
- WL_PREVIOUS_HEAD¶
Tidigare HEAD efter uppdatering (endast tillgängligt efter att post-update-hooken har körts).
- WL_COMPONENT_SLUG¶
Komponent slug som används för att konstruera URL.
- WL_PROJECT_SLUG¶
Projektnamn som används för att skapa URL.
- WL_COMPONENT_NAME¶
Komponentens namn.
- WL_PROJECT_NAME¶
Projektnamn.
- WL_COMPONENT_URL¶
Komponentens URL.
- WL_ENGAGE_URL¶
Projektets engagemangs-URL.
Se även
Bearbetning av arkivet efter uppdatering¶
Kan användas för att uppdatera översättningsfiler när VCS-uppströms källan ändras. För att uppnå detta, kom ihåg att Weblate endast ser filer som har lagts in i VCS, så du måste lägga in ändringarna som en del av skriptet.
Med Gulp kan du till exempel göra det med följande kod:
#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json
Förhandsgranskning av översättningar¶
Använd commit-skriptet för att automatiskt ändra en översättning innan den läggs in i arkivet.
Den skickas som en enda parameter som består av filnamnet på en aktuell översättning.
Loggning av tilläggsaktiviteter¶
Tilläggsaktivitetsloggen håller reda på tilläggets körning och kan användas för att hålla reda på tilläggsaktiviteten.
Loggarna kan rensas efter ett visst tidsintervall genom att konfigurera ADDON_ACTIVITY_LOG_EXPIRY.