From bbf3bfee67e45268811326a51b0607c5a2725b0f Mon Sep 17 00:00:00 2001
From: ShouNichi <91327103+ShouNichi@users.noreply.github.com>
Date: Mon, 25 Dec 2023 18:56:07 +0000
Subject: [PATCH 1/2] Chinese translation added (First Revision).
---
source/connect_zh-cn.md | 33 ++++++++++++++++++++
source/credits_zh-cn.md | 29 +++++++++++++++++
source/crypto_zh-cn.md | 25 +++++++++++++++
source/docs_zh-cn.md | 6 ++++
source/donate_zh-cn.md | 20 ++++++++++++
source/hardware_zh-cn.md | 21 +++++++++++++
source/index_zh-cn.md | 28 +++++++++++++++++
source/start_zh-cn.md | 67 ++++++++++++++++++++++++++++++++++++++++
8 files changed, 229 insertions(+)
create mode 100644 source/connect_zh-cn.md
create mode 100644 source/credits_zh-cn.md
create mode 100644 source/crypto_zh-cn.md
create mode 100644 source/docs_zh-cn.md
create mode 100644 source/donate_zh-cn.md
create mode 100644 source/hardware_zh-cn.md
create mode 100644 source/index_zh-cn.md
create mode 100644 source/start_zh-cn.md
diff --git a/source/connect_zh-cn.md b/source/connect_zh-cn.md
new file mode 100644
index 0000000..0bf2066
--- /dev/null
+++ b/source/connect_zh-cn.md
@@ -0,0 +1,33 @@
+# 公共测试网络(Public Testnet)
+
+如果你只是想立刻上手,不想搭建物理意义上的网络的话,你可以加入公开的 Reticulum 测试网络。这是一个非正式的用于测试与实验的网络。大部分时间它都会在线,所有人都可以加入。与此同时,这也意味着它没有可用性保障。
+
+测试网络运行的是最新版的 Reticulum(甚至会在正式发布之前更新)。有时实验版的 Reticulum 会被部署到测试网络的节点之上,这可能会产生奇怪的行为。如果这些都没把你吓跑,你可以通过 TCP 或是 I2P 加入测试网络。
+
+仅需在 Reticulum 的配置文件中加入以下任意一个界面:
+
+```
+# TCP/IP interface to the Dublin Hub
+ [[RNS Testnet Dublin]]
+ type = TCPClientInterface
+ enabled = yes
+ target_host = dublin.connect.reticulum.network
+ target_port = 4965
+
+# TCP/IP interface to the BetweenTheBorders Hub (community-provided)
+ [[RNS Testnet BetweenTheBorders]]
+ type = TCPClientInterface
+ enabled = yes
+ target_host = betweentheborders.com
+ target_port = 4242
+
+# Interface to I2P Hub A
+ [[RNS Testnet I2P Hub A]]
+ type = I2PInterface
+ enabled = yes
+ peers = g3br23bvx3lq5uddcsjii74xgmn6y5q325ovrkq2zw2wbzbqgbuq.b32.i2p
+```
+
+测试网络中还有几个 [Nomad Network](https://github.com/markqvist/nomadnet) 节点和 [LXMF](https://github.com/markqvist/lxmf) 传播节点(propagation nodes)。
+
+
下一个主题:阅读手册
diff --git a/source/credits_zh-cn.md b/source/credits_zh-cn.md
new file mode 100644
index 0000000..45d1e5a
--- /dev/null
+++ b/source/credits_zh-cn.md
@@ -0,0 +1,29 @@
+# 致谢与署名(Acknowledgements & Credits)
+Reticulum 站在巨人的肩膀上。没有前人移山般的开源工作、多位贡献者的参与以及各位对本项目的支持,Reticulum 就不可能存在。非常感谢每一位帮助过这个项目的人。
+
+Reticulum 用到了一系列其他的模块与项目。对以下项目的作者与贡献者致以诚挚的感谢。
+
+- [PyCA/cryptography](https://github.com/pyca/cryptography), *BSD License*
+- [Pure-25519](https://github.com/warner/python-pure25519) by [Brian Warner](https://github.com/warner), *MIT License*
+- [Pysha2](https://github.com/thomdixon/pysha2) by [Thom Dixon](https://github.com/thomdixon), *MIT License*
+- [Python-AES](https://github.com/orgurar/python-aes) by [Or Gur Arie](https://github.com/orgurar), *MIT License*
+- [Curve25519.py](https://gist.github.com/nickovs/cc3c22d15f239a2640c185035c06f8a3#file-curve25519-py) by [Nicko van Someren](https://gist.github.com/nickovs), *Public Domain*
+- [I2Plib](https://github.com/l-n-s/i2plib) by [Viktor Villainov](https://github.com/l-n-s)
+- [PySerial](https://github.com/pyserial/pyserial) by Chris Liechti, *BSD License*
+- [Netifaces](https://github.com/al45tair/netifaces) by [Alastair Houghton](https://github.com/al45tair), *MIT License*
+- [Configobj](https://github.com/DiffSK/configobj) by Michael Foord, Nicola Larosa, Rob Dennis & Eli Courtwright, *BSD License*
+- [Six](https://github.com/benjaminp/six) by [Benjamin Peterson](https://github.com/benjaminp), *MIT License*
+- [Umsgpack.py](https://github.com/vsergeev/u-msgpack-python) by [Ivan A. Sergeev](https://github.com/vsergeev)
+- [Python](https://www.python.org)
+
+Reticulum 的协议设计与参考实现是由 Mark Qvist 于 2014-2022 进行的。
+
+[Reticulum 的 Python 参考实现](https://github.com/markqvist/reticulum) 以及这个网站均为 [MIT 授权](license.html)。若想支持开发,请捐赠。
+
+----------------
+
+Reticulum 协议是人类的共有财产
我将其贡献至公有领域
带着期许与信念面向未来
看那自由与繁荣之花
开满世间大地
谢谢各位
+
+----------------
+
+
diff --git a/source/crypto_zh-cn.md b/source/crypto_zh-cn.md
new file mode 100644
index 0000000..7ece4f6
--- /dev/null
+++ b/source/crypto_zh-cn.md
@@ -0,0 +1,25 @@
+# 密码学原语(Cryptographic Primitives)
+Reticulum 使用了一系列高效、健壮、现代的密码学原语(cryptographic primitives)。它们都有着被广泛使用的现成的实现,在一般的 CPU 或是微控制器上都可以运行。这些必要的原语是:
+
+- Ed25519 用于签名
+- X22519 用于 ECDH 密钥交换
+- HKDF 用于密钥派生
+- AES-128 CBC 模式
+- HMAC-SHA256 用于消息认证
+- SHA-256
+- SHA-512
+
+在默认安装下,`X25519`、`Ed25519` 和 `AES-128-CBC` 都由 [OpenSSL](https://www.openssl.org/) 提供(通过[PyCA/cryptography](https://github.com/pyca/cryptography))。散列函数 `SHA-256` 和 `SHA-512` 由 Python 标准库 [hashlib](https://docs.python.org/3/library/hashlib.html) 提供。`HKDF`、`HMAC`、`Fernet` 原语与 `PKCS7` 填充函数总是由以下内部实现提供:
+
+- [HKDF.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/HKDF.py)
+- [HMAC.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/HMAC.py)
+- [Fernet.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/Fernet.py)
+- [PKCS7.py](https://github.com/markqvist/Reticulum/blob/master/RNS/Cryptography/PKCS7.py)
+
+Reticulum 还包含了所有所需密码学原语的纯 Python 实现。如果 OpenSSL 和 PyCA 在系统上不可用的话,Reticulum 会使用自带的纯Python实现。这时,最明显的影响是速度——OpenSSL作为后端会*快的多*。然而最严重的影响,则可能是使用这些没有经受过与 OpenSSL 同级别安全审查、测试与评估的实现所带来的安全性问题。
+
+如果你想使用自带的纯 Python 实现,我非常建议你充分了解可能的风险,并仔细思考这些风险是否适用在你身上。
+
+Reticulum 目前还十分年轻,这一点必须牢记于心。虽说在构建时,开发者尽量遵守了密码学的最佳实践,但它*还没有*受过外部的安全审计,而且很可能会有破坏隐私或是安全性的 Bug。如果你愿意帮忙,或是愿意赞助进行安全审计,请联系开发者。
+
+下一个主题: 致谢与署名
diff --git a/source/docs_zh-cn.md b/source/docs_zh-cn.md
new file mode 100644
index 0000000..4f3254e
--- /dev/null
+++ b/source/docs_zh-cn.md
@@ -0,0 +1,6 @@
+# 阅读手册(Read The Manual)
+你可以在[本站](manual/index.html)或是[GitHub Pages](https://markqvist.github.io/Reticulum/manual/)阅读完整的文档。
+
+你也可以下载[PDF](manual/Reticulum%20Manual.pdf)或是[EPUB](manual/Reticulum%20Manual.epub)格式的文档供离线查看。
+
+下一个主题: 密码学原语
diff --git a/source/donate_zh-cn.md b/source/donate_zh-cn.md
new file mode 100644
index 0000000..a45c0d9
--- /dev/null
+++ b/source/donate_zh-cn.md
@@ -0,0 +1,20 @@
+## 支持 Reticulum(Support Reticulum)
+你可以通过以下途径来支持这一开放、自由、私密的通信系统的开发。
+
+- Monero
+ ```
+ 84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
+ ```
+
+- Ethereum
+ ```
+ 0x81F7B979fEa6134bA9FD5c701b3501A2e61E897a
+ ```
+
+- Bitcoin
+ ```
+ 3CPmacGm34qYvR6XWLVEJmi2aNe3PZqUuq
+ ```
+
+- Ko-Fi
+ `https://ko-fi.com/markqvist`
diff --git a/source/hardware_zh-cn.md b/source/hardware_zh-cn.md
new file mode 100644
index 0000000..03343fd
--- /dev/null
+++ b/source/hardware_zh-cn.md
@@ -0,0 +1,21 @@
+# 硬件支持(Supported Hardware)
+Reticulum 可以被用在任意一个最低支持 500 比特/秒吞吐量、具有 500 字节 MTU(最大传输单元)的半/全双工信道上。数字无线电、调制解调器、LoRa无线电、串口线、AX.25 终端节点控制器(TNCs)、业余无线电台的数字模式、WiFi与以太网、自由空间光通信(free-space optical links)等等,都是 Reticulum 支持的物理设备。下面是一个简单列表:
+
+- 任意以太网设备
+- 几乎所有的基于 WiFi 的硬件
+- LoRa(使用 [RNode](https://unsigned.io/rnode/))
+- 封包无线电终端节点控制器(Packet Radio TNCs) (带或不带 AX.25 均可)
+- 兼容KISS的硬件或软件调制解调器
+- 任何带串口的设备
+- TCP over IP
+- UDP over IP
+- 外部程序(通过 stdio 或是管道)
+- 自制硬件(通过 stdio 或是管道)
+
+若想了解更多细节或是查看完整的支持列表,请参阅手册的[通信硬件(Communications Hardware)](manual/hardware.html)与[受支持的界面(Supported Interfaces)](manual/interfaces.html)部分。
+
+Reticulum 也可以在现有的 IP 网络之上建立连接,所以没有什么阻止你在有线以太网,本地的无线网或是互联网上使用它。在这些地方,它都能工作。事实上,Reticulum 的一大优势就是允许你混合使用各种基础设施,把不同的传输介质连接成一个无需人为干预(self-configuring)、可自恢复(resilient)、加密的网状网络。
+
+你完全可以搭建一个连着 LoRa 无线电、封包无线电终端节点控制器 和 WiFi 的树莓派。在这些硬件都设置好之后,Reticulum 会处理剩下的一切。所有在 WiFi 侧的设备便可以和无线电侧的设备自由通信了,反之亦然。
+
+下一个主题: 公共测试网络
diff --git a/source/index_zh-cn.md b/source/index_zh-cn.md
new file mode 100644
index 0000000..2d24f6b
--- /dev/null
+++ b/source/index_zh-cn.md
@@ -0,0 +1,28 @@
+
+# Reticulum
+Reticulum 是一个基于密码学的网络栈。人们可以用现有的硬件设备基于 Reticulum 搭建本地乃至广域的网络。它甚至可以在极高延迟与极低带宽的情况下运行。
+
+目前的 Reticulum 能够让任何人运行自己的通讯网络。用独立、互联、自治的网络覆盖大片地域从未如此简单与低价。Reticulum 是为了人民、势不可挡的网络。
+
+
+
+Reticulum 不是*一个*网络,而是用于搭建*成千上万*网络的工具——成千上万个没有停止按钮(kill-switches)、没有监控、没有审查与控制,但却协调运作、有机结合、为了人类的网络。
+
+在用户看来,Reticulum 能够用来创造尊重社区与个人的自治型与独立性的应用。它提供了无法被外部操纵、篡改、审查的安全数字通信。
+
+Reticulum 可以构建下至小规模,大至全星球的网络体系,而无需任何层级或是官僚化的结构来控制与管理,同时还能保证社区与个人在自己那部分网络的完全自主权。
+
+## 值得注意的特质(Notable Characteristics)
+虽然 Reticulum 解决的是任何一个网络栈都会试着去解决的问题(把数据通过数个中间节点可靠地从一方传输到另一方),但是解决问题的方式却与其他网络技术相当不同。
+
+- Reticulum 不使用源地址(source addresses)。发出包不会包含源地址、发送位置、机器与操作者之类的信息。
+- Reticulum 中没有对于地址空间的中央控制。任何人都可以在需要的时候分配任意多的地址。
+- Reticulum 保证端到端连接性。新生的地址会在几秒到数分钟之内全局可及。
+- 地址是*[自主](https://zh.wikipedia.org/zh-cn/%E8%BA%AB%E4%BB%BD%E8%87%AA%E4%B8%BB%E6%9D%83)([self-sovereign](https://en.wikipedia.org/wiki/Self-sovereign_identity))*且*便携(portable)*的。它们可以在物理上被移动到网络的另一位置并仍旧保持可及。
+- 所有通信都默认是由[现代、健壮的加密](crypto.html)保护的。
+- 所有的加密密钥都是临时(ephemeral)的。通信默认自带前向保密(forward secrecy)。
+- 不可能在 Reticulum 网络中建立未加密连接。
+- 不可能在 Reticulum 网络中向任何目标发送未加密的数据包。
+- 收到未加密数据包的目标会将数据包视为无效并丢弃。
+
+下一个主题: 开始使用
diff --git a/source/start_zh-cn.md b/source/start_zh-cn.md
new file mode 100644
index 0000000..ec48410
--- /dev/null
+++ b/source/start_zh-cn.md
@@ -0,0 +1,67 @@
+# 开始使用(Get Started)
+开始使用 Reticulum 的第一步是看看自己想做什么。若想查看完整的细节与例子,请参阅[Reticulum 手册](manual/index.html)的[快速开始](manual/gettingstartedfast.html)部分。
+
+## 实验性软件(Experimental Software)
+*请注意!* Reticulum 仍旧处于 Beta 阶段。虽然它目前已经工作得相当良好且稳定,但是在系统整体的行为、隐私或安全性上仍旧可能存在致命的漏洞与缺陷。如果你已经了解可能的后果,并且感觉没问题的话,就开始使用吧!
+
+## 社区与支持(Community & Support)
+
+如果你遇到了问题,或者是有些东西不好使,以下是一些寻求帮助的好地方:
+
+- [Reticulum Github 讨论区](https://github.com/markqvist/Reticulum/discussions)
+- [Reticulum Matrix 群组](element://room/!TRaVWNnQhAbvuiSnEK%3Amatrix.org?via=matrix.org)(`#reticulum:matrix.org`)
+- [Reticulum Reddit 讨论版](https://reddit.com/r/reticulum)
+
+## 安装(Installation)
+安装 Reticulum 及其相关工具最简单的方式是使用 pip:
+
+```bash
+pip install rns
+```
+
+安装完成后,你便可以启动任何依靠 Reticulum 运行的程序,或者是使用 [rnsd 工具](manual/using.html#the-rnsd-utility) 将 Reticulum 作为服务运行。
+
+如果 `pip` 在你的系统上不可用,请首先安装 `python3` 与 `python3-pip`。
+
+首次启动时,Reticulum 会创建一个默认的配置文件。它会试着连接本地可及(locally reachable)的 Reticulum 节点(peer)。如果其中有些节点是”传输节点(Transport Instances)“,它们便可以让你连接上更大范围的网络。默认的配置文件提供了几个样例,以及用于创建复杂配置的参考。
+
+如果想了解更多将通信扩展到各个媒介(如封包无线电(Packet Radio),LoRa、串口、基于IP的高速连接、互联网(通过UDP/TCP)等)的细节,请参阅 [Reticulum 手册](manual/index.html) 的[受支持的界面(Supported Interfaces)](manual/interfaces.html)部分。
+
+## 附带工具(Included Utilities)
+Reticulum 附带了用于管理网络、查看状态与信息等用途的一系列工具。欲知详情,请参阅 [Reticulum 手册](manual/index.html)的[附带工具](manual/using.html#included-utility-programs)部分。
+
+- 用于将 Reticulum 作为服务运行的守护进程(Daemon) `rnsd`
+- 用于查看界面(Interface)信息的工具 `rnstatus`
+- 用于查看与更改路径表(path tables)的工具 `rnpath`
+- 用于检查与目标连接性的诊断工具 `rnprobe`
+- 一个简单的文件传输工具 `rncp`
+- 一个远程命令执行工具 `rnx`
+
+以上提到的所有工具,包括 `rnx` 与 `rncp`,都运行的十分良好且可靠,就算是通过带宽非常低的连接(如 LoRa 与封包无线电)也一样。
+
+## 使用 Reticulum 的程序(Programs Using Reticulum)
+如果你想知道 Reticulum 能做什么,看一看下面的链接吧。
+
+- 无需基建(off-grid)、加密且可自恢复(resilient)的网状(mesh)通讯平台 [Nomad Network](https://github.com/markqvist/NomadNet)
+- 带有图形界面、注重易用性、可在Android、Linux与macOS使用的 [Sideband](https://github.com/markqvist/sideband)
+- 一个分布式、抗延迟、抗干扰、基于 Reticulum 的消息传输协议 [LXMF](https://github.com/markqvist/lxmf)
+
+## 依赖相关(Dependencies)
+`rns` 包默认条件下的安装需要以下依赖。几乎所有的系统与发行版都有直接可用的包。如果是通过 `pip` 安装,这些依赖会直接被下载安装。
+
+- [PyCA/cryptography](https://github.com/pyca/cryptography)
+- [netifaces](https://github.com/al45tair/netifaces)
+- [pyserial](https://github.com/pyserial/pyserial)
+
+若使用的是较为少见的系统,或是在某种特殊情形下,上面的依赖不一定总是能安装或是编译成功。在这种情况下,你可以使用无需额外依赖的 `rnspure` 包。请注意`rns` 与 `rnspure`包的内容是*完全一致*的。唯一的区别是 `rnspure` 包没有显式包含需要安装的依赖。
+
+不论安装 Reticulum 的手段为何,Reticulum 都会在*需要*且*可用*的情况下加载外部依赖。如果你想在一个不支持 [pyserial](https://github.com/pyserial/pyserial) 的系统上运行 Reticulum,使用 `rnspure` 包即可。但是 Reticulum 将无法使用基于串口的界面。所有其他模块仍旧会在需要时被 Reticulum 载入。
+
+**注意!** 如果你在不支持 [PyCA/cryptography](https://github.com/pyca/cryptography) 的系统上使用 `rnspure` 包,请一定确保自己阅读并理解了[密码学原语(Cryptographic Primitives)](crypto.html)的相关内容。
+
+## 性能(Performance)
+Reticulum 的性能差距范围会*非常*大。目前 Reticulum 会优先保证低带宽媒介的可用性与性能。Reticulum 的目标是提供一个250 比特/秒到 1 吉比特/秒(普通硬件条件下)的性能区间。
+
+目前可用的性能区间是 500 比特/秒到 20 兆比特/秒。更快的媒介将无法被充分利用。未来,Reticulum 有着升级性能的意向,但直到有线格式(wire format)和 API 完全稳定之前,性能升级都不会是优先事项。
+
+下一个主题: 硬件支持
From 207d7aa019aa25d6b67b528fbbeb762c0dc2cda1 Mon Sep 17 00:00:00 2001
From: ShouNichi <91327103+ShouNichi@users.noreply.github.com>
Date: Mon, 25 Dec 2023 19:01:44 +0000
Subject: [PATCH 2/2] Add menu translation for Chinese.
---
build.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/build.py b/build.py
index 677eb83..de5ffdf 100644
--- a/build.py
+++ b/build.py
@@ -34,6 +34,7 @@ langs = [
{"name": "Português", "ext": "pt-br"},
{"name": "Türkçe", "ext": "tr"},
{"name": "日本語", "ext": "jp"},
+ {"name": "简体中文", "ext": "zh-cn"},
]
menu_translations = {
@@ -101,6 +102,17 @@ menu_translations = {
"CREDITS": "Créditos",
"SOURCE": "Código",
"DONATE": "Ajude",
+ },
+ "zh-cn": {
+ "RETICULUM": "Reticulum",
+ "START": "开始使用",
+ "HARDWARE": "硬件要求",
+ "TESTNET": "测试网络",
+ "MANUAL": "阅读手册",
+ "CRYPTO": "密码学",
+ "CREDITS": "致谢",
+ "SOURCE": "源代码",
+ "DONATE": "支持开发",
}
}