class YARD::I18n::Text

def translate(locale)

Returns:
  • (String) - translated text.

Parameters:
  • locale (Locale) -- the translation target locale.
def translate(locale)
  translated_text = String.new("")
  parse do |part|
    case part[:type]
    when :markup
      translated_text << part[:line]
    when :attribute
      prefix = "#{part[:prefix]}#{part[:name]}#{part[:infix]}"
      value = locale.translate(part[:value])
      suffix = part[:suffix]
      translated_text << "#{prefix}#{value}#{suffix}"
    when :paragraph
      translated_text << locale.translate(part[:paragraph])
    when :empty_line
      translated_text << part[:line]
    else
      raise "should not reach here: unexpected type: #{type}"
    end
  end
  translated_text
end