添加语言

准备

If the language you want to translate has not been started by someone else already and you wish to create a set of new files for the desired language, say 'fr' (French), then you must first use the environment you have created, as guided in Getting Started, in particular 安装依赖关系 and 编译手册 sections.

该基础环境将用于:

  • 从英语源文本创建一组新的翻译语言。

  • 执行 make 命令将po文件中的已翻译文本转换为html文件,以便在本地进行测试。

  • 同步其他贡献者添加的英文文本更改。

下面的例子展示了在Linux平台上为法语(语言代码 fr)创建一组新文件的过程。 其他平台大同小异。

  1. 进入 https://developer.blender.org 为自己创建一个帐户,并成为Blender组织的开发人员/翻译。

  2. 登录帐户并创建 todo 类型的任务,在 订阅者 文本框中填入管理员,请求提交权,以便将更改传输到翻译团队的中央存储库。

  3. 打开控制台应用程序,比如Gnome终端模拟器。

  4. 将当前工作目录更改为 Makefile 实例所在的 blender_docs 目录。

尝试以英语创建 HTML 文件的编译过程

  1. 如果存在之前的 build 目录,请确保已删除:

    make clean
    
  2. 将所有 rst 文件转换为 pot 翻译文件:

    make gettext
    
  3. 创建 html 文件:

    make html
    
  4. 在此之后,就可以在本地查看按照提示的指令创建的html文件,例如:

    xdg-open <path to your English manual>/blender_docs/build/html/index.html
    

在 HTML 菜单中创建语言条目

  1. 通过打开文件 ./resources/theme/js/version_switch.js (假设您处于 blender_docs 子目录),为 html 菜单中的语言创建条目。

  2. 查找 var all_langs = {..}; 中的语言表。

  3. 输入条目:"fr": "Fran&ccedil;ais",, ("fr": "Français")。 (注意Unicode字符。)

  4. 了解本地存储库中的更改:

    svn status
    
  5. 输入密码:

    svn commit --username <your username> -m "your comment"
    
  6. 将本地存储库升级到最新版本的更改,包括你自己刚刚完成的更改:

    svn update .
    

设置本地配置文件

  1. 打开文本编辑器以输入以下文本,将语言代码更改为要翻译的语言:

    1language = 'fr'
    2locale_dirs = ['locale/']
    3gettext_compact = True
    
  2. 将此文件保存为 Makefile 所在的 blender_docs 目录中的 conf.py

  3. 执行以下shell命令,告诉 svn 在执行操作时忽略此文件:

    svn propset svn:ignore conf.py .
    

生成目标语言的文件集

  1. 使用以下命令检验当前的翻译库:

    svn checkout https://svn.blender.org/svnroot/bf-manual-translations/trunk/blender_docs/locale
    

    这将将存储库中可用的所有语言集下载到驱动器的 locale 目录中。您可以转到 locale 目录,查看其中隐藏的子目录 .svn,以及语言目录。您需要添加自己的一组文件来表示要翻译到的语言。

  2. blender_docs 目录生成一组用于 fr 语言的文件:

    make gettext
    sphinx-intl update -p build/locale -l fr
    

    这些文件仍然仅以英文显示,所有 msgstr 条目均为空白。

  3. 将新一组文件提交到中央存储库:

    cd locale
    svn add fr
    svn commit --username <your username> -m "Initial commit language set of files for French"
    
  4. 你并不需要保留所有其他语言,因此暂时删除语言环境目录:

    rm -fr locale
    

    我们将按照下一节的指引,下载这组新语言。

Note

  • 建议你在 .bashrc 中为这些目录创建两个环境变量,以方便修改或编写用于翻译和查看结果的批处理/shell命令:

    export BLENDER_MAN_EN=$HOME/<directory to make file directory above>/blender_docs
    export BLENDER_MAN_FR=$BLENDER_MAN_EN/locale
    
  • 新生成的文件将包含作者的一些占位符和修订日期等。如果发现需要重复替换它们的操作,请使用子标题 ~/blender_docs/toos_maintenance 中的脚本 change_placeholders.sh , 将其复制到本地 bin 目录,并用您的特定详细信息替换文件中提及的所有值,然后每次更改为文件后,按照命令更新文件,其中包含您的个人详细信息、修订日期和时间,以及生成用于您的语言的 html 文件,您可以使用您的网络浏览器查看:

    $HOME/bin/change_placeholders.sh $BLENDER_MAN_FR
    make -d --trace -w -B -e SPHINXOPTS="-D language='fr'" 2>&1