{"_id":"gatsby-theme-i18n","_rev":"53-9921da4422b4a6042b4944f307465296","name":"gatsby-theme-i18n","dist-tags":{"defaultprefix":"1.0.5-defaultprefix.0","gatsby-v3":"1.0.6-gatsby-v3.24","latest":"3.0.0"},"versions":{"0.0.1-security":{"name":"gatsby-theme-i18n","version":"0.0.1-security","_id":"gatsby-theme-i18n@0.0.1-security","maintainers":[{"name":"evafengel","email":"eva@npmjs.com"}],"homepage":"https://github.com/npm/security-holder#readme","bugs":{"url":"https://github.com/npm/security-holder/issues"},"dist":{"shasum":"7f6399fb06fec5a587b1a9e7b9a12fdcd572e633","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-0.0.1-security.tgz","fileCount":4,"integrity":"sha512-EnKRKOax3FyQuBpWhG7ctPZSImAGvk6pphnh1jfrxykmL3vQFZrumdWsWNS9KVjgHB8Sf9696eiHo8gvcn98LA==","signatures":[{"sig":"MEQCIG3u2WIMwZkwAgYg0oqOtjuTM+FTx3e/6MEf5r+2MeIuAiA/BdrGvK5PLm6DtY3obGtb05975fF2i1cyVH8y9v9ZCA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetW2nCRA9TVsSAnZWagAAazYP/2bjzqxXQqRQ8jhvCt7N\ndu/Tj40uFCh9gG0DKzO5qC9TyGkOAJIyezRnS1y3AEzkmqc98+IZJfHhUyh/\nMbvWP5A4ufhtGnNG/74Psmm16XDOWfiK4QGHMgSki7BRitekI1Ey4bFao/Ap\nBd2hNbn2vLqM1qfhF6cQF5QuOrqfRl/NjP6USBaiBSxtUwCdiM8t7/h6Ru8E\nig3amEHc9anJfHfAe4q3dOmIr2iFV1U0SEXr0vQr5DN8oh+S5Rxoah6VRzXk\njocIvV+e3NbPTM5q6REE+bzjyQG4fXA7tIAFaGFHgFeK9CjogqetgQ9XGIL0\ny54f9r/lgIvqqHh6jQMWUdkBTgA3lNC6zwlSBvF1g1J0VtdWEHpCIOwUGpf+\nSd3veKfoTHhe43TMpNVMohMzyu/UOmaYNa+bMmJVFCZzu7M4osiBtyO1iwgB\nwTyk3C8bg3UEQI2JJ1ftPkaoM6q55nIIeUJ61NJS38cZ1Vf3VH70pDoska+L\nixs4zwQEIVLAGQTu14UxNw/8GdP/9CDLR6UxkYMGGCE9J4JEInS7KWOX0pAE\nQrxEC5K6Zl22t0Tkn45XkSPP37233LyW/gnV9vcBXWVPinwvkms4Swvvbd/l\nSdSmFn00/iIIzyOjzih/1DE9Ktak/gEvQTdhr21wbTkT5Z50405H16bbbiQx\nbVdi\r\n=bcFA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"evafengel","email":"eva@npmjs.com"},"repository":{"url":"git+https://github.com/npm/security-holder.git","type":"git"},"_npmVersion":"6.4.1","description":"security holding package","directories":{},"_nodeVersion":"11.3.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_0.0.1-security_1588948390932_0.18925458467972578","host":"s3://npm-registry-packages"}},"0.0.1":{"name":"gatsby-theme-i18n","version":"0.0.1","keywords":["i18n"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@0.0.1","maintainers":[{"name":"lekoarts","email":"lekoarts@gmail.com"}],"dist":{"shasum":"e6142957a6b7151a8b0482fa534d3009c08d254b","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-0.0.1.tgz","fileCount":5,"integrity":"sha512-BDTdes/o9cDpoo0o0V7SWreFzJGxfzQf2wgSjYQXgk/BScy1dKe9w0V4nWE9C9UvEgOJLMDu1l+coC+gPJyeCg==","signatures":[{"sig":"MEUCIFmeZuoc9QBNyiPrnU5ugHCaI55UBkPlwnA243tH4qw2AiEAyGy2GXMA9yRJf2Rt2MQu+IHJ+zUFyuJsJP5Czj+Azs0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetXAlCRA9TVsSAnZWagAAr38P/0/8Td/rOFzDzFIdlyQl\ncc73FsTPx57DNgzfSoCUd2jvmNua1U+5/r+r2dkeoqIzjeCfMWltwOnexe+9\nlGmWFEIJuG74siGcgDoiQIxaZ8xmnrWzKo/oWmFQXfm4qsRslu2zWFcelIcz\nqfZ+Om+5ntHV/4kU5oYdHeT/03nHgC7UzrmcMVhYC2TZZg0p93PENrGONeux\nlNkdyBSVsahUrN6UGyJiEOFqFHWOnilArcxaeZnqzQp7u0kW2xBwHLHmVN1d\n9xNBX3uC/GW7uvSCBrLen9vQOXdXyWuL1elq5eKv4rR/QW5BkQNvcJo0Zi77\nE4eqVBd/dmT1i/6lv0poZtHn8HMphlj9gBKrYrzTC5ClMKlH5HzNGBpSRrqF\nkNKDBuS49jRHfQrnxZwN4oyuaDH0Ej0+8RMU3XudGLLCQIxUSORtB2mzMnn3\nBVBYUJP9zAE0HGxIW26DLx0q/dyo1/SLnQJQlC76SATLyIyd6+4bQR2kejwv\n+YEL06VYzajUD9VmxMzNZU7fYn/Qb5KPLLpmPtH1KFwaPOMZ8nIM/homn4t8\nOcDieZccFVHzxM7BCsDsaSNcGmLj9qJzcPqh98bbdT7E+paDiMR1FwKiVLAH\n2s2vVCdcsQJ/JieHPKC8Akz0iwx+xN5ND/92xMB9LVQigh+1C1RBepfB76Ix\nk9ZI\r\n=cCke\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"_npmVersion":"6.14.4","description":"The description for gatsby-theme-i18n will go here","directories":{},"_nodeVersion":"12.16.2","_hasShrinkwrap":false,"peerDependencies":{"react":"^16.13.1","gatsby":"^2.21.17","react-dom":"^16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_0.0.1_1588949028860_0.8498546791342569","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"gatsby-theme-i18n","version":"0.0.2","keywords":["i18n"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@0.0.2","maintainers":[{"name":"lekoarts","email":"lekoarts@gmail.com"}],"dist":{"shasum":"220ad09f76162a9df48a8fbd4333f6537b718845","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-0.0.2.tgz","fileCount":16,"integrity":"sha512-+XRxP61klKJNXhQupF8DDCc7e84KMorUkZW2jeMg6hIpl4yYjqmYvH55oizRqBFCkU6Ed/7O1HWd52K+7qfIcw==","signatures":[{"sig":"MEUCIQDPN5rNJwLv4wfhqkogCEkoEQdFuoweBmOtp5ABi3e1AAIgOsx1y30rGJ7xBPYUHcn7y8TgfMUHiBSwEvHiSLS1eG4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8x2cCRA9TVsSAnZWagAAS6MP/RHKuFWpQc3BBQ3pMeRz\npK9wilDG4/7BqEw6vPLWrdTcGnbZgSlsw/TtoDKUthc19JzDbNuYhcc+TzMz\nSzHVpZ0HhcnN6jXuaJdNTOdjCx5nNDqjXb36f89H/JCq+uVuGTlTob8oHUfb\nzQufMRYrQxzW5zwyapJlZ0awHLwLOLJHf6vJ6t3DEF+mdWOrSggKfdAZGdP0\nYNlJA+58vegOw27D99gdO8o36C0Si5VmIEe0zPE6gZjAJbzRt03oKYXmZET3\nCZYYlDzsLfFSO89MryGeeWaTxqlP0Qz0RVqoKJEKT/RexTpZy8KkMjaetyBr\nMXvVkaEltQyjCGpYqfxq9PBl6s7O9JfJtYjQQqh5bAYKunyv4lpGIL2HRFET\ni82Q0q8FT0pcbDsiQrO+vg4PvL9RljTlyXCok9cP3T7qGrv8fvs00vPCJVqA\nAFssVi7+H40XJa/zbaKFZn3DdtxDR5WQod5ZTtR73hvu2w+BSNJBQeAIc6EC\nb1R9cWQnMn9OoUN60M9GItATo67ETd+NOXhYCut2qNC1T9pCmuU8qXAKpCzG\nd3QapkwbiVeT7cFpzvLiNsojlAxdug2e9qTGMjwMuULCxXPj0N4Nh8VQp+vU\nVW6+eVqJB//Q8MmbkqOwkg2OY7BKzDkoG3deWSrWFZ0IJa8qzvRIjpEk57F9\nQZfL\r\n=NWYM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"_npmVersion":"6.14.4","description":"The description for gatsby-theme-i18n will go here","directories":{},"_nodeVersion":"13.13.0","dependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^3.3.4"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=16.13.1","gatsby":">=2.21.26","react-dom":">=16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_0.0.2_1592991132485_0.13399788662953038","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"gatsby-theme-i18n","version":"1.0.0","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@1.0.0","maintainers":[{"name":"lekoarts","email":"lekoarts@gmail.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"c0f3f5c6853957518c1c966875775c82d6475519","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-1.0.0.tgz","fileCount":16,"integrity":"sha512-Z8KRS4oHe0VIK0jJBdzf/46HpCAUpk86FNz+rSkPtQkwWCF7ETjSGlg+YsHKTnbWZOT0ExPcGUuQxIv4Ik3dBQ==","signatures":[{"sig":"MEQCIFmAuRNcuw4EvNvvgJcs5oZ/zSpgu0Eb+gXMKdSjpRDXAiBNkt29F2hzyc/szzZQzKEl3HNu5rDE3egyZINhpEmnKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDqFiCRA9TVsSAnZWagAAYX4P/1XCg3sxEmyG7vfWcOUZ\ndFZHt9Wd8dN3tUi56X7+g699/8+i72OXRGNrg2Fr7QzeSvvWAlgNEKyqwznk\nqyPI0gDmyFk8f/e10hty96y8vktcnL5dx3VzKuV9DfIhBvyz19iF+fM2IVUI\njPHAPGMCw/d5rIpoq4bjPF84lhWAfzo/EdpYYXy/Qb+2JbLp2dPUv4Lchi6p\nx42Xk6G1GuaUO9MbABlTltauqMchcBK98wHyzSRQWDxyXJNVSe028uA2BUTI\nABfjraEUyLsARKP6gnvJhsTbzXh9fhVgiJ72yNIdn6GDEJgGKq9xOyZIZCCU\n4tuzvbxrzGjy64orpsXzUZuF4waxXdCdH7oUU6BG1qxER8hGIzKqUqB4YxV1\nvdkyGqtdfPN3DN28wJ4lQxH83LSWHNJKj0NDSEyaYk0JHOmEIYgR/Riz6Wgj\nvH5BXJzuRnz6ExAwsDrdxFjOwGSih3m53kzqNxeOSOSJ84qn1HjPUSvMNXxR\n+dBdeGSXzfV1I9c07tBebF1DUrp+r33KOieYygDdRKbNCA3Rs92ih5tCOwve\nVhEvGIM9XGNLvaxET5izwLCUtSUlVU87laJmpBMn98ndRVvJOgTakUIGA/ra\n69zT+ZIDzYwnQpnGnYQptOD9z0nJaQGYwKiCyK29BwSAtm0Gvg0h6rBmzdRE\nTShM\r\n=5rsu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"6.14.4","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^3.3.10"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=16.13.1","gatsby":">=2.21.26","react-dom":">=16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_1.0.0_1594794338474_0.9463498723590642","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"gatsby-theme-i18n","version":"1.0.1","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@1.0.1","maintainers":[{"name":"ascorbic","email":"m@mk.gg"},{"name":"blainekasten","email":"blainekasten@gmail.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"johno","email":"johnotander@gmail.com"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"laurieontech","email":"laurie@gatsbyjs.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"mxstbr","email":"contact@mxstbr.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"9da374fa1c6aedad52f4b1771338145f1cb079ea","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-1.0.1.tgz","fileCount":16,"integrity":"sha512-V0lMAmk941o4bRESkZnbTEd8D9GCz9vwCtUN7HlWkizttPAB06WLfhvfFznKdYs4sJnrI+4pEe6C9Sm33iDZsw==","signatures":[{"sig":"MEUCIQDVvS7h2a05KY9cZb4o0tyOB2H/RCblAD5grwNWXKkhnQIgEP4CkMzWIyB6uYu9JZf0dLCLLXlK4wEpcN9bVcqGGuY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGZDPCRA9TVsSAnZWagAAMzYP/0HD8w3PgUF/9dnA+I4x\n0C7zsUk2zBbtUCl3xaHhxMi9q4UOXFFnTdywNCyRTTGJteB3ukYdgu0FxlkI\ndD5Id8j13epnmaKocdganNaJ7L7xF8EEsoyoid0tt+eXxq7zQcnLWckAX1+A\nCQkVkc6gW50uwV6vdaI+Aa+w0YN1BUHCiY8auL5xr2894coNRAFwouCk9FrN\n/pvBnUDNyRuWoX/opZoeMa7cHXNw+KWejpoRJofaGQZ6cZqXdhd1WUGrZwC8\nVJf5Rlxi2TKlj52jgVro5SCdhBBeMCuQtxYHmTLkKmWCeQGPT6RlUWrLhEdY\n3L6nLrL8ZAYJpYJqMIiwqB/unny3ub6z0+qUy+xvzxLRhBJBuc95NC0781AJ\naE1DcJRA5uNkvCFqDaCShPztu0SlZ4+gE9wpEj/nD2MLfFSH9QhZSvctDp5r\nHiiUTX55AP0pocTHXod92jVaAB0F9j9ujdqEXPiLOMlu0X8Wki69p/4sFW3/\nl46b0ONRa8Q1B31XJF7S8EvJLqiWK+kDfMwy+53VHmsKxVzRTG10rSa1IM6o\nzDxwl/wI5IjVkJxSshqXfe1gVqV+MB3o2HmUfSJfnBLV0v1gIu0EZrWlr13Q\n4jk1bdsgAhcwU3QWdek+utHfQhtXc70MlwN2Y3FcqPmbHwj5bkYdNtIRIPBR\nH3YH\r\n=M9g4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"05a6df4f02c345cb7f702430b13a254d12a0d3dc","_npmUser":{"name":"laurieontech","email":"laurie@gatsbyjs.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"lerna/3.22.1/node@v12.14.1+x64 (darwin)","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"12.14.1","dependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^3.3.10"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=16.13.1","gatsby":">=2.21.26","react-dom":">=16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_1.0.1_1595510991292_0.49737859169640486","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"gatsby-theme-i18n","version":"1.0.2","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@1.0.2","maintainers":[{"name":"ascorbic","email":"m@mk.gg"},{"name":"blainekasten","email":"blainekasten@gmail.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"johno","email":"johnotander@gmail.com"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"laurieontech","email":"laurie@gatsbyjs.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"mxstbr","email":"contact@mxstbr.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"1f227b82b43eb7999359ac4377b3507dd52fbf0a","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-1.0.2.tgz","fileCount":16,"integrity":"sha512-OhuHL6MmFmL412FvMkdB0dSTRHDJIQAklumujAPUnQjvmZRFbwdUG9TDgGSD70pOO/eoYc9TbtZ/g4h4tVR1zQ==","signatures":[{"sig":"MEUCIQDOEuoJwXtFh1H1VYY0GRCnLut/J/dekep0jgMbtCjVLAIgaKpTGLa63BKTqcjgk2x3QhE1Xpx0fpxyIoIpbImsj8E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfH/ALCRA9TVsSAnZWagAAOhcP/i/MJjtXNKKYSQem0R3l\nzgDuc4EqTbnISJLYQj7IyKWJ/1B0JxV5+btdhpc0ssyW3WCM9K7oCJqiZuye\nbyY/ycVvsN787kxiQJZUr99co5SK7+Ds/JEjhyBrwu8uv2VUasE1uColDjKa\nhh0eceDDejzyNREalrlPWIBuxMWl+K3vcOd56nMPuVXxwtGEKT96339dtuTi\n2IOCMUaUR8hYYJVjOfBG4j6oEEJJGRcREN0NcagR/Q2f1iQgxAwbCVunuWay\nunToGPKB7PAel9kFDDCuEDRAs14621A9cBpj52lCmzNzajQelBps8ZtFxNwK\naIwkHkTjwbMJCOGhAMa0tgjAKNv5gORKOBzP13I58PmsRQkbEAuxg70kpJD0\nUyrKqc8iL2Y6/Dcd5soDSx/gsSQeBd9SDPbnVhZvnUJqB8gcc3UsUUZfDXYa\n+F5nrZFOLaPEJ/Zxft6hG914aVFmtnUaeB3J09+8O1UNOuQeEIKv+ZonIPk5\nFVTdYuZYa5KMMMjvnPhk230mCXAJksk9Qn1Lntq3QWLdiJlKBabRbHkWxylx\nKfl5JaUhKFoqPOvRh0luwuJtkmnBy4TwteOJC8DfzA5Af+tgVmk4VbR++qwe\noFSpsgnX60sW2WLaU3zQhc2C91eNZMZklBiZ4X6K23JqPFgj5AQpmJm7cDl7\n+7RV\r\n=/px8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"6.14.4","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^3.3.10"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=16.13.1","gatsby":">=2.21.26","react-dom":">=16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_1.0.2_1595928587261_0.47748915094318733","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"gatsby-theme-i18n","version":"1.0.3","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@1.0.3","maintainers":[{"name":"mxstbr","email":"contact@mxstbr.com"},{"name":"laurieontech","email":"laurie@gatsbyjs.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"ascorbic","email":"m@mk.gg"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"blainekasten","email":"blainekasten@gmail.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"johno","email":"johnotander@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"freiksenet","email":"freiksenet@gmail.com"},{"name":"dschau","email":"dustinschau@gmail.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"11f0e111a0c1f7b8e4f90d06f4dd965ccfa849fd","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-1.0.3.tgz","fileCount":17,"integrity":"sha512-eswqi4BER3WshLdfuCn1fI2/kpFPS+NMKqosts4jDL2tFMCMdCZlRKQpTnXtY0cdyLvAutf6GcRNnrfDVOtK+Q==","signatures":[{"sig":"MEQCIARx3cIHVMhaK9iIitvJoSlQvpnqf7u83rkbzBo1peYwAiAMj6vbiiUWw58f9G53BVHLv46r9hObIwlPL3Evi0TJlA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWypZCRA9TVsSAnZWagAAXp8P/iHv/dMtaNhomyEaOULD\nX2k8/JKBXypbaZ+9YPI+F/dXbit9JXLtSCwJqtunWvbojn8PyN7OiY0v+c+Z\npY05afJkZ8qG4NgLu9BXx4S9c6LOdfqvTQWzQCS8C8lf4e/1wn97jGAi86hK\njI7mzpre2yGDQnDbNhJgoADQ0LQdKN04eQeqBFIfd/IiE2NL6K1iEkDNInO+\nYLNYA6E7FACrro/TKYX/Xt/HQM5sczuEkH5poJPgKciNZVf4/vhcCMEtqtHD\n1Sq2R0hc9CoqeSpwt33IeT4KzCPIQ8/eDAiNzwtp7xvwyUCUYi1StpYcaYS0\noLQd+N0+HMGiLK2YTDSRaDAel+TDg6oviSjOU5OhMKnSOOoOE/oz16zDNd5Y\nuZammuM2gje9YMNpEEVISUNvs7isbKV58knlrClDRGQMpZF09FuXVEwn9qeS\n+HmoYROxNH/s+Ce20JhgL14rQLnCUsjhiPSRDRCDJko9KhADPkkV7h5MkMQW\nFo2QQwRvEh//TGPsA//bG12IHlcHX35lHpBhUFRZJZVOjFfxMjKE0a1keYbT\nkAdRTeMt+sy3tuaPacwdXsCrxM/HDgudoX8V7Yv27ns2fTI6YbKmTP/i7QHh\nf35dg46+FrSHDpM1jvWc5XH5ONmM6QCsd8tqOsdFjd7kIru6MQvkcBPk6JVL\nk2J8\r\n=I3rn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"266eb0c81774b94f418a65975b68b58c1d24bc16","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"lerna/3.22.1/node@v14.10.0+x64 (darwin)","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"14.10.0","dependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^3.3.10"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=16.13.1","gatsby":">=2.21.26","react-dom":">=16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_1.0.3_1599810137058_0.16105792570709032","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"gatsby-theme-i18n","version":"1.0.4","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@1.0.4","maintainers":[{"name":"mxstbr","email":"contact@mxstbr.com"},{"name":"laurieontech","email":"laurie@gatsbyjs.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"ascorbic","email":"m@mk.gg"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"blainekasten","email":"blainekasten@gmail.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"johno","email":"johnotander@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"freiksenet","email":"freiksenet@gmail.com"},{"name":"dschau","email":"dustinschau@gmail.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"2c58c028cbc983357af57aba4cec4eb51a02b52b","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-1.0.4.tgz","fileCount":18,"integrity":"sha512-dmym770Z3vhddGq/xzgGl4+LvIsb9rh2FIcG1qSzM3uzwKDcTyW6uTaWc6oKkcBHW6gFYEU8XlyyMic0IbVL2w==","signatures":[{"sig":"MEQCICjKAFJ6euVIcpiEzGNzvcYuWS4gC6JS+ZnIGvoOPrhLAiAmr85ITpxrm8MWRGHUMEj7iRYUZLhllwZCzySVsRbbXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX2OgCRA9TVsSAnZWagAA6sQP+QB4QJrpPtd1upkX2LR2\n9fkq+HB726qofOd1tfDEsUMRWBdgKMt49LoNLi9aA7zN+2NVEbmyayhiGz1I\npEqqHskkmgkN8zwjejBtwfG0PVrrzaT2zEG6I0Ahmi//5JXEGlAZEF58GP3Q\nIPAIXHiuqNnhQq+qx326jmf/Ht5BUScrnGl5mTOhP3xHEDtBv00FtBlx7nD5\nX2ANZ8kyd5wwTOc6EGcEzYdWDC06bmFDmnmCdLkv9qmZtSOmDyEcfqDu72Ix\nT4JSzx8LBzP9SkyTyZHOr16JSYn2OnjTOiS45MZI1QCanMF+v3YqW7Xn6/nb\nNlGy+/a4iszYhqRZ9xnNLX9OX/VyCIeVFtXdLH5+I5+/uYCxAFFnViANtzql\nOrbWcupV/n23d+TX9dpCuTFuCZJfLs4FiTDGT2zgqhHWIVibdSsj93NiO3u3\nsQ4Y9z4ChwHI38q3h8La9wy6eKkBOIHz6THtxhny6EE1sf0Tff8O6WIrgakk\nhYc6whnid/kD/CqGiYd9IYSiQPkcnYr7tiFUeNLp2ggOdOvIuMR23uilXMWG\nOJkrzcw3lktcsYClStYQb5xIIkMC8dQ31lv6vVEFX5HR8Q7BAw7N663Jw6fd\npSm4M4OcwTu69kDKhtFfqrdtdAJp13jgmYYqqV/D30VHmd0wbuzAlSKfyBtj\n+a5W\r\n=QaAS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"0766e93e3a90235813e5c4ef24d7f5a9afc98881","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"lerna/3.22.1/node@v12.16.2+x64 (linux)","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^3.3.10"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=16.13.1","gatsby":">=2.21.26","react-dom":">=16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_1.0.4_1600086944031_0.9369690123395014","host":"s3://npm-registry-packages"}},"1.0.5-defaultprefix.0":{"name":"gatsby-theme-i18n","version":"1.0.5-defaultprefix.0","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@1.0.5-defaultprefix.0","maintainers":[{"name":"mxstbr","email":"contact@mxstbr.com"},{"name":"laurieontech","email":"laurie@gatsbyjs.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"ascorbic","email":"m@mk.gg"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"blainekasten","email":"blainekasten@gmail.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"johno","email":"johnotander@gmail.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"freiksenet","email":"freiksenet@gmail.com"},{"name":"dschau","email":"dustinschau@gmail.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"b3bbfe7b5db42434daef38597a6b380f337a74f0","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-1.0.5-defaultprefix.0.tgz","fileCount":18,"integrity":"sha512-XuVF9rgyS4lZiO84tpBn+BF0ICw+cx5GT688uiSG8dNYmYGnM+Dwh1MuJCExwiY4IZX1OrggEqyhvNgLvmornw==","signatures":[{"sig":"MEYCIQDAnu1BFu3/W1ZHQLgMt0PF23DSI+ybWeey6p+MRQI9UgIhAIf9FugbyLIq8qt7dZ0tuTy8ifIDOA6MdAT/zjMe/Ea0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYJhgCRA9TVsSAnZWagAALw4P/2Vv1MXKsZ4O3KdlWxZj\nb8W7Fsmwxo9m6rw3CIaNaSDPtKjL9JGgQ1P3otbJ6UUBCSqXV2Dzq/mgYmJT\nycQQquJajs2qwLeXwtTMsUyHsTOe+qzcvclCQajHNUy6/cQHtiEmDq/BnzSv\nTO7WVR0FNlPHutRfazf+0mxnMipdquyHDL0xOaxha1NHn2BLr/SYAd1hQ7sW\nB4ZqeNLLS8MmCb587GUA+9b6WuVD/3dD8QrMqylICmoNMT95XDyS4VCYJ8jy\nzBKkG0yfdNo3TUuO9IXrHG8xxzvqXDm9Yzol8Rof33MxS7EflK157rtsB4Jq\nX+tSm8dbIUxTgSW+dLrtPuCApmoLCDipTnn+MFQQ5V5yzqBlODav9udoyieV\n41EzW0eSvltQTOEKXQdR8H1/baJYuJcZDTbFpa+5TcU5OH+WbQ0BZbAQBmO6\nxXW/gsTtYsZAMiNjhMI2MATKQlGdj2BEyH5ta9QGpOidUCo7UGR02E+prgZZ\njJZUqC7OeU1Ugin/HQXU9en9hLM7ZmlwPQix0Eb8OXcugNyxvhjO8lkHAbu7\nwolKF1Rzd9OxlRfjHwUZnm0KM70L2fc9sTwjc9EHmwRKnexPvT8XmqBDPPc+\n45KGRtwCcZ71fLwpfV4oj0Q2Cd7SNum/twlE5m1UeeKRMObWkJTI3NpHhQnh\nshJ8\r\n=7695\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# gatsby-theme-i18n\r\n\r\nA Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language (including client-only pages that have a matchPath). Also adds `<link rel=\"alternate\" />` tags to your `<head>`, exposes useful React components and hooks.\r\n\r\n## Installation\r\n\r\n1. Install `gatsby-theme-i18n`:\r\n\r\n   ```shell\r\n   npm install gatsby-theme-i18n\r\n   ```\r\n\r\n2. Add the configuration to your `gatsby-config.js` file:\r\n\r\n   ```js:title=gatsby-config.js\r\n   module.exports = {\r\n     plugins: [\r\n       {\r\n         resolve: `gatsby-theme-i18n`,\r\n         options: {\r\n           defaultLang: `en`,\r\n           configPath: require.resolve(`./i18n/config.json`),\r\n         },\r\n       },\r\n     ],\r\n   }\r\n   ```\r\n\r\n3. Create the folder `i18n` at the root of your project and create a file called `config.json` in it.\r\n\r\n4. Add your locales to the config file and fill out these information:\r\n\r\n   - `code`: The ISO 3166-1 alpha-2 code which will be used for the path prefix, as a unique identifier (e.g. for the `defaultLang` option)\r\n   - `hrefLang`: The IETF language tag for the `<html lang=\"xx-XX\" />` attribute. Also used for og tags\r\n   - `name`: The english name of the locale\r\n   - `localName`: The local name of the locale\r\n   - `langDir`: The direction of language (e.g. \"ltr\", \"rtl\")\r\n   - `dateFormat`: The tokens that [Moment.js](https://momentjs.com/docs/#/parsing/string-format/) accepts for date formatting. This can be used for dates on GraphQL queries\r\n\r\n   Example config of English and German:\r\n\r\n   ```json\r\n   [\r\n     {\r\n       \"code\": \"en\",\r\n       \"hrefLang\": \"en-US\",\r\n       \"name\": \"English\",\r\n       \"localName\": \"English\",\r\n       \"langDir\": \"ltr\",\r\n       \"dateFormat\": \"MM/DD/YYYY\"\r\n     },\r\n     {\r\n       \"code\": \"de\",\r\n       \"hrefLang\": \"de-DE\",\r\n       \"name\": \"German\",\r\n       \"localName\": \"Deutsch\",\r\n       \"langDir\": \"ltr\",\r\n       \"dateFormat\": \"DD.MM.YYYY\"\r\n     }\r\n   ]\r\n   ```\r\n\r\n5. Add a suffix/postfix to your MDX filenames, e.g. if you have your blogposts at `content/posts/my-title/index.mdx` you'll need to copy that file and place it with `index.de.mdx` in the same folder.\r\n\r\n## Usage\r\n\r\nBy adding a suffix/postfix in your filenames you can define the locale that the document is in.\r\n\r\nYou can also see an [official example](https://github.com/gatsbyjs/themes/tree/master/starters/example-i18n) to learn more.\r\n\r\n### Theme options\r\n\r\n| Key             | Default Value | Description                                                                                                                               |\r\n| --------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\r\n| `defaultLang`   | `en`          | The locale that is your default language. For this language no prefixed routes will be created unless you set the option `prefixDefault`. |\r\n| `prefixDefault` | `false`       | Prefix all routes with the default language                                                                                               |\r\n| `configPath`    | none          | Path to the config file                                                                                                                   |\r\n| `locales`       | `null`        | A string of locales (divided by spaces) to only build a subset of the locales defined in `configPath`, e.g. `en de`                       |\r\n\r\nYou can pass additional options in as they'll be forwarded to the plugin. You can query all options in GraphQL on the `themeI18N` type.\r\n\r\n### Available React components/hooks\r\n\r\nThe theme also exports a couple of components and hooks that you could use in your project.\r\n\r\n#### useLocalization\r\n\r\nThe theme saves its information into a custom `themeI18N` graphql type which you can access via the `useLocalization` hook. Furthermore, you're able to ask for the current locale via React context.\r\n\r\nExample:\r\n\r\n```js\r\nimport React from \"react\"\r\nimport { useLocalization } from \"gatsby-theme-i18n\"\r\n\r\nconst Example = () => {\r\n  const { locale, config, defaultLang } = useLocalization()\r\n\r\n  return (\r\n    <div>\r\n      <div>Current locale: {locale}</div>\r\n      <div>Current defaultLang: {defaultLang}</div>\r\n      <pre>{JSON.stringify(config, null, 2)}</pre>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default Example\r\n```\r\n\r\n#### LocalesList\r\n\r\nYou can display all available locales via the `localesList` component.\r\n\r\nExample:\r\n\r\n```js\r\nimport React from \"react\"\r\nimport { LocalesList } from \"gatsby-theme-i18n\"\r\n\r\nconst Example = () => {\r\n  return (\r\n    <div>\r\n      <LocalesList />\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default Example\r\n```\r\n\r\n#### LocalizedLink\r\n\r\nThis is a wrapper around the `Link` component from `gatsby` and is transforming links to the correct path by accessing the current locale via React context.\r\n\r\nExample:\r\n\r\n```js\r\nimport React from \"react\"\r\nimport { LocalizedLink as Link } from \"gatsby-theme-i18n\"\r\n\r\nconst Example = () => {\r\n  return (\r\n    <div>\r\n      <Link to=\"/page-2/\">Link to second page</Link>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default Example\r\n```\r\n\r\n#### LocalizedRouter\r\n\r\nProvides a `<Router />` from `@reach/router` that prefixes the `basePath` prop with the current locale.\r\n\r\nExample:\r\n\r\n```js\r\nimport React from \"react\"\r\nimport { LocalizedRouter } from \"gatsby-theme-i18n\"\r\nimport Detail from \"../components/detail\"\r\n\r\nconst App = () => {\r\n  return (\r\n    <LocalizedRouter basePath=\"/app\">\r\n      <Detail path=\"/:id\" />\r\n    </LocalizedRouter>\r\n  )\r\n}\r\n\r\nexport default App\r\n```\r\n\r\n#### MdxLink\r\n\r\nThis is a component specifically for MDX to replace the normal anchor tag. This way local links to other files are automatically localized (as it uses `LocalizedLink` behind the scenes).\r\n\r\nExample:\r\n\r\n```js\r\nimport React from \"react\"\r\nimport { MDXProvider } from \"@mdx-js/react\"\r\nimport { MdxLink } from \"gatsby-theme-i18n\"\r\n\r\nconst components = {\r\n  a: MdxLink,\r\n}\r\n\r\nconst Layout = ({ children }) => {\r\n  return (\r\n    <React.Fragment>\r\n      <main>\r\n        <MDXProvider components={components}>{children}</MDXProvider>\r\n      </main>\r\n    </React.Fragment>\r\n  )\r\n}\r\n\r\nexport default Layout\r\n```\r\n\r\n#### LocaleContext / LocaleProvider\r\n\r\nYou can also directly access the `LocaleContext` and `LocaleProvider` from the theme.\r\n\r\nExample:\r\n\r\n```js\r\nimport React from \"react\"\r\nimport { LocaleContext } from \"gatsby-theme-i18n\"\r\n\r\nconst Example = () => {\r\n  const locale = React.useContext(LocaleContext)\r\n\r\n  return <div>Locale: {locale}</div>\r\n}\r\n\r\nexport default Example\r\n```\r\n","gitHead":"22857c3f7559fcb57a384cc91f22f8b222a73f97","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"lerna/3.22.1/node@v12.16.2+x64 (linux)","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"12.16.2","dependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^3.3.10"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"react":">=16.13.1","gatsby":">=2.21.26","react-dom":">=16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_1.0.5-defaultprefix.0_1600165983655_0.752512646601746","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"gatsby-theme-i18n","version":"1.0.5","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@1.0.5","maintainers":[{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"madalynrose","email":"madalyn.parker@gmail.com"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"kuvos","email":"npm-public@qfox.nl"},{"name":"ascorbic","email":"m@mk.gg"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"laurieontech","email":"npm.laurie@gmail.com"},{"name":"mxstbr","email":"contact@mxstbr.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"6409106e956819d394584e5cb0b0a48dbf4c127e","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-1.0.5.tgz","fileCount":18,"integrity":"sha512-L10PPTMKY0w7tdm1HrcuWa++AecvnbBUjtkejjvokJVg3g5Wp2/27GJwSzYdGEsR47QV7s0b2/08GpqhFeEMYg==","signatures":[{"sig":"MEUCIB9Y2BQbnE/ChBu1xJESEm5SS8FgJN8G4R4n84SOslEJAiEA/89lZCegd155dhCmZF8z8poykCjWBKricOMZKADpYxc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9bn1CRA9TVsSAnZWagAAMhEP/0MAEPMpkZwG1TcF/D28\n8sa8oEY4P8neGyaQuDsXRSIkW7WWiZIB3CsmGmCoauhFLiS3Uq5bK1yTD1fX\nYmB6vgB3dVdelK32V+7fdeXOVaNAc7s2KpID9jkWkrEPEsAuaT7GNUvZ1a37\n4Ct8XZgMaDS2a48Xg1QPnYK4x0QFOy3g+n2Gf1yyCpo78YeBNIoP5VT1Ew/7\n0DGj3RsIwNH2XExWO2M1k8aDB0mAHgqjxNSgaBW+LHhmNkDVwZREj7libecE\ng9ZfGxNKtxRvjtVSFu+bdOpgmAxqQ0jeT9Topzo1AhfQ/ScWwghi2zrF+yj7\nRR269660GbsgtMiCl0B+OJ7EJm/bCyY0IbosVRS/SSe12DL91iJi5wDf0i7b\nzb/ZZkJ3EpeRi02QP0nZT/3U74rVIBEn+7d+cpD0DYICatNIfsMmtVY1cCOy\nSuGxTqIhlsuQa9JDkkOiKnVy52e6gFOs5CMbw3HmlkBKPh+EVk61VyWa99DZ\njZEDu9JKWnOg/YW7RVvKS9vp/VVsDDJdADwHoKDuuwgtZn0Ozrnrtl+9OHtq\nm2SMP2OPJVJJHhOdYKrnT1An7XmcGZ16ckvwRJVTppYmqLPbVOuQMecN4dX7\n/TYk2Ocz0DbG8vqNFNTwHC8EJ61IeE/nD17f82VI2w1F/jzaapcNR17hwMta\nyElI\r\n=hd2e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"25e76f5d079f1bdf6306bf6db15cf5fed746d4b3","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"lerna/3.22.1/node@v14.14.0+x64 (linux)","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"14.14.0","dependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^3.3.10"},"_hasShrinkwrap":false,"peerDependencies":{"react":">=16.13.1","gatsby":">=2.21.26","react-dom":">=16.13.1"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_1.0.5_1609939445037_0.7427847894557191","host":"s3://npm-registry-packages"}},"1.0.6-gatsby-v3.24":{"name":"gatsby-theme-i18n","version":"1.0.6-gatsby-v3.24","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@1.0.6-gatsby-v3.24","maintainers":[{"name":"sslotsky","email":"saxosamo@gmail.com"},{"name":"rachelbahl","email":"rachel@gatsbyjs.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"ascorbic","email":"m@mk.gg"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"5919614a4b834d096dd64aea776b9c29ffc570f6","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-1.0.6-gatsby-v3.24.tgz","fileCount":19,"integrity":"sha512-oxyRCLBGYj/s3FvvonTz2ep/3cFTO0oGMEkojw/eLReTehKTMegP11VMCuQf4LuXa0PClDl+0I3QExDBRBKAXg==","signatures":[{"sig":"MEUCIQDufhUXV4H6y5kkqNfIgafSeZvO2ZOEhdBwPWbZu1pVKAIgDBMWK//u4ECth7tAT2BHlPA4KIXVPRXt0XVMCXpWz0Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdrCACRA9TVsSAnZWagAAXcEP/2hOf+6Dkflh2NLmSEQ5\npOMkXaNOWIASL+61DdsFw31dqkB7lbu7nvmNzwsuXbGjk7RsiRRXJ60V8Fc4\nZDCD9ogZASqxLaBEpHPKM232S1QLGirdk3M5JPwOyJZQcgDpetk9ZD8sgoG0\n0mJ/0pZ8H0RNHUROzHaaOtlWOFzdSFBJtrQCCKbyn8AYkCxhPU6RMEeaAQaq\ntQybC020Bx+Tpv0vHjRdybSRWoBOU32/kppXg8URNodoOB0ljtBVeUuqraUf\nGCw+g/ccODTQOlBtykFQJIjP7drUM/wr/cKJPrYn0oSXwH/dXO7XcBKB6q0H\nYGNZzK4RhQ1ePCWD/+0jfuH2nyYPcbqeX85gjZUwHVBbDU1AjuqLtL6cCDzT\n281XZy5dL0sYzWM0etEW4tkkr3N3CSdQ7eJSnxYXfYnUH/jRZ3XZDZyVBiEM\nbew828WGoq+B3EJI6mNKoUgiZouNRfHEdwVqQBQHU6UCc7vWB/mId2tKi8tq\n2RKTZ94f8m4qo4+2SaZRI/bgP6MWdfZMfv/HaELvTOImqOhzZD6NKyoL90fV\njcQHNdMonGmvMCZMSl8AKVnXDrW4KU15O7Z9jxI6XR9xj/PWBnOd/JpkvorQ\n/gGlhCYdp5LCifF7zg73SrlXzQuiO/Ifd/90ZFqEkmXTz5lFj/0ayp+/kB+b\n9N2L\r\n=tFe+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"index.d.ts","readme":"# gatsby-theme-i18n\n\nA Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language (including client-only pages that have a matchPath). Also adds `<link rel=\"alternate\" />` tags to your `<head>`, exposes useful React components and hooks.\n\n## Installation\n\n1. Install `gatsby-theme-i18n`:\n\n   ```shell\n   npm install gatsby-theme-i18n gatsby-plugin-react-helmet react-helmet\n   ```\n\n2. Add the configuration to your `gatsby-config.js` file:\n\n   ```js:title=gatsby-config.js\n   module.exports = {\n     plugins: [\n       {\n         resolve: `gatsby-theme-i18n`,\n         options: {\n           defaultLang: `en`,\n           configPath: require.resolve(`./i18n/config.json`),\n         },\n       },\n     ],\n   }\n   ```\n\n3. Create the folder `i18n` at the root of your project and create a file called `config.json` in it.\n\n4. Add your locales to the config file and fill out this information:\n\n   - `code`: The ISO 3166-1 alpha-2 code which will be used for the path prefix, as a unique identifier (e.g. for the `defaultLang` option)\n   - `hrefLang`: The IETF language tag for the `<html lang=\"xx-XX\" />` attribute. Also used for og tags\n   - `name`: The english name of the locale\n   - `localName`: The local name of the locale\n   - `langDir`: The direction of language (e.g. \"ltr\", \"rtl\")\n   - `dateFormat`: The tokens that [Moment.js](https://momentjs.com/docs/#/parsing/string-format/) accepts for date formatting. This can be used for dates on GraphQL queries\n\n   Example config of English and German:\n\n   ```json\n   [\n     {\n       \"code\": \"en\",\n       \"hrefLang\": \"en-US\",\n       \"name\": \"English\",\n       \"localName\": \"English\",\n       \"langDir\": \"ltr\",\n       \"dateFormat\": \"MM/DD/YYYY\"\n     },\n     {\n       \"code\": \"de\",\n       \"hrefLang\": \"de-DE\",\n       \"name\": \"German\",\n       \"localName\": \"Deutsch\",\n       \"langDir\": \"ltr\",\n       \"dateFormat\": \"DD.MM.YYYY\"\n     }\n   ]\n   ```\n\n5. Add a suffix/postfix to your MDX filenames, e.g. if you have your blogposts at `content/posts/my-title/index.mdx` you'll need to copy that file and place it with `index.de.mdx` in the same folder.\n\n## Usage\n\nBy adding a suffix/postfix in your filenames you can define the locale that the document is in.\n\nYou can also see an [official example](https://github.com/gatsbyjs/themes/tree/master/starters/example-i18n) to learn more.\n\n### Theme options\n\n| Key             | Default Value | Description                                                                                                                               |\n| --------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| `defaultLang`   | `en`          | The locale that is your default language. For this language no prefixed routes will be created unless you set the option `prefixDefault`. |\n| `prefixDefault` | `false`       | All routes will be prefixed, including the `defaultLang`                                                                                  |\n| `configPath`    | none          | Path to the config file                                                                                                                   |\n| `locales`       | `null`        | A string of locales (divided by spaces) to only build a subset of the locales defined in `configPath`, e.g. `en de`                       |\n\nYou can pass additional options in as they'll be forwarded to the plugin. You can query all options in GraphQL on the `themeI18N` type.\n\n### Available React components/hooks\n\nThe theme also exports a couple of components and hooks that you could use in your project.\n\n#### useLocalization\n\nThe theme saves its information into a custom `themeI18N` graphql type which you can access via the `useLocalization` hook. Furthermore, you're able to ask for the current locale via React context.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { useLocalization } from \"gatsby-theme-i18n\"\n\nconst Example = () => {\n  const { locale, config, defaultLang } = useLocalization()\n\n  return (\n    <div>\n      <div>Current locale: {locale}</div>\n      <div>Current defaultLang: {defaultLang}</div>\n      <pre>{JSON.stringify(config, null, 2)}</pre>\n    </div>\n  )\n}\n\nexport default Example\n```\n\n#### LocalesList\n\nYou can display all available locales via the `localesList` component.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { LocalesList } from \"gatsby-theme-i18n\"\n\nconst Example = () => {\n  return (\n    <div>\n      <LocalesList />\n    </div>\n  )\n}\n\nexport default Example\n```\n\n#### LocalizedLink\n\nThis is a wrapper around the `Link` component from `gatsby` and is transforming links to the correct path by accessing the current locale via React context.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { LocalizedLink as Link } from \"gatsby-theme-i18n\"\n\nconst Example = () => {\n  return (\n    <div>\n      <Link to=\"/page-2/\">Link to second page</Link>\n    </div>\n  )\n}\n\nexport default Example\n```\n\n#### LocalizedRouter\n\nProvides a `<Router />` from `@reach/router` that prefixes the `basePath` prop with the current locale.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { LocalizedRouter } from \"gatsby-theme-i18n\"\nimport Detail from \"../components/detail\"\n\nconst App = () => {\n  return (\n    <LocalizedRouter basePath=\"/app\">\n      <Detail path=\"/:id\" />\n    </LocalizedRouter>\n  )\n}\n\nexport default App\n```\n\n#### MdxLink\n\nThis is a component specifically for MDX to replace the normal anchor tag. This way local links to other files are automatically localized (as it uses `LocalizedLink` behind the scenes).\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { MDXProvider } from \"@mdx-js/react\"\nimport { MdxLink } from \"gatsby-theme-i18n\"\n\nconst components = {\n  a: MdxLink,\n}\n\nconst Layout = ({ children }) => {\n  return (\n    <React.Fragment>\n      <main>\n        <MDXProvider components={components}>{children}</MDXProvider>\n      </main>\n    </React.Fragment>\n  )\n}\n\nexport default Layout\n```\n\n#### LocaleContext / LocaleProvider\n\nYou can also directly access the `LocaleContext` and `LocaleProvider` from the theme.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { LocaleContext } from \"gatsby-theme-i18n\"\n\nconst Example = () => {\n  const locale = React.useContext(LocaleContext)\n\n  return <div>Locale: {locale}</div>\n}\n\nexport default Example\n```\n","engines":{"node":">=12.13.0"},"gitHead":"7ef4c320cc870eb88f9b8a642e06ef001d83e7d3","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"lerna/3.22.1/node@v14.14.0+x64 (linux)","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"14.14.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^4.2.0"},"peerDependencies":{"react":"^17.0.0","gatsby":"^3.0.0","react-dom":"^17.0.0","react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_1.0.6-gatsby-v3.24_1618391168109_0.7317459203331653","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"gatsby-theme-i18n","version":"2.0.0","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@2.0.0","maintainers":[{"name":"veryspry","email":"ehlinger.matt@gmail.com"},{"name":"daniellewgatsby","email":"daniel.lew@gatsbyjs.com"},{"name":"sslotsky","email":"saxosamo@gmail.com"},{"name":"rachelbahl","email":"rachel@gatsbyjs.com"},{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"jamo","email":"jamo@isotalo.fi"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"vladar","email":"vladimir.razuvaev@gmail.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"ascorbic","email":"m@mk.gg"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"c796dbe493b40118f17d64efcc483118e6ac4abb","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-2.0.0.tgz","fileCount":19,"integrity":"sha512-RUjMro37rDDabTEirNyLWa5kaXptV1cSxe9JqEj+0P4tiR5xGkzGK/HesPjo8SzhOz2NfIz44sZjt5H58fWI0Q==","signatures":[{"sig":"MEUCIEj31Q+925tgSQweuCQ1452Nbk5Vys8fVRlvQYzJy0/JAiEA65ZIZ3tdO9FUiKGOfyJQvU5znBZ+VP+YnLXN7txTMJI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfqUOCRA9TVsSAnZWagAA0S8P+QHyfFOVt69Jr5hDU1CL\n3U2hhYqiGFfDW5nZpXbBJFkNraKKDVE+jTiTi55bT80aXDVPRIHBpC3fS4Kf\nCTxGHDhDFRD5unMkXIVXj4L/Qli9mLI23Gk/DaLmmsZ9O59Tv+HL1AIARhje\naQm1hQp22lbxv78DdLVldvYls4uBzzxPRTD4nJHCiN12q0H8nH89kGI5OXnp\n3jSQJIhqSSH2RC2w+0anh+r1/DmaIF0mVunNv9/vlheojDWri7a/vDNIzeD2\nFJC6u0V18lNAhpOOL18rmJYK7seNCwugOHl2YJ1zKkgTXql3BLIxQeRnomRT\n5zDMbyNHgieXOwwh5aR2HPls+RBKVAVn4p3ymyWHpaxxHRhTXiV8ay/ahQOI\nPZUg0U167vcrl6SVh3WniK/4OvkJqse8y9i4G6P8ZT+FfJ6QOZcxE2CLhOdA\n4okmyUPVkMLr8qI270dUcX/gVlVqLP/jkSpMDJcW5PFzn2vxI6hPXYphvq6o\nFRg2RCLlVb7hF2iSn+N7RbS4JUkf/6Wu+FxPdCaGv8ANs8eqfX93XxvbHJBW\nGnRDcv1T8AbKZpriFB8TdlcBqGmj36HAiFidHH16ANVKecKcvsMUfnWgTQNj\nEDld8JqmWCk9NxwZaWl2DA9+vBtvLqnEQk/WnZbmEneLSxW9HqvXS//yWC4s\nPGzO\r\n=+PQm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"index.d.ts","engines":{"node":">=12.13.0"},"gitHead":"692499ec782aae8b47bcd5aafbbe3cc565b9e429","_npmUser":{"name":"lekoarts","email":"lekoarts@gmail.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"lerna/3.22.1/node@v14.14.0+x64 (linux)","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"14.14.0","_hasShrinkwrap":false,"devDependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^4.2.0"},"peerDependencies":{"react":"^17.0.0","gatsby":"^3.0.0","react-dom":"^17.0.0","react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_2.0.0_1618912525764_0.6230214133206529","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"gatsby-theme-i18n","version":"3.0.0","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","_id":"gatsby-theme-i18n@3.0.0","maintainers":[{"name":"dschau","email":"dustinschau@gmail.com"},{"name":"kylemathews","email":"mathews.kyle@gmail.com"},{"name":"pieh","email":"misiek.piechowiak@gmail.com"},{"name":"sidharthachatterjee","email":"me@sidharthachatterjee.com"},{"name":"wardpeet","email":"ward@coding-tech.com"},{"name":"tylerbarnes","email":"tyler@known.design"},{"name":"fk","email":"sechskilo@gmail.com"},{"name":"smthomas","email":"shane@codekarate.com"},{"name":"lekoarts","email":"lekoarts@gmail.com"},{"name":"rachelbahl","email":"rachel@gatsbyjs.com"},{"name":"daniellewgatsby","email":"daniel.lew@gatsbyjs.com"},{"name":"veryspry","email":"ehlinger.matt@gmail.com"},{"name":"abhiaiyer","email":"abhiaiyer91+npm@gmail.com"},{"name":"freiksenet","email":"freiksenet@gmail.com"}],"homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"dist":{"shasum":"dd4482f0f4842d3142a0d992f29afb6ecd1a62a4","tarball":"https://registry.npmjs.org/gatsby-theme-i18n/-/gatsby-theme-i18n-3.0.0.tgz","fileCount":19,"integrity":"sha512-M8r498/x0IwAQIbt8CQ3G7I9D2bUTBv4dvxD9EPgOGCW9qTVjH5al31vTkxSQ9ialn9BewMQugWQ7AEWwIDrhQ==","signatures":[{"sig":"MEUCIDRDbG2lmdi4PzD7MY86OuoT3V8xjty9M2CfhLwmP99IAiEAvtx0l8dOjaU2AAuppjn3sgvA4KBjbGQingKXoju2xy8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqjnUCRA9TVsSAnZWagAAUeoQAIE+FskWGH+Wkcy9GFaZ\nfdTqKwFQINiFRCfu9kLyIT0PFHsbWzt06JG16wnv7gsJGROGKVXEf18nPN/9\nIUVd4hxdnvhxdSGG5/+fzLjEViNjwpf8NSHzakTC+isfRk2CdWx68jUA/xGU\njhSoGjh0PICvGWahjhIueuCyUqg5EIJQj9wHmEN1GNYC0nCrhOO9OkPRcTZz\nBU+6+wENu9vE8WlnNE6YeDg4ZH2go4/znZRvyqyqWlTvBjIK5r+qdQnWWjrm\nqL9DoZz1kc4dmYSUn4pLsCPmsr93rhNTrLp3qKM3tJrkH/Co/PyrdVbsfv4X\nZhxkjMAZJ2751TPpb/66nrauavTZbgqA3u3tMG48AkAsPFPcNECbKLr6Jbv1\n+ytQ5vlediU99mT6EoAflyElIub1fBSktzNPJKjGyS/L6Oda/5A7FcS7Lp39\nBW7uQt3ayIDnyfFoR2bSYWxxIRKOO3kNXYVvRmU+Rst6V5YvzvyuBCMN3Y/S\nrLjlNsGv5On7uMNYYCIAxYdxFP0PNot9vBa2ErmJ4SyckRdlazRDjGMWrBoZ\n3bq+gxuhSjwOcOyosXd6TI3QwylSsGzGKykeu676QTU9kskxY9K3cfZI+X5u\nmcyGFNTaC27T/PzErHmFLwubkjrHos0Cz6Yu+ChFGMWnvFxsxWY6cw1G8ZC5\n1cvC\r\n=bM6h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"index.d.ts","engines":{"node":">=14.15.0"},"gitHead":"a9dd4d105ce31f589cf06a39b4e47d7169ade0ff","_npmUser":{"name":"wardpeet","email":"ward@coding-tech.com"},"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"_npmVersion":"lerna/4.0.0/node@v14.17.5+x64 (win32)","description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","directories":{},"_nodeVersion":"14.17.5","_hasShrinkwrap":false,"devDependencies":{"react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^5.3.0"},"peerDependencies":{"react":"^17.0.0","gatsby":"^4.0.0","react-dom":"^17.0.0","react-helmet":"^6.1.0","gatsby-plugin-react-helmet":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/gatsby-theme-i18n_3.0.0_1638545876748_0.04364175581331553","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-05-08T14:33:10.932Z","modified":"2026-06-30T21:54:29.384Z","0.0.1-security":"2020-05-08T14:33:11.093Z","0.0.1":"2020-05-08T14:43:48.953Z","0.0.2":"2020-06-24T09:32:12.577Z","1.0.0":"2020-07-15T06:25:38.582Z","1.0.1":"2020-07-23T13:29:51.391Z","1.0.2":"2020-07-28T09:29:47.434Z","1.0.3":"2020-09-11T07:42:17.216Z","1.0.4":"2020-09-14T12:35:44.149Z","1.0.5-defaultprefix.0":"2020-09-15T10:33:03.780Z","1.0.5":"2021-01-06T13:24:05.195Z","1.0.6-gatsby-v3.24":"2021-04-14T09:06:08.204Z","2.0.0":"2021-04-20T09:55:25.919Z","3.0.0":"2021-12-03T15:37:56.877Z"},"bugs":{"url":"https://github.com/gatsbyjs/themes/issues"},"author":{"name":"LekoArts","email":"lekoarts@gmail.com"},"license":"MIT","homepage":"https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-i18n#readme","keywords":["i18n","gatsby-theme","gatsby","gatsby-plugin"],"repository":{"url":"git+https://github.com/gatsbyjs/themes.git","type":"git","directory":"packages/gatsby-theme-i18n"},"description":"A Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language.","maintainers":[{"email":"misiek.piechowiak@gmail.com","name":"pieh"},{"email":"philippe.serhal@netlify.com","name":"serhalp-netlify"},{"email":"mike.gualtieri@netlify.com","name":"mlgualtieri-gatsby"}],"readme":"# gatsby-theme-i18n\n\nA Gatsby theme for providing internationalization support to your Gatsby site by taking in a configuration file and creating prefixed, enriched pages for each language (including client-only pages that have a matchPath). Also adds `<link rel=\"alternate\" />` tags to your `<head>`, exposes useful React components and hooks.\n\n## Installation\n\n1. Install `gatsby-theme-i18n`:\n\n   ```shell\n   npm install gatsby-theme-i18n gatsby-plugin-react-helmet react-helmet\n   ```\n\n2. Add the configuration to your `gatsby-config.js` file:\n\n   ```js:title=gatsby-config.js\n   module.exports = {\n     plugins: [\n       {\n         resolve: `gatsby-theme-i18n`,\n         options: {\n           defaultLang: `en`,\n           configPath: require.resolve(`./i18n/config.json`),\n         },\n       },\n     ],\n   }\n   ```\n\n3. Create the folder `i18n` at the root of your project and create a file called `config.json` in it.\n\n4. Add your locales to the config file and fill out this information:\n\n   - `code`: The ISO 3166-1 alpha-2 code which will be used for the path prefix, as a unique identifier (e.g. for the `defaultLang` option)\n   - `hrefLang`: The IETF language tag for the `<html lang=\"xx-XX\" />` attribute. Also used for og tags\n   - `name`: The english name of the locale\n   - `localName`: The local name of the locale\n   - `langDir`: The direction of language (e.g. \"ltr\", \"rtl\")\n   - `dateFormat`: The tokens that [Moment.js](https://momentjs.com/docs/#/parsing/string-format/) accepts for date formatting. This can be used for dates on GraphQL queries\n\n   Example config of English and German:\n\n   ```json\n   [\n     {\n       \"code\": \"en\",\n       \"hrefLang\": \"en-US\",\n       \"name\": \"English\",\n       \"localName\": \"English\",\n       \"langDir\": \"ltr\",\n       \"dateFormat\": \"MM/DD/YYYY\"\n     },\n     {\n       \"code\": \"de\",\n       \"hrefLang\": \"de-DE\",\n       \"name\": \"German\",\n       \"localName\": \"Deutsch\",\n       \"langDir\": \"ltr\",\n       \"dateFormat\": \"DD.MM.YYYY\"\n     }\n   ]\n   ```\n\n5. Add a suffix/postfix to your MDX filenames, e.g. if you have your blogposts at `content/posts/my-title/index.mdx` you'll need to copy that file and place it with `index.de.mdx` in the same folder.\n\n## Usage\n\nBy adding a suffix/postfix in your filenames you can define the locale that the document is in.\n\nYou can also see an [official example](https://github.com/gatsbyjs/themes/tree/master/starters/example-i18n) to learn more.\n\n### Theme options\n\n| Key             | Default Value | Description                                                                                                                               |\n| --------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |\n| `defaultLang`   | `en`          | The locale that is your default language. For this language no prefixed routes will be created unless you set the option `prefixDefault`. |\n| `prefixDefault` | `false`       | All routes will be prefixed, including the `defaultLang`                                                                                  |\n| `configPath`    | none          | Path to the config file                                                                                                                   |\n| `locales`       | `null`        | A string of locales (divided by spaces) to only build a subset of the locales defined in `configPath`, e.g. `en de`                       |\n\nYou can pass additional options in as they'll be forwarded to the plugin. You can query all options in GraphQL on the `themeI18N` type.\n\n### Available React components/hooks\n\nThe theme also exports a couple of components and hooks that you could use in your project.\n\n#### useLocalization\n\nThe theme saves its information into a custom `themeI18N` graphql type which you can access via the `useLocalization` hook. Furthermore, you're able to ask for the current locale via React context.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { useLocalization } from \"gatsby-theme-i18n\"\n\nconst Example = () => {\n  const { locale, config, defaultLang } = useLocalization()\n\n  return (\n    <div>\n      <div>Current locale: {locale}</div>\n      <div>Current defaultLang: {defaultLang}</div>\n      <pre>{JSON.stringify(config, null, 2)}</pre>\n    </div>\n  )\n}\n\nexport default Example\n```\n\n#### LocalesList\n\nYou can display all available locales via the `localesList` component.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { LocalesList } from \"gatsby-theme-i18n\"\n\nconst Example = () => {\n  return (\n    <div>\n      <LocalesList />\n    </div>\n  )\n}\n\nexport default Example\n```\n\n#### LocalizedLink\n\nThis is a wrapper around the `Link` component from `gatsby` and is transforming links to the correct path by accessing the current locale via React context.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { LocalizedLink as Link } from \"gatsby-theme-i18n\"\n\nconst Example = () => {\n  return (\n    <div>\n      <Link to=\"/page-2/\">Link to second page</Link>\n    </div>\n  )\n}\n\nexport default Example\n```\n\n#### LocalizedRouter\n\nProvides a `<Router />` from `@reach/router` that prefixes the `basePath` prop with the current locale.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { LocalizedRouter } from \"gatsby-theme-i18n\"\nimport Detail from \"../components/detail\"\n\nconst App = () => {\n  return (\n    <LocalizedRouter basePath=\"/app\">\n      <Detail path=\"/:id\" />\n    </LocalizedRouter>\n  )\n}\n\nexport default App\n```\n\n#### MdxLink\n\nThis is a component specifically for MDX to replace the normal anchor tag. This way local links to other files are automatically localized (as it uses `LocalizedLink` behind the scenes).\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { MDXProvider } from \"@mdx-js/react\"\nimport { MdxLink } from \"gatsby-theme-i18n\"\n\nconst components = {\n  a: MdxLink,\n}\n\nconst Layout = ({ children }) => {\n  return (\n    <React.Fragment>\n      <main>\n        <MDXProvider components={components}>{children}</MDXProvider>\n      </main>\n    </React.Fragment>\n  )\n}\n\nexport default Layout\n```\n\n#### LocaleContext / LocaleProvider\n\nYou can also directly access the `LocaleContext` and `LocaleProvider` from the theme.\n\nExample:\n\n```js\nimport * as React from \"react\"\nimport { LocaleContext } from \"gatsby-theme-i18n\"\n\nconst Example = () => {\n  const locale = React.useContext(LocaleContext)\n\n  return <div>Locale: {locale}</div>\n}\n\nexport default Example\n```\n","readmeFilename":"README.md"}