{ "id": "127308", "key": "ALOY-967", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [ { "id": "16692", "name": "Alloy 1.7.0", "archived": false, "released": true, "releaseDate": "2015-07-22" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-02-13T18:26:25.000+0000", "created": "2014-03-06T14:53:32.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "15759", "description": "Alloy 1.3.1", "name": "Alloy 1.3.1", "archived": false, "released": true, "releaseDate": "2014-02-10" } ], "issuelinks": [ { "id": "40047", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "inwardIssue": { "id": "134070", "key": "TIMOB-17446", "fields": { "summary": "Build scripts should accept flags indicating the path to the platform and i18n folders to use for a build", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "38617", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "132105", "key": "TIDOC-1736", "fields": { "summary": "Guides: Support \"i18n\" directory in Alloy widgets", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "38647", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "132184", "key": "ALOY-1059", "fields": { "summary": "i18n from app must override i18n from widgets", "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" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "45935", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "144647", "key": "TIMOB-18570", "fields": { "summary": "i18n: Only en strings load on simulator", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "38396", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "121538", "key": "ALOY-858", "fields": { "summary": "Alloy: Theme \"i18n\" and \"platform\" folders", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "updated": "2015-02-13T20:32:27.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": "14203", "name": "I18N", "description": "Internationalization" }, { "id": "12333", "name": "Widgets" } ], "description": "Customers have requested support for widget specific i18n localization files. This would be useful for fully independent UI widgets.", "attachment": [ { "id": "48916", "filename": "Screen Shot 2014-06-13 at 1.24.14 pm.png", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2014-06-13T05:29:43.000+0000", "size": 45025, "mimeType": "image/png" }, { "id": "48755", "filename": "Test.zip", "author": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-06-09T15:41:24.000+0000", "size": 5926862, "mimeType": "application/zip" } ], "flagged": false, "summary": "Support i18n directory in widgets", "creator": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 142, "state": "closed", "name": "2014 Sprint 12 Alloy", "startDate": "2014-06-09T16:00:25.715Z", "endDate": "2014-06-23T16:00:00.000Z", "completeDate": "2014-06-23T14:35:50.386Z", "originBoardId": 124 }, { "id": 319, "state": "closed", "name": "2015 Sprint 03 Tooling", "startDate": "2015-01-31T03:56:17.033Z", "endDate": "2015-02-14T02:30:00.000Z", "completeDate": "2015-02-14T02:18:47.439Z", "originBoardId": 121 } ], "comment": { "comments": [ { "id": "308003", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "[~aleard] I think I know what you're asking for here. But some clarification would help me and QE. Could you post a sample app showing how you'd like this to work, plus any considerations or details describing how a developer would implement this feature?", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-06-09T15:18:33.000+0000", "updated": "2014-06-09T15:18:33.000+0000" }, { "id": "308006", "author": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I have attached a sample app. Notice that the included widget has its own i18n directory and its own set of language strings. The widget developer should be able to independently manage the language included in any of their UI elements without having to ask the application owner to modify their strings.xml files at an application level.", "updateAuthor": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-06-09T15:41:24.000+0000", "updated": "2014-06-09T15:41:24.000+0000" }, { "id": "308835", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "PR: https://github.com/appcelerator/alloy/pull/446\r\nTest app: https://github.com/feons/alloy/tree/ALOY-967/test/apps/testing/ALOY-967\r\n\r\nFunctional Test:\r\n\r\n 1. Run the test app on ios \r\n 2. The localized strings from each widgets are displayed as illustrated by the attached screenshot.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2014-06-13T05:29:43.000+0000", "updated": "2014-06-13T05:29:43.000+0000" }, { "id": "309573", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "Updated functional test steps:\r\n\r\nYou can use Feon's test app (included in the PR). However, you can't run it using the jake test harness. Instead:\r\n\r\n1. Create a new Alloy project. \r\n2. Copy the contents of the 967 test app's folder, minus the i18n folder, to your new project's app folder.\r\n3. Copy the test app's i18n folder to your project's root folder\r\n4. Now run the app. Change the language of your simulator/device from English to Spanish. The app name on the springboard should change. Open the app. You get new language strings from both the app and widget labels.\r\n5. Change your sim/device back to English. App name and labels change back to English strings.\r\n", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-06-18T14:29:07.000+0000", "updated": "2014-06-20T18:23:27.000+0000" }, { "id": "310222", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "PR tested and merged", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-06-20T18:23:44.000+0000", "updated": "2014-06-20T18:23:44.000+0000" }, { "id": "316780", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "Reopening for consideration of alternate ways to implement the functionality.", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2014-08-04T03:33:02.000+0000", "updated": "2014-08-04T03:33:02.000+0000" }, { "id": "320886", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Please work on the blocking ticket, and then take this one.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-28T21:23:15.000+0000", "updated": "2014-08-28T21:23:15.000+0000" }, { "id": "321314", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "We will need input & guidance from [~cbarber] on the blocking ticket before we can work on it.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-09-02T13:30:29.000+0000", "updated": "2014-09-02T13:30:29.000+0000" }, { "id": "343308", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "This is resolved by ALOY-858\r\n\r\nHowever, TIMOB-18570 will prevent you from testing/confirming this with the iOS simulator. Use an iOS device or Android emulator to test until that ticket is resolved.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2015-02-13T18:26:25.000+0000", "updated": "2015-02-13T18:26:25.000+0000" } ], "maxResults": 10, "total": 10, "startAt": 0 } } }