推送通知显示本地化常量而不是消息

时间:2011-02-20 17:20:36

标签: iphone localization push-notification apple-push-notifications localizable.strings

我有一个严重的问题我没有在网上发现任何问题。当我推送本地化的消息时,它只适用于瑞典语,而不适用于英语。我还有一个说它只显示了他们的瑞典Iphone 4的常数。我也测试了Iphone 3g,它和我的iphone 4有同样的问题,用瑞典语而不是英语。

当用英语显示Iphone 4的弹出窗口时,我只能从服务器获取我在通知中提供的本地化密钥。

以下是我从Windows Server推送的C#中的通知字符串。我的iPhone应用程序的额外参数在任何语言中都可以正常工作,因此它似乎与推送的服务器端部分无关。

int total = notification.AmountScheduledEvent + notification.AmountCourseResult + notification.AmountExam;
string locKey = (total > 1 ? "PushMessageMultiple" : "PushMessageSingle");
string msg = "{\"aps\":{"+
                  "\"alert\": {"+
                      "\"loc-key\":\"" + locKey + "\","+
                      "\"loc-args\":[\"" + total + "\"]},"+
                  "\"badge\":" + total + ","+
                  "\"sound\":\"default\"},"+
              "\"amountSchedule\":" + notification.AmountScheduledEvent + ","+
              "\"amountCourseResult\":" + notification.AmountCourseResult + ","+
              "\"amountExam\":" + notification.AmountExam + "}";

在sv.lproj中的Localizable.strings中:

/* push stuff */
"PushMessageMultiple" = "%@ nya händelser";
"PushMessageSingle" = "1 ny händelse";

在en.lproj中的Localizable.strings:

/* push stuff */
"PushMessageMultiple" = "%@ new events";
"PushMessageSingle" = "1 new event";

以下是有效通知的屏幕图片(瑞典语) http://img267.imageshack.us/i/img0014b.png/

以下是屏幕上的图片,其中包含不起作用的通知(英文) http://img696.imageshack.us/i/img0015i.png/

我知道为什么我得到一个常数而不是一条消息?

1 个答案:

答案 0 :(得分:0)

尝试使用:

NSLocalizedString(@"PushMessageMultiple",@"");

这将动态获取正确的字符串。