Ruby on rails 如何让Rails自动从YAML翻译键名推断英语翻译?

Ruby on rails 如何让Rails自动从YAML翻译键名推断英语翻译?,ruby-on-rails,internationalization,rails-i18n,Ruby On Rails,Internationalization,Rails I18n,有没有一种方法可以让Rails自动从键名推断英语翻译 目前我必须明确地编写翻译,因为否则它只会在视图中输出en,designe.confirmations.new.ressend\u confirmation\u指令 我当前必须在config/locales/en.yml文件中编写的内容: en: devise: confirmations: new: resend_confirmation_instructions: "Resend confirmati

有没有一种方法可以让Rails自动从键名推断英语翻译

目前我必须明确地编写翻译,因为否则它只会在视图中输出
en,designe.confirmations.new.ressend\u confirmation\u指令

我当前必须在
config/locales/en.yml
文件中编写的内容:

en:
  devise:
    confirmations:
      new:
        resend_confirmation_instructions: "Resend confirmation instructions."
我想要的是:

en:
  devise:
    confirmations:
      new:
        resend_confirmation_instructions: 

视图应该只输出“重新发送确认指令”。这是直接从该键推断出来的。

您始终可以编写自己的异常处理程序:

#config/initializers/i18n.rb

module I18n
  class MissingTranslationExceptionHandler < ExceptionHandler
    def call(exception, locale, key, options)
      if exception.is_a?(MissingTranslation)
        key.split('.').last.try(:humanize)
      else
        super
      end
    end
  end
end

I18n.exception_handler = I18n::MissingTranslationExceptionHandler.new
#config/initializers/i18n.rb
模块I18n
类缺少TranslationExceptionHandler

你可以读更多。

我知道没有办法做到这一点,因为这恰恰与翻译背道而驰。然而,在生产中,如果翻译丢失,Rails将显示“重新发送确认指令”,它会在生产中这样做吗?我不知道。顺便说一句,从英文翻译键获取英文文本并不完全是翻译。当你的代码库和翻译键都是英文时,这只是一种避免重复工作的方便方法。为此,你可以配置回退语言。检查此处:@dgilperez回退仅用于在不存在其他翻译的情况下回退到英语翻译。这不是为了从翻译键推断英语翻译…嘿@Magne你最终选择了什么方法?