添加语言

准备工作

如果您要翻译的语言尚未由其他人开始翻译,并且希望为该语言创建一组新文件,比如 'fr' (法语)。那么你必须首先按照 入门,特别是 安装编译 部分中的指引,创建所需的环境。

该基础环境将用于:

  • 从英文源创建一组新语言的翻译文件。
  • 执行 make 命令将po文件中的已翻译文本转换为html文件,以便在本地进行测试。
  • 同步其他贡献者添加的英文文本更改。

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

  1. 转到 https://developer.blender.org 为自己创建一个帐户,成为Blender组织的开发者/翻译者。
  2. 登录帐户并创建一个 todo 类型的任务,向 Subscribers 字段中的管理员发送消息,请求提交者权限,以便将更改传输到翻译团队的中央存储库。
  3. 打开控制台应用程序,比如Gnome终端模拟器。
  4. 将当前工作目录更改为 Makefile 实例所在的 blender_docs 目录。

尝试使用Make流程创建英文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. 打开文本编辑器以输入以下文本,将语言代码更改为要翻译的语言:

    1
    2
    3
    language = 'fr'
    locale_dirs = ['locale/']
    gettext_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