Kiegészítők

A kiegészítők lehetőséget adnak a fordítási munkafolyamat testreszabására és automatizálására. Az adminisztrátorok a kiegészítőket az egyes fordítási projektek vagy összetevők KezelésKiegészítők menüjéből tudják hozzáadni és kezelni. A kiegészítők telepíthetők webhelyszinten is a kezelőfelületen.

Tipp

A kiegészítők konfigurálhatók az API használatával, a DEFAULT_ADDONS beállítással vagy az install_addon paranccsal is.

../_images/addons.webp

Kiegészítőket aktiváló események

Kiegészítő telepítése

A kiegészítő telepítésekor aktiválódik.

Összetevő frissítése

Változás esetén aktiválódik egy összetevőben, például:

  • Szövegek módosulnak a tárolóban.

  • Új szöveg kerül hozzáadásra.

  • Új fordítás kerül hozzáadásra.

Napi

Naponta egyszer aktiválódik, de a kiegészítők általában az összetevők között osztják el a napi terhelést a BACKGROUND_TASKS beállításnak megfelelően.

Változás esemény

Egy eseményváltozás után aktiválódik.

Tároló hozzáadás utáni művelet

Akkor aktiválódik, amikor egy új fordítás hozzáadásra és véglegesítésre kerül.

Tároló véglegesítés utáni művelet

Akkor aktiválódik, amikor a változások véglegesítése megtörténik.

Tároló feltöltés utáni művelet

Akkor aktiválódik, amikor a tárolót feltöltik a forrás tárolóba.

Tároló frissítés utáni esemény

Akkor aktiválódik, amikor új változások érkeznek a forrás tárolóból.

Tároló véglegesítés előtti esemény

Közvetlenül a változások véglegesítése előtt aktiválódik.

Tároló feltöltés előtti esemény

Közvetlenül a forrás tárolóra feltöltés előtt aktiválódik.

Tároló frissítés előtti esemény

Közvetlenül a forrás tárolóból történő frissítés előtt aktiválódik.

Tárolás betöltése utáni esemény

Akkor aktiválódik, amikor a fájlt a Weblate feldolgozza.

Egység mentése utáni esemény

Közvetlenül azután aktiválódik, hogy a szöveg mentésre kerül.

Egység létrehozása előtti esemény

Közvetlenül az újonnan létrehozott szöveg mentése után aktiválódik.

Beépített kiegészítők

Automatikus fordítás

Kiegészítő azonosítója:

weblate.autotranslate.autotranslate

Beállítások:

mode

Automatikus fordítás módja

Elérhető lehetőségek:

suggest – Hozzáadás javaslatként

translate – Hozzáadás fordításként

fuzzy – Hozzáadás „Szerkesztést igényel” megjelöléssel

filter_type

Keresési szűrő

Ne feledje, hogy az összes szöveg újrafordítása törölni fogja a meglévő fordításokat.

Elérhető lehetőségek:

all – Minden szöveg

nottranslated – Lefordítatlan szövegek

todo – Befejezetlen szövegek

fuzzy – Szerkesztésre megjelölt szövegek

check:inconsistent – Sikertelen ellenőrzés: Inkonzisztens

check:translated – Sikertelen ellenőrzés: Már le lett fordítva

auto_source

Automatikus fordítások forrása

Elérhető lehetőségek:

others – Más fordítási összetevők

mt – Gépi fordítás

component

Összetevő

Adja meg annak az összetevőnek az URL-azonosítóját (slug), amelyet forrásként szeretne használni; hagyja üresen, ha az aktuális projekt összes összetevőjét kívánja használni.

engines

Gépi fordítómotorok

threshold

Pontszámküszöb

Események:

Kiegészítő telepítése, Összetevő frissítése, Napi

Automatikusan lefordítja a szövegeket gépi fordítással vagy más összetevők alapján.

JavaScript lokalizációs CDN

Added in version 4.2.

Kiegészítő azonosítója:

weblate.cdn.cdnjs

Beállítások:

threshold

Fordítási küszöbérték

A fordításban szereplő szövegek hány százalékának kell lefordítva lennie ahhoz, hogy a fordítás bekerülhessen.

css_selector

CSS-szelektor

CSS-szelektor a lokalizálható elemek felismerésére.

cookie_name

Nyelvi süti neve

A süti neve, amely a nyelvi beállítást tárolja.

files

Szövegek kinyerése HTML-fájlokból

Az aktuális tárolóban lévő vagy távoli URL-ekről elérhető fájlnevek listája, amelyekből lefordítható szövegeket keresünk.

Események:

Kiegészítő telepítése, Napi, Tároló véglegesítés utáni művelet, Tároló frissítés utáni esemény

A fordításokat tartalomszolgáltató hálózatra (CDN) publikálja, hogy JavaScript vagy HTML lokalizáció során felhasználhatók legyenek.

Használható statikus HTML-oldalak lokalizálására vagy a lokalizáció betöltésére JavaScript-kódban.

Egy egyedi URL-t hoz létre az összetevőjéhez, amelyet HTML-oldalakba ágyazva lokalizálhatja azokat. További részletekért lásd: HTML és JavaScript fordítása a Weblate CDN használatával.

