首页
学习
活动
专区
工具
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.6K40

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

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

6K43

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.2K30

《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

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

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

8310

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

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

17710

几种实用型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.3K00

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

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

1.3K31

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.8K20
领券