Да, обязательно используйте тот же файл resource.h.
Один из способов - просто скопировать ресурсы, необходимые для перевода в новый проект ресурсов - такие как меню, строки, диалоги. Растровые изображения и значки, вероятно, не нужно переводить, если на них не нанесен какой-либо текст, который зависит от языка. Если вы знаете свой локальный язык, при запуске программы вы можете вызвать AfxSetResourceHandle () с библиотекой ресурсов, которую вы загружаете вручную.
Другой способ решения этой проблемы, если у вас множество DLL и EXE-файлов, - это использовать инструменты редактирования двоичных ресурсов. Они создают файлы токенов из ваших ресурсов. Ваши переводчики редактируют файл токена с помощью инструмента двоичного редактирования. Когда все готово, вы запускаете инструмент для применения перевода к двоичным файлам. По сути, вы не распространяете библиотеки DLL ресурсов, а распространяете разные версии своих библиотек DLL для каждого языка. Инструменты достаточно умны, так что если вы сделаете изменение, такое как добавление строки или диалога, оно будет подхвачено, и ваш переводчик увидит, что ему нужно перевести что-то новое. Ранее переведенная работа будет сохранена в файлах токенов. Вот как мы это делаем в моем магазине. Мы привыкли использовать Microsoft Localization Resource toolkit. Я не знаю, используем ли мы это по-прежнему или нет, потому что это ответственность кого-то другого.