【问题标题】:How to handle internationalization/localization with Gatsby JS?如何使用 Gatsby JS 处理国际化/本地化?
【发布时间】:2018-07-07 14:26:39
【问题描述】:

我想在世界各地的不同地方发布我的静态网站,其中包含本地化的内容。

如何做到这一点?

【问题讨论】:

    标签: gatsby


    【解决方案1】:

    我最近添加了一个默认的 Gatsby 启动器,它具有多语言 url 路由和浏览器语言检测功能。 (demo)

    gatsby-starter-default-intl

    特点:

    • react-intl 提供的本地化(多语言)。

    • browser-lang提供的基于用户在浏览器中首选语言的自动重定向。

    • 在单个页面组件中支持多语言 url 路由。这意味着您不必创建单独的页面,例如 pages/en/index.jspages/ko/index.js

    • 基于gatsby-starter-default,修改最少。

    【讨论】:

    • 这正是我想要的。非常感谢!
    • 演示没有经过 SEO 优化。在客户端(浏览器)上发生终端路由更改时尝试 curl gatsby-starter-default-intl.netlify.com。演示并没有解决问题。
    【解决方案2】:

    有一个社区插件gatsby-plugin-i18n,您可以“将 [...] 与 react-intl、i18next 或任何其他 i18n 库一起使用。此插件不翻译消息,它只是为每种语言创建路由,并且如果您愿意,您可以为每种语言使用不同的布局。”(引用插件自述文件)。

    它的第一个版本是 2017 年 8 月 30 日,所以也许你在此期间已经偶然发现了它?!

    【讨论】:

      【解决方案3】:

      仅供参考:有一个blog post 逐步描述如何结合gatsby-plugin-i18ni18next (react-i18next) 一起使用该社区插件

      【讨论】:

      • 实际上这篇博文并没有描述 gatsby 社区插件,因为他们选择使用 react-18next。不过还是很不错的i18n介绍
      猜你喜欢
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 2015-09-23
      • 2011-02-07
      • 2012-08-31
      相关资源
      最近更新 更多