首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

rails - 如何动态添加/覆盖对i18n yaml的措辞

在 Rails 应用中,动态添加/覆盖对 i18n yaml 的措辞可以通过以下方法实现:

  1. config/locales 目录下创建一个新的 YAML 文件,例如 dynamic.en.yml,并添加需要动态添加/覆盖的翻译内容。
代码语言:yaml
复制
en:
  dynamic:
    key1: "Dynamic translation 1"
    key2: "Dynamic translation 2"
  1. config/application.rb 文件中添加新创建的 YAML 文件到 config.i18n.load_path 数组中。
代码语言:ruby
复制
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')]
  1. 在需要使用动态翻译的地方,使用 I18n.t 方法获取翻译内容。
代码语言:ruby
复制
I18n.t('dynamic.key1')
  1. 如果需要动态覆盖已有的翻译内容,可以在 config/initializers/i18n.rb 文件中添加以下代码:
代码语言:ruby
复制
I18n.backend.store_translations(:en, {
  existing: {
    key1: "Overridden translation 1",
    key2: "Overridden translation 2"
  }
})

这样就可以动态添加/覆盖对 i18n yaml 的措辞了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 使用 YAML 文件配置 Jenkins 流水线

    * Jenkins 版本过低,已经很难升级 * Wolox 过去几年增长显著,一直面临着如何伸缩问题 * 只有极少数人如何修复 Jenkins 服务问题 * 配置 Jenkins 任务不是一件简单任务...它能将 GitHub 组织中符合规则项目自动添加到 Jenkins 中。唯一约束就是在每一个分支下都必须有一个 Jenkinsfile,用于描述如何构建项目。...这样构建逻辑非常容易被破坏,如果你不熟悉 Groovy。如果你 Jenkins 流水线是如何工作一无所知,就更容易了。这样,修改或增加一个新 Docker 镜像就变得不简单,也容易导致混淆。...你只需要在该目录下(https://github.com/Wolox/wolox-ci/tree/development/vars)添加,然后告诉共享库该服务是如何被转换,如https://github.com...这让有权限访问它的人通过 YAML 文件更改构建步骤。这是我们 CI 工作流程来说是一个重大改进。 Docker 使我们轻松更换编程语言,而不用 Jenkins 安装做任何更改。

    4.7K40

    8.2 Spring Boot集成Groovy、Grails开发小结参考资料

    Grails作为JEE世界Rails,把这些最前沿设计理念带入已显得陈旧JEE社区,拥有鲜明突出特点,以及由此带来优秀开发效率。...Grails来说,Groovy是其能够实现灵活多变快速开发,区别于其他运行于JVM之上Web框架核心技术。 Groovy动态特性是其最大亮点,在这方面几乎不输于Ruby等其他热门动态语言。...核心概念,提供了国际化(i18n支持 基于Spring事务抽象概念,实现事务服务层[1] Github:https://github.com/grails 官网:https://grails.org...3.将 $GRAILS_HOME/bin 添加到 PATH中。 如果你电脑上有SDKMAN!...我们可以看到,grails依赖Groovy,JVM环境版本。 创建Grails项目 让我们来体验JVM上Ruby on rails命令行自动工程生成快感吧!

    2.3K30

    《Spring Boot极简教程》第8章 Spring Boot集成Groovy,Grails开发第8章 Spring Boot集成Groovy,Grails开发小结参考资料

    Grails作为JEE世界Rails,把这些最前沿设计理念带入已显得陈旧JEE社区,拥有鲜明突出特点,以及由此带来优秀开发效率。...Grails来说,Groovy是其能够实现灵活多变快速开发,区别于其他运行于JVM之上Web框架核心技术。 Groovy动态特性是其最大亮点,在这方面几乎不输于Ruby等其他热门动态语言。...核心概念,提供了国际化(i18n支持 基于Spring事务抽象概念,实现事务服务层[1] Github:https://github.com/grails 官网:https://grails.org...3.将 $GRAILS_HOME/bin 添加到 PATH中。 如果你电脑上有SDKMAN!...我们可以看到,grails依赖Groovy,JVM环境版本。 创建Grails项目 让我们来体验JVM上Ruby on rails命令行自动工程生成快感吧!

    2.4K30

    从新手到专家:如何用Python编写配置文件

    请注意,配置定义不包括内部应用程序配置,例如Railsconfig /routes.rb或是Spring[2]中代码模块连接方式[3]。...允许添加注释: 配置文件不是仅被开发人员阅读文件。在生产环境中,让非开发人员了解整个流程并修改软件行为也非常重要。添加注释就是一种快速解释事情方法,它能使配置文件更具表现力。...非常相似,并且是一种流行格式,然而我们无法在JSON中添加注释。...每个INI文件都由多个部分组成,每个部分有多个键值。以下是如何访问其中字段例子。...如果两个设置文件具有相同变量,则该值将被后面的设置文件覆盖。 校验 我来说,其中一个有趣功能是自定义验证器[10]。

    6.7K43

    实现全球化:深入理解国际化框架构建

    灵活性有限:采用这种静态方式很难添加像复数形式、特定上下文翻译或动态获取翻译等特性。 性能开销:对于大规模应用而言,加载大块翻译数据却仅使用其中很小一部分会导致资源紧张,造成效率低下。...getTranslation方法使用标识符获取所需翻译字符串。 优点: 保留了上述方式所有优点:覆盖面广,加载后无需使用网络就能进行翻译,代码易于搜索和阅读。...动态加载:可根据用户本地语言动态加载翻译。只需加载必要翻译,从而带来潜在性能优势。 可扩展性:添加新语言更容易。只需为该语言添加一个新配置文件,应用程序就能处理它,无需任何代码修改。...这种方法提供了一种更可扩展、更简洁国际化处理方式,尤其适用于大型应用程序。 缺点: 可能会导致配置文件过大:随着应用程序增长和多种语言支持,这些配置文件可能会变得相当大。...动词“like”和“likes”是根据喜欢文章的人数来确定如何做到这一点呢?

    28910

    拖拉拽做游戏?轻松打造个人掌机世界 | 开源日报 No.176

    该项目主要功能、关键特性、核心优势包括: 列出了大量 ReactJS 相关面试问题和答案 提供了 React 基础知识系统学习资源 可以帮助用户准备编码面试,提升就业竞争力 rails/railshttps...://github.com/rails/rails Stars: 54.3k License: MIT rails 是一个包含一切创建基于数据库 Web 应用程序所需内容 web 应用程序框架,...Rails 还附带了许多其他功能和库,如邮件发送、接收库等。可独立使用或与 Rails 一起使用。安装简便,并有丰富文档和指南可供参考。...简洁语法 常规面向对象特性(例如类、方法调用) 高级面向对象特性(例如混入、单例方法) 运算符重载 异常处理 迭代器和闭包 垃圾回收机制 对象文件动态加载(在某些架构上) 高度可移植性(适用于许多类...包含 Kubernetes 应用程序简单 YAML 模板支持。

    11010

    几种实用型Ruby Web开发框架介绍

    大家在通过Ruby学习后,都知道,Ruby on Rails是一款性能非常优越Ruby Web开发框架。但是其他Ruby Web开发框架又有多少人知道一二呢?   ...本文这些框架进行一个快速浏览,并试图解读他们为业内人士欣赏(或忽视)原因。   之前我们讨论过Merb,这也许是完成度最高Rails替代者。...在attr_accessor中标记为Object(或Array或Hash)之后,引擎会序列化对象YAML转储堆。Og同时支持任意对象图。...Sinatra是基于最小化DSL语法开发,它小型基础核心中不包括诸如ActiveRecord这样模块。通过使用get/post action定义,Sinatra具备动态路由定义功能。...即使这些框架可能缺乏文档,甚至有些框架不具备这么多功能、流行程度、Rails使用等,它们仍然值得一看。

    2.4K00

    Flutter-国际化适配终结者

    大家好,很久不见,甚是想念,今天,我们来学习以下如何使用国际化神器Flutter i18n,该神器为一位叫Razvan Lung外国大佬开发!...Flutter i18n官网 安装插件 该神器为idea一款插件,名为Flutter i18n,大家可以到开发工具设置中找得到。...image.png 如图,先打开到上面的Plugins这一栏,然后点击插件列表下面的Browe repositories,然后在弹出界面中输入Flutter i18n。...在使用该插件支持,我们还是要知道,该插件依赖插件包flutter_localizations,否则会出现某些地区支持会出错 在我们项目的pubspec.yaml添加flutter_localizations...嗯,是的,插件会在你写json时候会自动生成函数 S类自动添加: String get appName => "Carpe Diem"; $zh_CN类自动添加

    1.9K20

    kubernetes(十二) 准入控制和helm v3包管理

    且由于缺少发布过应用版本管理和控制,使Kubernetes上应用维护和更新等面临诸多挑战,主要面临以下问题: 如何将这些服务作为一个整体管理 这些资源文件如何高效复用 不支持应用级别的版本管理...所以我们需要自定义chart配置选项,安装过程中有两种方法可以传递配置数据: --values(或-f):指定带有覆盖YAML文件。这可以多次指定,最右边文件优先 --set:在命令行上指定替代。...例如:如何使用这个 Chart、列出缺省设置等。...文件覆盖,而该文件同样可以被 --set提供参数所覆盖。...Chart大致流程: 先创建模板 helm create demo 修改Chart.yaml,Values.yaml添加常用变量 在templates目录下创建部署镜像所需要yaml文件,并变量引用

    1.3K31
    领券