Я работаю над игрой, которая написана на C ++, и я хотел бы сделать возможным изменение языка во время выполнения. В настоящее время язык выбирается во время компиляции путем включения файла заголовка (который имеет определения языка), например так:
#include "lan_eng.h"
Следовательно, игра не позволяет менять язык после компиляции клиента. У меня вопрос, есть ли способ, которым я могу включить файлы условно во время выполнения? Я новичок в C ++, поэтому сначала я подумал, что я мог бы сделать что-то вроде этого:
#define DEF_LANGUAGE_ENG
//#define DEF_LANGUAGE_DEN
#ifdef DEF_LANGUAGE_ENG
#include "lan_eng.h"
#endif
#ifdef DEF_LANGUAGE_DEN
#include "lan_den.h"
#endif
Конечно, это облегчает поддержку, но проблема в том, что я считаю, что это работает только во время компиляции. Я хотел бы иметь возможность хранить выбранный язык в переменной (которая изменяется во время выполнения), а затем использовать эту переменную, чтобы выбрать, какой файл заголовка включить. Есть ли способ сделать это с заголовочными файлами, или я буду вынужден создать класс?
Надеюсь, это не глупый вопрос; мои поиски не дали мне результатов, на которые я надеялся.
Заранее спасибо!