Module Webgen::LanguageManager
In: lib/webgen/languages.rb
RuntimeError PluginParamNotFound PluginNotFound ConfigurationFileInvalid CmdParse::CommandParser CommandParser DirectoryInfo GalleryStyle WebSiteStyle WebSiteTemplate SipttraStyle Test::Unit::TestCase TestCase PluginTestCase TagTestCase CmdParse::Command ShowCommand CheckCommand UseCommand CreateCommand TSort DependencyHash Hash Comparable Language DEFAULT_WRAPPER_MODULE WebSite ::Logger Logger Logger Qt::MainWindow MainWindow Qt::Dialog NewWebsiteDialog Qt::TextEdit LogWidget ::Rake::TaskLib WebgenTask ConfigurationFile Website PluginManager PluginLoader PluginParamValueNotFound Dummy Color CliUtils PluginDefs lib/webgen/languages.rb lib/webgen/website.rb lib/webgen/gui/common.rb lib/webgen/plugin.rb lib/webgen/test.rb lib/webgen/cli.rb ClassMethods PluginDefs LanguageManager lib/webgen/gui/new_website_dlg.rb lib/webgen/gui/main.rb GUI lib/webgen/rake/webgentask.rb Rake Webgen dot/m_60_0.png

Used for managinging human languages.

Methods

Public Class methods

Returns an array of Language objects whose description match the given text.

[Source]

    # File lib/webgen/languages.rb, line 86
86:     def self.find_language( text )
87:       languages.values.find_all {|lang| /.*#{Regexp.escape(text)}.*/i =~ lang.description}.uniq.sort
88:     end

Returns a Language object for the given language code.

[Source]

    # File lib/webgen/languages.rb, line 81
81:     def self.language_for_code( code )
82:       languages[code]
83:     end

Returns all available languages as a Hash. The keys are the language codes and the values are the Language objects for them.

[Source]

     # 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

[Validate]