Merge branch 'doc/language_link' into 'master'

docs: add language link to easily change to Chinese version.

See merge request idf/esp-idf!2051
This commit is contained in:
Angus Gratton 2018-05-21 11:00:37 +08:00
commit 9802c3e32c
29 changed files with 96 additions and 5 deletions

BIN
docs/_static/choose_version.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -165,6 +165,20 @@ How it renders:
A check is added to the CI build script, which searches RST files for presence of hard-coded links (identified by tree/master, blob/master, or raw/master part of the URL). This check can be run manually: ``cd docs`` and then ``make gh-linkcheck``. A check is added to the CI build script, which searches RST files for presence of hard-coded links (identified by tree/master, blob/master, or raw/master part of the URL). This check can be run manually: ``cd docs`` and then ``make gh-linkcheck``.
Linking Language Versions
-------------------------
Switching between documentation in different languages may be done using ``:link_to_translation:`` custom role. The role placed on a page of documentation provides a link to the same page in a language specified as a parameter. Examples below show how to enter links to Chinese and English versions of documentation::
:link_to_translation:`zh_CN:中文版`
:link_to_translation:`en:English`
The language is specified using standard abbreviations like ``en`` or ``zh_CN``. The text after last semicolon is not standardized and may be entered depending on the context where the link is placed, e.g.::
:link_to_translation:`en:see description in English`
.. _add-illustrations: .. _add-illustrations:
Add Illustrations Add Illustrations

View file

@ -1,5 +1,6 @@
Add IDF_PATH to User Profile Add IDF_PATH to User Profile
============================ ============================
:link_to_translation:`zh_CN:[中文]`
To preserve setting of ``IDF_PATH`` environment variable between system restarts, add it to the user profile, following instructions below. To preserve setting of ``IDF_PATH`` environment variable between system restarts, add it to the user profile, following instructions below.

View file

@ -1,6 +1,7 @@
********************** **********************
Eclipse IDE on Windows Eclipse IDE on Windows
********************** **********************
:link_to_translation:`zh_CN:[中文]`
Configuring Eclipse on Windows requires some different steps. The full configuration steps for Windows are shown below. Configuring Eclipse on Windows requires some different steps. The full configuration steps for Windows are shown below.

View file

@ -1,6 +1,7 @@
******************************** ********************************
Build and Flash with Eclipse IDE Build and Flash with Eclipse IDE
******************************** ********************************
:link_to_translation:`zh_CN:[中文]`
.. _eclipse-install-steps: .. _eclipse-install-steps:

View file

@ -1,5 +1,6 @@
Establish Serial Connection with ESP32 Establish Serial Connection with ESP32
====================================== ======================================
:link_to_translation:`zh_CN:[中文]`
This section provides guidance how to establish serial connection between ESP32 and PC. This section provides guidance how to establish serial connection between ESP32 and PC.

View file

@ -1,5 +1,6 @@
ESP32-PICO-KIT V4 Getting Started Guide ESP32-PICO-KIT V4 Getting Started Guide
======================================= =======================================
:link_to_translation:`zh_CN:[中文]`
This user guide shows how to get started with the ESP32-PICO-KIT V4 mini development board. For description of other versions of the ESP32-PICO-KIT check :doc:`../hw-reference/index`. This user guide shows how to get started with the ESP32-PICO-KIT V4 mini development board. For description of other versions of the ESP32-PICO-KIT check :doc:`../hw-reference/index`.

View file

@ -1,6 +1,7 @@
*********** ***********
IDF Monitor IDF Monitor
*********** ***********
:link_to_translation:`zh_CN:[中文]`
The IDF Monitor tool is a Python program which runs when the ``make monitor`` target is invoked in IDF. The IDF Monitor tool is a Python program which runs when the ``make monitor`` target is invoked in IDF.

View file

