Changes API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/changes/852312/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "unit": "https://translate-dev.freebsd.org/api/units/1811483/?format=api",
    "component": "https://translate-dev.freebsd.org/api/components/documentation/articlesvm-design_index/?format=api",
    "translation": "https://translate-dev.freebsd.org/api/translations/documentation/articlesvm-design_index/ru/?format=api",
    "user": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
    "author": "https://translate-dev.freebsd.org/api/users/v.popolitov/?format=api",
    "timestamp": "2025-07-04T17:55:26.814508Z",
    "action": 9,
    "target": "В этом случае, допустим, что страница в B была изменена начальным родительским процессом. В процессе возникнет ситуация копирования при записи и страница скопируется в C1, при этом исходная страница останется в B нетронутой. Теперь допустим, что та же самая страница в B изменяется порожденным процессом. В процессе возникнет ситуация копирования при записи и страница скопируется в C2. Исходная страница в B теперь полностью скрыта, так как и C1, и C2 имеют копии, а B теоретически может быть уничтожена, если она не представляет собой \"реального\" файла). Однако такую оптимизацию не так уж просто осуществить, потому что она делается на уровне мелких единиц. Во FreeBSD такая оптимизация не выполняется. Теперь положим (а это часто случается), что порожденный процесс выполняет вызов `exec()`. Его текущее адресное пространство обычно заменяется новым адресным пространством, представляющим новый файл. В этом случае уровень C2 уничтожается:",
    "id": 852312,
    "action_name": "Translation uploaded",
    "url": "https://translate-dev.freebsd.org/api/changes/852312/?format=api"
}