Weblate’s REST API

Nou în versiunea 2.6: API-ul REST este disponibil începând cu Weblate 2.6.

API-ul este accesibil pe URL-ul /api/` și se bazează pe Django REST framework. O puteți utiliza direct sau prin Client Weblate.

Autentificare și parametri generici

API-ul public al proiectului este disponibil fără autentificare, deși solicitările neautentificate sunt puternic limitate (implicit la 100 de solicitări pe zi), astfel încât se recomandă utilizarea autentificării. Autentificarea utilizează un token, pe care îl puteți obține în profilul vostru. Folosiți-l în antetul Authorization:

ANY /

Comportamentul generic de solicitare pentru API, antetele, codurile de stare și parametrii de aici se aplică și la toate punctele finale.

Parametrii de interogare
  • format – Formatul de răspuns (înlocuiește Accept). Valorile posibile depind de configurația cadrului REST; în mod implicit, sunt acceptate json și api`. Acesta din urmă oferă o interfață de browser web pentru API.

  • page – Returnează pagina dată de rezultate paginate (utilizați câmpurile next și previous în răspuns pentru a automatiza navigarea).

Capetele de cerere
  • Accept – tipul de conținut al răspunsului depinde de antetul Accept

  • Authorization – token opțional de autentificare ca Authorization: Token YOUR-TOKEN

Antetele de răspuns
  • Content-Type – acest lucru depinde de antetul Accept al cererii

  • Allow – lista de metode HTTP permise pentru obiect

Obiect JSON de răspuns
  • detail (string) – descriere detaliată a rezultatului (pentru codurile de stare HTTP altele decât 200 OK)

  • count (int) – numărul total de elemente pentru listele de obiecte

  • next (string) – pagina următoare URL pentru listele de obiecte

  • previous (string) – pagina anterioară URL pentru listele de obiecte

  • results (array) – rezultate pentru listele de obiecte

  • url (string) – URL pentru a accesa această resursă folosind API

  • web_url (string) – URL pentru a accesa această resursă folosind un browser web

Coduri de stare

Exemple de autentificare

Exemplu de cerere:

GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN

Exemplu de răspuns:

HTTP/1.0 200 OK
Date: Fri, 25 Mar 2016 09:46:12 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, HEAD, OPTIONS

{
    "projects":"http://example.com/api/projects/",
    "components":"http://example.com/api/components/",
    "translations":"http://example.com/api/translations/",
    "languages":"http://example.com/api/languages/"
}

Exemplu CURL:

curl \
    -H "Authorization: Token TOKEN" \
    https://example.com/api/

Exemple de trecere a parametrilor

Pentru metoda POST, parametrii pot fi specificați fie ca trimitere de formular (application/x-www-form-urlencoded), fie ca JSON (application/json).

Exemplu de cerere de formular:

POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Token TOKEN

operation=pull

Exemplu de cerere JSON:

POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{"operation":"pull"}

Exemplu CURL:

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

CURL JSON exemplu:

curl \
    --data-binary '{"operation":"pull"}' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

Limitarea ratei API

Solicitările API sunt limitate; configurația implicită le limitează la 100 de solicitări pe zi pentru utilizatorii anonimi și la 5000 de solicitări pe oră pentru utilizatorii autentificați.

Limitarea ratei poate fi ajustată în fișierul settings.py; consultați Throttling in Django REST framework documentation pentru mai multe detalii despre cum să o configurați.

Starea de limitare a vitezei este raportată în următoarele anteturi:

X-RateLimit-Limit

Limitarea ratei de limitare a numărului de solicitări de efectuat

X-RateLimit-Remaining

Limita rămasă a cererilor

X-RateLimit-Reset

Numărul de secunde până la resetarea ferestrei ratelimit

Schimbat în versiunea 4.1: Au fost adăugate antetele de stare de limitare a vitezei.

Punct de intrare API

GET /api/

Punctul de intrare rădăcină al API.

Exemplu de cerere:

GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN

Exemplu de răspuns:

HTTP/1.0 200 OK
Date: Fri, 25 Mar 2016 09:46:12 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, HEAD, OPTIONS

{
    "projects":"http://example.com/api/projects/",
    "components":"http://example.com/api/components/",
    "translations":"http://example.com/api/translations/",
    "languages":"http://example.com/api/languages/"
}

Utilizatori

Nou în versiunea 4.0.

GET /api/users/

Returnează o listă de utilizatori dacă aveți permisiuni pentru a vedea gestionarea utilizatorilor. Dacă nu, atunci veți vedea doar propriile detalii.

Vezi și

Atributele obiectului Users sunt documentate la GET /api/users/(str:username)/.

POST /api/users/

Creează un nou utilizator.

Parametrii
  • username (string) – Nume utilizator

  • full_name (string) – Numele complet al utilizatorului

  • email (string) – E-mail de utilizator

  • is_superuser (boolean) – Este utilizatorul superutilizator? (opțional)

  • is_active (boolean) – Este utilizatorul activ? (opțional)

GET /api/users/(str: username)/

Returnează informații despre utilizatori.

Parametrii
  • username (string) – Numele de utilizator

Obiect JSON de răspuns
  • username (string) – numele de utilizator al unui utilizator

  • full_name (string) – numele complet al unui utilizator

  • email (string) – adresa de e-mail a unui utilizator

  • is_superuser (boolean) – dacă utilizatorul este un super-utilizator

  • is_active (boolean) – dacă utilizatorul este activ sau nu

  • date_joined (string) – data la care a fost creat utilizatorul

  • groups (array) – link către grupurile asociate; a se vedea GET /api/groups/(int:id)/

Exemplu de date JSON:

{
    "email": "user@example.com",
    "full_name": "Example User",
    "username": "exampleusername",
    "groups": [
        "http://example.com/api/groups/2/",
        "http://example.com/api/groups/3/"
    ],
    "is_superuser": true,
    "is_active": true,
    "date_joined": "2020-03-29T18:42:42.617681Z",
    "url": "http://example.com/api/users/exampleusername/",
    "statistics_url": "http://example.com/api/users/exampleusername/statistics/"
}
PUT /api/users/(str: username)/

Modifică parametrii utilizatorului.

Parametrii
  • username (string) – Numele de utilizator

Obiect JSON de răspuns
  • username (string) – numele de utilizator al unui utilizator

  • full_name (string) – numele complet al unui utilizator

  • email (string) – adresa de e-mail a unui utilizator

  • is_superuser (boolean) – dacă utilizatorul este un super-utilizator

  • is_active (boolean) – dacă utilizatorul este activ sau nu

  • date_joined (string) – data la care a fost creat utilizatorul

PATCH /api/users/(str: username)/

Modifică parametrii utilizatorului.

Parametrii
  • username (string) – Numele de utilizator

Obiect JSON de răspuns
  • username (string) – numele de utilizator al unui utilizator

  • full_name (string) – numele complet al unui utilizator

  • email (string) – adresa de e-mail a unui utilizator

  • is_superuser (boolean) – dacă utilizatorul este un super-utilizator

  • is_active (boolean) – dacă utilizatorul este activ sau nu

  • date_joined (string) – data la care a fost creat utilizatorul

DELETE /api/users/(str: username)/

Șterge toate informațiile despre utilizator și marchează utilizatorul ca fiind inactiv.

Parametrii
  • username (string) – Numele de utilizator

POST /api/users/(str: username)/groups/

Asociați grupuri cu un utilizator.

Parametrii
  • username (string) – Numele de utilizator

Parametrii formularului
  • string group_id – ID-ul unic al grupului

GET /api/users/(str: username)/statistics/

Listează statisticile unui utilizator.

Parametrii
  • username (string) – Numele de utilizator

Obiect JSON de răspuns
  • translated (int) – Numărul de traduceri efectuate de către utilizator

  • suggested (int) – Numărul de sugestii de către utilizator

  • uploaded (int) – Numărul de încărcări de către utilizator

  • commented (int) – Numărul de comentarii ale utilizatorului

  • languages (int) – Numărul de limbi pe care le poate traduce utilizatorul

