添加语言

准备

如果您要翻译的语言尚未由其他人启动,并且您希望为所需语言创建一组新文档,例如 "fr" (法语),那幺您必须首先使用您创建的环境,如 入门 中的指导,特别是 安装依赖关系编译手册

该基础环境将用于:

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

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

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

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

  1. Goto https://developer.blender.org to create an account for yourself and become a developer/translator for the Blender organization.

  2. Login the account and create a task with todo type, addressing an administrator in the Subscribers field, requesting for a committer right in order to transfer changes to the central repository of the translation team.

  3. Open an instance of the console application, such as Gnome-Terminal emulator.

  4. Change the current working directory to the directory of blender_docs, where the instance of Makefile resides.

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

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

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

    make gettext
    
  3. 创建 html 文件:

    make html
    
  4. After this, you can actually view the created html files locally following the prompted instruction, such as:

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

在 HTML 菜单中创建语言条目

  1. Create an entry for the language in the html menu by opening file ./resources/theme/js/version_switch.js (assuming you are at the blender_docs subdirectory).

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

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

  4. To find out about changes in the local repository:

    svn status
    
  5. Enter your password:

    svn commit --username <your username> -m "your comment"
    
  6. Bring your local repository up to the most recent version of changes, including the one you have just done:

    svn update .
    

Setting the Local Configuration File

  1. Open a text editor to enter the following texts, change the language code to whatever the language you will be translating:

    1language = 'fr'
    2locale_dirs = ['locale/']
    3gettext_compact = True
    
  2. Save this file as conf.py in the blender_docs directory, where Makefile resides.

  3. Tells svn to ignore this file when performing operations by executing this shell command:

    svn propset svn:ignore conf.py .
    

生成目标语言的文件集

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

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

    This will download all language sets available in the repository into the locale directory of your drive. You can go to the locale directory to see the hidden subdirectory .svn within it, together with directories of languages. You'll need to add your own set of files for the language you are trying to translating to.

  2. From the blender_docs directory to generate a set of files for fr language:

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

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

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

    cd locale
    svn add fr
    svn commit --username <your username> -m "Initial commit language set of files for French"
    
  4. You don't need all other languages being there, so remove the locale directory for the time being:

    rm -fr locale
    

    We will download this new set of language as guided in the next section.

Note

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

    export BLENDER_MAN_EN=$HOME/<directory to make file directory above>/blender_docs
    export BLENDER_MAN_FR=$BLENDER_MAN_EN/locale
    
  • Newly generated files will contain some placeholders for authors and revision dates etc. If you find the job of replacing them repetitive, make use of the script change_placeholders.sh in the subdirectory ~/blender_docs/toos_maintenance, make a copy of that to your local bin directory and replace all values that were mentioned in the file with your specific details, then after each change to a file, you would do following commands to update the file with your personal details, revision date and time, plus generating the html files for your language, which you can view using your Internet browser:

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