2

現在、iOSアプリケーションをローカライズしています。これは今のところかなりまともです。

私はすでにlocalizable.stringsといくつかのxibファイルを作成しているので、アプリの約80%はすでに翻訳されています。

ただし、アプリは、キーを渡すWebサービスからデータもロードします。例:「TITEL1」と、それに接続されているサポートされているすべての言語(値)。例:「TitelOne」「TitelEins」「TitoloUno」。

そして今、私はそれらの値をそれに応じたlocalizable.stringsファイルに保存したいと思います。

例えば:

Localizable.strings(英語)には次のものが含まれている必要があります。

"TITLE 1" = "Title One";

Localizable.strings(ドイツ語)には次のものが含まれている必要があります。

"TITLE 1" = "Titel Eins";

Localizable.strings(Italian)には、次のものが含まれている必要があります。

"TITLE 1" = "Titolo Uno";

これどうやってするの?

4

2 に答える 2

2

実行時にローカライズ文字列に挿入することはできません。Web サーバーが管理されている場合は、ユーザーが使用している言語を送信することをお勧めします。この例を検討してください。

//Get the language code
NSString* languageCode = [[NSLocale preferredLanguages] objectAtIndex:0];
//Now send the request to the server with the language you want
NSString *str = [NSString stringWithFormat:@"www.yourserve.com/yourfunctiom?lang=%@", languageCode];
//Request it

サーバーで受信した言語に基づいて、適切な文字列を返します

于 2012-06-16T09:06:11.833 に答える
0

これはフレームワークを少し拡張する可能性がありますが、Apple の文字列読み込み関数を使用したい場合はNSBundle、ドキュメント ディレクトリ (結局のところ、バンドルは単なるディレクトリです) にビルドして、サーバーからのファイルで埋めてから、文字列に到達するために使用NSLocalizedStringFromTableInBundleします。

ただし、Omar Abdelhafith の回答のアプローチと比較して価値があるかどうかはわかりません。

于 2012-06-16T10:57:53.907 に答える