{"action":"created","issue":{"url":"https://api.github.com/repos/concrete5/concrete5/issues/1841","labels_url":"https://api.github.com/repos/concrete5/concrete5/issues/1841/labels{/name}","comments_url":"https://api.github.com/repos/concrete5/concrete5/issues/1841/comments","events_url":"https://api.github.com/repos/concrete5/concrete5/issues/1841/events","html_url":"https://github.com/concrete5/concrete5/pull/1841","id":54891127,"number":1841,"title":"Feature/integrate translation library","user":{"login":"mlocati","id":928116,"avatar_url":"https://avatars.githubusercontent.com/u/928116?v=3","gravatar_id":"","url":"https://api.github.com/users/mlocati","html_url":"https://github.com/mlocati","followers_url":"https://api.github.com/users/mlocati/followers","following_url":"https://api.github.com/users/mlocati/following{/other_user}","gists_url":"https://api.github.com/users/mlocati/gists{/gist_id}","starred_url":"https://api.github.com/users/mlocati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlocati/subscriptions","organizations_url":"https://api.github.com/users/mlocati/orgs","repos_url":"https://api.github.com/users/mlocati/repos","events_url":"https://api.github.com/users/mlocati/events{/privacy}","received_events_url":"https://api.github.com/users/mlocati/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-01-20T14:46:50Z","updated_at":"2015-10-02T14:19:22Z","closed_at":"2015-01-26T19:13:53Z","pull_request":{"url":"https://api.github.com/repos/concrete5/concrete5/pulls/1841","html_url":"https://github.com/concrete5/concrete5/pull/1841","diff_url":"https://github.com/concrete5/concrete5/pull/1841.diff","patch_url":"https://github.com/concrete5/concrete5/pull/1841.patch"},"body":"## The Problem\r\nCurrently we have these processes that work on translatable strings:\r\n- populate Transifex resources: this is done with [i18n.php](https://github.com/mlocati/concrete5-build/blob/master/i18n.php)\r\n- extract dynamic strings from running instances on concrete5 5.6.x: this is done with [Localizer](https://github.com/mlocati/concrete5-localizer)\r\n- extract dynamic strings from running instances on concrete5 5.7.x: this is done with [Multilingual/Service/Extractor](https://github.com/concrete5/concrete5-5.7.0/blob/develop/web/concrete/src/Multilingual/Service/Extractor.php)\r\n\r\nThis is quite a mess to keep all these systems updated.\r\n\r\n## The Solution\r\nLet's introduce a common library to handle translations: the whole new **[concrete5 Translation Library](https://github.com/mlocati/concrete5-translation-library)** :wink:\r\nThis library can extract strings from running instances (replaces Localizer and Multilingual/Service/Extractor), as well as from directories (replaces i18n.php)\r\n\r\nI tested it from concrete5 5.5.2 to concrete5 5.7.git and everything seems to be fine.\r\n\r\nI worked with @oscarotero to fix some minor issues of his great [Gettext library](https://github.com/oscarotero/Gettext), but something still need some minor refinement. So, for the moment don't merge this PR."},"comment":{"url":"https://api.github.com/repos/concrete5/concrete5/issues/comments/145034358","html_url":"https://github.com/concrete5/concrete5/pull/1841#issuecomment-145034358","issue_url":"https://api.github.com/repos/concrete5/concrete5/issues/1841","id":145034358,"user":{"login":"mlocati","id":928116,"avatar_url":"https://avatars.githubusercontent.com/u/928116?v=3","gravatar_id":"","url":"https://api.github.com/users/mlocati","html_url":"https://github.com/mlocati","followers_url":"https://api.github.com/users/mlocati/followers","following_url":"https://api.github.com/users/mlocati/following{/other_user}","gists_url":"https://api.github.com/users/mlocati/gists{/gist_id}","starred_url":"https://api.github.com/users/mlocati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlocati/subscriptions","organizations_url":"https://api.github.com/users/mlocati/orgs","repos_url":"https://api.github.com/users/mlocati/repos","events_url":"https://api.github.com/users/mlocati/events{/privacy}","received_events_url":"https://api.github.com/users/mlocati/received_events","type":"User","site_admin":false},"created_at":"2015-10-02T14:19:22Z","updated_at":"2015-10-02T14:19:22Z","body":"For us it would not: we have a lot of packages that are already translated.\r\nWhat about adding a configuration option to enable/disable that?\r\n\r\n@henrock Did you already checked if [your code](https://github.com/concrete5/concrete5/pull/1841#issuecomment-144954338) works as expected? In that case, I'd create a pull request to implement what I mean..."}}