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.
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.
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.
Manual trigger¶
Triggered when an add-on is run manually from add-on management or the API.
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.
Repository post-remove¶
Triggered just after a translation is removed.
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 az összetevő URL-azonosítóját (slug), amelyet forrásként kíván használni. Hagyja üresen, ha a projekt összes összetevőjét szeretné 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
The regular expression must define named groups for component and language.
file_formatFájlformátum
name_templateAz összetevő nevének testreszabása
Use Django template syntax. This template must include {{ component }}.
base_file_templateAz egynyelvű alapfájlnév meghatározása
Leave empty for bilingual translation files. When set, this template must include {{ component }}.
new_base_templateÚj fordítások alapfájljának meghatározása
Filename of file used for creating new translations. For gettext choose .pot file. This template must include {{ component }}.
intermediate_templateKöztes nyelvi fájl
Filename of intermediate translation file. In most cases this is a translation file provided by developers and is used when creating actual source strings. This template must include {{ component }}.
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
- 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.
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
componentandlanguagenamed 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_templateand at least one translation file matchingmatch.
Worked example: news_<lang>.md¶
This is a common filename-based language variant layout:
docs/news_en.mddocs/news_cs.mddocs/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.
- Reguláris kifejezés:
(?:(?P<path>.*/))?(?P<component>.+?)_(?P<language>[A-Za-z]{2,3}(?:[_-][A-Za-z0-9]+)*)\.(?P<extension>[^/.]+)- Összetevő neve:
{{ component }}- Discovered file masks:
docs/news_*.mddocs/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.
Minden fájlnévmezőben használhatók Django sablonjelölések is, például:
{{ component }}Component name parsed from the
componentmatch group{{ 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¶
The worked example above covers the most common filename-based variant layout. The following examples show other repository structures you can match.
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
Biztosítsa, hogy az új összetevő tartalmazza a fordítható nyelvek teljes készletét a Hiányzó nyelvek hozzáadása segítségével.
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 bróker kiszolgáló
Az AMQP bróker, amelyhez csatlakozni kell.
amqp_sslSSL használata az AMQP kapcsolathoz
ca_certCA tanúsítványok
PEM kódolású CA tanúsítványok tömbje, amelyet a kiszolgáló által bemutatott tanúsítvány érvényesítésére használnak.
client_keyÜgyfél SSL kulcs
PEM kódolású ügyfél privát SSL kulcs.
client_certÜgyfél SSL tanúsítványok
PEM kódolású ügyfél SSL tanúsítvány.
- Események:
Értesítéseket küld egy Fedora Messaging-kompatibilis AMQP üzenetváltóba.
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¶
Minden üzenet tárgya weblate.<action>.<project>.<component>.<translation>. A művelet kisbetűs szöveges ábrázolása, szóköz helyett aláhúzással, például resource_update, az összes többi rész opcionális, és az objektum URL-azonosítóját (slug) vagy a nyelvi kódot jelenti.
Message body¶
A törzs a következő mezőkből áll (feltéve, hogy azok az eseményhez rendelkezésre állnak):
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¶
Léteznek további fejlécek, amelyeket szintén felhasználhat az útválasztáshoz:
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
11Szerkesztést igényel (Ellenőrzést igényel)
12Szerkesztést igényel (Ellenőrizendő)
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 „Újraírá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, és megegyezik egy 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 a forrásszövegeket is tartalmazzák a lefordítatlan szövegek esetében.
Tipp
Érdemes lehet szigorítani a Változatlan fordítás ellenőrzést azzal, hogy hozzáadja a strict-same jelzőt az Fordítási jelzők beállításhoz.
Lásd még
Új forrásszövegek megjelölése „Ellenőrzé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, a Weblate ellenőrzést igényel jelzővel látja el. Így könnyedén kiszűrhetők és szerkeszthetők a fejlesztők által írt forrásszövegek.
Lásd még
Új fordítások megjelölése „Újraírá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, a Weblate újraírást igényel jelzővel látja el. Így könnyedén kiszűrhetők és szerkeszthetők a fejlesztők által készített fordítások.
Lásd még
Tároló frissített fordításainak megjelölése „Szerkesztést igényel” állapottal¶
- 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:
Amikor egy szövegfordítás megváltozik a VCS-ben, a Weblate automatikusan „Szerkesztést igényel” jelzővel látja el. Ez különösen hasznos, ha a fordítási fájlokat gyakran frissítik kézzel vagy külső szolgáltatás által.
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.
A fájlnévben és a tartalomban is használhat Django-sablont, a részletes jelölőnyelvi leírást 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
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.
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.
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:
Kiegészítő telepítése, Napi, Tároló hozzáadás utáni művelet, Repository post-remove
Updates the ALL_LINGUAS variable in „configure”, „configure.in” or „configure.ac” files, when a translation is added or removed.
Updates the ALL_LINGUAS variable in configure, configure.in or any
configure.ac files, when a translation is added or removed.
Gettext kimenet testreszabása¶
Removed in version 5.13: Replaced by Fájlformátum paraméterek.
POT-fájl frissítése (Django)¶
Added in version 5.17.
- Kiegészítő azonosítója:
weblate.gettext.django- Beállítások:
intervalUpdate frequency
Milyen gyakran frissítse a kiegészítő a POT fájlt a komponens frissítésekor.
Elérhető lehetőségek:¶ dailyNapi
weeklyWeekly
monthlyHavi
normalize_headerPOT fejléc normalizálása
Updates gettext headers and replaces placeholder POT comments.
- Események:
Kiegészítő telepítése, Manual trigger, Tároló frissítés utáni esemény
Frissíti a gettext sablont a Django beépített makemessages parancsával.
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, Repository post-remove
Updates the LINGUAS file when a translation is added or removed.
Update POT file (Meson)¶
Added in version 5.17.
- Kiegészítő azonosítója:
weblate.gettext.meson- Beállítások:
intervalUpdate frequency
Milyen gyakran frissítse a kiegészítő a POT fájlt a komponens frissítésekor.
Elérhető lehetőségek:¶ dailyNapi
weeklyWeekly
monthlyHavi
normalize_headerPOT fejléc normalizálása
Updates gettext headers and replaces placeholder POT comments.
comment_modeCode comments
Choose whether xgettext should extract no comments, all comments, or only comments marked with a specific tag.
Elérhető lehetőségek:¶ offDo not extract comments
allExtract all comments
taggedExtract comments with tag
comment_tagComment tag
Tag passed to xgettext for comment extraction when using tagged comment mode.
checksxgettext checks
Additional xgettext validation checks to enable for extracted messages.
Elérhető lehetőségek:¶ ellipsis-unicodeellipsis-unicode
space-ellipsisspace-ellipsis
quote-unicodequote-unicode
bullet-unicodebullet-unicode
keywordAdditional keyword
Optional extra keyword passed to xgettext using –keyword.
presetMeson preset
Built-in xgettext argument preset matching Meson gettext integration. The GLib preset adds the keyword and format-flag options used by Meson’s gettext helper.
Elérhető lehetőségek:¶ glibGLib
- Események:
Kiegészítő telepítése, Manual trigger, Tároló frissítés utáni esemény
Updates the gettext template using Meson gettext conventions.
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: A Beállítások konfiguráció átkerült ide: Fájlformátum paraméterek.
- 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:
Az msgmerge használatával frissíti az összes PO-fájlt (ahogy a „Fájlmaszkban” be van állítva), hogy egyezzenek a POT-fájllal (ahogy a „Sablon az új fordításokhoz” beállításban szerepel).
Ez a kiegészítő elengedhetetlen a gettext PO-fájlok kezelésekor, amikor a POT (sablon) fájl új szövegekkel vagy a meglévő szövegek módosításával frissül. Amikor a POT fájl frissül a tárolóban, ez a kiegészítő automatikusan összevonja ezeket a módosításokat az összes nyelvi PO fájlba, biztosítva, hogy:
New translatable strings appear in all languages
Removed strings are marked as obsolete
A módosított szövegek felülvizsgálatra szorulóként vannak megjelölve (ellenőrizendő)
Most msgmerge command-line options can be set up through file format parameters configuration.
POT-fájl frissítése (Sphinx)¶
Added in version 5.17.
- Kiegészítő azonosítója:
weblate.gettext.sphinx- Beállítások:
intervalUpdate frequency
Milyen gyakran frissítse a kiegészítő a POT fájlt a komponens frissítésekor.
Elérhető lehetőségek:¶ dailyNapi
weeklyWeekly
monthlyHavi
normalize_headerPOT fejléc normalizálása
Updates gettext headers and replaces placeholder POT comments.
filter_modeFiltering
Opcionálisan eltávolítja azokat a karakterláncokat, amelyek a Sphinx-kivonás után nem érdemes lefordítani.
Elérhető lehetőségek:¶ noneNincs
weblate_docsWeblate dokumentáció
- Események:
Kiegészítő telepítése, Manual trigger, Tároló frissítés utáni esemény
A projektkonfiguráció betöltése nélkül frissíti a gettext-sablont a Sphinx gettext-készítőjének segítségével.
Update POT file (xgettext)¶
Added in version 5.17.
- Kiegészítő azonosítója:
weblate.gettext.xgettext- Beállítások:
intervalUpdate frequency
Milyen gyakran frissítse a kiegészítő a POT fájlt a komponens frissítésekor.
Elérhető lehetőségek:¶ dailyNapi
weeklyWeekly
monthlyHavi
normalize_headerPOT fejléc normalizálása
Updates gettext headers and replaces placeholder POT comments.
comment_modeCode comments
Choose whether xgettext should extract no comments, all comments, or only comments marked with a specific tag.
Elérhető lehetőségek:¶ offDo not extract comments
allExtract all comments
taggedExtract comments with tag
comment_tagComment tag
Tag passed to xgettext for comment extraction when using tagged comment mode.
checksxgettext checks
Additional xgettext validation checks to enable for extracted messages.
Elérhető lehetőségek:¶ ellipsis-unicodeellipsis-unicode
space-ellipsisspace-ellipsis
quote-unicodequote-unicode
bullet-unicodebullet-unicode
keywordAdditional keyword
Optional extra keyword passed to xgettext using –keyword.
input_modeInput source
Válassza ki, hogy az xgettext a forrásfájlokat glob-minta alapján vagy a POTFILES/POTFILES.in manifesztből olvassa-e be.
Elérhető lehetőségek:¶ patternsSource file patterns
potfilesPOTFILES manifeszt
languagexgettext language
Az xgettextnek átadott programozási nyelv, például Python vagy C.
source_patternsSource file patterns
Újsorral elválasztott, a tárolóhoz viszonyított glob-minta az xgettext programmal kibontandó fájlokhoz.
potfiles_pathPOTFILES elérési útja
Repository-relative path to POTFILES or POTFILES.in. Entries are resolved relative to the repository root. If present next to the manifest, POTFILES.skip excludes listed files from extraction.
- Események:
Kiegészítő telepítése, Manual trigger, Tároló frissítés utáni esemény
A kiválasztott forrásfájlokon az xgettext segítségével frissíti a gettext-sablont.
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
A felesleges konfliktusok elkerülése érdekében ajánlott beállítani a felsőbb rétegű változások automatikus fogadását webhookok vagy API segítségével, lásd: 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 Fájlformátum paraméterek.
Tároló visszaállítása az eredeti állapotra¶
Added in version 5.17.
- Kiegészítő azonosítója:
weblate.hosted.reset- Beállítások:
Ennek a kiegészítőnek nincs konfigurációja.
- Események:
A Weblate minden éjjel törli a tárolóban végzett módosításokat.
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
Threshold for removal. Leave empty to remove suggestions regardless of votes. This field has no effect with voting turned off.
- 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
Használja a Fordítási fájlok tisztítása kiegészítőt, ha csak az elavult fordítási kulcsokat szeretné eltávolítani.
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: A titok hosszúságának a specifikációval való megfelelése most már ellenőrizve van.
- Kiegészítő azonosítója:
weblate.webhook.webhook- Beállítások:
webhook_urlWebhook URL
secretWebhook titok
A Standard Webhook titok egy base64 kódolású szöveg.
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.
A megadott secret egy base64 kódolású karakterlánc, amely 24 bájt (192 bit) és 64 bájt (512 bit) közötti. Az egyszerű azonosítás érdekében whsec_ előtaggal látható el.
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.
Obsolete add-ons¶
XML kimenet testreszabása¶
Added in version 4.15.
Removed in version 5.13: Replaced by Fájlformátum paraméterek.
YAML kimenet testreszabása¶
Removed in version 5.13: Replaced by Fájlformátum paraméterek.
Common add-on parameters¶
Gépi fordítómotorok¶
|
Alibaba |
|
Amazon Translate |
|
Anthropic |
|
Apertium APy |
|
Azure AI Translator |
|
Azure OpenAI |
|
Baidu |
|
CyrTranslit |
|
DeepL |
|
Glosbe |
|
Google Cloud Translation Advanced |
|
Google Cloud Translation Basic |
|
LTEngine |
|
LibreTranslate |
|
ModernMT |
|
MyMemory |
|
Netease Sight |
|
Ollama |
|
OpenAI |
|
SAP Translation Hub |
|
Systran |
|
Weblate |
|
Weblate fordítási memória |
|
Yandex |
|
Yandex v2 |
|
Youdao Zhiyun |
|
tmserver |
Fájlformátum¶
|
XLIFF 1.2 with Apple extensions |
|
App Store-metaadatfájlok |
|
ARB-fájl |
|
Android szövegerőforrás |
|
AsciiDoc-fájl |
|
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 |
|
Egyszerű CSV-fájl |
|
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-fájl |
|
gotext JSON-fájl |
|
GWT properties |
|
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 |
|
MDX file |
|
MediaWiki-szövegfájl |
|
@draggable/i18n nyelvi fájl |
|
Mobil Kotlin erőforrás |
|
Nextcloud JSON-fájl |
|
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 |
|
RC-fájl |
|
RESJSON-fájl |
|
ResourceDictionary-fájl |
|
.Net erőforrásfájl |
|
Ruby YAML-fájl |
|
SubRip feliratfájl |
|
SubStation Alpha feliratfájl |
|
iOS szövegek |
|
Stringsdict-fájl |
|
MicroDVD feliratfájl |
|
TermBase eXchange fájl |
|
TOML-fájl |
|
Qt Linguist fordítási fájl |
|
Egyszerű szövegfájl |
|
WebExtension JSON-fájl |
|
WixLocalization file |
|
XLIFF 1.2 elhelyezési támogatással |
|
XLIFF 2.0 fordítási fájl |
|
XLIFF 2.0 fordítási fájl elhelyezési támogatással |
|
Excel Open XML |
|
XWiki teljes oldal |
|
XWiki Java Properties |
|
XWiki Page Properties |
|
YAML-fájl |
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 |
|
Fordítások kényszerített szinkronizálása |
|
Fordítások kényszerített újraolvasása |
|
Képernyőkép eltávolítva |
|
Címke hozzáadva |
|
Címke eltávolítva |
|
Tároló tisztítása |
|
Source string added in the upload |
|
Source string added in the repository |
|
Project backed up |
|
Project restored |
|
Component restored |
|
User edit reverted |
|
Project setting changed |
|
Component setting changed |
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.