/Free-Markdown-Translator

Free Markdown Translator是一款基于Google Translate API 的免费、开源的Markdown文档翻译器,能够将你的md翻译成任意种语言。

Primary LanguagePythonGNU Lesser General Public License v2.1LGPL-2.1

Free Markdown Translator

made-with-python made-with-javascript Ask Me Anything !

简介

Free Markdown Translator是一款基于Google Translate API 的免费、开源的Markdown文档(以下简称md)翻译器,能够将你的md翻译成任意种语言。

功能:

  • 将md翻译成任意种语言
  • 不会破坏md原有的格式,同时支持自定义翻译规则
  • 支持多线程翻译,同时加入了负载均衡机制,能够有效地利用谷歌翻译接口并且避免文档翻译失败的发生
  • 支持一次程序运行翻译多个文件夹、一个文件夹下的多个文件,增加了便捷性
  • 支持在机器翻译的md中添加警告语

Google Translate API参考VictorZhang2014/free-google-translate: Free Google Translator API 免费的Google翻译 (github.com),本程序参考如何使用translate.google.cn免費Google翻譯網站翻譯整篇Markdown文檔, V2修改版 (knightli.com)

安装与运行

注意,本程序依赖谷歌翻译,在**大陆等地区需要连接代理方能使用。

可执行程序安装与使用

可执行程序采用默认配置,配置不可更改,默认将中文翻译为10余种目标语言,由于我的时间精力有限,没有将配置写到配置文件中,若需要个性化配置请克隆源代码后操作。

  1. 下载右侧的发行版(MarkdownTranslator.exe)
  2. 打开系统控制台,并为控制台设置代理
  3. 在控制台中键入以下命令
MarkdownTranslator.exe [-h] folder [folder ...]

参数位置放置待翻译的文件夹,可以添加多个文件夹,程序会自动按顺序翻译每个文件夹下的每个在配置文件中指定的文件。

例如,若指定的目标语言为英语(en)、日本语(ja),则readme.md文件会被翻译到同文件夹下的readme.en.md,readme.ja.md

源代码克隆与使用

  1. 将仓库克隆或将源代码下载到本地
git clone git@github.com:AprilInJuly/Free-Markdown-Translator.git
  1. 安装软件包PyExecJS
pip install PyExecJS
  1. 进入代码目录,运行代码
python.exe MarkdownTranslator.py [-h] folder [folder ...]

参数位置放置待翻译的文件夹,可以添加多个文件夹,程序会自动按顺序翻译每个文件夹下的每个在配置文件中指定的文件。

例如,若指定的目标语言为英语(en)、日本语(ja),则readme.md文件会被翻译到同文件夹下的readme.en.md,readme.ja.md

配置

请在config.py中进行配置

  1. insert_warnings: 控制是否在文章前面添加机器翻译的Warning
  2. src_language: 指定源语言,auto表示由谷歌自动识别
  3. warnings_mapping: 配置目标语言的warning
  4. dest_langs: 配置目标语言,可以手动指定目标语言,也可以直接使用warnings_mapping中配置的目标语言,按照定义顺序翻译
  5. skipped_regexs: 指定要跳过翻译的字符的正则表达式
  6. detect_filenames: 文件目录下需要翻译的md文档的名称
  7. front_matter_transparent_keys: markdown的Front Matter中不用翻译的部分
  8. front_matter_key_value_keys: Front Matter中需要以Key-Value形式翻译的部分
  9. front_matter_key_value_array_keys: Front Matter中以Key-Value—Arrays形式翻译

目标语言配置详情

由于使用的是谷歌翻译接口,所以目标语言需要使用ISO 639-1语言代码,具体可以参考List of ISO 639-1 codes - Wikipedia,下面给出一些常用的语言代码

语言名称 该语言自称 语言代码
Chinese 漢語、汉语、华语 zh
English English en
Japanese 日本語 ja
Spanish Español es
Russian русский ru
French français fr
German Deutsch de
Arabic العربية ar
Hindi हिन्दी hi
Portuguese Português pt
Korean 한국어/韓國語, 朝鮮말/조선말 ko