У меня есть программа, в которой i18n обрабатывается gettext. Программа работает нормально, однако по какой-то причине мне нужно знать название локали, используемой gettext во время выполнения (что-то вроде 'fr_FR') под win32.
Я изучил источники gettext, и есть довольно пугающая функция, которая вычисляет ее на всех платформах (gl_locale_name, в C-файле с именем "localename.h / c"). Однако этот файл, похоже, не устанавливается вместе с gettext или libintl, поэтому я не могу вызвать функцию. Есть ли другая функция, предоставляемая gettext, чтобы получить это значение? Или в другом пакете (boost, glib, что-нибудь?)
(В связанной заметке в стандартной библиотеке C ++ есть вещь, называемая std :: locale, и в соответствии с документом, вызывающим std :: locale (""), следует создать локаль с настройками системы, если только Я ошибаюсь ... но тогда под окнами имя 'C'. Это жизнеспособный способ получить название локали? Что я делаю не так?)