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 OperationsAdd-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.

Add-ons that opt in to manual triggering can be run from add-on management or using the API. Results are recorded in the add-on activity log.

../_images/addons.webp

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.

Manual trigger

Triggered when an add-on is run manually from add-on management or the API.

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 post-remove

Triggered just after a translation is removed.

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:

mode

Automatiskt översättningsläge

Tillgängliga alternativ:

suggest

Lägg till som förslag

translate

Lägg till som översättning

fuzzy

Lägg till som ”Behöver redigeras”

q

Sökning

Observera att om du översätter alla strängar kommer alla befintliga översättningar att slängas.

auto_source

Källa för automatiserade översättningar

Tillgängliga alternativ:

others

Andra översättningskomponenter

mt

Maskinöversättning

component

Komponent

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

Översättningsmotor

threshold

Poä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_selector

CSS-väljare

CSS-väljare för att upptäcka lokaliserbara element.

cookie_name

Namn på språkcookie

Namn på cookie som lagrar språkinställningar.

files

Extrahera 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 post-remove, 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/.

Översättningsfiler-CDN

Added in version 2026.5.

Tilläggs-ID:

weblate.cdn.files

Konfiguration:

Detta tillägg har ingen konfiguration.

Utlösare:

Tilläggsinstallation, Komponentuppdatering, Repository efter commit, Repository post-remove, Repository efter uppdatering

Publicerar översättningsfiler till ett innehållsleveransnätverk (content delivery network).

Publishes translation files without converting them to another format. Files are written below the add-on specific CDN directory and served from LOCALIZE_CDN_URL/<add-on UUID>/. Single-file translations use the language code and original file extension, for example cs.json or de.po. Multi-file translations are served below the language code using paths relative to the translation directory. Monolingual components include the source language file, while bilingual components publish only target-language files. See Lokalisering CDN for secure serving guidance.

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.

For a one-time cleanup of a single translation file, use Cleanup unused in Arkivunderhåll on that translation instead of installing the add-on.

Lägg till saknade språk

Tilläggs-ID:

weblate.consistency.languages

Konfiguration:

Detta tillägg har ingen konfiguration.

Utlösare:

Tilläggsinstallation, Dagligen, Repository efter tillägg

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:

match

Reguljärt uttryck för att matcha översättningsfiler mot

Det reguljära uttrycket måste definiera namngivna grupper för komponent och språk.

file_format

Filformat

Filformat

name_template

Anpassa komponentnamnet

Använd Djangos mallsyntax. Mallen måste innehålla {{ component }}.

base_file_template

Definiera den enspråkiga basspråkfilen

Lämna tom för tvåspråkiga översättningsfiler. När det är inställt måste denna mall inkludera {{ component }}.

new_base_template

Definiera basfil för nya översättningar

Filnamn för filen som används för att skapa nya översättningar. För gettext välj .pot-fil. Denna mall måste innehålla {{ component }}.

intermediate_template

Mellanliggande språkfil

Filnamn på den mellanliggande översättningsfilen. I de flesta fall är detta en översättningsfil som tillhandahålls av utvecklarna och som används vid skapandet av de faktiska källsträngarna. Denna mall måste innehålla {{ component }}.

language_regex

Språkfilter

Reguljärt uttryck för att filtrera översättningsfiler vid sökning efter filmask.

copy_addons

Klona tillägg från huvudkomponenten till de nyligen skapade

remove

Ta bort komponenter för icke-befintliga filer

Utlösare:

Tilläggsinstallation, Repository efter uppdatering

Lägger till och tar bort projektkomponenter automatiskt baserat på filändringar i versionskontrollsystemet.

The matching is done using regular expressions enabling complex configuration, but some knowledge is required to do so. The regular expression to match translation files has to contain two named groups to match component and language. All named groups in the regular expression can be used as variables in the template fields.

Discovery requirements

To discover a component successfully, the configuration has to do all of the following:

  • The regular expression must define component and language named groups.

  • Template fields used to name or locate per-component files must include {{ component }}, so the rendered value actually changes for each discovered component.

  • For monolingual formats, the component must contain a file matching base_file_template and at least one translation file matching match.

Worked example: news_<lang>.md

This is a common filename-based language variant layout:

  • docs/news_en.md

  • docs/news_cs.md

  • docs/guide_en.md

Use the Filename-based language variants preset for a starting point, then choose the matching file format and review the populated values.

Reguljärt uttryck:

(?:(?P<path>.*/))?(?P<component>.+?)_(?P<language>[A-Za-z]{2,3}(?:[_-][A-Za-z0-9]+)*)\.(?P<extension>[^/.]+)

Komponentnamn:

{{ component }}