Megjegyzés

Ez a kiegészítő további konfigurációt igényel a Weblate szerveren. A LOCALIZE_CDN_PATH adja meg, hogy a generált fájlok hová íródjanak ki (a fájlrendszerre), a LOCALIZE_CDN_URL pedig azt, hogy honnan legyenek kiszolgálva (URL). A fájlok kiszolgálását nem a Weblate végzi, ezt külsőleg kell megoldani (jellemzően egy CDN szolgáltatáson keresztül).

Ez a kiegészítő a Hosted Weblate szolgáltatásban már be van állítva, és a fájlokat a https://weblate-cdn.com/ címen szolgálja ki.

Üres szövegek eltávolítása

Added in version 4.4.

Kiegészítő azonosítója:

weblate.cleanup.blank

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Kiegészítő telepítése, Tároló véglegesítés utáni művelet, Tároló frissítés utáni esemény

Eltávolítja azokat a szövegeket a fordítási fájlokból, amelyekhez nincs fordítás.

Használja ezt, ha szeretné elkerülni, hogy üres szövegek maradjanak a fordítási fájlokban (például ha a lokalizációs könyvtára hiányzóként kezeli az üreseket ahelyett, hogy az eredeti szöveget jelenítené meg).

Fordítási fájlok tisztítása

Kiegészítő azonosítója:

weblate.cleanup.generic

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Kiegészítő telepítése, Tároló frissítés utáni esemény, Tároló véglegesítés előtti esemény

Frissíti az összes fordítási fájlt, hogy megfeleljenek a egynyelvű alapfájlnak. A legtöbb fájlformátum esetén ez azt jelenti, hogy eltávolítja az alapfájlban már nem szereplő, régi fordítási kulcsokat.

Azoknál a formátumoknál, amelyek további tartalmat is tartalmaznak a fordítási szövegeken kívül (például: HTML-fájlok, Windows RC-fájlok vagy OpenDocument-formátum), ez a művelet a fordítási fájlt is szinkronba hozza az alapfájllal.

Hiányzó nyelvek hozzáadása

Kiegészítő azonosítója:

weblate.consistency.languages

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Kiegészítő telepítése, Napi, Tároló hozzáadás utáni művelet

Biztosítja, hogy a projekt minden összetevőjénél egységes nyelvkészlet legyen használatban.

A hiányzó nyelvek ellenőrzése 24 óránként történik, valamint minden alkalommal, amikor új nyelvet adnak hozzá a Weblate-ben.

Ellentétben a legtöbb kiegészítővel, ez az egész projektet érinti.

Tipp

Az újonnan hozzáadott szövegek automatikus lefordítása az Automatikus fordítás segítségével.

Összetevők felismerése

Kiegészítő azonosítója:

weblate.discovery.discovery

Beállítások:

match

Reguláris kifejezés, amellyel a fordítási fájlokat egyezteti

file_format

Fájlformátum

name_template

Az összetevő nevének testreszabása

base_file_template

Az egynyelvű alapfájlnév meghatározása

Hagyja üresen, ha kétnyelvű fordítási fájlt használ.

new_base_template

Új fordítások alapfájljának meghatározása

Az új fordítások létrehozásához használt fájl neve; gettext esetén például a .pot fájl.

intermediate_template

Köztes nyelvi fájl

A köztes fordítási fájl neve. A legtöbb esetben ez egy fejlesztők által biztosított fordítási fájl, amelyet az eredeti forrásszövegek létrehozásakor használnak.

language_regex

Nyelvi szűrő

Reguláris kifejezés, amellyel a fordítási fájlokat szűrjük fájlmaszk keresésekor.

copy_addons

Kiegészítők másolása a fő összetevőről az újonnan létrehozott összetevőkre

remove

Nem létező fájlok összetevőinek eltávolítása

confirm

Megerősítem, hogy a fenti egyezések helyesek

Események:

Kiegészítő telepítése, Tároló frissítés utáni esemény

A projekt összetevőit automatikusan hozzáadja vagy eltávolítja a fájlok változásai alapján a verziókezelő rendszerben.

Az egyeztetés reguláris kifejezésekkel történik, ami lehetővé teszi az összetett konfigurációt is, de némi szaktudást igényel. Gyakori felhasználási példák találhatók a kiegészítő súgójában.

A fordítási fájlok egyeztetésére szolgáló reguláris kifejezésnek két névvel ellátott csoportot kell tartalmaznia: egyet az összetevő, egyet a nyelv azonosítására. A reguláris kifejezésben definiált minden névvel ellátott csoport változóként felhasználható a sablonmezőkben.

Minden fájlnévmezőben használhatók Django sablonjelölések is, például:

{{ component }}

Összetevő fájlnév egyeztetése

{{ component|title }}

Összetevő fájlnév nagy kezdőbetűvel

{{ path }}: {{ component }}

Egyedi egyeztetési csoport a reguláris kifejezésből

Miután megnyomja a Mentés gombot, megjelenik egy előnézet az egyező összetevőkről, ahol ellenőrizheti, hogy a konfiguráció megfelel-e az elvárásainak:

