Module: Dapp::Dapp::Logging::I18n

Included in:
Dapp::Dapp
Defined in:
lib/dapp/dapp/logging/i18n.rb

Defined Under Namespace

Classes: I18nError

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.initializeObject



9
10
11
12
13
# File 'lib/dapp/dapp/logging/i18n.rb', line 9

def self.initialize
  ::I18n.load_path << Dir[File.join(::Dapp.root, 'config', '**', '*')].select { |path| File.file?(path) }
  ::I18n.reload!
  ::I18n.locale = :en
end

Instance Method Details

#t(context: nil, **desc) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/dapp/dapp/logging/i18n.rb', line 15

def t(context: nil, **desc)
  code = desc[:code]
  data = desc[:data] || {}
  paths = []
  paths << [:common, context, code].join('.') if context
  paths << [:common, code].join('.')
  ::I18n.t(*paths, **data, raise: true)
rescue ::I18n::MissingTranslationData => _e
  raise I18nError, code: :missing_translation, data: { code: code }
end