Weblate’s Web API¶
REST API¶
Добавлено в версии 2.6: The 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 Weblate Client.
Authentication and generic parameters¶
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.
Query Parameters: - 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.
Request Headers: - Accept – the response content type depends on Accept header
- Authorization – optional token to authenticate
Response Headers: - Content-Type – this depends on Accept header of request
- Allow – list of allowed HTTP methods on object
Response JSON Object: - detail (string) – verbose description of failure (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
Status Codes: - 200 OK – when request was correctly handled
- 400 Bad Request – when form parameters are missing
- 403 Forbidden – when access is denied
- 429 Too Many Requests – when throttling is in place
- format – Response format (overrides Accept).
Possible values depends on REST framework setup,
by default
Authentication examples¶
Example request:
GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN
Example response:
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/"
}
CURL example:
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"}
CURL example:
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/
Rate limiting¶
The API requests are rate limited; the default configuration limits it to 100 requests per day for anonymous users and 1000 requests per day 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.
API Entry Point¶
-
GET
/api/
¶ The API root entry point.
Example request:
GET /api/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript Authorization: Token YOUR-TOKEN
Example response:
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/" }
Languages¶
-
GET
/api/languages/
¶ Returns a list of all languages.
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Language object attributes are documented at
GET /api/languages/(string:language)/
.
-
GET
/api/languages/
(string: language)/
¶ Returns information about a language.
Parameters: - language (string) – Language code
Response JSON Object: - code (string) – Language code
- direction (string) – Text direction
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Example JSON data:
{ "code": "en", "direction": "ltr", "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }
Projects¶
-
GET
/api/projects/
¶ Returns a list of all projects.
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Project object attributes are documented at
GET /api/projects/(string:project)/
.
-
POST
/api/projects/
¶ Добавлено в версии 3.9.
Creates a new project.
Parameters: - name (string) – project name
- slug (string) – project slug
- web (string) – project website
-
GET
/api/projects/
(string: project)/
¶ Returns information about a project.
Parameters: - project (string) – Project URL slug
Response JSON Object: - name (string) – project name
- slug (string) – project slug
- source_language (object) – source language object; see
GET /api/languages/(string:language)/
- web (string) – project website
- 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/
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Example JSON data:
{ "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }
-
DELETE
/api/projects/
(string: project)/
¶ Добавлено в версии 3.9.
Deletes a project.
Parameters: - project (string) – Project URL slug
-
GET
/api/projects/
(string: project)/changes/
¶ Returns a list of project changes.
Parameters: - project (string) – Project URL slug
Response JSON Object: - results (array) – array of component objects; see
GET /api/changes/(int:pk)/
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
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/
.Parameters: - project (string) – Project URL slug
Response JSON Object: - 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
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
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.
Parameters: - project (string) – Project URL slug
Request JSON Object: - operation (string) – Operation to perform: one of
push
,pull
,commit
,reset
,cleanup
Response JSON Object: - result (boolean) – result of the operation
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
CURL example:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/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.
Parameters: - project (string) – Project URL slug
Response JSON Object: - results (array) – array of component objects; see
GET /api/components/(string:project)/(string:component)/
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
POST
/api/projects/
(string: project)/components/
¶ Добавлено в версии 3.9.
Creates translation components in the given project.
Parameters: - project (string) – Project URL slug
-
GET
/api/projects/
(string: project)/languages/
¶ Returns paginated statistics for all languages within a project.
Добавлено в версии 3.8.
Parameters: - project (string) – Project URL slug
Response JSON Object: - results (array) – array of translation statistics objects
- language (string) – language name
- code (string) – language code
- total (int) – total number of strings
- translated (int) – number of translated strings
- translated_percent (float) – percentage of translated strings
- 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.
Добавлено в версии 3.8.
Parameters: - project (string) – Project URL slug
Response JSON Object: - total (int) – total number of strings
- translated (int) – number of translated strings
- translated_percent (float) – percentage of translated strings
- total_words (int) – total number of words
- translated_words (int) – number of translated words
- words_percent (float) – percentage of translated words
Components¶
-
GET
/api/components/
¶ Returns a list of translation components.
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
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.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Response JSON Object: - branch (string) – VCS repository branch
- file_format (string) – file format of translations
- filemask (string) – mask of translation files in the repository
- git_export (string) – URL of the exported VCS repository with translations
- license (string) – license for translations
- license_url (string) – URL of license for translations
- name (string) – name of component
- slug (string) – slug of component
- project (object) – the translation project; see
GET /api/projects/(string:project)/
- repo (string) – VCS repository URL
- template (string) – base file for monolingual translations
- new_base (string) – base file for adding new translations
- vcs (string) – version control system
- 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/
- push (string) – URL of a push repository
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Example JSON data:
{ "branch": "master", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "file:///home/nijel/work/weblate-hello", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
-
DELETE
/api/components/
(string: project)/
(string: component)/
¶ Добавлено в версии 3.9.
Deletes a component.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
-
GET
/api/components/
(string: project)/
(string: component)/changes/
¶ Returns a list of component changes.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Response JSON Object: - results (array) – array of component objects; see
GET /api/changes/(int:pk)/
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
GET
/api/components/
(string: project)/
(string: component)/lock/
¶ Returns component lock status.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Response JSON Object: - locked (boolean) – whether component is locked for updates
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
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/
.Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Request JSON Object: - lock – Boolean whether to lock or not.
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
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/
.Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Response JSON Object: - 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
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
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.Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Request JSON Object: - operation (string) – Operation to perform: one of
push
,pull
,commit
,reset
,cleanup
Response JSON Object: - result (boolean) – result of the operation
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
GET
/api/components/
(string: project)/
(string: component)/monolingual_base/
¶ Downloads base file for monolingual translations.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
GET
/api/components/
(string: project)/
(string: component)/new_template/
¶ Downloads template file for new translations.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
GET
/api/components/
(string: project)/
(string: component)/translations/
¶ Returns a list of translation objects in the given component.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Response JSON Object: - results (array) – array of translation objects; see
GET /api/translations/(string:project)/(string:component)/(string:language)/
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
POST
/api/components/
(string: project)/
(string: component)/translations/
¶ Creates new translation in the given component.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Response JSON Object: - language_code (string) – translation language code; see
GET /api/languages/(string:language)/
-
GET
/api/components/
(string: project)/
(string: component)/statistics/
¶ Returns paginated statistics for all translations within component.
Добавлено в версии 2.7.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
Response JSON Object: - results (array) – array of translation statistics objects; see
GET /api/translations/(string:project)/(string:component)/(string:language)/statistics/
Translations¶
-
GET
/api/translations/
¶ Returns a list of translations.
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
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.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
Response JSON Object: - component (object) – component object; see
GET /api/components/(string:project)/(string:component)/
- failing_checks (int) – number of strings failing check
- failing_checks_percent (float) – percentage of strings failing check
- failing_checks_words (int) – number of words with failing check
- filename (string) – translation filename
- fuzzy (int) – number of strings marked for review
- fuzzy_percent (float) – percentage of strings marked for review
- fuzzy_words (int) – number of words marked for review
- have_comment (int) – number of strings with comment
- have_suggestion (int) – number of strings with suggestion
- is_template (boolean) – whether translation is monolingual base
- 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) – hash revision of the file
- share_url (string) – URL for sharing leading to engage page
- total (int) – total number of strings
- total_words (int) – total number of words
- translate_url (string) – URL for translating
- translated (int) – number of translated strings
- translated_percent (float) – percentage of translated strings
- 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/
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Example JSON data:
{ "component": { "branch": "master", "file_format": "po", "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "new_base": "", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "file:///home/nijel/work/weblate-hello", "slug": "weblate", "template": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }, "failing_checks": 3, "failing_checks_percent": 75.0, "failing_checks_words": 11, "filename": "po/cs.po", "fuzzy": 0, "fuzzy_percent": 0.0, "fuzzy_words": 0, "have_comment": 0, "have_suggestion": 0, "is_template": false, "language": { "code": "cs", "direction": "ltr", "name": "Czech", "url": "http://example.com/api/languages/cs/", "web_url": "http://example.com/languages/cs/" }, "language_code": "cs", "last_author": "Weblate Admin", "last_change": "2016-03-07T10:20:05.499", "revision": "7ddfafe6daaf57fc8654cc852ea6be212b015792", "share_url": "http://example.com/engage/hello/cs/", "total": 4, "total_words": 15, "translate_url": "http://example.com/translate/hello/weblate/cs/", "translated": 4, "translated_percent": 100.0, "translated_words": 15, "url": "http://example.com/api/translations/hello/weblate/cs/", "web_url": "http://example.com/projects/hello/weblate/cs/" }
-
DELETE
/api/translations/
(string: project)/
(string: component)/
(string: language)/
¶ Добавлено в версии 3.9.
Deletes a translation.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
-
GET
/api/translations/
(string: project)/
(string: component)/
(string: language)/changes/
¶ Returns a list of translation changes.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
Response JSON Object: - results (array) – array of component objects; see
GET /api/changes/(int:pk)/
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
GET
/api/translations/
(string: project)/
(string: component)/
(string: language)/units/
¶ Returns a list of translation units.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
Response JSON Object: - results (array) – array of component objects; see
GET /api/units/(int:pk)/
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
GET
/api/translations/
(string: project)/
(string: component)/
(string: language)/file/
¶ Download current translation file as stored in VCS (without
format
parameter) or as converted to a standard format (currently supported: Gettext PO, MO, XLIFF and TBX).Примечание
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.Query Parameters: - format – File format to use; if not specified no format conversion happens; supported file formats:
po
,mo
,xliff
,xliff11
,tbx
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
- format – File format to use; if not specified no format conversion happens; supported file formats:
-
POST
/api/translations/
(string: project)/
(string: component)/
(string: language)/file/
¶ Upload new file with translations.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
Form Parameters: - boolean overwrite – Whether to overwrite existing translations (defaults to no)
- file file – Uploaded file
- string email – Author e-mail
- string author – Author name
- string method – Upload method (
translate
,approve
,suggest
,fuzzy
,replace
) - string fuzzy – Fuzzy strings processing (empty,
process
,approve
)
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
CURL example:
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/
.Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
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.Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
Request JSON Object: - operation (string) – Operation to perform: one of
push
,pull
,commit
,reset
,cleanup
Response JSON Object: - result (boolean) – result of the operation
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
-
GET
/api/translations/
(string: project)/
(string: component)/
(string: language)/statistics/
¶ Returns detailed translation statistics.
Добавлено в версии 2.7.
Parameters: - project (string) – Project URL slug
- component (string) – Component URL slug
- language (string) – Translation language code
Response JSON Object: - code (string) – language code
- failing (int) – number of failing checks
- failing_percent (float) – percentage of failing checks
- fuzzy (int) – number of strings needing review
- fuzzy_percent (float) – percentage of strings needing review
- 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) – language name
- total (int) – total number of strings
- translated (int) – number of translated strings
- translated_percent (float) – percentage of translated strings
- url (string) – URL to access the translation (engagement URL)
- url_translate (string) – URL to access the translation (real translation URL)
Units¶
Добавлено в версии 2.10.
-
GET
/api/units/
¶ Returns list of translation units.
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Unit object attributes are documented at
GET /api/units/(int:pk)/
.
-
GET
/api/units/
(int: pk)/
¶ Returns information about translation unit.
Parameters: - pk (int) – Unit ID
Response JSON Object: - translation (string) – URL of a related translation object
- source (string) – source string
- previous_source (string) – previous source string used for fuzzy matching
- target (string) – target string
- 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
- fuzzy (boolean) – whether unit is fuzzy or marked for review
- translated (boolean) – whether unit is translated
- position (int) – unit position in translation file
- has_suggestion (boolean) – whether unit has suggestions
- has_comment (boolean) – whether unit has comments
- has_failing_check (boolean) – whether unit has failing checks
- num_words (int) – number of source words
- priority (int) – translation priority; 100 is default
- id (int) – unit identifier
- web_url (string) – URL where unit can be edited
- souce_info (string) – Source string information link; see
GET /api/units/(int:pk)/
Changes¶
Добавлено в версии 2.10.
-
GET
/api/changes/
¶ Returns a list of translation changes.
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Change object attributes are documented at
GET /api/changes/(int:pk)/
.
-
GET
/api/changes/
(int: pk)/
¶ Returns information about translation change.
Parameters: - pk (int) – Change ID
Response JSON Object: - unit (string) – URL of a related unit object
- translation (string) – URL of a related translation object
- component (string) – URL of a related component object
- dictionary (string) – URL of a related dictionary object
- user (string) – URL of a related user object
- author (string) – URL of a related author object
- timestamp (timestamp) – event timestamp
- action (int) – numeric identification of action
- action_name (string) – text description of action
- target (string) – event changed text or detail
- id (int) – change identifier
Screenshots¶
Добавлено в версии 2.14.
-
GET
/api/screenshots/
¶ Returns a list of screenshot string information.
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
Sources object attributes are documented at
GET /api/screenshots/(int:pk)/
.
-
GET
/api/screenshots/
(int: pk)/
¶ Returns information about screenshot information.
Parameters: - pk (int) – Screenshot ID
Response JSON Object: - 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:pk)/file/
- units (array) – link to associated source string information; see
GET /api/units/(int:pk)/
-
GET
/api/screenshots/
(int: pk)/file/
¶ Download the screenshot image.
Parameters: - pk (int) – Screenshot ID
-
POST
/api/screenshots/
(int: pk)/file/
¶ Replace screenshot image.
Parameters: - pk (int) – Screenshot ID
Form Parameters: - file image – Uploaded file
См.также
Additional common headers, parameters and status codes are documented at Authentication and generic parameters.
CURL example:
curl -X POST \ -F image=@image.png \ -H "Authorization: Token TOKEN" \ http://example.com/api/screenshots/1/file/
Notification hooks¶
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)/
¶ Не рекомендуется, начиная с версии 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)/
¶ Не рекомендуется, начиная с версии 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.
Примечание
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.
См.также
- Automatically receiving changes from GitHub
- For instruction on setting up GitHub integration
- https://help.github.com/en/github/extending-github/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.
См.также
- Automatically receiving changes from GitLab
- For instruction on setting up GitLab integration
- https://docs.gitlab.com/ce/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.
См.также
- Automatically receiving changes from Bitbucket
- For instruction on setting up Bitbucket integration
- https://confluence.atlassian.com/bitbucket/manage-webhooks-735643732.html
- Generic information about Bitbucket Webhooks
ENABLE_HOOKS
- For enabling hooks for whole Weblate
-
POST
/hooks/pagure/
¶ Добавлено в версии 3.3.
Special hook for handling Pagure notifications and automatically updating matching components.
См.также
- 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/
¶ Добавлено в версии 3.8.
Special hook for handling Azure Repos notifications and automatically updating matching components.
См.также
- Automatically receiving changes from Azure Repos
- For instruction on setting up Azure integration
- https://docs.microsoft.com/azure/devops/service-hooks/services/webhooks
- Generic information about Azure Repos Web Hooks
ENABLE_HOOKS
- For enabling hooks for whole Weblate
-
POST
/hooks/gitea/
¶ Добавлено в версии 3.9.
Special hook for handling Gitea Webhook notifications and automatically updating matching components.
См.также
- 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/
¶ Добавлено в версии 3.9.
Special hook for handling Gitee Webhook notifications and automatically updating matching components.
См.также
- 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
Exports¶
Weblate provides various exports to allow you to further process the data.
-
GET
/exports/stats/
(string: project)/
(string: component)/
¶ Query Parameters: - format (string) – Output format: either
json
orcsv
Не рекомендуется, начиная с версии 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.
Example request:
GET /exports/stats/weblate/master/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript
Example response:
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 \u010ciha\u0159", "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/master/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/master/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/master/el/" }, ]
- format (string) – Output format: either
RSS feeds¶
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.
См.также