标签: rails-i18n

如何本地化 ActiveModel::错误消息

当我验证模型时,出现以下错误

<ActiveModel::Errors:0x007ffecf1c9460 
@base=#<Post id: nil, created_at: nil, label_id: nil, user_id: 3>,
@messages={:label=>["can't be blank"]},
@details={:label=>[{:error=>:blank}]}>
Run Code Online (Sandbox Code Playgroud)

如何自定义错误消息?

根据我的理解,以下应该有效

en:
  activerecord:
    errors:
      models:
        post:
          attributes:
            label:
              blank: do not like it
Run Code Online (Sandbox Code Playgroud)

但是,我仍然收到默认错误消息。

ruby-on-rails rails-i18n ruby-on-rails-5 ruby-on-rails-6

2
推荐指数
1
解决办法
1457
查看次数

如何在 ActiveRecord 之外将 I18N 翻译与 ActiveModel::Validations 一起使用?

Rails 指南提供的 I18n 范围特定于ActiveModel::Validations内部ActiveRecord对象的使用。例如:

\n\n
en:\n  activerecord:\n    errors:\n      models:\n        some_model:\n          attributes:\n            name:\n              blank: "Please enter your full legal name."\n
Run Code Online (Sandbox Code Playgroud)\n\n

ActiveModel::Validations以这种方式使用时,这将不起作用:

\n\n
class SomeModel\n  include ActiveModel::Validations\n  validates :name, presence: true\nend\n
Run Code Online (Sandbox Code Playgroud)\n\n

相反,使用框架默认值“\xe2\x80\x9ccan\t be Blank”。

\n\n

如何解决这个问题?

\n

ruby ruby-on-rails activemodel rails-i18n

2
推荐指数
1
解决办法
1039
查看次数

更改 simple_form 提交按钮 i18n 文本

这是我的代码:

\n\n
<%= simple_form_for [:backend, @department] do |f| %>\n  <%= f.input :parentid, input_html: { class: \'form-control\' } %>\n  <%= f.input :name, input_html: { class: \'form-control\' }  %>\n  <%= f.button :submit %>\n<% end %>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的表单,我想更改提交文本,现在文本是create department,所以我尝试:

\n\n
zh-CN:\n  simple_form:\n    helpers:\n      submit:\n        department:\n          create: "\xe6\x96\xb0\xe5\xbb\xba\xe9\x83\xa8\xe9\x97\xa8"\n          update: "\xe4\xbf\x9d\xe5\xad\x98\xe7\xbc\x96\xe8\xbe\x91"\n
Run Code Online (Sandbox Code Playgroud)\n\n

但一切都没有改变。我怎样才能改变它?

\n

ruby-on-rails simple-form rails-i18n

1
推荐指数
1
解决办法
2611
查看次数

使用I18n语言环境的Rails语言名称

我想将语言环境代码与特定语言名称匹配.在I18n/rails中是否有任何构建功能可以将语言名称返回到相应的语言环境.安装宝石是唯一的方法吗?

ruby ruby-on-rails rails-i18n

1
推荐指数
1
解决办法
1849
查看次数

西班牙语翻译的 I18n 本地化时间格式

我正在使用 I18n 本地化 Rails 应用程序,并且遇到了涉及使用 I18n 时间格式的情况。

显示的日期和时间格式如下:"Tuesday, July 11, 2017"对于 time :2017-07-11 12:30:00 +0530

为了本地化,我正在使用en.ymles.yml两种时间格式,如下所示:

 en:
  time:
   formats:
     long: '%A, %B %d, %Y'
     short: '%b %d, %Y'
Run Code Online (Sandbox Code Playgroud)

在我使用的模型中I18n.l(raw_date.to_time, format: :long),这对于英语和结果来说效果很好"Tuesday, July 11, 2017",但对于西班牙语,它的返回如下:"a, t 11, 2017"

西班牙语的日期时间格式是什么才能获得与英语相同的结果。任何帮助,将不胜感激 :)

ruby ruby-on-rails time-format rails-i18n

1
推荐指数
1
解决办法
3493
查看次数

Rails:翻译缺失错误

我正在尝试学习 ruby​​ on Rails。在进行国际化时,我收到错误:

翻译缺失:en.store.index.title_html

下面是我的en.yml文件

en:
  layouts:
    application: 
      title: "Pragmatic book shelf"
      home: "Home"
      questions: "Questions"
      news: "News"
      contact: "Contact"

  store:
    index:
    title_html: "Your Pragmatic Catalog" 
    add_html: "Add to Cart"
Run Code Online (Sandbox Code Playgroud)

我搜索了解决方案,它说只允许 en.yml 文件中的空格。它已经写好了,只有空格。任何帮助将不胜感激。

ruby ruby-on-rails rails-i18n

1
推荐指数
1
解决办法
1万
查看次数

rails-i18n不适用于头错误

我使用的轨道,国际化的宝石:hr我的主要语言.

宝石有效,但header message事实并非如此.

(4 errors prohibited this list from being saved:部分)

这是我提交带有无效属性的表单时得到的结果:

4 errors prohibited this list from being saved:             #doesn't translate
    Field1 ne smije biti prazan                              #translates/presence
    Field2 ne smije biti prazan                              #translates/presence
    Field3 ne smije biti prazan                              #translates/presence
    Filed4 nije odgovaraju?e duljine (treba biti 11 znakova) #translates/length
Run Code Online (Sandbox Code Playgroud)

至于代码,我只添加config.i18n.default_locale = :hrconfig/application.rb.

在文档中说:

以下语言环境已完成:

bs,da,en,en-US,es-PA,hr,is,ja,nl,sr,ur,zh-HK

使用其他语言环境进行测试但仍未翻译该4 errors prohibited this list from being saved:部分.

我做错了什么或者 …

ruby-on-rails rails-i18n ruby-on-rails-4

0
推荐指数
1
解决办法
933
查看次数