../_images/addon-discovery.webp

Összetevő-felismerési példák

Minden nyelvhez külön mappa

Minden nyelvhez külön mappa, amely az összetevők fordítási fájljait tartalmazza.

Reguláris kifejezés:

(?P<language>[^/.]*)/(?P<component>[^/]*)\.po

Egyező fájlok:
  • cs/application.po

  • cs/website.po

  • de/application.po

  • de/website.po

Gettext helyi fájlszerkezet

Általános struktúra a gettext PO-fájlok tárolására.

Reguláris kifejezés:

locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po

Egyező fájlok:
  • locale/cs/LC_MESSAGES/application.po

  • locale/cs/LC_MESSAGES/website.po

  • locale/de/LC_MESSAGES/application.po

  • locale/de/LC_MESSAGES/website.po

Összetett fájlnevek

Az összetevő és a nyelv nevének együttes használata a fájlnévben.

Reguláris kifejezés:

src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po

Egyező fájlok:
  • src/locale/application.cs.po

  • src/locale/website.cs.po

  • src/locale/application.de.po

  • src/locale/website.de.po

Ismételt nyelvkód

A nyelv szerepel mind az elérési útban, mind a fájlnévben.

Reguláris kifejezés:

locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po

Egyező fájlok:
  • locale/cs/application/cs.po

  • locale/cs/website/cs.po

  • locale/de/application/de.po

  • locale/de/website/de.po

Android szövegek felosztása

Android erőforrásszövegek, több fájlba szétosztva.

Reguláris kifejezés:

res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml

Egyező fájlok:
  • res/values-cs/strings-about.xml

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

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

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

Több útvonal egyeztetése

Több modulból álló Maven projekt Java properties fordításokkal.

Reguláris kifejezés:

