Tovább a tartalomhoz

CLI

Az Ownlate CLI feltolja a forrásszövegeket, és visszahúzza a fordításokat. Ugyanazt a fájlformátumot használja, amelyet a Git-integráció olvas, így az egyikhez beállított repository a másikkal is működik.

A konténerkép — ugyanaz, amelyet a GitHub Action futtat:

bash
docker run --rm -it \
-v "$HOME/.ownlate:/root/.ownlate" \
-v "$(pwd):/app" -w /app \
globalartltd/ownlate-cli <parancs>

Vagy fordítás forrásból:

bash
cargo install --git https://github.com/OwnLate/ownlate ownlate-cli
bash
ownlate login # API-kulcs tárolása
ownlate init # projekt kiválasztása, konfiguráció kiírása
ownlate push # forrásszövegek feltöltése
ownlate pull # fordítások letöltése

A CLI az aktuális könyvtárban keresi az ownlate.yml fájlt.

yaml
project_id: f4092389-de6a-49ee-af84-46d59ba618f0
files:
- source: locales/en.json
translation: locales/{lang}.json

Minden elérhető beállítás:

yaml
project_id: <uuid>
api_token_env: OWNLATE_API_TOKEN
files:
- source: locales/en.json
translation: locales/{lang}.json
flat: false
languages_mapping:
zh-Hans: zh_CN
zh-Hant: zh_TW
KulcsJelentés
project_idMelyik projekttel szinkronizál
api_token_envA tokent tartalmazó környezeti változó neve a ~/.ownlate helyett
files[].sourceA feltöltendő forrásfájl
files[].translationHová íródnak a lefordított fájlok; tartalmaznia kell a {lang} helyőrzőt
files[].flatA beágyazott kulcsok maradjanak úgy, ahogy vannak, ne lapuljanak ki
files[].languages_mappingEgy nyelvi kód leképezése más fájlnévrészletre

ownlate.yml nélkül a CLI arra a projektbeállításra esik vissza, amelyet az ownlate init a ~/.ownlate fájlba írt.

bash
ownlate login # bekéri az API-kulcsot, ellenőrzi, menti a ~/.ownlate fájlt
ownlate logout # törli a kulcsot a ~/.ownlate fájlból

Saját OwnLate-telepítésnél egyszer adja meg az API címét: a ~/.ownlate fájlba kerül, és ownlate logout után is ott marad:

bash
ownlate login --api-url https://api.ownlate.example.com

A cím forrása sorrendben --api-url, OWNLATE_API_URL, majd ~/.ownlate; ha egyik sincs megadva, a CLI a https://api.ownlate.com címet használja.

Pipeline-hoz inkább mutasson az api_token_env egy környezeti változóra:

bash
export OWNLATE_API_TOKEN=own_xxxxxxxxxxxx
ownlate push

Kulcsot a Profil → API-kulcsok alatt hozhat létre — lásd: REST API.

Lekéri a projektjeit, választani enged közülük, és kiírja az aktuális könyvtár konfigurációját.

Crowdinről költözik? Az ownlate init --from crowdin.yml ugyanazokkal a fájlhozzárendelésekkel írja meg az ownlate.yml fájlt: minden nyelvi helyőrzőből {lang} lesz, a fájlnév-helyőrzőkből helyettesítő karakter, a languages_mapping pedig átkerül. Azokat a helyőrzőket, amelyek kódjai eltérnek az Ownlate kódjaitól, például a %android_code%-ot, egy megjegyzéssel alakítja át, hogy vegyen fel hozzájuk hozzárendelést. Meglévő ownlate.yml fájlt sosem ír felül. Utána futtassa az ownlate init parancsot a projekt kiválasztásához.

Feltölti az összes files[].source fájlt, és szegmenseket hoz létre vagy frissít belőlük.

KapcsolóLeírás
-w, --watchFigyeli a forrásfájlokat, és minden mentésnél újra feltölt
-n, --dry-runMegmutatja, mit töltene fel, anélkül hogy bármit feltöltene

Letölti a lefordított fájlokat a files[].translation által megadott útvonalakra.

KapcsolóLeírás
-l, --lang <kód>Csak egy nyelv letöltése

Kiír egy haladási táblát minden célnyelvhez.

Project My App f4092389-…
Lang ████████████░░░░░░░░ % Total Untrans Draft Transl Approved
────────────────────────────────────────────────────────────────────────────
fr ████████████████████ 100% 484 0 0 0 484
de ██████████░░░░░░░░░░ 51% 484 237 12 89 146
es ████░░░░░░░░░░░░░░░░ 20% 484 387 4 51 42
────────────────────────────────────────────────────────────────────────────
3 langs 57% 1452 624 16 140 672
KapcsolóLeírás
--min <százalék>1-es kóddal lép ki, ha bármelyik nyelv ez alatt van — ez a CI-kapu

Előfordítja a lefordítatlan szegmenseket. A munka a szerveren, háttérben fut; a haladást utána az ownlate status mutatja.

KapcsolóLeírás
-l, --lang <kód>Csak egy nyelv
-p, --provider <típus>tm a fordítási memóriához (alapértelmezés), mt a beépített AI-motorhoz
-s, --score <n>A memóriatalálat minimális pontszáma, 0–100 (alapértelmezés 100, a tm forrásra vonatkozik)

Hogy melyik forrás mit tesz a szegmens állapotával, lásd: Fordítási memória.

ownlate project list és ownlate project create

Szekció neve “ownlate project list és ownlate project create”
bash
ownlate project list
ownlate project create "Mobile App" --source en --langs fr,de,es
KapcsolóLeírás
-s, --source <nyelv>A forrásnyelv kódja
-l, --langs <kódok>Célnyelvek vesszővel elválasztva
yaml
- name: Push source strings
run: docker run --rm -v "$PWD:/app" -w /app -e OWNLATE_API_TOKEN globalartltd/ownlate-cli push
env:
OWNLATE_API_TOKEN: ${{ secrets.OWNLATE_API_TOKEN }}
- name: Fail if a language is behind
run: docker run --rm -v "$PWD:/app" -w /app -e OWNLATE_API_TOKEN globalartltd/ownlate-cli status --min 90
env:
OWNLATE_API_TOKEN: ${{ secrets.OWNLATE_API_TOKEN }}

Tolja fel minden, az alapértelmezett ágba történő merge-nél, és húzza le ütemezetten vagy kiadás előtt — így az igazság forrása az Ownlate-ben marad, a build pedig reprodukálható a repositoryból.