Tovább a tartalomhoz

Kiadások és OTA

Az export egy fájl, amit commitol. A kiadás egy pillanatkép, amit az alkalmazása letölt. A kiadásokkal úgy módosíthat egy fordítást, hogy nem ad ki új buildet.

A projekt Kiadások lapjáról, vagy a GraphQL createRelease mutációval. A kiadás a projekt jóváhagyott fordításait az adott pillanatban érvényes állapotukban fagyasztja be.

MezőJelentés
versionAutomatikusan kap értéket, projektenként növekszik
name, descriptionAz Öné, hogy elmondja, mi változott
splitByFilesFájlonként csoportosított-e a csomag — lásd lent
languagesMely nyelvek kerültek a csomagba
segmentCountHány kulcsot hordoz a legteljesebb nyelv

Csak approved állapotú fordítások kerülnek bele. Az a nyelv, amelyet senki sem fejezett be, a kész kulcsokkal jelenik meg és semmi mással, így egy befejezetlen nyelv nem akadályozza a kiadást — de érdemes megnézni a haladást, mielőtt kiadja.

Alapból a csomag kulcs–érték lapos térkép, nyelvenként egy, ahol a forrásnyelv a forrásszövegeket hordozza:

{
"en": { "home.title": "Hello" },
"hu": { "home.title": "Szia" }
}

splitByFiles esetén a kulcsok aszerint csoportosulnak, melyik fájlból származnak:

{
"en": { "5f1c…": { "home.title": "Hello" } },
"hu": { "5f1c…": { "home.title": "Szia" } }
}

A lapos alakot akkor használja, ha az alkalmazás nyelvenként egy szótárat tölt be, a felosztottat akkor, ha egyszerre egy névteret.

A többes számú alakokat hordozó szegmens a teljes alaktérképét adja értékként, így a többes szám érintetlenül éli túl a kiadást — emiatt érdemes ezekhez csomagot választani lapos export helyett.

Lapos csomagban ugyanaz a kulcs két fájlból csak egyszer jelenhet meg. Ha ez történik, a kiadás rögzíti: a kulcsot, a fájlokat, ahonnan érkezett, és azt a fájlt, amelyből az érték ténylegesen származik — az utolsó nyer. A lista a kiadással együtt tér vissza, és a felületen is látszik.

Ezt a jelentést érdemes elolvasni, amikor először ad ki egy sok fájlra bontott projektet. Vagy nevezze át az ütköző kulcsokat, vagy váltson a kiadásnál splitByFiles módra, és az ütközés eltűnik.

Minden projektnek egy terjesztése van: egy állandó hozzáférési kulcs, amely a kiadásait HTTP-n, hitelesítés nélkül szolgálja ki.

A Kiadások → Terjesztés alatt találja, vagy a GraphQL releaseDistribution lekérdezéssel. Ha a kulcs kiszivárog, generálja újra — a régi azonnal megszűnik működni, és minden kliensnek az újra lesz szüksége.

GET https://api.ownlate.com/public/v1/ota/{accessKey}/manifest
GET https://api.ownlate.com/public/v1/ota/{accessKey}/bundles
GET https://api.ownlate.com/public/v1/ota/{accessKey}/bundles/{language}

A manifest kicsi, olcsó lekérdezni:

{ "version": 7, "languages": ["en", "hu", "de"], "publishedAt": "2026-08-20T09:31:00Z" }

A csomagvégpontok a fordításokat adják vissza, minden nyelvre vagy egyre:

{
"version": 7,
"language": "hu",
"splitByFiles": false,
"publishedAt": "2026-08-20T09:31:00Z",
"translations": { "home.title": "Szia" }
}

Mindhárom alapból a legutóbbi kiadást szolgálja ki. Adja hozzá a ?version=5 paramétert, ha egy régebbihez akar rögzülni — hasznos, ha egy régi alkalmazásbuild olyan kulcsokat vár, amelyek a mostani kiadásban már nincsenek.

A válaszok ETag fejlécet hordoznak, amely a verzióból és a közzététel idejéből származik. Küldjön If-None-Match fejlécet, és a változatlan csomag 304 Not Modified választ ad törzs nélkül. A csomagokat tömörítjük, ha a kliens jelzi, hogy elfogadja, és a tömörített alak is a gyorsítótárba kerül.

Egy értelmes kliens indításkor lekéri a manifestet, összeveti a verziót a tárolttal, és csak eltérés esetén tölti le a csomagot.