gpt4 book ai didi

ios - 更改推送通知横幅中的警报语言

转载 作者:IT王子 更新时间:2023-10-29 08:02:02 24 4
gpt4 key购买 nike

当推送到来时,我面临着更改横幅中警报语言的问题。实际上,我正在开发一个可以使用两种语言的应用程序。一是英语,二是挪威语。我从我的网络服务器端收到的推送以及它在 alert 键中的字符串在推送到来时显示在横幅中并且您不在应用程序中。但作为一项要求,我们希望如果我将语言设置从英语更改为挪威语,那么当推送到来时,其横幅的警报字符串也将更改为挪威语。是否有可能在我这边,或者我必须在每次更改语言时从服务器更改它?

最佳答案

有两种方法可以在 iOS 的推送通知中显示本地化文本:

在您的服务器中本地化消息

在这种情况下,您必须将设备语言发送到您的服务器。您需要添加到 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 键:

"alert" : { 
"loc-key" : "My Localized String",
...
}

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

"My Localized String" = "The localized string in the language you want.";

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

"alert" : { 
"loc-key" : "My Localized String",
"loc-args" : [ "First argument", "Second argument" ],
...
}

并且,在您的 Localizable.strings 中:

 "My Localized String" = "The localized string with first argument %@, and second argument %@."

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

 "My Localized String" = "The localized string with second argument %2$@, and first argument %1$@.";

关于ios - 更改推送通知横幅中的警报语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18609923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com