2016-04-03 3 views
1

Я работаю с локализацией для C++ проект & получил ссылки с «this link»строку локализации отсутствуют некоторые специальные символы

в «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, но я тоже начинаю для такого. Все, что указывает на то, что я делаю неправильно, было бы действительно оценено.

ответ

0

My bad,

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

Извинения!

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

Смежные вопросы