使用sinatra-r18n
处理国际化时,r18n
lib会根据these instructions公开变量t
,以便在您的帮助程序,路由和模板中使用。
我使用rack-unit
编写了一个简单的单元测试,以确认我的某些复数有效,但测试会引发错误,声称t
为零。
我尝试通过app.t
,MySillyApp.t
(其中MySillyApp是我的Sinatra应用程序的名称),MySillyApp.settings.t
等来引用它,但没有一个能让我访问t
1}}我需要。
我想要实现的是确认我的翻译文件包含我需要的所有密钥,对应于我的应用需要了解的各种公制单位的复数。也许有一种更直接的测试方法,而无需通过Sinatra应用程序本身。我欢迎任何见解。
答案 0 :(得分:1)
我有类似的任务来检查我的Cucumber场景中的本地化字符串。 我做了working example。 Here你可以找到如何翻译字符串。 This file停止了解如何向测试框架添加R18n支持:
require 'r18n-core'
...
class SinCucR18nWorld
...
include R18n::Helpers
end
正如你所看到的那样,而不是机架/单元,我正在使用RSpec / Cucumber,抱歉。