ruby-on-rails - 我在哪里可以找到不同语言的 Rails 语言环境文件
问题描述
我在哪里可以找到我要添加到我的网站的任何语言的 activerecord 和日期翻译?
解决方案
Rails 配备了 I18n框架/API,与大多数此类框架一样,它涉及为每种支持的语言定义一个消息目录。对于 Rails,目录是config/locales
.
Rails 为一般的 ActiveRecord 验证消息定义了标准键,但默认情况下只附带英文翻译。自己从头开始提供翻译的另一种方法是安装rails-i18n
gem ( svenfuchs/rails-i18n ),它捆绑了许多受支持语言的翻译。这些包括默认的 ActiveRecord 消息和各种其他内容,例如日期和货币格式、星期几等。rails-i18n
当然,您可以通过添加自己的语言环境文件来混合和匹配翻译与您自己的自定义翻译。
注意:贡献者rails-i18n
做得很好,但并非所有语言环境都有完整的 ActiveRecord 消息集,因此在某些情况下,您必须提供自己的(或考虑向项目提供拉取请求)。
编辑:
随附的预定义目录rails-i18n
随 gem 一起安装。运行bundle info rails-i18n
会显示本地安装路径;rails/locale
如果您愿意,可以使用语言环境文件。Rails 应该更加努力地自动找到这些。因此,在 Rails 控制台中:
foobar> I18n.locale = :tr
=> :tr
foobar> I18n.t 'time.pm'
=> "öğleden sonra"
您可以通过在应用程序config/locales
目录中创建自定义语言环境文件来扩展或覆盖默认设置。I18n 搜索路径将config/locales
在移动到默认路径之前进行检查,因此您只需在自定义语言环境文件中提供新的或更改的翻译。
推荐阅读
- python - docker-registry - 来自 python 的 PUT 请求以 400 响应,但 Curl 工作正常
- javascript - 如何按固定因子缩放 Gatsby 图像?
- javascript - 传递具有动态名称的道具以响应子组件
- elasticsearch - 使用通配符搜索多个字段的 Elastic Search 完全匹配查询
- spring-boot - SpringBoot SOAP 服务:SAAJ SOAP 消息没有正文
- html - 如果数字不断变化,如何在动态表上获取行数
- cassandra - .properties 文件中的 Log4j2 NoSQL Cassandra 配置
- r - R dplyr 左连接多个表,没有两个带后缀的单独列
- python - 用于 IOS 的带有 Objective-C 的 Python
- mysql - “错误”:“无法读取未定义的属性‘findOne’”