Class: AMS::Translate
- Inherits:
-
Object
- Object
- AMS::Translate
- Defined in:
- translate.rb
Overview
Based on langhadler.rb and AE::Translate in ae_LaunchUp by Andreas Eisenbarth.
Instance Method Summary (collapse)
-
- (String) get(key, *si)
(also: #[])
Get a single translation.
-
- (Hash) get_all
Get all translations as hash.
-
- (Translate) initialize(toolname = nil, dir = nil)
constructor
Load translation strings.
Constructor Details
- (Translate) initialize(toolname = nil, dir = nil)
Load translation strings.
11 12 13 14 15 16 |
# File 'translate.rb', line 11 def initialize(toolname = nil, dir = nil) @strings = {} locale = Sketchup.get_locale parse_strings(toolname, "en", dir) if locale!="en" # as basis parse_strings(toolname, locale, dir) end |
Instance Method Details
- (String) get(key, *si) Also known as: []
Get a single translation.
91 92 93 94 95 96 97 98 99 100 101 |
# File 'translate.rb', line 91 def get(key, *si) raise(ArgumentError, "Argument 'key' must be a String or an Array of Strings.") unless key.is_a?(String) || key.nil? || key.is_a?(Array) && key.grep(String).length == key.length return key.map{|k| self.[](k, *si)} if key.is_a?(Array) # Allow batch translation of strings value = (@strings[key] || key).to_s.clone # Substitution of additional strings. si.compact.each_with_index{|s, i| value.gsub!(/\%#{i}/, s.to_s) } value.gsub!(/\%\%/,"%") return value.chomp end |
- (Hash) get_all
Get all translations as hash.
109 110 111 |
# File 'translate.rb', line 109 def get_all return @strings end |