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

Multiple languages in doxygen docs (C++)

我的客户给了我一个不寻常的(并且不可协商的)要求,要求我向他们提供来自 C++ 代码的双语(英语和波兰语)doxygen 文档。

我的第一个想法是对注释使用条件编译,比如:

#if DOXYGEN_ENGLISH
/**
 * @brief Sample method
 */
#elif DOXYGEN_POLISH
/**
 * @brief Przykładowa metoda
 */
#endif
void foo();

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

有人知道我该如何改进这个解决方案吗?或者用不同的方式解决?

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

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