4 BotConfig.register('core.language',
5 :default => "english", :type => :enum,
6 :values => Dir.new(Config::DATADIR + "/languages").collect {|f|
7 f =~ /\.lang$/ ? f.gsub(/\.lang$/, "") : nil
9 :desc => "Which language file the bot should use")
11 def initialize(language, file="")
14 file = Config::DATADIR + "/languages/#{@language}.lang"
16 unless(FileTest.exist?(file))
17 raise "no such language: #{@language} (no such file #{file})"
26 IO.foreach(@file) {|l|
30 @strings[$1] = Array.new
32 elsif(l =~ /^\s*(.*)$/)
33 @strings[current_key] << $1
43 if(@strings.has_key?(key))
44 return @strings[key][rand(@strings[key].length)]
46 raise "undefined language key"
51 File.open(@file, "w") {|file|
52 @strings.each {|key,val|