`

rails国际化i18n

    博客分类:
  • RUBY
阅读更多
routes.rb中添加:

map.filter :locale



initializers中配置:

# encoding: utf-8

I18n.default_locale = :en

require 'i18n/backend/fallbacks'

# We use AR for geographical places. 
# We're not chaining it though because the database is queries all the time.
# Would be nice to have a Backend::Chain version that stops at the first find.
# So see app/helpers/reports* and app/views/*geographic*
require 'i18n/backend/active_record'

I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)

LANGUAGES = [
  ['English', 'en'],
  ['简体中文', 'zh-cn']
]



ApplicationController配置:

before_filter :set_locale_from_url

def set_locale_from_url
    params[:locale] = params[:new_locale] || params[:locale]
    if params[:locale]
      if I18n.available_locales.include?(params[:locale].to_sym)
        I18n.locale = params[:locale]
      else
        flash[:notice] = "#{params[:locale]} " + t('application.flash2_notice')
      end
    end
  end



前端切换:

<%= link_to t('.english'), "#", :onclick => "change_lang('en')", :class=>"#{I18n.locale.to_s=='zh-cn' ? '' : 'underscore'}" %> 
<span class="divider"> | </span>
<%= link_to t('.simplified_chinese'), "#", :onclick => "change_lang('zh-cn')", :class=>"#{I18n.locale.to_s=='zh-cn' ? 'underscore' : ''}" %>

var change_lang =function(value) {
     var tmp = request_path.split("/"); tmp[1] = value;
     location.href=tmp.join("/");
      };

0
0
分享到:
评论

相关推荐

    Ruby-i18nRuby的国际化和本地化的解决方案

    Ruby-i18n是Ruby语言中的一个核心库,专门用于实现国际化(Internationalization,简称i18n)和本地化(Localization,简称l10n)功能。在软件开发过程中,尤其是在面向全球用户的应用中,i18n和l10n是至关重要的,...

    i18n:Ruby的国际化(i18n)库

    Ruby国际化和本地化(i18n)解决方案。 目前由@radar维护。 用法 滑轨 您将最常在Rails应用程序中使用此库。 用法的示例, 。 Ruby(无Rails) 如果要在没有Rails的情况下使用此库,则只需将i18n添加到Gemfile ...

    Ruby的国际化(i18n)库-Ruby开发

    有关e Ruby I18n的Ruby国际化和本地化(i18n)解决方案,请参见《 Rails指南》。 目前由@radar维护。 使用Rails最常见的是在Rails应用程序中使用此库。 有关用法的示例,请参见《 Rails指南》。 Ruby(不带Rails)...

    i18n_linter:Rails i18n Linter宝石

    I18nLinter ...只需在Ruby on Rails项目的文件夹中输入i18n_linter ,然后观察可以国际化的字符串即可。 注意:仅报告ruby文件中的字符串。 $ cd my/ruby_on_rails/project $ i18n_linter [options]

    rails国际化

    10. **最佳实践**:保持翻译文件的整洁和模块化,避免硬编码文本,定期更新和维护翻译,这些都是Rails国际化开发中的良好实践。 通过上述步骤,你可以有效地在Rails应用中实现国际化,提供多语言支持。同时,利用...

    devise-i18n, 设计 gem的翻译.zip

    devise-i18n, 设计 gem的翻译 devise-i18n 设计"是一种基于warden的Rails 灵活... 国际化( aka i18n ) 是一个"计算机软件适应不同语言。区域差异和目标市场技术要求的方法"。在控制器。模型和其他领域中支持 i18n,但它

    sublime-text-i18n-rails:用于Rails国际化的Sublime Text 23软件包

    该软件包旨在帮助您创建Rails国际化密钥。 Sublime Text 2版本不再使用新功能进行更新; 您仍然可以从Package Control下载它,也可以在找到它。 可用命令 1.检查按键 如果要检查*.yml文件中存在哪些键,则可以打开...

    Ruby-MailForm直接从Rails的表单发送电子邮件支持I18n验证附件和请求信息

    MailForm库是专门为简化这一过程而设计的,它允许开发者直接从Rails的表单中发送邮件,并且提供了I18n(国际化)支持、验证功能以及添加附件和请求信息的能力。这个库由Plataformatec开发,其最新版本为bd43996。 ...

    i18n-bamboo:通过猴子修补 Rails I18n 模块来帮助开发,以始终返回所有可用语言环境中最长的翻译或本地化值

    I18n:Bamboo monkey 修补 Rails I18n 模块,并将强制所有对 I18n.translate (I18n.t) 和 I18n.localize (I18n.l) 的调用返回所有可用语言环境中最长的翻译或本地化值。 出于显而易见的原因(猴子补丁 :anxious_face...

    Struts2和Rails的国际化实现

    Rails是基于Ruby的Web框架,它提供了非常简洁的国际化(i18n)API。以下是如何在Rails中实现国际化: 1. **创建翻译文件**:在`config/locales`目录下,为每种语言创建一个对应的YAML文件,例如`en.yml`(英语)和`...

    Ruby-Localer自动检测丢失的I18n翻译工具

    Ruby-Localer是一款专为Ruby开发设计的自动化工具,用于检测和管理应用程序中的I18n(国际化)翻译。在软件开发中,I18n是确保应用能在不同语言环境中正常运行的关键步骤,它允许开发者将文本从源代码中分离出来,...

    Ruby-R18n是一个i18n工具用于将Ruby应用程序翻译成多种语言

    Ruby-R18n是Ruby开发领域的一个重要工具,专门用于实现国际化(i18n)功能,使得开发者能够轻松地将他们的应用程序翻译成不同语言,以满足全球用户的需求。i18n是一个广泛应用于软件行业的术语,代表...

    Ruby-ShowFor快速显示具有I18n特性的模型信息

    `ShowFor`是Ruby社区中一个实用的库,旨在简化在视图层展示模型信息的过程,尤其是对于拥有国际化(I18n)特性的应用,`ShowFor`提供了一种优雅的解决方案。 `ShowFor`的核心功能在于能够快速构建出模型信息的展示...

    Ruby-i18ntasks可以帮助您找到并管理缺失和未使用的翻译

    它利用了Ruby on Rails的I18n框架,通过自动化的方式来检测和解决国际化问题。以下是i18n-tasks的一些主要特性: 1. **缺失翻译检测**:i18n-tasks可以扫描代码库,找出尚未被翻译的字符串,这些通常是由于新添加的...

    devise-i18n-views:I18n对设计视图的支持

    devise-i18n-views确实增加了对视图国际化的支持,并提供了翻译。 先决条件 在没有情况下使用devise-i18n-views是没有意义的,因此请认为这是先决条件。 devise-i18n-views包含与Devise v2及更高版本兼容的视图。 ...

    friendly-locale:Xamarin和.NET的简单跨平台国际化。 本地化类似于Ruby On Rails-http:guides.rubyonrails.orgi18n.html(测试版)

    标题中的“friendly-locale”项目是一个专为Xamarin和.NET框架设计的轻量级、跨平台的国际化解决方案,它的设计灵感来源于Ruby on Rails的i18n(国际化)机制。这个项目的目的是简化移动应用和桌面应用的本地化过程...

    spree_i18n:Spree Commerce的I18n转换文件

    狂欢国际化 这是的国际化项目有关更多详细信息,请参见。 翻译愉快! 使用以下命令将此扩展名添加到您的Gemfile中:狂欢&gt; = 3.1 gem 'spree_i18n' , github : 'spree-contrib/spree_i18n'Spree 3.0和Spree 2.x gem '...

    Ruby-Globalize构建在I18nAPIinRubyonRails之上添加模型翻译至ActiveRecord模型

    在开发多语言网站时,Globalize是一个不可或缺的工具,它扩展了Rails的内置I18n(国际化)API,为ActiveRecord模型提供了数据翻译功能。这个教程将深入探讨如何使用Globalize在Ruby on Rails项目中实现模型的国际化...

Global site tag (gtag.js) - Google Analytics