(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties

Összetevő neve:

{{ originalHierarchy }}: {{ component }}

Egyező fájlok:
  • 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

Tipp

Az összetevő felfedezése kiegészítő a belső URL-eket használja. Ez kényelmes módja annak, hogy ugyanazt a VCS-beállítást több összetevő között megossza. Az összekapcsolt összetevők a főösszetevő helyi tárolóját használják, amelyet úgy lehet beállítani, hogy a weblate://project/main-component címet adja meg az egyes összetevők összetevő-tároló mezőjében (KezelésBeállításokVerziókezelő rendszer). Ez nemcsak időt takarít meg a konfigurálásnál, hanem rendszer-erőforrást is.

Tömeges szerkesztés

Kiegészítő azonosítója:

weblate.flags.bulk

Beállítások:

q

Lekérdezés

state

Beállítandó állapot

Elérhető lehetőségek:

-1 – Ne változtassa meg

10 – Szerkesztést igényel

20 – Lefordítva

30 – Jóváhagyva

add_flags

Hozzáadandó fordítási jelzők

remove_flags

Eltávolítandó fordítási jelzők

add_labels

Hozzáadandó címkék

remove_labels

Eltávolítandó címkék

Események:

Kiegészítő telepítése, Összetevő frissítése

Szövegek jelzőinek, címkéinek vagy állapotainak tömeges szerkesztése.

Példák:

Új szövegek automatikus címkézése

Keresési lekérdezés

NOT has:label

Hozzáadandó címkék

friss szövegek

Az összes App Store-metaadatfájlok változásnapló szöveg csak olvashatóvá tétele

Keresési lekérdezés

language:en AND key:changelogs/

Hozzáadandó fordítási jelzők

read-only

Bizonyos szövegek csak olvashatóvá tétele

Keresési lekérdezés

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

Hozzáadandó fordítási jelzők

read-only

Változatlan fordítások megjelölése „Szerkesztést igényel” állapottal

Kiegészítő azonosítója:

weblate.flags.same_edit

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Egység létrehozása előtti esemény

Amikor egy új lefordítható szöveg érkezik a VCS-ből (verziókezelő rendszerből), és megegyezik egy meglévő forrásszöveggel, a Weblate automatikusan szerkesztést igényel jelzővel látja el. Ez különösen hasznos azoknál a fájlformátumoknál, amelyek az eredeti szöveget is tartalmazzák a még le nem fordított szövegek esetében.

Tipp

Érdemes lehet szigorítani a Változatlan fordítás beállítását azzal, hogy hozzáadja a strict-same jelzőt az összetevő-ellenőrzési jelzőkhöz.

Új forrásszövegek megjelölése „Szerkesztést igényel” állapottal

Kiegészítő azonosítója:

weblate.flags.source_edit

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Egység létrehozása előtti esemény

Amikor egy új forrásszöveg érkezik a VCS-ből (verziókezelő rendszerből), a Weblate automatikusan szerkesztést igényel jelzővel látja el. Így könnyedén kiszűrhető és szerkeszthető a fejlesztők által írt forrásszöveg.

Új fordítások megjelölése „Szerkesztést igényel” állapottal

Kiegészítő azonosítója:

weblate.flags.target_edit

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Egység létrehozása előtti esemény

Amikor egy új lefordítható szöveg érkezik a VCS-ből (verziókezelő rendszerből), a Weblate automatikusan szerkesztést igényel jelzővel látja el. Így könnyedén kiszűrhetőek és szerkeszthetőek a fejlesztők által készített fordítások.

Csak olvasható szövegek kitöltése a forrással

Added in version 4.18.

Kiegészítő azonosítója:

weblate.generate.fill_read_only

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Kiegészítő telepítése, Összetevő frissítése, Napi

A csak olvasható szövegek fordítása automatikusan a forrásszöveggel lesz kitöltve.

Statisztika-előállító

Kiegészítő azonosítója:

weblate.generate.generate

Beállítások:

filename

A létrehozott fájl neve

template

A létrehozott fájl tartalma

Események:

Tároló véglegesítés előtti esemény

Olyan fájl létrehozása, amely részletes információt tartalmaz a fordítás állapotáról.

A fájlnévben és a tartalomban is használhat Django-sablont, a részletes sablonjelölések leírását lásd: jelölőnyelv.

Példa: összefoglaló fájl generálása minden fordításhoz:

A létrehozott fájl neve

locale/{{ language_code }}.json

Tartalom
{
   "language": "{{ language_code }}",
   "strings": "{{ stats.all }}",
   "translated": "{{ stats.translated }}",
   "last_changed": "{{ stats.last_changed }}",
   "last_author": "{{ stats.last_author }}",
}

Lásd még

Sablonjelölés

Fordítás előzetes kitöltése forrásszöveggel

Added in version 4.11.

Kiegészítő azonosítója:

weblate.generate.prefill

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Kiegészítő telepítése, Összetevő frissítése, Napi

A fordítási szövegeket a forrásszöveggel tölti ki.

Az összes le nem fordított szöveg az összetevőben a forrásszöveggel lesz kitöltve, és „Szerkesztést igényel” megjelölést kap. Használja ezt, ha nem lehetnek üres szövegek a fordítási fájlokban.

Szimulált nyelv generálás

Added in version 4.5.

Kiegészítő azonosítója:

weblate.generate.pseudolocale

Beállítások:

source

Forrásszövegek

target

Célfordítás

A megadott fordítás összes szövege felül lesz írva

prefix

Elé fűzött statikus szöveg

var_prefix

Elé fűzött változó szöveg

suffix

Mögé fűzött statikus szöveg

var_suffix

Mögé fűzött változó szöveg

var_multiplier

Változó szöveg szorzója

Hányszor ismétlődjön a változó szöveg a forrásszöveg hosszától függően.

include_readonly

Csak olvasható szövegek bevonása

Események:

Kiegészítő telepítése, Összetevő frissítése, Napi

Fordítást generál úgy, hogy automatikusan hozzáadja a forrásszövegekhez a megadott elő- és utótagokat.

A szimulált nyelvek hasznosak annak felderítésére, hogy vannak-e olyan szövegek, amelyek nincsenek előkészítve lokalizálásra. Ez úgy történik, hogy az összes fordítható forrásszöveget módosítja, így a nem módosított szövegek könnyen felismerhetők, amikor az alkalmazást szimulált nyelvi módban futtatják.

Az is lehetséges, hogy olyan szövegeket találjon, amelyek lokalizált változata esetleg nem férne el a felületen.

A változó részek használatával ellenőrizhető, hogy a lokalizált szövegek nem lógnak-e ki a felhasználói felületről – a rendszer ilyenkor a forrásszöveg hosszától függően hosszabbítja meg a szöveget. A változó szövegek ismétlődnek, a szöveg hossza és a szorzó szorzataként. Például a Hello world szöveg változó karakterként _ beállítással és 1-es szorzóval Hello world___________ lesz – minden karakterre egy ismétlés jut a forrásszöveg hosszának megfelelően.

A szövegek a következő minta alapján generálódnak:

Elé fűzött statikus szöveg Elé fűzött változó szöveg Forrásszöveg Mögé fűzött változó szöveg Mögé fűzött statikus szöveg

Tipp

Teszteléshez használhat valódi nyelveket is, de a Weblate-ben elérhetők dedikált szimulált nyelvek is – en_XA és ar_XB.

Tipp

Ezzel a kiegészítővel új lokalizációt is elindíthat egy meglévő vagy hasonló nyelvhez. Miután hozzáadta a fordítást az összetevőhöz, kövesse az alábbi lépéseket. Példa: Ha van fr nyelve, és el szeretné kezdeni a fr_CA fordítást, akkor állítsa be a fr-t forrásként, a fr_CA-t célnyelvként, az elő- és utótagot pedig hagyja üresen.

Miután kitöltötte az új fordítást, távolítsa el a kiegészítőt, hogy a Weblate ne módosítsa a később hozzáadott fordításokat.

Közreműködők a megjegyzésben

Kiegészítő azonosítója:

weblate.gettext.authors

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Tároló véglegesítés előtti esemény

Frissíti a PO-fájl fejlécének megjegyzés részét úgy, hogy belekerüljenek a közreműködők nevei és az évek, amikor hozzájárultak a projekthez.

A PO-fájl fejléc így fog kinézni:

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

ALL_LINGUAS változó frissítése a „configure” fájlban

Kiegészítő azonosítója:

weblate.gettext.configure

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Kiegészítő telepítése, Napi, Tároló hozzáadás utáni művelet

Frissíti az ALL_LINGUAS változót a configure, configure.in vagy configure.ac fájlokban, amikor új fordítást adnak hozzá.

Gettext kimenet testreszabása

Kiegészítő azonosítója:

weblate.gettext.customize

Beállítások:

width

Hosszú sorok tördelése

Alapértelmezetten a gettext a sorokat 77 karakter után, illetve sortöréseknél töri meg. A –no-wrap paraméterrel viszont csak sortöréseknél fog törni.

Elérhető lehetőségek:

77 – Sorok tördelése 77 karakternél és sortöréseknél (xgettext alapértelmezett)

65535 – Sorok tördelése csak sortöréseknél (mint az «xgettext –no-wrap»)

-1 – Nincs sortörés

Események:

Tárolás betöltése utáni esemény

Lehetővé teszi a gettext kimenetének testreszabását, például a sorok tördelésének módját.

A következő lehetőségeket kínálja:

  • Sorok tördelése 77 karakternél és sortöréseknél

  • Sorok tördelése csak sortöréseknél

  • Nincs sortörés

Megjegyzés

Alapértelmezés szerint a gettext 77 karakter után, illetve sortöréseknél töri meg a sorokat. A --no-wrap paraméterrel viszont csak a sortöréseknél történik tördelés.

LINGUAS-fájl frissítése

Kiegészítő azonosítója:

weblate.gettext.linguas

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Kiegészítő telepítése, Napi, Tároló hozzáadás utáni művelet

Frissíti a LINGUAS fájlt, amikor új fordítás kerül hozzáadásra.

MO-fájlok generálása

Kiegészítő azonosítója:

weblate.gettext.mo

Beállítások:

path

A generált MO-fájl elérési útja

Ha nincs megadva, akkor a PO-fájl helyét használja alapértelmezetten.

fuzzy

Szerkesztést igénylő szövegek beillesztése

A szerkesztést igénylő (zavaros) szövegek általában még nem alkalmasak fordításként való használatra.

Események:

Tároló véglegesítés előtti esemény

Automatikusan MO-fájlt generál minden módosított PO-fájlhoz.

A generált MO-fájl helye testreszabható, és az elérési út mező támogatja a Sablonjelölés használatát.

Megjegyzés

Ha egy fordítást eltávolítanak, annak PO-fájlja törlődik a tárolóból, de az ezzel a kiegészítővel generált MO-fájl nem. Az MO-fájlt manuálisan kell eltávolítani a forrás tárolóból.

PO-fájlok frissítése a POT-fájlhoz igazítva (msgmerge)

Kiegészítő azonosítója:

weblate.gettext.msgmerge

Beállítások:

previous

A lefordított szövegek korábbi üzenetazonosítóinak (msgid) megtartása

no_location

A lefordított szövegek helyinformációinak eltávolítása

fuzzy

Szerkesztést igénylő (zavaros) egyezések használata

Események:

Kiegészítő telepítése, Tároló frissítés utáni esemény

Az összes PO-fájl frissítése (összetevő-fájlmaszk alapján) a POT-fájlhoz igazítva (új alapfájl) a msgmerge segítségével.

A legtöbb msgmerge parancssori opció beállítható a kiegészítő konfigurációjában.

Git véglegesítések összevonása

Kiegészítő azonosítója:

weblate.git.squash

Beállítások:

squash

Véglegesítések összevonása

Elérhető lehetőségek:

all – Minden véglegesítést egybevon

language – Nyelvenként összevonva

file – Fájlonként összevonva

author – Szerzőnként összevonva

append_trailers

Trailer (záró) sorok hozzáfűzése az összevont véglegesítési üzenethez

A trailer (záró) sorok olyan sorok, amelyek hasonlítanak az RFC 822 szabványú e-mail fejlécekhez, és a véglegesítési üzenet szabad formátumú része után helyezkednek el, például: „Co-authored-by: …”.

commit_message

Véglegesítési üzenet

Ez a véglegesítési üzenet lesz használva az összevont véglegesítések eredményeként, ahelyett, hogy az összevont üzeneteket egyesítené.

Események:

Kiegészítő telepítése, Tároló véglegesítés utáni művelet

Git véglegesítések összevonása a változások feltöltése előtt.

A Git véglegesítéseket a változások feltöltése előtt az alábbi módok egyikével lehet összevonni:

  • Minden véglegesítés egybevonva

  • Nyelvenként

  • Fájlonként

  • Szerzőnként

Az eredeti véglegesítési (commit) üzenetek megmaradnak, de a szerzői adatok elvesznek, kivéve, ha a Szerzőnként beállítás vagy a véglegesítési üzenet testreszabása be van kapcsolva.

Az eredeti véglegesítési üzenetek helyett opcionálisan megadhat egy egyedi véglegesítési üzenetet is.

A trailer (záró) sorokat (például Co-authored-by: típusú sorokat) az eredeti véglegesítési üzenetekből el lehet távolítani, és az összevont véglegesítési üzenet végére lehet fűzni. Így minden fordító megkapja a helyes Co-authored-by: elismerést.

JSON-kimenet testreszabása

A 5.12 verzióban változott: Új Szóközök kerülése elválasztók után opció került bevezetésre.

Kiegészítő azonosítója:

weblate.json.customize

Beállítások:

sort_keys

JSON kulcsok rendezése

use_compact_separators

Kerülje az elválasztók utáni szóközöket

indent

JSON behúzás

style

JSON behúzási stílus

Elérhető lehetőségek:

spaces – Szóközök

tabs – Tabulátorok

Események:

Tárolás betöltése utáni esemény

Lehetővé teszi a JSON-kimenet viselkedésének testreszabását, például a behúzás, rendezés vagy a minimális szóközhasználattal való tömör formázás beállítását.

Java properties fájl formázása

Kiegészítő azonosítója:

weblate.properties.sort

Beállítások:

case_sensitive

Kis- és nagybetűérzékeny kulcsrendezés engedélyezése

Események:

Tároló véglegesítés előtti esemény

Formázza és rendezi a Java properties fájlt.

  • Az új sorokat Unix-formátumra alakítja (LF).

  • A Unicode escape szekvenciákat nagybetűs formátumban írja ki (ha vannak ilyenek).

  • Eltávolítja az üres sorokat és a megjegyzéseket.

  • A szövegeket a kulcsok szerint rendezi.

  • Ismétlődő szövegek eltávolítása.

Elavult megjegyzések eltávolítása

Kiegészítő azonosítója:

weblate.removal.comments

Beállítások:

age

Megőrzési idő (napokban)

Események:

Kiegészítő telepítése, Napi

Időkeret beállítása a megjegyzések eltávolításához.

Ez hasznos lehet a régi, esetleg már elavult megjegyzések eltávolításához. Óvatosan használja, mivel a megjegyzések elavulása nem feltétlenül jelenti azt, hogy elvesztették a jelentőségüket.

Elavult javaslatok eltávolítása

Kiegészítő azonosítója:

weblate.removal.suggestions

Beállítások:

age

Megőrzési idő (napokban)

votes

Szavazási küszöbérték

A törléshez szükséges szavazási küszöb. Ez a mező nem lesz hatással, ha a szavazás ki van kapcsolva.

Események:

Kiegészítő telepítése, Napi

Időkeret beállítása a javaslatok eltávolítására.

Ez különösen hasznos lehet a javaslatok szavazásával együtt használva (lásd: Társak általi felülvizsgálat), hogy eltávolítsa azokat a javaslatokat, amelyek egy adott időkereten belül nem kapnak elég pozitív szavazatot.

RESX-fájlok frissítése

Kiegészítő azonosítója:

weblate.resx.update

Beállítások:

Ennek a kiegészítőnek nincs konfigurációja.

Események:

Kiegészítő telepítése, Tároló frissítés utáni esemény

Minden fordítási fájl frissítése az egynyelvű forrásfájl alapján. A már nem használt szövegek eltávolításra kerülnek, az új szövegeket pedig a forrásszöveg másolataként adja hozzá.

Tipp

Használja a weblate általános tisztító kiegészítőjét, ha csak az elavult fordítási kulcsokat szeretné eltávolítani.

Slack Webhooks

Added in version 5.12.

Kiegészítő azonosítója:

weblate.webhook.slack

Beállítások:

webhook_url

Webhook URL

events

Eseményváltozások

Elérhető lehetőségek:

0 – Erőforrás frissítve

1 – Fordítás befejezve

2 – Fordítás módosítva

3 – Megjegyzés hozzáadva

4 – Javaslat hozzáadva

5 – Fordítás hozzáadva

6 – Automatikusan lefordítva

7 – Javaslat elfogadva

8 – Fordítás visszaállítva

9 – Fordítás feltöltve

13 – Forrásszöveg hozzáadva

14 – Összetevő zárolva

15 – Összetevő feloldva

17 – Változások véglegesítve

18 – Változások feltöltve

19 – Tároló visszaállítva

20 – Tároló összevonva

21 – Tároló újraalapozva (rebase)

22 – Tároló összevonása sikertelen

23 – Tároló újraalapozása sikertelen

24 – Feldolgozási hiba

25 – Fordítás eltávolítva

26 – Javaslat eltávolítva

27 – Fordítás lecserélve

28 – Tároló feltöltése sikertelen

29 – Javaslat eltávolítva a tisztítás során

30 – Forrásszöveg módosítva

31 – Szöveg hozzáadva

32 – Tömeges állapotváltozás

33 – Láthatóság megváltozott

34 – Felhasználó hozzáadva

35 – Felhasználó eltávolítva

36 – Fordítás jóváhagyva

37 – Szerkesztésre megjelölve

38 – Összetevő eltávolítva

39 – Projekt eltávolítva

41 – Projekt átnevezve

42 – Összetevő átnevezve

43 – Összetevő áthelyezve

45 – Közreműködő csatlakozott

46 – Bejelentés közzétéve

47 – Riasztás aktiválva

48 – Nyelv hozzáadva

49 – Nyelv igényelve

50 – Projekt létrehozva

51 – Összetevő létrehozva

52 – Felhasználó meghívva

53 – Tároló értesítés érkezett

54 – Fordítás fájlfeltöltéssel cserélve

55 – Licenc módosítva

56 – Közreműködői licencmegállapodás módosítva

57 – Képernyőkép hozzáadva

58 – Képernyőkép feltöltve

59 – Szöveg frissítve a tárolóban

60 – Kiegészítő telepítve

61 – Kiegészítő konfigurációja módosítva

62 – Kiegészítő eltávolítva

63 – Szöveg eltávolítva

64 – Megjegyzés eltávolítva

65 – Megjegyzés lezárva

66 – Magyarázat frissítve

67 – Kategória eltávolítva

68 – Kategória átnevezve

69 – Kategória áthelyezve

70 – Szöveg mentése sikertelen

71 – Szöveg hozzáadva a tárolóban

72 – Szöveg frissítve a feltöltés során

73 – Szöveg hozzáadva a feltöltés során

74 – Fordítás frissítve forrás feltöltésével

75 – Összetevő fordítása befejezve

76 – Kötelező ellenőrzés érvényesítve

77 – Változtatás terjesztve

78 – Fájl feltöltve

79 – További jelzők frissítve

Események:

Változás esemény

Sends notification to a Slack channel based on selected events.

Figyelem

The notification content might show HTML tags. This is a known issue that will be soon addressed; see https://github.com/WeblateOrg/weblate/issues/15056.

Tipp

To obtain a webhook URL, follow the steps outlined in the Slack Incoming Webhooks documentation

Webhook

Added in version 5.11.

Kiegészítő azonosítója:

weblate.webhook.webhook

Beállítások:

webhook_url

Webhook URL

secret

Titkos kulcs

A Base64 encoded string

events

Eseményváltozások

Elérhető lehetőségek:

0 – Erőforrás frissítve

1 – Fordítás befejezve

2 – Fordítás módosítva

3 – Megjegyzés hozzáadva

4 – Javaslat hozzáadva

5 – Fordítás hozzáadva

6 – Automatikusan lefordítva

7 – Javaslat elfogadva

8 – Fordítás visszaállítva

9 – Fordítás feltöltve

13 – Forrásszöveg hozzáadva

14 – Összetevő zárolva

15 – Összetevő feloldva

17 – Változások véglegesítve

18 – Változások feltöltve

19 – Tároló visszaállítva

20 – Tároló összevonva

21 – Tároló újraalapozva (rebase)

22 – Tároló összevonása sikertelen

23 – Tároló újraalapozása sikertelen

24 – Feldolgozási hiba

25 – Fordítás eltávolítva

26 – Javaslat eltávolítva

27 – Fordítás lecserélve

28 – Tároló feltöltése sikertelen

29 – Javaslat eltávolítva a tisztítás során

30 – Forrásszöveg módosítva

31 – Szöveg hozzáadva

32 – Tömeges állapotváltozás

33 – Láthatóság megváltozott

34 – Felhasználó hozzáadva

35 – Felhasználó eltávolítva

36 – Fordítás jóváhagyva

37 – Szerkesztésre megjelölve

38 – Összetevő eltávolítva

39 – Projekt eltávolítva

41 – Projekt átnevezve

42 – Összetevő átnevezve

43 – Összetevő áthelyezve

45 – Közreműködő csatlakozott

46 – Bejelentés közzétéve

47 – Riasztás aktiválva

48 – Nyelv hozzáadva

49 – Nyelv igényelve

50 – Projekt létrehozva

51 – Összetevő létrehozva

52 – Felhasználó meghívva

53 – Tároló értesítés érkezett

54 – Fordítás fájlfeltöltéssel cserélve

55 – Licenc módosítva

56 – Közreműködői licencmegállapodás módosítva

57 – Képernyőkép hozzáadva

58 – Képernyőkép feltöltve

59 – Szöveg frissítve a tárolóban

60 – Kiegészítő telepítve

61 – Kiegészítő konfigurációja módosítva

62 – Kiegészítő eltávolítva

63 – Szöveg eltávolítva

64 – Megjegyzés eltávolítva

65 – Megjegyzés lezárva

66 – Magyarázat frissítve

67 – Kategória eltávolítva

68 – Kategória átnevezve

69 – Kategória áthelyezve

70 – Szöveg mentése sikertelen

71 – Szöveg hozzáadva a tárolóban

72 – Szöveg frissítve a feltöltés során

73 – Szöveg hozzáadva a feltöltés során

74 – Fordítás frissítve forrás feltöltésével

75 – Összetevő fordítása befejezve

76 – Kötelező ellenőrzés érvényesítve

77 – Változtatás terjesztve

78 – Fájl feltöltve

79 – További jelzők frissítve

Események:

Változás esemény

Sends notifications to external services based on selected events, following the Standard Webhooks specification.

The request payload complies with the Weblate Messaging schema. 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"
}

