问题标签 [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 - 如何从 Rails I18n 中的 yml 文件中检索所有翻译
我猜 Rails 将所有已解析的翻译 yml 文件存储在一种数组/散列中。有没有办法访问这个?
例如,如果我有一个文件:
我可以做类似 I18n.translations_store[:en][:test_string] 的事情吗?我可以使用 YAML::load 解析 yml 文件,但就我而言,我已将 yml 文件拆分为子文件夹以进行组织,而且我很确定 rails 已经将它们全部解析了。
ruby-on-rails - 如何在 Rails 3 中使用 I18n 后备功能
我收到来自 Rails 3 的“翻译缺失”错误消息:
我不知道为什么书本模型没有得到后备按摩。我已经设置了config.i18n.fallbacks = true
。
ruby-on-rails - Rails:如何让 Date strftime 知道默认的语言环境?
我在environment.rb
as de
(德语)中设置了默认语言环境。
我还看到了德语的所有错误消息,因此服务器选择了语言环境。但是当我尝试使用strftime
以下方式打印日期时:
它以英语 ( ) 打印January, 11
,而不是预期的德语 ( Januar, 11
)。
如何根据默认语言环境打印日期?
ruby-on-rails - i18n 多元化
我希望能够在 Rails 中翻译 i18n 中的复数字符串。一个字符串可以是:
或者
我知道我可以使用复数辅助方法,但我想将它嵌入到 i18n 翻译中,这样我以后不必在任何时候弄乱我的观点。我读到它:count
以某种方式用于复数的翻译,但我找不到任何关于它如何实现的真正资源。
请注意,我知道我可以在翻译字符串中传递一个变量。我也尝试过类似的东西:
哪个工作正常,但有一个相同想法的基本问题。我需要'kid'
在复数助手中指定字符串。我不想这样做,因为它会导致将来出现视图问题。相反,我想保留翻译中的所有内容,而视图中没有任何内容。
我怎样才能做到这一点 ?
ruby-on-rails - Rails 3 强制特定文本的本地化语言
仅针对某些文本强制翻译为特定语言的任何方式。就像是:
原因是我希望用户能够更改其内容的语言,但不能更改站点界面。谢谢!
ruby-on-rails - i18n 用于选择框
我有一个名为 Role 的模型。我正在以一种形式使用下面的助手。有没有办法将 name 属性的值更改为另一种语言?
语言环境/de.yml
ruby-on-rails - Rails I18n 中的惰性查找是一种不好的做法吗?
在 Rails 视图中使用较短的 i18n 键(例如t '.submit_button'
)使它们更易于键入,但它真的好吗?当您稍后决定重构您的视图和局部时,您必须记住更新相应的本地化条目。按业务含义命名它们并始终指定完整的键名不是更健壮吗?
ruby-on-rails - Rails I18n,检查翻译是否存在?
在 Rails 3 应用程序上工作,我想在输出之前检查翻译是否存在,如果不存在则回退到一些静态文本。我可以做类似的事情:
但我觉得应该有比这更好的方法。如果将来 Rails 将“翻译缺失”更改为“未找到翻译”怎么办。或者如果由于某种奇怪的原因文本包含“翻译缺失”怎么办。有任何想法吗?
ruby-on-rails - 使用 rails-i18n 进行反向翻译
我一直很高兴使用内置的rails i18n支持将字符串翻译成不同的语言,效果很好。最近,尽管我需要一些超出此 gem 的默认行为的东西。
由于没有更好的词,我将其称为“反向翻译”。基本上,我的想法是我有某种语言的字符串,我希望能够调用具有另一个语言环境的方法,如果语言环境字符串中存在映射,则返回翻译为该语言环境的字符串。
例如,假设我有config/locales/en.yml
并在config/locales/ja.yml
:
然后当我l2l_translate
在英语语言环境中调用此方法(“语言环境到语言环境翻译”)时,以字符串和语言环境作为参数,我得到了日语翻译:
此外,这更棘手,我希望能够反向匹配插值字符串。所以说我有:
配置/语言环境/en.yml
配置/语言环境/ja.yml
然后我应该能够像这样从英语翻译成日语:
所以基本上该字符串应该与英文翻译字符串的正则表达式匹配,然后将“5”拉出并作为参数“%d”发送给日文翻译。
显然这里有潜在的问题,如果:1)没有匹配,或2)有多个匹配。例如,可以通过引发异常来处理这些问题,或者在前一种情况下返回 nil ,在后一种情况下返回一组翻译。无论如何,这些都是小问题。
我的基本问题是:这样的事情存在吗?如果没有,是否有人对如何开发它有任何建议(比如作为宝石)?
我特别想到的应用程序是日语服务的 API 包装器。我希望能够指定可以匹配并翻译成其他语言的日语模式。默认的 i18n 支持不会这样做,而且我不知道有任何其他 gem 会这样做。
任何意见或建议将不胜感激!有关参考,另请参阅2010 年关于 i18n-rails 的反向翻译主题的讨论。