私の C++ iOS ゲーム エンジンは Android に移植されており、Android 2.2 のデバイスでも問題なく動作しますが、ローカリゼーションのサポートに関して問題が発生しています。
C++ エンジンは、poedit を使用して作成された .po (gettext) ローカライズ ファイルをロードし、std::wstring
. これは、私がサポートしている他のプラットフォームでは問題なく動作しますが、NDK が wchar/wstring を適切にサポートしていないため、Android では動作しません。現在の (非常に基本的な) 実装については、githubを参照してください。
これで、マルチバイト文字列からカスタム定義の .xml に手動で変換できると思いますstd::basic_string<uint_32>
。で提案されているように - Android NDK C++ 'wstring' サポート
ほとんどの場合はそれで問題ありませんが、文字列の書式設定をどのように処理していますか? 私の文字列の大部分は書式設定を必要としない単なるテキストですが、一部は「よくできました %1$s, あなたは %2$d を獲得しました!」という行に沿っています。
swprintf
サポートなしでこれらの文字列のフォーマットをどのように処理していますか?
wchar/wstring サポートに依存せずにクロスプラットフォームのローカリゼーションを確実に処理するための推奨される方法はありますか?モバイル)?
どうもありがとう。