GET /api/users/(str: username)/notifications/

Lista abonamentelor unui utilizator.

Parametrii
  • username (string) – Numele de utilizator

POST /api/users/(str: username)/notifications/

Asociați abonamente cu un utilizator.

Parametrii
  • username (string) – Numele de utilizator

Obiect JSON de cerere
  • notification (string) – Denumirea notificării înregistrate

  • scope (int) – Domeniul de aplicare al notificării din opțiunile disponibile

  • frequency (int) – Alegerile de frecvență pentru notificări

GET /api/users/(str: username)/notifications/(int: subscription_id)/

Obține un abonament asociat cu un utilizator.

Parametrii
  • username (string) – Numele de utilizator

  • subscription_id (int) – ID-ul notificării înregistrate

PUT /api/users/(str: username)/notifications/(int: subscription_id)/

Editați un abonament asociat unui utilizator.

Parametrii
  • username (string) – Numele de utilizator

  • subscription_id (int) – ID-ul notificării înregistrate

Obiect JSON de cerere
  • notification (string) – Denumirea notificării înregistrate

  • scope (int) – Domeniul de aplicare al notificării din opțiunile disponibile

  • frequency (int) – Alegerile de frecvență pentru notificări

PATCH /api/users/(str: username)/notifications/(int: subscription_id)/

Editați un abonament asociat unui utilizator.

Parametrii
  • username (string) – Numele de utilizator

  • subscription_id (int) – ID-ul notificării înregistrate

Obiect JSON de cerere
  • notification (string) – Denumirea notificării înregistrate

  • scope (int) – Domeniul de aplicare al notificării din opțiunile disponibile

  • frequency (int) – Alegerile de frecvență pentru notificări

DELETE /api/users/(str: username)/notifications/(int: subscription_id)/

Ștergeți un abonament asociat unui utilizator.

Parametrii
  • username (string) – Numele de utilizator

  • subscription_id – Denumirea notificării înregistrate

  • subscription_id – int

Grupuri

Nou în versiunea 4.0.

GET /api/groups/

Returnează o listă de grupuri, dacă aveți permisiuni pentru a vedea grupuri de gestionare. Dacă nu, atunci veți vedea doar grupurile din care face parte utilizatorul.

Vezi și

Atributele obiectelor de grup sunt documentate la GET /api/groups/(int:id)/.

POST /api/groups/

Creează un nou grup.

Parametrii
  • name (string) – Numele grupului

  • project_selection (int) – Selecția grupului de proiecte din opțiunile date

  • language_selection (int) – Selecția grupului de proiecte din opțiunile date

GET /api/groups/(int: id)/

Returnează informații despre grup.

Parametrii
  • id (int) – ID-ul grupului

Obiect JSON de răspuns

Exemplu de date JSON:

{
    "name": "Guests",
    "project_selection": 3,
    "language_selection": 1,
    "url": "http://example.com/api/groups/1/",
    "roles": [
        "http://example.com/api/roles/1/",
        "http://example.com/api/roles/2/"
    ],
    "languages": [
        "http://example.com/api/languages/en/",
        "http://example.com/api/languages/cs/",
    ],
    "projects": [
        "http://example.com/api/projects/demo1/",
        "http://example.com/api/projects/demo/"
    ],
    "componentlist": "http://example.com/api/component-lists/new/",
    "components": [
        "http://example.com/api/components/demo/weblate/"
    ]
}
PUT /api/groups/(int: id)/

Modifică parametrii grupului.

Parametrii
  • id (int) – ID-ul grupului

Obiect JSON de răspuns
  • name (string) – numele unui grup

  • project_selection (int) – număr întreg care corespunde grupului de proiecte

  • language_selection (int) – număr întreg care corespunde grupului de limbi

PATCH /api/groups/(int: id)/

Modifică parametrii grupului.

Parametrii
  • id (int) – ID-ul grupului

Obiect JSON de răspuns
  • name (string) – numele unui grup

  • project_selection (int) – număr întreg care corespunde grupului de proiecte

  • language_selection (int) – număr întreg care corespunde grupului de limbi

DELETE /api/groups/(int: id)/

Șterge grupul.

Parametrii
  • id (int) – ID-ul grupului

POST /api/groups/(int: id)/roles/

Asociați rolurile cu un grup.

Parametrii
  • id (int) – ID-ul grupului

Parametrii formularului
  • string role_id – ID-ul unic de rol

POST /api/groups/(int: id)/components/

Asociați componentele cu un grup.

Parametrii
  • id (int) – ID-ul grupului

Parametrii formularului
  • string component_id – ID-ul unic al componentei

DELETE /api/groups/(int: id)/components/(int: component_id)

Ștergeți componenta dintr-un grup.

Parametrii
  • id (int) – ID-ul grupului

  • component_id (int) – ID-ul unic al componentei

POST /api/groups/(int: id)/projects/

Asociați proiectele cu un grup.

Parametrii
  • id (int) – ID-ul grupului

Parametrii formularului
  • string project_id – ID-ul unic al proiectului

DELETE /api/groups/(int: id)/projects/(int: project_id)

Ștergeți proiectul dintr-un grup.

Parametrii
  • id (int) – ID-ul grupului

  • project_id (int) – ID-ul unic al proiectului

POST /api/groups/(int: id)/languages/

Asociați limbile cu un grup.

Parametrii
  • id (int) – ID-ul grupului

Parametrii formularului
  • string language_code – Codul unic de limbă

DELETE /api/groups/(int: id)/languages/(string: language_code)

Ștergeți limba dintr-un grup.

Parametrii
  • id (int) – ID-ul grupului

  • language_code (string) – Codul unic de limbă

POST /api/groups/(int: id)/componentlists/

Asociază listele de componente cu un grup.

Parametrii
  • id (int) – ID-ul grupului

Parametrii formularului
  • string component_list_id – ID-ul unic al listei de componente

DELETE /api/groups/(int: id)/componentlists/(int: component_list_id)

Ștergeți lista de componente dintr-un grup.

Parametrii
  • id (int) – ID-ul grupului

  • component_list_id (int) – ID-ul unic al listei de componente

Roluri

GET /api/roles/

Returnează o listă cu toate rolurile asociate cu utilizatorul. Dacă utilizatorul este superutilizator, atunci se returnează lista tuturor rolurilor existente.

Vezi și

Atributele obiectului Roles sunt documentate la GET /api/roles/(int:id)/.

POST /api/roles/

Creează un nou rol.

Parametrii
  • name (string) – Numele rolului

  • permissions (array) – Listă de nume de cod ale permisiunilor

GET /api/roles/(int: id)/

Returnează informații despre un rol.

Parametrii
  • id (int) – ID rol

Obiect JSON de răspuns
  • name (string) – Numele rolului

  • permissions (array) – lista numelor de cod ale autorizațiilor

Exemplu de date JSON:

{
    "name": "Access repository",
    "permissions": [
        "vcs.access",
        "vcs.view"
    ],
    "url": "http://example.com/api/roles/1/",
}
PUT /api/roles/(int: id)/

Modifică parametrii rolului.

Parametrii
  • id (int) – ID-ul rolului

Obiect JSON de răspuns
  • name (string) – Numele rolului

  • permissions (array) – lista numelor de cod ale autorizațiilor

PATCH /api/roles/(int: id)/

Modifică parametrii rolului.

Parametrii
  • id (int) – ID-ul rolului

Obiect JSON de răspuns
  • name (string) – Numele rolului

  • permissions (array) – lista numelor de cod ale autorizațiilor

DELETE /api/roles/(int: id)/

Șterge rolul.

Parametrii
  • id (int) – ID-ul rolului

Limbi

GET /api/languages/

Returnează o listă cu toate limbile.

Vezi și

Atributele obiectelor de limbă sunt documentate la GET /api/languages/(string:language)/.

POST /api/languages/

Creează o nouă limbă.

Parametrii
  • code (string) – Numele limbii

  • name (string) – Numele limbii

  • direction (string) – Direcția textului

  • plural (object) – Limba formula plural și numărul

