Проблема с многоязычными настройками в игре

0

Я добавил возможность выбора нескольких языков в этой игре, но у меня есть некоторые проблемы с этим. Основная проблема заключается в том, что если один из игроков имеет выбранный английский язык, а другой - японский, японский игрок может читать английские языки, но английский игрок не может читать свой язык. При запуске игры выбранный язык считывается из xml с именем config.xml (он получает дочерние элементы кода), а затем оттуда в зависимости от того, какой язык выбран, переходит в папку и загружается на языке xmls. Есть ли способ любить, вставлять или загружать все языки одновременно, чтобы игроки могли читать корейский/японский текст, а не кучу вопросительных знаков?

код:

void ZLanguageSetting_formultilanguage::SetLanguageIndexFromCmdLineStr(const char* cmdline)
{
const unsigned int id_USA = 0;
const unsigned int id_DUT = 1;
const unsigned int id_SPA = 2;
const unsigned int id_POR = 3;
const unsigned int id_GER = 4;
const unsigned int id_KOR = 5;
const unsigned int id_JAP = 6;

m_idLang = id_USA;

if (NULL == cmdline) return;

if      (NULL!= strstr(cmdline, "&u100e:2=en")) m_idLang = id_USA;
else if (NULL!= strstr(cmdline, "&u100e:2=du")) m_idLang = id_DUT;
else if (NULL!= strstr(cmdline, "&u100e:2=sp")) m_idLang = id_SPA;
else if (NULL!= strstr(cmdline, "&u100e:2=po")) m_idLang = id_POR;
else if (NULL!= strstr(cmdline, "&u100e:2=ge")) m_idLang = id_GER;
else if (NULL!= strstr(cmdline, "&u100e:2=ko")) m_idLang = id_POR;
else if (NULL!= strstr(cmdline, "&u100e:2=ja")) m_idLang = id_GER;
}

ZLanguageSetting_formultilanguage g_LanguageSettingformultilanguage;
ZLanguageSetting_formultilanguage* ZGetLanguageSetting_formultilanguage()
                                    { return &g_LanguageSettingformultilanguage; }

const char* ZConfiguration::GetLanguagePath()
{
    switch (GetSelectedLanguageIndex())
    {
     case 1:
        return PATH_DUT;
     case 2:
        return PATH_SPA;
     case 3:
        return PATH_POR;
     case 4:
        return PATH_GER;
     case 5:
        return PATH_KOR;
     case 6:
        return PATH_JAP;
     case 7:
        return PATH_USA;
     default:
        return PATH_DEFAULT;
    }
}

Это база кода, который выбирает из cmdline, а затем загружает один из этих путей, содержащий xmls в память. Надеюсь, что в этой ветке есть вся необходимая информация, если нет, я буду обновлять по мере необходимости. благодаря

  • 0
    Я вижу, что вы пропустили английский в этом списке :-(
  • 0
    Он указан в id_usa, но это должен быть id_eng, я изменю это позже, если кто-то еще работает со мной над моим проектом. Ха только что увидел ошибку с моим кодом, случайно добавил id_ger дважды && id_por дважды
Показать ещё 10 комментариев
Теги:
multilanguage

1 ответ

0

Проблема в том, что программа очень старая, не использует Unicode, использует MBCS, слишком долго будет конвертировать все в Unicode, поэтому я удаляю японский и корейский языки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню