首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >I18n::InvalidPluralizationData如何跟踪错误?

I18n::InvalidPluralizationData如何跟踪错误?
EN

Stack Overflow用户
提问于 2015-01-09 00:24:03
回答 1查看 369关注 0票数 1

我见过类似的帖子,但我仍然不知道我的错误是从哪里来的

我的I18n每次需要用法语进行复数时都会失败。每次这是一个类似的错误:计数

示例:translation data {:one=>"est trop court (au moins un caractère)", :other=>"est trop court (au moins %{count} caractères)"} can not be used with :count => 2

像这样的翻译也会出现其他错误(总是在尝试复数的时候)。

代码语言:javascript
复制
datetime:
  distance_in_words:
    x_days:
      one:   "1 jour"
      other: "%{count} jours"

我有/locale/fr.yml 从这个github

我的痕迹的一部分

代码语言:javascript
复制
i18n (0.7.0) lib/i18n/backend/pluralization.rb:35:in `pluralize'
i18n (0.7.0) lib/i18n/backend/base.rb:40:in `translate'
i18n (0.7.0) lib/i18n.rb:158:in `block in translate'
i18n (0.7.0) lib/i18n.rb:154:in `catch'
i18n (0.7.0) lib/i18n.rb:154:in `translate'
i18n (0.7.0) lib/i18n/backend/base.rb:118:in `block in resolve'
i18n (0.7.0) lib/i18n/backend/base.rb:115:in `catch'
i18n (0.7.0) lib/i18n/backend/base.rb:115:in `resolve'
i18n (0.7.0) lib/i18n/backend/base.rb:102:in `block in default'
i18n (0.7.0) lib/i18n/backend/base.rb:101:in `each'
i18n (0.7.0) lib/i18n/backend/base.rb:101:in `default'
i18n (0.7.0) lib/i18n/backend/base.rb:34:in `translate'
i18n (0.7.0) lib/i18n.rb:158:in `block in translate'
i18n (0.7.0) lib/i18n.rb:154:in `catch'
i18n (0.7.0) lib/i18n.rb:154:in `translate'
activemodel (4.1.1) lib/active_model/errors.rb:435:in `generate_message'
activemodel (4.1.1) lib/active_model/errors.rb:442:in `normalize_message'
activemodel (4.1.1) lib/active_model/errors.rb:293:in `add'
activemodel (4.1.1) lib/active_model/validations/length.rb:57:in `block in validate_each'
activemodel (4.1.1) lib/active_model/validations/length.rb:45:in `each'
activemodel (4.1.1) lib/active_model/validations/length.rb:45:in `validate_each'
mongoid (4.0.0) lib/mongoid/validatable/localizable.rb:25:in `validate_each'
activemodel (4.1.1) lib/active_model/validator.rb:167:in `block in validate'
activemodel (4.1.1) lib/active_model/validator.rb:164:in `each'
activemodel (4.1.1) lib/active_model/validator.rb:164:in `validate'
activesupport (4.1.1) lib/active_support/callbacks.rb:447:in `public_send'
activesupport (4.1.1) lib/active_support/callbacks.rb:447:in `block in make_lambda'
activesupport (4.1.1) lib/active_support/callbacks.rb:184:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:184:in `block in simple'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `block in simple'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `block in simple'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `block in simple'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `block in simple'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:185:in `block in simple'
activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `call'
activesupport (4.1.1) lib/active_support/callbacks.rb:86:in `run_callbacks'
mongoid (4.0.0) lib/mongoid/interceptable.rb:138:in `run_callbacks'

不过,英语一切都很好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-15 11:48:30

使用键名,如:多。

代码语言:javascript
复制
datetime:
  distance_in_words:
    x_days:
      one:   "1 jour"
      many: "%{count} jours"

根据我的理解,lib/i18n/backend/Multialization.rb:35:在“多元化”中,此方法调用基于不同地区的"gems/numbers_and_words-0.10.0/lib/numbers_and_words/i18n/plurals“中定义的proc。如果我们查看fr.rb,我们需要使用它的密钥名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27851983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档