Translation components API.

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

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

{
    "count": 273,
    "next": null,
    "previous": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/units/?format=api&page=5",
    "results": [
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Just about everything in the flow chart can be used literally on many different servers.  The _serve_ entry is the exception.  We think of it as a _\"black box\"_, i.e., something you design specifically for your own server, and just \"plug it into the rest.\""
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8230656755054053167,
            "content_hash": 8230656755054053167,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:846",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 213,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 45,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188204/?format=api",
            "priority": 100,
            "id": 1188826,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=f2392ab5f92a872f",
            "url": "https://translate-dev.freebsd.org/api/units/1188826/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:21.559285Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Not all protocols are that simple.  Many receive a request from the client, reply to it, then receive another request from the same client.  As a result, they do not know in advance how long they will be serving the client.  Such servers usually start a new process for each client.  While the new process is serving its client, the daemon can continue listening for more connections."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 389247071798560789,
            "content_hash": 389247071798560789,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:852",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 214,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 67,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188206/?format=api",
            "priority": 100,
            "id": 1188827,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=8566e226446a0815",
            "url": "https://translate-dev.freebsd.org/api/units/1188827/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:21.566786Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Now, go ahead, save the above source code as [.filename]#daytimed.c# (it is customary to end the names of daemons with the letter `d`).  After you have compiled it, try running it:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3399062956291550058,
            "content_hash": 3399062956291550058,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:855",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 215,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 31,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188208/?format=api",
            "priority": 100,
            "id": 1188828,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=af2be5bfeef26b6a",
            "url": "https://translate-dev.freebsd.org/api/units/1188828/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:21.573840Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "What happened here? As you will recall, the _daytime_ protocol uses port 13.  But all ports below 1024 are reserved to the superuser (otherwise, anyone could start a daemon pretending to serve a commonly used port, while causing a security breach)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2691829102315568370,
            "content_hash": -2691829102315568370,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:865",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 217,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 41,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188210/?format=api",
            "priority": 100,
            "id": 1188829,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=5aa4b3b1806c030e",
            "url": "https://translate-dev.freebsd.org/api/units/1188829/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:21.665809Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Every port can only be bound by one program at a time.  Our first attempt was indeed successful: It started the child daemon and returned quietly.  It is still running and will continue to run until you either kill it, or any of its system calls fail, or you reboot the system."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6363660968055073130,
            "content_hash": 6363660968055073130,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:887",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 223,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 52,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188212/?format=api",
            "priority": 100,
            "id": 1188830,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=d85043ef2ff0e96a",
            "url": "https://translate-dev.freebsd.org/api/units/1188830/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:21.849795Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Fine, we know it is running in the background.  But is it working? How do we know it is a proper _daytime_ server? Simple:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -432326447097048676,
            "content_hash": -432326447097048676,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:890",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 224,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 24,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188214/?format=api",
            "priority": 100,
            "id": 1188831,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=7a0011630dc6119c",
            "url": "https://translate-dev.freebsd.org/api/units/1188831/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:21.869637Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "telnet tried the new IPv6, and failed.  It retried with IPv4 and succeeded.  The daemon works."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4155358618449497286,
            "content_hash": -4155358618449497286,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:908",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 227,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188216/?format=api",
            "priority": 100,
            "id": 1188832,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=4655335a40f5b33a",
            "url": "https://translate-dev.freebsd.org/api/units/1188832/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:21.961286Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "If you have access to another UNIX(R) system via telnet, you can use it to test accessing the server remotely.  My computer does not have a static IP address, so this is what I did:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7622401308117258446,
            "content_hash": -7622401308117258446,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:911",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 228,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 35,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188218/?format=api",
            "priority": 100,
            "id": 1188833,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=1637ca653e32af32",
            "url": "https://translate-dev.freebsd.org/api/units/1188833/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:21.973344Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "By the way, telnet prints the _Connection closed by foreign host_ message after our daemon has closed the socket.  This shows us that, indeed, using `fclose(client);` in our code works as advertised."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8605626549778967735,
            "content_hash": -8605626549778967735,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:944",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 235,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 32,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188220/?format=api",
            "priority": 100,
            "id": 1188834,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=0892ac3f5ec11349",
            "url": "https://translate-dev.freebsd.org/api/units/1188834/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.157926Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "FreeBSD C library contains many helper functions for sockets programming.  For example, in our sample client we hard coded the `time.nist.gov` IP address.  But we do not always know the IP address.  Even if we do, our software is more flexible if it allows the user to enter the IP address, or even the domain name."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6513202322541265307,
            "content_hash": -6513202322541265307,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:952",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 237,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 56,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188222/?format=api",
            "priority": 100,
            "id": 1188835,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=259c74fefeadbe65",
            "url": "https://translate-dev.freebsd.org/api/units/1188835/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.249447Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Both return a pointer to the `hostent` structure, with much information about the domain.  For our purposes, the `h_addr_list[0]` field of the structure points at `h_length` bytes of the correct address, already stored in the _network byte order_."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3177267202491816285,
            "content_hash": 3177267202491816285,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:966",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 241,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 38,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188224/?format=api",
            "priority": 100,
            "id": 1188836,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=ac17ebafd106195d",
            "url": "https://translate-dev.freebsd.org/api/units/1188836/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.271662Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "We now can type a domain name (or an IP address, it works both ways) on the command line, and the program will try to connect to its _daytime_ server.  Otherwise, it will still default to `time.nist.gov`.  However, even in this case we will use `gethostbyname` rather than hard coding `192.43.244.18`.  That way, even if its IP address changes in the future, we will still find it."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1466644619144022724,
            "content_hash": -1466644619144022724,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1028",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 251,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 67,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188226/?format=api",
            "priority": 100,
            "id": 1188837,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=6ba56e7d502eb53c",
            "url": "https://translate-dev.freebsd.org/api/units/1188837/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.477753Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Since it takes virtually no time to get the time from your local server, you could run daytime twice in a row: First to get the time from `time.nist.gov`, the second time from your own system.  You can then compare the results and see how exact your system clock is:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3432468286269853014,
            "content_hash": 3432468286269853014,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1032",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 252,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 50,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188228/?format=api",
            "priority": 100,
            "id": 1188838,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=afa293b869e88d56",
            "url": "https://translate-dev.freebsd.org/api/units/1188838/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.560385Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Sometimes you may not be sure what port a certain service uses.  The man:getservbyname[3] function, also declared in [.filename]#netdb.h# comes in very handy in those cases:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6797182863007974079,
            "content_hash": 6797182863007974079,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1049",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 257,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 26,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188230/?format=api",
            "priority": 100,
            "id": 1188839,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=de5471cd06f682bf",
            "url": "https://translate-dev.freebsd.org/api/units/1188839/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.661960Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "You usually do know the port.  But if you are developing a new protocol, you may be testing it on an unofficial port.  Some day, you will register the protocol and its port (if nowhere else, at least in your [.filename]#/etc/services#, which is where `getservbyname` looks).  Instead of returning an error in the above code, you just use the temporary port number.  Once you have listed the protocol in [.filename]#/etc/services#, your software will find its port without you having to rewrite the code."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 5289958327502988063,
            "content_hash": 5289958327502988063,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1075",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 262,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 83,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188232/?format=api",
            "priority": 100,
            "id": 1188840,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=c969b5124b6f631f",
            "url": "https://translate-dev.freebsd.org/api/units/1188840/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.762658Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Unlike a sequential server, a _concurrent server_ has to be able to serve more than one client at a time.  For example, a _chat server_ may be serving a specific client for hours-it cannot wait till it stops serving a client before it serves the next one."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3084741537865344114,
            "content_hash": -3084741537865344114,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1081",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 264,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 47,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188234/?format=api",
            "priority": 100,
            "id": 1188841,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=5530cbea3ba4db8e",
            "url": "https://translate-dev.freebsd.org/api/units/1188841/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.850738Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "We moved the _serve_ from the _daemon process_ to its own _server process_.  However, because each child process inherits all open files (and a socket is treated just like a file), the new process inherits not only the _\"accepted handle,\"_ i.e., the socket returned by the `accept` call, but also the _top socket_, i.e., the one opened by the top process right at the beginning."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8677042204346995568,
            "content_hash": 8677042204346995568,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1089",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 268,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 65,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188236/?format=api",
            "priority": 100,
            "id": 1188842,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=f86b0be9732cd370",
            "url": "https://translate-dev.freebsd.org/api/units/1188842/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.956369Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "However, the _server process_ does not need this socket and should `close` it immediately.  Similarly, the _daemon process_ no longer needs the _accepted socket_, and not only should, but _must_ `close` it-otherwise, it will run out of available _file descriptors_ sooner or later."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6339570623147886817,
            "content_hash": -6339570623147886817,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1092",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 269,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 43,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188238/?format=api",
            "priority": 100,
            "id": 1188843,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=2805521b52c4b71f",
            "url": "https://translate-dev.freebsd.org/api/units/1188843/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:22.976018Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "After the _server process_ is done serving, it should close the _accepted socket_.  Instead of returning to `accept`, it now exits."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -9011456526131163085,
            "content_hash": -9011456526131163085,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1095",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 270,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 21,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188240/?format=api",
            "priority": 100,
            "id": 1188844,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=02f0e008c3139033",
            "url": "https://translate-dev.freebsd.org/api/units/1188844/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:23.054797Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "Under UNIX(R), a process does not really _exit_.  Instead, it _returns_ to its parent.  Typically, a parent process ``wait``s for its child process, and obtains a return value.  However, our _daemon process_ cannot simply stop and wait.  That would defeat the whole purpose of creating additional processes.  But if it never does `wait`, its children will become _zombies_-no longer functional but still roaming around."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3567852706765599655,
            "content_hash": 3567852706765599655,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1102",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 271,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 64,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188242/?format=api",
            "priority": 100,
            "id": 1188845,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=b1838f222dadf3a7",
            "url": "https://translate-dev.freebsd.org/api/units/1188845/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:23.065777Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "For that reason, the _daemon process_ needs to set _signal handlers_ in its _initialize daemon_ phase.  At least a SIGCHLD signal has to be processed, so the daemon can remove the zombie return values from the system and release the system resources they are taking up."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4754368884456118446,
            "content_hash": 4754368884456118446,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1105",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 272,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 46,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188244/?format=api",
            "priority": 100,
            "id": 1188846,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=c1fae94f892d58ae",
            "url": "https://translate-dev.freebsd.org/api/units/1188846/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:23.076354Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "That is why our flowchart now contains a _process signals_ box, which is not connected to any other box.  By the way, many servers also process SIGHUP, and typically interpret as the signal from the superuser that they should reread their configuration files.  This allows us to change settings without having to kill and restart these servers."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -990475749433093825,
            "content_hash": -990475749433093825,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:1108",
            "context": "",
            "note": "type: Plain text",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 273,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 57,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1188246/?format=api",
            "priority": 100,
            "id": 1188847,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=72411f8dbc66d13f",
            "url": "https://translate-dev.freebsd.org/api/units/1188847/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2021-06-08T11:12:23.163938Z"
        },
        {
            "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksockets_index/nl_NL/?format=api",
            "source": [
                "/*\n * daytime.c\n *\n * Programmed by G. Adam Stanislav\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 <unistd.h>\n"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9049355958570367730,
            "content_hash": 9049355958570367730,
            "location": "documentation/content/en/books/developers-handbook/sockets/_index.adoc:563",
            "context": "",
            "note": "type: delimited block . 4",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 141,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 23,
            "source_unit": "https://translate-dev.freebsd.org/api/units/1543244/?format=api",
            "priority": 100,
            "id": 1543253,
            "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksockets_index/nl_NL/?checksum=fd95c54c7ca6baf2",
            "url": "https://translate-dev.freebsd.org/api/units/1543253/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2023-04-21T00:41:24.308772Z"
        }
    ]
}