Проблема: хочется использовать продвинутые инструменты для перевода от GNU gettext в приложении Windows. При этом хочется словари строк грузить не из файлов, а из ресурсов. Проект на MFC и не должен зависеть от сторонних dll.
Решение: Использовать tinygettext, этот пакет строит словари из .po файлов (забыли про .mo)
Решение: Использовать tinygettext, этот пакет строит словари из .po файлов (забыли про .mo)
- Помещаем .po файл в кастомные ресурсы приложения и грузим с помощью FindResource/LoadResource/LockResource.
- Скармливаем полученную строку в памяти вызову tinygettext::POParser::parse как строковый поток.
- Определяем макрос _() чтобы он искал соответствия в полученном словаре.
- Компилируемся с win_iconv, чтобы не зависеть от сторонних dll.
- Дампим строки завернутые в _() c помощью:
xgettext.exe -s -k_ -o OutputFileName.pot *.cpp *.h - Открываем POEdit и редактируем наши строчки
- Profit!
Комментариев нет:
Отправить комментарий