{ "id": "161807", "key": "TIMOB-23647", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2016-07-15T11:55:24.000+0000", "priority": null, "labels": [ "cb-tooling" ], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T19:55:15.000+0000", "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" } }, "components": [], "description": "Sometimes we find people asking for problems using i18n strings identifiers.\r\n\r\nIt is easy for anyone to use names as *home.4* or *my-home* that are not allowed or generate errors (sometimes even no errors are generated, simply the translation don't work).\r\n\r\nWould be very good that compiler can check for the most usual cases:\r\n\r\n# Start a string identifier by a number: *100money*\r\n# Use not allowed chars: *my.money* (this generates a WARN \r\n {code}[WARN] : KrollProxy: (KrollRuntimeThread) [197,901] No localized string found for identifier: my.money\r\n{code}\r\n# Use hyphen instead underscore: *my-money*\r\n\r\nCannot remember now if there are more cases.", "attachment": [], "flagged": false, "summary": "Advice on compile time about i18n errors", "creator": { "name": "mcvendrell", "key": "mcvendrell", "displayName": "Manuel Conde Vendrell", "active": true, "timeZone": "Europe/Madrid" }, "subtasks": [], "reporter": { "name": "mcvendrell", "key": "mcvendrell", "displayName": "Manuel Conde Vendrell", "active": true, "timeZone": "Europe/Madrid" }, "environment": null, "comment": { "comments": [ { "id": "390847", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey [~mcvendrell], great suggestion! Can you make a list of patterns which work and which don't? So we could throw better warnings or even try to them work if they do natively. Thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-07-17T18:25:49.000+0000", "updated": "2016-07-17T18:25:49.000+0000" }, { "id": "403186", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello [~mcvendrell], Can you get back on [~hansknoechel] comment. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2016-12-12T17:41:52.000+0000", "updated": "2016-12-12T17:43:03.000+0000" }, { "id": "403194", "author": { "name": "mcvendrell", "key": "mcvendrell", "displayName": "Manuel Conde Vendrell", "active": true, "timeZone": "Europe/Madrid" }, "body": "Hi Sharif.\r\n\r\nThe cases I commented are the only ones I know, that's because I didn't add more patterns.", "updateAuthor": { "name": "mcvendrell", "key": "mcvendrell", "displayName": "Manuel Conde Vendrell", "active": true, "timeZone": "Europe/Madrid" }, "created": "2016-12-12T18:24:45.000+0000", "updated": "2016-12-12T18:24:45.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }