module Webgen::LanguageManager
Used for managing human languages.
Public Class Methods
find_language(text)
click to toggle source
Return an array of Language
objects whose description match the given text
.
# File lib/webgen/languages.rb 75 def self.find_language(text) 76 languages.values.find_all {|lang| /.*#{Regexp.escape(text)}.*/i =~ lang.description}.uniq.sort 77 end
language_for_code(code)
click to toggle source
Return a Language
object for the given language code or nil
if no such object exists.
# File lib/webgen/languages.rb 70 def self.language_for_code(code) 71 languages[code] 72 end
languages()
click to toggle source
Return 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 81 def self.languages 82 unless defined?(@@languages) 83 @@languages = {} 84 started = nil 85 data = File.readlines(__FILE__).each do |l| 86 next unless (started ||= (l == "aar||aa|Afar|afar\n")) 87 data = l.chomp.split('|').collect {|f| f.empty? ? nil : f} 88 lang = Language.new(data[0..2], data[3]) 89 @@languages[lang] = lang 90 @@languages[lang.code2chars] ||= lang unless lang.code2chars.nil? 91 @@languages[lang.code3chars] ||= lang unless lang.code3chars.nil? 92 @@languages[lang.code3chars_alternative] ||= lang unless lang.code3chars_alternative.nil? 93 end 94 @@languages.freeze 95 end 96 @@languages 97 end