问题标签 [i18n-gem]
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 - 我如何将其写为货币单位但转发د.إ
我正在为使用此符号的阿联酋设置国际化:د.إ
但是当我将它插入我的 en-UAE.rb 时:
它产生:
我想要的地方:
validation - zend framework 2 一些验证器保留在 Zend\I18n\Validator 包中
我观察到一些验证器(Alnum、Alpha、Float、Int 和 PostCode)被本地化为“Zend\I18n\Validator”包,而不是 zend 文档解释的“Zend\Validator”。
有人知道,因为它是如此。
我可以毫无问题地使用这些验证器吗?
ruby-on-rails-3 - Ruby on Rails 中的 UTF-8 与 ASCII-8BIT 编码不一致
我知道有很多关于 Rails 和编码的问题,但我无法找到关于这个特定问题的任何信息。
我有一个 Ruby on Rails 应用程序,使用rails 3.1.3
并在Jruby 1.6.7
. 我们同时支持英语和法语——我们使用I18n
库/gem 来实现这一点。
示例翻译文件部分:
在某些情况下,我收到以下编码错误:
情况1:
这行得通 - 没有编码错误,法语和英语之间的翻译工作得很好。
案例二:
然而,这不起作用。唯一的区别是返回的值包括字符串中带有计算代码的字符串,而不是类似的东西
注意:以上内容也不会导致错误 - 编码问题仅在计算的 I18n 翻译在引号中时出现。
案例3:
这不会导致错误......所以问题似乎与字符串中的动态代码(带有法语字符)有关,除了打印出从帮助函数返回的字符串之外。
我知道如何解决这个问题/修复它 - 但我想知道是否有人可以提供一些关于为什么会这样的见解 - 这样做有什么好的理由吗?IMO,当您进入低级别时 - 打印出一个字符串就是打印出一个字符串,所以我不明白一种方式如何导致错误,而另一种方式不会。
ruby-on-rails-3 - 如何使 i18n 内容可搜索?
我想让我的多语言网站可搜索,它是完全静态的。该网站共享 3 种语言。我使用了一种技术,该技术使用其各自的语言环境文件(它在 yml 中)捕获独特的标签内容,例如
在我的视图文件中
在我的语言环境文件中
目前,我尝试谷歌搜索,但没有找到任何解决方案。我唯一想到的就是做一个我的本地站点爬虫。你是如何解决这个问题的?
ruby-on-rails-3 - 使用翻译提交按钮
我不想使用默认值
并为其创建了一个辅助函数,该函数还嵌入了一个图标。辅助函数需要一个标签放在新创建的按钮上。
我这样称呼它:
但现在这个文本出现在按钮上:
%{模型} toevoegen
代替:
产品类型 toevoegen
如果我使用正常的提交按钮,则会出现正确的文本,因此我的 yml 文件是正确的。如何获得要在帮助程序中使用的正确文本?
帮助代码:
ruby-on-rails - 在子类中继承 Rails i18n 验证错误消息
我的理解
假设我有一个带有方便验证的类,例如:
在这种情况下,我可以i18n
通过在我的 中包含以下内容来使错误消息可翻译/config/locals/en.yml
:
这很好,通常非常方便。
我想知道的:
我的问题是:当我有从 User 继承的子类时会发生什么:
现在的问题是 Rails 找不到翻译user_subclass_one.attributes.username.name_format
。
它抱怨:
我希望 Rails在搜索字符串时查找UserSubclassOne
to的层次结构,然后注意它何时被“命中”,但是(除非我做错了什么)显然这不会发生。User
en.yml
一个明显的解决方案是复制en.yml.en.errors.models
for user
、user_subclass_one
、user_subclass_two
等中的数据,但我的 Rails 感觉告诉我这是大错特错。
有什么想法吗,伙计们?
潜在并发症:
User
MyGem
在包含在 Rails 引擎中的 gem 中定义,该引擎包含在定义, ...,MyEngine
的完整 Rails 应用程序中。不过,我认为这并不重要,因为验证正在运行,这是文件所在的位置——只是想让人们知道,以防万一。MyApp
UserSubclassOne
UserSubclassEnn
MyGem::User
en.yml
终极问题/解决方案:
所以事实证明问题出在命名空间上。回想一下MyApp
(定义UserSubclassOne
)使用MyGem
(定义User
)。原来User
实际上是在命名空间中MyGem
(不一定总是这样),所以开头的完整声明行User
不是:
反而
.
当 i18n gem 查找类层次结构时,它会注意到这个命名空间并搜索my_gem/user
,而不是简单地user
、my_gem.user
、my_gem: user
等。
因此我不得不将我的en.yml
文件更改为
/config/locals/en.yml
:
和宾果游戏!
ruby-on-rails - Rails 国际化 - 有没有更好的方法来保存英文消息?
我最近决定用这里描述的 I18n gem 翻译我的小 Rails 应用程序。
正如预期的那样,在进行测试时,我收到了来自 activerecord 的错误消息并设计:
缺少翻译:ru.devise.failure.user.not_found_in_database
缺少翻译:ru.activerecord.errors.models.user.attributes.name.taken
目前我只知道一种使用自定义语言环境设置按摩的方法 - 只需将包含消息的 en.yml 文件复制到我的自定义 ru.yml 中,但这是一种奇怪的方式。
也许我错过了什么?
干杯!
ruby-on-rails-3 - I18n.locale 不继承自 application.rb 中定义的 I18n.default_locale
我创建了一个新的 rails 3.2.12 应用程序,在 application.rb 中我用来配置默认语言环境,如下所示
config.i18n.default_locale = "pt-PT"
我在这个地方拥有所有语言环境 yml,并且在运行服务器后,翻译不起作用。当我在 default_locale 属性之后立即调试它并打印 config.i18n.locale 的值时它为零,而且它不应该......它应该返回'pt-PT'
关于这里发生的事情有什么建议吗?
ruby - Ruby - 在任何来源中都找不到 i18n-0.6.1
我正在尝试安装 Redmine,但在最后的步骤中遇到了麻烦。我以前从未使用过 Ruby 环境,我是一个完整的初学者。
(捆绑安装没有帮助。)所以我尝试“gem install i18n -v 0.6.1”,告诉我“1 gem installed”,一切正常。
而且它仍然不起作用,当我'gem list'时仍然没有得到i18n(任何版本)
以前的答案对我没有任何帮助,我没有使用乘客。
谢谢。
编辑:我找到了我的宝石所在的目录,/var/lib/gems/1.8/gems in18-0.6.1 和其他宝石在这里,但未在“宝石列表”中列出
编辑2:好的,我的问题现在更精确了。我实际上正在尝试编写一个 puppet 脚本来安装 Redmine,而“bundle install”实际上是在命令行上工作,而不是在 exec puppet 资源中。
activerecord - I18n::Backend::ActiveRecord 范围
我想让用户覆盖语言环境/YAML 文件中的自定义翻译。我使用i18n-active_record
Sven Fuchs 的 gem,它非常适合使用存储在数据库中的翻译。
问题:用户应该只获得他们自己的翻译,而不是其他人的。
所以我在表格中添加了一user_id
列translations
。现在我不知道如何为I18n::Backend::ActiveRecord
.
我的locale.rb
(在配置/初始化程序中):
感谢您的任何想法!