Parent

Included Modules

GetText::Tools::XGetText

Public Class Methods

add_parser(parser) click to toggle source

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
run(*arguments) click to toggle source
# File lib/gettext/tools/xgettext.rb, line 31
def run(*arguments)
  new.run(*arguments)
end

Public Instance Methods

add_parser(parser) click to toggle source

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)
    po_messages = []
    # Simple message
    message = PoMessage.new(:normal)
    message.msgid = "hello"
    message.sources = ["foo.rb:200", "bar.rb:300"]
    message.add_comment("Comment for the message")
    po_messages << message
    # Plural message
    message = PoMessage.new(:plural)
    message.msgid = "An apple"
    message.msgid_plural = "Apples"
    message.sources = ["foo.rb:200", "bar.rb:300"]
    po_messages << message
    # Simple message with the message context
    message = PoMessage.new(:msgctxt)
    message.msgctxt = "context"
    message.msgid = "hello"
    message.sources = ["foo.rb:200", "bar.rb:300"]
    po_messages << message
    # Plural message with the message context.
    message = PoMessage.new(:msgctxt_plural)
    message.msgctxt = "context"
    message.msgid = "An apple"
    message.msgid_plural = "Apples"
    message.sources = ["foo.rb:200", "bar.rb:300"]
    po_messages << message
    return po_messages
  end
end

GetText::XGetText.add_parser(FooParser.new)

@param [target?, parse] parser

It parses target file and extracts translate target messages 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 128
def add_parser(parser)
  @parsers.unshift(parser)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.