Post

Replies

Boosts

Views

Activity

Remote push notification with localised body with plurals
Hi!I'm working with remote pushes, and i have a problem with localisation and plurals. I'm not sure, if it's a bug, or not supported (why?), or i just missed something simple.Some simplified code for local notification:let content = UNMutableNotificationContent() content.title = NSLocalizedString("Notifications.NewMessage.Title", comment: "notification header") content.body = String.localizedStringWithFormat(NSLocalizedString("Notifications.NewMessage.BodyFormat", comment: "notification body"), 3) content.sound = UNNotificationSound(named: "notification.mp3") let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 1, repeats: false) let request = UNNotificationRequest(identifier: "notification", content: content, trigger: trigger) UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)Here a payload for remote push notification (i use Pusher for testing), with same content and same localisation keys:{ "aps": { "alert": { "title-loc-key": "Notifications.NewMessage.Title", "loc-key": "Notifications.NewMessage.BodyFormat", "loc-args": [3] }, "badge": 3, "sound": "notification.mp3" } }Result: locals works fine, remotes are broken. Screenshot.Plurals stringdict:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>NotificationsService.NewMessage.BodyFormat</key> <dict> <key>NSStringLocalizedFormatKey</key> <string>You have %#@messages@</string> <key>messages</key> <dict> <key>NSStringFormatSpecTypeKey</key> <string>NSStringPluralRuleType</string> <key>NSStringFormatValueTypeKey</key> <string>d</string> <key>one</key> <string>%d new message</string> <key>other</key> <string>%d new messages</string> </dict> </dict> </dict> </plist>It's may be a problem with string format "d", which is integer, and "loc-args" array, whitch is "Array of strings", but if we change NSStringFormatValueTypeKey to @ for string, app will crash.
1
0
1.3k
May ’18