将复杂的 Sphinx 翻译导入 Weblate

Posted

技术标签:

【中文标题】将复杂的 Sphinx 翻译导入 Weblate【英文标题】:Import Complex Sphinx Translations into Weblate 【发布时间】:2016-02-09 03:13:01 【问题描述】:

我正在使用import_project 从 sphinx 文档集中引入组件。这是我的子目录结构:

 - docs
  - _locale
   - fr
    - LC_MESSAGES
     - file.po
     - file2.po
      - directory
       - file.po
       - file2.po        
      - directory2
       - file.po
       - file2.po

导入命令./manage.py import_project --file-format po project-name git@bitbucket.org:xxx/xxx.git master 'docs/_locale/*/LC_MESSAGES/**.po' 不查看directory,它是子文件。此外,由于子目录文件具有类似命名的文件,import_project 将文件映射到组件的方式存在冲突(如果我为每个子目录运行import_project)。

有什么建议吗?

谢谢,

迈克

【问题讨论】:

【参考方案1】:

目前没有直接的方法,但你可以逐个文件夹导入。

$ ./manage.py import_project --name-template 'Directory 1: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/dir1/**.po'
$ ./manage.py import_project --name-template 'Directory 2: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/dir2/**.po'

PS:我也将这个例子添加到documentation。

更新:现在有更舒适的方式来配置 Sphinx 文档本地化。

将 Sphinx 配置为使用 gettext_compact 设置仅生成一个 PO 文件。 在 Weblate 中使用发现插件,如 Weblate documentation 中所述。

【讨论】:

太棒了!我错过了--name-template 参数与这个问题的相关性。

以上是关于将复杂的 Sphinx 翻译导入 Weblate的主要内容,如果未能解决你的问题,请参考以下文章

weblate在线翻译平台搭建

如何添加 Weblate REST 翻译文件上传所需的权限?

第一次提交在 Weblate 中为 iOS 添加翻译字符串失败

合并冲突的 Weblate 问题

为啥 weblate 不能识别我的 pot 文件?

在 Weblate 中手动删除项目