2 个版本
0.1.1 | 2021 年 6 月 6 日 |
---|---|
0.1.0 | 2021 年 6 月 3 日 |
#1332 in 文本处理
135KB
3.5K SLoC
mdTranslation
mdTranslation 是一个用于准备多语言 Markdown 文档的工具。
还有一个名为 mdbook-translation
的 mdBook 预处理器,用于处理 mdBook 书籍。
它是如何实现这一点的?
这是通过将源内容和它们的翻译关联在一起来完成的。这种关联以特定简单格式中的单独 Markdown 文档的形式表示。
此文件看起来像这样
> Original content 1
* lang_ID1
Translated content written in lang_ID1
* lang_ID2
Translated content written in lang_ID2
****
...
此库可以读取和比较每个叶节点(段落、列表项等)内的 Markdown 内容,与这里的所有原始内容进行比较。如果有匹配项,它将用相应的翻译内容替换它。这使得在不接触原始文档的情况下进行翻译成为可能。
mdTranslation 命令行工具
要使用命令行工具,请在终端中输入以下内容
cargo install mdtranslation-cli
这允许您使用两个命令
mdtranslation_extract
此工具帮助您将原始内容和初始模板提取到 Markdown 文件中。
例如,如果您想为 a.md
提供法语翻译,您可以执行以下操作
mdtranslation_extract -l fr_FR a.md >> a.i18n.md
这里的使用 >>
允许新生成的内容被追加到文件的末尾。您可以使用此方法收集一本书中的所有段落。
mdtranslation_translate
此工具帮助您为 Markdown 文件生成翻译和渲染的 HTML 文件。
例如,如果您想为 a.md
提供法语翻译,并且您已经准备好翻译文件 a.i18n.md
,您可以执行以下操作
mdtranslation_translate -l fr_FR -t a.i18n.md a.md > a.htm
如果您在 a.i18n.md 中没有指定语言,您可以在此处传递额外的 -d fr_FR
参数,告诉程序该语言实际上是 fr_FR
。这对于单翻译语言情况很有用,尽管我们鼓励您为每个段落都实际指定语言。
mdBook-translation 预处理器
还有一个 mdBook 预处理器,允许您将 mdTranslation 与 mdBook 一起使用。
- 要安装 mdBook 预处理器,请在终端中输入以下内容
cargo install mdbook-translation
- 之后,您可以通过在
book.toml
中添加以下内容来为此书籍启用此预处理器
[preprocessor.translation]
- 现在,在您像往常一样运行
mdbook build
之前,您可以设置环境变量,要求预处理器以特定语言生成书籍。
如果您使用 Windows cmd.exe,则需要这样做
set MDTRANSLATION_INPUT=book.i18n.md
set MDTRANSLATION_LANG=fr_FR
set MDTRANSLATION_DEFAULT_LANG=fr_FR
或者如果您使用的是*nix shell
export MDTRANSLATION_INPUT=book.i18n.md
export MDTRANSLATION_LANG=fr_FR
export MDTRANSLATION_DEFAULT_LANG=fr_FR
书的内容将被翻译内容所替换。
依赖项
~12-24MB
~330K SLoC