Module: Cldr::Languages
- Defined in:
- lib/languages.rb,
lib/cldr/languages/version.rb
Constant Summary collapse
- DEFAULT_LANGUAGE_CODE =
'en'- DEFAULT_SELF_LOCALIZATION_CODE =
'zxx'- VERSION =
'0.0.4'
Instance Method Summary collapse
- #import ⇒ Object
- #language_codes(self_localization = false) ⇒ Object
- #localized_languages(opts = {}) ⇒ Object
Instance Method Details
#import ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/languages.rb', line 12 def import language_codes = language_codes(true) if !File.directory?('config') FileUtils.mkdir_p('config') FileUtils.mkdir_p('config/locales') elsif !File.directory?('config/locales') FileUtils.mkdir_p('config/locales') end language_codes.each do |languageCode| localized_languages = localized_languages(language: languageCode) localized_languages_content = Hash.new localized_languages_content[languageCode] = localized_languages yaml_content = localized_languages_content.to_yaml File.open("config/locales/languages.#{languageCode}.yml", 'w') do |f| f.write(yaml_content) end end end |
#language_codes(self_localization = false) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/languages.rb', line 34 def language_codes(self_localization = false) default_language = language(DEFAULT_LANGUAGE_CODE) default_language_object = CLDR::Object.new(locale: default_language) language_codes = default_language_object.core.languages.keys if self_localization language_codes else language_codes.reject! { |k| k == DEFAULT_SELF_LOCALIZATION_CODE } end end |
#localized_languages(opts = {}) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/languages.rb', line 47 def localized_languages(opts = {}) localization_language = language(opts[:language]) fallback_language = language(opts[:fallback]) if opts[:language] && opts[:language].to_s == DEFAULT_SELF_LOCALIZATION_CODE all_language_codes = language_codes Hash[all_language_codes.map { |languageCode| language_from_code = Locale::Tag::Cldr.new(languageCode) localized_language_object = CLDR::Object.new(locale: language_from_code, fallback: fallback_language) [languageCode, localized_language_object.core.languages[languageCode]] }] else localization_language_object = CLDR::Object.new(locale: localization_language, fallback: fallback_language) localization_language_object.core.languages end end |