【发布时间】:2020-07-07 01:53:06
【问题描述】:
TL;DR
我正在开发一个多语言和区域性的 Ruby-on-Rails (6.0) 项目。我希望 URL 不包含默认语言环境和区域 (I18n),而必须出现所有其他语言和区域。
当前:
mysite.com/en-us/xyz mysite.com/es-mx/xyz
预期:
mysite.com/xyz mysite.com/es-mx/xyz
其他信息:
所以我正在为客户开发一个多语言应用程序,将一个简单的 Wordpress 网站变成一个实际的 Web 应用程序。大多数要求都发生在登录之后,因此从 SEO 的角度来看,我并不关心这个世界。
但是,原始网站只有英文版。我们仍然重用(重建)几个可公开访问并在 Google 的 SERP 中排名良好的页面。我们不能丢失这些站点,即使在短期内也不能,因此 301 重定向不会这样做。
现在我所拥有的是针对语言和地区的 URL - 这里是摘录:
- myapp.com/zh-cn/xyz
- myapp.com/zh-CN/xyz
- myapp.com/es-mx/xyz
- myapp.com/he-il/xyz
- myapp.com/hi-in/xyz
一切都很好,除了我需要英语美国版本,这是默认的语言和地区,不会出现在 URL 中。
- zh-CN:myapp.com/xyz --> 默认语言(预期:无语言环境!)
- zh-CN:myapp.com/zh-gb/xyz
- es-MX: myapp.com/es-mx/xyz
- he-IL:myapp.com/he-il/xyz
- hi-IN: myapp.com/hi-in/xyz
我已经浏览了可用的资源,但找不到任何东西:
非常感谢任何指针或可能的解决方案!
【问题讨论】:
-
查看github.com/enriclluelles/route_translator 或者只是将路线的区域设置部分设为可选。
标签: ruby-on-rails internationalization rails-i18n ruby-on-rails-6