@ -1,6 +1,7 @@
*********** ***********
Get Started Get Started
*********** ***********
:link_to_translation:`zh_CN:[中文]`
This document is intended to help users set up the software environment for development of applications using hardware based on the Espressif ESP32. Through a simple example we would like to illustrate how to use ESP-IDF (Espressif IoT Development Framework), including the menu based configuration, compiling the ESP-IDF and firmware download to ESP32 boards. This document is intended to help users set up the software environment for development of applications using hardware based on the Espressif ESP32. Through a simple example we would like to illustrate how to use ESP-IDF (Espressif IoT Development Framework), including the menu based configuration, compiling the ESP-IDF and firmware download to ESP32 boards.

View file

@ -1,6 +1,7 @@
************************************* *************************************
Standard Setup of Toolchain for Linux Standard Setup of Toolchain for Linux
************************************* *************************************
:link_to_translation:`zh_CN:[中文]`
Install Prerequisites Install Prerequisites

View file

@ -1,6 +1,7 @@
************************************** **************************************
Standard Setup of Toolchain for Mac OS Standard Setup of Toolchain for Mac OS
************************************** **************************************
:link_to_translation:`zh_CN:[中文]`
Install Prerequisites Install Prerequisites
===================== =====================

View file

@ -1,5 +1,6 @@
Build and Flash with Make Build and Flash with Make
========================= =========================
:link_to_translation:`zh_CN:[中文]`
Finding a project Finding a project

View file

@ -1,6 +1,7 @@
*************************************** ***************************************
Standard Setup of Toolchain for Windows Standard Setup of Toolchain for Windows
*************************************** ***************************************
:link_to_translation:`zh_CN:[中文]`
Introduction Introduction
============ ============

View file

