{"action":"created","issue":{"url":"https://api.github.com/repos/gatsbyjs/gatsby/issues/3853","repository_url":"https://api.github.com/repos/gatsbyjs/gatsby","labels_url":"https://api.github.com/repos/gatsbyjs/gatsby/issues/3853/labels{/name}","comments_url":"https://api.github.com/repos/gatsbyjs/gatsby/issues/3853/comments","events_url":"https://api.github.com/repos/gatsbyjs/gatsby/issues/3853/events","html_url":"https://github.com/gatsbyjs/gatsby/issues/3853","id":294205894,"number":3853,"title":"Add an official guide for internationalizing websites with Gatsby","user":{"login":"kripod","id":14854048,"avatar_url":"https://avatars3.githubusercontent.com/u/14854048?v=4","gravatar_id":"","url":"https://api.github.com/users/kripod","html_url":"https://github.com/kripod","followers_url":"https://api.github.com/users/kripod/followers","following_url":"https://api.github.com/users/kripod/following{/other_user}","gists_url":"https://api.github.com/users/kripod/gists{/gist_id}","starred_url":"https://api.github.com/users/kripod/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kripod/subscriptions","organizations_url":"https://api.github.com/users/kripod/orgs","repos_url":"https://api.github.com/users/kripod/repos","events_url":"https://api.github.com/users/kripod/events{/privacy}","received_events_url":"https://api.github.com/users/kripod/received_events","type":"User","site_admin":false},"labels":[{"id":459665181,"url":"https://api.github.com/repos/gatsbyjs/gatsby/labels/Documentation","name":"Documentation","color":"fef2c0","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":25,"created_at":"2018-02-04T15:35:19Z","updated_at":"2018-02-20T20:53:08Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Seeing the reactions to [my comment on an other issue](https://github.com/gatsbyjs/gatsby/issues/3830#issuecomment-362870166), I decided to open this issue.\r\n\r\nI think that i18n is much harder than it should be. I could not find any official documentation or plugin for internationalizing content on Gatsby-made websites. I came across [jsLingui](https://github.com/lingui/js-lingui), which seems to solve most of the issues, but there are still no guides about maintaining e.g. markdown files/pages in different languages."},"comment":{"url":"https://api.github.com/repos/gatsbyjs/gatsby/issues/comments/367115380","html_url":"https://github.com/gatsbyjs/gatsby/issues/3853#issuecomment-367115380","issue_url":"https://api.github.com/repos/gatsbyjs/gatsby/issues/3853","id":367115380,"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":"2018-02-20T20:53:08Z","updated_at":"2018-02-20T20:53:08Z","author_association":"CONTRIBUTOR","body":"@deltaskelta briefly you'd have page components for each language and then have a layout component per language. Here's one way you could do this.\r\n\r\n```jsx\r\n// French\r\nimport React from 'react'\r\nimport FrenchLayout from '../components/layouts/french'\r\nimport ImportantPage from '../components/pages/important-page'\r\n\r\nexport default ({ data }) => (\r\n  <FrenchLayout>\r\n    <ImportantPage {...data} />\r\n  </FrenchLayout>\r\n)\r\n\r\n// French query here\r\n```\r\n\r\n\r\n```jsx\r\n// English\r\nimport React from 'react'\r\nimport EnglishLayout from '../components/layouts/english'\r\nimport ImportantPage from '../components/pages/important-page'\r\n\r\nexport default ({ data }) => (\r\n  <EnglishLayout>\r\n    <ImportantPage {...data} />\r\n  </EnglishLayout>\r\n)\r\n\r\n// English query here\r\n```"}}
{"actor":{"display_login":"KyleAMathews"}}