Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/cnp3-ebook/principlesnetwork/en/units/?format=api&page=10
https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/units/?format=api&page=9", "results": [ { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "To create these virtual circuits, we need to configure the `label forwarding tables` of all routers. For simplicity, assume that a label forwarding table only contains two entries. Assume that `R5` wants to receive the packets from the virtual circuit created by `R1` (resp. `R2`) with `label=1` (`label=0`). `R4` could use the following `label forwarding table`:" ], "previous_source": "", "target": [ "To create these virtual circuits, we need to configure the `label forwarding tables` of all routers. For simplicity, assume that a label forwarding table only contains two entries. Assume that `R5` wants to receive the packets from the virtual circuit created by `R1` (resp. `R2`) with `label=1` (`label=0`). `R4` could use the following `label forwarding table`:" ], "id_hash": -3101874602511609636, "content_hash": -3101874602511609636, "location": "../../principles/network.rst:494", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 102, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 56, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37527/?format=api", "priority": 100, "id": 37527, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=54f3ed7bc37d50dc", "url": "https://weblate.info.ucl.ac.be/api/units/37527/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:27.869305+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "R4's label forwarding table" ], "previous_source": "", "target": [ "R4's label forwarding table" ], "id_hash": -5391871955593342773, "content_hash": -5391871955593342773, "location": "../../principles/network.rst:497", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 103, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37528/?format=api", "priority": 100, "id": 37528, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=352c39061477d0cb", "url": "https://weblate.info.ucl.ac.be/api/units/37528/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:27.884478+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "R2's label forwarding table" ], "previous_source": "", "target": [ "R2's label forwarding table" ], "id_hash": -3817424361419200873, "content_hash": -3817424361419200873, "location": "../../principles/network.rst:509", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 107, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37529/?format=api", "priority": 100, "id": 37529, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=4b05c8c4d4afa697", "url": "https://weblate.info.ucl.ac.be/api/units/37529/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:27.901651+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "R3's label forwarding table" ], "previous_source": "", "target": [ "R3's label forwarding table" ], "id_hash": 1936259793987047313, "content_hash": 1936259793987047313, "location": "../../principles/network.rst:521", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 109, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37530/?format=api", "priority": 100, "id": 37530, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=9adefa061d780f91", "url": "https://weblate.info.ucl.ac.be/api/units/37530/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:27.917767+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "With the above `label forwarding table`, `R1` needs to originate the packets that belong to the `R1->R3->R4->R2->R5` circuit with `label=0`. The packets received from `R2` and belonging to the `R2->R1->R3->R4->R5` circuit would then use `label=1` on the `R1-R3` link. `R1` 's label forwarding table could be built as follows :" ], "previous_source": "", "target": [ "With the above `label forwarding table`, `R1` needs to originate the packets that belong to the `R1->R3->R4->R2->R5` circuit with `label=0`. The packets received from `R2` and belonging to the `R2->R1->R3->R4->R5` circuit would then use `label=1` on the `R1-R3` link. `R1` 's label forwarding table could be built as follows :" ], "id_hash": -3557159711562075182, "content_hash": -3557159711562075182, "location": "../../principles/network.rst:530", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 111, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 50, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37531/?format=api", "priority": 100, "id": 37531, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=4ea26e16c702f3d2", "url": "https://weblate.info.ucl.ac.be/api/units/37531/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:27.934250+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "R1's label forwarding table" ], "previous_source": "", "target": [ "R1's label forwarding table" ], "id_hash": 8691200450657204084, "content_hash": 8691200450657204084, "location": "../../principles/network.rst:533", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 112, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37532/?format=api", "priority": 100, "id": 37532, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=f89d58c30d233774", "url": "https://weblate.info.ucl.ac.be/api/units/37532/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:27.950010+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "Nowadays, most deployed networks rely on distributed algorithms, called routing protocols, to compute the forwarding tables that are installed on the routers. These distributed algorithms are part of the `control plane`. They are usually implemented in software and are executed on the main CPU of the routers. There are two main families of routing protocols : distance vector routing and link state routing. Both are capable of discovering autonomously the network and react dynamically to topology changes." ], "previous_source": "", "target": [ "Nowadays, most deployed networks rely on distributed algorithms, called routing protocols, to compute the forwarding tables that are installed on the routers. These distributed algorithms are part of the `control plane`. They are usually implemented in software and are executed on the main CPU of the routers. There are two main families of routing protocols : distance vector routing and link state routing. Both are capable of discovering autonomously the network and react dynamically to topology changes." ], "id_hash": -6699096641161639702, "content_hash": -6699096641161639702, "location": "../../principles/network.rst:569", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 116, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 77, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37533/?format=api", "priority": 100, "id": 37533, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=23080719238c48ea", "url": "https://weblate.info.ucl.ac.be/api/units/37533/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:27.969238+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "the cost of the new route is smaller than the cost of the already known route `((V[d].cost + l.cost) < R[d].cost)`" ], "previous_source": "", "target": [ "the cost of the new route is smaller than the cost of the already known route `((V[d].cost + l.cost) < R[d].cost)`" ], "id_hash": 9085264218321492379, "content_hash": 9085264218321492379, "location": "../../principles/dv.rst:56", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 131, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 21, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37534/?format=api", "priority": 100, "id": 37534, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=fe1557abb79e999b", "url": "https://weblate.info.ucl.ac.be/api/units/37534/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:27.997432+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "the new route was learned over the same link as the current best route towards this destination `(R[d].link == l)`" ], "previous_source": "", "target": [ "the new route was learned over the same link as the current best route towards this destination `(R[d].link == l)`" ], "id_hash": -865248625835766353, "content_hash": -865248625835766353, "location": "../../principles/dv.rst:57", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 132, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37535/?format=api", "priority": 100, "id": 37535, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=73fe04f586aa0daf", "url": "https://weblate.info.ucl.ac.be/api/units/37535/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:28.013372+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "At this point, all routers have a routing table allowing them to reach all other routers, except router `A`, which cannot yet reach router `B`. `A` recovers the route towards `B` once router `D` sends its updated distance vector :math:`[A=1,B=2,C=2,D=0,E=1]`. This last step is illustrated in figure below, which shows the routing tables on all routers." ], "previous_source": "", "target": [ "At this point, all routers have a routing table allowing them to reach all other routers, except router `A`, which cannot yet reach router `B`. `A` recovers the route towards `B` once router `D` sends its updated distance vector :math:`[A=1,B=2,C=2,D=0,E=1]`. This last step is illustrated in figure below, which shows the routing tables on all routers." ], "id_hash": -6070117842192268677, "content_hash": -6070117842192268677, "location": "../../principles/dv.rst:214", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 150, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 56, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37536/?format=api", "priority": 100, "id": 37536, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=2bc29bfbbf5e827b", "url": "https://weblate.info.ucl.ac.be/api/units/37536/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:28.045248+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "Unfortunately, split-horizon is not sufficient to avoid all count to infinity problems with distance vector routing. Consider the failure of link `A-B` in the four routers network shown below." ], "previous_source": "", "target": [ "Unfortunately, split-horizon is not sufficient to avoid all count to infinity problems with distance vector routing. Consider the failure of link `A-B` in the four routers network shown below." ], "id_hash": 7218200233677197877, "content_hash": 7218200233677197877, "location": "../../principles/dv.rst:341", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 157, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 29, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37537/?format=api", "priority": 100, "id": 37537, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=e42c32de6df89235", "url": "https://weblate.info.ucl.ac.be/api/units/37537/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:28.067609+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "LSP.Links[]: links advertised in the LSP. Each directed link is represented with the following information:" ], "previous_source": "", "target": [ "LSP.Links[]: links advertised in the LSP. Each directed link is represented with the following information:" ], "id_hash": 8641894958685529163, "content_hash": 8641894958685529163, "location": "../../principles/linkstate.rst:57", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 177, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 15, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37538/?format=api", "priority": 100, "id": 37538, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=f7ee2dad9eb0a44b", "url": "https://weblate.info.ucl.ac.be/api/units/37538/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:28.098636+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "LSP.Links[i].Id: identification of the neighbor" ], "previous_source": "", "target": [ "LSP.Links[i].Id: identification of the neighbor" ], "id_hash": -1463142379992101411, "content_hash": -1463142379992101411, "location": "../../principles/linkstate.rst:59", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 178, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37539/?format=api", "priority": 100, "id": 37539, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=6bb1dfc1e8c04ddd", "url": "https://weblate.info.ucl.ac.be/api/units/37539/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:28.114127+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "LSP.Links[i].cost: cost of the link" ], "previous_source": "", "target": [ "LSP.Links[i].cost: cost of the link" ], "id_hash": 6584034319710066379, "content_hash": 6584034319710066379, "location": "../../principles/linkstate.rst:60", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 179, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37540/?format=api", "priority": 100, "id": 37540, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=db5f30547f4c96cb", "url": "https://weblate.info.ucl.ac.be/api/units/37540/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:28.129658+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "In this pseudo-code, `LSDB(r)` returns the most recent `LSP` originating from router `r` that is stored in the `LSDB`. `newer(lsp1, lsp2)` returns true if `lsp1` is more recent than `lsp2`. See the note below for a discussion on how `newer` can be implemented." ], "previous_source": "", "target": [ "In this pseudo-code, `LSDB(r)` returns the most recent `LSP` originating from router `r` that is stored in the `LSDB`. `newer(lsp1, lsp2)` returns true if `lsp1` is more recent than `lsp2`. See the note below for a discussion on how `newer` can be implemented." ], "id_hash": 8820952774442843667, "content_hash": 8820952774442843667, "location": "../../principles/linkstate.rst:76", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 181, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 43, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37541/?format=api", "priority": 100, "id": 37541, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=fa6a51d01d297e13", "url": "https://weblate.info.ucl.ac.be/api/units/37541/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:28.145764+02:00" }, { "translation": "https://weblate.info.ucl.ac.be/api/translations/cnp3-ebook/principlesnetwork/en/?format=api", "source": [ "When a link is reported in the LSP of only one of the attached routers, routers consider the link as having failed and they remove it from the directed graph that they compute from their LSDB. This is called the `two-way connectivity check`. This check allows link failures to be quickly flooded as a single LSP is sufficient to announce such bad news. However, when a link comes up, it can only be used once the two attached routers have sent their LSPs. The `two-way connectivity check` also allows for dealing with router failures. When a router fails, all its links fail by definition. These failures are reported in the LSPs sent by the neighbors of the failed router. The failed router does not, of course, send a new LSP to announce its failure. However, in the graph that represents the network, this failed router appears as a node that only has outgoing edges. Thanks to the `two-way connectivity check`, this failed router cannot be considered as a transit router to reach any destination since no outgoing edge is attached to it." ], "previous_source": "", "target": [ "When a link is reported in the LSP of only one of the attached routers, routers consider the link as having failed and they remove it from the directed graph that they compute from their LSDB. This is called the `two-way connectivity check`. This check allows link failures to be quickly flooded as a single LSP is sufficient to announce such bad news. However, when a link comes up, it can only be used once the two attached routers have sent their LSPs. The `two-way connectivity check` also allows for dealing with router failures. When a router fails, all its links fail by definition. These failures are reported in the LSPs sent by the neighbors of the failed router. The failed router does not, of course, send a new LSP to announce its failure. However, in the graph that represents the network, this failed router appears as a node that only has outgoing edges. Thanks to the `two-way connectivity check`, this failed router cannot be considered as a transit router to reach any destination since no outgoing edge is attached to it." ], "id_hash": -2623191270827506965, "content_hash": -2623191270827506965, "location": "../../principles/linkstate.rst:334", "context": "", "note": "", "flags": "", "state": 100, "fuzzy": false, "translated": true, "approved": false, "position": 193, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 182, "source_unit": "https://weblate.info.ucl.ac.be/api/units/37542/?format=api", "priority": 100, "id": 37542, "web_url": "https://weblate.info.ucl.ac.be/translate/cnp3-ebook/principlesnetwork/en/?checksum=5b988d6ffc6bc2eb", "url": "https://weblate.info.ucl.ac.be/api/units/37542/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2022-09-17T01:14:28.173388+02:00" } ] }{ "count": 196, "next": null, "previous": "