2017-10-10 20 views
2

내 고객이 C++ 코드의 이중 언어 (영어 및 폴란드어) doxygen 문서를 제공하는 데 비정상적인 (및 협상 불가능한) 요구 사항을 제공했습니다.doxygen의 여러 언어 docs (C++)

내 첫번째 생각은 같은 의견을 조건부 컴파일을 사용하는 것입니다 : 그때 ... 다른 기본 로케일과 미리 정의 된 상수로 두 번 Doxygen을 실행

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

및 실제로 작동합니다. 하지만 매우 성가신 일입니다 ...

누군가이 솔루션을 어떻게 개선 할 수 있습니까? 아니면 다른 방식으로 해결할 수 있습니까?

+1

이 솔루션은 이미 좋은 것처럼 보입니다.이 경우 내가 할 일입니다. –

+1

\ ~ [laguageid]를 보셨습니까? 여전히 2 세대가 필요하지만 doxygen의 명령을 사용합니다. – albert

+0

@albert 멋진데! 이 질문에 대답을 게시 할 수 있습니까? – PiotrK

답변

3

Doxygen에는 다른 언어를 처리하기 위해 \ ~ [langId] 명령이 빌드되어 있습니다.

/** 
* \~english @brief Sample method 
* \~polish @brief Przykladowa metoda 
*/ 
void foo(); 
  • 직접적인 요구 처리기/처리기 지시문/설정
  • doxygen의 구성 파일
  • 한 곳에서만 변경 될 (Doxyfile)을 사용하여 다음과 같이 상기 제시된 예는 제형 화 될 수있다 스위칭 언어.