gpt4 book ai didi

ruby-on-rails - 如何在 Rails 中显示所有要求的翻译字符串?

转载 作者:行者123 更新时间:2023-12-04 03:39:54 25 4
gpt4 key购买 nike

当 Rails 函数要求翻译( I18n.translate )时,我不想分析它们的代码以获得确切的范围等。

如何为要求的每个字符串在控制台中添加调试输出?

示例:

I18n.t 'errors.messages.invalid', :scope => :active_record 
# Translation for 'activerecord.errors.messages.invalid' (not) found

label(:post, :title)
# Translation for 'activerecord.attributes.post.title' not found
# Translation for 'views.labels.post.title' not found

最佳答案

这不是一个非常优雅的解决方案,但它对我有用。我创建了一个初始化程序:

require 'i18n'

if (Rails.env.development? || Rails.env.test?) && ENV['DEBUG_TRANSLATION']
module I18n
class << self
def translate_with_debug(*args)
Rails.logger.debug "Translate : #{args.inspect}"
translate_without_debug(*args)
end
alias_method_chain :translate, :debug
end
end
end

然后,您可以运行如下命令:
$ DEBUG_TRANSLATION=true rake cucumber

...您将看到所有尝试转储到 STDOUT 的翻译。不过我不考虑这个生产代码,所以我把它保存在 Gist 中。 ,并且在此阶段未将其 checkin 我的主要项目源代码管理。

Noddy,但它可以完成工作。

关于ruby-on-rails - 如何在 Rails 中显示所有要求的翻译字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3093624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com