module Aerogel::I18n
Aerogel::I18n
provides localization support for aerogel applications.
Public Class Methods
available_locales()
click to toggle source
# File lib/aerogel/core/i18n.rb, line 60 def self.available_locales ::I18n.available_locales end
default_locale()
click to toggle source
# File lib/aerogel/core/i18n.rb, line 57 def self.default_locale ::I18n.default_locale end
l( *args )
click to toggle source
# File lib/aerogel/core/i18n.rb, line 36 def self.l( *args ) if args.first.nil? && args.second.is_a?( Hash ) && args.second.key?(:default) default_value = args.second[:default] if default_value.is_a? Symbol ::I18n.t default_value else default_value end else ::I18n.l( *args ) end end
locale( *args )
click to toggle source
# File lib/aerogel/core/i18n.rb, line 49 def self.locale( *args ) ::I18n.locale( *args ) end
locale=( *args )
click to toggle source
# File lib/aerogel/core/i18n.rb, line 53 def self.locale=( *args ) ::I18n.send :'locale=', *args end
registered(app)
click to toggle source
# File lib/aerogel/core/i18n.rb, line 8 def self.registered(app) # load locales reload! # register reloader setup_reloader(app) if Aerogel.config.aerogel.reloader? end
t( *args )
click to toggle source
Translation helper with chainable key access support. You can call t using standard i18n way:
t 'aerogel.admin.welcome', username: 'John'
Or using aerogel syntactic sugar:
t.aerogel.admin.welcome username: 'John'
# File lib/aerogel/core/i18n.rb, line 26 def self.t( *args ) if args.size > 0 # puts "** I18n.t original t: #{args}" ::I18n.t( *args ) else # puts "** I18n.t chainable t: #{args}" Chainable.new( *args ) end end
Private Class Methods
get_locale_files()
click to toggle source
Returns list of locale translation files.
# File lib/aerogel/core/i18n.rb, line 83 def self.get_locale_files Aerogel.get_resource_list( :locales, "**/*.yml" ) end
reload!( files = nil )
click to toggle source
Reload locales.
# File lib/aerogel/core/i18n.rb, line 89 def self.reload!( files = nil ) ::I18n.load_path = files || get_locale_files ::I18n.reload! ::I18n.available_locales = Aerogel.config.locales.enabled! if Aerogel.config.locales.enabled? if Aerogel.config.locales.default? ::I18n.default_locale = Aerogel.config.locales.default! else ::I18n.default_locale = ::I18n.available_locales.first end end
setup_reloader(app)
click to toggle source
Sets up reloader for locales.
# File lib/aerogel/core/i18n.rb, line 75 def self.setup_reloader(app) app.use Aerogel::Reloader, ->{ get_locale_files } do |files| reload! files end end