@3nvi/gatsby-starter-intl 中文文档教程
gatsby-starter-intl
一个展示如何轻松处理网站内部化的 gatsby starter。 它利用 @3nvi/gatsby-theme-intl
在引擎盖下以自动化所有日常过程:
- creating the necessary localized URLs
- adding proper SEO support on all pages
- handling translations
- changing languages while retaining the page the user's at
此外,它:
- utilizes the netlify plugin in order to create proper
_headers
and_redirects
files. - utilizes the sitemap plugin in order to create a sitemap for the website.
有关引擎盖下发生的事情的更多信息,请查看 gatby-theme-intl, 以及这个项目的 gatsby-config.js
Installation
由于 starter 在 lerna monorepo 中(而不是在单独的独立 repo 中),安装需要运行额外的 npm run bootstrap
命令:
git clone https://github.com/3nvi/gatsby-intl intl-site
cd intl-site/packages/gatsby-starter-intl
npm i
npm run start
Known Issues
在撰写本文时,Netlify 有一个如果发送了多个 Accept-Language
,则语言重定向将不起作用。 您可以在此处< /a>。
要验证在发送单个 Accept-Language
值时重定向有效,您可以仅使用一种语言发出请求:
curl -H 'Accept-Language: de' -L -v -s https://YOUR_SITE.netlify.com 1> /dev/null
并期望重定向有效
License
MIT
gatsby-starter-intl
A gatsby starter showcasing how to easily handle the internalization of a website. It utilizes @3nvi/gatsby-theme-intl
under the hood in order to automate all mundane processes of:
- creating the necessary localized URLs
- adding proper SEO support on all pages
- handling translations
- changing languages while retaining the page the user's at
Moreover, it:
- utilizes the netlify plugin in order to create proper
_headers
and_redirects
files. - utilizes the sitemap plugin in order to create a sitemap for the website.
For more information on what happens under the hood check out gatby-theme-intl, as well as this project's gatsby-config.js
Installation
Due to the fact that the starter is in a lerna monorepo (and not in a separate standalone repo), installation requires running the additional npm run bootstrap
command:
git clone https://github.com/3nvi/gatsby-intl intl-site
cd intl-site/packages/gatsby-starter-intl
npm i
npm run start
Known Issues
At the moment of writing, Netlify has a bug where if more than one Accept-Language
s are sent, then the language redirects don’t work. You can track the related issue here.
To verify that redirects do work when a single Accept-Language
value is sent, you can issue a request with just one language:
curl -H 'Accept-Language: de' -L -v -s https://YOUR_SITE.netlify.com 1> /dev/null
and expect the redirects to work
License
MIT