ITPub博客

首页 > 数据库 > > Sphinx 国际化

Sphinx 国际化

作者:u_9ff4c058a0e0 时间:2022-03-21 14:16:14 0 删除 编辑

对于英文不好的人,可能会有应该烦恼:外文阅读很低效。

本文介绍了一个项目可以在一定程度上提高阅读外文的效率。

本项目 xinetzone/sphinx-intl-deploy 支持将项目文档翻译为多语言。

下面以翻译项目 sphinx-doc/sphinx-intl 为中文,展示如何配置 .github/workflows/deploy.yml。

直接使用

  1. 克隆本项目后,克隆需要翻译的项目 sphinx-doc/sphinx-intl 以及 HTML w3css 主题:
- name: 克隆需要翻译的项目以及 HTML w3css 主题
  run: |
    git clone https://github.com/sphinx-doc/sphinx-intl.git draft
    git clone https://github.com/xinetzone/xin-css.git draft/doc/_static/xin-css
    git clone https://github.com/xinetzone/w3css.git draft/doc/_static/w3css
  1. 构建 Sphinx 文档:

对于 BSD/Linux 系统:

- name: 构建 Sphinx 文档
  run: |
    cp locales/ -rf draft/doc/locale/
    cd draft/doc
    make gettext
    make -e SPHINXOPTS="-Dlanguage='zh_CN'" html

对于 Windows 系统的 cmd:

- name: 构建 Sphinx 文档
  run: |
    cp locales/ -rf draft/doc/locale/
    cd draft/doc
    make gettext
    set SPHINXOPTS=-D language=zh_CN
    make html

对于 Windows 系统的 PowerShell:

- name: 构建 Sphinx 文档
  run: |
    cp locales/ -rf draft/doc/locale/
    cd draft/doc
    make gettext
    Set-Item env:SPHINXOPTS "-D language=zh_CN"
    make html

集成于需要翻译的项目

如果需要集成本项目到需要翻译的项目中,只需要将本项目的 locales/ 下的语言文件(如 zh_CN/)复制到该项目的文档源目录(比如 sphinx-doc/sphinx-intl 项目的 doc/locale)下即可。

基本功能

  • 支持英译汉功能。
  • 支持翻译后的内容自动化部署到 GitHub Pages。
  • 可能支持其他语言直接的翻译功能。(需要实践)

高级功能(暂未实现)

  • [ ] 实现网站多语言切换。

  • [ ] 借助 GitHub Actions 实现类似于 Transifex 的功能,即支持:

    • 上传需要翻译的文档,并提供 po 在线编辑器。
    • 支持注册功能。
  • [ ] 利用 AI 技术辅助 sphinx-intl 完成 po 的初始化工作。即输出的 po 文件不再是空字符串,而是有转换后的可能翻译不太准确的信息。

小技巧

po 文件的高亮可以使用 vscode 插件 gettext。

来源 https://zhuanlan.zhihu.com/p/424242730

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69999831/viewspace-3129479/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-02-11

  • 博文量
    1828
  • 访问量
    20593