@ -1,8 +1,11 @@
ESP-IDF Programming Guide ESP-IDF Programming Guide
========================= =========================
:link_to_translation:`zh_CN:[中文]`
This is the documentation for Espressif IoT Development Framework (`esp-idf <https://github.com/espressif/esp-idf>`_). ESP-IDF is the official development framework for the `ESP32 <https://espressif.com/en/products/hardware/esp32/overview>`_ chip. This is the documentation for Espressif IoT Development Framework (`esp-idf <https://github.com/espressif/esp-idf>`_). ESP-IDF is the official development framework for the `ESP32 <https://espressif.com/en/products/hardware/esp32/overview>`_ chip.
The documentation has different language versions (:link_to_translation:`en:English`, :link_to_translation:`zh_CN:中文版`, :doc:`How to switch between languages? <languages>`). However, please refer to the English version if there is any discrepancy.
================== ================== ================== ================== ================== ==================
|Get Started|_ |API Reference|_ |H/W Reference|_ |Get Started|_ |API Reference|_ |H/W Reference|_
------------------ ------------------ ------------------ ------------------ ------------------ ------------------
@ -44,5 +47,6 @@ This is the documentation for Espressif IoT Development Framework (`esp-idf <htt
Resources <resources> Resources <resources>
Copyrights <COPYRIGHT> Copyrights <COPYRIGHT>
About <about> About <about>
[语言/Languages] <languages>
* :ref:`genindex` * :ref:`genindex`

19
docs/en/languages.rst Normal file
View file

@ -0,0 +1,19 @@
Switch Between Languages/切换语言
=================================
The documentation now has two language versions, however, please refer to the English version if there is any discrepancy.
本文档现在有两种语言的版本,如有出入请以英文版本为准。
- English/英文
- Chinese/中文
You can easily changed from one language to another by the panel on the sidebar like below. Just click on the **Read
the Docs** title button on the left-bottom conner if it is folded.
如下图所示,你可使用边栏的面板进行语言的切换。如果该面板被折叠,点击左下角 **Read the Docs** 标题按钮来显示它。
.. image:: /../_static/choose_version.png

View file

@ -1,6 +1,7 @@
# based on http://protips.readthedocs.io/link-roles.html # based on http://protips.readthedocs.io/link-roles.html
import re import re
import os
from docutils import nodes from docutils import nodes
from local_util import run_cmd_get_output from local_util import run_cmd_get_output
@ -13,10 +14,11 @@ def get_github_rev():
path = tag path = tag
return path return path
def setup(app): def setup(app):
baseurl = 'https://github.com/espressif/esp-idf'
rev = get_github_rev() rev = get_github_rev()
# links to files or folders on the GitHub
baseurl = 'https://github.com/espressif/esp-idf'
app.add_role('idf', autolink('{}/tree/{}/%s'.format(baseurl, rev))) app.add_role('idf', autolink('{}/tree/{}/%s'.format(baseurl, rev)))
app.add_role('idf_file', autolink('{}/blob/{}/%s'.format(baseurl, rev))) app.add_role('idf_file', autolink('{}/blob/{}/%s'.format(baseurl, rev)))
app.add_role('idf_raw', autolink('{}/raw/{}/%s'.format(baseurl, rev))) app.add_role('idf_raw', autolink('{}/raw/{}/%s'.format(baseurl, rev)))
@ -27,6 +29,19 @@ def setup(app):
app.add_role('example_file', autolink('{}/blob/{}/examples/%s'.format(baseurl, rev))) app.add_role('example_file', autolink('{}/blob/{}/examples/%s'.format(baseurl, rev)))
app.add_role('example_raw', autolink('{}/raw/{}/examples/%s'.format(baseurl, rev))) app.add_role('example_raw', autolink('{}/raw/{}/examples/%s'.format(baseurl, rev)))
# link to the current documentation file in specific language version
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
if on_rtd:
# provide RTD specific commit identification to be included in the link
tag_rev = 'latest'
if (run_cmd_get_output('git rev-parse --short HEAD') != rev):
tag_rev = rev
else:
# if not on the RTD then provide generic identification
tag_rev = run_cmd_get_output('git describe --always')
app.add_role('link_to_translation', crosslink('%s../../%s/{}/%s.html'.format(tag_rev)))
def autolink(pattern): def autolink(pattern):
def role(name, rawtext, text, lineno, inliner, options={}, content=[]): def role(name, rawtext, text, lineno, inliner, options={}, content=[]):
m = re.search('(.*)\s*<(.*)>', text) m = re.search('(.*)\s*<(.*)>', text)
@ -40,3 +55,14 @@ def autolink(pattern):
node = nodes.reference(rawtext, link_text, refuri=url, **options) node = nodes.reference(rawtext, link_text, refuri=url, **options)
return [node], [] return [node], []
return role return role
def crosslink(pattern):
def role(name, rawtext, text, lineno, inliner, options={}, content=[]):
(language, link_text) = text.split(':')
docname = inliner.document.settings.env.docname
doc_path = inliner.document.settings.env.doc2path(docname, None, None)
return_path = '../' * doc_path.count('/')
url = pattern % (return_path, language, docname)
node = nodes.reference(rawtext, link_text, refuri=url, **options)
return [node], []
return role

View file

@ -1,5 +1,6 @@
在用户配置文件中添加 IDF_PATH 在用户配置文件中添加 IDF_PATH
============================== ==============================
:link_to_translation:`en:[English]`
为了在系统多次重新启动时保留 “IDF_PATH” 环境变量的设置,请按照以下说明将其添加到用户配置文件中。 为了在系统多次重新启动时保留 “IDF_PATH” 环境变量的设置,请按照以下说明将其添加到用户配置文件中。
@ -60,4 +61,4 @@ Linux and MacOS
export IDF_PATH=~/esp/esp-idf export IDF_PATH=~/esp/esp-idf
如果您从 :ref:`get-started-setup-path` 小节跳转到了这里,在安装用于 ESP32 开发的软件时,返回到 :ref:`get-started-start-project` 小节。 如果您从 :ref:`get-started-setup-path` 小节跳转到了这里,在安装用于 ESP32 开发的软件时,返回到 :ref:`get-started-start-project` 小节。

View file

@ -1,6 +1,7 @@
***************************************************** *****************************************************
Eclipse IDE 的创建和烧录指南Windows 平台) Eclipse IDE 的创建和烧录指南Windows 平台)
***************************************************** *****************************************************
:link_to_translation:`en:[English]`
Windows 平台上的 Eclipse 配置略有不同,具体步骤请见下文。 Windows 平台上的 Eclipse 配置略有不同,具体步骤请见下文。
@ -78,4 +79,4 @@ Windows 平台的 Eclipse 介绍到此结束,下方将主要将介绍一些关
* 首先xtensa-esp32-elf-gcc 交叉编译器 *并非* Cygwin 工具链,但我们会在 Eclipse 中指定其为 Cygwin 工具链。主要原因在于msys2 需要使用 Cygwin并支持 Unix 风格的路径,即 ``/c/blah``,而非 ``c:/blah`` 或 ``c:\\blah``。特别需要说明的是,``xtensa-esp32-elf-gcc`` 会“告知” Eclipse 的 ``built-in compiler settings`` 功能,其内置 “include” 目录全部位于 ``/usr/`` 路径下,这也是 Eclipse 唯一可以解析的 ``Unix/Cygwin`` 风格路径。通过在 Eclipse 中指定 ``xtensa-esp32-elf-gcc`` 交叉编译器为 Cygwin 编译器,可以让 Eclipse 使用 cygpath 实用程序直接内部解析路径。 * 首先xtensa-esp32-elf-gcc 交叉编译器 *并非* Cygwin 工具链,但我们会在 Eclipse 中指定其为 Cygwin 工具链。主要原因在于msys2 需要使用 Cygwin并支持 Unix 风格的路径,即 ``/c/blah``,而非 ``c:/blah`` 或 ``c:\\blah``。特别需要说明的是,``xtensa-esp32-elf-gcc`` 会“告知” Eclipse 的 ``built-in compiler settings`` 功能,其内置 “include” 目录全部位于 ``/usr/`` 路径下,这也是 Eclipse 唯一可以解析的 ``Unix/Cygwin`` 风格路径。通过在 Eclipse 中指定 ``xtensa-esp32-elf-gcc`` 交叉编译器为 Cygwin 编译器,可以让 Eclipse 使用 cygpath 实用程序直接内部解析路径。
* 在解析 ESP-IDF 的 make 结果时也经常会出现同样的问题。Eclipse 可以解析 make 的结果,查找头文件目录,但是无法脱离 ``cygpath``,直接解析类似 ``/c/blah`` 的目录。``Eclipse Build Output Parser`` 将利用该机制确认是否调用 ``cygpath``,但由于未知原因,目前 ESP-IDF 配置并不会触发该功能。出于这个原因,我们会使用 ``eclipse_make.py`` 包装脚本调用 ``make``,然后使用 ``cygpath`` 处理 Eclipse 的结果。 * 在解析 ESP-IDF 的 make 结果时也经常会出现同样的问题。Eclipse 可以解析 make 的结果,查找头文件目录,但是无法脱离 ``cygpath``,直接解析类似 ``/c/blah`` 的目录。``Eclipse Build Output Parser`` 将利用该机制确认是否调用 ``cygpath``,但由于未知原因,目前 ESP-IDF 配置并不会触发该功能。出于这个原因,我们会使用 ``eclipse_make.py`` 包装脚本调用 ``make``,然后使用 ``cygpath`` 处理 Eclipse 的结果。

View file

@ -1,6 +1,7 @@
**************************** ****************************
Eclipse IDE 的创建和烧录指南 Eclipse IDE 的创建和烧录指南
**************************** ****************************
:link_to_translation:`en:[English]`
.. _eclipse-install-steps: .. _eclipse-install-steps:

View file

@ -1,5 +1,6 @@
与 ESP32 创建串口连接 与 ESP32 创建串口连接
========================= =========================
:link_to_translation:`en:[English]`
本章节介绍如何在 ESP32 和 PC 之间建立串口连接。 本章节介绍如何在 ESP32 和 PC 之间建立串口连接。

View file

@ -1,5 +1,6 @@
ESP32-PICO-KIT V4 入门指南 ESP32-PICO-KIT V4 入门指南
============================ ============================
:link_to_translation:`en:[English]`
本指南介绍了如何开始使用 ESP32-PICO-KIT V4 迷你开发板。有关 ESP32-PICO-KIT 其他版本的介绍,请见 :doc:`../hw-reference/index` 本指南介绍了如何开始使用 ESP32-PICO-KIT V4 迷你开发板。有关 ESP32-PICO-KIT 其他版本的介绍,请见 :doc:`../hw-reference/index`
@ -216,4 +217,4 @@ Header J3
.. toctree:: .. toctree::
:hidden: :hidden:
get-started-pico-kit-v3 get-started-pico-kit-v3

View file

@ -1,6 +1,7 @@
*********** ***********
IDF Monitor IDF Monitor
*********** ***********
:link_to_translation:`en:[English]`
IDF Monitor 工具是在 IDF 中调用 “make monitor” 目标时运行的 Python 程序。 IDF Monitor 工具是在 IDF 中调用 “make monitor” 目标时运行的 Python 程序。

View file

@ -1,6 +1,7 @@
*********** ***********
快速入门 快速入门
*********** ***********
:link_to_translation:`en:[English]`
本文档旨在指导用户创建 ESP32 的软件环境。本文将通过一个简单的例子来说明如何使用 ESP-IDF (Espressif IoT Development Framework),包括配置、编译、下载固件到开发板等步骤。 本文档旨在指导用户创建 ESP32 的软件环境。本文将通过一个简单的例子来说明如何使用 ESP-IDF (Espressif IoT Development Framework),包括配置、编译、下载固件到开发板等步骤。

View file

@ -1,6 +1,7 @@
***************************** *****************************
Linux 平台工具链的标准设置 Linux 平台工具链的标准设置
***************************** *****************************
:link_to_translation:`en:[English]`
安装前提 安装前提
===================== =====================

View file

@ -1,6 +1,7 @@
************************************** **************************************
在 Mac OS 上安装 ESP32 工具链 在 Mac OS 上安装 ESP32 工具链
************************************** **************************************
:link_to_translation:`en:[English]`
安装准备 安装准备
================ ================

View file

@ -1,5 +1,6 @@
通过 make 指令创建和烧录项目 通过 make 指令创建和烧录项目
============================= =============================
:link_to_translation:`en:[English]`
寻找项目 寻找项目

View file

@ -1,6 +1,7 @@
*************************************** ***************************************
Windows 平台工具链的标准设置 Windows 平台工具链的标准设置
*************************************** ***************************************
:link_to_translation:`en:[English]`
引言 引言
============ ============

View file

@ -1,8 +1,11 @@
ESP-IDF 编程指南 ESP-IDF 编程指南
========================= =========================
:link_to_translation:`en:[English]`
这是乐鑫 IoT 开发开发框架 (`esp-idf <https://github.com/espressif/esp-idf>`_) 的文档. ESP-IDF 是 `ESP32 <https://www.espressif.com/zh-hans/products/hardware/esp32/overview>`_ 芯片的官方开发框架. 这是乐鑫 IoT 开发开发框架 (`esp-idf <https://github.com/espressif/esp-idf>`_) 的文档. ESP-IDF 是 `ESP32 <https://www.espressif.com/zh-hans/products/hardware/esp32/overview>`_ 芯片的官方开发框架.
本文档提供不同语言的翻译版本 (:link_to_translation:`en:English`, :link_to_translation:`zh_CN:中文版`, :doc:`如何切换语言? <languages>`), 如有出入请以英文版本为准。
================== ================== ================== ================== ================== ==================
|快速入门|_ |API 参考|_ |H/W 参考|_ |快速入门|_ |API 参考|_ |H/W 参考|_
------------------ ------------------ ------------------ ------------------ ------------------ ------------------
@ -44,5 +47,7 @@ ESP-IDF 编程指南
相关资源 <resources> 相关资源 <resources>
版权 <COPYRIGHT> 版权 <COPYRIGHT>
关于 <about> 关于 <about>
[Languages/语言] <languages>
* :ref:`genindex` * :ref:`genindex`

1
docs/zh_CN/languages.rst Normal file
View file

@ -0,0 +1 @@
.. include:: ../en/languages.rst