2017-10-10 127 views
2

我的客戶給了我一個非同尋常的(且不可協​​商的)要求,即向他們提供來自C++代碼的雙語言(英語和波蘭語)doxygen文檔。doxygen docs中的多種語言(C++)

我的第一個想法是使用條件編譯徵求意見,如:

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

然後用不同的基本語言環境和預定義的常量運行Doxygen的兩次......和它的實際工作。但它非常麻煩...

有人有一個想法我該如何改進此解決方案?或者以不同的方式解決它?

+1

這個解決方案看起來不錯,這是我在這種情況下會做的。 –

+1

你看過\〜[laguageid]嗎?它仍然需要兩代,但使用doxygen的命令構建。 – albert

+0

@albert太棒了!你可以發佈這個答案,所以我可以接受嗎? – PiotrK

回答

3

Doxygen擁有內置命令\〜[langId]來處理不同的語言。

/** 
* \~english @brief Sample method 
* \~polish @brief Przykladowa metoda 
*/ 
void foo(); 
  • 沒有直接要求使用預處理器/預處理器指令/設置
  • 僅doxygen的配置文件中的一個位置被改變(的Doxyfile)時: 上面給出的例子可以作爲配製切換語言。