{"action":"created","issue":{"url":"https://api.github.com/repos/reactjs/reactjs.org/issues/82","repository_url":"https://api.github.com/repos/reactjs/reactjs.org","labels_url":"https://api.github.com/repos/reactjs/reactjs.org/issues/82/labels{/name}","comments_url":"https://api.github.com/repos/reactjs/reactjs.org/issues/82/comments","events_url":"https://api.github.com/repos/reactjs/reactjs.org/issues/82/events","html_url":"https://github.com/reactjs/reactjs.org/issues/82","id":263747654,"number":82,"title":"Integrate with Crowdin localization project","user":{"login":"bvaughn","id":29597,"avatar_url":"https://avatars0.githubusercontent.com/u/29597?v=4","gravatar_id":"","url":"https://api.github.com/users/bvaughn","html_url":"https://github.com/bvaughn","followers_url":"https://api.github.com/users/bvaughn/followers","following_url":"https://api.github.com/users/bvaughn/following{/other_user}","gists_url":"https://api.github.com/users/bvaughn/gists{/gist_id}","starred_url":"https://api.github.com/users/bvaughn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvaughn/subscriptions","organizations_url":"https://api.github.com/users/bvaughn/orgs","repos_url":"https://api.github.com/users/bvaughn/repos","events_url":"https://api.github.com/users/bvaughn/events{/privacy}","received_events_url":"https://api.github.com/users/bvaughn/received_events","type":"User","site_admin":false},"labels":[{"id":714749433,"url":"https://api.github.com/repos/reactjs/reactjs.org/labels/difficulty:%20advanced","name":"difficulty: advanced","color":"006b75","default":false},{"id":714751474,"url":"https://api.github.com/repos/reactjs/reactjs.org/labels/localization","name":"localization","color":"fef2c0","default":false},{"id":712532424,"url":"https://api.github.com/repos/reactjs/reactjs.org/labels/type:%20website","name":"type: website","color":"1d76db","default":false}],"state":"open","locked":false,"assignee":{"login":"bvaughn","id":29597,"avatar_url":"https://avatars0.githubusercontent.com/u/29597?v=4","gravatar_id":"","url":"https://api.github.com/users/bvaughn","html_url":"https://github.com/bvaughn","followers_url":"https://api.github.com/users/bvaughn/followers","following_url":"https://api.github.com/users/bvaughn/following{/other_user}","gists_url":"https://api.github.com/users/bvaughn/gists{/gist_id}","starred_url":"https://api.github.com/users/bvaughn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvaughn/subscriptions","organizations_url":"https://api.github.com/users/bvaughn/orgs","repos_url":"https://api.github.com/users/bvaughn/repos","events_url":"https://api.github.com/users/bvaughn/events{/privacy}","received_events_url":"https://api.github.com/users/bvaughn/received_events","type":"User","site_admin":false},"assignees":[{"login":"bvaughn","id":29597,"avatar_url":"https://avatars0.githubusercontent.com/u/29597?v=4","gravatar_id":"","url":"https://api.github.com/users/bvaughn","html_url":"https://github.com/bvaughn","followers_url":"https://api.github.com/users/bvaughn/followers","following_url":"https://api.github.com/users/bvaughn/following{/other_user}","gists_url":"https://api.github.com/users/bvaughn/gists{/gist_id}","starred_url":"https://api.github.com/users/bvaughn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bvaughn/subscriptions","organizations_url":"https://api.github.com/users/bvaughn/orgs","repos_url":"https://api.github.com/users/bvaughn/repos","events_url":"https://api.github.com/users/bvaughn/events{/privacy}","received_events_url":"https://api.github.com/users/bvaughn/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2017-10-08T20:08:45Z","updated_at":"2017-10-09T22:40:10Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Migrated from facebook/react/issues/8063\r\n\r\nCoordinate with docs translators via @ericnakagawa\r\n\r\nThis issue involves multiple steps:\r\n- [ ] Add localization toggle to header\r\n- [ ] Integrate with [Crowdin](https://crowdin.com/project/react)  to download localized content\r\n- [ ] Generate localized URLs using said content\r\n\r\n### Integrate with Crowdin\r\n\r\nThis could be done via a custom Gatsby plug-in. We've already written [a couple](https://github.com/reactjs/reactjs.org/tree/master/plugins). (It would be nice to work with @KyleAMathews to share this plug-in back with Gatsby so that other users could benefit from it as well.)\r\n\r\nIf we run into any performance problems, @ericnakagawa has volunteered to work with Netlify and Crowdin to simplify or speed up this syncing process. Ideally this sync process will be fast enough to allow Netlify's PR previews to also be used to test localized builds of the site.\r\n\r\n### Misc thoughts and questions\r\n* In the case of non-localized content, Crowdin serves English as fallback.\r\n* How can site consume list of active locales? Is there a Crowdin API?\r\n* How does this impact urls (eg `/docs/<file>`, `/docs/<lang>/<file>`)?\r\n"},"comment":{"url":"https://api.github.com/repos/reactjs/reactjs.org/issues/comments/335309290","html_url":"https://github.com/reactjs/reactjs.org/issues/82#issuecomment-335309290","issue_url":"https://api.github.com/repos/reactjs/reactjs.org/issues/82","id":335309290,"user":{"login":"KyleAMathews","id":71047,"avatar_url":"https://avatars3.githubusercontent.com/u/71047?v=4","gravatar_id":"","url":"https://api.github.com/users/KyleAMathews","html_url":"https://github.com/KyleAMathews","followers_url":"https://api.github.com/users/KyleAMathews/followers","following_url":"https://api.github.com/users/KyleAMathews/following{/other_user}","gists_url":"https://api.github.com/users/KyleAMathews/gists{/gist_id}","starred_url":"https://api.github.com/users/KyleAMathews/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KyleAMathews/subscriptions","organizations_url":"https://api.github.com/users/KyleAMathews/orgs","repos_url":"https://api.github.com/users/KyleAMathews/repos","events_url":"https://api.github.com/users/KyleAMathews/events{/privacy}","received_events_url":"https://api.github.com/users/KyleAMathews/received_events","type":"User","site_admin":false},"created_at":"2017-10-09T22:40:10Z","updated_at":"2017-10-09T22:40:10Z","author_association":"NONE","body":"Happy to help create a Gatsby source plugin for Crowdin! That'd be really powerful. And a lot of people would use it including sooner than later gatsbyjs.org\r\n\r\nFrom a bit of research, it looks like it'd be pretty easy to pull data using their API:\r\n\r\n* https://support.crowdin.com/api/download/\r\n* Guide for creating a source plugin https://www.gatsbyjs.org/docs/create-source-plugin/ — this guide is a bit wordy right now. When someone wants to tackle this, I could take a pass at improving the guide + adding a mini-tutorial on creating source plugins.\r\n\r\nI spent a bunch of time adding localization support to https://www.gatsbyjs.org/packages/gatsby-source-contentful/ as well so have some opinions on this. See the [example site for Contentful](https://using-contentful.netlify.com/) + [its source](https://github.com/gatsbyjs/gatsby/blob/e3176bd5cc843ba2e4b5d0f3216adfaf7c2f1e26/examples/using-contentful/src/pages/index.js#L84)"}}
{"actor":{"display_login":"KyleAMathews"}}