首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何本地化GCM/FCM通知消息中的号码?

如何本地化GCM/FCM通知消息中的号码?
EN

Stack Overflow用户
提问于 2017-02-14 01:39:28
回答 2查看 1.3K关注 0票数 0

通过GCM (即将切换到FCM )向Android设备发送推送通知时,如何根据手机语言本地化消息标题/正文中出现的号码?

示例消息:

无名氏137

如果设备语言设置为阿拉伯语,则数字应本地化

本地化消息

无名氏١٣٧

由于我在发送通知时不知道用户的设备语言,如何在收到消息时本地化号码?除非应用程序在前台运行,否则onMessageReceived回调不会执行,因此我不能对那里的数字执行字符串替换。

代码语言:javascript
复制
   "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",
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-24 04:06:35

为了解决这个问题,我最终只创建了一个帮助器类,其中包含一个处理转换的方法。我通过它运行消息文本,它返回翻译后的值。到目前为止,它对我来说工作得很好。

代码语言:javascript
复制
public static class NumberHelper
{
    public static string ConvertToArabicNumbers(this string input)
    {
        return input.Replace('0', '\u0660')
            .Replace('1', '\u0661')
            .Replace('2', '\u0662')
            .Replace('3', '\u0663')
            .Replace('4', '\u0664')
            .Replace('5', '\u0665')
            .Replace('6', '\u0666')
            .Replace('7', '\u0667')
            .Replace('8', '\u0668')
            .Replace('9', '\u0669')
            .Replace('.', '\u066B');
    }
}
票数 1
EN

Stack Overflow用户

发布于 2017-02-14 01:47:04

一般来说,你不会去尝试。阿拉伯数字(正常的0-9)很容易理解。如果你想坚持尝试,你可以在客户端使用字符串替换。或者在服务器端发布您的语言环境,并让服务器在发送之前进行翻译。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42210145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档