Kiegészítők¶
Add-ons provide ways to customize and automate the translation workflow. Admins can add and manage add-ons from the Operations ↓ Add-ons menu of each respective translation project or component. Add-ons can be also installed site-wide in Kezelőfelület.
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.
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.
Egység mentése utáni esemény¶
Közvetlenül azután aktiválódik, hogy a szöveg mentésre kerül.
Unit post-sync¶
Triggered after the string is synchronized with the VCS.
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:
modeAutomatikus fordítás módja
Elérhető lehetőségek:¶ suggestHozzáadás javaslatként
translateHozzáadás fordításként
fuzzyHozzáadás „Szerkesztést igénylőként”
qLekérdezés
Ne feledje, hogy az összes szöveg újrafordítása törölni fogja a meglévő fordításokat.
auto_sourceAutomatikus fordítások forrása
Elérhető lehetőségek:¶ othersEgyéb fordítási összetevők
mtGé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.
enginesGépi fordítómotorok
thresholdPontszámküszöb
- Események:
Kiegészítő telepítése, Összetevő frissítése, Napi, Változás esemény
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:
thresholdFordí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_selectorCSS-szelektor
CSS-szelektor a lokalizálható elemek felismerésére.
cookie_nameNyelvi süti neve
A süti neve, amely a nyelvi beállítást tárolja.
filesSzö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:
Biztosítja, hogy a projekt minden összetevőjénél egységes nyelvkészlet legyen használatban.
Megjegyzés
The components shared from other projects are not considered in this.
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:
matchReguláris kifejezés, amellyel a fordítási fájlokat egyezteti
file_formatFájlformátum
name_templateAz összetevő nevének testreszabása
base_file_templateAz 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_templateKö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_regexNyelvi szűrő
Reguláris kifejezés, amellyel a fordítási fájlokat szűrjük fájlmaszk keresésekor.
copy_addonsKiegészítők másolása a fő összetevőről az újonnan létrehozott összetevőkre
removeNem létező fájlok összetevőinek eltávolítása
confirmMegerősítem, hogy a fenti egyezések helyesek
- Események:
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:
Ö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.pocs/website.pode/application.pode/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.polocale/cs/LC_MESSAGES/website.polocale/de/LC_MESSAGES/application.polocale/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.posrc/locale/website.cs.posrc/locale/application.de.posrc/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.polocale/cs/website/cs.polocale/de/application/de.polocale/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.xmlres/values-cs/strings-help.xmlres/values-de/strings-about.xmlres/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.propertiesparent/module1/submodule/src/main/resources/ApplicationResource_es.propertiesparent/module2/src/main/resources/ApplicationResource_de.propertiesparent/module2/src/main/resources/ApplicationResource_ro.properties
Tipp
Component discovery add-on uses Weblate belső URL-ek. It’s a convenient way to share
VCS setup between multiple components. Linked components use the local repository of
the main component set up by filling weblate://project/main-component
into the Forráskód tároló field (in Operations ↓ Settings ↓
Version control system) of each respective component.
This saves time with configuration and system resources too.
Tipp
Ensure the new component contains the full set of translatable languages with Hiányzó nyelvek hozzáadása.
Figyelem
To be discovered, a new component must contain a file that matches base_file_template
and at least one file with a name that matches match – i.e., the component must
contain a base language file and at least one existing translation. Otherwise, it will be
ignored.
Lásd még
Fedora Messaging¶
Added in version 5.15.
- Kiegészítő azonosítója:
weblate.fedora_messaging.publish- Beállítások:
eventsEseményváltozások
amqp_hostAMQP broker host
The AMQP broker to connect to.
amqp_sslUse SSL for AMQP connection
ca_certCA certificates
Bundle of PEM encoded CA certificates used to validate the certificate presented by the server.
client_keyClient SSL key
PEM encoded client private SSL key.
client_certClient SSL certificates
PEM encoded client SSL certificate.
- Események:
Sends notifications to a Fedora Messaging compatible AMQP exchange.
A Fedora Messaging egy AMQP-alapú üzenetküldő rendszer, amely rögzíti a Weblate-ben bekövetkező változásokat. Ezzel a megoldással további szolgáltatásokat kapcsolhat a Weblate-ben történő eseményekhez.
Message topic¶
All messages have topic
weblate.<action>.<project>.<component>.<translation>. The action is
lowercase textual representation of action with underscores instead of space,
for example resource_update, all other parts are optional and represent
slug of the object or a language code.
Message body¶
The body consists of following fields (given that they are available for the event):
change_idA változás numerikus azonosítója
actionVerbose name of the change.
timestampISO formátumú időbélyeg
targetA változás új értéke (pl. a szöveg új fordítása)
oldA változás előtti érték (pl. a szöveg korábbi fordítása)
sourceSource string.
urlAbsolute URL to view the related object.
authorA szerző felhasználóneve (ez eltérhet a „user” mezőtől, pl. javaslat elfogadásakor)
userActing username
projectProjekt URL-azonosító (slug)
componentÖsszetevő URL-azonosítója (slug)
translationFordítás nyelvkódja
Message headers¶
There are additional headers which you might utilize for routing as well:
actionVerbose name of the change.
projectProjekt URL-azonosító (slug)
componentÖsszetevő URL-azonosítója (slug)
Example messages¶
Repository merge event:
{
"id": 1,
"action": "Merged repository",
"timestamp": "2017-06-15T11:30:47.325000+00:00",
"url": "http://example.com/projects/test/test/",
"component": "test"
}
New source string event:
{
"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"]
}
Resource update event:
{
"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"
}
Project removal event:
{
"id": 9,
"action": "Removed project",
"timestamp": "2019-10-17T15:57:08.559420+00:00",
"target": "test",
"user": "testuser"
}
New contributor event:
{
"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"]
}
New translation event:
{
"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"]
}
Tömeges szerkesztés¶
- Kiegészítő azonosítója:
weblate.flags.bulk- Beállítások:
qLekérdezés
stateBeállítandó állapot
Elérhető lehetőségek:¶ -1Ne változtassa
10Szerkesztést igényel
11Needs rewriting
12Needs checking
20Lefordítva
30Jóváhagyva
add_flagsHozzáadandó fordítási jelzők
remove_flagsEltávolítandó fordítási jelzők
add_labelsHozzáadandó címkék
remove_labelsEltávolítandó címkék
- Események:
Szövegek jelzőinek, címkéinek vagy állapotainak tömeges szerkesztése.
Példák:
Keresési lekérdezés |
|
|---|---|
Hozzáadandó címkék |
friss szövegek |
Keresési lekérdezés |
|
|---|---|
Hozzáadandó fordítási jelzők |
|
Keresési lekérdezés |
|
|---|---|
Hozzáadandó fordítási jelzők |
|
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:
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
You might also want to tighthen the Változatlan fordítás check by adding
strict-same flag to Fordítási jelzők.
Lásd még
Ú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:
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.
Lásd még
Ú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:
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.
Lásd még
Flag updated translations from repository as „Needs editing”¶
- Kiegészítő azonosítója:
weblate.flags.target_repo_update- Beállítások:
Ennek a kiegészítőnek nincs konfigurációja.
- Események:
Whenever a string translation is changed from the VCS, it is flagged as needing editing in Weblate. Especially useful if translation files are often updated manually or by an external service.
Lásd még
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:
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:
filenameA létrehozott fájl neve
templateA létrehozott fájl tartalma
- Események:
Olyan fájl létrehozása, amely részletes információt tartalmaz a fordítás állapotáról.
You can use a Django template in both filename and content, see Sablonjelölés for a detailed markup description.
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
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:
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:
sourceForrásszövegek
targetCélfordítás
A megadott fordítás összes szövege felül lesz írva
prefixElé fűzött statikus szöveg
var_prefixElé fűzött változó szöveg
suffixMögé fűzött statikus szöveg
var_suffixMögé fűzött változó szöveg
var_multiplierVá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_readonlyCsak olvasható szövegek bevonása
- Események:
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:
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:
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¶
Removed in version 5.13: Replaced by File format parameters.
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:
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:
pathA generált MO-fájl elérési útja
Ha nincs megadva, akkor a PO-fájl helyét használja alapértelmezetten.
fuzzySzerkeszté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:
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)¶
A 5.13 verzióban változott: Settings configuration has been moved to File format parameters.
- Kiegészítő azonosítója:
weblate.gettext.msgmerge- Beállítások:
Ennek a kiegészítőnek nincs konfigurációja.
- Események:
Updates all PO files (as configured by Fájlmaszk) to match the POT file (as configured by Sablon az új fordításokhoz) using msgmerge.
This add-on is essential when working with gettext PO files where the POT (template) file is updated with new strings or changes to existing strings. When the POT file is updated in the repository, this add-on automatically merges those changes into all language PO files, ensuring that:
New translatable strings appear in all languages
Removed strings are marked as obsolete
Modified strings are marked as needing review (fuzzy)
Most msgmerge command-line options can be set up through file format parameters configuration.
Git véglegesítések összevonása¶
- Kiegészítő azonosítója:
weblate.git.squash- Beállítások:
squashVéglegesítések összevonása
Elérhető lehetőségek:¶ allMinden véglegesítés egybevonva
languageNyelvenként
fileFájlonként
authorSzerzőnként
append_trailersTrailer (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_messageVé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:
Git véglegesítések összevonása a változások feltöltése előtt.
Tipp
To avoid unnecessary conflicts, it is recommended to configure automatic receiving of upstream changes by webhooks or API, see Tárolók frissítése.
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.
Removed in version 5.13: Replaced by File format parameters.
Java properties fájl formázása¶
- Kiegészítő azonosítója:
weblate.properties.sort- Beállítások:
case_sensitiveKis- és nagybetűérzékeny kulcsrendezés engedélyezése
- Események:
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:
ageMegőrzési idő (napokban)
- Események:
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:
ageMegőrzési idő (napokban)
votesSzavazá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:
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:
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
Use Fordítási fájlok tisztítása if you only want to remove stale translation keys.
Slack Webhookok¶
Added in version 5.12.
- Kiegészítő azonosítója:
weblate.webhook.slack- Beállítások:
webhook_urlWebhook URL
eventsEseményváltozások
- Események:
Értesítést küld egy Slack csatornára a kiválasztott események alapján.
Figyelem
Az értesítések tartalma esetenként HTML címkéket is megjeleníthet. Ez egy ismert hiba, amelyet hamarosan javítanak; lásd: https://github.com/WeblateOrg/weblate/issues/15056.
Tipp
A webhook URL beszerzéséhez kövesse a Slack bejövő webhookok dokumentációját
Webhook¶
Added in version 5.11.
A 5.15 verzióban változott: Compliance of the secret length with the specification is now validated.
- Kiegészítő azonosítója:
weblate.webhook.webhook- Beállítások:
webhook_urlWebhook URL
secretWebhook secret
The Standard Webhooks secret is a base64 encoded string.
eventsEseményváltozások
- Események:
Értesítéseket küld külső szolgáltatásoknak a kiválasztott események alapján, a Standard Webhooks szabványnak megfelelően.
A kérés adatszerkezete megfelel a Weblate Messaging sémának. Az OpenAPI-leírás elérhető a /api/docs/ címen. Példa kérés törzsre:
{
"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"
}
Példa kérés törzs kategóriákkal:
{
"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"
]
}
Példa kérés fejlécekre:
{
"webhook-id": "7f1c5477f6275a69af7b83236c20cb1a",
"webhook-timestamp": "1748505623.044281",
"webhook-signature": "v1,Ceo5qEr07ixe2NLpvHk3FH9bwy/WavXrAFQ/9tdO6mc="
}
A webhook-signature egy szóközzel elválasztott HMAC-aláírások listája, amelyeket a secret karakterlánc, a kérés törzse, a webhook-timestamp és a webhook-id felhasználásával hoztak létre. Ez biztosítja a webhook kérés hitelességét és épségét.
The provided secret is a base64 encoded string between 24 bytes (192 bits)
and 64 bytes (512 bits). It can be prefixed with whsec_ for easy
identification.
A kérés érvényesítéséhez használható a Webhook.verify metódus a standardwebhooks könyvtárból vagy a „Standard Webhooks Specification” egy implementációja.
XML kimenet testreszabása¶
Added in version 4.15.
Removed in version 5.13: Replaced by File format parameters.
YAML kimenet testreszabása¶
Removed in version 5.13: Replaced by File format parameters.
Common add-on parameters¶
Gépi fordítómotorok¶
|
Amazon Translate |
|
DeepL |
|
Google Cloud Translation Advanced |
|
Google Cloud Translation Basic |
|
ModernMT |
|
OpenAI |
|
Weblate |
|
Weblate fordítási memória |
Eseményváltozások¶
|
Erőforrás frissítve |
|
Fordítás befejezve |
|
Fordítás megváltoztatva |
|
Megjegyzés hozzáadva |
|
Javaslat hozzáadva |
|
Fordítás hozzáadva |
|
Automatikusan lefordítva |
|
Javaslat elfogadva |
|
Fordítás visszaállítva |
|
Fordítás feltöltve |
|
Forrásszöveg hozzáadva |
|
Összetevő zárolva |
|
Összetevő feloldva |
|
Változtatások véglegesítve |
|
Változtatások felküldve |
|
Tároló visszaállítva |
|
Tároló beolvasztva |
|
Tároló újraalapozva |
|
Tárolóbeolvasztás sikertelen |
|
Tároló-újraalapozás sikertelen |
|
Feldolgozás sikertelen |
|
Fordítás eltávolítva |
|
Javaslat eltávolítva |
|
Fordítás lecserélve |
|
Tárolófelküldés sikertelen |
|
Javaslat eltávolítva a tisztítás során |
|
Forrásszöveg megváltoztatva |
|
Szöveg hozzáadva |
|
Tömeges állapot megváltoztatva |
|
Láthatóság megváltoztatva |
|
Felhasználó hozzáadva |
|
Felhasználó eltávolítva |
|
Fordítás jóváhagyva |
|
Szerkesztésre megjelölve |
|
Összetevő eltávolítva |
|
Projekt eltávolítva |
|
Projekt átnevezve |
|
Összetevő átnevezve |
|
Összetevő áthelyezve |
|
Közreműködő csatlakozott |
|
Bejelentés kiküldve |
|
Riasztás aktiválva |
|
Nyelv hozzáadva |
|
Nyelv kérve |
|
Projekt létrehozva |
|
Összetevő létrehozva |
|
Felhasználó meghívva |
|
Tárolóértesítés fogadva |
|
Fordítás lecserélve fájlfeltöltéssel |
|
Licenc megváltoztatva |
|
Közreműködői licencmegállapodás megváltoztatva |
|
Képernyőkép hozzáadva |
|
Képernyőkép feltöltve |
|
Szöveg frissítve a tárolóban |
|
Kiegészítő telepítve |
|
Kiegészítő beállításai megváltoztatva |
|
Kiegészítő eltávolítva |
|
Szöveg eltávolítva |
|
Megjegyzés eltávolítva |
|
Megjegyzés megoldva |
|
Magyarázat frissítve |
|
Kategória eltávolítva |
|
Kategória átnevezve |
|
Kategória áthelyezve |
|
Szöveg mentése sikertelen |
|
Szöveg hozzáadva a tárolóban |
|
Szöveg frissítve a feltöltésben |
|
Szöveg hozzáadva a feltöltésben |
|
Fordítás frissítve forrás feltöltésével |
|
Összetevő fordítása befejezve |
|
Kényszerített ellenőrzés alkalmazva |
|
Változtatás terjesztve |
|
Fájl feltöltve |
|
További jelzők frissítve |
|
Betűtípus feltöltve |
|
Betűtípus módosítva |
|
Betűtípus eltávolítva |
|
Forced synchronization of translations |
|
Forced rescan of translations |
|
Screenshot removed |
|
Label added |
|
Label removed |
Fájlformátum¶
|
App Store-metaadatfájlok |
|
ARB-fájl |
|
Android szövegerőforrás |
|
Advanced SubStation Alpha feliratfájl |
|
Haiku catkeys |
|
Multiplatform erőforrás összeállítása |
|
CSV-fájl |
|
Többértékű CSV-fájl (UTF-8) |
|
Egyszerű CSV-fájl |
|
Egyszerű CSV-fájl (ISO-8859-1) |
|
Egyszerű CSV-fájl (UTF-8) |
|
CSV-fájl (UTF-8) |
|
DokuWiki-szövegfájl |
|
DTD-fájl |
|
Egyszerű XML-fájl |
|
Fluent-fájl |
|
Format.JS JSON-fájl |
|
go-i18n v1 JSON-fájl |
|
go-i18n v2 JSON-fájl |
|
go-i18n TOML file |
|
gotext JSON-fájl |
|
GWT-tulajdonságok (UTF-8) |
|
GWT-tulajdonságok (ISO-8859-1) |
|
HTML-fájl |
|
i18next JSON-fájl v3 |
|
i18next JSON-fájl v4 |
|
IDML-fájl |
|
INI-fájl |
|
Inno Setup INI-fájl |
|
Joomla nyelvi fájl |
|
JSON-fájl |
|
Beágyazott szerkezetű JSON-fájl |
|
Laravel PHP-szövegek |
|
Markdown-fájl |
|
MediaWiki-szövegfájl |
|
@draggable/i18n nyelvi fájl |
|
Mobil Kotlin erőforrás |
|
Nextcloud JSON file |
|
OpenDocument-fájl |
|
PHP-szövegek |
|
XLIFF 1.2 fordítási fájl |
|
gettext PO-fájl |
|
gettext PO-fájl (egynyelvű) |
|
XLIFF 1.2 gettext kiterjesztésekkel |
|
Java Properties (ISO 8859-1) |
|
Java Properties (UTF-16) |
|
Java Properties (UTF-8) |
|
RC-fájl |
|
RESJSON file |
|
ResourceDictionary-fájl |
|
.Net erőforrásfájl |
|
Ruby YAML-fájl |
|
SubRip feliratfájl |
|
SubStation Alpha feliratfájl |
|
iOS szövegek (UTF-16) |
|
iOS szövegek (UTF-8) |
|
Stringsdict-fájl |
|
MicroDVD feliratfájl |
|
TermBase eXchange fájl |
|
TOML file |
|
Qt Linguist fordítási fájl |
|
Egyszerű szövegfájl |
|
WebExtension JSON-fájl |
|
XLIFF 1.2 elhelyezési támogatással |
|
XLIFF 2.0 translation file |
|
XLIFF 2.0 translation file with placeables support |
|
Excel Open XML |
|
XWiki Full Page |
|
XWiki Java Properties |
|
XWiki Page Properties |
|
YAML-fájl |
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.
Lásd még
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 __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"
A telepítési útmutatót lásd itt: Custom quality checks, add-ons, automatic suggestions and auto-fixes.
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.
Lásd még
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.