のiOSにプッシュ通知でローカライズされたテキストを表示するには、2つの方法があります。
は、この場合、サーバー
にメッセージをローカライズするには、あなたは、デバイスの言語を送信する必要がありますあなたのサーバーに。あなたのiOSアプリに追加する必要があるコードは、次のようになります。
NSString *preferredLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
const char *langStr = [preferredLanguage UTF8String];
[self sendCurrentLanguage:langStr]; // Method that communicates with your server
その後、あなたは通知JSONペイロードでalert
キーを使用して、適切な言語で通知メッセージを送信することができます。
はあなたがペイロードにローカライズされた文字列を送信することができ、通知ペイロード
とローカライズ文字列を送信します。
"alert" : {
"loc-key" : "My Localized String",
...
}
そして、対応言語の識別子中にあなたLocalizable.strings
ファイルで、次の行を追加します:alert
キーを使用すると、ローカライズされた文字列を送信するために使用することができ、子供loc-key
キーを受け付け
"My Localized String" = "The localized string in the language you want.";
場合最終的にローカライズされた文字列を構築するために引数を渡す必要がある場合は、通知ペイロードのloc-args
JSON配列として渡すこともできます。
そして、あなたのLocalizable.strings
中:
"My Localized String" = "The localized string with first argument %@, and second argument %@."
それとも、あなたが位置を変更する必要がある場合:
"My Localized String" = "The localized string with second argument %[email protected], and first argument %[email protected]";
が、私はあまりにも、それは管理しやすいものになるかどうか人の名前を含めるダイナミックテキストを持っていますか? – iEinstein
@AshutoshMishra私の更新答えを見てください。 'loc-args'の中で引数を渡すことができ、位置指定の置換にフォーマット指定子を使用することができます。 –
は$または@ですか?どのようにして最初の議論をどこに置くのか、どこをどこに置くのかを知る方法。数字からですか(1と2)? – iEinstein