Tag: rails i18n

全局化rails中的文件(附件,图像)

我们可以使用globalize gem来全局化模型中的文本字段。 对于员工的全球化(翻译)’指定’属性,我们使用translates :designation员工模型中的translates :designation , employee.translations打印员工对象的翻译(每个支持的语言环境的一个对象,在相应的语言环境中指定)。 我有一个特定于模型的属性(员工的图像),它是一个回形针附件。 需要全局化图像,以便employee.image将为默认区域设置(:en)提供实际图像, employee.image.translations将返回图像的所有翻译(每个支持的区域设置的一个图像/回形针附件) 如何全球化铁轨中的回形针附件?

将语言环境添加到rails4中的Singular控制器

我有一个单一的控制器,我想添加区域设置。 看起来像 class AboutController < ApplicationController def home end def markdown_syntax end end 我的about.en.yml看起来像 en: about: home: discover_message: ‘Discover, Track and Compare Open Source’ join_now: ‘Join Now’ whats_new: “What’s New” popular_projects: ‘Most Popular Projects’ active_projects: ‘Most Active Projects’ 我正在获得翻译缺失错误,因为它无法从about.en.yml识别 错误信息: translation missing: en.about.home.discover_message

升级到ruby 2.3.0 NameError:uninitialized constant I18n :: Config :: Backend

我刚刚将Ruby 2.2.2升级到2.3.0。 每当我运行rake任务时,我都会收到以下错误: Christians-Air:my_rails_app cman77$ rake –trace rake aborted! NameError: uninitialized constant I18n::Config::Backend /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/i18n-0.7.0/lib/i18n/config.rb:19:in `backend’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/i18n-0.7.0/lib/i18n.rb:147:in `translate’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/actionview-4.2.6/lib/action_view/helpers/translation_helper.rb:69:in `translate’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/i18n-0.7.0/lib/i18n/config.rb:19:in `backend’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/i18n-0.7.0/lib/i18n.rb:147:in `translate’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/actionview-4.2.6/lib/action_view/helpers/translation_helper.rb:69:in `translate’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/railties-4.2.6/lib/rails/engine.rb:658:in `block in run_tasks_blocks’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/railties-4.2.6/lib/rails/engine.rb:658:in `each’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/railties-4.2.6/lib/rails/engine.rb:658:in `run_tasks_blocks’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/railties-4.2.6/lib/rails/application.rb:452:in `run_tasks_blocks’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/railties-4.2.6/lib/rails/engine.rb:453:in `load_tasks’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/railties-4.2.6/lib/rails/railtie.rb:194:in `public_send’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/railties-4.2.6/lib/rails/railtie.rb:194:in `method_missing’ /Users/cman77/Dropbox/rails_projects/my_rails_app/Rakefile:9:in `’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/rake-11.1.2/lib/rake/rake_module.rb:28:in `load’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/rake-11.1.2/lib/rake/rake_module.rb:28:in `load_rakefile’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/rake-11.1.2/lib/rake/application.rb:689:in `raw_load_rakefile’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/rake-11.1.2/lib/rake/application.rb:94:in `block in load_rakefile’ /Users/cman77/.rvm/gems/ruby-2.3.0@jbio.3.0/gems/rake-11.1.2/lib/rake/application.rb:176:in `standard_exception_handling’ […]

Rails I18n翻译范围

编写完全翻译的应用程序可能会变得乏味。 有没有办法为当前上下文设置默认转换范围? 示例:我正在我的ProjectsController的show.html.erb操作中写入部分_deadlines.html.erb 现在,因为我想成为一名优秀的程序员,所以我的所有翻译都是如此。 我想生成以下树 projects: deadlines: now: “Hurry the deadline is today !” …. 我怎样才能比每次写完整个范围时更省力? 项目/ show.html.erb … … 从show.html.erb调用的projects / _deadlines.html.erb Deadline : 有没有办法为当前上下文设置默认范围(这里是整个_deadlines.html.erb文件)? 编辑 有些人建议使用Rails Lazy查找 ,但这不会产生我正在寻找的范围。 在我的情况下,我想跳过action默认范围(显示,索引等…)并为我正在呈现的当前部分添加范围(在我的情况下为_deadlines.html.erb) Rails懒惰查找: t(‘.now’) t(:now, scope: [:projects, :show] 但我想: t(‘.now’) t(:now, scope: [:projects, :deadlines]

如何动态地向I18n添加值?

我的rails应用程序中有很多ymls,我想将其中一些用于其他服务,以便我可以从多个地方调用它。 这个调用的响应将是一个哈希。 {“en” : {“test” : {“text1” : “hi english”}, {“text2” : “mambo number %{num}”} }, “es” : {“test” : {“text1” : “hi espaniol”}, {“text2” : “mamboes numeros %{num}”} } } 有没有办法可以将这个哈希加载到I18n翻译中 I18n.add_translations(some_hash) 所以我可以访问它们 I18n.t(“test.text1”) I18n.t(“test.text2”, :num => 5) 我怎么能实现它?

bundler安装获取“i18n需要Ruby版本> = 1.9.3”

我怎么能纠正这个“i18n需要Ruby版本> = 1.9.3”我在运行“bundler install”时得到了什么? 背景:需要在dreamhost上使用ruby 1.8.7,所以为此针对Rails v3.2。 命令行 Gregs-MacBook-Pro:weekends Greg$ ruby -v ruby 1.8.7 (2013-12-22 patchlevel 375) [i686-darwin14.1.0] Gregs-MacBook-Pro:weekends Greg$ bundler -v Bundler version 1.9.2 Gregs-MacBook-Pro:weekends Greg$ bundler install Fetching gem metadata from https://rubygems.org/………. Fetching version metadata from https://rubygems.org/… Fetching dependency metadata from https://rubygems.org/.. Resolving dependencies………… Using rake 10.4.2 Gem::InstallError: i18n requires Ruby version >= […]

为什么单词’translate’会弄乱irb?

我不明白为什么我的方法translate undefines start_with? 方法,并在irb中搞乱一些东西,所以我只能通过按Ctrl + d退出irb,而不是exit或quit : >> “hello”.respond_to?(:start_with?) => true >> def translate(string) >> if string.start_with?(“a”, “e”, “i”, “o”, “u”) >> string += “ay” >> end >> end NoMethodError: undefined method `start_with?’ for # from (irb):3:in `translate’ from /usr/local/rvm/rubies/ruby-2.3.0/bin/irb:11:in `’ >> “hello”.respond_to?(:start_with?) NoMethodError: undefined method `start_with?’ for :RubyVM::InstructionSequence from (irb):3:in `translate’ from /usr/local/rvm/rubies/ruby-2.3.0/bin/irb:11:in `’ […]