diff --git a/README.md b/README.md index 264ca75..41a03cc 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![Build Pipeline](https://img.shields.io/github/actions/workflow/status/r12f/sonic-book/mdbook.yml) -Version: [Chinese](https://r12f.com/sonic-book) | [English (WIP)](https://r12f.com/sonic-book/en/) +Version: [Chinese](https://r12f.com/sonic-book) | [English (Machine Translated, WIP)](https://r12f.com/sonic-book/en/) > What is SONiC? > diff --git a/po/en.po b/po/en.po index c04747c..41cceb6 100644 --- a/po/en.po +++ b/po/en.po @@ -24,8 +24,8 @@ msgid "虚拟测试环境" msgstr "Hello World! Virtually!" #: src/SUMMARY.md:6 -msgid "常用命令" -msgstr "Common commands" +msgid "常用命令 (WIP)" +msgstr "Frequently used commands (WIP)" #: src/SUMMARY.md:7 msgid "核心组件" @@ -60,16 +60,16 @@ msgid "编译" msgstr "Compile" #: src/SUMMARY.md:15 -msgid "测试" -msgstr "Test" +msgid "测试 (WIP)" +msgstr "Test (WIP)" #: src/SUMMARY.md:16 -msgid "调试" -msgstr "Debugging" +msgid "调试 (WIP)" +msgstr "Debugging (WIP)" #: src/SUMMARY.md:17 -msgid "SAI调试" -msgstr "SAI debugging" +msgid "SAI调试 (WIP)" +msgstr "SAI debugging (WIP)" #: src/SUMMARY.md:18 msgid "通信机制" @@ -100,8 +100,9 @@ msgid "通信层" msgstr "Communication layer" #: src/SUMMARY.md:25 -msgid "基于ZMQ的通信" -msgstr "ZMQ-based Communication" +#, fuzzy +msgid "基于ZMQ的通信 (WIP)" +msgstr "ZMQ-based Communication (WIP)" #: src/SUMMARY.md:26 msgid "服务层封装 - Orch" @@ -132,20 +133,21 @@ msgid "BGP路由变更下发" msgstr "BGP route update" #: src/SUMMARY.md:33 -msgid "启动流程" -msgstr "Boot" +#, fuzzy +msgid "启动流程 (WIP)" +msgstr "Boot (WIP)" #: src/SUMMARY.md:34 -msgid "冷启动" -msgstr "Cold boot" +msgid "冷启动 (WIP)" +msgstr "Cold boot (WIP)" #: src/SUMMARY.md:35 -msgid "快速启动" -msgstr "Fast boot" +msgid "快速启动 (WIP)" +msgstr "Fast boot (WIP)" #: src/SUMMARY.md:36 -msgid "热启动" -msgstr "Warm boot" +msgid "热启动 (WIP)" +msgstr "Warm boot (WIP)" #: src/1-intro.md:1 msgid "# SONiC入门指南" @@ -161,11 +163,11 @@ msgid "" "是,从1986年第一台交换机面世开始,虽然各个厂商都在进行着相关的开发,到现在为" "止种类也相当的多,但是依然存在一些问题,比如:" msgstr "" -"We know that there is a operating system running inside every switches, " -"no matter if it is complicated or not. It is used for configuring and checking the " -"status of the switch. Since the first switch came out in 1986, with various " -"manufacturers have been doing related development, nowadays, we have a lot of different OSes. " -"However, there are still some problems, for example:" +"We know that there is a operating system running inside every switches, no " +"matter if it is complicated or not. It is used for configuring and checking " +"the status of the switch. Since the first switch came out in 1986, with " +"various manufacturers have been doing related development, nowadays, we have " +"a lot of different OSes. However, there are still some problems, for example:" #: src/1-intro.md:7 msgid "" @@ -182,7 +184,8 @@ msgstr "" "support a variety of complex scenarios in large-scale data centers.\n" "3. Upgrades may lead to network interruptions, making seamless upgrades " "difficult, which can often be a deal breaker for cloud providers.\n" -"4. New features or bug fixes are coming out slowly, hard to suppoprt rapid development in production." +"4. New features or bug fixes are coming out slowly, hard to suppoprt rapid " +"development in production." #: src/1-intro.md:12 msgid "" @@ -191,10 +194,11 @@ msgid "" "使用SONiC,也保证了SONiC的实现确实能够承受大规模的生产环境的考验,这也是SONiC" "的一个优势。" msgstr "" -"Therefore, Microsoft initiated an open-source project in 2016 - SONiC, so that " -"we can solve the problems above by building universal network operating system (NOS). " -"Moreover, Microsoft is widely using SONiC in Azure, which ensures SONiC can indeed support " -"large scale cloud environments. This is also an advantage of SONiC." +"Therefore, Microsoft initiated an open-source project in 2016 - SONiC, so " +"that we can solve the problems above by building universal network operating " +"system (NOS). Moreover, Microsoft is widely using SONiC in Azure, which " +"ensures SONiC can indeed support large scale cloud environments. This is " +"also an advantage of SONiC." #: src/1-intro.md:14 msgid "## 主体架构" @@ -204,8 +208,8 @@ msgstr "## Architecture" msgid "" "SONiC是微软开发的基于debian的开源的网络操作系统,它的设计核心思想有三个:" msgstr "" -"SONiC is an open-source network operating system (NOS) based on Debian and developed " -"by Microsoft. It is designed with three core principles:" +"SONiC is an open-source network operating system (NOS) based on Debian and " +"developed by Microsoft. It is designed with three core principles:" #: src/1-intro.md:18 msgid "" @@ -222,21 +226,23 @@ msgid "" "进行操作和查询,而不用担心状态丢失和协议兼容问题,最后还可以很方便的进行状态" "的备份和恢复。" msgstr "" -"1. **Hardware and software decoupling**: Abstract the hardware layer via SAI (Switch Abstraction " -"Interface), which enables SONiC to support multiple hardware platforms. This layer of abstraction is defined by " -"SONiC and implemented by various manufacturers.\n" -"2. **Containerized service management**: The features of " -"SONiC are broken down into individual Docker containers. Unlike traditional " -"network operating systems, system upgrades can be done on a single container " -"without requiring a full upgrade and restart. This makes upgrades and " -"maintenance convenient, which helps rapid development and iteration.\n" +"1. **Hardware and software decoupling**: Abstract the hardware layer via SAI " +"(Switch Abstraction Interface), which enables SONiC to support multiple " +"hardware platforms. This layer of abstraction is defined by SONiC and " +"implemented by various manufacturers.\n" +"2. **Containerized service management**: The features of SONiC are broken " +"down into individual Docker containers. Unlike traditional network operating " +"systems, system upgrades can be done on a single container without requiring " +"a full upgrade and restart. This makes upgrades and maintenance convenient, " +"which helps rapid development and iteration.\n" "3. **Redis as the central database for service decoupling**: The " -"configuration and status of most services are stored in the " -"central Redis database. This not only allows all services to easily " -"collaborate with each other (data storage and communication) but also simplifies the tool development " -"by providing a unified way to query and configure various services " -"without worrying about state loss and protocol compatibility issues. " -"Finally, it is very convenient to back up and restore the configs as well." +"configuration and status of most services are stored in the central Redis " +"database. This not only allows all services to easily collaborate with each " +"other (data storage and communication) but also simplifies the tool " +"development by providing a unified way to query and configure various " +"services without worrying about state loss and protocol compatibility " +"issues. Finally, it is very convenient to back up and restore the configs as " +"well." #: src/1-intro.md:22 msgid "" @@ -256,9 +262,9 @@ msgid "" "当然,这样的设计也有一些缺点,比如:对磁盘的占用会变大,不过,现在一点点存储" "空间并不是什么很大的问题,而且这个问题也都可以通过一些方法来解决。" msgstr "" -"Of course, such design also has some disadvantages, such as: the " -"disk usage will increase. However, nowadays storage space is usually not a big " -"issue, and it can also be solved or eased by various ways." +"Of course, such design also has some disadvantages, such as: the disk usage " +"will increase. However, nowadays storage space is usually not a big issue, " +"and it can also be solved or eased by various ways." #: src/1-intro.md:30 msgid "## 发展方向" @@ -272,13 +278,13 @@ msgid "" "和研究机构不断的进行创新。SONiC也一样,随着时间的发展,需求一点没有减少。" msgstr "" "Although switches have been developed for many years, with the development " -"of the cloud nowadays, the demands of network becomes higher and " -"higher. No matter it's intuitive features, such as larger bandwidth and larger " +"of the cloud nowadays, the demands of network becomes higher and higher. No " +"matter it's intuitive features, such as larger bandwidth and larger " "capacity, or the latest research, such as in-band computing, end-network " -"fusion, etc., all result in higher requirements and challenges to the development " -"of switches, as well as continuous innovations from manufacturers and research institutions. " -"The same goes for SONiC. As time goes on, the number of feature request " -"has not decreased at all." +"fusion, etc., all result in higher requirements and challenges to the " +"development of switches, as well as continuous innovations from " +"manufacturers and research institutions. The same goes for SONiC. As time " +"goes on, the number of feature request has not decreased at all." #: src/1-intro.md:34 msgid "" @@ -287,8 +293,8 @@ msgid "" "2022 - SONiC Workshop][SONiCWorkshop]。这里就不展开了。" msgstr "" "Regarding the future direction of SONiC, we can see it in its [Roadmap]" -"[SONiCPlanning]. If you are interested in the latest updates, we can " -"also follow its Workshop, such as the recent [OCP Global Summit 2022 - SONiC " +"[SONiCPlanning]. If you are interested in the latest updates, we can also " +"follow its Workshop, such as the recent [OCP Global Summit 2022 - SONiC " "Workshop][SONiCWorkshop]." #: src/1-intro.md:36 @@ -360,7 +366,7 @@ msgstr "" "If you own a switch yourself or plan to buy one, then install SONiC on it, " "please read this section carefully; otherwise, feel free skip it. :D" -#: src/1-1-install.md:5S +#: src/1-1-install.md:5 msgid "## 交换机选择和SONiC安装" msgstr "## Switch Selection and SONiC Installation" @@ -370,11 +376,11 @@ msgid "" "[SONiCDevices]找到,如果你的交换机型号不在列表中,那么就需要联系厂商,看看是" "否有支持SONiC的计划。有很多交换机是不支持SONiC的,比如:" msgstr "" -"First, please confirm whether your switch supports SONiC or not. The switch models " -"currently supported by SONiC can be found [here][SONiCDevices]. If your " -"switch model is not on the list, you will need to contact the manufacturer " -"to see if there is a plan to support SONiC. Many switches do not have " -"SONiC support yet, for example:" +"First, please confirm whether your switch supports SONiC or not. The switch " +"models currently supported by SONiC can be found [here][SONiCDevices]. If " +"your switch model is not on the list, you will need to contact the " +"manufacturer to see if there is a plan to support SONiC. Many switches do " +"not have SONiC support yet, for example:" #: src/1-1-install.md:9 msgid "" @@ -385,21 +391,21 @@ msgid "" "SONiC。" msgstr "" "1. Typical home switches: They usually have relatively low hardware specs " -"(even though some of them have high bandwidth support, such as [MikroTik CRS504-4XQ-IN]" -"[MikroTik100G], it supports 100GbE network, but it only has 16MB of Flash " -"storage and 64MB of RAM, so basically, it can only run its own NOS - RouterOS).\n" -"2. Some data center switches might be outdated models, and " -"manufacturers have no plans to support SONiC." +"(even though some of them have high bandwidth support, such as [MikroTik " +"CRS504-4XQ-IN][MikroTik100G], it supports 100GbE network, but it only has " +"16MB of Flash storage and 64MB of RAM, so basically, it can only run its own " +"NOS - RouterOS).\n" +"2. Some data center switches might be outdated models, and manufacturers " +"have no plans to support SONiC." #: src/1-1-install.md:12 msgid "" "对于安装过程,由于每一家厂商的交换机设计不同,其底层接口各有差别,所以,其安" "装方法也都有所差别,这些差别主要集中在两个地方:" msgstr "" -"Regarding the installation process, because different switches from different manufacturers " -"might have very different design, the installation " -"process can also be different. These differences show up in two major " -"areas:" +"Regarding the installation process, because different switches from " +"different manufacturers might have very different design, the installation " +"process can also be different. These differences show up in two major areas:" #: src/1-1-install.md:14 msgid "" @@ -411,12 +417,13 @@ msgid "" "Flash,有一些是通过ONIE进行安装,这也需要根据自己的交换机来进行配置。" msgstr "" "1. Every manufacturer will have their own [SONiC Builds][SONiCDevices], and " -"some manufacturers will create their own version of SONiC on top of the original one, " -"supporting more functions for their switches. For example:[Dell Enterprise " -"SONiC][DellSonic], [EdgeCore Enterprise SONiC][EdgeCore SONiC]. Therefore, " -"we need to choose the right version carefully according your switch.\n" -"2. Different switch might also have different installation " -"process. Some of them are directly installed from USB by flashing the ROM, and some of them " +"some manufacturers will create their own version of SONiC on top of the " +"original one, supporting more functions for their switches. For example:" +"[Dell Enterprise SONiC][DellSonic], [EdgeCore Enterprise SONiC][EdgeCore " +"SONiC]. Therefore, we need to choose the right version carefully according " +"your switch.\n" +"2. Different switch might also have different installation process. Some of " +"them are directly installed from USB by flashing the ROM, and some of them " "using ONIE. This also needs to be checked according to your switch." #: src/1-1-install.md:17 @@ -425,8 +432,8 @@ msgid "" "的厂商,获取对应的安装文档,然后按照文档进行安装即可。" msgstr "" "So, although the installation process may vary, in general, the installation " -"steps are similar. Please contact your vendor for the detailed " -"installation documentation, and then follow it through." +"steps are similar. Please contact your vendor for the detailed installation " +"documentation, and then follow it through." #: src/1-1-install.md:19 msgid "## 配置交换机" @@ -437,8 +444,9 @@ msgid "" "安装好之后,我们需要进行一些基础设置,部分设置是通用的,我们在这里简单总结一" "下。" msgstr "" -"Once SONiC is installed, we need to do some basic settings, some of which are " -"common, no matter which type of switch you are using, and we'll briefly summarize them here." +"Once SONiC is installed, we need to do some basic settings, some of which " +"are common, no matter which type of switch you are using, and we'll briefly " +"summarize them here." #: src/1-1-install.md:23 msgid "### 设置admin密码" @@ -447,8 +455,8 @@ msgstr "### Set admin password" #: src/1-1-install.md:25 msgid "默认SONiC的账号密码是admin:YourPaSsWoRd,使用默认密码显然不安全:" msgstr "" -"The default SONiC account and password is admin:YourPaSsWoRd, using the default " -"password is obviously not secure. So, please remember to change it:" +"The default SONiC account and password is admin:YourPaSsWoRd, using the " +"default password is obviously not secure. So, please remember to change it:" #: src/1-1-install.md:27 msgid "" @@ -473,9 +481,9 @@ msgid "" msgstr "" "The switch fans in the data center are exceptionally loud! For example, the " "switch I use is Arista 7050QX-32S, which has 4 fans on it and can go up to " -"17,000 rpm. Although I put it in my garage, the high frequency whine can still " -"be heard even on the second floor behind 3 walls, so if you are using it at " -"home, it is recommended to change some settings to turn down the speed." +"17,000 rpm. Although I put it in my garage, the high frequency whine can " +"still be heard even on the second floor behind 3 walls, so if you are using " +"it at home, it is recommended to change some settings to turn down the speed." #: src/1-1-install.md:35 msgid "" @@ -548,9 +556,9 @@ msgid "" "慢了,所以我们在安装完成之后,都会尽快的把Management Port给设置好,然后通过" "SSH的方式来进行管理。" msgstr "" -"The data center switches usually provides Serial Console connection, but " -"its speed is too slow, so it is better for us to have the Management Port set up as soon as " -"possible, then we can use SSH to manage it, which is way faster." +"The data center switches usually provides Serial Console connection, but its " +"speed is too slow, so it is better for us to have the Management Port set up " +"as soon as possible, then we can use SSH to manage it, which is way faster." #: src/1-1-install.md:60 msgid "" @@ -627,8 +635,9 @@ msgid "" "所以我们需要创建一个新的网络配置,然后将我们使用的Port都放入到这个网络配置" "中。这里简单的方法就是创建一个VLAN,使用VLAN Routing:" msgstr "" -"So we need to update the network configuration of the ports we like to use. The easiest way is to " -"create a VLAN, then put all the ports into the VLAN, so we can use VLAN Routing to route the packets:" +"So we need to update the network configuration of the ports we like to use. " +"The easiest way is to create a VLAN, then put all the ports into the VLAN, " +"so we can use VLAN Routing to route the packets:" #: src/1-1-install.md:86 msgid "" @@ -723,10 +732,10 @@ msgid "" "如果你家里只有一台主机使用多网口连接交换机进行测试,那么我们还需要在主机上进" "行一些配置,以保证流量会通过网卡,流经交换机,否则,请跳过这一步。" msgstr "" -"If you only have one machine and try to connect a dual-port NIC to your switch for testing, " -"then we also need to do some " -"configuration on the machine to ensure that traffic will go through the NIC " -"and switch, otherwise, feel free to skip this step." +"If you only have one machine and try to connect a dual-port NIC to your " +"switch for testing, then we also need to do some configuration on the " +"machine to ensure that traffic will go through the NIC and switch, " +"otherwise, feel free to skip this step." #: src/1-1-install.md:123 msgid "" @@ -734,10 +743,11 @@ msgid "" "非常繁琐,经过一些实验,我发现最简单的办法就是将其中一个网口移动到一个新的网" "络命名空间中,就可以了,即便使用的是同一个网段的IP,也不会有问题。" msgstr "" -"There are many guidances on the internet here, such as using iptable DNAT and SNAT rules " -"to create a virtual address, but the process is very tedious. After " -"some experiments, I found that the easiest way is to simply move one of the nic " -"into a new network namespace, even if you are using the IP of the same network segment." +"There are many guidances on the internet here, such as using iptable DNAT " +"and SNAT rules to create a virtual address, but the process is very tedious. " +"After some experiments, I found that the easiest way is to simply move one " +"of the nic into a new network namespace, even if you are using the IP of the " +"same network segment." #: src/1-1-install.md:125 msgid "" @@ -746,8 +756,8 @@ msgid "" "空间中,再配置好ip地址就可以了:" msgstr "" "For example, I uses Netronome Agilio CX 2x40GbE, which creates two " -"interfaces: `enp66s0np0` and `enp66s0np1`. With the following commands, we can move `enp66s0np1` " -"to a new network namespace and give it a ip address:" +"interfaces: `enp66s0np0` and `enp66s0np1`. With the following commands, we " +"can move `enp66s0np1` to a new network namespace and give it a ip address:" #: src/1-1-install.md:127 msgid "" @@ -780,7 +790,8 @@ msgstr "" #: src/1-1-install.md:140 msgid "这样就可以了,我们可以通过iperf来测试一下,并在交换机上进行确认:" msgstr "" -"That's it! Now, we can now test our setup with iperf and confirm the traffic on switch:" +"That's it! Now, we can now test our setup with iperf and confirm the traffic " +"on switch:" #: src/1-1-install.md:142 msgid "" @@ -12429,16 +12440,16 @@ msgstr "" #: src/6-boot.md:1 msgid "# 启动流程" -msgstr "# Start-up process" +msgstr "# Boot" #: src/6-1-cold-boot.md:1 msgid "# 冷启动" -msgstr "# Cold start" +msgstr "# Cold boot " #: src/6-2-fast-boot.md:1 msgid "# 快速启动" -msgstr "# Quick Start" +msgstr "# Fast boot" #: src/6-3-warm-boot.md:1 msgid "# 热启动" -msgstr "# Hot start" +msgstr "# Warm boot" \ No newline at end of file diff --git a/po/messages.pot b/po/messages.pot index c36e5ef..4e8e268 100644 --- a/po/messages.pot +++ b/po/messages.pot @@ -25,7 +25,7 @@ msgid "虚拟测试环境" msgstr "" #: src/SUMMARY.md:6 -msgid "常用命令" +msgid "常用命令 (WIP)" msgstr "" #: src/SUMMARY.md:7 @@ -61,15 +61,15 @@ msgid "编译" msgstr "" #: src/SUMMARY.md:15 -msgid "测试" +msgid "测试 (WIP)" msgstr "" #: src/SUMMARY.md:16 -msgid "调试" +msgid "调试 (WIP)" msgstr "" #: src/SUMMARY.md:17 -msgid "SAI调试" +msgid "SAI调试 (WIP)" msgstr "" #: src/SUMMARY.md:18 @@ -101,7 +101,7 @@ msgid "通信层" msgstr "" #: src/SUMMARY.md:25 -msgid "基于ZMQ的通信" +msgid "基于ZMQ的通信 (WIP)" msgstr "" #: src/SUMMARY.md:26 @@ -133,19 +133,19 @@ msgid "BGP路由变更下发" msgstr "" #: src/SUMMARY.md:33 -msgid "启动流程" +msgid "启动流程 (WIP)" msgstr "" #: src/SUMMARY.md:34 -msgid "冷启动" +msgid "冷启动 (WIP)" msgstr "" #: src/SUMMARY.md:35 -msgid "快速启动" +msgid "快速启动 (WIP)" msgstr "" #: src/SUMMARY.md:36 -msgid "热启动" +msgid "热启动 (WIP)" msgstr "" #: src/1-intro.md:1 diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 1296954..4c05085 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -3,7 +3,7 @@ - [SONiC入门指南](./1-intro.md) - [安装](./1-1-install.md) - [虚拟测试环境](./1-2-hello-world-virtually.md) - - [常用命令](./1-3-command-cheatsheet.md) + - [常用命令 (WIP)](./1-3-command-cheatsheet.md) - [核心组件](./2-components.md) - [Redis数据库](./2-1-database.md) - [服务与工作流](./2-2-services-intro.md) @@ -12,9 +12,9 @@ - [开发上手指南](./3-dev-guide.md) - [代码仓库](./3-1-code-repos.md) - [编译](./3-2-compile.md) - - [测试](./3-3-testing.md) - - [调试](./3-4-debugging.md) - - [SAI调试](./3-4-sai-debugging.md) + - [测试 (WIP)](./3-3-testing.md) + - [调试 (WIP)](./3-4-debugging.md) + - [SAI调试 (WIP)](./3-4-sai-debugging.md) - [通信机制](./4-communications.md) - [与内核的通信]() - [命令行调用](./4-1-1-exec.md) @@ -22,7 +22,7 @@ - [基于Redis的通信]() - [Redis封装](./4-2-1-redis-wrappers.md) - [通信层](./4-2-2-redis-messaging-layer.md) - - [基于ZMQ的通信](./4-3-zmq-messaging.md) + - [基于ZMQ的通信 (WIP)](./4-3-zmq-messaging.md) - [服务层封装 - Orch](./4-4-orch-layer.md) - [事件分发和错误处理](./4-5-event-polling-and-error-handling.md) - [工作流](./5-workflows.md) @@ -30,7 +30,7 @@ - [BGP工作流](./5-2-bgp-workflow.md) - [BGP命令实现](./5-2-1-bgp-command-impl.md) - [BGP路由变更下发](./5-2-2-bgp-route-update-workflow.md) -- [启动流程](./6-boot.md) - - [冷启动](./6-1-cold-boot.md) - - [快速启动](./6-2-fast-boot.md) - - [热启动](./6-3-warm-boot.md) +- [启动流程 (WIP)](./6-boot.md) + - [冷启动 (WIP)](./6-1-cold-boot.md) + - [快速启动 (WIP)](./6-2-fast-boot.md) + - [热启动 (WIP)](./6-3-warm-boot.md)