Ios7 发送iOS推送通知的loc args中的本地化字符串键
我的应用程序支持4种语言和推送通知。当我向APN发送推送通知时,我正在发送Ios7 发送iOS推送通知的loc args中的本地化字符串键,ios7,apple-push-notifications,nslocalizedstring,localizable.strings,Ios7,Apple Push Notifications,Nslocalizedstring,Localizable.strings,我的应用程序支持4种语言和推送通知。当我向APN发送推送通知时,我正在发送loc_key&loc args。现在我需要在loc args数组中发送本地化字符串,这样当应用程序收到推送通知时,我就可以在iOS应用程序端翻译这些字符串 但当我在loc args中发送本地化字符串时,它没有在通知中心显示翻译后的字符串,而是按原样显示本地化密钥 我的字符串文件包含以下2条消息: "WINNER_ALERT"= "Congratulations! %@ won the match & became
loc_key
&loc args
。现在我需要在loc args
数组中发送本地化字符串,这样当应用程序收到推送通知时,我就可以在iOS应用程序端翻译这些字符串
但当我在loc args
中发送本地化字符串时,它没有在通知中心显示翻译后的字符串,而是按原样显示本地化密钥
我的字符串文件包含以下2条消息:
"WINNER_ALERT"= "Congratulations! %@ won the match & became %@ player";
"ROLE_PROFESSIONAL_LOCALIZED_KEY" = "professional"
服务器发送低于有效负载的数据
{
aps = {
alert = {
"loc-args" = (
"John",
"ROLE_PROFESSIONAL_LOCALIZED_KEY"
);
"loc-key" = "WINNER_ALERT";
};
badge = 1;
sound = default;
};
}
当我在iOS通知中心发送上述有效负载时,消息如下所示
Congratulations! John won the match & became ROLE_PROFESSIONAL_LOCALIZED_KEY player
而不是
Congratulations! JOHN won the match & became professional player
谁能告诉我是否可以在loc args
中发送本地化字符串?如果是,我的有效载荷有什么问题
提前感谢我相信您的
可本地化.strings
文件应该如下所示:
"WINNER_ALERT"= "Congratulations! %@ won the match & became %@ player";
推送通知负载应如下所示:
{
aps = {
alert = {
"loc-args" = (
"JOHN",
"professional"
);
"loc-key" = "WINNER_ALERT";
};
badge = 1;
sound = default;
};
}
这将产生预期的结果:
祝贺你!约翰赢得了比赛并成为职业球员
以下是原因(根据):
:当前本地化的Localizable.strings文件中警报消息字符串的键loc key
:在loc键中替代格式说明符显示的变量字符串值loc args
- @Zak answer的作品就像一个符咒
此外,如果您需要本地化
professional
,它应该是WINNER\u ARERT
字符串的一部分
如果需要为professional
传递不同的字符串,则应创建多个本地化字符串。例如:
1) “获胜者职业球员”=“恭喜!%@赢得比赛并成为职业球员”代码>
2) “赢家提醒半职业球员”=“恭喜!%@赢得比赛并成为半职业球员”代码>您不能在loc arg中发送本地化密钥。您得到解决方案了吗?这应该是一个注释,而不是答案。再重复一点。