GET /api/languages/(string: language)/

Returnează informații despre o limbă.

Parametrii
  • language (string) – Codul limbii

Obiect JSON de răspuns
  • code (string) – Codul limbii

  • direction (string) – Direcția textului

  • plural (object) – Obiect al limbajului informație plurală

  • aliases (array) – Array de pseudonime pentru limbă

Exemplu de date JSON:

{
    "code": "en",
    "direction": "ltr",
    "name": "English",
    "plural": {
        "id": 75,
        "source": 0,
        "number": 2,
        "formula": "n != 1",
        "type": 1
    },
    "aliases": [
        "english",
        "en_en",
        "base",
        "source",
        "eng"
    ],
    "url": "http://example.com/api/languages/en/",
    "web_url": "http://example.com/languages/en/",
    "statistics_url": "http://example.com/api/languages/en/statistics/"
}
PUT /api/languages/(string: language)/

Modifică parametrii de limbă.

Parametrii
  • language (string) – Codul limbii

Obiect JSON de cerere
  • name (string) – Numele limbii

  • direction (string) – Direcția textului

  • plural (object) – Limba plural detalii

PATCH /api/languages/(string: language)/

Modifică parametrii de limbă.

Parametrii
  • language (string) – Codul limbii

Obiect JSON de cerere
  • name (string) – Numele limbii

  • direction (string) – Direcția textului

  • plural (object) – Limba plural detalii

DELETE /api/languages/(string: language)/

Șterge limba.

Parametrii
  • language (string) – Codul limbii

GET /api/languages/(string: language)/statistics/

Returnează statisticile pentru o limbă.

Parametrii
  • language (string) – Codul limbii

Obiect JSON de răspuns
  • total (int) – numărul total de șiruri de caractere

  • total_words (int) – numărul total de cuvinte

  • last_change (timestamp) – ultimele modificări ale limbii

  • recent_changes (int) – numărul total de modificări

  • translated (int) – numărul de șiruri de caractere traduse

  • translated_percent (float) – procentul de șiruri de caractere traduse

  • translated_words (int) – numărul de cuvinte traduse

  • translated_words_percent (int) – procentul de cuvinte traduse

  • translated_chars (int) – numărul de caractere traduse

  • translated_chars_percent (int) – procentul de caractere traduse

  • total_chars (int) – numărul total de caractere

  • fuzzy (int) – numărul de șiruri fuzzy (marcate pentru editare)

  • fuzzy_percent (int) – procentajul de șiruri fuzzy (marcate pentru editare)

  • failing (int) – numărul de șiruri eșuate

  • failing – procentul de șiruri de caractere nereușite

Proiecte

GET /api/projects/

Returnează o listă cu toate proiectele.

Vezi și

Atributele obiectului proiect sunt documentate la GET /api/projects/(string:project)/.

POST /api/projects/

Nou în versiunea 3.9.

Creează un nou proiect.

Parametrii
  • name (string) – Denumire proiect

  • slug (string) – Limbajul proiectului

  • web (string) – Website-ul proiectului

GET /api/projects/(string: project)/

Returnează informații despre un proiect.

Parametrii
  • project (string) – Lipsă URL a proiectului

Obiect JSON de răspuns

Exemplu de date JSON:

{
    "name": "Hello",
    "slug": "hello",
    "url": "http://example.com/api/projects/hello/",
    "web": "https://weblate.org/",
    "web_url": "http://example.com/projects/hello/"
}
PATCH /api/projects/(string: project)/

Nou în versiunea 4.3.

Editarea unui proiect printr-o cerere PATCH.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

PUT /api/projects/(string: project)/

Nou în versiunea 4.3.

Editarea unui proiect printr-o cerere PUT.

Parametrii
  • project (string) – Lipsă URL a proiectului

DELETE /api/projects/(string: project)/

Nou în versiunea 3.9.

Șterge un proiect.

Parametrii
  • project (string) – Lipsă URL a proiectului

GET /api/projects/(string: project)/changes/

Returnează o listă de modificări ale proiectului. Aceasta este, în esență, o listă GET /api/changes/ care acceptă aceiași parametri.

Parametrii
  • project (string) – Lipsă URL a proiectului

Obiect JSON de răspuns
GET /api/projects/(string: project)/repository/

Returnează informații despre starea depozitului VCS. Acest endpoint conține doar un rezumat general pentru toate depozitele din proiect. Pentru a obține o stare mai detaliată, utilizați GET /api/components/(string:project)/(string:component)/repository/.

Parametrii
  • project (string) – Lipsă URL a proiectului

Obiect JSON de răspuns
  • needs_commit (boolean) – dacă există modificări în așteptare pentru a fi confirmate

  • needs_merge (boolean) – dacă există modificări în amonte de fuzionat

  • needs_push (boolean) – dacă există modificări locale care să fie împinse

Exemplu de date JSON:

{
    "needs_commit": true,
    "needs_merge": false,
    "needs_push": true
}
POST /api/projects/(string: project)/repository/

Efectuează operațiunea dată asupra depozitului VCS.

Parametrii
  • project (string) – Lipsă URL a proiectului

Obiect JSON de cerere
  • operation (string) – Operațiunea de efectuat: una dintre push, pull, commit, reset, cleanup, file-sync

Obiect JSON de răspuns
  • result (boolean) – rezultatul operațiunii

Exemplu CURL:

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/repository/

Exemplu de cerere JSON:

POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{"operation":"pull"}

Exemplu de răspuns JSON:

HTTP/1.0 200 OK
Date: Tue, 12 Apr 2016 09:32:50 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, POST, HEAD, OPTIONS

{"result":true}
GET /api/projects/(string: project)/components/

Returnează o listă a componentelor de traducere din proiectul dat.

Parametrii
  • project (string) – Lipsă URL a proiectului

Obiect JSON de răspuns
POST /api/projects/(string: project)/components/

Nou în versiunea 3.9.

Schimbat în versiunea 4.3: Parametrii zipfile și docfile sunt acum acceptați pentru componentele fără VCS, a se vedea Fișiere locale.

Schimbat în versiunea 4.6: Depozitele clonate sunt acum partajate automat în cadrul unui proiect folosind URL-uri interne Weblate. Utilizați disable_autoshare pentru a dezactiva acest lucru.

Creează componente de traducere în proiectul dat.

Sugestie

Utilizați URL-uri interne Weblate atunci când creați mai multe componente dintr-un singur depozit VCS.

Notă

Cea mai mare parte a creării de componente are loc în fundal. Verificați atributul task_url al componentei create și urmăriți progresul acolo.

Parametrii
  • project (string) – Lipsă URL a proiectului

Parametrii formularului
  • file zipfile – Fișier ZIP pentru a încărca în Weblate pentru inițializarea traducerilor

  • file docfile – Document de tradus

  • boolean disable_autoshare – Dezactivează partajarea automată a depozitelor prin URL-uri interne Weblate.

Obiect JSON de răspuns

JSON nu poate fi utilizat la încărcarea fișierelor folosind parametrii zipfile și docfile. Datele trebuie să fie încărcate ca multipart/form-data.

Exemplu de solicitare a formularului CURL:

curl \
    --form docfile=@strings.html \
    --form name=Weblate \
    --form slug=weblate \
    --form file_format=html \
    --form new_lang=add \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

Exemplu de cerere JSONURL JSON:

curl \
    --data-binary '{
        "branch": "main",
        "file_format": "po",
        "filemask": "po/*.po",
        "git_export": "",
        "license": "",
        "license_url": "",
        "name": "Weblate",
        "slug": "weblate",
        "repo": "file:///home/nijel/work/weblate-hello",
        "template": "",
        "new_base": "",
        "vcs": "git"
    }' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

Exemplu de cerere JSON:

POST /api/projects/hello/components/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{
    "branch": "main",
    "file_format": "po",
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "Weblate",
    "slug": "weblate",
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "vcs": "git"
}

Exemplu de răspuns JSON:

