如何解决无法在具有某些自定义语言环境要求的 Next JS 静态页面项目中减少构建大小
我正在使用 Contentful CMS 开发 Next JS 项目,使用常见的 React 组件构建多个博客。
在 Next JS 中,我的页面层次结构为:pages -> [domain] -> [locale] -> [slug.tsx]
基本上我有 3 个数组,1 个用于支持的语言列表(en、es、....)和 1 个带有自定义语言环境列表的数组(es-es、es-mx、...)和第三个是列表支持的国家/地区(美国、加拿大、欧洲、墨西哥...)。
在构建项目时,我将每个国家的每种语言设为 [lang]-[country] 对,例如:en-us。嗯,是的,这也是 SEO 的要求。显然,我还检查了自定义语言环境列表(es-es、es-mx)的保存数组,因此,如果找到了这一对,我会使用 es-es 而不是 es 来访问 CMS API,以便获得正确的翻译。
我们正在构建静态页面,静态构建后我们博客的 URL 如下所示:
1. www.abc.com/en-us/blog1 -> english
2. www.abc.com/en-ca/blog1 -> english
3. www.abc.com/es-us/blog2 -> spanish
4. www.abc.com/es-es/blog3 -> spain spanish (custom locale)
5. www.abc.com/es-mx/blog4 -> mexican spanish (custom locale)
我们从 CMS 获得翻译的内容,并在 URL 中添加国家/地区以定位全球用户。
但是,我们有一项 SEO 要求,即他们希望为居住在西班牙的讲西班牙语的人 (es-es) 与居住在美国的讲西班牙语的人 (es-us) 显示不同的内容。
这会导致下一个 JS 构建大而耗时。想象一下 10 种支持的语言和 20 个支持的国家/地区,因此我们将构建 300 个非常庞大的博客,考虑到我们只需要支持 3 个自定义语言环境。如果我们不这样做,我们可能只有 10 个基于每种语言的着陆器。
我们需要构建如此多的着陆器,因为 Next JS 的静态函数的性质:getStaticProps,需要在构建期间构建准确的 URL。
我正在寻找一些解决方案来减少这种情况,因为一旦我们开始创建更多多语言博客,构建博客将变得非常复杂且耗时。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。