summaryrefslogtreecommitdiff
path: root/locale/zh_Hant/LC_MESSAGES/messages.po
diff options
context:
space:
mode:
Diffstat (limited to 'locale/zh_Hant/LC_MESSAGES/messages.po')
-rw-r--r--locale/zh_Hant/LC_MESSAGES/messages.po620
1 files changed, 609 insertions, 11 deletions
diff --git a/locale/zh_Hant/LC_MESSAGES/messages.po b/locale/zh_Hant/LC_MESSAGES/messages.po
index 3477ff24..afe66136 100644
--- a/locale/zh_Hant/LC_MESSAGES/messages.po
+++ b/locale/zh_Hant/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-09-29 13:55+0200\n"
+"POT-Creation-Date: 2022-02-25 20:18+0100\n"
"PO-Revision-Date: 2021-08-24 08:59+0000\n"
"Last-Translator: Ting-Yi Fu <futingyi0215@gmail.com>\n"
"Language-Team: Chinese (Traditional) <http://weblate.taler.net/projects/"
@@ -494,19 +494,16 @@ msgstr ""
"新的加密協議來驗證密鑰。"
#: template/applications.html.j2:160
-msgid "Cadet-GTK"
-msgstr "學員GTK (Cadet-GTK)"
+msgid "Messenger-GTK"
+msgstr ""
#: template/applications.html.j2:162
msgid ""
-"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> is a "
-"convenient but feature-rich graphical application providing messaging using "
-"the CADET subsystem. It is developed using GTK and libhandy for a convergent "
-"design."
+"<a href=\"https://git.gnunet.org/messenger-gtk.git/\">Messenger-GTK</a> is a "
+"convergent GTK messaging application using the GNUnet Messenger service. The "
+"goal is to provide private and secure communication between any group of "
+"devices."
msgstr ""
-"<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> 是一"
-"種方便而功能豐富的圖形應用程序,Cadet-GTK 尤其使用 CADET 子系統提供消息傳遞。"
-"其使用 GTK 和 libhandy 開發的以收斂設計。"
#: template/applications.html.j2:180
msgid "groupchat"
@@ -3369,7 +3366,8 @@ msgstr "教學:NetBSD 8.0 當前上的 GNUnet"
msgid "Tutorial: GNUnet on OpenWrt"
msgstr "教學:OpenWrt 上的 GNUnet"
-#: template/install-on-openwrt.html.j2:47
+#: template/install-on-openwrt.html.j2:47 template/l2o/mile1.html.j2:113
+#: template/l2o/mile2.html.j2:63 template/l2o/mile3.html.j2:92
msgid "Configuration"
msgstr "配置"
@@ -3600,6 +3598,593 @@ msgstr "天哪,你們打破了我的網際網路"
msgid "Videos related to GNUnet"
msgstr "與 GNUnet 相關的影片"
+#: template/l2o/index.html.j2:6 template/l2o/mile1.html.j2:6
+#: template/l2o/mile2.html.j2:6 template/l2o/mile3.html.j2:6
+#: template/l2o/testng.html.j2:6
+msgid "NGI Assure project: Layer-2-Overlay"
+msgstr ""
+
+#: template/l2o/index.html.j2:12 template/l2o/index.html.j2:34
+#, fuzzy
+#| msgid "Motivation"
+msgid "Project motivation"
+msgstr "動機"
+
+#: template/l2o/index.html.j2:13
+#, fuzzy
+#| msgid "GNUnet is a framework"
+msgid "New Test Framework"
+msgstr "GNUnet 是一個框架"
+
+#: template/l2o/index.html.j2:14 template/l2o/index.html.j2:74
+msgid "Milestones"
+msgstr ""
+
+#: template/l2o/index.html.j2:15
+msgid "Milestone 1"
+msgstr ""
+
+#: template/l2o/index.html.j2:16
+msgid "Milestone 2"
+msgstr ""
+
+#: template/l2o/index.html.j2:17
+msgid "Milestone 3"
+msgstr ""
+
+#: template/l2o/index.html.j2:18
+msgid "Milestone 4"
+msgstr ""
+
+#: template/l2o/index.html.j2:19
+msgid "Milestone 5"
+msgstr ""
+
+#: template/l2o/index.html.j2:20
+msgid "Milestone 6"
+msgstr ""
+
+#: template/l2o/index.html.j2:27
+msgid ""
+"This project was funded through the NGI Assure Fund, a fund established by "
+"<a href=\"https://nlnet.nl/project/GNUnet-L2/\">NLnet</a>."
+msgstr ""
+
+#: template/l2o/index.html.j2:39
+msgid ""
+"The <a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT-"
+"Subsystem\">current</a> GNUnet TRANSPORT architecture with its pluggable "
+"transport mechanism (TCP, UDP, HTTP(S) and other protocols) together with "
+"the ATS subsystem for bandwidth allocation and choosing plugins has several "
+"<a href=\"https://docs.gnunet.org/handbook/gnunet.html#TRANSPORT_002dNG-"
+"Subsystem\">issues</a> with its design. With the Layer-2-Overlay project we "
+"like to implement the <a href=\"https://docs.gnunet.org/handbook/gnunet."
+"html#Design-goals-of-TNG\">design goals</a> of the future GNUnet TRANSPORT "
+"Next Generation (TNG) subsystem. One major change in the design is to "
+"separate the protocol plugins into processes (now called communicators) "
+"detached from the main transport service. Three communicators were already "
+"implemented (TCP, UDP and UNIX sockets). The old transport code is hard to "
+"maintain, because it is cluttered with \"manipulation\" support code for "
+"TESTBED (the actual testing framework). Testing TRANSPORT is a hard task, "
+"especially with TESTBED which has its own design flaws, and test code which "
+"is very hard to read to get an idea what the test code is doing. Therefore "
+"the first task (milestone 1) is to implement a new testing framework which "
+"uses network namespaces to make testing of TNG much easier. Have a look into "
+"what is planed for Layer-2-Overlay in the <a href=\"#milestones"
+"\">milestones</a>."
+msgstr ""
+
+#: template/l2o/index.html.j2:50
+#, fuzzy
+#| msgid "GNUnet is a framework"
+msgid "New Test Framwork"
+msgstr "GNUnet 是一個框架"
+
+#: template/l2o/index.html.j2:54
+msgid "Command Style Pattern"
+msgstr ""
+
+#: template/l2o/index.html.j2:58
+msgid ""
+"The new style of writing tests in GNUnet is borrowed from the <a href="
+"\"https://docs.taler.net/developers-manual.html#testing-library\">GNU Taler "
+"testing library</a>. In <a href=\"#milestone1\">milestone 1</a> we "
+"implemented commands to setup the <a href=\"#netjails\">netjails</a>, the "
+"test environment for each peer, to start a single peers and sending a simple "
+"test message. Because some commands depend on other commands to be finished, "
+"and those commands are asynchronous, we needed additional functionality in "
+"the command interpreter library to block execution until some commands are "
+"finished (e.g. all peers needs to be running, before peers starting to send "
+"messages). For a detailed description have a look into the <a href=\"testng."
+"html\">testing ng documentation</a>."
+msgstr ""
+
+#: template/l2o/index.html.j2:64
+msgid "Netjails"
+msgstr ""
+
+#: template/l2o/index.html.j2:68
+msgid ""
+"To do extensive testing of the new transport implementation one needs to "
+"simulate various network topologies to enable faking network characteristics "
+"like lossy connections or firewalls. To achieve this we are working with <a "
+"href=\"https://www.man7.org/linux/man-pages/man8/ip-netns.8.html\">network "
+"namespace</a>. We have commands for starting and stopping network "
+"namespaces. Those commands are scripts, which are using several shell "
+"commands to setup the network namespace. A third script then is responsible "
+"for start a GNUnet helper. This helper can load plugins. Each plugin "
+"represents some test case. Per node in the network namespaces one helper is "
+"started, which means on each node is a local interpreter loop running. For a "
+"detailed description have a look into the <a href=\"testng.html\">testing ng "
+"documentation</a>."
+msgstr ""
+
+#: template/l2o/index.html.j2:78
+msgid "Milestone 1 Test Infrastructure and minimal Test Case"
+msgstr ""
+
+#: template/l2o/index.html.j2:81
+msgid ""
+"The first subtask consists of implementing a framework for setting up VLANs "
+"between network namespaces and a framework to test communication between "
+"peers which are running in those VLANs. Finally a minimal Test Case will be "
+"implemented. Despite the fact that the transport service is already able to "
+"use several communicators (transport protocol implementations), it will only "
+"use the tcp communicator, not the unix socket nor the udp communicator, "
+"which already are in place and working. <ul> <li>SUID helpers to setup "
+"network namespace and starting peers with network namespace.</li> <li>Basic "
+"transport-level operations (get address, send, receive, connect).</li> "
+"<li>Peers connected through test and transfer data.</li> </ul>"
+msgstr ""
+
+#: template/l2o/index.html.j2:93
+msgid ""
+"First MVP which uses the TCP communicator to send messages between peers. "
+"The deliverable can be verified through out the specific test cases running "
+"in the GNUnet CI. <a href=\"mile1.html\">Details</a>"
+msgstr ""
+
+#: template/l2o/index.html.j2:101
+msgid "Milestone 2 Enhancing Test Framework"
+msgstr ""
+
+#: template/l2o/index.html.j2:104
+msgid ""
+"To test more complex functionality we need to enhance the capabilities of "
+"the testing framework. Hooks for performance measurement will be "
+"implemented. <ul> <li>Enhancing transport-level operations.</li> <li>Block "
+"execution of commands at a peer. (Barriers).</li> </ul>"
+msgstr ""
+
+#: template/l2o/index.html.j2:114
+msgid ""
+"Outcome of this deliverable are advanced test case (again verifiable in the "
+"GNUnet continuous integration (CI)). <a href=\"mile2.html\">Details</a>"
+msgstr ""
+
+#: template/l2o/index.html.j2:122
+msgid "Milestone 3 UDP integration"
+msgstr ""
+
+#: template/l2o/index.html.j2:125
+msgid ""
+"With this subtask I will implement enhanced L2O features like using "
+"unidirectional transport protocols with backchannels. Addresses by which a "
+"peer can be reached can be delivered on handshake or by UDP broadcast. With "
+"this milestone the transport service will be able to use more than one "
+"communicator (pluggable transport). <ul> <li>unidirectional communication "
+"and backchannels.</li> <li>UDP broadcast.</li> </ul>"
+msgstr ""
+
+#: template/l2o/index.html.j2:135
+msgid ""
+"The CI contains test case which uses the UDP protocol to message between "
+"peers and to learn about “foreign” peers. <a href=\"mile3.html\">Details</a>"
+msgstr ""
+
+#: template/l2o/index.html.j2:143
+msgid "Milestone 4 Distance Vector"
+msgstr ""
+
+#: template/l2o/index.html.j2:146
+msgid ""
+"In this subtask I will enhance connectivity to peers not directly connected. "
+"Therefore peers have to act as relay. To achieve this I will implement the "
+"distance vector protocol."
+msgstr ""
+
+#: template/l2o/index.html.j2:152
+msgid ""
+"The CI contains test cases with a setup of peers not connected directly. The "
+"test cases proof that each peer can reach any other peer."
+msgstr ""
+
+#: template/l2o/index.html.j2:158
+msgid "Milestone 5 NAT Traversal"
+msgstr ""
+
+#: template/l2o/index.html.j2:161
+msgid ""
+"This subtask will make peers behind NAT reachable. Two simple traversal "
+"methods will be implemented. <ul> <li>NAT traversal via UpnPC.</li> "
+"<li>Autonomous NAT Traversal using fake ICMP messages.</li> </ul>"
+msgstr ""
+
+#: template/l2o/index.html.j2:171
+msgid ""
+"The CI contains test case with a peer setup containing peer behind a NAT. "
+"The test cases proof that each peer can be reached, even if that peer is "
+"behind a NAT. The test case are measuring the performance. This measurement "
+"is used to compare with the outcome of the next milestone. This result of "
+"this milestone will be a first stable release."
+msgstr ""
+
+#: template/l2o/index.html.j2:178
+msgid "Milestone 6 Optimization"
+msgstr ""
+
+#: template/l2o/index.html.j2:181
+msgid ""
+"In this subtask I will implement algorithms (flow and congestion control, "
+"quality of service optimizations) which will select the optimal transport "
+"protocol for a given situation. I will analyze potential performance gains "
+"by integrating libraries of the interpeer project. If the effort of "
+"integrating interpeer presumably would lead to better performance than other "
+"optimizations of the same amount of work, this integration is done. I will "
+"finish the project with a performance analysis to optimize the selection "
+"logic. <ul> <li>Queue management. <li>Interpeer project synergy <ol> "
+"<li>Analysis of the interpeer project in regard to integrate it into GNUnet."
+"</li> <li>Optional integration into GNUnet, if it can be done at all and in "
+"a reasonable amount of work.</li> </ol> <li>Commands for performance "
+"measurement(s).</li> <li>Performance analysis.</li> </ul>"
+msgstr ""
+
+#: template/l2o/index.html.j2:201
+msgid ""
+"The test cases in the CI are measuring the performance gains. This "
+"measurement can be compared with the measurement of milestone 5. Again one "
+"outcome of this milestone will be a stable release. Documentation of the "
+"interpeer project analysis."
+msgstr ""
+
+#: template/l2o/mile1.html.j2:12 template/l2o/mile2.html.j2:12
+#: template/l2o/mile3.html.j2:12 template/l2o/testng.html.j2:12
+msgid "Project main page"
+msgstr ""
+
+#: template/l2o/mile1.html.j2:20 template/l2o/mile2.html.j2:20
+#: template/l2o/mile3.html.j2:29
+msgid "Master Loop"
+msgstr ""
+
+#: template/l2o/mile1.html.j2:22
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/transport/test_transport_api_cmd_simple_send.c</td><td width=\"60%\" "
+"style=\"vertical-align: top;\">Binary for starting the simple send test. "
+"Obsolete in current code base!</td> <tr> <td></td><td> </td> </tr> <tr> <td "
+"width=\"40%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
+"td><td width=\"60%\" style=\"vertical-align: top;\">Script to setup the "
+"netjail topology. Will be execute by the following command. </td> </tr> <tr> "
+"<td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
+"testing_api_cmd_netjail_start.c</td><td width=\"60%\" style=\"vertical-"
+"align: top;\">Command to create the netjail setup.</td> <tr> <td></td><td> </"
+"td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;\">src/testing/"
+"netjail_exec.sh</td><td width=\"60%\" style=\"vertical-align: top;\">Script "
+"to execute a local test interpreter per node. Will be execute by the "
+"following command.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
+"\" style=\"vertical-align: top;\">src/testing/"
+"testing_api_cmd_netjail_start_testsystem.c</td><td width=\"60%\" style="
+"\"vertical-align: top;\">Command to start the helper processes.</td> <tr> "
+"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/testing/testing_api_cmd_netjail_stop_testsystem.c</td><td width=\"60%"
+"\" style=\"vertical-align: top;\">Command to stop the helper processes.</td> "
+"<tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
+"align: top;\">src/testing/netjail_stop.sh</td><td width=\"60%\" style="
+"\"vertical-align: top;\">Script to stop the netjail topology.</td> <tr> "
+"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/testing/testing_api_cmd_netjail_stop.c</td><td width=\"60%\" style="
+"\"vertical-align: top;\">Command to stop the test setup.</td> <tr> <td></"
+"td><td> </td> </tr> </table>"
+msgstr ""
+
+#: template/l2o/mile1.html.j2:65 template/l2o/mile2.html.j2:48
+#: template/l2o/mile3.html.j2:66
+msgid "Local Loop"
+msgstr ""
+
+#: template/l2o/mile1.html.j2:67
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/testing/gnunet-cmds-helper.c</td><td width=\"60%\" style=\"vertical-"
+"align: top;\">Helper to start the local interpreter loop.</td> <tr> <td></"
+"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/transport/test_transport_plugin_cmd_simple_send.c</td><td width=\"60%"
+"\" style=\"vertical-align: top;\">Plugin which creates the cmds for the "
+"simple send test case.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
+"align: top;\">src/testing/testing_api_cmd_system_create.c</td><td width=\"60%"
+"\" style=\"vertical-align: top;\">Command to create a local test system.</"
+"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
+"align: top;\">src/transport/transport_api_cmd_start_peer.c</td><td width="
+"\"60%\" style=\"vertical-align: top;\">Command to start a peer.</td> <tr> "
+"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/transport/transport_api_cmd_connecting_peers.c</td><td width=\"60%\" "
+"style=\"vertical-align: top;\"> Command to connect two peers.</td> <tr> "
+"<td></td><td> </td> </tr> <tr> <td>src/transport/"
+"transport_api_cmd_send_simple.c</td><td width=\"60%\" style=\"vertical-"
+"align: top;\">Command to send a simple message from one peer to another.</"
+"td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
+"align: top;\">src/transport/transport_api_cmd_stop_peer.c</td><td width=\"60%"
+"\" style=\"vertical-align: top;\">Command to stop a peer.</td> <tr> <td></"
+"td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/testing/testing_api_cmd_system_destroy.c</td><td width=\"60%\" style="
+"\"vertical-align: top;\">Command to destroy the local test system.</td> <tr> "
+"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/testing/testing_api_cmd_local_test_finished.c</td><td>Command to send "
+"a message to the master loop, if the local loop has finished.</td> <tr> </"
+"table>"
+msgstr ""
+
+#: template/l2o/mile1.html.j2:115
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/transport/test_transport_api2_tcp_node1.conf</td><td width=\"60%\" "
+"style=\"vertical-align: top;\">Configuration for the first node running "
+"during the simple send test case.</td> <tr> <td></td><td> </td> </tr> <tr> "
+"<td width=\"40%\" style=\"vertical-align: top;\">src/transport/"
+"test_transport_api2_tcp_node2.conf</td><td width=\"60%\" style=\"vertical-"
+"align: top;\">Configuration for the second node running during the simple "
+"send test case.</td> </tr> </table>"
+msgstr ""
+
+#: template/l2o/mile2.html.j2:22
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/transport/test_transport_simple_send.sh</td><td width=\"60%\" style="
+"\"vertical-align: top;\">Introduced scripts to start the tests. The script "
+"checks, if a kernel parameter is set to allow unprivileged users to create "
+"network namespaces. The script than starts the following gerneric binary in "
+"a network namespace.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
+"\" style=\"vertical-align: top;\">src/transport/"
+"test_transport_start_with_config.c</td><td width=\"60%\" style=\"vertical-"
+"align: top;\">A generic binary to start a test case which will be configured "
+"by a configuration file.</td> </tr> <tr> <td width=\"40%\" style=\"vertical-"
+"align: top;\">src/testing/testing.c</td><td width=\"60%\" style=\"vertical-"
+"align: top;\">Added code to read netjail topology from a file.</td> <tr> "
+"<td></td><td> </td> </tr> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/testing/topo.sh</td><td width=\"60%\" style=\"vertical-align: top;"
+"\">Script which reads the topology from a file for the use in the other "
+"netjail scripts.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%\" "
+"style=\"vertical-align: top;\">All already existing commands.</td><td width="
+"\"60%\" style=\"vertical-align: top;\">All commands changed to work with the "
+"topology data.</td> </tr> </table>"
+msgstr ""
+
+#: template/l2o/mile2.html.j2:50
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/testing/testing_api_cmd_send_peer_ready.c</td><td width=\"60%\" style="
+"\"vertical-align: top;\">Command to send a message to the master loop if a "
+"peer has started in local loop.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
+"width=\"40%\" style=\"vertical-align: top;\">src/testing/"
+"testing_api_cmd_local_test_prepared.c</td><td width=\"60%\" style=\"vertical-"
+"align: top;\">Command to send a message to the master loop if a peer is "
+"ready to shutdown.</td> </tr> </table>"
+msgstr ""
+
+#: template/l2o/mile2.html.j2:65
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"40%\" style=\"vertical-align: top;"
+"\">src/transport/transport_api_cmd_start_peer.c</td><td width=\"60%\" style="
+"\"vertical-align: top;\">Command now uses a configuration template for the "
+"peer configuration.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"40%"
+"\" style=\"vertical-align: top;\">test_transport_simple_send_topo.conf</"
+"td><td width=\"60%\" style=\"vertical-align: top;\">Topology configuration "
+"file for the simple send test case.</td> <tr> </table>"
+msgstr ""
+
+#: template/l2o/mile3.html.j2:20
+msgid "Bug fixing"
+msgstr ""
+
+#: template/l2o/mile3.html.j2:22
+msgid ""
+"Some bugs in the tng service and communicator code which were found with new "
+"tests were fixed."
+msgstr ""
+
+#: template/l2o/mile3.html.j2:31
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
+"\">src/transport/test_transport_udp_backchannel.sh</td><td width=\"55%\" "
+"style=\"vertical-align: top;\">Added script to start the udp backchannel "
+"test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
+"\"vertical-align: top;\">src/transport/test_transport_simple_send_broadcast."
+"sh</td><td width=\"55%\" style=\"vertical-align: top;\">Added script for the "
+"UDB broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
+"\" style=\"vertical-align: top;\">src/transport/"
+"test_transport_simple_send_string.sh</td><td width=\"55%\" style=\"vertical-"
+"align: top;\">Added script as an example to start a test with inline "
+"topology configuration string.</td> <tr> <td></td><td> </td> </tr> <tr> <td "
+"width=\"60%\" style=\"vertical-align: top;\">All commands</td><td width=\"55%"
+"\" style=\"vertical-align: top;\">Changed code to handle strings with "
+"topology information.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
+"width=\"60%\" style=\"vertical-align: top;\">src/testing/netjail_start.sh</"
+"td><td width=\"55%\" style=\"vertical-align: top;\">Changed the netjail "
+"start script to configure port forwarding for specific protocols (tcp, udp)."
+"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style="
+"\"vertical-align: top;\">src/testing/netjail_*.sh</td><td width=\"40%\" "
+"style=\"vertical-align: top;\">Moved to contrib/netjail directory</td> </tr> "
+"</table>"
+msgstr ""
+
+#: template/l2o/mile3.html.j2:68
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
+"\">src/transport/test_transport_plugin_cmd_simple_send_broadcast.c</td><td "
+"width=\"40%\" style=\"vertical-align: top;\">New plugin for the udp "
+"broadcast test case.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%"
+"\" style=\"vertical-align: top;\">src/transport/"
+"test_transport_plugin_cmd_udp_backchannel.c</td><td width=\"40%\" style="
+"\"vertical-align: top;\">New plugin for the udp backchannel test case.</td> "
+"<tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" style=\"vertical-"
+"align: top;\">src/transport/transport_api_cmd_backchannel_check.c</td><td "
+"width=\"40%\" style=\"vertical-align: top;\">Command to check for a udp "
+"backchannel specific log entry.</td> </tr> <tr> <td></td><td> </td> </tr> "
+"<tr> <td width=\"60%\" style=\"vertical-align: top;\">src/testing/"
+"testing_api_cmd_block_until_external_trigger.cc</td><td width=\"40%\" style="
+"\"vertical-align: top;\">Command to block the local loop until triggered by "
+"a external signal.</td> </tr> </table>"
+msgstr ""
+
+#: template/l2o/mile3.html.j2:94
+msgid ""
+"<table width=\"100%\"> <tr> <td width=\"60%\" style=\"vertical-align: top;"
+"\">src/transport/test_transport_simple_send_broadcast_topo.conf</td><td "
+"width=\"40%\" style=\"vertical-align: top;\">Topology configuration for the "
+"broadcast test.</td> <tr> <td></td><td> </td> </tr> <tr> <td width=\"60%\" "
+"style=\"vertical-align: top;\">test_transport_udp_backchannel_topo.conf</"
+"td><td width=\"40%\" style=\"vertical-align: top;\">Topology configuration "
+"file for the udp backchannel test case.</td> <tr> </table>"
+msgstr ""
+
+#: template/l2o/testng.html.j2:20
+msgid "Netjail setup and execution"
+msgstr ""
+
+#: template/l2o/testng.html.j2:22
+msgid ""
+"Netjail is the GNUnet naming for having several <a href=\"https://www.man7."
+"org/linux/man-pages/man8/ip-netns.8.html\">network namespaces</a>, being "
+"isolated from each other to test how GNUnet nodes with limited connectivity "
+"behave, and how the new transport next generation implementation can help to "
+"circumvent the connectivity obstacles. The network namespaces are span a "
+"network with globally known nodes and several subnets separated from each "
+"other via a single router. We have three scripts for the test setup: <ul> "
+"<li>netjail_start.sh: A script to setup the network namespaces. This script "
+"takes three arguments. The first is either the name of a configuration for "
+"the test setup topology or a string containing the topology information. The "
+"second is the process id of the test. The third is a flag if the first "
+"parameter contains the name of the configuration file or the topology string."
+"</li> <li>netjail_exec.sh: A script to run some command in a specific "
+"namespace. This script takes eight arguments. The first is the index of a "
+"node in a namespace for which we like to execute a command. The second is "
+"the index of the namespace of the node. The third is the command to execute, "
+"the fourth is the number of subnets, the fifth the number of nodes in each "
+"subnet, the sixth is the identifier used by the <a href=\"https://www.man7."
+"org/linux/man-pages/man8/ip-netns.8.html\">ip-netns</a> command, the sixth "
+"is a flag is the topology information is given via a topology file of a "
+"string containing the topology information..</li> <li>netjail_stop.sh: A "
+"script which remove all the network namespace setup by netjail_start.sh. The "
+"arguments are the same as those for netjail_start.sh.</li> </ul> The is a "
+"generic test binary (test_transport_start_with_config) which will start the "
+"above mentioned scripts. Because creating network namespaces is only "
+"permitted for privileged users the generic test binary is not start "
+"directly, but via scripts. This script starts the generic binary using the "
+"command unshare. Using unshare one can create a namespace with its own user "
+"namespace, where creating network namespaces is allowed. Precondition to do "
+"this with unshare, is to set the kernel.unprivileged_userns_clone kernel "
+"parameter."
+msgstr ""
+
+#: template/l2o/testng.html.j2:38
+msgid "CMD helper and testcase plugins"
+msgstr ""
+
+#: template/l2o/testng.html.j2:42
+msgid ""
+"Although netjail_exec.sh can execute an arbitrary command in the ng testing "
+"framework a special command is used: gnunet-cmds-helper This commands itself "
+"is of a special kind named helper processes which communicates via "
+"GNUNET_MessageHeaders on stdin/stdout with the process that started the "
+"helper. The gnunet-cmds-helper is used to load testcase plugins. Those "
+"plugins are implementations of an api which is used to start different test "
+"cases. Those plugins are dynamically loaded by gnunet-cmds-helper. Each "
+"plugin defines the commands which are running in a local interpreter loop "
+"started by the helper on that specific network namespace node. The plugins "
+"are also responsible for the communication via the helper with the master "
+"interpreter loop."
+msgstr ""
+
+#: template/l2o/testng.html.j2:48
+msgid "Command Pattern"
+msgstr ""
+
+#: template/l2o/testng.html.j2:52
+msgid ""
+"The testing framework borrowed from the <a href=\"https://docs.taler.net/"
+"developers-manual.html#testing-library\">GNU Taler testing library</a> was "
+"extended to handle asychronous commands. Therefore a struct "
+"GNUNET_TESTING_AsyncContext was added to struct GNUNET_TESTING_Command. By "
+"default the continuation function of GNUNET_TESTING_AsyncContext is the "
+"interpreter_next function of the interpreter loop (blocking asynchronous "
+"command) which will be executed calling GNUNET_TESTING_async_finish, when "
+"the asynchronous task finished, but also can be any other function to be "
+"executed when the asynchronous task is non blocking."
+msgstr ""
+
+#: template/l2o/testng.html.j2:57
+#, fuzzy
+#| msgid "Configuration"
+msgid "Topology Configuration"
+msgstr "配置"
+
+#: template/l2o/testng.html.j2:61
+msgid ""
+"The topology of the netjail setup can be configured via a configuration "
+"file, or with a configuration string handed over to the generic binary for "
+"starting netjail based tests.</br></br> Both method can be examined in two "
+"example test scripts</br></br> test_transport_send_simple.sh</br></br> and</"
+"br></br> test_transport_send_simple_string.sh</br></br> The Syntax of the "
+"configuration is as follows.</br></br> The configuration string is "
+"structured by lines and the delimiter ':' used for seperating key/value(s) "
+"pairs and the chars '{' and '}' for grouping several key/value pairs as "
+"value and '|' to separate a group of values from the key/value(s) pair "
+"identifying a line.</br></br> Keys are</br></br> <table width=\"100%\"> <tr> "
+"<td width=\"10%\" style=\"vertical-align: top;\">M</td><td width=\"90%\" "
+"style=\"vertical-align: top;\">The number of natted subnets in the topology."
+"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
+"\"vertical-align: top;\">N</td><td width=\"90%\" style=\"vertical-align: top;"
+"\">The number of nodes in each subnet.</td> </tr> <tr> <td></td><td> </td> </"
+"tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">X</td><td width="
+"\"90%\" style=\"vertical-align: top;\">The Number of globally known (not "
+"natted) nodes.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%"
+"\" style=\"vertical-align: top;\">K</td><td width=\"90%\" style=\"vertical-"
+"align: top;\"> A globally known (not natted) node. The number value "
+"identifies the node.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
+"width=\"10%\" style=\"vertical-align: top;\">T</td><td width=\"90%\" style="
+"\"vertical-align: top;\">The default test plugin to execute.</td> </tr> <tr> "
+"<td></td><td> </td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;"
+"\">R</td><td width=\"90%\" style=\"vertical-align: top;\">A router of a "
+"subnet.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" "
+"style=\"vertical-align: top;\">P</td><td width=\"90%\" style=\"vertical-"
+"align: top;\">A subnet node with two key values, the first one for "
+"identifying the subnet and the second for identifying the node in the subnet."
+"</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
+"\"vertical-align: top;\">connect</td><td width=\"90%\" style=\"vertical-"
+"align: top;\">Can be one of several grouped values of the P, K or R key. "
+"Configuring a connection to another node. </br></br> The value of the "
+"connect key is a node key (P or K) with two resp. one number value "
+"identifying the node, and an additional value configuring a protocol. </br></"
+"br> If the connect key is used in a line configuring a node it is used to "
+"configure a connection, which will result in the node identified by the line "
+"P or K key will try to connect nodes also identified with the P or K key via "
+"the configured protocol.</td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td "
+"width=\"10%\" style=\"vertical-align: top;\">tcp_port</td><td width=\"90%\" "
+"style=\"vertical-align: top;\">Can be a grouped value of the R key. The "
+"value of the tcp_port can be 0 or 1, if a port forwarding to the first "
+"(index 1) node of a subnet is not or is configured for the tcp protocol.</"
+"td> </tr> <tr> <td></td><td> </td> </tr> <tr> <td width=\"10%\" style="
+"\"vertical-align: top;\">udp_port</td><td width=\"90%\" style=\"vertical-"
+"align: top;\">Can be a grouped value of the R key. The value of the tcp_port "
+"can be 0 or 1, if a port forwarding to the first (index 1) node of a subnet "
+"is not or is configured for the udp protocol.</td> </tr> <tr> <td></td><td> "
+"</td> </tr> <tr> <td width=\"10%\" style=\"vertical-align: top;\">plugin</"
+"td><td width=\"90%\" style=\"vertical-align: top;\">Can be a grouped value "
+"of the P or K key. The value is the name of a plugin which will run on that "
+"peer instead of the default plugin defined by key K.</td> </tr> </table>"
+msgstr ""
+
#: template/news/index.html.j2:45
msgid "News archives:"
msgstr "新聞檔案:"
@@ -3731,6 +4316,19 @@ msgstr ""
"依賴方從分散的目錄中檢索加密的身份數據。它能夠使用相應的密鑰解密所有用戶已授"
"權訪問的屬性。"
+#~ msgid "Cadet-GTK"
+#~ msgstr "學員GTK (Cadet-GTK)"
+
+#~ msgid ""
+#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> "
+#~ "is a convenient but feature-rich graphical application providing "
+#~ "messaging using the CADET subsystem. It is developed using GTK and "
+#~ "libhandy for a convergent design."
+#~ msgstr ""
+#~ "<a href=\"https://gitlab.com/gnunet-messenger/cadet-gtk\">Cadet-GTK</a> 是"
+#~ "一種方便而功能豐富的圖形應用程序,Cadet-GTK 尤其使用 CADET 子系統提供消息"
+#~ "傳遞。其使用 GTK 和 libhandy 開發的以收斂設計。"
+
#~ msgid "The IRC channel"
#~ msgstr "IRC頻道"