API REST de Weblate
Nouveau dans la version 2.6: The REST API is available since Weblate 2.6.
The API is accessible on the /api/
URL and it is based on
Django REST framework.
You can use it directly or by Client Weblate.
Authentification et paramètres génériques
The public project API is available without authentication, though
unauthenticated requests are heavily throttled (by default to 100 requests per
day), so it is recommended to use authentication. The authentication uses a
token, which you can get in your profile. Use it in the Authorization
header:
- ANY /
Generic request behaviour for the API, the headers, status codes and parameters here apply to all endpoints as well.
- Paramètres de requête
format – Response format (overrides Accept). Possible values depends on REST framework setup, by default
json
andapi
are supported. The latter provides web browser interface for API.page – Returns given page of paginated results (use next and previous fields in response to automate the navigation).
- En-têtes de requête
Authorization – optional token to authenticate as
Authorization: Token YOUR-TOKEN
- En-têtes de réponse
Content-Type – this depends on Accept header of request
Allow – list of allowed HTTP methods on object
- Objet JSON de réponse
detail (string) – verbose description of the result (for HTTP status codes other than 200 OK)
count (int) – total item count for object lists
next (string) – next page URL for object lists
previous (string) – previous page URL for object lists
results (array) – results for object lists
url (string) – URL to access this resource using API
web_url (string) – URL to access this resource using web browser
- Codes d’état
200 OK – when request was correctly handled
201 Created – when a new object was created successfully
204 No Content – when an object was deleted successfully
400 Bad Request – when form parameters are missing
403 Forbidden – when access is denied
429 Too Many Requests – when throttling is in place
Jetons d’authentification
Modifié dans la version 4.10: Project scoped tokens were introduced in the 4.10 release.
Each user has his personal access token which can be obtained in the user
profile. Newly generated user tokens have the wlu_
prefix.
It is possible to create project scoped tokens for API access to given project
only. These tokens can be identified by the wlp_
prefix.
Exemples d’authentification
Exemple de requête :
GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN
Exemple de réponse :
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/"
}
Exemple CURL :
curl \
-H "Authorization: Token TOKEN" \
https://example.com/api/
Passing Parameters Examples
For the POST method the parameters can be specified either as form submission (application/x-www-form-urlencoded) or as JSON (application/json).
Form request example:
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
JSON request example:
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"}
Exemple CURL :
curl \
-d operation=pull \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
CURL JSON example:
curl \
--data-binary '{"operation":"pull"}' \
-H "Content-Type: application/json" \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
API rate limiting
The API requests are rate limited; the default configuration limits it to 100 requests per day for anonymous users and 5000 requests per hour for authenticated users.
Rate limiting can be adjusted in the settings.py
; see
Throttling in Django REST framework documentation
for more details how to configure it.
In the Docker container this can be configured using
WEBLATE_API_RATELIMIT_ANON
and WEBLATE_API_RATELIMIT_USER
.
The status of rate limiting is reported in following headers:
|
Rate limiting limit of requests to perform |
|
Remaining limit of requests |
|
Number of seconds until ratelimit window resets |
Modifié dans la version 4.1: Added ratelimiting status headers.
API Entry Point
- GET /api/
The API root entry point.
Exemple de requête :
GET /api/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript Authorization: Token YOUR-TOKEN
Exemple de réponse :
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/" }
Utilisateurs
Nouveau dans la version 4.0.
- GET /api/users/
Returns a list of users if you have permissions to see manage users. If not, then you get to see only your own details.
Voir aussi
Users object attributes are documented at
GET /api/users/(str:username)/
.
- POST /api/users/
Creates a new user.
- Paramètres
username (string) – Nom d’utilisateur
full_name (string) – User full name
email (string) – Courriel utilisateur
is_superuser (boolean) – Is user superuser? (optional)
is_active (boolean) – Is user active? (optional)
is_bot (boolean) – Is user bot? (optional) (used for project scoped tokens)
- GET /api/users/(str: username)/
Returns information about users.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- Objet JSON de réponse
username (string) – username of a user
full_name (string) – full name of a user
email (string) – email of a user
is_superuser (boolean) – whether the user is a super user
is_active (boolean) – whether the user is active
is_bot (boolean) – whether the user is bot (used for project scoped tokens)
date_joined (string) – date the user is created
groups (array) – link to associated groups; see
GET /api/groups/(int:id)/
Example JSON data:
{ "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, "is_bot": false, "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)/
Changes the user parameters.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- Objet JSON de réponse
username (string) – username of a user
full_name (string) – full name of a user
email (string) – email of a user
is_superuser (boolean) – whether the user is a super user
is_active (boolean) – whether the user is active
is_bot (boolean) – whether the user is bot (used for project scoped tokens)
date_joined (string) – date the user is created
- PATCH /api/users/(str: username)/
Changes the user parameters.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- Objet JSON de réponse
username (string) – username of a user
full_name (string) – full name of a user
email (string) – email of a user
is_superuser (boolean) – whether the user is a super user
is_active (boolean) – whether the user is active
is_bot (boolean) – whether the user is bot (used for project scoped tokens)
date_joined (string) – date the user is created
- DELETE /api/users/(str: username)/
Deletes all user information and marks the user inactive.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- POST /api/users/(str: username)/groups/
Associate groups with a user.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- Paramètres de la forme
string group_id – The unique group ID
- DELETE /api/users/(str: username)/groups/
Nouveau dans la version 4.13.1.
Retirer l’utilisateur d’un groupe.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- Paramètres de la forme
string group_id – The unique group ID
- GET /api/users/(str: username)/statistics/
List statistics of a user.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- Objet JSON de réponse
translated (int) – Nombre de traductions par utilisateur
suggested (int) – Nombre de suggestions par utilisateur
uploaded (int) – Nombre de téléversements par utilisateur
commented (int) – Nombre de commentaires par utilisateur
languages (int) – Nombre de langues que l’utilisateur peut traduire
- GET /api/users/(str: username)/notifications/
List subscriptions of a user.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- POST /api/users/(str: username)/notifications/
Associate subscriptions with a user.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
- Objet JSON de requête
notification (string) – Name of notification registered
scope (int) – Scope of notification from the available choices
frequency (int) – Frequency choices for notifications
- GET /api/users/(str: username)/notifications/(int: subscription_id)/
Get a subscription associated with a user.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
subscription_id (int) – ID de notification enregistré
- PUT /api/users/(str: username)/notifications/(int: subscription_id)/
Edit a subscription associated with a user.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
subscription_id (int) – ID de notification enregistré
- Objet JSON de requête
notification (string) – Name of notification registered
scope (int) – Scope of notification from the available choices
frequency (int) – Frequency choices for notifications
- PATCH /api/users/(str: username)/notifications/(int: subscription_id)/
Edit a subscription associated with a user.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
subscription_id (int) – ID de notification enregistré
- Objet JSON de requête
notification (string) – Name of notification registered
scope (int) – Scope of notification from the available choices
frequency (int) – Frequency choices for notifications
- DELETE /api/users/(str: username)/notifications/(int: subscription_id)/
Delete a subscription associated with a user.
- Paramètres
username (string) – Nom d’utilisateur de l’utilisateur
subscription_id – Name of notification registered
subscription_id – entier
Groupes
Nouveau dans la version 4.0.
- GET /api/groups/
Returns a list of groups if you have permissions to see manage groups. If not, then you get to see only the groups the user is a part of.
Voir aussi
Group object attributes are documented at
GET /api/groups/(int:id)/
.
- POST /api/groups/
Creates a new group.
- Paramètres
name (string) – Nom du groupe
project_selection (int) – Group of project selection from given options
language_selection (int) – Group of languages selected from given options
defining_project (str) – link to the defining project, used for Gestion du contrôle d’accès par projet; see
GET /api/projects/(string:project)/
- GET /api/groups/(int: id)/
Returns information about group.
- Paramètres
id (int) – ID du groupe
- Objet JSON de réponse
name (string) – name of a group
project_selection (int) – integer corresponding to group of projects
language_selection (int) – integer corresponding to group of languages
roles (array) – link to associated roles; see
GET /api/roles/(int:id)/
projects (array) – link to associated projects; see
GET /api/projects/(string:project)/
components (array) – link to associated components; see
GET /api/components/(string:project)/(string:component)/
componentlists (array) – link to associated componentlist; see
GET /api/component-lists/(str:slug)/
defining_project (str) – link to the defining project, used for Gestion du contrôle d’accès par projet; see
GET /api/projects/(string:project)/
Example JSON data:
{ "name": "Guests", "defining_project": null, "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)/
Changes the group parameters.
- Paramètres
id (int) – ID du groupe
- Objet JSON de réponse
name (string) – name of a group
project_selection (int) – integer corresponding to group of projects
language_selection (int) – integer corresponding to group of Languages
- PATCH /api/groups/(int: id)/
Changes the group parameters.
- Paramètres
id (int) – ID du groupe
- Objet JSON de réponse
name (string) – name of a group
project_selection (int) – integer corresponding to group of projects
language_selection (int) – integer corresponding to group of languages
- DELETE /api/groups/(int: id)/
Deletes the group.
- Paramètres
id (int) – ID du groupe
- POST /api/groups/(int: id)/roles/
Associate roles with a group.
- Paramètres
id (int) – ID du groupe
- Paramètres de la forme
string role_id – The unique role ID
- POST /api/groups/(int: id)/components/
Associate components with a group.
- Paramètres
id (int) – ID du groupe
- Paramètres de la forme
string component_id – The unique component ID
- DELETE /api/groups/(int: id)/components/(int: component_id)
Delete component from a group.
- Paramètres
id (int) – ID du groupe
component_id (int) – The unique component ID
- POST /api/groups/(int: id)/projects/
Associate projects with a group.
- Paramètres
id (int) – ID du groupe
- Paramètres de la forme
string project_id – The unique project ID
- DELETE /api/groups/(int: id)/projects/(int: project_id)
Delete project from a group.
- Paramètres
id (int) – ID du groupe
project_id (int) – The unique project ID
- POST /api/groups/(int: id)/languages/
Associate languages with a group.
- Paramètres
id (int) – ID du groupe
- Paramètres de la forme
string language_code – The unique language code
- DELETE /api/groups/(int: id)/languages/(string: language_code)
Delete language from a group.
- Paramètres
id (int) – ID du groupe
language_code (string) – The unique language code
- POST /api/groups/(int: id)/componentlists/
Associate componentlists with a group.
- Paramètres
id (int) – ID du groupe
- Paramètres de la forme
string component_list_id – The unique componentlist ID
- DELETE /api/groups/(int: id)/componentlists/(int: component_list_id)
Delete componentlist from a group.
- Paramètres
id (int) – ID du groupe
component_list_id (int) – The unique componentlist ID
Rôles
- GET /api/roles/
Returns a list of all roles associated with user. If user is superuser, then list of all existing roles is returned.
Voir aussi
Roles object attributes are documented at
GET /api/roles/(int:id)/
.
- POST /api/roles/
Creates a new role.
- Paramètres
name (string) – Nom du rôle
permissions (array) – List of codenames of permissions
- GET /api/roles/(int: id)/
Returns information about a role.
- Paramètres
id (int) – ID de rôle
- Objet JSON de réponse
name (string) – Nom du rôle
permissions (array) – list of codenames of permissions
Example JSON data:
{ "name": "Access repository", "permissions": [ "vcs.access", "vcs.view" ], "url": "http://example.com/api/roles/1/", }
- PUT /api/roles/(int: id)/
Changes the role parameters.
- Paramètres
id (int) – ID du rôle
- Objet JSON de réponse
name (string) – Nom du rôle
permissions (array) – list of codenames of permissions
- PATCH /api/roles/(int: id)/
Changes the role parameters.
- Paramètres
id (int) – ID du rôle
- Objet JSON de réponse
name (string) – Nom du rôle
permissions (array) – list of codenames of permissions
- DELETE /api/roles/(int: id)/
Deletes the role.
- Paramètres
id (int) – ID du rôle
Langues
- GET /api/languages/
Returns a list of all languages.
Voir aussi
Language object attributes are documented at
GET /api/languages/(string:language)/
.
- POST /api/languages/
Creates a new language.
- Paramètres
code (string) – Nom de la langue
name (string) – Nom de la langue
direction (string) – Orientation du texte
population (int) – Nombre de locuteurs
plural (object) – Language plural formula and number
- GET /api/languages/(string: language)/
Returns information about a language.
- Paramètres
language (string) – Code langue
- Objet JSON de réponse
code (string) – Code langue
direction (string) – Orientation du texte
plural (object) – Object of language plural information
aliases (array) – Array of aliases for language
- Objet JSON de requête
population (int) – Nombre de locuteurs
Example JSON data:
{ "code": "en", "direction": "ltr", "name": "English", "population": 159034349015, "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)/
Changes the language parameters.
- Paramètres
language (string) – Code de la langue
- Objet JSON de requête
name (string) – Nom de la langue
direction (string) – Orientation du texte
population (int) – Nombre de locuteurs
plural (object) – Language plural details
- PATCH /api/languages/(string: language)/
Changes the language parameters.
- Paramètres
language (string) – Code de la langue
- Objet JSON de requête
name (string) – Nom de la langue
direction (string) – Orientation du texte
population (int) – Nombre de locuteurs
plural (object) – Language plural details
- DELETE /api/languages/(string: language)/
Deletes the language.
- Paramètres
language (string) – Code de la langue
- GET /api/languages/(string: language)/statistics/
Returns statistics for a language.
- Paramètres
language (string) – Code langue
- Objet JSON de réponse
total (int) – total number of strings
total_words (int) – total number of words
last_change (timestamp) – last changes in the language
recent_changes (int) – total number of changes
translated (int) – nombre de chaînes traduites
translated_percent (float) – pourcentage de chaînes traduites
translated_words (int) – number of translated words
translated_words_percent (int) – percentage of translated words
translated_chars (int) – number of translated characters
translated_chars_percent (int) – percentage of translated characters
total_chars (int) – number of total characters
fuzzy (int) – nombre de chaînes à vérifier
fuzzy_percent (int) – percentage of fuzzy (marked for edit) strings
failing (int) – number of failing strings
failing – percentage of failing strings
Projets
- GET /api/projects/
Returns a list of all projects.
Voir aussi
Project object attributes are documented at
GET /api/projects/(string:project)/
.
- POST /api/projects/
Nouveau dans la version 3.9.
Creates a new project.
- Paramètres
name (string) – Nom du projet
slug (string) – Identifiant du projet
web (string) – Site Web du projet
- GET /api/projects/(string: project)/
Returns information about a project.
- Paramètres
project (string) – URL abrégée du projet
- Objet JSON de réponse
name (string) – Nom du projet
slug (string) – Projet abrégé
web (string) – Site Web du projet
components_list_url (string) – URL to components list; see
GET /api/projects/(string:project)/components/
repository_url (string) – URL to repository status; see
GET /api/projects/(string:project)/repository/
changes_list_url (string) – URL to changes list; see
GET /api/projects/(string:project)/changes/
translation_review (boolean) – Activer les révisions
source_review (boolean) – Activer la révision des chaînes sources
set_language_team (boolean) – Définir l’en-tête « Language-Team »
enable_hooks (boolean) – Activer les points d’ancrage
instructions (string) – Directives de traduction
language_aliases (string) – Alias de langue
Example JSON data:
{ "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)/
Nouveau dans la version 4.3.
Edit a project by a PATCH request.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- PUT /api/projects/(string: project)/
Nouveau dans la version 4.3.
Edit a project by a PUT request.
- Paramètres
project (string) – URL abrégée du projet
- DELETE /api/projects/(string: project)/
Nouveau dans la version 3.9.
Deletes a project.
- Paramètres
project (string) – URL abrégée du projet
- GET /api/projects/(string: project)/changes/
Returns a list of project changes. This is essentially a project scoped
GET /api/changes/
accepting same params.- Paramètres
project (string) – URL abrégée du projet
- Objet JSON de réponse
results (array) – array of component objects; see
GET /api/changes/(int:id)/
- GET /api/projects/(string: project)/repository/
Returns information about VCS repository status. This endpoint contains only an overall summary for all repositories for the project. To get more detailed status use
GET /api/components/(string:project)/(string:component)/repository/
.- Paramètres
project (string) – URL abrégée du projet
- Objet JSON de réponse
needs_commit (boolean) – whether there are any pending changes to commit
needs_merge (boolean) – whether there are any upstream changes to merge
needs_push (boolean) – whether there are any local changes to push
Example JSON data:
{ "needs_commit": true, "needs_merge": false, "needs_push": true }
- POST /api/projects/(string: project)/repository/
Performs given operation on the VCS repository.
- Paramètres
project (string) – URL abrégée du projet
- Objet JSON de requête
operation (string) – Operation to perform: one of
push
,pull
,commit
,reset
,cleanup
,file-sync
- Objet JSON de réponse
result (boolean) – result of the operation
Exemple CURL :
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/repository/
JSON request example:
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"}
JSON response example:
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/
Returns a list of translation components in the given project.
- Paramètres
project (string) – URL abrégée du projet
- Objet JSON de réponse
results (array) – array of component objects; see
GET /api/components/(string:project)/(string:component)/
- POST /api/projects/(string: project)/components/
Nouveau dans la version 3.9.
Modifié dans la version 4.3: The
zipfile
anddocfile
parameters are now accepted for VCS-less components, see Fichiers locaux.Modifié dans la version 4.6: The cloned repositories are now automatically shared within a project using URLs internes de Weblate. Use
disable_autoshare
to turn off this.Creates translation components in the given project.
Indication
Use URLs internes de Weblate when creating multiple components from a single VCS repository.
Note
Most of the component creation happens in the background. Check the
task_url
attribute of created component and follow the progress there.- Paramètres
project (string) – URL abrégée du projet
- Paramètres de la forme
file zipfile – ZIP file to upload into Weblate for translations initialization
file docfile – Document à traduire
boolean disable_autoshare – Disables automatic repository sharing via URLs internes de Weblate.
- Objet JSON de requête
object – Component parameters, see
GET /api/components/(string:project)/(string:component)/
- Objet JSON de réponse
result (object) – Created component object; see
GET /api/components/(string:project)/(string:component)/
JSON can not be used when uploading the files using the
zipfile
anddocfile
parameters. The data has to be uploaded as multipart/form-data.CURL form request example:
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/
CURL JSON request example:
curl \ --data-binary '{ "branch": "main", "file_format": "po", "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "po/hello.pot", "vcs": "git" }' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
JSON request to create a new component from Git:
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", "name": "Weblate", "slug": "weblate", "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "po/hello.pot", "vcs": "git" }
JSON request to create a new component from another one:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "file_format": "po", "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "weblate://weblate/hello", "template": "", "new_base": "po/hello.pot", "vcs": "git" }
JSON response example:
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", "population": 159034349015, "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/
Returns paginated statistics for all languages within a project.
Nouveau dans la version 3.8.
- Paramètres
project (string) – URL abrégée du projet
- Objet JSON de réponse
results (array) – array of translation statistics objects
language (string) – Nom de la langue
code (string) – Code de la langue
total (int) – total number of strings
translated (int) – nombre de chaînes traduites
translated_percent (float) – pourcentage de chaînes traduites
total_words (int) – total number of words
translated_words (int) – number of translated words
words_percent (float) – percentage of translated words
- GET /api/projects/(string: project)/statistics/
Returns statistics for a project.
Nouveau dans la version 3.8.
- Paramètres
project (string) – URL abrégée du projet
- Objet JSON de réponse
total (int) – total number of strings
translated (int) – nombre de chaînes traduites
translated_percent (float) – pourcentage de chaînes traduites
total_words (int) – total number of words
translated_words (int) – number of translated words
words_percent (float) – percentage of translated words
Composants
Indication
Utiliser POST /api/projects/(string:project)/components/
pour créer des composants.
- GET /api/components/
Returns a list of translation components.
Voir aussi
Component object attributes are documented at
GET /api/components/(string:project)/(string:component)/
.
- GET /api/components/(string: project)/(string: component)/
Returns information about translation component.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de réponse
project (object) – the translation project; see
GET /api/projects/(string:project)/
name (string) – Nom du composant
slug (string) – Identifiant du composant
vcs (string) – Système de contrôle de version
repo (string) – Dépôt du code source
git_export (string) – URL de dépôt exportée
branch (string) – Branche du dépôt
push_branch (string) – Pousser la branche
filemask (string) – Masque de fichier
template (string) – Fichier de langue de base mono-langue
edit_template (string) – Modifier le fichier de base
intermediate (string) – Fichier de langue intermédiaire
new_base (string) – Modèle pour les nouvelles traductions
file_format (string) – Format de fichier
license (string) – Licence associée à cette traduction
agreement (string) – Accord de contribution
new_lang (string) – Ajouter une nouvelle traduction
language_code_style (string) – Style de code-langue
source_language (object) – source language object; see
GET /api/languages/(string:language)/
push (string) – URL pour l’envoi du dépôt
check_flags (string) – Drapeaux de traduction
priority (string) – Priorité
enforced_checks (string) – Vérifications forcées
restricted (string) – Accès restreint
repoweb (string) – Explorateur de dépôt
report_source_bugs (string) – Adresse pour signaler une anomalie de chaîne source
merge_style (string) – Style de fusion
commit_message (string) – Commit, add, delete, merge, add-on, and merge request messages
add_message (string) – Commit, add, delete, merge, add-on, and merge request messages
delete_message (string) – Commit, add, delete, merge, add-on, and merge request messages
merge_message (string) – Commit, add, delete, merge, add-on, and merge request messages
addon_message (string) – Commit, add, delete, merge, add-on, and merge request messages
pull_message (string) – Commit, add, delete, merge, add-on, and merge request messages
allow_translation_propagation (string) – Permettre la propagation de la traduction
enable_suggestions (string) – Autoriser les suggestions
suggestion_voting (string) – Vote pour la suggestion
suggestion_autoaccept (string) – Accepter automatiquement les suggestions
push_on_commit (string) – Pousser lors du commit
commit_pending_age (string) – Âge des modifications à commiter
auto_lock_error (string) – Verrouiller en cas d’erreur
language_regex (string) – Filtre sur la langue
variant_regex (string) – Expression rationnelle des variantes
repository_url (string) – URL to repository status; see
GET /api/components/(string:project)/(string:component)/repository/
translations_url (string) – URL to translations list; see
GET /api/components/(string:project)/(string:component)/translations/
lock_url (string) – URL to lock status; see
GET /api/components/(string:project)/(string:component)/lock/
changes_list_url (string) – URL to changes list; see
GET /api/components/(string:project)/(string:component)/changes/
task_url (string) – URL to a background task (if any); see
GET /api/tasks/(str:uuid)/
Example JSON data:
{ "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", "population": 159034349015, "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", "population": 159034349015, "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)/
Edit a component by a PATCH request.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
source_language (string) – Project source language code (optional)
- Objet JSON de requête
name (string) – name of component
slug (string) – slug of component
repo (string) – VCS repository URL
Exemple CURL :
curl \ --data-binary '{"name": "new name"}' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ PATCH http://example.com/api/projects/hello/components/
JSON request example:
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" }
JSON response example:
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", "population": 159034349015, "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)/
Edit a component by a PUT request.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de requête
branch (string) – VCS repository branch
file_format (string) – file format of translations
filemask (string) – mask of translation files in the repository
name (string) – name of component
slug (string) – slug of component
repo (string) – VCS repository URL
template (string) – base file for monolingual translations
new_base (string) – base file for adding new translations
vcs (string) – système de contrôle des versions
- DELETE /api/components/(string: project)/(string: component)/
Nouveau dans la version 3.9.
Deletes a component.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- GET /api/components/(string: project)/(string: component)/changes/
Returns a list of component changes. This is essentially a component scoped
GET /api/changes/
accepting same params.- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de réponse
results (array) – array of component objects; see
GET /api/changes/(int:id)/
- GET /api/components/(string: project)/(string: component)/file/
Nouveau dans la version 4.9.
Downloads all available translations associated with the component as an archive file using the requested format.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Paramètres de requête
format (string) – The archive format to use; If not specified, defaults to
zip
; Supported formats:zip
- GET /api/components/(string: project)/(string: component)/screenshots/
Returns a list of component screenshots.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de réponse
results (array) – array of component screenshots; see
GET /api/screenshots/(int:id)/
- GET /api/components/(string: project)/(string: component)/lock/
Returns component lock status.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de réponse
locked (boolean) – whether component is locked for updates
Example JSON data:
{ "locked": false }
- POST /api/components/(string: project)/(string: component)/lock/
Sets component lock status.
Response is same as
GET /api/components/(string:project)/(string:component)/lock/
.- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de requête
lock – Boolean whether to lock or not.
Exemple CURL :
curl \ -d lock=true \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
JSON request example:
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}
JSON response example:
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/
Returns information about VCS repository status.
The response is same as for
GET /api/projects/(string:project)/repository/
.- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de réponse
needs_commit (boolean) – whether there are any pending changes to commit
needs_merge (boolean) – whether there are any upstream changes to merge
needs_push (boolean) – whether there are any local changes to push
remote_commit (string) – Remote commit information
status (string) – VCS repository status as reported by VCS
merge_failure – Text describing merge failure or null if there is none
- POST /api/components/(string: project)/(string: component)/repository/
Performs the given operation on a VCS repository.
See
POST /api/projects/(string:project)/repository/
for documentation.- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de requête
operation (string) – Operation to perform: one of
push
,pull
,commit
,reset
,cleanup
- Objet JSON de réponse
result (boolean) – result of the operation
Exemple CURL :
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
JSON request example:
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"}
JSON response example:
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/
Downloads base file for monolingual translations.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- GET /api/components/(string: project)/(string: component)/new_template/
Downloads template file for new translations.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- GET /api/components/(string: project)/(string: component)/translations/
Returns a list of translation objects in the given component.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de réponse
results (array) – array of translation objects; see
GET /api/translations/(string:project)/(string:component)/(string:language)/
- POST /api/components/(string: project)/(string: component)/translations/
Creates new translation in the given component.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de requête
language_code (string) – translation language code; see
GET /api/languages/(string:language)/
- Objet JSON de réponse
result (object) – new translation object created
Exemple CURL :
curl \ -d language_code=cs \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
JSON request example:
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"}
JSON response example:
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", "population": 1303174280 "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/
Returns paginated statistics for all translations within component.
Nouveau dans la version 2.7.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de réponse
results (array) – array of translation statistics objects; see
GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
- GET /api/components/(string: project)/(string: component)/links/
Retourne les projets liés à un composant.
Nouveau dans la version 4.5.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Objet JSON de réponse
projects (array) – associated projects; see
GET /api/projects/(string:project)/
- POST /api/components/(string: project)/(string: component)/links/
Associe un projet à un composant.
Nouveau dans la version 4.5.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
- Paramètres de la forme
string project_slug – Identifiant du projet
- DELETE /api/components/(string: project)/(string: component)/links/(string: project_slug)/
Remove association of a project with a component.
Nouveau dans la version 4.5.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
project_slug (string) – L’identifiant du projet à supprimer
Traductions
- GET /api/translations/
Returns a list of translations.
Voir aussi
Translation object attributes are documented at
GET /api/translations/(string:project)/(string:component)/(string:language)/
.
- GET /api/translations/(string: project)/(string: component)/(string: language)/
Returns information about a translation.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- Objet JSON de réponse
component (object) – component object; see
GET /api/components/(string:project)/(string:component)/
failing_checks (int) – nombre de chaînes qui échouent aux contrôles
failing_checks_percent (float) – pourcentage de chaînes qui échouent aux contrôles
failing_checks_words (int) – nombre de mots avec des contrôles échoués
filename (string) – Nom du fichier de traduction
fuzzy (int) – nombre de chaînes à vérifier
fuzzy_percent (float) – percentage of fuzzy (marked for edit) strings
fuzzy_words (int) – number of words in fuzzy (marked for edit) strings
have_comment (int) – number of strings with comment
have_suggestion (int) – number of strings with suggestion
is_template (boolean) – si la traduction a une base mono-langue
language (object) – source language object; see
GET /api/languages/(string:language)/
language_code (string) – language code used in the repository; this can be different from language code in the language object
last_author (string) – name of last author
last_change (timestamp) – last change timestamp
revision (string) – revision hash for the file
share_url (string) – URL for sharing leading to engagement page
total (int) – total number of strings
total_words (int) – total number of words
translate_url (string) – URL for translating
translated (int) – nombre de chaînes traduites
translated_percent (float) – pourcentage de chaînes traduites
translated_words (int) – number of translated words
repository_url (string) – URL to repository status; see
GET /api/translations/(string:project)/(string:component)/(string:language)/repository/
file_url (string) – URL to file object; see
GET /api/translations/(string:project)/(string:component)/(string:language)/file/
changes_list_url (string) – URL to changes list; see
GET /api/translations/(string:project)/(string:component)/(string:language)/changes/
units_list_url (string) – URL to strings list; see
GET /api/translations/(string:project)/(string:component)/(string:language)/units/
Example JSON data:
{ "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", "population": 159034349015, "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", "population": 1303174280 "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)/
Nouveau dans la version 3.9.
Deletes a translation.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- GET /api/translations/(string: project)/(string: component)/(string: language)/changes/
Returns a list of translation changes. This is essentially a translations-scoped
GET /api/changes/
accepting the same parameters.- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- Objet JSON de réponse
results (array) – array of component objects; see
GET /api/changes/(int:id)/
- GET /api/translations/(string: project)/(string: component)/(string: language)/units/
Returns a list of translation units.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
q (string) – Search query string Recherche (optional)
- Objet JSON de réponse
results (array) – array of component objects; see
GET /api/units/(int:id)/
- POST /api/translations/(string: project)/(string: component)/(string: language)/units/
Ajouter une nouvelle unité.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- Objet JSON de requête
key (string) – Name of translation unit (used as key or context)
value (array) – Source strings (use single string if not creating plural)
- Objet JSON de réponse
unit (object) – newly created unit; see
GET /api/units/(int:id)/
Voir aussi
- POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/
Trigger automatic translation.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- Objet JSON de requête
mode (string) – Mode de traduction automatique
filter_type (string) – Automatic translation filter type
auto_source (string) – Automatic translation source -
mt
orothers
component (string) – Activez la contribution au mémoire de traduction partagé du projet afin d’avoir accès aux composants supplémentaires.
engines (array) – Moteurs de traduction automatisée
threshold (string) – Seuil de score
- GET /api/translations/(string: project)/(string: component)/(string: language)/file/
Download current translation file as it is stored in the VCS (without the
format
parameter) or converted to another format (see Downloading translations).Note
This API endpoint uses different logic for output than rest of API as it operates on whole file rather than on data. Set of accepted
format
parameter differs and without such parameter you get translation file as stored in VCS.- Paramètres de requête
format – File format to use; if not specified no format conversion happens; supported file formats:
po
,mo
,xliff
,xliff11
,tbx
,csv
,xlsx
,json
,aresource
,strings
q (string) – Filter downloaded strings, see Page de recherche, only applicable when conversion is in place (
format
is specified).
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- POST /api/translations/(string: project)/(string: component)/(string: language)/file/
Upload new file with translations.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- Paramètres de la forme
string conflicts – How to deal with conflicts (
ignore
,replace-translated
orreplace-approved
)file file – Fichier téléversé
string email – Adresse courriel de l’auteur
string author – Nom de l’auteur
string method – Upload method (
translate
,approve
,suggest
,fuzzy
,replace
,source
,add
), see Import methodsstring fuzzy – Fuzzy (marked for edit) strings processing (empty,
process
,approve
)
Exemple 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/
Returns information about VCS repository status.
The response is same as for
GET /api/components/(string:project)/(string:component)/repository/
.- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- POST /api/translations/(string: project)/(string: component)/(string: language)/repository/
Performs given operation on the VCS repository.
See
POST /api/projects/(string:project)/repository/
for documentation.- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- Objet JSON de requête
operation (string) – Operation to perform: one of
push
,pull
,commit
,reset
,cleanup
- Objet JSON de réponse
result (boolean) – result of the operation
- GET /api/translations/(string: project)/(string: component)/(string: language)/statistics/
Returns detailed translation statistics.
Nouveau dans la version 2.7.
- Paramètres
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
- Objet JSON de réponse
code (string) – Code de la langue
failing (int) – number of failing checks
failing_percent (float) – percentage of failing checks
fuzzy (int) – nombre de chaînes à vérifier
fuzzy_percent (float) – percentage of fuzzy (marked for edit) strings
total_words (int) – total number of words
translated_words (int) – number of translated words
last_author (string) – name of last author
last_change (timestamp) – date of last change
name (string) – Nom de la langue
total (int) – total number of strings
translated (int) – nombre de chaînes traduites
translated_percent (float) – pourcentage de chaînes traduites
url (string) – URL to access the translation (engagement URL)
url_translate (string) – URL to access the translation (real translation URL)
Mémoire
Nouveau dans la version 4.14.
- GET /api/memory/
Returns a list of memory results.
- DELETE /api/memory/(int: memory_object_id)/
Deletes a memory object
- Paramètres
memory_object_id – Memory Object ID
Unités
A unit is a single piece of a translation which pairs a source string with a corresponding translated string and also contains some related metadata. The term is derived from the Translate Toolkit and XLIFF.
Nouveau dans la version 2.10.
- GET /api/units/
Returns list of translation units.
- Paramètres
q (string) – Search query string Recherche (optional)
Voir aussi
Unit object attributes are documented at
GET /api/units/(int:id)/
.
- GET /api/units/(int: id)/
Modifié dans la version 4.3: The
target
andsource
are now arrays to properly handle plural strings.Returns information about translation unit.
- Paramètres
id (int) – ID d’unité
- Objet JSON de réponse
translation (string) – URL of a related translation object
source (array) – Chaîne source
previous_source (string) – previous source string used for fuzzy matching
target (array) – Chaîne cible
id_hash (string) – unique identifier of the unit
content_hash (string) – unique identifier of the source string
location (string) – location of the unit in source code
context (string) – translation unit context
note (string) – translation unit note
flags (string) – translation unit flags
labels (array) – translation unit labels, available on source units
state (int) – unit state, 0 - untranslated, 10 - needs editing, 20 - translated, 30 - approved, 100 - read only
fuzzy (boolean) – si l’unité est approximative ou marquée pour révision
translated (boolean) – si l’unité est traduite
approved (boolean) – si la traduction est approuvée
position (int) – unit position in translation file
has_suggestion (boolean) – si l’unité a des suggestions
has_comment (boolean) – si l’unité a des commentaires
has_failing_check (boolean) – si l’unité a échoué aux contrôles
num_words (int) – number of source words
priority (int) – translation priority; 100 is default
id (int) – Identifiant d’unité
explanation (string) – String explanation, available on source units, see Additional info on source strings
extra_flags (string) – Drapeaux de chaîne supplémentaires, disponibles sur les unités sources, voir Customizing behavior using flags
web_url (string) – URL where the unit can be edited
source_unit (string) – Source unit link; see
GET /api/units/(int:id)/
pending (boolean) – whether the unit is pending for write
timestamp (timestamp) – string age
- PATCH /api/units/(int: id)/
Nouveau dans la version 4.3.
Réaliser une mise à jour partielle sur l’unité de traduction.
- Paramètres
id (int) – ID d’unité
- Objet JSON de requête
state (int) – unit state, 0 - untranslated, 10 - needs editing, 20 - translated, 30 - approved (need review workflow enabled, see Dedicated reviewers)
target (array) – Chaîne cible
explanation (string) – String explanation, available on source units, see Additional info on source strings
extra_flags (string) – Drapeaux de chaîne supplémentaires, disponibles sur les unités sources, voir Customizing behavior using flags
- Objet JSON de réponse
labels (array) – labels, available on source units
- PUT /api/units/(int: id)/
Nouveau dans la version 4.3.
Réaliser une mise à jour complète sur l’unité de traduction.
- Paramètres
id (int) – ID d’unité
- Objet JSON de requête
state (int) – unit state, 0 - untranslated, 10 - needs editing, 20 - translated, 30 - approved (need review workflow enabled, see Dedicated reviewers)
target (array) – Chaîne cible
explanation (string) – String explanation, available on source units, see Additional info on source strings
extra_flags (string) – Drapeaux de chaîne supplémentaires, disponibles sur les unités sources, voir Customizing behavior using flags
- Objet JSON de réponse
labels (array) – labels, available on source units
- DELETE /api/units/(int: id)/
Nouveau dans la version 4.3.
Supprime une unité de traduction.
- Paramètres
id (int) – ID d’unité
Modifications
Nouveau dans la version 2.10.
- GET /api/changes/
Modifié dans la version 4.1: Filtering of changes was introduced in the 4.1 release.
Returns a list of translation changes.
Voir aussi
Change object attributes are documented at
GET /api/changes/(int:id)/
.- Paramètres de requête
user (string) – Username of user to filters
action (int) – Action to filter, can be used several times
timestamp_after (timestamp) – ISO 8601 formatted timestamp to list changes after
timestamp_before (timestamp) – ISO 8601 formatted timestamp to list changes before
- GET /api/changes/(int: id)/
Returns information about translation change.
- Paramètres
id (int) – ID de la modification
- Objet JSON de réponse
unit (string) – URL of a related unit object
translation (string) – URL of a related translation object
component (string) – URL of a related component object
user (string) – URL of a related user object
author (string) – URL of a related author object
timestamp (timestamp) – Horodatage de l’événement
action (int) – numeric identification of action
action_name (string) – text description of action
target (string) – event changed text or detail
id (int) – Identifiant de l’événement
Captures d’écran
Nouveau dans la version 2.14.
- GET /api/screenshots/
Returns a list of screenshot string information.
Voir aussi
Screenshot object attributes are documented at
GET /api/screenshots/(int:id)/
.
- GET /api/screenshots/(int: id)/
Returns information about screenshot information.
- Paramètres
id (int) – ID de la capture d’écran
- Objet JSON de réponse
name (string) – name of a screenshot
component (string) – URL of a related component object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- GET /api/screenshots/(int: id)/file/
Download the screenshot image.
- Paramètres
id (int) – ID de la capture d’écran
- POST /api/screenshots/(int: id)/file/
Replace screenshot image.
- Paramètres
id (int) – ID de la capture d’écran
- Paramètres de la forme
file image – Fichier téléversé
Exemple 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/
Associate source string with screenshot.
- Paramètres
id (int) – ID de la capture d’écran
- Paramètres de la forme
string unit_id – ID d’unité
- Objet JSON de réponse
name (string) – name of a screenshot
translation (string) – URL of a related translation object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/units/(int: unit_id)
Supprimer l’association de la chaîne source avec la capture d’écran.
- Paramètres
id (int) – ID de la capture d’écran
unit_id – ID de l’unité de la chaîne source
- POST /api/screenshots/
Creates a new screenshot.
- Paramètres de la forme
file image – Fichier téléversé
string name – Nom de la capture d’écran
string project_slug – Identifiant du projet
string component_slug – Identifiant du composant
string language_code – Code langue
- Objet JSON de réponse
name (string) – name of a screenshot
component (string) – URL of a related component object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- PATCH /api/screenshots/(int: id)/
Modifier les informations partielles sur la capture d’écran.
- Paramètres
id (int) – ID de la capture d’écran
- Objet JSON de réponse
name (string) – name of a screenshot
component (string) – URL of a related component object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- PUT /api/screenshots/(int: id)/
Modifier les informations complètes sur la capture d’écran.
- Paramètres
id (int) – ID de la capture d’écran
- Objet JSON de réponse
name (string) – name of a screenshot
component (string) – URL of a related component object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/
units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/
Supprimer la capture d’écran.
- Paramètres
id (int) – ID de la capture d’écran
Extensions
Nouveau dans la version 4.4.1.
- GET /api/addons/
Returns a list of add-ons.
Voir aussi
Add-on object attributes are documented at
GET /api/addons/(int:id)/
.
- GET /api/addons/(int: id)/
Returns information about add-on information.
- Paramètres
id (int) – ID du module
- Objet JSON de réponse
name (string) – name of an add-on
component (string) – URL of a related component object
configuration (object) – Optional add-on configuration
Voir aussi
- POST /api/components/(string: project)/(string: component)/addons/
Creates a new add-on.
- Paramètres
project_slug (string) – Identifiant du projet
component_slug (string) – Identifiant du composant
- Objet JSON de requête
name (string) – name of an add-on
configuration (object) – Optional add-on configuration
- PATCH /api/addons/(int: id)/
Edit partial information about add-on.
- Paramètres
id (int) – ID du module
- Objet JSON de réponse
configuration (object) – Optional add-on configuration
- PUT /api/addons/(int: id)/
Edit full information about add-on.
- Paramètres
id (int) – ID du module
- Objet JSON de réponse
configuration (object) – Optional add-on configuration
- DELETE /api/addons/(int: id)/
Delete add-on.
- Paramètres
id (int) – ID du module
Listes de composants
Nouveau dans la version 4.0.
- GET /api/component-lists/
Returns a list of component lists.
Voir aussi
Component list object attributes are documented at
GET /api/component-lists/(str:slug)/
.
- GET /api/component-lists/(str: slug)/
Returns information about component list.
- Paramètres
slug (string) – Component list slug
- Objet JSON de réponse
name (string) – name of a component list
slug (string) – slug of a component list
show_dashboard (boolean) – whether to show it on a dashboard
components (array) – link to associated components; see
GET /api/components/(string:project)/(string:component)/
auto_assign (array) – automatic assignment rules
- PUT /api/component-lists/(str: slug)/
Changes the component list parameters.
- Paramètres
slug (string) – Component list slug
- Objet JSON de requête
name (string) – name of a component list
slug (string) – slug of a component list
show_dashboard (boolean) – whether to show it on a dashboard
- PATCH /api/component-lists/(str: slug)/
Changes the component list parameters.
- Paramètres
slug (string) – Component list slug
- Objet JSON de requête
name (string) – name of a component list
slug (string) – slug of a component list
show_dashboard (boolean) – whether to show it on a dashboard
- DELETE /api/component-lists/(str: slug)/
Deletes the component list.
- Paramètres
slug (string) – Component list slug
- POST /api/component-lists/(str: slug)/components/
Associate component with a component list.
- Paramètres
slug (string) – Component list slug
- Paramètres de la forme
string component_id – ID du composant
- DELETE /api/component-lists/(str: slug)/components/(str: component_slug)
Disassociate a component from the component list.
- Paramètres
slug (string) – Component list slug
component_slug (string) – Identifiant du composant
Glossaire
Modifié dans la version 4.5: Glossaries are now stored as regular components, translations and strings, please use respective API instead.
Tâches
Nouveau dans la version 4.4.
- GET /api/tasks/
L’affichage de la liste des tâches est actuellement non disponible.
- GET /api/tasks/(str: uuid)/
Renvoie des informations à propos d’une tâche
- Paramètres
uuid (string) – Task UUID
- Objet JSON de réponse
completed (boolean) – Si la tâche est achevée
progress (int) – Task progress in percent
result (object) – Task result or progress details
log (string) – Journal des tâches
Metrics
- GET /api/metrics/
Returns server metrics.
- Objet JSON de réponse
units (int) – Number of units
units_translated (int) – Number of translated units
users (int) – Number of users
changes (int) – Nombre de modifications
projects (int) – Number of projects
components (int) – Nombre de composants
translations (int) – Number of translations
languages (int) – Number of used languages
checks (int) – Number of triggered quality checks
configuration_errors (int) – Number of configuration errors
suggestions (int) – Number of pending suggestions
celery_queues (object) – Lengths of Celery queues, see Background tasks using Celery
name (string) – Nom du serveur configuré
Déclencheurs de notification
Notification hooks allow external applications to notify Weblate that the VCS repository has been updated.
You can use repository endpoints for projects, components and translations to
update individual repositories; see
POST /api/projects/(string:project)/repository/
for documentation.
- GET /hooks/update/(string: project)/(string: component)/
Obsolète depuis la version 2.6: Please use
POST /api/components/(string:project)/(string:component)/repository/
instead which works properly with authentication for ACL limited projects.Triggers update of a component (pulling from VCS and scanning for translation changes).
- GET /hooks/update/(string: project)/
Obsolète depuis la version 2.6: Please use
POST /api/projects/(string:project)/repository/
instead which works properly with authentication for ACL limited projects.Triggers update of all components in a project (pulling from VCS and scanning for translation changes).
- POST /hooks/github/
Special hook for handling GitHub notifications and automatically updating matching components.
Note
GitHub includes direct support for notifying Weblate: enable Weblate service hook in repository settings and set the URL to the URL of your Weblate installation.
Voir aussi
- Automatically receiving changes from GitHub
For instruction on setting up GitHub integration
- https://docs.github.com/en/get-started/customizing-your-github-workflow/exploring-integrations/about-webhooks
Generic information about GitHub Webhooks
ENABLE_HOOKS
For enabling hooks for whole Weblate
- POST /hooks/gitlab/
Special hook for handling GitLab notifications and automatically updating matching components.
Voir aussi
- Automatically receiving changes from GitLab
For instruction on setting up GitLab integration
- https://docs.gitlab.com/ee/user/project/integrations/webhooks.html
Generic information about GitLab Webhooks
ENABLE_HOOKS
For enabling hooks for whole Weblate
- POST /hooks/bitbucket/
Special hook for handling Bitbucket notifications and automatically updating matching components.
Voir aussi
- Automatically receiving changes from Bitbucket
For instruction on setting up Bitbucket integration
- https://support.atlassian.com/bitbucket-cloud/docs/manage-webhooks/
Generic information about Bitbucket Webhooks
ENABLE_HOOKS
For enabling hooks for whole Weblate
- POST /hooks/pagure/
Nouveau dans la version 3.3.
Special hook for handling Pagure notifications and automatically updating matching components.
Voir aussi
- Automatically receiving changes from Pagure
For instruction on setting up Pagure integration
- https://docs.pagure.org/pagure/usage/using_webhooks.html
Generic information about Pagure Webhooks
ENABLE_HOOKS
For enabling hooks for whole Weblate
- POST /hooks/azure/
Nouveau dans la version 3.8.
Special hook for handling Azure DevOps notifications and automatically updating matching components.
Note
Please make sure that Resource details to send is set to All, otherwise Weblate will not be able to match your Azure repository.
Voir aussi
- Automatically receiving changes from Azure Repos
For instruction on setting up Azure integration
- https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops
Generic information about Azure DevOps Web Hooks
ENABLE_HOOKS
For enabling hooks for whole Weblate
- POST /hooks/gitea/
Nouveau dans la version 3.9.
Special hook for handling Gitea Webhook notifications and automatically updating matching components.
Voir aussi
- Automatically receiving changes from Gitea Repos
For instruction on setting up Gitea integration
- https://docs.gitea.io/en-us/webhooks/
Generic information about Gitea Webhooks
ENABLE_HOOKS
For enabling hooks for whole Weblate
- POST /hooks/gitee/
Nouveau dans la version 3.9.
Special hook for handling Gitee Webhook notifications and automatically updating matching components.
Voir aussi
- Automatically receiving changes from Gitee Repos
For instruction on setting up Gitee integration
- https://gitee.com/help/categories/40
Generic information about Gitee Webhooks
ENABLE_HOOKS
For enabling hooks for whole Weblate
Exportations
Weblate provides various exports to allow you to further process the data.
- GET /exports/stats/(string: project)/(string: component)/
- Paramètres de requête
format (string) – Output format: either
json
orcsv
Obsolète depuis la version 2.6: Please use
GET /api/components/(string:project)/(string:component)/statistics/
andGET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
instead; it allows access to ACL controlled projects as well.Retrieves statistics for given component in given format.
Exemple de requête :
GET /exports/stats/weblate/main/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Exemple de réponse :
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/" } ]
Flux RSS
Changes in translations are exported in RSS feeds.
- GET /exports/rss/(string: project)/(string: component)/(string: language)/
Retrieves RSS feed with recent changes for a translation.
- GET /exports/rss/(string: project)/(string: component)/
Retrieves RSS feed with recent changes for a component.
- GET /exports/rss/(string: project)/
Retrieves RSS feed with recent changes for a project.
- GET /exports/rss/language/(string: language)/
Retrieves RSS feed with recent changes for a language.
- GET /exports/rss/
Retrieves RSS feed with recent changes for Weblate instance.
Voir aussi