API REST de Weblate#
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
Voir aussi
Returned attributes are described in Statistics.
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
,file-scan
- 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
Voir aussi
Returned attributes are described in Statistics.
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
is_glossary (bool) – Utiliser comme glossaire
glossary_color (string) – Couleur du glossaire
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.
- Paramètres:
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
Voir aussi
Returned attributes are described in 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)
state (int) – String state; see
GET /api/units/(int:id)/
- 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; see Downloading translations for supported formats
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.
- Paramètres:
project (string) – URL abrégée du projet
component (string) – URL abrégée du composant
language (string) – Translation language code
Voir aussi
Returned attributes are described in Statistics.
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.
- 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#
- 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#
- 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
Statistics#
- GET /api/(str: object)/statistics/#
There are several statistics endpoints for objects and all of them contain same structure.
- Paramètres:
object (string) – URL path
- Objet JSON de réponse:
total (int) – total number of strings
total_words (int) – total number of words
total_chars (int) – total number of characters
last_change (timestamp) – date of last change
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 (float) – percentage of translated words
translated_chars (int) – number of translated characters
translated_chars_percent (float) – percentage of translated characters
fuzzy (int) – nombre de chaînes à vérifier
fuzzy_percent (float) – percentage of fuzzy (marked for edit) strings
failing (int) – number of failing checks
failing_percent (float) – percentage of failing checks
approved (int) – number of approved checks
approved_percent (float) – percentage of approved strings
readonly (int) – number of read-only strings
readonly_percent (float) – percentage of read-only strings
suggestions (int) – number of strings with suggestions
comments (int) – number of strings with comments
name (string) – object name
url (string) – URL to access the object (if applicable)
url_translate (string) – URL to access the translation (if applicable)
code (string) – language code (if applicable)
Statistiques#
- 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