diff options
Diffstat (limited to 'locale/zh_Hant/LC_MESSAGES/messages.po')
-rw-r--r-- | locale/zh_Hant/LC_MESSAGES/messages.po | 620 |
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頻道" |