问题标签 [rails-i18n]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails-3 - 导轨。同时验证多个语言环境
我有一个具有两种语言环境的双语网站:en和ru。
我希望我的网站有 i18n。我使用“ globalize3 ”和“ easy_globalize3_accessors ”宝石。
我可以使用标准表格创建和编辑部门。语言环境由 URL:example.com/en/departments/
或example.com/ru/departments/
现在如果我想创建一个新的部门项目,我会看到这样的事情:
- 当前语言环境的主要形式 (I18n.locale)。
- 在同一页面上添加翻译的复选框。
- 如果复选框处于活动状态,则在主表单旁边显示另一个区域设置的另一个表单。
- 最重要的是——每个语言环境的验证必须不同。说,对于en它应该传递 ASCII 符号;对于ru——西里尔字母。
我的问题是第 4 号。我无法使用复选框进行验证。
主要问题是:复选框活动?如果是,请显示另一个表单并对其运行验证。如果否,则不显示任何内容并且不对该表单运行验证,将其传递为空。
现在,如果我填写两张表格,一切都会像魅力一样。
好的。我试过了。
模型
控制器
查看(new.haml.html)不带复选框
请帮助我了解我必须做什么。
ruby-on-rails-3.2 - rails-i18n translations seem to be not loaded
Stage:
I have a Rails 3.2 application, I add to my Gemfile
:
then I execute bundle install
.
In a view I request a i18n message, for example:
and in config/initializers/locate.rb
, I set default locate:
Problem:
What's wrong?
Is rails-i18n
not loaded right?
Test:
Let's add puts I18n.load_path
in config/initializers/locate.rb
file:
I18n.default_locale = :es I18n.available_locales = :es
puts I18n.load_path
and then restart application, asi you can see there are listed all path loaded:
In this list there is es
messages.
Again, what's wrong?
ruby-on-rails - Rails 引擎 ActiveRecord 模型 I18n
我有一个依赖于单独引擎(存储在 中vendor/engine_name
)的 Rails 应用程序。该引擎有一个 ActiveRecord 对象Bar
:
在该引擎的config/locales/en.yml
文件中,我尝试过:
我也试过:
和:
但无论如何,当我Foo::Bar.human_attribute_name("bar_attr")
从父应用程序调用时,我得到“Bar attr”(例如默认的人类属性名称)。请注意,Foo::Bar.model_name.human
当我尝试使用以下方法进行翻译时,也会出现同样的问题:
我不确定应用程序/引擎结构是否相关,因为我已经尝试了上述三个en.yml
父应用程序的翻译文件中尝试了上述三种格式,但没有运气。
为了使这些模型名称/属性正确翻译,我缺少什么?
ruby - 使用 i18n 进行 Ruby / RSpec 测试
我正在使用 rspec 为我的 iOS 应用程序执行测试,即测试是用 ruby 编写的。我可以将我的应用程序的语言更改为其他语言,因此我保持 ruby 测试脚本通用,以便我可以为任何语言运行它。
但是如何使用 rspec 为其他语言运行测试。我是 rspec/ruby 领域的新手,需要一些有关如何处理 i18n 以进行 rspec 测试的帮助/信息。如何检查我的应用程序现在使用的语言以及我想要运行测试的语言。
请建议。
rubygems - 未初始化的常量 i18n
我正在尝试使用 rspec 进行内部化测试,因此使用 i18n gem。
我看到我已经安装了 gem,但是在我的测试中我正在寻找 default_locale。我做了puts I18n.default_locale
我收到'Uninitialized constant I18n'
错误。
以前有没有人遇到过类似的错误?
ruby-on-rails - Rails 国际化翻译一个单词并附加到模型字段
我的翻译效果很好,但是当我尝试附加模型的一个字段时,我得到了错误:
这是代码:
这是错误:
问题是当我尝试附加模型字段时。但我在谷歌上找不到解决方案,我认为这不是一个选择:
在此先感谢您的帮助。
ruby-on-rails - 未翻译模型参数
摘自我的 config/locales/models/de.yml:
数据库中确切的意思是messages,只是验证错误的message而不是“Nachricht”写成“Messages”。有什么问题?
ruby-on-rails - 如何在 Ruby on Rails 上按格式翻译字符串?
我从外部 API 将一些字符串输入到我的数据库中,我想在显示用户之前翻译它们。我不想通过 globalize3 翻译每个对象,因为我要翻译的内容具有某种格式。
例如,我需要使用日期更改所有信息值:
“游戏从 22.08.2013 推迟”-> 日期更改但字符串相同。
我尝试使用字符串作为键,如果我没有变量它可以工作:
config/locale/tr.yml 文件
tr:
世界你好:“Merhaba Dunya”
导轨控制台
I18n.t("你好世界")
=> “梅尔哈巴杜尼亚”
如何使用带有变量的字符串作为键并获得翻译?
我想定义这个:
tr:
"比赛从 %{date} 推迟" => "Mac %{date} tarihinden ertelendi"
我想通过以下方式使用它:
I18n.t("比赛从 22.08.2013 推迟")
=> "Mac 22.08.2013 tarihinden ertelendi"
使用 I18n 可能不是我的情况的最佳解决方案,但我不知道如何解决这个问题。
ruby-on-rails - 如何将代码分配给应用程序自定义错误消息
如何在 Ruby on Rails 中为应用程序自定义错误消息提供代码。当用户看到错误时,他应该能够知道错误代码和消息。
例如,我想达到以下结果,以防出现相应的错误。
这是一个多语言应用程序。/config/locales/en.yml 中存在错误消息的翻译。我正在使用 i18n gem 进行翻译。这就是没有代码的错误消息的翻译方式。
ruby-on-rails-3.2 - i18n 路由到已安装的引擎 - 忽略语言环境
我有一个内置 i18n 支持的应用程序 (my_test_app)。目前,有两种语言文件可用,FR 和 EN,如果我在它们之间来回切换,一切正常,如我期望看到的非引擎功能,如用户索引/显示/编辑/删除 (ISED)选项。
在 my_test_app 中,我安装了一个 Rails 引擎(my_engine),它有一个控制器和模型集(engine_job)。所以,一个可行的 URL 应该是
然而,无论我选择哪种语言,它总是以 EN 显示。检查参数显示:
然而选择的翻译是EN。
my_test_app route.rb:
my_engine route.rb:
耙路线:
此外,在引擎中单击的任何链接都将语言设置为 EN。一些网络搜索并没有真正说明这里可能发生的事情,因为我能找到的所有 i18n 示例都不涉及已安装的引擎。
编辑:显示代码以设置默认语言环境 my_test_app/app/controllers/application_controller.rb:
/编辑
EDIT2(皮埃尔 8 月 9 日 15:59 建议更改后的路线图):
应用程序路由http://0.0.0.0:3000/en/users
产生"locale"=>"en"
. Helper 创建的引擎路线看起来像http://0.0.0.0:3000/my_engine?locale=en/engine_jobs
yields No route matches [GET] "/my_engine"
。
/EDIT2(Pierre 8 月 9 日 15:59 建议更改后的路线图)
所以,问题是我需要对我的路线或引擎进行哪些更改才能使其按预期工作?
提前感谢您的时间和建议!