Module: Translating
- Defined in:
- lib/translating.rb
Overview
A way to produce translated text in a ruby-program. Translations are read from a file “translations” in the program folder.
Constant Summary collapse
- @@awild =
There are better ways to extend a translated string, but I keep the ‘wild-card’ for historical reasons. TODO: GET RID OF THIS CRAP
'XX'- @@lang =
nil- @@lang_file =
format("%s%s", RD, 'LANG')
- @@tr =
YAML::load_file("#{RD}translations")
Class Method Summary collapse
-
.language ⇒ Object
find the current language-setting and return it.
-
.trl(t, *args) ⇒ Object
Translate a string to the currently set langage.
Instance Method Summary collapse
-
#trl(t, *args) ⇒ Object
Translate a string to the currently set langage.
Class Method Details
.language ⇒ Object
find the current language-setting and return it.
44 45 46 47 48 49 50 51 52 53 54 55 |
# 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) ⇒ Object
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 (DARN). This is for historical reasons. The format() function is much better suited to extend plaintext messages.
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/translating.rb', line 62 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 |
Instance Method Details
#trl(t, *args) ⇒ Object
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.
87 88 89 |
# File 'lib/translating.rb', line 87 def trl(t, *args ) Translating::trl(t, args) end |