{"action":"created","issue":{"url":"https://api.github.com/repos/beavyHQ/beavy/issues/24","labels_url":"https://api.github.com/repos/beavyHQ/beavy/issues/24/labels{/name}","comments_url":"https://api.github.com/repos/beavyHQ/beavy/issues/24/comments","events_url":"https://api.github.com/repos/beavyHQ/beavy/issues/24/events","html_url":"https://github.com/beavyHQ/beavy/issues/24","id":116985375,"number":24,"title":"Add Localisation System","user":{"login":"ligthyear","id":40496,"avatar_url":"https://avatars.githubusercontent.com/u/40496?v=3","gravatar_id":"","url":"https://api.github.com/users/ligthyear","html_url":"https://github.com/ligthyear","followers_url":"https://api.github.com/users/ligthyear/followers","following_url":"https://api.github.com/users/ligthyear/following{/other_user}","gists_url":"https://api.github.com/users/ligthyear/gists{/gist_id}","starred_url":"https://api.github.com/users/ligthyear/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ligthyear/subscriptions","organizations_url":"https://api.github.com/users/ligthyear/orgs","repos_url":"https://api.github.com/users/ligthyear/repos","events_url":"https://api.github.com/users/ligthyear/events{/privacy}","received_events_url":"https://api.github.com/users/ligthyear/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/beavyHQ/beavy/labels/enhancement","name":"enhancement","color":"c7def8"},{"url":"https://api.github.com/repos/beavyHQ/beavy/labels/in%20progress","name":"in progress","color":"ffffff"},{"url":"https://api.github.com/repos/beavyHQ/beavy/labels/starter","name":"starter","color":"d4c5f9"}],"state":"open","locked":false,"assignee":{"login":"ezmiller","id":772738,"avatar_url":"https://avatars.githubusercontent.com/u/772738?v=3","gravatar_id":"","url":"https://api.github.com/users/ezmiller","html_url":"https://github.com/ezmiller","followers_url":"https://api.github.com/users/ezmiller/followers","following_url":"https://api.github.com/users/ezmiller/following{/other_user}","gists_url":"https://api.github.com/users/ezmiller/gists{/gist_id}","starred_url":"https://api.github.com/users/ezmiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ezmiller/subscriptions","organizations_url":"https://api.github.com/users/ezmiller/orgs","repos_url":"https://api.github.com/users/ezmiller/repos","events_url":"https://api.github.com/users/ezmiller/events{/privacy}","received_events_url":"https://api.github.com/users/ezmiller/received_events","type":"User","site_admin":false},"milestone":null,"comments":21,"created_at":"2015-11-15T10:24:20Z","updated_at":"2016-01-05T19:01:01Z","closed_at":null,"body":"Beavy in its current state doesn't have support for Localization, that is showing strings and number in the locally expected language and patterns. We will be implementing a gettext-based system using pybabel and jed.The following needs to be done:\r\n\r\n - [x] integrate pybabel into flask\r\n  - [x] add default language/locale config option\r\n  - [x] add support for configuring available languages via config.yml\r\n  - [x] add language preference on user model\r\n  - [x] determine language by user or via user-agent or default (this order)\r\n - [x] build jed-i18n frontend module\r\n - [x] add toolchain to extract messages from both frontend and backend\r\n   - [ ] allow these messages to be split up into core, modules, apps (using gettext domains?)\r\n - [x] add toolchain to compile latest messages with po2json (can we use webpack for that?)\r\n   - [ ] allow \"app\" to overwrite all styles already defined\r\n - [x] let flask push translations to Jed via _preload\r\n - [ ] upgrade travis to:\r\n   - [ ] automatically extract all messages when merging into master \r\n   - [ ] push latest version of those messages to transifix\r\n - [ ] add documentation about i18n\r\n   - [ ] how to use i18n in the backend\r\n   - [ ] how to use i18n in the frontend\r\n   - [ ] how to pull latest transifex translations and integrate them (tooling)\r\n\r\n@ezmiller is on it!\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/beavyHQ/beavy/issues/comments/169098141","html_url":"https://github.com/beavyHQ/beavy/issues/24#issuecomment-169098141","issue_url":"https://api.github.com/repos/beavyHQ/beavy/issues/24","id":169098141,"user":{"login":"ezmiller","id":772738,"avatar_url":"https://avatars.githubusercontent.com/u/772738?v=3","gravatar_id":"","url":"https://api.github.com/users/ezmiller","html_url":"https://github.com/ezmiller","followers_url":"https://api.github.com/users/ezmiller/followers","following_url":"https://api.github.com/users/ezmiller/following{/other_user}","gists_url":"https://api.github.com/users/ezmiller/gists{/gist_id}","starred_url":"https://api.github.com/users/ezmiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ezmiller/subscriptions","organizations_url":"https://api.github.com/users/ezmiller/orgs","repos_url":"https://api.github.com/users/ezmiller/repos","events_url":"https://api.github.com/users/ezmiller/events{/privacy}","received_events_url":"https://api.github.com/users/ezmiller/received_events","type":"User","site_admin":false},"created_at":"2016-01-05T19:01:01Z","updated_at":"2016-01-05T19:01:01Z","body":"@ligthyear Nice! Taking a look now."}}