Discovered file masks:
  • docs/news_*.md

  • docs/guide_*.md

In this example, {{ component }} resolves to the basename before the language suffix, so docs/news_en.md, docs/news_pt_BR.md, and docs/news_pt-BR.md all become the news component.

Du kan använda Django-mallmarkeringar i alla filnamnsfält, till exempel:

{{ component }}

Component name parsed from the component match group

{{ 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:

../_images/addon-discovery.webp

Exempel på komponentupptäckt

The worked example above covers the most common filename-based variant layout. The following examples show other repository structures you can match.

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.po

  • cs/website.po

  • de/application.po

  • de/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.po

  • locale/cs/LC_MESSAGES/website.po

  • locale/de/LC_MESSAGES/application.po

  • locale/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.po

  • src/locale/website.cs.po

  • src/locale/application.de.po

  • src/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.po

  • locale/cs/website/cs.po

  • locale/de/application/de.po

  • locale/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.xml

  • res/values-cs/strings-help.xml

  • res/values-de/strings-about.xml

  • res/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.properties

  • parent/module1/submodule/src/main/resources/ApplicationResource_es.properties

  • parent/module2/src/main/resources/ApplicationResource_de.properties

  • parent/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 OperationsSettingsVersion 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.

Fedora Messaging

Added in version 5.15.

Tilläggs-ID:

weblate.fedora_messaging.publish

Konfiguration:

amqp_url

AMQP-mellanhands-URL

AMQP-mellanhandens URL att ansluta till.

publish_timeout

Tidsgräns för publicering

Hur många sekunder man skall vänta på bekräftelse från mellanhanden.

connection_attempts

Anslutningsförsök

Hur många gånger man skall försöka ansluta till mellanhanden.

retry_delay

Fördröjning innan nytt försök

Hur många sekunder man skall vänta mellan anslutningsförsöken.

ca_cert

CA-certifikatspaket (PEM)

Klistra in endast PEM-certifikatblock, som alla börjar med ”—–BEGIN CERTIFICATE—–” och slutar med ”—–END CERTIFICATE—–”.

client_key

Klientens privata nyckel (PEM)

Klistra in ett ensamt okrypterat PEM-block med en privat nyckel. Krypterade privata nycklar stödjs inte.

client_cert

Klientcertifikat (PEM)

Klistra in endast PEM-certifikatblocket som börjar med ”—–BEGIN CERTIFICATE—–”; klistra inte in utdata från ”openssl x509 -text”.

event_filter

Ändringshändelser som skall utösas

Choose which change events should trigger this add-on. Ändringshändelser som skall utösas

events

Utvalda ändringshändelser

Utvalda ändringshändelser

Utlösare:

Ändring av evenemang

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

All messages have topic weblate.<action>.<project>.<category...>.<component>.<translation>. The action is lowercase textual representation of action with underscores instead of space, for example resource_updated; see Utvalda ändringshändelser for all action identifiers. The remaining parts match Weblate object path segments.

For example, a project backup event for the website project uses weblate.project_backed_up.website. A translation change in the website project, frontend component, and Czech translation uses weblate.translation_changed.website.frontend.cs. The same change in the frontend component inside the parent and child categories uses weblate.translation_changed.website.parent.child.frontend.cs.

Meddelande

Kroppen består av följande fält (förutsatt att de är tillgängliga för evenemanget):

change_id

Numeriskt ID för ändring

action

Detaljerat namn på ändringen.

timestamp

Tidsstämpel i ISO-format

target

Nytt värde för ändringen (t.ex. ny översättning av strängen)

old

Gammalt värde för ändringen (t.ex. tidigare översättning av strängen)

source

Källsträng.

url

Absolut URL för att visa det relaterade objektet.

author

Författarens användarnamn (detta kan skilja sig från användarnamnet, till exempel när förslag accepteras)

user

Tillfälligt användarnamn

project

Projektslugg

component

Komponent slug

translation

Översättningsspråkkod

Meddelandehuvuden

Det finns ytterligare rubriker som du också kan använda för routning:

action

Detaljerat namn på ändringen.

project

Projektslugg

component

Komponent 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:

q

Sökning

state

Tillstånd som ska sättas

Tillgängliga alternativ:

-1

Ändra inte

10

Behöver redigeras

11

Behöver redigeras (Behöver skrivas om)

12

Behöver redigeras (Behöver kontrolleras)

20

Översatt

30

Godkänd

add_flags

Översättningsflaggor att lägga till

remove_flags

Översättningsflaggor att ta bort

add_labels

Etiketter att lägga till

remove_labels

Etiketter att ta bort

Utlösare:

Tilläggsinstallation, Komponentuppdatering

Massredigering av flaggor, etiketter eller strängstatus.

Exempel:

Märk nya strängar automatiskt

Sökfråga

NOT has:label

Etiketter att lägga till

senaste

Markera alla Metadata-filer för App store-ändringsloggsträngar som skrivskyddade

Sökfråga

language:en AND key:changelogs/

Översättningsflaggor att lägga till

read-only

Markera vissa strängar som skrivskyddade

Sökfråga

source:r"^\`\`[.a-zA-Z0-9_-]*\`\`$" AND language:en

Översättningsflaggor att lägga till

read-only

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:

Enhet förskapas

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.

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:

Enhet förskapas

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.

Markera nya översättningar som ”Behöver skrivas om”

Tilläggs-ID:

weblate.flags.target_edit

Konfiguration:

Detta tillägg har ingen konfiguration.

Utlösare:

Enhet förskapas

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.

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:

Enhet efter synkronisering

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.

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:

Tilläggsinstallation, Komponentuppdatering, Dagligen

Fyller i översättningen av skrivskyddade strängar med källsträngen.

Statistikgenerator

Tilläggs-ID:

weblate.generate.generate

Konfiguration:

filename

Namn på genererad fil

template

Innehåll för genererad fil

Utlösare:

Tilläggsinstallation, Repository pre-commit

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

Mallmarkering

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:

Tilläggsinstallation, Komponentuppdatering, Dagligen

Fyller i översättningssträngar med källsträng.

All untranslated strings in the component will be filled with the source string, and marked as needing edit. Use this when you can not have empty strings in the translation files. .. AUTOGENERATED START: weblate.generate.pseudolocale .. This section is automatically generated by ./manage.py list_addons. Do not edit manually.

Pseudolocale-generering

Added in version 4.5.

Tilläggs-ID:

weblate.generate.pseudolocale

Konfiguration:

source

Källsträngar

target

Målöversättning

Alla strängar i denna översättning kommer att skrivas över

prefix

Statisk text i början

var_prefix

Variabel text i början

suffix

Statisk text i slutet

var_suffix

Variabel text i slutet

var_multiplier

Variabel textmultiplikator

Hur många gånger variabeltexten ska upprepas beroende på längden på källsträngen.

include_readonly

Inkludera skrivskyddade strängar

Utlösare:

Tilläggsinstallation, Komponentuppdatering, Dagligen

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:

Repository pre-commit

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:

Tilläggsinstallation, Dagligen, Repository efter tillägg, Repository post-remove

Uppdaterar variabeln ALL_LINGUAS i filerna ”configure”, ”configure.in” eller ”configure.ac” när en översättning läggs till eller tas bort.

Updates the ALL_LINGUAS variable in configure, configure.in or any configure.ac files, when a translation is added or removed.

Anpassa gettext-utmatning

Removed in version 5.13: Ersatt av Filformatsparametrar.

Uppdatera gettext-mallen (Django)

Added in version 5.17.

Tilläggs-ID:

weblate.gettext.django

Konfiguration:

interval

Uppdateringsfrekvens

Hur ofta tillägget skall uppdatera POT-filen när komponenten uppdateras.

Tillgängliga alternativ:

daily

Dagligen

weekly

Veckovis

monthly

Månatlig

normalize_header

Normalisera POT-huvudet

Uppdaterar gettext-huvuden och ersätter platshållare i POT-kommentarer.

location_mode

Source locations

Choose how extraction writes source locations to the POT file. Use this to keep locations in the template while omitting them from translated PO files.

Tillgängliga alternativ:

file

Use file format settings

keep

Extract locations to the POT file

omit

Do not extract locations

Utlösare:

Tilläggsinstallation, Manual trigger, Repository efter uppdatering

Uppdaterar gettext-mallen med Djangos inbyggda kommando makemessages.

This add-on updates the template configured in Mall för nya översättningar. It is available for gettext PO components, and the component must define a template for new translations.

The selected update frequency applies to automatic runs after repository refreshes. Installing or reconfiguring the add-on runs it immediately, and manual runs from add-on management or the API also bypass the frequency schedule. After a successful update, Weblate commits the changed template and reloads source strings.

The template update does not update translation PO files by itself. Keep Uppdatera PO-filerna till att matcha POT (msgmerge) installed when translation files should follow template changes automatically. The install form for this add-on can install that add-on, but existing add-on settings do not show that installation option again.

Django requirements

This add-on requires xgettext and msguniq. It runs Weblate’s internal extraction wrapper for Django messages instead of invoking a project’s manage.py makemessages, so it does not load project Django settings or applications.

The template for new translations must use the django or djangojs domain. Supported template names are django.pot, djangojs.pot, django.po, and djangojs.po. Weblate infers the source directory from the template path and skips repository locale directories while extracting.

Uppdatera LINGUAS-fil

Tilläggs-ID:

weblate.gettext.linguas

Konfiguration:

Detta tillägg har ingen konfiguration.

Utlösare:

Tilläggsinstallation, Dagligen, Repository efter tillägg, Repository post-remove

Uppdaterar filen LINGUAS när en översättning läggs till eller tas bort.

Uppdatera POT-filen (Meson)

Added in version 5.17.

Tilläggs-ID:

weblate.gettext.meson

Konfiguration:

interval

Uppdateringsfrekvens

Hur ofta tillägget skall uppdatera POT-filen när komponenten uppdateras.

Tillgängliga alternativ:

daily

Dagligen

weekly

Veckovis

monthly

Månatlig

normalize_header

Normalisera POT-huvudet

Uppdaterar gettext-huvuden och ersätter platshållare i POT-kommentarer.

location_mode

Source locations

Choose how extraction writes source locations to the POT file. Use this to keep locations in the template while omitting them from translated PO files.

Tillgängliga alternativ:

file

Use file format settings

keep

Extract locations to the POT file

omit

Do not extract locations

comment_mode

Kodkommentarer

Välj om xgettext inte skall extrahera några kommentarer, extrahera alla kommentarer eller endast extrahera kommentarer som är märkta med en viss tagg.

Tillgängliga alternativ:

off

Extrahera inte kommentarer

all

Extrahera alla kommentarer

tagged

Extrahera kommentarer med tagg

comment_tag

Kommentartagg

Tagg som skickas till xgettext för extrahering av kommentarer när läget för taggade kommentarer används.

checks

xgettext-kontroller

Ytterligare valideringskontroller med xgettext som skall aktiveras för extraherade meddelanden.

Tillgängliga alternativ:

ellipsis-unicode

ellipsis-unicode

space-ellipsis

space-ellipsis

quote-unicode

quote-unicode

bullet-unicode

bullet-unicode

keyword

Ytterligare nyckelord

Valfritt extra nyckelord som skickas till xgettext med hjälp av –keyword.

preset

Meson-förinställning

Inbyggd förinställning för xgettext-argument som överensstämmer med Mesons gettext-integration. GLib-förinställningen lägger till de nyckelords- och formatflaggaalternativ som används av Mesons gettext-hjälpfunktion.

Tillgängliga alternativ:

glib

GLib

Utlösare:

Tilläggsinstallation, Manual trigger, Repository efter uppdatering

Uppdaterar gettext-mallen enligt Mesons gettext-konventioner.

This add-on updates the template configured in Mall för nya översättningar. It is available for gettext PO components, and the component must define a template for new translations.

The selected update frequency applies to automatic runs after repository refreshes. Installing or reconfiguring the add-on runs it immediately, and manual runs from add-on management or the API also bypass the frequency schedule. After a successful update, Weblate commits the changed template and reloads source strings.

The template update does not update translation PO files by itself. Keep Uppdatera PO-filerna till att matcha POT (msgmerge) installed when translation files should follow template changes automatically. The install form for this add-on can install that add-on, but existing add-on settings do not show that installation option again.

Meson requirements

This add-on requires xgettext; it does not invoke Meson. It follows Meson gettext conventions by reading POTFILES or POTFILES.in from the gettext directory and passing the GLib keyword and format-flag preset to xgettext.

The gettext directory is the directory containing the template configured in Mall för nya översättningar. It must contain meson.build and POTFILES or POTFILES.in. A Meson project meson.build must be present in that directory or one of its parent directories. If both POTFILES and POTFILES.in exist, POTFILES is used. An adjacent POTFILES.skip excludes listed source files from extraction.

Configure this add-on from the existing Meson gettext setup. In most Meson projects, the gettext directory is po/, the template is named after the gettext domain, and po/meson.build calls Meson’s gettext helper. Use the same template path in Mall för nya översättningar, for example po/example.pot, and keep POTFILES or POTFILES.in next to that meson.build file.

Weblate does not read the source file list from meson.build. It uses POTFILES or POTFILES.in, matching Meson’s gettext convention. When the Meson project uses a non-default gettext directory or domain, mirror that layout in the component template path.

Generera MO-filer

Tilläggs-ID:

weblate.gettext.mo

Konfiguration:

path

Sökväg till genererad MO-fil

Om inte angiven så kommer platsen för PO-filen att användas.

fuzzy

Inkludera strängar som behöver redigeras

Strängar som behöver redigeras (luddiga) är vanligtvis inte redo att användas som översättningar.

Utlösare:

Repository pre-commit

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:

Tilläggsinstallation, Repository efter uppdatering

Uppdaterar alla PO-filer (som konfigurerats av ”filmask”) för att matcha POT-filen (som konfigurerad av ”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)

Most msgmerge command-line options can be set up through file format parameters configuration. Enable the po_remove_obsolete parameter to remove obsolete #~ entries when PO files are saved.

Uppdatera POT-fil (Sphinx)

Added in version 5.17.

Tilläggs-ID:

weblate.gettext.sphinx

Konfiguration:

interval

Uppdateringsfrekvens

Hur ofta tillägget skall uppdatera POT-filen när komponenten uppdateras.

Tillgängliga alternativ:

daily

Dagligen

weekly

Veckovis

monthly

Månatlig

normalize_header

Normalisera POT-huvudet

Uppdaterar gettext-huvuden och ersätter platshållare i POT-kommentarer.

location_mode

Source locations

Choose how extraction writes source locations to the POT file. Use this to keep locations in the template while omitting them from translated PO files.

Tillgängliga alternativ:

file

Use file format settings

keep

Extract locations to the POT file

omit

Do not extract locations

filter_mode

Filtrering

Ta om så önskas bort strängar som inte är meningsfulla översätta efter Sphinx-extrahering.

Tillgängliga alternativ:

none

Ingen

weblate_docs

Weblate-dokumentation

Utlösare:

Tilläggsinstallation, Manual trigger, Repository efter uppdatering

Uppdaterar gettext-mallen med Sphinx gettext-builder utan att ladda projektkonfiguration.

This add-on updates the template configured in Mall för nya översättningar. It is available for gettext PO components, and the component must define a template for new translations.

The selected update frequency applies to automatic runs after repository refreshes. Installing or reconfiguring the add-on runs it immediately, and manual runs from add-on management or the API also bypass the frequency schedule. After a successful update, Weblate commits the changed template and reloads source strings.

The template update does not update translation PO files by itself. Keep Uppdatera PO-filerna till att matcha POT (msgmerge) installed when translation files should follow template changes automatically. The install form for this add-on can install that add-on, but existing add-on settings do not show that installation option again.

Sphinx requirements

This add-on requires sphinx-build, provided by the sphinx installation extra. The template for new translations must be a .pot file below a locales directory. The directory before locales is used as the Sphinx source directory and must contain conf.py.

Extraction uses Weblate’s bundled Sphinx configuration and does not load the project configuration. Weblate runs the Sphinx gettext builder, normalizes source references to paths relative to the source directory, and copies the generated template back to the configured template path.

Uppdatera POT-filen (xgettext)

Added in version 5.17.

Tilläggs-ID:

weblate.gettext.xgettext

Konfiguration:

interval

Uppdateringsfrekvens

Hur ofta tillägget skall uppdatera POT-filen när komponenten uppdateras.

Tillgängliga alternativ:

daily

Dagligen

weekly

Veckovis

monthly

Månatlig

normalize_header

Normalisera POT-huvudet

Uppdaterar gettext-huvuden och ersätter platshållare i POT-kommentarer.

location_mode

Source locations

Choose how extraction writes source locations to the POT file. Use this to keep locations in the template while omitting them from translated PO files.

Tillgängliga alternativ:

file

Use file format settings

keep

Extract locations to the POT file

omit

Do not extract locations

comment_mode

Kodkommentarer

Välj om xgettext inte skall extrahera några kommentarer, extrahera alla kommentarer eller endast extrahera kommentarer som är märkta med en viss tagg.

Tillgängliga alternativ:

off

Extrahera inte kommentarer

all

Extrahera alla kommentarer

tagged

Extrahera kommentarer med tagg

comment_tag

Kommentartagg

Tagg som skickas till xgettext för extrahering av kommentarer när läget för taggade kommentarer används.

checks

xgettext-kontroller

Ytterligare valideringskontroller med xgettext som skall aktiveras för extraherade meddelanden.

Tillgängliga alternativ:

ellipsis-unicode

ellipsis-unicode

space-ellipsis

space-ellipsis

quote-unicode

quote-unicode

bullet-unicode

bullet-unicode

keyword

Ytterligare nyckelord

Valfritt extra nyckelord som skickas till xgettext med hjälp av –keyword.

input_mode

Indatakälla

Välj huruvida xgettext skall läsa källfiler från glob-mönster eller från en förteckning POTFILES/POTFILES.in.

Tillgängliga alternativ:

patterns

Mönster för källfiler

potfiles

POTFILES-förteckningen

language

xgettext-språk

Programmeringsspråk som skickas till xgettext, till exempel Python eller C. Lämna det blankt för att låta xgettext gissa språket utgående från filändelsen.

source_patterns

Mönster för källfiler

Nyradsseparerade förrådsrelativa glob-mönster på filer som skall extraheras med xgettext.

potfiles_path

POTFILES-sökväg

Relativ sökväg i förrådet till POTFILES eller POTFILES.in. Posterna tolkas relativt förrådets rotkatalog. Om POTFILES.skip finns angivet bredvid manifestet utesluts de filer som anges där från extraheringen.

Utlösare:

Tilläggsinstallation, Manual trigger, Repository efter uppdatering

Uppdatera gettext-mallen genom att använda xgettext på utvalda källfiler.

This add-on updates the template configured in Mall för nya översättningar. It is available for gettext PO components, and the component must define a template for new translations.

The selected update frequency applies to automatic runs after repository refreshes. Installing or reconfiguring the add-on runs it immediately, and manual runs from add-on management or the API also bypass the frequency schedule. After a successful update, Weblate commits the changed template and reloads source strings.

The template update does not update translation PO files by itself. Keep Uppdatera PO-filerna till att matcha POT (msgmerge) installed when translation files should follow template changes automatically. The install form for this add-on can install that add-on, but existing add-on settings do not show that installation option again.

xgettext requirements

This add-on requires xgettext. Configure either source file patterns or a POTFILES / POTFILES.in manifest. Source file patterns are repository-relative glob patterns and only matching repository files are passed to xgettext.

Entries in POTFILES or POTFILES.in are resolved relative to the repository root. They must be relative paths, stay inside the repository, and point to existing files. Blank lines and lines starting with # are ignored. If a POTFILES.skip file exists next to the manifest, its entries are excluded from extraction.

Automatic repository refresh runs are skipped unless the changed files match the configured source patterns, match files listed in the manifest, change a watched manifest, or change the add-on configuration.

Start from the build-system extraction setup when configuring this add-on. Autotools projects usually keep gettext inputs in po/POTFILES.in and options such as the gettext domain and xgettext flags in po/Makevars or related Makefile.am files. Use manifest mode with the same POTFILES.in when its entries are plain repository-relative source paths, and copy relevant extraction behavior into the add-on settings, for example the language, comment extraction, checks, and additional keyword.

For other build systems, use the source list or extraction command they already run as the source of truth. CMake, custom Makefiles, npm scripts, or project specific extraction scripts often call xgettext directly or generate an intermediate file list. Configure source patterns for simple layouts, or use manifest mode when the project maintains a plain file list. If a build-system manifest contains transformations or prefixes that are not file paths, convert it to plain repository-relative paths before using it as POTFILES.

Squasha Git arkiveringar

Tilläggs-ID:

weblate.git.squash

Konfiguration:

squash

Squasha arkivering

Tillgängliga alternativ:

all

Alla arkiveringar till en enda

language

Per språk

file

Per fil

author

Efter författare

append_trailers

Lä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_message

Arkiveringsmeddelande

Detta arkiveringsmeddelande kommer att användas istället för det kombinerade arkiveringsmeddelandet från de squashade committerna.

Utlösare:

Tilläggsinstallation, Repository efter commit

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.

Återställ förrådet till uppströms

Added in version 5.17.

Tilläggs-ID:

weblate.hosted.reset

Konfiguration:

Detta tillägg har ingen konfiguration.

Utlösare:

Tilläggsinstallation, Dagligen

Kasserar alla ändringar i Weblate-arkivet varje natt.

Formatera Java-properties-filen

Tilläggs-ID:

weblate.properties.sort

Konfiguration:

case_sensitive

Aktivera sortering av tangenter med skiftlägeskänslighet

Utlösare:

Repository pre-commit

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:

age

Dagar som sparas

Utlösare:

Tilläggsinstallation, Dagligen

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:

age

Dagar som sparas

votes

Tröskelvärde för röstning

Tröskelvärde för borttagning. Lämna fältet tomt för att ta bort förslag oavsett antalet röster. Fältet har ingen effekt om omröstning är avstängt.

Utlösare:

Tilläggsinstallation, Dagligen

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:

Tilläggsinstallation, Repository efter uppdatering

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_url

Webhook-URL

event_filter

Ändringshändelser som skall utösas

Choose which change events should trigger this add-on. Ändringshändelser som skall utösas

events

Utvalda ändringshändelser

Utvalda ändringshändelser

Utlösare:

Ändring av evenemang

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_url

Webhook-URL

secret

Hemlighet för webhook

Standard Webhooks-hemligheten är en base64-kodad sträng.

event_filter

Ändringshändelser som skall utösas

Choose which change events should trigger this add-on. Ändringshändelser som skall utösas

events

Utvalda ändringshändelser

Utvalda ändringshändelser

Utlösare:

Ändring av evenemang

Skickar aviseringar till externa tjänster baserat på valda händelser, enligt standardspecifikationen för webhooks.

The request payload complies with the Weblate Messaging schema. The action field uses the action name listed in Utvalda ändringshändelser. The OpenAPI description can also be found at /api/docs/. Sample request body:

{
   "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”.

Obsolete add-ons

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

Tillgängliga alternativ:

alibaba

Alibaba

aws

Amazon Översätt

anthropic

Antropisk

apertium-apy

Apertium APy

microsoft-translator

Azure AI Translator

azure-openai

Azure OpenAI

baidu

Baidu

cyrtranslit

CyrTranslit

deepl

DeepL

glosbe

Glosbe

google-translate-api-v3

Google Cloud Translation Advanced

google-translate

Google Cloud Translation Basic

ltengine

LTEngine

libretranslate

LibreTranslate

mistral

Mistral

modernmt

ModernMT

mymemory

MyMemory

netease-sight

Netease Sight

ollama

Ollama

openai

OpenAI

sap-translation-hub

SAP Translation Hub

systran

Systran

weblate

Weblate

weblate-translation-memory

Weblate översättningsminne

yandex

Yandex

yandex-v2

Yandex v2

youdao-zhiyun

Youdao Zhiyun

tmserver

tmserver

Filformat

Tillgängliga alternativ:

apple-xliff

XLIFF 1.2 med Apple-tillägg

appstore

Metadata-filer för App store

arb

ARB-fil

aresource

Android String-resurs

asciidoc

AsciiDoc-fil

ass

Advanced SubStation Alpha-undertextfil

catkeys

Haiku catkeys

cmp-resource

Compose Multiplatform Resource

csv

CSV-fil

csv-multi

CSV-fil med flera värden

csv-simple

Simple CSV-fil

dokuwiki

DokuWiki textfil

dtd

DTD-fil

flatxml

Flat XML-fil

fluent

Fluent-fil

formatjs

Format.JS JSON-fil

go-i18n-json

go-i18n v1 JSON-fil

go-i18n-json-v2

go-i18n v2 JSON-fil

go-i18n-toml

go-i18n TOML-fil

gotext

gotext JSON-fil

gwt

GWT-egenskaper

html

HTML-fil

i18next

i18next JSON-fil v3

i18nextv4

i18next JSON-fil v4

idml

IDML-fil

ini

INI-fil

islu

Inno Setup INI-fil

joomla

Joomla-språkfil

json

JSON-fil

json-nested

JSON nested structure-fil

laravel

Laravel PHP-strängar

markdown

Markdown-fil

mdx

MDX-fil

mediawiki

MediaWiki textfil

mi18n-lang

@draggable/i18n språkfil

moko-resource

Mobile Kotlin Resource

nextcloud-json

Nextcloud JSON-fil

odf

OpenDocument-fil

php

PHP-strängar

plainxliff

XLIFF 1.2 översättningsfil

po

gettext PO-fil

po-mono

gettext po-fil (enspråkig)

poxliff

XLIFF 1.2 med gettext-tillägg

properties

Java-egenskaper

rc

RC-fil

resjson

RESJSON-fil

resourcedictionary

ResourceDictionary-fil

resx

.NET-resursfil

ruby-yaml

Ruby YAML-fil

srt

SubRip-undertextfil

ssa

SubStation Alpha-undertextfil

strings

iOS-strängar

stringsdict

Stringsdict -fil

sub

MicroDVD-undertextfil

tbx

TermBase eXchange-fil

toml

TOML-fil

ts

Qt Linguist-översättningsfil

txt

Vanlig textfil

webextension

WebExtension JSON-fil

wxl

WixLocalization-fil

xliff

XLIFF 1.2 med stöd för placeables

xliff2

XLIFF 2.0-översättningsfil

xliff2-placeables

XLIFF 2.0-översättningsfil med stöd för placerbara objekt

xlsx

Excel Open XML

xwiki-fullpage

XWiki Hela sidan

xwiki-java-properties

XWiki Java-egenskaper

xwiki-page-properties

XWiki-sidegenskaper

yaml

YAML-fil

Ändringshändelser som skall utösas

Tillgängliga alternativ:

content

Översättningsinnehållshändelser

all

Alla ändringshändelser

custom

Utvalda ändringshändelser

Utvalda ändringshändelser

The following change actions can appear in notification payloads. Fedora Messaging uses the identifier column in message topics, while webhook payloads use the name column in the action field.

Tillgängliga alternativ:

ID

Identifier

Namn

0

resource_updated

Resursen uppdaterad

1

translation_completed

Översättning klar

2

translation_changed

Översättning ändrad

3

comment_added

Kommentar tillagd

4

suggestion_added

Förslag tillagt

5

translation_added

Översättning tillagd

6

automatically_translated

Automatiskt översatt

7

suggestion_accepted

Förslag accepterat

8

translation_reverted

Översättning återställd

9

translation_uploaded

Översättning skickad

13

source_string_added

Källsträng tillagd

14

component_locked

Komponent låst

15

component_unlocked

Komponent olåst

17

changes_committed

Ändringar arkiverade

18

changes_pushed

Ändringar skickade

19

repository_reset

Arkivåterställning

20

repository_merged

Arkivet sammanslaget

21

repository_rebased

Arkivet ombaserat

22

repository_merge_failed

Sammanslagning av arkiv misslyckades

23

repository_rebase_failed

Ombasering av arkiv misslyckades

24

parsing_failed

Tolkning misslyckades

25

translation_removed

Översättning borttagen

26

suggestion_removed

Förslaget borttaget

27

translation_replaced

Översättning ersatt

28

repository_push_failed

Skicka arkiv misslyckades

29

suggestion_removed_during_cleanup

Förslaget borttaget vid rensning

30

source_string_changed

Källsträngen ändrad

31

string_added

Sträng tillagd

32

bulk_status_changed

Mass-statusändring

33

visibility_changed

Synlighet ändrad

34

user_added

Användare tillagd

35

user_removed

Användare borttagen

36

translation_approved

Översättning godkänd

37

marked_for_edit

Flaggad för redigering

38

component_removed

Komponent borttagen

39

project_removed

Projektet borttaget

41

project_renamed

Projekt bytte namn

42

component_renamed

Komponent bytte namn

43

moved_component

Komponent flyttad

45

contributor_joined

Bidragsgivare gick med

46

announcement_posted

Meddelande publicerat

47

alert_triggered

Varning utlöst

48

language_added

Språk tillagt

49

language_requested

Språk begärt

50

project_created

Projekt skapat

51

component_created

Komponent skapad

52

user_invited

Användare inbjuden

53

repository_notification_received

Arkivavisering mottaget

54

translation_replaced_file_by_upload

Översättning ersatte fil genom uppladdning

55

license_changed

Licens ändrad

56

contributor_license_agreement_changed

Ändrat licensavtal för bidragsgivare

57

screenshot_added

Skärmdump tillagd

58

screenshot_uploaded

Skärmdump uppladdad

59

string_updated_in_the_repository

Sträng uppdaterad i arkivet

60

add-on_installed

Tillägg installerat

61

add-on_configuration_changed

Tilläggskonfigurationen har ändrats

62

add-on_uninstalled

Tillägget avinstallerat

63

string_removed

Sträng borttagen

64

comment_removed

Kommentar borttagen

65

comment_resolved

Kommentar löst

66

explanation_updated

Förklaring uppdaterad

67

category_removed

Kategori borttagen

68

category_renamed

Kategori omdöpt

69

category_moved

Kategori flyttad

70

saving_string_failed

Strängsparning misslyckades

71

string_added_in_the_repository

Sträng tillagd i arkivet

72

string_updated_in_the_upload

Sträng uppdaterad i uppladdningen

73

string_added_in_the_upload

Sträng tillagd i uppladdningen

74

translation_updated_by_source_upload

Översättning uppdaterad genom källuppladdning

75

component_translation_completed

Komponentöversättning slutförd

76

applied_enforced_check

Tillämpad tvångskontroll

77

propagated_change

Propagerad ändring

78

file_uploaded

Fil uppladdad

79

extra_flags_updated

Extra flaggor uppdaterade

80

font_uploaded

Teckensnitt uppladdat

81

font_changed

Teckensnitt ändrat

82

font_removed

Teckensnitt borttaget

83

forced_synchronization_of_translations

Tvingad synkronisering av översättningar

84

forced_rescan_of_translations

Tvingad omskanning av översättningar

85

screenshot_removed

Skärmdump togs bort

86

label_added

Etikett tillagd

87

label_removed

Etikett togs bort

88

repository_cleanup

Arkivrensning

89

source_string_added_in_the_upload

Source string added in the upload

90

source_string_added_in_the_repository

Source string added in the repository

91

project_backed_up

Project backed up

92

project_restored

Project restored

93

component_restored

Component restored

94

user_edit_reverted

User edit reverted

95

project_setting_changed

Project setting changed

96

component_setting_changed

Component setting changed

97

user_access_changed

User access changed

98

workspace_created

Workspace created

99

workspace_setting_changed

Workspace setting changed

100

project_moved

Project moved

101

remote_repository_updated

Remote repository updated

102

remote_repository_update_failed

Remote repository update failed

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.

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.

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.