Sample request body with categories:

{
   "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"
   ]
}

Sample request headers:

{
   "webhook-id": "7f1c5477f6275a69af7b83236c20cb1a",
   "webhook-timestamp": "1748505623.044281",
   "webhook-signature": "v1,Ceo5qEr07ixe2NLpvHk3FH9bwy/WavXrAFQ/9tdO6mc="
}

The webhook-signature is a space separated list of HMAC signatures generated using the secret string, the request payload, the webhook-timestamp, and the webhook-id. This ensures the authenticity and integrity of the webhook request.

To verify a request, you can use the Webhook.verify method from the standardwebhooks library or an implementation of the „Standard Webhooks Specification”.

XML kimenet testreszabása

Added in version 4.15.

Kiegészítő azonosítója:

weblate.xml.customize

Beállítások:

closing_tags

Záró címke hozzáadása az üres XML-címkékhez

Események:

Tárolás betöltése utáni esemény

Lehetővé teszi az XML kimenet viselkedésének beállítását, például a záró címkék kezelését.

YAML kimenet testreszabása

Kiegészítő azonosítója:

weblate.yaml.customize

Beállítások:

indent

YAML behúzás

width

Hosszú sorok tördelése

Elérhető lehetőségek:

80 – Sorok tördelése 80 karakternél

