Integráció a Weblate-tel¶
Weblate alapok¶
Projekt- és összetevőstruktúra¶
A Weblate-ben a fordítások projektekbe és összetevőkbe vannak rendezve. Egy projekt több összetevőt tartalmazhat, ezek pedig különböző nyelvekre történő fordításokat. Egy összetevő egy fordítható fájlnak felel meg (például: GNU gettext PO (Portable Object) vagy Android szövegerőforrások). A projektek segítenek az összetevők logikus egységekbe rendezésében (például egy alkalmazás összes fordításának csoportosításához).
A projekten belüli összetevők kategóriák alapján is strukturálhatók. Az összetevők tartozhatnak egy kategóriához, a kategóriák pedig egymásba ágyazhatók.
A rendszerben minden projekt alapértelmezetten automatikusan megosztja a gyakori szövegek fordításait a projekt többi összetevője között. Ez csökkenti az ismétlődő és több verzióban előforduló szövegek fordításának terhét. A fordítások automatikus terjesztése összetevőnként letiltható az összetevő esetében a Fordítások terjesztésének engedélyezése beállítással, ha a fordítások eltérhetnek egymástól.
Tárolóintegráció¶
A Weblate úgy lett kialakítva, hogy integrálódjon a forrás (upstream) verziókezelő rendszerrel. A Folyamatos lokalizáció leírja az alapvető elemeket és a változások áramlását közöttük.
Lásd még
Az Rendszer-architektúra áttekintése bemutatja, hogyan működik a Weblate belsőleg.
Felhasználó hozzárendelése¶
A Weblate a fordítók által készített fordításokat a megfelelő szerzői adatokkal tárolja a verziókezelő tárolóban, név és e-mail-cím megadásával. A valós e-mail-cím használata összhangban van az elosztott verziókezelés szemléletével, és lehetővé teszi, hogy olyan szolgáltatások, mint a GitHub, a Weblate-ben végzett hozzájárulásait összekapcsolják a GitHub-profiljával.
Ez a funkció ugyanakkor kockázatot is hordozhat, mivel a verziókezelő véglegesítéseiben szereplő e-mail címekkel vissza lehet élni. Ráadásul, ha egy ilyen véglegesítés nyilvános tárhelyre (például GitHubra) kerül, onnan gyakorlatilag nem lehet eltávolítani. A Weblate lehetőséget biztosít arra, hogy Fiók alatt privát véglegesítési e-mail címet válasszon, így ezt elkerülheti.
Ezért az adminisztrátoroknak érdemes figyelembe venniük a következőket a Weblate beállításakor:
Az e-mail ilyen jellegű felhasználását egyértelműen ismertetni kell a szolgáltatási feltételekben, amennyiben ilyen dokumentumra szükség van. Ebben segítséget nyújthat a Jogi modul rész.
A
PRIVATE_COMMIT_EMAIL_OPT_INbeállítás alapértelmezetté teheti a privát e-mail használatot.
Fordítási projekt importálása a Weblate-be¶
A Weblate fejlesztése során a VCS-integráció központi szerepet kapott, ezért a legegyszerűbb megoldás az, ha Weblate hozzáférést kap a tárolójához. Az importálási folyamat végigvezeti a fordítások Weblate-összetevőkké történő beállításán.
Alternatív megoldásként létrehozhat helyi, csak olvasható tárolót is, amely kizárólag a fordításokat tartalmazza, integráció nélkül.
Frissített fordítások lekérése a Weblate-ből¶
A Weblate az új szövegeket adatbázisban tárolja, majd véglegesíti azokat egy helyi verziókezelő tárolóban. A Weblate tároló (ha a Git exportáló engedélyezve van) további távoli tárolóként is hozzáadható, és a fordítási frissítések onnan letölthetők.
Mielőtt ezt megtenné, érdemes lehet véglegesíteni az esetlegesen függőben lévő változtatásokat a Weblate-en belül (lásd: Késleltetett véglegesítések (Lazy commits)). Ezt megteheti a felhasználói felületen (a Tároló karbantartása résznél) vagy parancssorból a Weblate kliens segítségével.
Pushing changes can be automated if you grant Weblate push access to your repository and configure Tároló feltöltési URL in the Összetevőkonfiguráció, see Változások feltöltése Weblate-ből.
Alternatively, use Weblate REST API to update translations so that they match the latest version from the upstream in your remote VCS repository.
Távoli változások lekérése a Weblate-be¶
Ha friss szövegek kerültek a távoli VCS tárolóba, és ezeket be szeretné hozni a Weblate-be, engedélyezni kell, hogy a Weblate letölthesse a változásokat a forrás tárolóból. Ez megtörténhet a felhasználói felületen (a Tároló karbantartása résznél) vagy parancssorból a Weblate kliens használatával.
Ez automatizálható webhook beállításával, amely minden új véglegesítésnél aktiválja a Weblate-et. További részletek: Tárolók frissítése.
If not using VCS integration, you can use the UI or Weblate REST API to update the translations so that they match your codebase.
Lásd még
Új szövegek hozzáadása¶
Ha a fordítási fájlokat a forráskóddal együtt egy távoli VCS-ben tárolja, akkor valószínűleg már van egy meglévő munkafolyamata arra, hogyan kerüljenek új szövegek a projektbe. Bármilyen módon is ad hozzá új szövegeket, a Weblate felismeri őket, de érdemes használni a Minőségbiztosítás a forrásszövegekre funkciót, hogy elkerülje a hibás bejegyzések bekerülését.
Ha a fordítási fájlokat külön tárolja a kódtól, az alábbi módszerek egyikével adhat hozzá új szövegeket a Weblate-ben.
Manually, using Add new translation string from Operations menu in the source language. You can choose between the radio buttons Singular and Plural inside the form. Select the appropriate form of the new translation string to be added.
Programozottan, az API-n keresztül:
POST /api/translations/(string:project)/(string:component)/(string:language)/units/.A forrásfájl feltöltésével, a Létező fordítási fájl cseréje (ez felülírja a meglévő szövegeket, ezért ügyeljen rá, hogy a fájl tartalmazza a régi és új szövegeket is) vagy az Új szövegek hozzáadása lehetőséggel, lásd: Importálási módok.
Megjegyzés
A szövegek hozzáadásához a Weblate-ben engedélyezni kell a Szövegek kezelése jogosultságot.
Célnyelvi fájlok frissítése¶
Egynyelvű fájlok esetén (lásd: Fordítási fájlformátumok) a Weblate hozzáadhat új fordítandó szövegeket, amelyek az Egynyelvű alap nyelvi fájl sablonban szerepelnek, de a tényleges fordításokban még nem. Ugyanakkor nem végez automatikus tisztítást az elavult szövegeken, mivel ez váratlan eredményekhez vezethet. Ha ennek ellenére szeretné eltávolítani ezeket, telepítse a Fordítási fájlok tisztítása kiegészítőt, amely az igényei szerint kezeli a törlést.
Weblate will also not try to update bilingual files when the source changes,
so if you need po files to be updated from pot, you have two options:
Automatically with an add-on (recommended for continuous updates): Install the PO-fájlok frissítése a POT-fájlhoz igazítva (msgmerge) add-on, which automatically runs msgmerge to update all PO files whenever the POT file changes.
Manually via upload: Use the Update source strings Importálási módok to upload your POT file, which will merge it with existing translations.
Tipp
A forrásszövegek kinyerésére szolgáló eszközöket, mint például a xgettext vagy a lupdate, a Weblate-en kívül kell futtatni.
Új szövegek bevezetése¶
Új szövegeket a Weblate-en belül is hozzá lehet adni, ha a Szövegek kezelése engedélyezve van, de jellemzően célszerűbb, ha ezek a kódbeli módosításokkal együtt kerülnek be.
Egynyelvű formátumok esetén be kell állítani, hogy az új szövegek az Egynyelvű alap nyelvi fájl fájlba kerüljenek. Ezt általában a fejlesztők végzik, miközben írják a kódot. Az új szövegek minőségét érdemes átnézetni a Minőségbiztosítás a forrásszövegekre használatával.
Kétnyelvű formátumok esetén a szövegeket jellemzően eszközök segítségével nyerik ki a forráskódból (például: xgettext vagy intltool-update). Ehhez kövesse a lokalizációs keretrendszere dokumentációját. Miután a szövegek kinyerésre kerültek, előfordulhat, hogy a meglévő fordításokat is frissíteni kell, lásd: Célnyelvi fájlok frissítése.
Tipp
A szövegkinyerés automatizálása jelenleg nem tartozik a Weblate hatáskörébe, mivel ez nem megbízható kód futtatását igényelné — ezt célszerűbb általános CI-rendszerbe illeszteni, nem lokalizációs platformba.
Érdemes lehet a szövegkinyerést a CI-folyamatokba integrálni, hogy az új szövegek automatikusan megjelenjenek fordításra. Ez a folyamat a Ütközések (merge conflict) elkerülése elkerülését is segítheti.
A helyi VCS-tároló kezelése¶
Weblate stores all translations in its underlying version control repository. It is suggested to be connected to a remote one, but internal-only setup is also possible. The Repository maintenance allows controlling this repository. For a detailed description of the available actions, see Tároló-karbantartás.
Tipp
A Folyamatos lokalizáció esetén minden változás automatikusan feltöltésre kerül a tárolóból, így általában nincs szükség kézi kezelésre.