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("/");
};
分享到:
相关推荐
Ruby-i18n是Ruby语言中的一个核心库,专门用于实现国际化(Internationalization,简称i18n)和本地化(Localization,简称l10n)功能。在软件开发过程中,尤其是在面向全球用户的应用中,i18n和l10n是至关重要的,...
Ruby国际化和本地化(i18n)解决方案。 目前由@radar维护。 用法 滑轨 您将最常在Rails应用程序中使用此库。 用法的示例, 。 Ruby(无Rails) 如果要在没有Rails的情况下使用此库,则只需将i18n添加到Gemfile ...
有关e Ruby I18n的Ruby国际化和本地化(i18n)解决方案,请参见《 Rails指南》。 目前由@radar维护。 使用Rails最常见的是在Rails应用程序中使用此库。 有关用法的示例,请参见《 Rails指南》。 Ruby(不带Rails)...
I18nLinter ...只需在Ruby on Rails项目的文件夹中输入i18n_linter ,然后观察可以国际化的字符串即可。 注意:仅报告ruby文件中的字符串。 $ cd my/ruby_on_rails/project $ i18n_linter [options]
10. **最佳实践**:保持翻译文件的整洁和模块化,避免硬编码文本,定期更新和维护翻译,这些都是Rails国际化开发中的良好实践。 通过上述步骤,你可以有效地在Rails应用中实现国际化,提供多语言支持。同时,利用...
devise-i18n, 设计 gem的翻译 devise-i18n 设计"是一种基于warden的Rails 灵活... 国际化( aka i18n ) 是一个"计算机软件适应不同语言。区域差异和目标市场技术要求的方法"。在控制器。模型和其他领域中支持 i18n,但它
该软件包旨在帮助您创建Rails国际化密钥。 Sublime Text 2版本不再使用新功能进行更新; 您仍然可以从Package Control下载它,也可以在找到它。 可用命令 1.检查按键 如果要检查*.yml文件中存在哪些键,则可以打开...
MailForm库是专门为简化这一过程而设计的,它允许开发者直接从Rails的表单中发送邮件,并且提供了I18n(国际化)支持、验证功能以及添加附件和请求信息的能力。这个库由Plataformatec开发,其最新版本为bd43996。 ...
I18n:Bamboo monkey 修补 Rails I18n 模块,并将强制所有对 I18n.translate (I18n.t) 和 I18n.localize (I18n.l) 的调用返回所有可用语言环境中最长的翻译或本地化值。 出于显而易见的原因(猴子补丁 :anxious_face...
Rails是基于Ruby的Web框架,它提供了非常简洁的国际化(i18n)API。以下是如何在Rails中实现国际化: 1. **创建翻译文件**:在`config/locales`目录下,为每种语言创建一个对应的YAML文件,例如`en.yml`(英语)和`...
Ruby-Localer是一款专为Ruby开发设计的自动化工具,用于检测和管理应用程序中的I18n(国际化)翻译。在软件开发中,I18n是确保应用能在不同语言环境中正常运行的关键步骤,它允许开发者将文本从源代码中分离出来,...
Ruby-R18n是Ruby开发领域的一个重要工具,专门用于实现国际化(i18n)功能,使得开发者能够轻松地将他们的应用程序翻译成不同语言,以满足全球用户的需求。i18n是一个广泛应用于软件行业的术语,代表...
`ShowFor`是Ruby社区中一个实用的库,旨在简化在视图层展示模型信息的过程,尤其是对于拥有国际化(I18n)特性的应用,`ShowFor`提供了一种优雅的解决方案。 `ShowFor`的核心功能在于能够快速构建出模型信息的展示...
它利用了Ruby on Rails的I18n框架,通过自动化的方式来检测和解决国际化问题。以下是i18n-tasks的一些主要特性: 1. **缺失翻译检测**:i18n-tasks可以扫描代码库,找出尚未被翻译的字符串,这些通常是由于新添加的...
devise-i18n-views确实增加了对视图国际化的支持,并提供了翻译。 先决条件 在没有情况下使用devise-i18n-views是没有意义的,因此请认为这是先决条件。 devise-i18n-views包含与Devise v2及更高版本兼容的视图。 ...
标题中的“friendly-locale”项目是一个专为Xamarin和.NET框架设计的轻量级、跨平台的国际化解决方案,它的设计灵感来源于Ruby on Rails的i18n(国际化)机制。这个项目的目的是简化移动应用和桌面应用的本地化过程...
狂欢国际化 这是的国际化项目有关更多详细信息,请参见。 翻译愉快! 使用以下命令将此扩展名添加到您的Gemfile中:狂欢> = 3.1 gem 'spree_i18n' , github : 'spree-contrib/spree_i18n'Spree 3.0和Spree 2.x gem '...
在开发多语言网站时,Globalize是一个不可或缺的工具,它扩展了Rails的内置I18n(国际化)API,为ActiveRecord模型提供了数据翻译功能。这个教程将深入探讨如何使用Globalize在Ruby on Rails项目中实现模型的国际化...