Module | Webgen::LanguageManager |
In: |
lib/webgen/languages.rb
|
Used for managinging human languages.
Returns all available languages as a Hash. The keys are the language codes and the values are the Language objects for them.
# File lib/webgen/languages.rb, line 92 92: def self.languages 93: unless defined?( @@languages ) 94: @@languages = {} 95: code_file = File.join( Webgen.data_dir, 'data', 'ISO-639-2_values_8bits.txt' ) 96: File.readlines( code_file ).each do |l| 97: data = l.chomp.split( '|' ).collect {|f| f.empty? ? nil : f } 98: lang = Language.new( data[0..2], data[3] ) 99: @@languages[lang.code2chars] ||= lang unless lang.code2chars.nil? 100: @@languages[lang.code3chars] ||= lang unless lang.code3chars.nil? 101: @@languages[lang.code3chars_alternative] ||= lang unless lang.code3chars_alternative.nil? 102: end 103: @@languages.freeze 104: end 105: @@languages 106: end