ruby-on-rails – 动态加载从gem到磁盘引擎的I18n转换

栏目: Ruby · 发布时间: 7年前

内容简介:我创建了一个gem(TranslationsGem),我在多个项目(引擎和Rails应用程序)中使用它.这个gem设置了几个加载到I18n后端的哈希值.方法#store_dynamic_translations设置了几个加载到I18n后端的哈希值.它基本上是这样的:我的测试确认方法和翻译加载正常.但是我不能让它在主机引擎和Rails应用程序中工作.

我创建了一个gem(TranslationsGem),我在多个项目(引擎和Rails应用程序)中使用它.这个gem设置了几个加载到I18n后端的哈希值.

方法#store_dynamic_translations设置了几个加载到I18n后端的哈希值.它基本上是这样的:

I18n.backend.store_translations(:en, { test: { property: 'value' } })

我的测试确认方法和翻译加载正常.但是我不能让它在主机引擎和Rails应用程序中工作.

在我的测试环境中,我必须在test_helper中执行该方法,以确保正确加载转换.在测试环境之外,我似乎无法使其正常工作.我可以验证该方法是否已执行,但未加载转换.

我已经尝试了好几个小时,比如在 Engine initializer 中执行方法并使用ActiveSupport挂钩.在主机Rails应用程序中,我尝试在初始化程序中执行#store_dynamic_translations但无济于事.

奇怪的是,如果我在我的Rails应用程序控制器或视图中执行#store_dynamic_translations,它就可以运行.有没有办法在app启动时设置它?

编辑:我已经设置了 example repository which contains the current setup .

>一个Gem,它动态地将翻译存储到I18n后端.

>一个加载gem的Rails引擎,应该可以使用它的翻译

the test in question 中取消注释MyI18n :: Translations.store_dynamic_translations指令使测试通过.但我觉得应该可以在 engine initializer 内完成吗?


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ACM国际大学生程序设计竞赛题解

ACM国际大学生程序设计竞赛题解

赵端阳//袁鹤 / 电子工业 / 2010-7 / 39.00元

随着各大专院校参加ACM/ICPC热情的高涨,迫切需要有关介绍ACM国际大学生程序设计竞赛题解的书籍。《ACM国际大学生程序设计竞赛题解(2)》根据浙江大学在线题库的部分题目,经过分类、筛选、汇编,并进行了解答(个别特别简单或者特别复杂的题目未选择),比较详细地分析和深入浅出地讲解了解题的方法和用到的算法。题目的类型包括基础编程、模拟、字符串处理、搜索、动态规划、回溯、图论、几何和数学题。 ......一起来看看 《ACM国际大学生程序设计竞赛题解》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具