в локализации строки отсутствуют некоторые специальные символы

я работаю с локализацией для проекта C ++ & получил ссылки от «эта ссылка«

в файле «LocalizationManager.mm» он имеет метод getLocalizedString как:

std::string LocalizationManager::getLocalizedString(const std::string& key)
{
NSString *str = [NSString stringWithUTF8String: key.c_str()];
std::string s([NSLocalizedString(str, nil) UTF8String]);
return s;
}

и назовите это в .cpp файлах как:

std::string strHighscore = LocalizationManager::getInstance() -> getLocalizedString("best");

Проблема здесь в том, что по некоторым причинам он не отображал локализованные строки для японского или китайского языка (то есть пустые), а также некоторые специальные символы при использовании vienamese отсутствуют. Хотя другие языки (например, немецкий) поддерживаются нормально.

Я предполагаю, что это связано с UTF8, но я слишком новичок для такого. Все, что указывает на то, что я делаю неправильно, будет очень признательно.

1

Решение

Виноват,

я не смотрел на основную ошибку, которую я сделал. Позже я настроил пользовательский шрифт для локализованной строки, которая не поддерживала некоторые из юникодов, включая ja-zh-vi и другие.

Извиняюсь!

нота:
Сейчас я использую шрифт «simsun.ttc», который, кажется, поддерживает большинство юникодов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]