2017-11-01 1 views
1

C/C++ 프로그램에서 일부 메시지를 번역하기 위해 gettext를 사용하고 있습니다. 프로그램에서 일부 번역은 사용자가 정의 할 수 있으므로 실행 중에 변경 될 수 있습니다. 런타임시 gettext 데이터베이스를 업데이트 할 수 있습니까?번역을 추가합니다 rumtime for gettext

답변

0

프로그램이 실제로 실행 중일 때 번역을 변경할지 여부 또는 프로그램이 이미 컴파일 된 후 번역이 변경 될 수 있다는 것을 의미하는지 여부는 분명하지 않습니다.

나중에 필요하다면 아무 것도 할 필요가 없습니다. 이것이 단순히 gettext가 작동하는 방법입니다. 핵심 데이터베이스를 만든 다음 변환을 별개의 파일로 꽂습니다.

실제로 문자 그대로 전자를 의미하는 경우이를 수행 할 방법이 없습니다. gettext은 실제 번역이 어떻게 로딩되는지를 보장하지 않으며 런타임에 번역 데이터베이스를 대체하는 것이 안전하지 않습니다.

가능할 수있는 것은 프로그램에서 변환이 변경 될 수 있음을 인식하면 수동으로 데이터베이스를 비우고 다시로드하는 것입니다. textdomain (3)을 호출하여 다른 텍스트 도메인으로 전환 한 다음 데이터베이스를 다시로드 할 수 있습니다.

+0

예, 이전 것을 의미합니다. 나는 당신이 필요에 따라 파일을 만들고 다시로드해야한다는 것을 의미한다고 생각합니다. 가능한 한 방법이라고 생각하지만 C API에서 데이터베이스를 업데이트 할 수있는 방법이 있는지 알고 싶었습니다. 어쨌든 대답 주셔서 감사합니다. –