0

GCM(まもなくFCMに切り替える)を使用してプッシュ通知をAndroid搭載端末に送信する場合、電話の言語に基づいてメッセージのタイトル/本文に表示される番号をローカライズするにはどうすればよいですか?GCM/FCM通知メッセージに数字をローカライズするにはどうすればよいですか?

例メッセージ:デバイスの言語はアラビア語に設定されている場合は

ジョン・ドウ137

番号はローカライズされたメッセージ

ローカライズする必要があります

John Doe 137

通知を送信する際にユーザーのデバイス言語がわからないので、メッセージを受信したときに番号をどのようにローカライズできますか?アプリケーションがフォアグラウンドで実行されていない限り、onMessageReceivedコールバックは実行されないので、そこにある数字の文字列置換は実行できません。

コンテキストの場合以下はgcmNotification JSONの例です。私のサービスからGCMに送信していますが、ペイロードに使用できる他のローカリゼーションパラメータを利用しています。

"gcmNotification": { 
    "title_loc_key": "some_title_key", 
    "title_loc_args": "[\"john\", \"Doe\", 137]", 
    "icon": "TheIcon", 
    "body_loc_key": "some_key", 
    "sound": "somesound", 
    "color": "Blue", 
    "collapse_key": "somekey", 
    } 
+0

あなたのコードがメッセージを受け取って書式設定していますが、正しいですか?メッセージ本体に「some_title_key」が含まれているため、ローカライゼーションを処理していることを意味していると想定します。 – EJK

+0

あなたの質問には、次のようなものがあります。 - 既にアラビア語の番号をフォーマットするにはどうすればいいですか?既に回答済みです:http://stackoverflow.com/questions/31185993/android-display-digits-in-arabic-format – EJK

+0

可能な複製[Android:アラビア語形式の数字を表示](0120-13-090) – EJK

答えて

2

一般的には試していません。アラビア数字(通常の0〜9)はよく理解されています。試してみたいと思っているなら、文字列を置換してクライアント側で行うことができます。またはサーバー側にロケールを送信し、サーバーを送信してから送信することができます。

+0

私はそれらを翻訳する必要があります私は恐れています。文字列置換は、クライアントのonMessageReceivedイベントで処理する必要がありますか? –

関連する問題