xav*_*r23 2 ruby ruby-on-rails internationalization
我正在使用带有i18n的rails 2.3.5.我有办法在所有视图中找到所有尚未翻译的区域设置吗?也许是应用程序控制器中的after_filter,但是我可以使用哪个代码来完成这项工作?
谢谢
当使用i18n gem(Rails确实如此)时,您可以指定自己的异常处理程序.试试这段代码:
# A simple exception handler that behaves like the default exception handler
# but additionally logs missing translations to a given log.
#
module I18n
class << self
def missing_translations_logger
@@missing_translations_logger ||= Logger.new("#{RAILS_ROOT}/log/missing_translations.log")
end
def missing_translations_log_handler(exception, locale, key, options)
if MissingTranslationData === exception # use MissingTranslation in Rails 3.x !!!
puts "logging #{exception.message}"
missing_translations_logger.warn(exception.message)
return exception.message
else
raise exception
end
end
end
end
I18n.exception_handler = :missing_translations_log_handler
Run Code Online (Sandbox Code Playgroud)
(例如把它放到RAILS_ROOT/config/initializers/i18n.rb中)
现在,每当您尝试翻译未指定翻译的密钥时,都会在RAILS_ROOT/log/missing_translations.log中打印一条警告.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |