class RDoc::I18n::Text
An i18n supported text.
This object provides the following two features:
* Extracts translation messages from wrapped raw text. * Translates wrapped raw text in specified locale.
Wrapped raw text is one of String, RDoc::Comment
or Array of them.
Public Class Methods
Source
# File lib/rdoc/i18n/text.rb, line 17 def initialize(raw) @raw = raw end
Creates a new i18n supported text for raw
text.
Public Instance Methods
Source
# File lib/rdoc/i18n/text.rb, line 32 def extract_messages parse do |part| case part[:type] when :empty_line # ignore when :paragraph yield(part) end end end
Extracts translation target messages and yields each message.
Each yielded message is a Hash. It consists of the followings:
- :type
-
:paragraph
- :paragraph
-
String (The translation target message itself.)
- :line_no
-
Integer (The line number of the :paragraph is started.)
The above content may be added in the future.
Source
# File lib/rdoc/i18n/text.rb, line 44 def translate(locale) translated_text = '' parse do |part| case part[:type] 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
Translates raw text into locale
.