HTTP/1.0 200 OK
Date: Tue, 12 Apr 2016 09:32:50 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, POST, HEAD, OPTIONS

{
    "branch": "main",
    "file_format": "po",
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "Weblate",
    "slug": "weblate",
    "project": {
        "name": "Hello",
        "slug": "hello",
        "source_language": {
            "code": "en",
            "direction": "ltr",
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
GET /api/projects/(string: project)/languages/

Returnează statistici paginate pentru toate limbile din cadrul unui proiect.

Nou în versiunea 3.8.

Parametrii
  • project (string) – Lipsă URL a proiectului

Obiect JSON de răspuns
  • results (array) – matrice de obiecte de statistici de traducere

  • language (string) – numele limbii

  • code (string) – codul limbii

  • total (int) – numărul total de șiruri de caractere

  • translated (int) – numărul de șiruri de caractere traduse

  • translated_percent (float) – procentul de șiruri de caractere traduse

  • total_words (int) – numărul total de cuvinte

  • translated_words (int) – numărul de cuvinte traduse

  • words_percent (float) – procentul de cuvinte traduse

GET /api/projects/(string: project)/statistics/

Returnează statisticile pentru un proiect.

Nou în versiunea 3.8.

Parametrii
  • project (string) – Lipsă URL a proiectului

Obiect JSON de răspuns
  • total (int) – numărul total de șiruri de caractere

  • translated (int) – numărul de șiruri de caractere traduse

  • translated_percent (float) – procentul de șiruri de caractere traduse

  • total_words (int) – numărul total de cuvinte

  • translated_words (int) – numărul de cuvinte traduse

  • words_percent (float) – procentul de cuvinte traduse

Componente

GET /api/components/

Returnează o listă de componente de traducere.

Vezi și

Atributele obiectelor componente sunt documentate la GET /api/components/(string:project)/(string:component)/.

GET /api/components/(string: project)/(string: component)/

Returnează informații despre componenta de traducere.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de răspuns

Exemplu de date JSON:

{
    "branch": "main",
    "file_format": "po",
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "Weblate",
    "slug": "weblate",
    "project": {
        "name": "Hello",
        "slug": "hello",
        "source_language": {
            "code": "en",
            "direction": "ltr",
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "source_language": {
        "code": "en",
        "direction": "ltr",
        "name": "English",
        "url": "http://example.com/api/languages/en/",
        "web_url": "http://example.com/languages/en/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
PATCH /api/components/(string: project)/(string: component)/

Editarea unei componente printr-o cerere PATCH.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • source_language (string) – Codul sursă al limbajului proiectului (opțional)

Obiect JSON de cerere
  • name (string) – denumirea componentei

  • slug (string) – sloganul componentei

  • repo (string) – URL-ul depozitului VCS

Exemplu CURL:

curl \
    --data-binary '{"name": "new name"}' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    PATCH http://example.com/api/projects/hello/components/

Exemplu de cerere JSON:

PATCH /api/projects/hello/components/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{
    "name": "new name"
}

Exemplu de răspuns JSON:

HTTP/1.0 200 OK
Date: Tue, 12 Apr 2016 09:32:50 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, POST, HEAD, OPTIONS

{
    "branch": "main",
    "file_format": "po",
    "filemask": "po/*.po",
    "git_export": "",
    "license": "",
    "license_url": "",
    "name": "new name",
    "slug": "weblate",
    "project": {
        "name": "Hello",
        "slug": "hello",
        "source_language": {
            "code": "en",
            "direction": "ltr",
            "name": "English",
            "url": "http://example.com/api/languages/en/",
            "web_url": "http://example.com/languages/en/"
        },
        "url": "http://example.com/api/projects/hello/",
        "web": "https://weblate.org/",
        "web_url": "http://example.com/projects/hello/"
    },
    "repo": "file:///home/nijel/work/weblate-hello",
    "template": "",
    "new_base": "",
    "url": "http://example.com/api/components/hello/weblate/",
    "vcs": "git",
    "web_url": "http://example.com/projects/hello/weblate/"
}
PUT /api/components/(string: project)/(string: component)/

Editarea unei componente printr-o cerere PUT.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de cerere
  • branch (string) – Branșa depozitului VCS

  • file_format (string) – formatul de fișier al traducerilor

  • filemask (string) – masca de fișiere de traducere din depozit

  • name (string) – denumirea componentei

  • slug (string) – sloganul componentei

  • repo (string) – URL-ul depozitului VCS

  • template (string) – fișier de bază pentru traducerile monolingve

  • new_base (string) – fișier de bază pentru adăugarea de noi traduceri

  • vcs (string) – sistem de control al versiunilor

DELETE /api/components/(string: project)/(string: component)/

Nou în versiunea 3.9.

Șterge o componentă.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

GET /api/components/(string: project)/(string: component)/changes/

Returnează o listă de modificări ale componentelor. Aceasta este, în esență, o componentă GET /api/changes/ care acceptă aceiași parametri.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de răspuns
GET /api/components/(string: project)/(string: component)/screenshots/

Returnează o listă de capturi de ecran ale componentelor.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de răspuns
GET /api/components/(string: project)/(string: component)/lock/

Returnează starea de blocare a componentelor.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de răspuns
  • locked (boolean) – dacă componenta este blocată pentru actualizări

Exemplu de date JSON:

{
    "locked": false
}
POST /api/components/(string: project)/(string: component)/lock/

Stabilește starea de blocare a componentelor.

Răspunsul este același cu GET /api/components/(string:project)/(string:component)/lock/.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de cerere
  • lock – Boolean dacă se blochează sau nu.

Exemplu CURL:

curl \
    -d lock=true \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

Exemplu de cerere JSON:

POST /api/components/hello/weblate/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{"lock": true}

Exemplu de răspuns JSON:

HTTP/1.0 200 OK
Date: Tue, 12 Apr 2016 09:32:50 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, POST, HEAD, OPTIONS

{"locked":true}
GET /api/components/(string: project)/(string: component)/repository/

Returnează informații despre starea depozitului VCS.

Răspunsul este același ca pentru GET /api/projects/(string:project)/repository/.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de răspuns
  • needs_commit (boolean) – dacă există modificări în așteptare pentru a fi confirmate

  • needs_merge (boolean) – dacă există modificări în amonte de fuzionat

  • needs_push (boolean) – dacă există modificări locale care să fie împinse

  • remote_commit (string) – Informații de comandă la distanță

  • status (string) – Starea depozitului VCS raportată de VCS

  • merge_failure – Text care descrie eșecul fuziunii sau nul dacă nu există niciunul

POST /api/components/(string: project)/(string: component)/repository/

Efectuează operațiunea dată asupra unui depozit VCS.

Consultați POST /api/projects/(string:project)/repository/ pentru documentație.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de cerere
  • operation (string) – Operațiunea de efectuat: una dintre push, pull, commit, reset, cleanup

Obiect JSON de răspuns
  • result (boolean) – rezultatul operațiunii

Exemplu CURL:

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

Exemplu de cerere JSON:

POST /api/components/hello/weblate/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{"operation":"pull"}

Exemplu de răspuns JSON:

HTTP/1.0 200 OK
Date: Tue, 12 Apr 2016 09:32:50 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, POST, HEAD, OPTIONS

{"result":true}
GET /api/components/(string: project)/(string: component)/monolingual_base/

Descarcă fișierul de bază pentru traducerile monolingve.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

GET /api/components/(string: project)/(string: component)/new_template/

Descarcă fișierul șablon pentru noile traduceri.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

GET /api/components/(string: project)/(string: component)/translations/

Returnează o listă de obiecte de traducere din componenta dată.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de răspuns
POST /api/components/(string: project)/(string: component)/translations/

Creează o nouă traducere în componenta dată.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de cerere
Obiect JSON de răspuns
  • result (object) – nou obiect de traducere creat

Exemplu CURL:

curl \
    -d language_code=cs \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

Exemplu de cerere JSON:

POST /api/projects/hello/components/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20

{"language_code": "cs"}

Exemplu de răspuns JSON:

HTTP/1.0 200 OK
Date: Tue, 12 Apr 2016 09:32:50 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, POST, HEAD, OPTIONS

{
    "failing_checks": 0,
    "failing_checks_percent": 0,
    "failing_checks_words": 0,
    "filename": "po/cs.po",
    "fuzzy": 0,
    "fuzzy_percent": 0.0,
    "fuzzy_words": 0,
    "have_comment": 0,
    "have_suggestion": 0,
    "is_template": false,
    "is_source": false,
    "language": {
        "code": "cs",
        "direction": "ltr",
        "name": "Czech",
        "url": "http://example.com/api/languages/cs/",
        "web_url": "http://example.com/languages/cs/"
    },
    "language_code": "cs",
    "id": 125,
    "last_author": null,
    "last_change": null,
    "share_url": "http://example.com/engage/hello/cs/",
    "total": 4,
    "total_words": 15,
    "translate_url": "http://example.com/translate/hello/weblate/cs/",
    "translated": 0,
    "translated_percent": 0.0,
    "translated_words": 0,
    "url": "http://example.com/api/translations/hello/weblate/cs/",
    "web_url": "http://example.com/projects/hello/weblate/cs/"
}
GET /api/components/(string: project)/(string: component)/statistics/

Returnează statistici paginate pentru toate traducerile din cadrul componentei.

Nou în versiunea 2.7.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de răspuns

Returnează proiectele legate de o componentă.

Nou în versiunea 4.5.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Obiect JSON de răspuns
POST /api/components/(string: project)/(string: component)/links/

Asociați proiectul cu o componentă.

Nou în versiunea 4.5.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

Parametrii formularului
  • string project_slug – Limbajul proiectului

Eliminarea asocierii unui proiect cu o componentă.

Nou în versiunea 4.5.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • project_slug (string) – Denumirea proiectului care trebuie eliminat

Traduceri

GET /api/translations/

Returnează o listă de traduceri.

Vezi și

Atributele obiectelor de traducere sunt documentate la GET /api/translations/(string:project)/(string:component)/(string:language)/.

GET /api/translations/(string: project)/(string: component)/(string: language)/

Returnează informații despre o traducere.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

Obiect JSON de răspuns
  • component (object) – obiect component; vezi GET /api/components/(string:project)/(string:component)/

  • failing_checks (int) – numărul de șiruri de caractere care nu au fost verificate

  • failing_checks_percent (float) – procentul de șiruri de caractere care nu trec controalele

  • failing_checks_words (int) – numărul de cuvinte cu verificări nereușite

  • filename (string) – numele fișierului de traducere

  • fuzzy (int) – numărul de șiruri fuzzy (marcate pentru editare)

  • fuzzy_percent (float) – procentajul de șiruri fuzzy (marcate pentru editare)

  • fuzzy_words (int) – numărul de cuvinte din șirurile fuzzy (marcate pentru editare)

  • have_comment (int) – numărul de șiruri de caractere cu comentarii

  • have_suggestion (int) – numărul de șiruri cu sugestie

  • is_template (boolean) – dacă traducerea are o bază monolingvă

  • language (object) – obiect de limbă sursă; a se vedea GET /api/languages/(string:language)/

  • language_code (string) – codul limbii utilizat în depozit; acesta poate fi diferit de codul limbii din obiectul lingvistic

  • last_author (string) – numele ultimului autor

  • last_change (timestamp) – data și ora ultimei modificări

  • revision (string) – hash de revizuire pentru fișier

  • share_url (string) – URL pentru partajare care duce la pagina de implicare

  • total (int) – numărul total de șiruri de caractere

  • total_words (int) – numărul total de cuvinte

  • translate_url (string) – URL pentru traducere

  • translated (int) – numărul de șiruri de caractere traduse

  • translated_percent (float) – procentul de șiruri de caractere traduse

  • translated_words (int) – numărul de cuvinte traduse

  • repository_url (string) – URL către starea depozitului; vezi GET /api/translations/(string:project)/(string:component)/(string:language)/repository/

  • file_url (string) – URL către obiectul fișier; vezi GET /api/translations/(string:project)/(string:component)/(string:language)/file/

  • changes_list_url (string) – URL către lista de modificări; vezi GET /api/translations/(string:project)/(string:component)/(string:language)/changes/

  • units_list_url (string) – URL către lista de șiruri de caractere; vezi GET /api/translations/(string:project)/(string:component)/(string:language)/units/

Exemplu de date JSON:

{
    "component": {
        "branch": "main",
        "file_format": "po",
        "filemask": "po/*.po",
        "git_export": "",
        "license": "",
        "license_url": "",
        "name": "Weblate",
        "new_base": "",
        "project": {
            "name": "Hello",
            "slug": "hello",
            "source_language": {
                "code": "en",
                "direction": "ltr",
                "name": "English",
                "url": "http://example.com/api/languages/en/",
                "web_url": "http://example.com/languages/en/"
            },
            "url": "http://example.com/api/projects/hello/",
            "web": "https://weblate.org/",
            "web_url": "http://example.com/projects/hello/"
        },
        "repo": "file:///home/nijel/work/weblate-hello",
        "slug": "weblate",
        "template": "",
        "url": "http://example.com/api/components/hello/weblate/",
        "vcs": "git",
        "web_url": "http://example.com/projects/hello/weblate/"
    },
    "failing_checks": 3,
    "failing_checks_percent": 75.0,
    "failing_checks_words": 11,
    "filename": "po/cs.po",
    "fuzzy": 0,
    "fuzzy_percent": 0.0,
    "fuzzy_words": 0,
    "have_comment": 0,
    "have_suggestion": 0,
    "is_template": false,
    "language": {
        "code": "cs",
        "direction": "ltr",
        "name": "Czech",
        "url": "http://example.com/api/languages/cs/",
        "web_url": "http://example.com/languages/cs/"
    },
    "language_code": "cs",
    "last_author": "Weblate Admin",
    "last_change": "2016-03-07T10:20:05.499",
    "revision": "7ddfafe6daaf57fc8654cc852ea6be212b015792",
    "share_url": "http://example.com/engage/hello/cs/",
    "total": 4,
    "total_words": 15,
    "translate_url": "http://example.com/translate/hello/weblate/cs/",
    "translated": 4,
    "translated_percent": 100.0,
    "translated_words": 15,
    "url": "http://example.com/api/translations/hello/weblate/cs/",
    "web_url": "http://example.com/projects/hello/weblate/cs/"
}
DELETE /api/translations/(string: project)/(string: component)/(string: language)/

Nou în versiunea 3.9.

Șterge o traducere.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

GET /api/translations/(string: project)/(string: component)/(string: language)/changes/

Returnează o listă de modificări de traducere. Aceasta este, în esență, o listă GET /api/changes/ care acceptă aceiași parametri.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

Obiect JSON de răspuns
GET /api/translations/(string: project)/(string: component)/(string: language)/units/

Returnează o listă de unități de traducere.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

  • q (string) – Șir de interogare pentru căutare Căutare (opțional)

Obiect JSON de răspuns
POST /api/translations/(string: project)/(string: component)/(string: language)/units/

Adăugați o nouă unitate monolingvă.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

Obiect JSON de cerere
  • key (string) – Denumirea unității de traducere

  • value (array) – Valoarea unității de traducere

POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/

Declanșarea traducerii automate.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

Obiect JSON de cerere
  • mode (string) – Modul de traducere automată

  • filter_type (string) – Tip de filtru de traducere automată

  • auto_source (string) – Sursa de traducere automată

  • component (string) – Activați contribuția la memoria de traducere partajată pentru proiect pentru a avea acces la componente suplimentare.

  • engines (array) – Motoare de traducere automată

  • threshold (string) – Prag de punctaj

GET /api/translations/(string: project)/(string: component)/(string: language)/file/

Descarcă fișierul de traducere curent așa cum este stocat în VCS (fără parametrul format) sau convertit într-un alt format (a se vedea Descărcarea traducerilor).

Notă

Acest endpoint API utilizează o logică diferită pentru ieșire față de restul API-ului, deoarece operează pe întregul fișier și nu pe date. Setul de parametri format acceptați diferă și fără un astfel de parametru se obține fișierul de traducere așa cum este stocat în VCS.

Parametrii de interogare
  • format – Formatul de fișier care urmează să fie utilizat; dacă nu este specificat, nu are loc nicio conversie de format; formate de fișier acceptate: po, mo, xliff, xliff11, tbx, csv, xlsx, json, aresource, strings

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

POST /api/translations/(string: project)/(string: component)/(string: language)/file/

Încărcați un nou fișier cu traduceri.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

Parametrii formularului
  • string conflict – Cum se tratează conflictele (ignore, replace-translated sau replace-approved)

  • file file – Fișier încărcat

  • string email – E-mail de autor

  • string author – Numele autorului

  • string method – Metoda de încărcare (translate, approve, suggest, fuzzy, replace, source, add), vezi Metode de import

  • string fuzzy – Procesarea șirurilor fuzzy (marcate pentru editare) (empty, process, approve)

Exemplu CURL:

curl -X POST \
    -F file=@strings.xml \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/translations/hello/android/cs/file/
GET /api/translations/(string: project)/(string: component)/(string: language)/repository/

Returnează informații despre starea depozitului VCS.

Răspunsul este același ca pentru GET /api/components/(string:project)/(string:component)/repository/.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

POST /api/translations/(string: project)/(string: component)/(string: language)/repository/

Efectuează operațiunea dată asupra depozitului VCS.

Consultați POST /api/projects/(string:project)/repository/ pentru documentație.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

Obiect JSON de cerere
  • operation (string) – Operațiunea de efectuat: una dintre push, pull, commit, reset, cleanup

Obiect JSON de răspuns
  • result (boolean) – rezultatul operațiunii

GET /api/translations/(string: project)/(string: component)/(string: language)/statistics/

Returnează statistici detaliate privind traducerile.

Nou în versiunea 2.7.

Parametrii
  • project (string) – Lipsă URL a proiectului

  • component (string) – Componenta URL slug

  • language (string) – Codul limbii de traducere

Obiect JSON de răspuns
  • code (string) – codul limbii

  • failing (int) – numărul de controale nereușite

  • failing_percent (float) – procentul de controale nereușite

  • fuzzy (int) – numărul de șiruri fuzzy (marcate pentru editare)

  • fuzzy_percent (float) – procentajul de șiruri fuzzy (marcate pentru editare)

  • total_words (int) – numărul total de cuvinte

  • translated_words (int) – numărul de cuvinte traduse

  • last_author (string) – numele ultimului autor

  • last_change (timestamp) – data ultimei modificări

  • name (string) – numele limbii

  • total (int) – numărul total de șiruri de caractere

  • translated (int) – numărul de șiruri de caractere traduse

  • translated_percent (float) – procentul de șiruri de caractere traduse

  • url (string) – URL pentru a accesa traducerea (URL de angajament)

  • url_translate (string) – URL pentru a accesa traducerea (URL-ul real al traducerii)

Unități

O unitate este o singură bucată dintr-o traducere care asociază un șir sursă cu un șir tradus corespunzător și conține, de asemenea, unele metadate aferente. Termenul este derivat din Translate Toolkit și XLIFF.

Nou în versiunea 2.10.

GET /api/units/

Returnează o listă de unități de traducere.

Vezi și

Atributele obiectului unitate sunt documentate la GET /api/units/(int:id)/.

GET /api/units/(int: id)/

Schimbat în versiunea 4.3: target și source sunt acum array-uri pentru a gestiona corect șirurile de caractere la plural.

Returnează informații despre unitatea de traducere.

Parametrii
  • id (int) – ID-ul unității

Obiect JSON de răspuns
  • translation (string) – Adresa URL a unui obiect de traducere asociat

  • source (array) – șirul sursă

  • previous_source (string) – șirul sursă anterior utilizat pentru potrivirea fuzzy

  • target (array) – șirul țintă

  • id_hash (string) – identificatorul unic al unității

  • content_hash (string) – identificatorul unic al șirului sursă

  • location (string) – locația unității în codul sursă

  • context (string) – contextul unității de traducere

  • note (string) – nota unității de conversie

  • flags (string) – indicatori de unitate pentru traducere

  • state (int) – starea unității, 0 - netradus, 10 - necesită editare, 20 - tradus, 30 - aprobat, 100 - numai pentru citire

  • fuzzy (boolean) – dacă unitatea este neclară sau marcată pentru revizuire

  • translated (boolean) – dacă unitatea este tradusă

  • approved (boolean) – dacă traducerea este aprobată

  • position (int) – poziția unității în fișierul de traducere

  • has_suggestion (boolean) – dacă unitatea are sugestii

  • has_comment (boolean) – dacă unitatea are observații

  • has_failing_check (boolean) – dacă unitatea are verificări defectuoase

  • num_words (int) – numărul de cuvinte sursă

  • priority (int) – prioritate de traducere; 100 este valoarea implicită

  • id (int) – identificatorul unității

  • explanation (string) – Explicație în șiruri, disponibilă pe unitățile sursă, a se vedea Informații suplimentare despre șirurile sursă

  • extra_flags (string) – Stegulețe de șir suplimentare, disponibile pe unitățile sursă, a se vedea Personalizarea comportamentului cu ajutorul stegulețelor

  • web_url (string) – URL-ul unde poate fi editată unitatea

  • souce_unit (string) – Legătura cu unitatea sursă; a se vedea GET /api/units/(int:id)/

PATCH /api/units/(int: id)/

Nou în versiunea 4.3.

Efectuează o actualizare parțială a unității de traducere.

Parametrii
  • id (int) – ID-ul unității

Obiect JSON de cerere
PUT /api/units/(int: id)/

Nou în versiunea 4.3.

Efectuează o actualizare completă a unității de traducere.

Parametrii
  • id (int) – ID-ul unității

Obiect JSON de cerere
DELETE /api/units/(int: id)/

Nou în versiunea 4.3.

Șterge o unitate de traducere.

Parametrii
  • id (int) – ID-ul unității

Modificări

Nou în versiunea 2.10.

GET /api/changes/

Schimbat în versiunea 4.1: Filtrarea modificărilor a fost introdusă în versiunea 4.1.

Returnează o listă de modificări de traducere.

Vezi și

Atributele obiectelor de modificare sunt documentate la GET /api/changes/(int:id)/.

Parametrii de interogare
  • user (string) – Numele de utilizator al utilizatorului pentru filtre

  • action (int) – Acțiune de filtrare, poate fi utilizată de mai multe ori

  • timestamp_after (timestamp) – Ștampila de timp în format ISO 8601 pentru a enumera modificările după

  • timestamp_before (timestamp) – Ștampila de timp în format ISO 8601 pentru a enumera modificările după

GET /api/changes/(int: id)/

Returnează informații despre modificarea traducerii.

Parametrii
  • id (int) – Schimbă ID-ul

Obiect JSON de răspuns
  • unit (string) – Adresa URL a unui obiect unitate conex

  • translation (string) – Adresa URL a unui obiect de traducere asociat

  • component (string) – Adresa URL a unui obiect component conex

  • user (string) – Adresa URL a unui obiect utilizator asociat

  • author (string) – URL-ul unui obiect de autor asociat

  • timestamp (timestamp) – marca temporală a evenimentului

  • action (int) – identificarea numerică a acțiunii

  • action_name (string) – descrierea textului acțiunii

  • target (string) – evenimentul a modificat textul sau detaliul

  • id (int) – identificator de modificare

Capturi de ecran

Nou în versiunea 2.14.

GET /api/screenshots/

Returnează o listă de informații despre șirurile de caractere ale capturilor de ecran.

Vezi și

Atributele obiectului Screenshot sunt documentate la GET /api/screenshots/(int:id)/.

GET /api/screenshots/(int: id)/

Returnează informații despre informațiile de captură de ecran.

Parametrii
  • id (int) – ID captură de ecran

Obiect JSON de răspuns
  • name (string) – numele unei capturi de ecran

  • component (string) – Adresa URL a unui obiect component conex

  • file_url (string) – URL pentru a descărca un fișier; a se vedea GET /api/screenshots/(int:id)/file/

  • units (array) – link către informațiile asociate șirului sursă; a se vedea GET /api/units/(int:id)/

GET /api/screenshots/(int: id)/file/

Descărcați imaginea capturii de ecran.

Parametrii
  • id (int) – ID captură de ecran

POST /api/screenshots/(int: id)/file/

Înlocuiți imaginea capturii de ecran.

Parametrii
  • id (int) – ID captură de ecran

Parametrii formularului
  • file image – Fișier încărcat

Exemplu CURL:

curl -X POST \
    -F image=@image.png \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/screenshots/1/file/
POST /api/screenshots/(int: id)/units/

Asociază șirul sursă cu captura de ecran.

Parametrii
  • id (int) – ID captură de ecran

Parametrii formularului
  • string unit_id – ID-ul unității

Obiect JSON de răspuns
  • name (string) – numele unei capturi de ecran

  • translation (string) – Adresa URL a unui obiect de traducere asociat

  • file_url (string) – URL pentru a descărca un fișier; a se vedea GET /api/screenshots/(int:id)/file/

  • units (array) – link către informațiile asociate șirului sursă; a se vedea GET /api/units/(int:id)/

DELETE /api/screenshots/(int: id)/units/(int: unit_id)

Eliminați asocierea șirului sursă cu captura de ecran.

Parametrii
  • id (int) – ID captură de ecran

  • unit_id – ID-ul unității șirului sursă

POST /api/screenshots/

Creează o nouă captură de ecran.

Parametrii formularului
  • file image – Fișier încărcat

  • string name – Numele capturii de ecran

  • string project_slug – Limbajul proiectului

  • string component_slug – Componenta slug

  • string language_code – Codul limbii

Obiect JSON de răspuns
  • name (string) – numele unei capturi de ecran

  • component (string) – Adresa URL a unui obiect component conex

  • file_url (string) – URL pentru a descărca un fișier; a se vedea GET /api/screenshots/(int:id)/file/

  • units (array) – link către informațiile asociate șirului sursă; a se vedea GET /api/units/(int:id)/

PATCH /api/screenshots/(int: id)/

Editați informații parțiale despre captura de ecran.

Parametrii
  • id (int) – ID captură de ecran

Obiect JSON de răspuns
  • name (string) – numele unei capturi de ecran

  • component (string) – Adresa URL a unui obiect component conex

  • file_url (string) – URL pentru a descărca un fișier; a se vedea GET /api/screenshots/(int:id)/file/

  • units (array) – link către informațiile asociate șirului sursă; a se vedea GET /api/units/(int:id)/

PUT /api/screenshots/(int: id)/

Editați informațiile complete despre captura de ecran.

Parametrii
  • id (int) – ID captură de ecran

Obiect JSON de răspuns
  • name (string) – numele unei capturi de ecran

  • component (string) – Adresa URL a unui obiect component conex

  • file_url (string) – URL pentru a descărca un fișier; a se vedea GET /api/screenshots/(int:id)/file/

  • units (array) – link către informațiile asociate șirului sursă; a se vedea GET /api/units/(int:id)/

DELETE /api/screenshots/(int: id)/

Ștergeți captura de ecran.

Parametrii
  • id (int) – ID captură de ecran

Extensii

Nou în versiunea 4.4.1.

GET /api/addons/

Returnează o listă de addon-uri.

Vezi și

Atributele obiectelor add-on sunt documentate la GET /api/addons/(int:id)/.

GET /api/addons/(int: id)/

Returnează informații despre informațiile despre addon.

Parametrii
  • id (int) – ID add-on

Obiect JSON de răspuns
  • name (string) – numele unui addon

  • component (string) – Adresa URL a unui obiect component conex

  • configuration (object) – Configurație addon opțională

Vezi și

Extensii

POST /api/components/(string: project)/(string: component)/addons/

Creează un nou addon.

Parametrii
  • project_slug (string) – Limbajul proiectului

  • component_slug (string) – Componenta slug

Obiect JSON de cerere
  • name (string) – numele unui addon

  • configuration (object) – Configurație addon opțională

PATCH /api/addons/(int: id)/

Editați informații parțiale despre addon.

Parametrii
  • id (int) – ID add-on

Obiect JSON de răspuns
  • configuration (object) – Configurație addon opțională

PUT /api/addons/(int: id)/

Editați informațiile complete despre addon.

Parametrii
  • id (int) – ID add-on

Obiect JSON de răspuns
  • configuration (object) – Configurație addon opțională

DELETE /api/addons/(int: id)/

Șterge addon.

Parametrii
  • id (int) – ID add-on

Liste de componente

Nou în versiunea 4.0.

GET /api/component-lists/

Returnează o listă de liste de componente.

Vezi și

Atributele obiectelor listelor de componente sunt documentate la GET /api/component-lists/(str:slug)/.

GET /api/component-lists/(str: slug)/

Returnează informații despre lista de componente.

Parametrii
  • slug (string) – Lipsă în lista de componente

Obiect JSON de răspuns
  • name (string) – numele unei liste de componente

  • slug (string) – sloganul unei liste de componente

  • show_dashboard (boolean) – dacă se afișează pe un tablou de bord

  • components (array) – link către componentele asociate; a se vedea GET /api/components/(string:project)/(string:component)/

  • auto_assign (array) – reguli de atribuire automată

PUT /api/component-lists/(str: slug)/

Modifică parametrii listei de componente.

Parametrii
  • slug (string) – Lipsă în lista de componente

Obiect JSON de cerere
  • name (string) – numele unei liste de componente

  • slug (string) – sloganul unei liste de componente

  • show_dashboard (boolean) – dacă se afișează pe un tablou de bord

PATCH /api/component-lists/(str: slug)/

Modifică parametrii listei de componente.

Parametrii
  • slug (string) – Lipsă în lista de componente

Obiect JSON de cerere
  • name (string) – numele unei liste de componente

  • slug (string) – sloganul unei liste de componente

  • show_dashboard (boolean) – dacă se afișează pe un tablou de bord

DELETE /api/component-lists/(str: slug)/

Șterge lista de componente.

Parametrii
  • slug (string) – Lipsă în lista de componente

POST /api/component-lists/(str: slug)/components/

Se asociază componenta cu o listă de componente.

Parametrii
  • slug (string) – Lipsă în lista de componente

Parametrii formularului
  • string component_id – ID-ul componentei

DELETE /api/component-lists/(str: slug)/components/(str: component_slug)

Disociază o componentă din lista de componente.

Parametrii
  • slug (string) – Lipsă în lista de componente

  • component_slug (string) – Componenta slug

Glosar

Schimbat în versiunea 4.5: Glosarele sunt acum stocate ca și componente obișnuite, traduceri și șiruri de caractere, vă rugăm să utilizați în schimb API-ul respectiv.

Sarcini

Nou în versiunea 4.4.

GET /api/tasks/

Lista de sarcini nu este disponibilă în prezent.

GET /api/tasks/(str: uuid)/

Returnează informații despre o sarcină

Parametrii
  • uuid (string) – UUID al task-ului

Obiect JSON de răspuns
  • completed (boolean) – Dacă task-ul a fost finalizat

  • progress (int) – Progresul task-ului în procente

  • result (object) – Rezultatul sarcinii sau detalii privind progresul

  • log (string) – Jurnal de sarcini

Metrici

GET /api/metrics/

Returnează parametrii serverului.

Obiect JSON de răspuns
  • units (int) – Număr de unități

  • units_translated (int) – Numărul de unități traduse

  • users (int) – Număr de utilizatori

  • changes (int) – Numărul de modificări

  • projects (int) – Numărul de proiecte

  • components" (int) – Numărul de componente

  • translations" (int) – Numărul de traduceri

  • languages" (int) – Numărul de limbi utilizate

  • checks" (int) – Numărul de controale de calitate declanșate

  • configuration_errors" (int) – Numărul de erori de configurare

  • suggestions" (int) – Numărul de sugestii în așteptare

  • celery_queues (object) – Lungimi ale cozilor de așteptare Celery, vezi Sarcini de fundal folosind Celery

  • name (string) – Numele serverului configurat

Cârlige de notificare

Cârligele de notificare permit aplicațiilor externe să notifice Weblate că depozitul VCS a fost actualizat.

Puteți utiliza punctele finale ale depozitelor pentru proiecte, componente și traduceri pentru a actualiza depozitele individuale; consultați POST /api/projects/(string:project)/repository/ pentru documentație.

GET /hooks/update/(string: project)/(string: component)/

Învechit începând cu versiunea 2.6: Vă rugăm să folosiți în schimb POST /api/components/(string:project)/(string:component)/repository/, care funcționează corect cu autentificare pentru proiectele limitate de ACL.

Declanșează actualizarea unei componente (extragerea din VCS și scanarea pentru modificări de traducere).

GET /hooks/update/(string: project)/

Învechit începând cu versiunea 2.6: Vă rugăm să folosiți în schimb POST /api/projects/(string:project)/repository/, care funcționează corect cu autentificare pentru proiectele limitate de ACL.

Declanșează actualizarea tuturor componentelor unui proiect (extragerea din VCS și scanarea pentru modificări de traducere).

POST /hooks/github/

Cârlig special pentru gestionarea notificărilor GitHub și actualizarea automată a componentelor corespunzătoare.

Notă

GitHub include suport direct pentru notificarea Weblate: activați cârligul serviciului Weblate în setările depozitului și setați URL-ul la URL-ul instalației Weblate.

Vezi și

Primirea automată a modificărilor de pe GitHub

Pentru instrucțiuni privind configurarea integrării GitHub

https://docs.github.com/en/github/extending-github/about-webhooks

Informații generice despre GitHub Webhooks

ENABLE_HOOKS

Pentru a activa cârlige pentru întregul Weblate

POST /hooks/gitlab/

Cârlig special pentru gestionarea notificărilor GitLab și actualizarea automată a componentelor corespunzătoare.

Vezi și

Primirea automată a modificărilor de la GitLab

Pentru instrucțiuni privind configurarea integrării GitLab

https://docs.gitlab.com/ee/user/project/integrations/webhooks.html

Informații generice despre GitLab Webhooks

ENABLE_HOOKS

Pentru a activa cârlige pentru întregul Weblate

POST /hooks/bitbucket/

Hook special pentru gestionarea notificărilor Bitbucket și actualizarea automată a componentelor corespunzătoare.

Vezi și

Primirea automată a modificărilor de la Bitbucket

Pentru instrucțiuni privind configurarea integrării Bitbucket

https://support.atlassian.com/bitbucket-cloud/docs/manage-webhooks/

Informații generice despre Bitbucket Webhooks

ENABLE_HOOKS

Pentru a activa cârlige pentru întregul Weblate

POST /hooks/pagure/

Nou în versiunea 3.3.

Hook special pentru gestionarea notificărilor Pagure și actualizarea automată a componentelor corespunzătoare.

Vezi și

Primirea automată a modificărilor de la Pagure

Pentru instrucțiuni privind configurarea integrării Pagure

https://docs.pagure.org/pagure/usage/using_webhooks.html

Informații generice despre Pagure Webhooks

ENABLE_HOOKS

Pentru a activa cârlige pentru întregul Weblate

POST /hooks/azure/

Nou în versiunea 3.8.

Hook special pentru gestionarea notificărilor Azure Repos și actualizarea automată a componentelor corespunzătoare.

Vezi și

Primirea automată a modificărilor din Azure Repos

Pentru instrucțiuni privind configurarea integrării Azure

https://docs.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops

Informații generice despre Azure Repos Web Hooks

ENABLE_HOOKS

Pentru a activa cârlige pentru întregul Weblate

POST /hooks/gitea/

Nou în versiunea 3.9.

Hook special pentru gestionarea notificărilor Gitea Webhook și actualizarea automată a componentelor corespunzătoare.

Vezi și

Primirea automată a modificărilor din Gitea Repos

Pentru instrucțiuni privind configurarea integrării Gitea

https://docs.gitea.io/en-us/webhooks/

Informații generice despre Gitea Webhooks

ENABLE_HOOKS

Pentru a activa cârlige pentru întregul Weblate

POST /hooks/gitee/

Nou în versiunea 3.9.

Hook special pentru gestionarea notificărilor Gitee Webhook și actualizarea automată a componentelor corespunzătoare.

Vezi și

Primirea automată a modificărilor din Gitee Repos

Pentru instrucțiuni privind configurarea integrării Gitee

https://gitee.com/help/categories/40

Informații generice despre Gitee Webhooks

ENABLE_HOOKS

Pentru a activa cârlige pentru întregul Weblate

Exporturi

Weblate oferă diverse exporturi pentru a vă permite să prelucrați în continuare datele.

GET /exports/stats/(string: project)/(string: component)/
Parametrii de interogare
  • format (string) – Format de ieșire: fie json, sau csv

Învechit începând cu versiunea 2.6: Vă rugăm să utilizați în schimb GET /api/components/(string:project)/(string:component)/statistics/ și GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/; aceasta permite accesul și la proiectele controlate prin ACL.

Obține statistici pentru componenta dată, în formatul dat.

Exemplu de cerere:

GET /exports/stats/weblate/main/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript

Exemplu de răspuns:

HTTP/1.1 200 OK
Vary: Accept
Content-Type: application/json

[
    {
        "code": "cs",
        "failing": 0,
        "failing_percent": 0.0,
        "fuzzy": 0,
        "fuzzy_percent": 0.0,
        "last_author": "Michal Čihař",
        "last_change": "2012-03-28T15:07:38+00:00",
        "name": "Czech",
        "total": 436,
        "total_words": 15271,
        "translated": 436,
        "translated_percent": 100.0,
        "translated_words": 3201,
        "url": "http://hosted.weblate.org/engage/weblate/cs/",
        "url_translate": "http://hosted.weblate.org/projects/weblate/main/cs/"
    },
    {
        "code": "nl",
        "failing": 21,
        "failing_percent": 4.8,
        "fuzzy": 11,
        "fuzzy_percent": 2.5,
        "last_author": null,
        "last_change": null,
        "name": "Dutch",
        "total": 436,
        "total_words": 15271,
        "translated": 319,
        "translated_percent": 73.2,
        "translated_words": 3201,
        "url": "http://hosted.weblate.org/engage/weblate/nl/",
        "url_translate": "http://hosted.weblate.org/projects/weblate/main/nl/"
    },
    {
        "code": "el",
        "failing": 11,
        "failing_percent": 2.5,
        "fuzzy": 21,
        "fuzzy_percent": 4.8,
        "last_author": null,
        "last_change": null,
        "name": "Greek",
        "total": 436,
        "total_words": 15271,
        "translated": 312,
        "translated_percent": 71.6,
        "translated_words": 3201,
        "url": "http://hosted.weblate.org/engage/weblate/el/",
        "url_translate": "http://hosted.weblate.org/projects/weblate/main/el/"
    }
]

Fluxuri RSS

Modificările în traduceri sunt exportate în fluxuri RSS.

GET /exports/rss/(string: project)/(string: component)/(string: language)/

Obține fluxul RSS cu modificările recente pentru o traducere.

GET /exports/rss/(string: project)/(string: component)/

Obține fluxul RSS cu modificările recente pentru o traducere.

GET /exports/rss/(string: project)/

Obține fluxul RSS cu modificările recente pentru un proiect.

GET /exports/rss/language/(string: language)/

Obține un flux RSS cu modificările recente pentru o limbă.

GET /exports/rss/

Obține fluxul RSS cu modificările recente pentru instanța Weblate.