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

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

Overview

I18n

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.initializeObject



6
7
8
9
10
# File 'lib/dapp/project/logging/i18n.rb', line 6

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



12
13
14
15
16
17
18
19
20
21
# File 'lib/dapp/project/logging/i18n.rb', line 12

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 ::NetStatus::Exception, code: :missing_translation, data: { code: code }
end