Pređi na sadržaj

CLI

Ownlate CLI šalje vaše izvorne tekstove gore i vraća prevode dole. Format fajla je isti onaj koji čita Git integracija, pa repozitorijum podešen za jedno radi i sa drugim.

Kontejnerska slika — ista ona koju pokreće GitHub akcija:

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

Ili izgradnja iz izvornog koda:

bash
cargo install --git https://github.com/OwnLate/ownlate ownlate-cli

Brzi početak

heading.anchorLabel
bash
ownlate login # sačuvaj API ključ
ownlate init # izaberi projekat, upiši konfiguraciju
ownlate push # otpremi izvorne tekstove
ownlate pull # preuzmi prevode

Konfiguracija

heading.anchorLabel

CLI traži ownlate.yml u tekućem direktorijumu.

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

Sve dostupne opcije:

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
KljučZnačenje
project_idSa kojim projektom se sinhronizuje
api_token_envIme promenljive okruženja sa tokenom, umesto ~/.ownlate
files[].sourceIzvorni fajl koji se otprema
files[].translationGde se upisuju prevedeni fajlovi; mora sadržati {lang}
files[].flatZadrži ugnežđene ključeve kakvi jesu umesto ravnanja
files[].languages_mappingMapiraj kod jezika na drugačiji deo imena fajla

Bez ownlate.yml, CLI koristi konfiguraciju projekta koju je ownlate init upisao u ~/.ownlate.

Autentifikacija

heading.anchorLabel
bash
ownlate login # traži API ključ, proverava ga, čuva ~/.ownlate
ownlate logout # briše ključ iz ~/.ownlate

Za sopstvenu instalaciju OwnLate jednom navedite adresu njenog API-ja: čuva se u ~/.ownlate i ostaje tamo i posle ownlate logout:

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

Adresa se uzima iz --api-url, zatim iz OWNLATE_API_URL, zatim iz ~/.ownlate, a bez njih CLI se obraća na https://api.ownlate.com.

Za pipeline umesto toga uperite api_token_env na promenljivu okruženja:

bash
export OWNLATE_API_TOKEN=own_xxxxxxxxxxxx
ownlate push

Ključeve pravite pod Profil → API ključevi — vidite REST API.

Preuzima vaše projekte, daje da izaberete jedan i upisuje konfiguraciju za tekući direktorijum.

Prelazite sa Crowdin-a? ownlate init --from crowdin.yml upisuje ownlate.yml sa istim mapiranjem fajlova: svaki čuvar mesta za jezik postaje {lang}, čuvari mesta za ime fajla postaju džoker, a languages_mapping se prenosi. Čuvari mesta čiji se kodovi razlikuju od Ownlate kodova, kao %android_code%, prevode se uz napomenu da dodate mapiranje. Postojeći ownlate.yml se nikad ne prepisuje. Posle toga pokrenite ownlate init da izaberete projekat.

Otprema svaki files[].source i po njemu pravi ili ažurira segmente.

ZastavicaOpis
-w, --watchPrati izvorne fajlove i šalje pri svakom čuvanju
-n, --dry-runPrikaži šta bi bilo poslato, bez otpremanja

Preuzima prevedene fajlove na putanje iz files[].translation.

ZastavicaOpis
-l, --lang <kod>Preuzmi samo jedan jezik

ownlate status

heading.anchorLabel

Ispisuje tabelu napretka za svaki ciljni jezik.

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
ZastavicaOpis
--min <procenat>Izađi sa kodom 1 ako je bilo koji jezik ispod praga — kapija za CI

ownlate translate

heading.anchorLabel

Predprevodi neprevedene segmente. Posao ide u pozadini na serveru; napredak posle proverite sa ownlate status.

ZastavicaOpis
-l, --lang <kod>Samo jedan jezik
-p, --provider <tip>tm za memoriju prevoda (podrazumevano), mt za ugrađeni AI motor
-s, --score <n>Najmanja ocena podudaranja iz memorije, 0–100 (podrazumevano 100, važi za tm)

Šta koji izvor radi sa statusom segmenta, vidite u Memorija prevoda.

ownlate project list i ownlate project create

heading.anchorLabel
bash
ownlate project list
ownlate project create "Mobile App" --source en --langs fr,de,es
ZastavicaOpis
-s, --source <jezik>Kod izvornog jezika
-l, --langs <kodovi>Ciljni jezici razdvojeni zarezom
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 }}

Šaljite pri svakom spajanju u glavnu granu, a preuzimajte po rasporedu ili pred izdanje — tako izvor istine ostaje u Ownlate-u, a izgradnja je ponovljiva iz repozitorijuma.