{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/i18n/issues/36","repository_url":"https://api.github.com/repos/nodejs/i18n","labels_url":"https://api.github.com/repos/nodejs/i18n/issues/36/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/i18n/issues/36/comments","events_url":"https://api.github.com/repos/nodejs/i18n/issues/36/events","html_url":"https://github.com/nodejs/i18n/issues/36","id":302625532,"number":36,"title":"Using Crowdin","user":{"login":"obensource","id":1910457,"avatar_url":"https://avatars2.githubusercontent.com/u/1910457?v=4","gravatar_id":"","url":"https://api.github.com/users/obensource","html_url":"https://github.com/obensource","followers_url":"https://api.github.com/users/obensource/followers","following_url":"https://api.github.com/users/obensource/following{/other_user}","gists_url":"https://api.github.com/users/obensource/gists{/gist_id}","starred_url":"https://api.github.com/users/obensource/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obensource/subscriptions","organizations_url":"https://api.github.com/users/obensource/orgs","repos_url":"https://api.github.com/users/obensource/repos","events_url":"https://api.github.com/users/obensource/events{/privacy}","received_events_url":"https://api.github.com/users/obensource/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-03-06T09:34:04Z","updated_at":"2018-03-06T09:43:35Z","closed_at":null,"author_association":"COLLABORATOR","body":"## Purpose\r\nOur group needs to be brought up to speed on what's been discussed with @Andrulko and our WG members who were present at **our meeting with Crowdin on 02/26/18**.\r\n\r\nWG members: Please provide any thoughts or feedback you have here concerning using Crowdin and we'll get things rolling. 🙌\r\n\r\n## Meeting Recap\r\n### i18n WG members in attendance\r\n* @zeke \r\n* @vanessayuenn \r\n* @sotayamashita \r\n* @obensource\r\n\r\n@Andrulko gave us a setup overview, and demoed Crowdin's repo integration & l10n features.\r\n\r\n### Crowdin Integration Features\r\n* Syncing a repo with Crowdin via their [Github integration process](https://support.crowdin.com/github-integration/)\r\n* Syncing and managing l10n project resources directly with the [Crowdin CLI interface](https://support.crowdin.com/cli-tool/)\r\n\r\n### Crowdin l10n Features\r\n* [In-context translation for web apps](https://support.crowdin.com/in-context-localization/)\r\n   - Translation can be done by selecting an app's text in the UI, and live translating it directly.\r\n* [Proofreading & voting of translations](https://support.crowdin.com/online-editor/#proofreadingvoting-mode)\r\n  - Translations can be proofread and/or voted on by project peers before being approved.\r\n\r\n### Electron use cases we can learn from\r\n* API translation: The Electron [i18n repo](https://github.com/electron/i18n) pulls markdown files in from their API docs for translation.\r\n* A [crowdin.yaml](https://github.com/electron/i18n/blob/master/crowdin.yml) file is maintained to map source files to their translation location.\r\n* Crowdin uses a yaml file as well to map to the source and target resources it needs to manage. In theory you should be able to manage that with git, however at this point in time it must be [generated and added](https://support.crowdin.com/configuration-file/#introduction) within a Crowdin project itself.\r\n* l10n project resources live under a directory labeled by their associated [ISO standard locale code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).\r\n\r\n### Upstream vs. downstream bottleneck\r\nOne important discussion we began to consider was the tradeoff between having to accept translations as PRs for verification–or hopefully keeping that responsibility effectively downstream by requesting that translators maintain at least one peer verification for every translation to be published. This should be painless in Crowdin by ensuring translators follow their 'edit & proofreading' model.\r\n\r\nThe security tradeoff in the codebase comes with a trust that the translations will be fine, and we can simply merge them as they come in–bypassing the GH PR process entirely."},"comment":{"url":"https://api.github.com/repos/nodejs/i18n/issues/comments/370722758","html_url":"https://github.com/nodejs/i18n/issues/36#issuecomment-370722758","issue_url":"https://api.github.com/repos/nodejs/i18n/issues/36","id":370722758,"user":{"login":"obensource","id":1910457,"avatar_url":"https://avatars2.githubusercontent.com/u/1910457?v=4","gravatar_id":"","url":"https://api.github.com/users/obensource","html_url":"https://github.com/obensource","followers_url":"https://api.github.com/users/obensource/followers","following_url":"https://api.github.com/users/obensource/following{/other_user}","gists_url":"https://api.github.com/users/obensource/gists{/gist_id}","starred_url":"https://api.github.com/users/obensource/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/obensource/subscriptions","organizations_url":"https://api.github.com/users/obensource/orgs","repos_url":"https://api.github.com/users/obensource/repos","events_url":"https://api.github.com/users/obensource/events{/privacy}","received_events_url":"https://api.github.com/users/obensource/received_events","type":"User","site_admin":false},"created_at":"2018-03-06T09:43:35Z","updated_at":"2018-03-06T09:43:35Z","author_association":"COLLABORATOR","body":"@zeke I also had these notes about some of the setup you've done to communicate changes between Crowdin / electron/i18n / website, but though I think I know what they mean–I can't recall their full context now. Maybe you could further explain them (I hope they're enough to reference for you)?\r\n```\r\n - poll us and resume translation to accept changes\r\n - yaml file on the electron website, polls\r\n```\r\nAlso feel free to elaborate on and correct any of the notes above. Thanks! 😎"}}
{"actor":{"display_login":"obensource"}}