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, line 75 def self.find_language(text) languages.values.find_all {|lang| /.*#{Regexp.escape(text)}.*/i =~ lang.description}.uniq.sort 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, line 70 def self.language_for_code(code) languages[code] 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, line 81 def self.languages unless defined?(@@languages) @@languages = {} started = nil data = File.readlines(__FILE__).each do |l| next if !started && (started = (l == '__END__')) data = l.chomp.split('|').collect {|f| f.empty? ? nil : f} lang = Language.new(data[0..2], data[3]) @@languages[lang.code2chars] ||= lang unless lang.code2chars.nil? @@languages[lang.code3chars] ||= lang unless lang.code3chars.nil? @@languages[lang.code3chars_alternative] ||= lang unless lang.code3chars_alternative.nil? end @@languages.freeze end @@languages end