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 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
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
Bizonyos egyezések kizárása¶
A negatív előretekintés használható bizonyos minták feldolgozásból való kizárására.
- Reguláris kifejezés:
res/values-(?P<language>[^/.]*)/strings-(?P<component>(?!(about|info)[^/]*)\.xml- Egyező fájlok:
res/values-cs/strings-help.xmlres/values-de/strings-help.xml
- Not matching files:
res/values-cs/strings-about.xmlres/values-de/strings-about.xmlres/values-cs/strings-info-1.xmlres/values-de/strings-info-1.xmlres/values-cs/strings-info-2.xmlres/values-de/strings-info-2.xml
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.
Figyelem
A felfedezhetőség érdekében egy új összetevőnek tartalmaznia kell egy fájlt, amely megfelel a base_file_template és legalább egy fájlt, amelynek neve megfelel a match-nek – azaz az összetevőnek tartalmaznia kell egy alapnyelvi fájlt és legalább egy meglévő fordítást. Ellenkező esetben figyelmen kívül lesz hagyva.
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.
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 Fájlformátum paraméterek.
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: 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:
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.
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.
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.
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
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.
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¶
|
Amazon Translate |
|
DeepL |
|
Google Cloud Translation Advanced |
|
Google Cloud Translation Basic |
|
Azure AI Translator |
|
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 |
|
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 |
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-fájl |
|
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-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 (ISO 8859-1) |
|
Java Properties (UTF-16) |
|
Java Properties (UTF-8) |
|
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 (UTF-16) |
|
iOS szövegek (UTF-8) |
|
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 |
|
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 |
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.