`

Rails i18n多国语言

阅读更多
1.下载本地化文件
    下载地址:https://github.com/svenfuchs/rails-i18n
    将en-US.yml,zh-CN.yml文件拷到config/locals目录下,同时创建en.yml,zh.yml文件(项目本地化数据文件)
   
2.设置加载路径和默认语言
    a.设置加载路径
      默认情况下rails会加载lcoals目录下的所有.rb,.yml文件,你也可以设置自己的加载路径,rails默认不会load层级目录中的文件
     
config.i18n.load_path += Dir[Rails.root.join('my', 'locales','*.{rb,yml}')]
      I18n.load_path << locale_path

    b.默认语言
     
config.i18n.default_locale = :en

3.基本的使用方法
配置:
   zh:
     controller:
        defaults:         # 所有页面公用的值
           success: 成功
           warn:  警告
        i18n:
           text:
              tip: %{num} 你想制作一本自己写的Java书籍

输出:
     <%= t(:tip, :scope => "controller.i18n.text",:num => '1') %></li>
     <%= t(:tip, :scope => "controller.#{controller_name}.text",:num => '2')%>
     <%= t("controller.i18n.text.tip",:num => '3') %>
     <%= t(:text,:default => '默认值',:num => '4') %>
     # 1 你想制作一本自己写的Java书籍
     # 2 你想制作一本自己写的Java书籍
     # 3 你想制作一本自己写的Java书籍
     # I am default value

更多参看:http://guides.rubyonrails.org/i18n.html
4.切换多语言
   before_filter :set_locale
  			
   def set_locale
    session[:locale] = params[:locale] if params[:locale]
    I18n.locale = session[:locale] || I18n.default_locale
    ....
   end

5.i18n特性
   a.传入的keys即可以是符号也可以是字符串
     
 
       I18n.t :message
       I18n.t 'message'

   b. scope
      
I18n.t :record_invalid, :scope => [:activerecord, :errors, :messages]
       I18n.translate "activerecord.errors.messages.record_invalid"
       I18n.t 'activerecord.errors.messages.record_invalid'
       I18n.t 'errors.messages.record_invalid', :scope => :active_record
       I18n.t :record_invalid, :scope => 'activerecord.errors.messages'
       I18n.t :record_invalid, :scope => [:activerecord, :errors, :messages]


   3.defaults
    
I18n.t :missing, :default => 'Not here'# => 'Not here'



更多参考:http://www.cnblogs.com/orez88/articles/1537780.html
          http://ihower.tw/rails2/rails-i18n.html
   
   
分享到:
评论

相关推荐

    i18n:轻量级库,可在Javascript上提供I18n翻译

    百济I18n 这是一个小库,可以在JavaScript上提供Rails I18n的翻译。 从借来的特征: 多元化日期/时间本地化号码本地化语言环境回退资产管道支持还有更多! :)用法安装通过NPM npm install baiji-i18n 运行npm ...

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

    通过理解和掌握Ruby-i18n库,开发者可以轻松地构建支持多语言的Ruby应用程序,满足全球用户的使用需求。无论是简单的文本翻译还是复杂的本地化逻辑,Ruby-i18n都提供了强大的支持,让开发者可以专注于核心业务逻辑,...

    i18n-js:这是一个小库,可以在Javascript上提供I18n翻译。 它带有Rails支持

    这是一个小库,可以在JavaScript上提供Rails I18n的翻译。 特征: 多元化 日期/时间本地化 号码本地化 语言环境回退 资产管道支持 还有更多! :) 版本公告 main分支(包括此README)适用于最新的3.0.0而不是2.x ...

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

    总的来说,Ruby-R18n是Ruby开发中实现多语言支持的强大工具,它简化了i18n的过程,使开发者能够专注于应用的核心功能,同时确保应用对全球用户友好。通过深入理解和有效利用R18n,开发者可以创建具有高度可扩展性和...

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

    在软件开发中,I18n是确保应用能在不同语言环境中正常运行的关键步骤,它允许开发者将文本从源代码中分离出来,以便进行多语言翻译。Localer致力于解决在I18n过程中可能出现的翻译丢失问题,提升开发效率和产品质量...

    i18n-js-6bfdcd7e14df-mirror:这是已删除的i18n-js文件的副本

    I18n.js 这是一个小库,可以在Javascript上提供Rails I18n的翻译。 这是I18n旧版本的副本文件,该文件已被删除原始URL。 特征: 多元化日期/时间本地化号码本地化语言环境回退资产管道支持还有更多! :)用法安装...

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

    在Ruby中,I18n通常通过`I18n`库实现,允许开发者定义多语言的翻译文件,以支持全球化的用户体验。`ShowFor`库很好地整合了I18n,使得模型展示的信息可以根据用户的语言环境自动切换。 使用`ShowFor`时,首先需要在...

    i18n-verify:帮助您为Ruby on Rails项目查找密钥,未定义翻译,重复密钥等的工具

    用法i18n-verify是一组rake任务: rake i18n:find_key查找密钥rake i18n:is_complete用于检查翻译是否完成rake i18n:duplicates对于任何给定的语言环境而言,查找具有多个翻译的键的rake i18n:duplicates项rake i18n...

    gitlab-i18n-patch, Unofficial Japanese translation for GitLab Community Edition..zip

    "gitlab-i18n-patch" 是针对 GitLab 社区版的一个非官方的日语翻译补丁,旨在为日本用户提供更友好的本地化体验。 在开源世界中,多语言支持是至关重要的,因为这能够吸引全球范围内的用户和贡献者。GitLab-i18n-...

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

    这个工具的核心功能是帮助开发者找出项目中的缺失翻译以及未被使用的翻译,确保多语言支持的高效性和准确性。在本文中,我们将深入探讨i18n-tasks的基本概念、安装、配置、使用方法以及它如何改善您的Ruby项目的国际...

    rails国际化

    Rails是Ruby on Rails框架的简称,它是一种基于Ruby语言的开源Web开发框架,以其MVC(Model-View-Controller)架构模式...在实际开发中,不断学习和理解Rails的i18n机制,将有助于构建更加健壮且用户友好的多语言应用。

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

    总结来说,"friendly-locale"是一个针对Xamarin和.NET的国际化解决方案,它借鉴了Ruby on Rails的i18n理念,利用YAML文件存储翻译,并提供了一个方便的API来实现应用的多语言支持。通过理解和使用这个库,开发者可以...

    Struts2和Rails的国际化实现

    Struts2和Rails都是流行的Web开发框架,它们都提供了强大的功能来支持应用程序的国际化,使得开发者可以轻松地为不同语言的用户提供本地化体验。...尽管实现方式有所不同,但两者都极大地简化了Web应用的多语言支持。

    devise-i18n:devise gem的翻译

    devise-i18n “是基于Warden的Rails的灵活身份验证解决方案”。 国际化(aka i18n)是“使计算机软件适应... 如果要设置每个请求的区域设置(因为你的应用程序支持多个语言环境),该指南(使用建议的代码I18n.with_

    好用的rails 2.0 Api 文档

    Rails 2.0提供i18n模块,支持多语言应用。通过配置文件,可以方便地切换和管理不同语言的文本。 综上所述,Rails 2.0 API文档包含了Rails框架的各个重要组件和概念,对于学习和使用Rails 2.0的开发者来说,是不可或...

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

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

    Ruby on Rails 指南 v5.0.1 中文版

    - **为Rails I18n作贡献**:鼓励社区成员为Rails的国际化功能贡献力量。 - **资源**:列出相关的资源链接。 - **作者**:列出指南的作者和贡献者。 #### ActionMailer基础 - **简介**:介绍ActionMailer模块的作用...

    iredmail 下载

    * i18n 是一个 Ruby 的国际化库,用于处理多语言问题 * 在 CentOS 6.4 系统下,安装 i18n 需要使用 RubyGems 在线安装 * i18n 的安装需要指定版本号 MySQL 的安装 * MySQL 是一个关系型数据库管理系统 * 在 ...

Global site tag (gtag.js) - Google Analytics