为Rails I18n创建lorem ipsum翻译

时间:2014-08-06 11:18:37

标签: ruby-on-rails internationalization rails-i18n

我有一个很棒的Rails应用程序,我已经知道了。它尚未被翻译成任何语言,但我将99%的字符串提取到yaml中。它们来自各地 - 视图,模型,JS。

剩下的1%,并且跟踪它确实很棘手。

我想把我现有的yaml文件和"翻译"他们变成了一种新语言,Lorem Ipsum。即,通过某些处理器运行文件,这些处理器将产生有效的i18n语言环境YAML,带有乱码内容。

然后我会导入这些,切换到测试区域设置(我可以调用这些es.yml,或其他)并浏览我的应用程序,寻找破碎的格式和英语字符串。

唯一的小问题是......如何制作这个lorem ipsum文件?我无法取消所有引用的字符串,因为那里有几种格式的I18n令牌。

任何想法/建议都将不胜感激。

1 个答案:

答案 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