Android Cocoa iOS 게임 엔진을 Android에 포팅했으며 기기에서 Android 2.2로 정상적으로 작동하지만 현지화 지원과 관련하여 문제가 발생합니다.NDK를 사용하는 Android에서의 현지화/현지화
C++ 엔진은 poedit을 사용하여 만든 .po (gettext) 현지화 파일을로드하고 std::wstring
에 넣습니다. 이것은 내가 지원하는 다른 플랫폼에서 절대적으로 잘 작동하지만, NDK가 wchar/wstring을 적절히 지원하지 않기 때문에 Android에서는 작동하지 않습니다. 내 현재 (아주 기본) 구현에 대해서는 github을 참조하십시오.
이제 수동으로 멀티 바이트 문자열을 사용자 정의 std::basic_string<uint_32>
으로 변환 할 수 있다고 생각합니다. 추천 된대로 - Android NDK C++ 'wstring' support
그리고 그 부분은 대부분 괜찮지 만 사람들은 문자열 포맷을 어떻게 처리합니까? 대다수의 내 문자열은 서식 지정이 필요없는 텍스트 일 뿐이지 만 일부는 "잘 수행 된 % 1 $ s, % 2 $ d!"이라고 표시했습니다.
사람들은 swprintf
없이이 문자열의 서식을 어떻게 처리합니까?
wchar/wstring 지원에 의존하지 않고 크로스 플랫폼 로컬라이제이션을 안정적으로 처리하는 권장 방법이 있습니다. (어쨌든 권장하지 않습니다.하지만 아무도 20MB + 라이브러리에 의존하지 않는 실용적인 대안을 제시하는 것 같습니다. 모바일에 적합하지 않습니까?)
감사합니다.