{ "id": "125750", "key": "TIMOB-20527", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "2014-02-02T18:51:41.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "cb-tooling", "i18n", "internationalization", "parity" ], "versions": [], "issuelinks": [], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2020-01-30T11:28:03.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": [ { "id": "10207", "name": "Tooling" } ], "description": "The Titanium CLI always assumes English ({{en}}) as the default language for an app. When using a {{i18n}} folder, you must always have {{en/strings.xml}} as well, or the default {{build/android/res/values/strings.xml}} will only contain {{app_name}} and thus give errors reporting missing strings when running the app on a non-Dutch system.\r\n\r\nIn iOS you can set the default language using:\r\n\r\n{code}\r\n\r\n CFBundleDevelopmentRegion\r\n nl_NL\r\n\r\n{code}\r\n\r\nFor Android, it would be nice to have a {{ti.android.defaultLanguage}} property so you can determine the language where the CLI will look for strings for {{build/android/res/values/strings.xml}}.\r\n\r\nSteps to reproduce:\r\n\r\n1. Create a new Android project: {{ti create -p android -n strings --id test.strings -d .}}\r\n2. Create a Dutch i18n strings.xml at {{i18n/nl/strings.xml}}\r\n\r\n {code}\r\n \r\n \r\n\tHallo wereld!\r\n \r\n {code}\r\n\r\n3. Build the project: {{ti build -p android -b}}\r\n4. Check out {{build/android/res/values/strings.xml}} and {{build/android/res/values-nl/strings.xml}} and see the first only contains {{app_name}}.", "attachment": [], "flagged": false, "summary": "Android (Tooling): Support setting source for the default strings", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "CLI/SDK 3.2.0.GA", "closedSprints": [ { "id": 585, "state": "closed", "name": "2016 Sprint 5 SDK", "startDate": "2016-02-27T01:30:43.377Z", "endDate": "2016-03-12T01:30:00.000Z", "completeDate": "2016-03-14T11:50:17.995Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "290838", "author": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Moving this improvement request to engineering for further evaluation and prioritization as I can reproduce the stated behavior.", "updateAuthor": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-03T06:17:45.000+0000", "updated": "2014-02-03T06:17:45.000+0000" }, { "id": "290855", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Workaround for Alloy projects:\r\n\r\n{code}\r\ntask(\"pre:load\", function(event,logger) {\r\n\tvar path = require('path'),\r\n\t\tfs = require('fs'),\r\n\t\twrench = require('wrench');\r\n\r\n\tvar DEFAULT = 'nl'; // set your default locale here\r\n\r\n\twrench.copyDirSyncRecursive(path.join(event.dir.project, 'i18n', DEFAULT), path.join(event.dir.project, 'i18n', 'en'));\r\n});\r\n{code}", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-02-03T09:29:30.000+0000", "updated": "2014-02-03T09:29:30.000+0000" }, { "id": "427826", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "Can we get an update on this ticket? Would be great to set a default language for android apps", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-13T08:12:26.000+0000", "updated": "2017-09-13T08:12:26.000+0000" }, { "id": "449704", "author": { "name": "bgarcia", "key": "bgarcia", "displayName": "Brian García", "active": true, "timeZone": "America/Los_Angeles" }, "body": "pinging...", "updateAuthor": { "name": "bgarcia", "key": "bgarcia", "displayName": "Brian García", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-07-10T10:23:00.000+0000", "updated": "2019-07-10T10:25:36.000+0000" }, { "id": "449705", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Can't be very hard. New 1st class property {{}} together with some CLI logic to handle it. ", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-07-10T10:28:34.000+0000", "updated": "2019-07-10T10:28:34.000+0000" } ], "maxResults": 15, "total": 15, "startAt": 0 } } }