用途:为 Rails 8 应用实现国际化,支持多语言界面与本地化格式。主要能力包括翻译查找、语言区域(locale)管理、日期/时间/货币格式化、复数规则,以及视图中的懒加载查找。
配置:在 config/application.rb 中设置 config.i18n.default_locale、config.i18n.available_locales 与 config.i18n.fallbacks。语言文件按领域组织在 config/locales 下,如 models、views、mailers、components 子目录,分别存放各语言的 yml。
用法:视图中用 t(".title") 懒加载,插值用 t(".welcome", name: ...),HTML 内容用 _html 后缀;控制器用 t(".success");模型用 I18n.t 拼接键;Presenter 用 I18n.l 格式化日期。格式化示例:I18n.l(Date.current, format: :long)、number_to_currency(1234.50, locale: :fr)。复数用 zero/one/other 键配合 count。
语言切换:可通过 URL 作用域 scope "(:locale)" 配合 around_action 与 I18n.with_locale 实现,也可基于用户偏好或请求头。
测试:可用 i18n-tasks 检查缺失、未使用、规范化与健康度,命令如 bundle exec i18n-tasks missing;也可在测试中断言关键翻译存在并覆盖所有可用语言。
限制:资料未提供具体版本兼容性、性能数据或收费信息;示例基于 Rails 8 与 Rails I18n 默认行为。