100 – Sorok tördelése 100 karakternél

120 – Sorok tördelése 120 karakternél

180 – Sorok tördelése 180 karakternél

65535 – Nincs sortörés

line_break

Sortörések típusa

Elérhető lehetőségek:

dos – DOS (\r\n)

unix – UNIX (\n)

mac – MAC (\r)

Események:

Tárolás betöltése utáni esemény

Lehetővé teszi a YAML kimenet viselkedésének beállítását, például a sorhossz vagy a sortörések típusának megadását.

Kiegészítők listájának testreszabása

A kiegészítők listáját a WEBLATE_ADDONS beállítás határozza meg. Új kiegészítő hozzáadásához adja meg az abszolút osztálynevet ebben a beállításban.

Kiegészítő írása

Saját kiegészítőket is lehet írni. Ehhez hozzon létre egy leszármazott osztályt a weblate.addons.base.BaseAddon osztályból, amelyben meghatározza a kiegészítő metaadatait, majd valósítson meg egy visszahívási (callback) függvényt a feldolgozáshoz.

Parancsfájlok futtatása kiegészítőből

A kiegészítők parancsfájlok futtatására is használhatók. Korábban ez közvetlenül a Weblate része volt, de most már külön kódot kell írni, hogy a szkriptet egy kiegészítőbe csomagolja.

# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later

"""Example pre commit script."""

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

A telepítési útmutatót lásd itt: Egyedi minőség-ellenőrzések, kiegészítők és automatikus javítások.

A parancsfájl úgy fut le, hogy az aktuális könyvtár az adott összetevő VCS (verziókezelő) tárolójának gyökérkönyvtárára van beállítva.

Ezen felül az alábbi környezeti változók érhetők el:

WL_VCS

Használt verziókezelő rendszer.

WL_REPO

Forrás tároló URL-je.

WL_PATH

Abszolút elérési út a VCS (verziókezelő) tárolóhoz.

WL_BRANCH

Az aktuális összetevőhöz beállított tárolóág.

WL_FILEMASK

Az aktuális összetevő fájlmaszkja.

WL_TEMPLATE

Egynyelvű fordítások sablonfájljának neve (lehet üres).

WL_NEW_BASE

Az új fordítások létrehozásához használt fájl neve (lehet üres).

WL_FILE_FORMAT

Az aktuális összetevő fájlformátuma.

WL_LANGUAGE

A jelenleg feldolgozott fordítás nyelve (nem érhető el összetevő szintű hook-ok esetén).

WL_PREVIOUS_HEAD

Frissítés utáni hivatkozási pont [HEAD] (csak a frissítés utáni művelet [post-update hook] végrehajtása után érhető el).

