我有一个很棒的Rails应用程序,我已经知道了。它尚未被翻译成任何语言,但我将99%的字符串提取到yaml中。它们来自各地 - 视图,模型,JS。
剩下的1%,并且跟踪它确实很棘手。
我想把我现有的yaml文件和"翻译"他们变成了一种新语言,Lorem Ipsum。即,通过某些处理器运行文件,这些处理器将产生有效的i18n语言环境YAML,带有乱码内容。
然后我会导入这些,切换到测试区域设置(我可以调用这些es.yml,或其他)并浏览我的应用程序,寻找破碎的格式和英语字符串。
唯一的小问题是......如何制作这个lorem ipsum文件?我无法取消所有引用的字符串,因为那里有几种格式的I18n令牌。
任何想法/建议都将不胜感激。
答案 0 :(得分:1)
在这里,我重写I18n#translate
以返回预期文本长度的lorem ipsum。我没有测试过这个,但从理论上讲,它看起来像这样:
module I18n
alias_method :translate_without_lorem_ipsum, :translate
def translate_with_lorem_ipsum(*args)
actual_text = translate_without_lorem_ipsum(*args)
LoremIpsum.text_with_length(actual_text.length) # imaginary method returning text of given length
end
alias_method :translate, :translate_with_lorem_ipsum
end
由于您使用的是rails,因此可以将alias_method
用法替换为alias_method_chain
。