{"action":"created","issue":{"url":"https://api.github.com/repos/inveniosoftware/invenio/issues/1989","labels_url":"https://api.github.com/repos/inveniosoftware/invenio/issues/1989/labels{/name}","comments_url":"https://api.github.com/repos/inveniosoftware/invenio/issues/1989/comments","events_url":"https://api.github.com/repos/inveniosoftware/invenio/issues/1989/events","html_url":"https://github.com/inveniosoftware/invenio/issues/1989","id":38536287,"number":1989,"title":"RFC: translations split and use of https://www.transifex.com/","user":{"login":"jirikuncar","id":189798,"avatar_url":"https://avatars.githubusercontent.com/u/189798?v=3","gravatar_id":"","url":"https://api.github.com/users/jirikuncar","html_url":"https://github.com/jirikuncar","followers_url":"https://api.github.com/users/jirikuncar/followers","following_url":"https://api.github.com/users/jirikuncar/following{/other_user}","gists_url":"https://api.github.com/users/jirikuncar/gists{/gist_id}","starred_url":"https://api.github.com/users/jirikuncar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jirikuncar/subscriptions","organizations_url":"https://api.github.com/users/jirikuncar/orgs","repos_url":"https://api.github.com/users/jirikuncar/repos","events_url":"https://api.github.com/users/jirikuncar/events{/privacy}","received_events_url":"https://api.github.com/users/jirikuncar/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/inveniosoftware/invenio/labels/master","name":"master","color":"d4c5f9"},{"url":"https://api.github.com/repos/inveniosoftware/invenio/labels/question","name":"question","color":"cc317c"},{"url":"https://api.github.com/repos/inveniosoftware/invenio/labels/RFC","name":"RFC","color":"009800"},{"url":"https://api.github.com/repos/inveniosoftware/invenio/labels/s_CDS","name":"s_CDS","color":"4D94CE"},{"url":"https://api.github.com/repos/inveniosoftware/invenio/labels/s_TIND","name":"s_TIND","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/inveniosoftware/invenio/milestones/6","html_url":"https://github.com/inveniosoftware/invenio/milestones/v2.2.0","labels_url":"https://api.github.com/repos/inveniosoftware/invenio/milestones/6/labels","id":696686,"number":6,"title":"v2.2.0","description":"Invenio v2.2 will use new data model and fully run on PostgreSQL.","creator":{"login":"jirikuncar","id":189798,"avatar_url":"https://avatars.githubusercontent.com/u/189798?v=3","gravatar_id":"","url":"https://api.github.com/users/jirikuncar","html_url":"https://github.com/jirikuncar","followers_url":"https://api.github.com/users/jirikuncar/followers","following_url":"https://api.github.com/users/jirikuncar/following{/other_user}","gists_url":"https://api.github.com/users/jirikuncar/gists{/gist_id}","starred_url":"https://api.github.com/users/jirikuncar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jirikuncar/subscriptions","organizations_url":"https://api.github.com/users/jirikuncar/orgs","repos_url":"https://api.github.com/users/jirikuncar/repos","events_url":"https://api.github.com/users/jirikuncar/events{/privacy}","received_events_url":"https://api.github.com/users/jirikuncar/received_events","type":"User","site_admin":false},"open_issues":149,"closed_issues":160,"state":"open","created_at":"2014-06-20T11:43:39Z","updated_at":"2015-08-19T08:30:15Z","due_on":"2015-07-30T22:00:00Z","closed_at":null},"comments":9,"created_at":"2014-07-23T14:50:24Z","updated_at":"2015-08-19T09:20:33Z","closed_at":null,"body":"##### Current status (in next/pu)\r\n\r\nFollowing libraries Babel and Flask-Babel are used:\r\n- http://babel.pocoo.org/docs/cmdline/\r\n- https://pythonhosted.org/Flask-Babel/\r\n\r\n##### Problems\r\n\r\n1. `invenio.pot` is huge and there is missing support overlay translations (see #828)\r\n1. compiling translations after installation with `pybabel compile -fd invenio/base/translations/` command (one needs to get to source directory)\r\n1. Flask-Babel does not allow easy domain switch (see fork Flask-BabelEx: https://pythonhosted.org/Flask-BabelEx/)\r\n1. it can be difficult for non-tech translators to contribute to Invenio\r\n\r\n##### Proposal\r\n\r\n- [ ] use domains and/or split translations loading per module (see #1984)\r\n- [x] compile translations before creating zip/tar.gz\r\n- [ ] evaluate use of Flask-BabelEx or take part in improving Flask-Babel\r\n- [ ] create project on https://www.transifex.com/ (Indico is there)"},"comment":{"url":"https://api.github.com/repos/inveniosoftware/invenio/issues/comments/132505414","html_url":"https://github.com/inveniosoftware/invenio/issues/1989#issuecomment-132505414","issue_url":"https://api.github.com/repos/inveniosoftware/invenio/issues/1989","id":132505414,"user":{"login":"tiborsimko","id":517546,"avatar_url":"https://avatars.githubusercontent.com/u/517546?v=3","gravatar_id":"","url":"https://api.github.com/users/tiborsimko","html_url":"https://github.com/tiborsimko","followers_url":"https://api.github.com/users/tiborsimko/followers","following_url":"https://api.github.com/users/tiborsimko/following{/other_user}","gists_url":"https://api.github.com/users/tiborsimko/gists{/gist_id}","starred_url":"https://api.github.com/users/tiborsimko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiborsimko/subscriptions","organizations_url":"https://api.github.com/users/tiborsimko/orgs","repos_url":"https://api.github.com/users/tiborsimko/repos","events_url":"https://api.github.com/users/tiborsimko/events{/privacy}","received_events_url":"https://api.github.com/users/tiborsimko/received_events","type":"User","site_admin":false},"created_at":"2015-08-19T09:20:33Z","updated_at":"2015-08-19T09:20:33Z","body":"One comment WRT transifex and other cloud-based solutions:\r\n\r\n1. For the translator, it is interesting to see the context of the phrase he/she is translating, which may not be easy to do on the cloud.  Translating files locally, e.g. using Emacs po-mode, the translator can press `s` to go to the source code line where the given phrase occurs.  (Either to understand its context, or to improve Python message formatting, say `%s` -> `%(x_number)s`.)\r\n\r\n2. The management of possibly-updated PO files in between stable versions (v1.1. v1.2, etc) and merging them is nicer with git too."}}