草庐IT

ruby-on-rails - rails 5 : How do I reference I18n translations from another yaml config file?

我有一个配置文件:#config/meta.ymlbase_meta:title:'Top10Cats'它有一个对应的初始化器:#config/initializers/meta.rbMETA=YAML.load_file("#{Rails.root.to_s}/config/meta.yml")我可以像这样访问标题:META['base_meta']['title']#=>"Top10Cats"但是,我想国际化我的元数据。我相信这应该由现有的locales/yaml文件处理。如何引用现有翻译?#config/locales/en.ymlen:title:'Top10Cats'我试过使

ruby-on-rails - 如何将 key 添加到 I18n 以进行测试?

我正在开发Rails应用程序中的一项功能,该功能依赖于特定于区域设置的信息。在测试中,我想证明某些行为取决于语言环境包含的内容。如何动态添加或编辑翻译以供I18n.t在测试中使用? 最佳答案 I18n.backend.store_translations#WilladdakeyoroverwritetheexistingvalueI18n.backend.store_translations("en",{cat:"cat"})I18n.backend.store_translations("es",{cat:"gato"})I18n

ruby-on-rails - Ruby I18n 替代品

世界上有任何I18n替代品吗?我只是不喜欢I18n存储翻译键的方式。我想像Magento一样存储和使用它们-例如,key只是一个我想使用英语语言环境显示的字符串。因此,当我想翻译它时,我只需提供具有正确语言环境名称(nl_NL.csv)的文件以及简单的键值格式,其中键是我想要的英文字符串翻译成荷兰语(在nl_NL语言环境的情况下),值是我的短语的荷兰语模拟。如果Magento没有找到翻译文件或翻译key-它会显示key本身。虽然键是英文短语,但我的HTMl将“退回到”英文语言环境。我已经看到一些方法可以覆盖默认的I18n行为(fast-gettextgem或自定义I18n后端),但是没

ruby-on-rails - 在 rails 2.3.18 中使用邮件 gem 发送邮件

我在rails2.3.18中使用邮件gemclassEnglish"multipart/alternative"do|alt|alt.part"text/plain"do|plain|plain.body"hello"endendattachment:body=>"test",:filename=>'추적_.pdf'endend当我发送电子邮件时,如果文件名不是英文的,文件名就会损坏当它是非英文字符时我工作得很好邮件对象看起来像这样:#,,,>,,,,>mail.parts[#,>,,,>,#,>,,,,>]这里的文件名是正确的,但是当我发送电子邮件时使用smtp.sendmail(m

ruby-on-rails - 带有翻译模型名称的 Rails i18n

在我的应用程序中,我想翻译验证错误行:“3个错误禁止保存此订单”。显然,这可以通用化以适应所有使用此翻译的模型,因此在我的de.yml语言环境模板中,我得到了activerecord.errors.template.header,如下所示:activerecord:errors:template:header:one:"Konnte%{model}nichtspeichern:einFehler."other:"Konnte%{model}nichtspeichern:%{count}Fehler."现在的问题是如何在不重复我自己的情况下调用此验证。显然你可以简单地通过以下方式调用它:

ruby-on-rails - bundler 安装获取 "i18n requires Ruby version >= 1.9.3"

如何更正我在运行“bundlerinstall”时收到的“i18n需要Ruby版本>=1.9.3”?背景:需要在dreamhost上使用ruby​​1.8.7,因此为此目标定位了Railsv3.2。命令行Gregs-MacBook-Pro:weekendsGreg$ruby-vruby1.8.7(2013-12-22patchlevel375)[i686-darwin14.1.0]Gregs-MacBook-Pro:weekendsGreg$bundler-vBundlerversion1.9.2Gregs-MacBook-Pro:weekendsGreg$bundlerinstall

ruby - 你如何挽救 I18n::MissingTranslationData?

我希望能够像这样拯救I18n::MissingTranslationData:beginvalue=I18n.t('some.key.that.does.not.exist')putsvaluereturnvalueifvaluerescueI18n::MissingTranslationDataputs"Kaboom!"end我试过上面的方法,但它似乎没有进入救援block。我刚看到,在我的控制台上(因为puts):translationmissing:some.key.that.does.not.exist。我从未见过Kaboom!。我如何让它工作? 最

javascript - i18n-js 翻译不更新 .yml 中的其他翻译

我已经读了好几天了,但似乎没有任何效果。我看过很多关于这个问题的文档,但没有一个解决方法对我有用。我有:Rails5.0.1*sprockets(3.7.1)*sprockets-rails(3.2.0)*i18n(0.7.0)*i18n-js(3.0.0.rc15)配置/i18n-js.ymltranslations:-file:"app/assets/javascripts/application/i18n/translations.js"only:'*.js*'配置/应用程序.rbconfig.middleware.useI18n::JS::Middleware当我将新的翻译添加

ruby-on-rails - 我应该如何以 DRY 和数据库有效的方式存储本地化值 - Ruby on Rails/i18n

在ActiveRecord模型中维护多语言值的推荐方法是什么。我正在考虑升级我们的数据库架构和对象模型,以实现许多值(value)的广泛国际化,并且我正在权衡各种方法来实现这一目标。标准rails-i18nsystem对此基本上保持沉默,尽管除了View中的文本之外,它还提供了用于国际化字段和模型名称的强大工具。R18ngem允许您使用存储本地化字符串的列重载数据库,并根据区域设置显示正确的值。这带来了几个问题。假设我们正在谈论一个模型Sport—数据库表sports。我们需要能够搜索Sport.where(name:'soccer'),即使在英国他们称之为“football”,所以查

ruby-on-rails - Rails I18n 翻译范围

编写完全翻译的应用程序可能会变得乏味。有没有办法为当前上下文设置默认翻译范围?示例:我在我的ProjectsControllershow.html.erb操作中的部分_deadlines.html.erb中写入p>现在因为我想成为一名优秀的程序员,所以我正在确定我所有翻译的范围。我想生成下面的树projects:deadlines:now:"Hurrythedeadlineistoday!"....我怎样才能让它比每次都写整个范围更不乏味?projects/show.html.erb......projects/_deadlines.html.erb从show.html.erb调用De