{ "id": "137541", "key": "AC-3230", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2015-09-17T06:39:42.000+0000", "created": "2014-10-01T14:33:56.000+0000", "labels": [ "TCSupportTriage", "android", "ios" ], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2017-09-12T09:25:28.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "Is there a way to localize Alerts push notifications. Someone suggested we keep the language of the User in ACS.User custom_fields, and then fetch the Users prefered language and send the Push Notification Alert text depending on that users language.\r\n\r\nWhile the above seems like a *very bad practice* (as it requires a lot of ACS calls just to send an Alert), I am wondering if there is a good practice to localize the Alert text in Push Notifications.\r\n\r\n*Apple Suggests* using:\r\n{code:javascript|borderStyle=solid}\r\n\"alert\" : { \r\n \"loc-key\" : \"My Localized String\",\r\n ...\r\n}\r\n{code}\r\n\r\nAnd then, in your Localizable.strings file inside the correspondent language identifier, add the following:\r\n\"My Localized String\" = \"The localized string in the language you want.\";\r\n\r\nIdeally the same method would be used for Android.", "attachment": [], "flagged": false, "summary": "Localizing Push Notification Alerts", "creator": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "subtasks": [], "reporter": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "environment": "ACS 1.1.5, Ti SDK 3.3.0", "comment": { "comments": [ { "id": "331831", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "When sending a Push via ACS:\r\n{code}{ \"sound\":\"default\", \"alert\": {\"loc-key\":\"addbarcode\"} } {code}\r\n\r\nand in /i18n/en/strings.xml:\r\n{code}English Alert Message!{code}\r\n\r\nand in /i18n/fr/strings.xml:\r\n{code}Message en francais !{code}\r\n\r\nDoes not work, I see the Alert on the device as: {\"loc-key\":\"addbarcode\"} ", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2014-11-12T17:59:39.000+0000", "updated": "2014-11-12T18:00:28.000+0000" }, { "id": "332901", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "Also with iOS8, you can localize also the Action button label with:\r\n“action-loc-key” : “buttonTitle”", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2014-11-19T15:02:12.000+0000", "updated": "2014-11-19T15:02:12.000+0000" }, { "id": "357383", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "Wondering how come this isn't a high priority...", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2015-07-09T20:24:03.000+0000", "updated": "2015-07-09T20:24:03.000+0000" }, { "id": "360166", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "According to https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW21 the key should come from LANG.lproj/Localizable.strings which is what our i18n/LANG/strings.xml writes to, so it's weird that this is not working.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-08-18T07:10:48.000+0000", "updated": "2015-08-18T07:10:48.000+0000" }, { "id": "360182", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "I see, so I'm guessing this ticket is still valid. Thanks @Fokke", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2015-08-18T12:04:06.000+0000", "updated": "2015-08-18T12:04:06.000+0000" }, { "id": "362081", "author": { "name": "stoda", "key": "stoda", "displayName": "Seth Toda", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~underlabs], I moved this to TIMOB-19459 as a feature request.", "updateAuthor": { "name": "stoda", "key": "stoda", "displayName": "Seth Toda", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-09-02T18:11:08.000+0000", "updated": "2015-09-02T18:11:08.000+0000" }, { "id": "364191", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "I see this as Resolved :)\r\n\r\nI wonder if the change happened on the Cloud + Ti SDK, or just Ti SDK... basically wondering if I can take advantage of the solution now, if not... an approx. time frame to be released to the public.\r\n\r\nThanks guys!", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2015-09-17T12:19:33.000+0000", "updated": "2015-09-17T12:19:33.000+0000" }, { "id": "365157", "author": { "name": "stoda", "key": "stoda", "displayName": "Seth Toda", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello \r\n\r\nThis was moved to an internal project. Van you see the attached CLOUDSRV project?", "updateAuthor": { "name": "stoda", "key": "stoda", "displayName": "Seth Toda", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-09-28T22:32:44.000+0000", "updated": "2015-09-28T22:32:44.000+0000" }, { "id": "427790", "author": { "name": "otto.pic", "key": "otto.pic", "displayName": "Lorenzo Piccinini", "active": true, "timeZone": "Europe/Rome" }, "body": "Any news about this ticket? It seems not yet available on arrowdb .", "updateAuthor": { "name": "otto.pic", "key": "otto.pic", "displayName": "Lorenzo Piccinini", "active": true, "timeZone": "Europe/Rome" }, "created": "2017-09-12T09:25:28.000+0000", "updated": "2017-09-12T09:25:28.000+0000" } ], "maxResults": 11, "total": 11, "startAt": 0 } } }