Class: Babelyoda::LengthChecker
- Inherits:
-
Object
- Object
- Babelyoda::LengthChecker
- Defined in:
- lib/babelyoda/length_checker.rb
Instance Method Summary collapse
-
#initialize(dev_language, params) ⇒ LengthChecker
constructor
A new instance of LengthChecker.
- #long_translations(keyset) ⇒ Object
Constructor Details
#initialize(dev_language, params) ⇒ LengthChecker
Returns a new instance of LengthChecker.
3 4 5 6 |
# File 'lib/babelyoda/length_checker.rb', line 3 def initialize(dev_language, params) @dev_language = dev_language @params = params end |
Instance Method Details
#long_translations(keyset) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/babelyoda/length_checker.rb', line 8 def long_translations(keyset) long_translations = {} keyset.keys.each_value do |key| dev_value = key.values[@dev_language] dev_text = longest_translation(dev_value) dev_len = dev_text.length.to_f key.values.each_value do |value| text = longest_translation(value) len = text.nil? ? 0 : text.length ratio = len/dev_len big_ratio = ratio >= @params.ratio big_delta = (len - dev_len) >= @params.delta if big_ratio && big_delta lang = value.language.to_sym translation = Babelyoda::LongTranslation.new(dev_text, text, key.context) if long_translations.has_key?(lang) long_translations[lang].push(translation) else long_translations[lang] = [translation] end end end end long_translations end |