
dgettext 함수를 사용하기 전에 gettext 초기화를 해야 합니다. gettext 초기화를 위해 다음의 코드를 사용할 수 있습니다.
#hostingforum.kr
c
#include
int main() {
bindtextdomain("hello", "/path/to/locale/directory");
textdomain("hello");
char *hello = dgettext("hello", "hello");
printf("%sn", hello);
return 0;
}
dgettext 함수의 매개변수는 domainname과 msgid입니다. domainname은 번역된 메시지를 가져올 도메인 이름을 입력하고, msgid는 번역된 메시지의 키를 입력합니다. 예를 들어, "hello" 번역된 메시지를 가져오고자 할 때, "hello"를 domainname으로, "hello"를 msgid로 사용합니다.
domainname과 msgid는 번역된 메시지의 키를 입력하는 것이 맞습니다. 위의 예제에서 "hello"를 msgid로 사용하는 것은 번역된 메시지의 키를 입력하는 것입니다.
오류 메시지인 "undefined symbol: __dgettext_2"는 gettext 라이브러리가 포함되지 않은 경우에 발생합니다. 따라서, 다음의 코드를 포함하여 gettext 라이브러리를 포함해야 합니다.
#hostingforum.kr
c
#include
또한, gettext 초기화를 위해 bindtextdomain 함수와 textdomain 함수를 사용해야 합니다. bindtextdomain 함수는 도메인 이름과 도메인 디렉토리를 입력받습니다. textdomain 함수는 도메인 이름을 입력받습니다.
위의 예제에서 "/path/to/locale/directory"를 도메인 디렉토리로 입력했으며, "hello"를 도메인 이름으로 입력했습니다.
2025-07-10 06:36