Rails 4 i18n,如何翻译子域用于语言环境的路由

 建中姿吟7523 发布于 2023-02-12 07:55

我正在使用子域来确定Rails 4网站中的区域设置.我有一个完全按照我想要的方式使用区域设置切换器,但现在我需要翻译路线,我不确定最好的方法.

我查看了https://github.com/kwi/i18n_routing i18n路由gem,但这不适用于子域,它似乎通过添加/ locale来改变路径,这不是我需要的.

其他宝石似乎与Rails 4过时了.

编辑

基本上我希望能够使用相同的视图助手,但是更改URL以使用所选子域反映的任何语言.这只是路线翻译.

我有语言特定的模板,我可以生成语言的导航模板,但我真的不想担心改变erb路径和url erb标签

结束编辑

来自routes.rb的示例

scope module: 'countries', shallow: true do

  get 'south_american', to: 'south_america#index', as: :south_america
  scope module: 'south_america' do
    get 'south-america-weather', to: 'weather#index', as: :south_america_weather
    get 'south-america-gps-maps', to: 'gps#index', as: :south_america_gps
    get 'south-america-accommodation', to: 'hotels#index', as: :south_america_hotels
    get 'south-america-vacations', to: 'vacations#index', as: :south_america_vacations
    get 'south-america-facts', to: 'facts#index', as: :south_america_facts
  end

以south_america_hotels_path为例,将生成一个url

南美 - 住宿

这很好,但我怎么翻译这个,以便当我在西班牙子域名south_america_hotels_path时将生成以下网址

酒店预订烯sudamerica

UPDATE

此外,这对于一个url而不仅仅是一个路径是如何工作的,以便生成south_america_hotels_url

en.some_site /南美,住宿

当我在西班牙的子域上时,我会得到

es.some_site /酒店预订烯sudamerica

对于涉及的不同语言环境等等.

我很乐意使用yml文件进行url的翻译或在routes.rb文件中定义其他路由,或者是一个选项,但我更喜欢在routes.rb中定义url,但我无法找到提供相同语言特定URL的方法:作为基于子域的路径/ url选项.

针对先前的答复进行更新和进一步澄清.

更改网址不是一个选项,他们需要匹配现有的网址.我只需要知道如何从视图助手的角度转换它们,而不必更改视图助手.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有