Class: DmCore::Language

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/dm_core/language.rb

Overview


Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.current_language_nameObject




37
38
39
# File 'app/models/dm_core/language.rb', line 37

def self.current_language_name
  self.get_language(self.locale).english_name
end

.flag_image(locale) ⇒ Object

flag_image(:en)




43
44
45
# File 'app/models/dm_core/language.rb', line 43

def self.flag_image(locale)
  locale.nil? ? "dm_core/flags/#{I18n.locale}.gif" : "dm_core/flags/#{locale}.gif"
end

.get_language(locale, default_locale = DmCore.config.default_locale) ⇒ Object

Given the short name of a language, get the associated language object If it doesn’t exist, return the default language




9
10
11
# File 'app/models/dm_core/language.rb', line 9

def self.get_language(locale, default_locale = DmCore.config.default_locale)
  self.find_by_iso_639_1(locale) || get_language(default_locale, default_locale)
end

.language_arrayObject

todo

don’t know if this is needed anymore




32
33
34
# File 'app/models/dm_core/language.rb', line 32

def self.language_array
  DmCore.config.locales
end

.languagesObject

todo

don’t know if this is needed anymore




26
27
28
# File 'app/models/dm_core/language.rb', line 26

def self.languages
  DmCore.config.locales
end

.localeObject

get the current locale




15
16
17
# File 'app/models/dm_core/language.rb', line 15

def self.locale
  I18n.locale
end

.locale=(locale = DmCore.config.default_locale) ⇒ Object




20
21
22
# File 'app/models/dm_core/language.rb', line 20

def self.locale=(locale = DmCore.config.default_locale)
  I18n.locale = locale
end

.translate_url(url, locale) ⇒ Object

Given a url, change it to the requested locale. Assumes that locale is embedded in the url as /:locale/ (…/en/teaching, etc). Originaly tried to use a named route, like showpage_url(:locale => ‘ja’), but it doesn’t work in some cases




51
52
53
# File 'app/models/dm_core/language.rb', line 51

def self.translate_url(url, locale)
  return url.sub("/#{self.locale.to_s}/", "/#{locale.to_s}/")
end

Instance Method Details

#localeObject




56
57
58
# File 'app/models/dm_core/language.rb', line 56

def locale
  self.iso_639_1
end