module Translating

A way to produce translated text in a ruby-program. Translations are read from a file “translations” in the program folder.

Public Class Methods

language() click to toggle source

find the current language-setting and return it.

# File lib/translating.rb, line 44
def self.language()
        if @@lang == nil
                r = ENV['LANG']
                if(r)
                        @@lang = r[0, 2]
                elsif( !File_Checking::file_check(@@lang_file, [:exist?, :readable?]) && File::size(@@lang_file) >= 2)
                        File::open(@@lang_file, 'r') {|f| @@lang = f.readline}
                        @@lang.chomp!.downcase! if @@lang
                end
        end
        @@lang = 'en' if !@@lang
end
trl(t, *args) click to toggle source

Translate a string to the currently set langage. The args parameter may contain replacement-text which will appear at the positions indicated by wildcard-characters in the original string.

# File lib/translating.rb, line 61
def self.trl(t, *args)
        Translating::language()
        lt = @@tr[t]
        if(lt)
                lt = lt[@@lang]
        else
                # File.open('/tmp/mtf', 'a+') {|f| f << t << "\n"}
                puts "\nTRANSLATION MISSING: \"" << t << "\""
        end
        lt ||= t
        if(args && !args.empty?)
                i = -1 
                lt = lt.gsub(@@awild) do |a| 
                        i += 1
                        args.flatten[i]
                end
                lt += args[i + 1, args.length].join
        end
        return lt
end

Public Instance Methods

trl(t, *args ) click to toggle source

Translate a string to the currently set langage. The args parameter may contain replacement-text which will appear at the positions indicated by wildcard-characters in the original string.

# File lib/translating.rb, line 86
def trl(t, *args )
        Translating::trl(t, args)
end