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.
Telepítés
Szekció neve “Telepítés”A konténerkép — ugyanaz, amelyet a GitHub Action futtat:
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:
cargo install --git https://github.com/OwnLate/ownlate ownlate-cliGyors indulás
Szekció neve “Gyors indulás”ownlate login # API-kulcs tárolásaownlate init # projekt kiválasztása, konfiguráció kiírásaownlate push # forrásszövegek feltöltéseownlate pull # fordítások letöltéseKonfiguráció
Szekció neve “Konfiguráció”A CLI az aktuális könyvtárban keresi az ownlate.yml fájlt.
project_id: f4092389-de6a-49ee-af84-46d59ba618f0
files: - source: locales/en.json translation: locales/{lang}.jsonMinden elérhető beállítás:
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| Kulcs | Jelentés |
|---|---|
project_id | Melyik projekttel szinkronizál |
api_token_env | A tokent tartalmazó környezeti változó neve a ~/.ownlate helyett |
files[].source | A feltöltendő forrásfájl |
files[].translation | Hová íródnak a lefordított fájlok; tartalmaznia kell a {lang} helyőrzőt |
files[].flat | A beágyazott kulcsok maradjanak úgy, ahogy vannak, ne lapuljanak ki |
files[].languages_mapping | Egy 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.
Hitelesítés
Szekció neve “Hitelesítés”ownlate login # bekéri az API-kulcsot, ellenőrzi, menti a ~/.ownlate fájltownlate logout # törli a kulcsot a ~/.ownlate fájlbólSajá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:
ownlate login --api-url https://api.ownlate.example.comA 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:
export OWNLATE_API_TOKEN=own_xxxxxxxxxxxxownlate pushKulcsot a Profil → API-kulcsok alatt hozhat létre — lásd: REST API.
Parancsok
Szekció neve “Parancsok”ownlate init
Szekció neve “ownlate init”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.
ownlate push
Szekció neve “ownlate push”Feltölti az összes files[].source fájlt, és szegmenseket hoz létre vagy frissít belőlük.
| Kapcsoló | Leírás |
|---|---|
-w, --watch | Figyeli a forrásfájlokat, és minden mentésnél újra feltölt |
-n, --dry-run | Megmutatja, mit töltene fel, anélkül hogy bármit feltöltene |
ownlate pull
Szekció neve “ownlate pull”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 |
ownlate status
Szekció neve “ownlate status”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 |
ownlate translate
Szekció neve “ownlate translate”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”ownlate project listownlate 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 |
Pipeline-ban
Szekció neve “Pipeline-ban”- 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.