@return [Hash<Symbol, Object>] Options for parsing. Options
are depend on each parser.
@see RubyParser#parse @see ErbParser#parse
Adds a parser to the default parser list.
@param (see add_parser) @return [void]
@see add_parser
# File lib/gettext/tools/xgettext.rb, line 41 def add_parser(parser) @@default_parsers.unshift(parser) end
The parser object requires to have target?(path) and parse(path) method.
@example How to add your parser
require "gettext/tools/xgettext"
class FooParser
def target?(path)
File.extname(path) == ".foo" # *.foo file only.
end
def parse(path, options={})
po = []
# Simple entry
entry = POEntry.new(:normal)
entry.msgid = "hello"
entry.references = ["foo.rb:200", "bar.rb:300"]
entry.add_comment("Comment for the entry")
po << entry
# Plural entry
entry = POEntry.new(:plural)
entry.msgid = "An apple"
entry.msgid_plural = "Apples"
entry.references = ["foo.rb:200", "bar.rb:300"]
po << entry
# Simple entry with the entry context
entry = POEntry.new(:msgctxt)
entry.msgctxt = "context"
entry.msgid = "hello"
entry.references = ["foo.rb:200", "bar.rb:300"]
po << entry
# Plural entry with the message context.
entry = POEntry.new(:msgctxt_plural)
entry.msgctxt = "context"
entry.msgid = "An apple"
entry.msgid_plural = "Apples"
entry.references = ["foo.rb:200", "bar.rb:300"]
po << entry
return po
end
end
GetText::Tools::XGetText.add_parser(FooParser.new)
@param [target?, parse] parser
It parses target file and extracts translate target entries from the target file. If there are multiple target files, parser.parse is called multiple times.
@return [void]
# File lib/gettext/tools/xgettext.rb, line 136 def add_parser(parser) @parsers.unshift(parser) end
Generated with the Darkfish Rdoc Generator 2.