Translation components API.

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

GET /api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/units/?format=api&page=4
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 273,
    "next": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/units/?format=api&page=5",
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/units/?format=api&page=3",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "This allows us to create a much more flexible-and much more useful-version of our daytime program:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8027676031269890880,
            "content_hash": -8027676031269890880,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:968",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 242,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061045/?format=api",
            "priority": 100,
            "id": 1062166,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=1097f72e983d94c0",
            "url": "https://translate-dev.freebsd.org/api/units/1062166/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:02.927746Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "/*\n * daytime.c\n *\n * Programmed by G. Adam Stanislav\n * 19 June 2001\n */\n#include <stdio.h>\n#include <string.h>\n#include <sys/types.h>\n#include <sys/socket.h>\n#include <netinet/in.h>\n#include <netdb.h>\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5972448886261935827,
            "content_hash": 5972448886261935827,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:983",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 243,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 27,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061047/?format=api",
            "priority": 100,
            "id": 1062167,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=d2e2669e60d1eed3",
            "url": "https://translate-dev.freebsd.org/api/units/1062167/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:02.933389Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "int main(int argc, char *argv[]) {\n  register int s;\n  register int bytes;\n  struct sockaddr_in sa;\n  struct hostent *he;\n  char buf[BUFSIZ+1];\n  char *host;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5392639668098060796,
            "content_hash": -5392639668098060796,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:991",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 244,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 22,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061049/?format=api",
            "priority": 100,
            "id": 1062168,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=35297ecb1555ae04",
            "url": "https://translate-dev.freebsd.org/api/units/1062168/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:02.971778Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "  sa.sin_family = AF_INET;\n  sa.sin_port = htons(13);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5822814332665796417,
            "content_hash": 5822814332665796417,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1001",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 245,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 6,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061051/?format=api",
            "priority": 100,
            "id": 1062169,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=d0cecac8f3991741",
            "url": "https://translate-dev.freebsd.org/api/units/1062169/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:02.980974Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "  host = (argc > 1) ? (char *)argv[1] : \"time.nist.gov\";\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7601280788057193419,
            "content_hash": 7601280788057193419,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1003",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 246,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 10,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061053/?format=api",
            "priority": 100,
            "id": 1062170,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=e97d2c9a7a267bcb",
            "url": "https://translate-dev.freebsd.org/api/units/1062170/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:02.987847Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "  if ((he = gethostbyname(host)) == NULL) {\n    herror(host);\n    return 2;\n  }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8490165531573056112,
            "content_hash": -8490165531573056112,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1008",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 247,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061055/?format=api",
            "priority": 100,
            "id": 1062171,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=0a2cdf6e8e528d90",
            "url": "https://translate-dev.freebsd.org/api/units/1062171/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:02.993433Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "  bcopy(he->h_addr_list[0],&sa.sin_addr, he->h_length);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -178345511512681253,
            "content_hash": -178345511512681253,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1010",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 248,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061057/?format=api",
            "priority": 100,
            "id": 1062172,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=7d8663b3c30054db",
            "url": "https://translate-dev.freebsd.org/api/units/1062172/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:02.999049Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "  if (connect(s, (struct sockaddr *)&sa, sizeof sa) < 0) {\n    perror(\"connect\");\n    return 3;\n  }\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8685136176515527724,
            "content_hash": -8685136176515527724,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1015",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 249,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061059/?format=api",
            "priority": 100,
            "id": 1062173,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=077832a9cce5cbd4",
            "url": "https://translate-dev.freebsd.org/api/units/1062173/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.005192Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "  while ((bytes = read(s, buf, BUFSIZ)) > 0)\n    write(1, buf, bytes);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7634520121754585597,
            "content_hash": 7634520121754585597,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1018",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 250,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061061/?format=api",
            "priority": 100,
            "id": 1062174,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=e9f34399efc109fd",
            "url": "https://translate-dev.freebsd.org/api/units/1062174/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.010791Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "% daytime ; daytime localhost\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8913185026593551766,
            "content_hash": 8913185026593551766,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1036",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 253,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061067/?format=api",
            "priority": 100,
            "id": 1062177,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=fbb1fe8ebf707596",
            "url": "https://translate-dev.freebsd.org/api/units/1062177/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.025217Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "52080 01-06-20 04:02:33 50 0 0 390.2 UTC(NIST) *\n2001-06-20T04:02:35Z\n%\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9005621496069727971,
            "content_hash": 9005621496069727971,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1040",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 254,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061069/?format=api",
            "priority": 100,
            "id": 1062178,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=fcfa65096edba6e3",
            "url": "https://translate-dev.freebsd.org/api/units/1062178/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.031008Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "As you can see, my system was two seconds ahead of the NIST time."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3305580830197996949,
            "content_hash": -3305580830197996949,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1043",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 255,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061071/?format=api",
            "priority": 100,
            "id": 1062179,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=522037bfa7b5226b",
            "url": "https://translate-dev.freebsd.org/api/units/1062179/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.084634Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "`getservbyname`"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6484302820203528360,
            "content_hash": -6484302820203528360,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1045",
            "context": "",
            "note": "type: Title ===",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 256,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061073/?format=api",
            "priority": 100,
            "id": 1062180,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=260320f0b9b47f58",
            "url": "https://translate-dev.freebsd.org/api/units/1062180/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.091064Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "struct servent * getservbyname(const char *name, const char *proto);\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6610853170042392695,
            "content_hash": 6610853170042392695,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1053",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 258,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 9,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061077/?format=api",
            "priority": 100,
            "id": 1062182,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=dbbe77eeaea45077",
            "url": "https://translate-dev.freebsd.org/api/units/1062182/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.101912Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "The `servent` structure contains the `s_port`, which contains the proper port, already in _network byte order_."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8523165229335790620,
            "content_hash": 8523165229335790620,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1056",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 259,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061079/?format=api",
            "priority": 100,
            "id": 1062183,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=f6485d9e5085441c",
            "url": "https://translate-dev.freebsd.org/api/units/1062183/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.107813Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Had we not known the correct port for the _daytime_ service, we could have found it this way:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4396158330385736901,
            "content_hash": -4396158330385736901,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1058",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 260,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 18,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061081/?format=api",
            "priority": 100,
            "id": 1062184,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=42fdb54a54fbdb3b",
            "url": "https://translate-dev.freebsd.org/api/units/1062184/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.113525Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "struct servent *se;\n  ...\n  if ((se = getservbyname(\"daytime\", \"tcp\")) == NULL {\n    fprintf(stderr, \"Cannot determine which port to use.\\n\");\n    return 7;\n  }\n  sa.sin_port = se->s_port;\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -923558691088664879,
            "content_hash": -923558691088664879,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1068",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 261,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 25,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061083/?format=api",
            "priority": 100,
            "id": 1062185,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=732edc43806f76d1",
            "url": "https://translate-dev.freebsd.org/api/units/1062185/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.119401Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Concurrent Servers"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5959632264385244016,
            "content_hash": 5959632264385244016,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1077",
            "context": "",
            "note": "type: Title ==",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 263,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061087/?format=api",
            "priority": 100,
            "id": 1062187,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=d2b4ddf80ea3ab70",
            "url": "https://translate-dev.freebsd.org/api/units/1062187/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.131216Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "This requires a significant change in our flowchart:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 604097816668896364,
            "content_hash": 604097816668896364,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1083",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 265,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 8,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061091/?format=api",
            "priority": 100,
            "id": 1062189,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=88622fc37c237c6c",
            "url": "https://translate-dev.freebsd.org/api/units/1062189/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.144388Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Concurrent Server"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7203571388540590685,
            "content_hash": -7203571388540590685,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1084",
            "context": "",
            "note": "type: Block title",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 266,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061093/?format=api",
            "priority": 100,
            "id": 1062190,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=1c07c5fcffdee5a3",
            "url": "https://translate-dev.freebsd.org/api/units/1062190/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.169969Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "serv2.png"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4993135819869404556,
            "content_hash": 4993135819869404556,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1085",
            "context": "",
            "note": "type: Target for macro image",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 267,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1061095/?format=api",
            "priority": 100,
            "id": 1062191,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=c54b2e92ca983d8c",
            "url": "https://translate-dev.freebsd.org/api/units/1062191/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-05-23T12:42:03.179573Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "FreeBSD Sockets"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5310018183373140776,
            "content_hash": -5310018183373140776,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1",
            "context": "",
            "note": "type: YAML Front Matter: description",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 1,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1176096/?format=api",
            "priority": 100,
            "id": 1176102,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=364f06988d2dccd8",
            "url": "https://translate-dev.freebsd.org/api/units/1176102/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-03T20:59:56.769336Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "BSD sockets take interprocess communications to a new level.  It is no longer necessary for the communicating processes to run on the same machine.  They still _can_, but they do not have to."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1082130147293211943,
            "content_hash": 1082130147293211943,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:58",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 5,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 33,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188048/?format=api",
            "priority": 100,
            "id": 1188648,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=8f047fa2b6272d27",
            "url": "https://translate-dev.freebsd.org/api/units/1188648/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:04.648827Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Not only do these processes not have to run on the same machine, they do not have to run under the same operating system.  Thanks to BSD sockets, your FreeBSD software can smoothly cooperate with a program running on a Macintosh(R), another one running on a Sun(TM) workstation, yet another one running under Windows(R) 2000, all connected with an Ethernet-based local area network."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3912055097450264123,
            "content_hash": 3912055097450264123,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:61",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 6,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 63,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188050/?format=api",
            "priority": 100,
            "id": 1188649,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=b64a69625947763b",
            "url": "https://translate-dev.freebsd.org/api/units/1188649/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:04.754840Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "It can also cooperate with processes that are not part of a computer (at least not in the strict sense of the word), but of such devices as printers, digital cameras, medical equipment.  Just about anything capable of digital communications."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2923442406962114289,
            "content_hash": -2923442406962114289,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:66",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 8,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 40,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188052/?format=api",
            "priority": 100,
            "id": 1188650,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=576dd89eb3b5d10f",
            "url": "https://translate-dev.freebsd.org/api/units/1188650/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:04.850288Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "We have already hinted on the _diversity_ of networking.  Many different systems have to talk to each other.  And they have to speak the same language.  They also have to _understand_ the same language the same way."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7654930459592224409,
            "content_hash": 7654930459592224409,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:74",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 10,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 37,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188054/?format=api",
            "priority": 100,
            "id": 1188651,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=ea3bc6b2084fee99",
            "url": "https://translate-dev.freebsd.org/api/units/1188651/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:04.958173Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "People often think that _body language_ is universal.  But it is not.  Back in my early teens, my father took me to Bulgaria.  We were sitting at a table in a park in Sofia, when a vendor approached us trying to sell us some roasted almonds."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5651926424184761634,
            "content_hash": -5651926424184761634,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:79",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 11,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 46,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188056/?format=api",
            "priority": 100,
            "id": 1188652,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=319052dcc5d2d2de",
            "url": "https://translate-dev.freebsd.org/api/units/1188652/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:05.066561Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "I had not learned much Bulgarian by then, so, instead of saying no, I shook my head from side to side, the \"universal\" body language for _no_.  The vendor quickly started serving us some almonds."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3782172248988179461,
            "content_hash": -3782172248988179461,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:82",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 12,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 35,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188058/?format=api",
            "priority": 100,
            "id": 1188653,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=4b830660dbb823fb",
            "url": "https://translate-dev.freebsd.org/api/units/1188653/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:05.080004Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "I then remembered I had been told that in Bulgaria shaking your head sideways meant _yes_.  Quickly, I started nodding my head up and down.  The vendor noticed, took his almonds, and walked away.  To an uninformed observer, I did not change the body language: I continued using the language of shaking and nodding my head.  What changed was the _meaning_ of the body language.  At first, the vendor and I interpreted the same language as having completely different meaning.  I had to adjust my own interpretation of that language so the vendor would understand."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6196582848256719102,
            "content_hash": -6196582848256719102,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:90",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 13,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 95,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188060/?format=api",
            "priority": 100,
            "id": 1188654,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=2a0150bafc614702",
            "url": "https://translate-dev.freebsd.org/api/units/1188654/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:05.178890Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "It is the same with computers: The same symbols may have different, even outright opposite meaning.  Therefore, for two computers to understand each other, they must not only agree on the same _language_, but on the same _interpretation_ of the language."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7493681778071936771,
            "content_hash": 7493681778071936771,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:94",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 14,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 41,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188062/?format=api",
            "priority": 100,
            "id": 1188655,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=e7fee7dfb9cb9f03",
            "url": "https://translate-dev.freebsd.org/api/units/1188655/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:05.256888Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "While various programming languages tend to have complex syntax and use a number of multi-letter reserved words (which makes them easy for the human programmer to understand), the languages of data communications tend to be very terse.  Instead of multi-byte words, they often use individual _bits_.  There is a very convincing reason for it: While data travels _inside_ your computer at speeds approaching the speed of light, it often travels considerably slower between two computers."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2035162722946921870,
            "content_hash": -2035162722946921870,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:103",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 16,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 75,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188064/?format=api",
            "priority": 100,
            "id": 1188656,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=63c1a64946a1ca72",
            "url": "https://translate-dev.freebsd.org/api/units/1188656/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:05.349159Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "As data travels from one computer to another, it always uses more than one protocol.  These protocols are _layered_.  The data can be compared to the inside of an onion: You have to peel off several layers of \"skin\" to get to the data.  This is best illustrated with a picture:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7051689729869299145,
            "content_hash": 7051689729869299145,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:110",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 18,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 51,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188066/?format=api",
            "priority": 100,
            "id": 1188657,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=e1dca272a7213dc9",
            "url": "https://translate-dev.freebsd.org/api/units/1188657/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:05.391470Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "To inform our software how to handle the raw data, it is encoded as a PNG file.  It could be a GIF, or a JPEG, but it is a PNG."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6094825944860192461,
            "content_hash": 6094825944860192461,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:128",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 25,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188068/?format=api",
            "priority": 100,
            "id": 1188658,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=d4952be7b339eecd",
            "url": "https://translate-dev.freebsd.org/api/units/1188658/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:05.767358Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Well, of course it is a file format.  But from the perspective of data communications, a file format is a protocol: The file structure is a _language_, a terse one at that, communicating to our _process_ how the data is organized.  Ergo, it is a _protocol_."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -51261776862895574,
            "content_hash": -51261776862895574,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:137",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 28,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 46,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188070/?format=api",
            "priority": 100,
            "id": 1188659,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=7f49e1af7f88222a",
            "url": "https://translate-dev.freebsd.org/api/units/1188659/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:05.963633Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "To obtain that information, we are using another protocol: HTTP.  This protocol can tell us exactly that the data represents an image, and that it uses the PNG protocol.  It can also tell us some other things, but let us stay focused on protocol layers here."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4367983099728969990,
            "content_hash": 4367983099728969990,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:144",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 30,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 46,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188072/?format=api",
            "priority": 100,
            "id": 1188660,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=bc9e317c94414106",
            "url": "https://translate-dev.freebsd.org/api/units/1188660/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.064754Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "So, now we have some data wrapped in the PNG protocol, wrapped in the HTTP protocol.  How did we get it from the server?"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5007945961891671780,
            "content_hash": 5007945961891671780,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:147",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 31,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188074/?format=api",
            "priority": 100,
            "id": 1188661,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=c57fcc51b0e7aee4",
            "url": "https://translate-dev.freebsd.org/api/units/1188661/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.073596Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "By using TCP/IP over Ethernet, that is how.  Indeed, that is three more protocols.  Instead of continuing inside out, I am now going to talk about Ethernet, simply because it is easier to explain the rest that way."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -750202564938419117,
            "content_hash": -750202564938419117,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:151",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 32,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 38,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188076/?format=api",
            "priority": 100,
            "id": 1188662,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=7596bebdef423453",
            "url": "https://translate-dev.freebsd.org/api/units/1188662/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.155667Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Ethernet is an interesting system of connecting computers in a _local area network_ (LAN).  Each computer has a _network interface card_ (NIC), which has a unique 48-bit ID called its _address_.  No two Ethernet NICs in the world have the same address."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5142255960101497600,
            "content_hash": 5142255960101497600,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:155",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 33,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 42,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188078/?format=api",
            "priority": 100,
            "id": 1188663,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=c75cf68d05fc2b00",
            "url": "https://translate-dev.freebsd.org/api/units/1188663/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.162953Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "These NICs are all connected with each other.  Whenever one computer wants to communicate with another in the same Ethernet LAN, it sends a message over the network.  Every NIC sees the message.  But as part of the Ethernet _protocol_, the data contains the address of the destination NIC (among other things).  So, only one of all the network interface cards will pay attention to it, the rest will ignore it."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3682903036919764799,
            "content_hash": -3682903036919764799,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:161",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 34,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 71,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188080/?format=api",
            "priority": 100,
            "id": 1188664,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=4ce3b3336630a8c1",
            "url": "https://translate-dev.freebsd.org/api/units/1188664/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.250343Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "But not all computers are connected to the same network.  Just because we have received the data over our Ethernet does not mean it originated in our own local area network.  It could have come to us from some other network (which may not even be Ethernet based) connected with our own network via the Internet."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2737291690943085767,
            "content_hash": -2737291690943085767,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:165",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 35,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 56,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188082/?format=api",
            "priority": 100,
            "id": 1188665,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=5a032fb5bab58339",
            "url": "https://translate-dev.freebsd.org/api/units/1188665/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.264466Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "All data is transferred over the Internet using IP, which stands for _Internet Protocol_.  Its basic role is to let us know where in the world the data has arrived from, and where it is supposed to go to.  It does not _guarantee_ we will receive the data, only that we will know where it came from _if_ we do receive it."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5277113624474982884,
            "content_hash": 5277113624474982884,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:169",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 36,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 62,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188084/?format=api",
            "priority": 100,
            "id": 1188666,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=c93c12e1d23499e4",
            "url": "https://translate-dev.freebsd.org/api/units/1188666/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.352778Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Even if we do receive the data, IP does not guarantee we will receive various chunks of data in the same order the other computer has sent it to us.  So, we can receive the center of our image before we receive the upper left corner and after the lower right, for example."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 237533784198509146,
            "content_hash": 237533784198509146,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:172",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 37,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 53,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188086/?format=api",
            "priority": 100,
            "id": 1188667,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=834be3b7dd4e725a",
            "url": "https://translate-dev.freebsd.org/api/units/1188667/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.362421Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "All in all, it took _five_ different protocols for one computer to communicate to another what an image looks like.  We received the data wrapped into the PNG protocol, which was wrapped into the HTTP protocol, which was wrapped into the TCP protocol, which was wrapped into the IP protocol, which was wrapped into the Ethernet protocol."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3565818754686016399,
            "content_hash": -3565818754686016399,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:177",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 39,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 57,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188088/?format=api",
            "priority": 100,
            "id": 1188668,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=4e83aabc3183a471",
            "url": "https://translate-dev.freebsd.org/api/units/1188668/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.456569Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Oh, and by the way, there probably were several other protocols involved somewhere on the way.  For example, if our LAN was connected to the Internet through a dial-up call, it used the PPP protocol over the modem which used one (or several) of the various modem protocols, et cetera, et cetera, et cetera..."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6841511136267735297,
            "content_hash": 6841511136267735297,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:181",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 40,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 54,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188090/?format=api",
            "priority": 100,
            "id": 1188669,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=def1ee216c1e1101",
            "url": "https://translate-dev.freebsd.org/api/units/1188669/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.463274Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Luckily for you, you are _not_ supposed to handle it all.  You _are_ supposed to handle some of it, but not all of it.  Specifically, you need not worry about the physical connection (in our case Ethernet and possibly PPP, etc).  Nor do you need to handle the Internet Protocol, or the Transmission Control Protocol."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5357470799103661801,
            "content_hash": 5357470799103661801,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:188",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 42,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 55,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188092/?format=api",
            "priority": 100,
            "id": 1188670,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=ca598f4e831a16e9",
            "url": "https://translate-dev.freebsd.org/api/units/1188670/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.558586Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "In other words, you do not have to do anything to receive the data from the other computer.  Well, you do have to _ask_ for it, but that is almost as simple as opening a file."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -9152763249806575057,
            "content_hash": -9152763249806575057,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:191",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 43,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 36,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188094/?format=api",
            "priority": 100,
            "id": 1188671,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=00fada5156077a2f",
            "url": "https://translate-dev.freebsd.org/api/units/1188671/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.565780Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Once you have received the data, it is up to you to figure out what to do with it.  In our case, you would need to understand the HTTP protocol and the PNG file structure."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3568709653424272549,
            "content_hash": 3568709653424272549,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:194",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 44,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 35,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188096/?format=api",
            "priority": 100,
            "id": 1188672,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=b1869a859edc74a5",
            "url": "https://translate-dev.freebsd.org/api/units/1188672/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.653484Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "To use an analogy, all the internetworking protocols become a gray area: Not so much because we do not understand how it works, but because we are no longer concerned about it.  The sockets interface takes care of this gray area for us:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7809221939506689537,
            "content_hash": 7809221939506689537,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:198",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 45,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 43,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188098/?format=api",
            "priority": 100,
            "id": 1188673,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=ec5fedfa9c7bb601",
            "url": "https://translate-dev.freebsd.org/api/units/1188673/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.662415Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "BSD sockets are built on the basic UNIX(R) model: _Everything is a file._ In our example, then, sockets would let us receive an _HTTP file_, so to speak.  It would then be up to us to extract the _PNG file_ from it."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7017363328159358609,
            "content_hash": 7017363328159358609,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:210",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 50,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 42,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188100/?format=api",
            "priority": 100,
            "id": 1188674,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=e162aec472ca9e91",
            "url": "https://translate-dev.freebsd.org/api/units/1188674/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:06.949704Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nb_NO/?format=api",
            "source": [
                "Due to the complexity of internetworking, we cannot just use the `open` system call, or the `open()` C function.  Instead, we need to take several steps to \"opening\" a socket."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -415233270961801257,
            "content_hash": -415233270961801257,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:213",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 51,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188102/?format=api",
            "priority": 100,
            "id": 1188675,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nb_NO/?checksum=7a3ccb8a4165f7d7",
            "url": "https://translate-dev.freebsd.org/api/units/1188675/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:07.051229Z"
        }
    ]
}