WL_COMPONENT_SLUG

Az összetevő URL-azonosítója (slug).

WL_PROJECT_SLUG

A projekt URL-azonosítója (slug).

WL_COMPONENT_NAME

Az összetevő neve.

WL_PROJECT_NAME

A projekt neve.

WL_COMPONENT_URL

Az összetevő URL-je.

WL_ENGAGE_URL

A projekt részvételéhez tartozó URL-cím.

Tároló feldolgozása frissítés után

Használható a fordítási fájlok frissítésére, amikor a forrás tárolóban változás történik. Fontos, hogy a Weblate csak a verziókezelő rendszerbe (VCS) véglegesített (commitolt) fájlokat látja, ezért a módosításokat a parancsfájl részeként kell véglegesíteni.

Például Gulp használatával a következő kóddal valósítható meg:

#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json

Fordítások véglegesítés előtti feldolgozása

A véglegesítési (commit) parancsfájl használható arra, hogy a fordítást automatikusan módosítsa, mielőtt az bekerülne a tárolóba.

A parancsfájl egyetlen paramétert kap, amely az aktuális fordítás fájlnevéből áll.

Kiegészítő-tevékenységek naplózása

A kiegészítő-tevékenységek naplója nyomon követi a kiegészítők futását, és felhasználható a kiegészítők aktivitásának ellenőrzésére.

A naplók egy meghatározott idő után automatikusan törölhetők az ADDON_ACTIVITY_LOG_EXPIRY beállítás használatával.