首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改推送通知横幅中的警报语言

问更改推送通知横幅中的警报语言
EN

Stack Overflow用户
提问于 2013-09-04 17:19:29
回答 1查看 15K关注 0票数 24

当推送到来时,我面临着更改横幅中提醒的语言的问题。实际上,我正在开发一个有两种语言的应用程序。一个是英语,第二个是挪威语。我从我的web服务器端收到的推送,以及它在alert键中有什么字符串,当推送到来时,你在应用程序之外时,它会显示在横幅中。但是作为一个要求,我们希望如果我将语言设置从英语更改为挪威语,那么当推送到来时,其横幅的警告字符串也将更改为挪威语。是否可以在我这一端,或者我必须改变它从服务器每当我改变语言?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-04 17:30:04

在iOS推送通知中显示本地化文本有两种方式:

本地化服务器中的邮件

在这种情况下,您必须将设备语言发送到服务器。需要添加到iOS应用程序中的代码如下所示:

代码语言:javascript
复制
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密钥,您可以使用该密钥发送本地化字符串:

代码语言:javascript
复制
"alert" : { 
    "loc-key" : "My Localized String",
    ...
}

然后,在对应的语言标识符内的Localizable.strings文件中,添加以下内容:

代码语言:javascript
复制
"My Localized String" = "The localized string in the language you want.";

如果需要传递参数来构建最终的本地化字符串,也可以在通知有效负载中将其作为loc-args JSON数组传递:

代码语言:javascript
复制
"alert" : { 
        "loc-key" : "My Localized String",
        "loc-args" : [ "First argument", "Second argument" ],
        ...
    }

而且,在你的Localizable.strings中

代码语言:javascript
复制
 "My Localized String" = "The localized string with first argument %@, and second argument %@."

或者,如果您需要更改位置:

代码语言:javascript
复制
 "My Localized String" = "The localized string with second argument %2$@, and first argument %1$@.";
票数 78
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18609923

复制
相关文章

相似问题

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