Да. И нет.
Если вам нужно несколько RC-файлов, вам придется использовать поддержку операционных систем, чтобы иметь несколько ресурсов в одном файле. В редакторе ресурсов для каждого ресурса вы можете установить его локаль И редактор ресурсов позволит вам иметь несколько ресурсов с одинаковым идентификатором, если их локаль отличается.
Итак, ваш первый шаг - отредактировать каждый из файлов RC, чтобы убедиться, что ресурсы в одном - английский / американский, в другом - французский и т. Д.
Далее, получите основной RC-файл, чтобы #include остальные.
Наконец, и это проблема, вам нужно полагаться на логику операционных систем для загрузки правильных ресурсов. Если вы хотите, чтобы локаль ПК определяла, какой язык интерфейса используется, то вы уже достаточно.
Если вы хотите предоставить опцию меню, позволяющую пользователям менять языки: SetThreadLocale использовал , чтобы быть простым способом переключения локали загруженных ресурсов в текущем потоке. Начиная с Windows 2000, некоторые из-за неудачного перегруженного использования API заставили MS отказаться от его использования в пользу требования разработчиков приложений всегда использовать FindResourceEx - что на самом деле не помогает, например, для загрузки строки из таблицы строк .
Если вам действительно нужен простой способ выбрать язык пользовательского интерфейса, выбираемый пользователем, тогда вам понадобится , чтобы поместить каждый из ваших файлов .rc в отдельную DLL. а затем LoadLibrary на соответствующий языковой ресурс DLL.