doxygen 文档中的多种语言 (C++)

Pio*_*trK 3 documentation multilingual doxygen

我的客户给了我不寻常(且不可协​​商)的要求,要求他们从 C++ 代码中提供双语言(英语和波兰语)doxygen 文档。

我的第一个想法是对评论使用条件编译,例如:

#if DOXYGEN_ENGLISH
/**
 * @brief Sample method
 */
#elif DOXYGEN_POLISH
/**
 * @brief Przyk?adowa metoda
 */
#endif
void foo();
Run Code Online (Sandbox Code Playgroud)

然后使用不同的基本语言环境和预定义的常量运行 Doxygen 两次......它确实有效。但是太麻烦了...

有人知道如何改进此解决方案吗?还是用不同的方式解决?

alb*_*ert 5

Doxygen 有内置命令 \~[langId] 来处理不同的语言。上面给出的例子可以表述为:

/**
 * \~english @brief Sample method
 * \~polish @brief Przykladowa metoda
 */
void foo();
Run Code Online (Sandbox Code Playgroud)
  • 没有直接要求使用预处理器/预处理器指令/设置
  • 切换语言时只需要更改doxygen配置文件(Doxyfile)中的一处。