用斯芬克斯做不完整的翻译只显示默认语言



在遵循官方的文件翻译工作流程后,我发现自己的翻译似乎不起作用。

make gettext
sphinx-intl update -p /source/_build/gettext -l fr
set SPHINXOPTS=-D language=fr
make html

我已经成功地创建了*.pot和*.po文件,并测试翻译了这个*.po文件的部分(其他消息ID仍然默认为"。然后我将语言设置为法语,并再次运行make-html,但我翻译的文本没有显示为法语。

构建输出中没有显示任何错误提示:

C:devritunedocs>make html
Sphinx v4.1.2 in Verwendung
Lade Übersetzungen [fr]…erledigt
making output directory... erledigt
[autosummary] generating autosummary for: .roles.rst, configurationadd_modulesadd_modules.rst, configurationdb_dumpdb_dump.rst, configurationindex.rst, configurationmodulesconfig_dashboardconfig_dashboard.rst, configurationmodulesindex.rst, configurationplotly_diagramsplotly_diagrams.rst, data_explorerdata_explorer.rst, functionsasset_managementasset_management.rst, functionsdashboarddashboard.rst, ..., systemindex.rst, systemlogslogs.rst, systemmain_menumain_menu.rst, systemphysicalphysical.rst, systemprocproc.rst, systemsettingssettings.rst, systemtagstags.rst, systemuser_profileuser_profile.rst, systemusers_rolesusers_roles.rst, systemversionsversions.rst
loading intersphinx inventory from https://docs.python.org/3/objects.inv...
loading intersphinx inventory from https://www.sphinx-doc.org/en/master/objects.inv...
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 81 source files that are out of date
updating environment: [new config] 81 added, 0 changed, 0 removed
reading sources... [100%] system/versions/versions                             or2ntrol
looking for now-outdated files... none found
pickling environment... erledigt
checking consistency... preparing documents... erledigt
writing output... [100%] system/versions/versions                              r2ntrol
generating indices... genindex erledigt
writing additional pages... search erledigt
copying images... [100%] system/versions/version_numbering.svg                 1fcb54c2ee.png
copying downloadable files... [ 57%] modules/reporting_masks/Betriebsstatistik_Vorlage_20210514.xlsx_Betriebsstatistik_Vorlage_20210514.xlscopying downloadable files... [100%] system/alarms/ANSI-ISA-18.2 - Management of Alarm Systems for the Process Industries.PDF
copying static files... erledigt
copying extra files... erledigt
dumping search index in French (code: fr)... erledigt
dumping object inventory... erledigt
build abgeschlossen, 13 warnings.

注意我排除了与我在其中一个文件(我目前正在处理的文件(中犯的愚蠢语法错误有关的警告。

这是意料之中的行为还是我做错了什么?我想测试翻译功能和我的*.po文件。

我找到了解决方案。斯芬克斯实际上并没有发现.mo(二进制(文件。

返回正确工作的步骤:

  1. 确保您在根目录中,并且可以看到buildsource目录
  2. 使用sphinx gettext将在build/gettext中创建*.pot文件
  3. 以这些*.pot文件为例,使用sphinx-intl update -p build/gettext -l fr将其转换为*.po文件(例如法语/"r"(。这将在新文件夹locales中创建*.po文件,默认情况下,该文件夹位于根目录下的buildsource目录中
  4. 翻译*.po文件
  5. 现在确保conf.py中的locale_dirs = ['../locales']指向区域设置的目录在我的情况下,默认情况下没有正确设置。我不得不将dir更改为parent(../(并使用";地方";而不是默认的";区域设置";以描述路径
  6. 运行sphinx-intl build以使用*.mo文件创建二进制文件(*.mo(
  7. 将当前终端的语言设置为法语:set SPHINXOPTS=-D language=fr
  8. make html

最新更新