Translation components API.

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

GET /api/components/documentation/booksdevelopers-handbookx86_index/changes/?format=api&page=189
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 9447,
    "next": null,
    "previous": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/changes/?format=api&page=188",
    "results": [
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1603597/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:26:48.196333Z",
            "action": 5,
            "target": "Três assemblers muito diferentes estão disponíveis para o FreeBSD. Tanto man:llvm-as[1] (included in package:devel/llvm[]) and man:as[1] (included in package:devel/binutils[]) usam a sintaxe tradicional da linguagem assembly UNIX(R).",
            "id": 951064,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951064/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1603598/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:27:14.499636Z",
            "action": 5,
            "target": "Por outro lado, man:nasm[1]  (installed through package:devel/nasm[]) uses the Intel syntax. Sua principal vantagem é que ele pode compilar código para muitos sistemas operacionais.",
            "id": 951065,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951065/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197213/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:27:27.063133Z",
            "action": 5,
            "target": "Este capítulo utiliza a sintaxe do NASM porque a maioria dos programadores de linguagem assembly que migram para o FreeBSD a acharão mais fácil de entender. E, francamente, porque é com ela que estou acostumado.",
            "id": 951066,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951066/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084180/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:27:48.424129Z",
            "action": 5,
            "target": "O vinculador",
            "id": 951067,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951067/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084181/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:27:57.366033Z",
            "action": 5,
            "target": "O código gerado pelo montador, assim como o de qualquer compilador, precisa ser vinculado para formar um arquivo executável.",
            "id": 951068,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951068/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197214/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:28:11.218177Z",
            "action": 5,
            "target": "O linker padrão man:ld[1] vem com o FreeBSD. Ele funciona com o código montado com qualquer um dos assemblers.",
            "id": 951069,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951069/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084184/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:28:27.671781Z",
            "action": 5,
            "target": "Convenção de chamada padrão",
            "id": 951070,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951070/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197215/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:29:32.698858Z",
            "action": 5,
            "target": "Por padrão, o kernel do FreeBSD usa a convenção de chamada C. Além disso, embora o kernel seja acessado usando `int 80h`, presume-se que o programa chamará uma função que retorna `int 80h`, em vez de retornar `int 80h` diretamente.",
            "id": 951071,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951071/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197216/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:29:55.697927Z",
            "action": 5,
            "target": "Essa convenção é muito conveniente e bastante superior à convenção Microsoft(R) usada pelo MS-DOS(R). Por quê? Porque a convenção UNIX(R) permite que qualquer programa escrito em qualquer linguagem acesse o kernel.",
            "id": 951072,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951072/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197217/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:30:10.595352Z",
            "action": 5,
            "target": "Um programa em linguagem assembly também pode fazer isso. Por exemplo, poderíamos abrir um arquivo:",
            "id": 951073,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951073/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084188/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:30:25.452735Z",
            "action": 5,
            "target": "kernel:\n\tint\t80h\t; Chama o kernel\n\tret\n",
            "id": 951074,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951074/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084189/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:30:50.171630Z",
            "action": 5,
            "target": "open:\n\tpush\tdword mode\n\tpush\tdword flags\n\tpush\tdword path\n\tmov\teax, 5\n\tcall\tkernel\n\tadd\tesp, byte 12\n\tret\n",
            "id": 951075,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951075/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197218/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:31:09.734795Z",
            "action": 5,
            "target": "Esta é uma forma muito limpa e portátil de codificar. Se você precisar portar o código para um sistema UNIX(R) que usa uma interrupção diferente ou uma forma diferente de passar parâmetros, tudo o que você precisa alterar é o procedimento do kernel.",
            "id": 951076,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951076/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197219/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:31:29.028705Z",
            "action": 5,
            "target": "Mas os programadores de linguagem assembly gostam de economizar ciclos. O exemplo acima requer uma combinação de `call/ret`. Podemos eliminá-la adicionando um dword extra:",
            "id": 951077,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951077/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084192/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:31:50.201837Z",
            "action": 5,
            "target": "open:\n\tpush\tdword mode\n\tpush\tdword flags\n\tpush\tdword path\n\tmov\teax, 5\n\tpush\teax\t\t;Ou qualquer outro dword\n\tint\t80h\n\tadd\tesp, byte 16\n",
            "id": 951078,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951078/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084193/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:32:00.911896Z",
            "action": 5,
            "target": "O `5` que colocamos em `EAX` identifica a função do kernel, neste caso `open`.",
            "id": 951079,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951079/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084194/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:32:11.100821Z",
            "action": 5,
            "target": "Convenção de Chamada Alternativa",
            "id": 951080,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951080/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197220/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:32:29.161698Z",
            "action": 5,
            "target": "O FreeBSD é um sistema extremamente flexível. Ele oferece outras maneiras de acessar o kernel. Para que isso funcione, no entanto, o sistema precisa ter a emulação de Linux instalada.",
            "id": 951081,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951081/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197221/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:32:47.615451Z",
            "action": 5,
            "target": "O Linux é um sistema semelhante ao UNIX(R). No entanto, seu kernel usa a mesma convenção de chamada de sistema de passagem de parâmetros em registradores que o MS-DOS(R). Assim como na convenção UNIX(R), o número da função é colocado em `EAX`. Os parâmetros, porém, não são passados na pilha, mas em `EBX, ECX, EDX, ESI, EDI, EBP`.",
            "id": 951082,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951082/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197221/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:33:00.891823Z",
            "action": 2,
            "target": "O Linux é um sistema semelhante ao UNIX(R). No entanto, seu kernel usa a mesma convenção de chamada de sistema de passagem de parâmetros em registradores que o MS-DOS(R). Assim como na convenção UNIX(R), o número da função é colocado em `EAX`. Os parâmetros, porém, não são passados na pilha, mas em `EBX, ECX, EDX, ESI, EDI, EBP`:",
            "id": 951083,
            "action_name": "修改了译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951083/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084197/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:33:08.119743Z",
            "action": 5,
            "target": "open:\n\tmov\teax, 5\n\tmov\tebx, path\n\tmov\tecx, flags\n\tmov\tedx, mode\n\tint\t80h\n",
            "id": 951084,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951084/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197222/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:33:47.768173Z",
            "action": 5,
            "target": "Essa convenção tem uma grande desvantagem em relação ao método UNIX(R), pelo menos no que diz respeito à programação em linguagem assembly: a cada chamada ao kernel, é necessário \"empurrar\" os registradores e, posteriormente, \"desempurrá-los\". Isso torna o código mais extenso e lento. Mesmo assim, o FreeBSD oferece uma alternativa.",
            "id": 951085,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951085/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197223/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:33:56.820272Z",
            "action": 5,
            "target": "Se você optar pela convenção Linux, deverá informar o sistema sobre isso. Após a compilação e a vinculação do seu programa, você precisa personalizar o executável:",
            "id": 951086,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951086/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084200/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:34:23.594418Z",
            "action": 5,
            "target": "% brandelf -t nome do arquivo Linux\n",
            "id": 951087,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951087/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084201/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:34:32.666327Z",
            "action": 5,
            "target": "Qual convenção você deve usar?",
            "id": 951088,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951088/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084202/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:34:46.564161Z",
            "action": 5,
            "target": "Se você estiver programando especificamente para FreeBSD, deve sempre usar a convenção UNIX(R): é mais rápida, permite armazenar variáveis globais em registradores, não precisa personalizar o executável e não impõe a instalação do pacote de emulação Linux no sistema de destino.",
            "id": 951089,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951089/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197224/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:35:02.652938Z",
            "action": 5,
            "target": "Se você deseja criar um código portátil que também possa ser executado no Linux, provavelmente ainda vai querer fornecer aos usuários do FreeBSD um código o mais eficiente possível. Mostrarei como você pode fazer isso depois de explicar os conceitos básicos.",
            "id": 951090,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951090/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084204/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:35:22.648396Z",
            "action": 5,
            "target": "Números de chamada",
            "id": 951091,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951091/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197225/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:35:40.034441Z",
            "action": 5,
            "target": "Para informar ao kernel qual serviço do sistema você está chamando, coloque o número dele em `EAX`. Obviamente, você precisa saber qual é o número.",
            "id": 951092,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951092/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084206/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:35:59.084903Z",
            "action": 5,
            "target": "O arquivo [.filename]#syscalls#",
            "id": 951093,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951093/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197226/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:36:18.727208Z",
            "action": 5,
            "target": "Os números estão listados em [.filename]#syscalls#. `locate syscalls` encontra este arquivo em vários formatos diferentes, todos produzidos automaticamente a partir de [.filename]#syscalls.master#.",
            "id": 951094,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951094/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1197227/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:36:30.876751Z",
            "action": 5,
            "target": "Você pode encontrar o arquivo mestre para a convenção de chamada UNIX(R) padrão em [.filename]#/usr/src/sys/kern/syscalls.master#. Se você precisar usar a outra convenção implementada no modo de emulação Linux, leia [.filename]#/usr/src/sys/i386/linux/syscalls.master#.",
            "id": 951095,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951095/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084209/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:36:45.473794Z",
            "action": 5,
            "target": "O FreeBSD e o Linux não apenas usam convenções de chamada diferentes, como às vezes usam números diferentes para as mesmas funções.",
            "id": 951096,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951096/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084210/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:36:57.080512Z",
            "action": 5,
            "target": "[.filename]#syscalls.master# descreve como a chamada deve ser feita:",
            "id": 951097,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951097/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084211/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:37:05.660320Z",
            "action": 5,
            "target": "0\tSTD\tNOHIDE\t{ int nosys(void); } syscall nosys_args int\n1\tSTD\tNOHIDE\t{ void exit(int rval); } exit rexit_args void\n2\tSTD\tPOSIX\t{ int fork(void); }\n3\tSTD\tPOSIX\t{ ssize_t read(int fd, void *buf, size_t nbyte); }\n4\tSTD\tPOSIX\t{ ssize_t write(int fd, const void *buf, size_t nbyte); }\n5\tSTD\tPOSIX\t{ int open(char *path, int flags, int mode); }\n6\tSTD\tPOSIX\t{ int close(int fd); }\netc...\n",
            "id": 951098,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951098/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1084212/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "author": "https://translate-dev.freebsd.org/api/users/_int2eh/?format=api",
            "timestamp": "2026-04-27T23:37:29.929615Z",
            "action": 5,
            "target": "É a coluna mais à esquerda que nos indica o número a ser inserido em `EAX`.",
            "id": 951099,
            "action_name": "新译文",
            "url": "https://translate-dev.freebsd.org/api/changes/951099/?format=api"
        },
        {
            "unit": null,
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/pt_BR/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2026-04-28T04:45:00.373626Z",
            "action": 17,
            "target": "",
            "id": 951100,
            "action_name": "提交了更改",
            "url": "https://translate-dev.freebsd.org/api/changes/951100/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1802033/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T09:14:18.250112Z",
            "action": 27,
            "target": "Код приведён ниже. Я разместил комментарии и пояснения прямо в коде:",
            "id": 955757,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955757/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1802058/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T09:16:27.723700Z",
            "action": 27,
            "target": "Затем вам нужно использовать браузер для просмотра вывода. Чтобы увидеть вывод на моем веб-сервере, перейдите по ссылке http://www.int80h.org/webvars/[http://www.int80h.org/webvars/]. Если вам интересно узнать о дополнительных переменных окружения в защищённом паролем веб-каталоге, перейдите по адресу http://www.int80h.org/private/[http://www.int80h.org/private/], используя имя `asm` и пароль `programmer`.",
            "id": 955770,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955770/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1802061/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T10:20:13.288383Z",
            "action": 27,
            "target": "В самом деле, начнём с конца, то есть с утилиты преобразования файлов. Всегда легче программировать, когда с самого начала известно, каким должен быть конечный продукт.",
            "id": 955801,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955801/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1802399/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T10:20:13.301406Z",
            "action": 27,
            "target": "Мы начнём каждую строку вывода с фокусного расстояния.  Это может показаться избыточным сначала, особенно в интерактивном режиме: пользователь вводит фокусное расстояние, а мы его повторяем.",
            "id": 955802,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955802/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1802417/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T10:20:13.313676Z",
            "action": 27,
            "target": "Для этого мы просто проигнорируем все ведущие нули. Как только мы найдем ненулевую цифру, мы инициализируем счетчик значением `0` и начнём выполнять три шага:",
            "id": 955803,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955803/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1802282/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T10:24:27.433193Z",
            "action": 27,
            "target": "Редактор изображений будет читать из другого канала, подключённого к `fd.out` нашего фильтра, чтобы он мог установить первую строку выходного изображения _до_ того, как отправит нам вторую строку входного.",
            "id": 955857,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955857/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1801983/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T10:44:10.354714Z",
            "action": 27,
            "target": "Вот наш изменённый исходный код:",
            "id": 955904,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955904/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1802204/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T10:57:22.824309Z",
            "action": 27,
            "target": "Первая строка файла содержит список различных полей, разделённых запятыми. Остальная часть файла содержит данные, перечисленные построчно, со значениями, разделёнными запятыми.",
            "id": 955952,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955952/?format=api"
        },
        {
            "unit": "https://translate-dev.freebsd.org/api/units/1802336/?format=api",
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_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": "2026-05-17T10:57:22.837681Z",
            "action": 27,
            "target": "Другими словами, число f равно фокусному расстоянию, делённому на диаметр отверстия. Это также означает, что большее f-число подразумевает либо меньшее отверстие, либо большее фокусное расстояние, либо и то, и другое. В свою очередь, это означает, что чем больше число f, тем дольше должна быть выдержка.",
            "id": 955953,
            "action_name": "搜索并替换",
            "url": "https://translate-dev.freebsd.org/api/changes/955953/?format=api"
        },
        {
            "unit": null,
            "component": "https://translate-dev.freebsd.org/api/components/documentation/booksdevelopers-handbookx86_index/?format=api",
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbookx86_index/ru/?format=api",
            "user": null,
            "author": null,
            "timestamp": "2026-05-18T04:45:04.328772Z",
            "action": 17,
            "target": "",
            "id": 956016,
            "action_name": "提交了更改",
            "url": "https://translate-dev.freebsd.org/api/changes/956016/?format=api"
        }
    ]
}