class YARD::I18n::POParser

Locale is a wrapper for gettext's PO parsing feature. It hides gettext API difference from YARD.

@since 0.8.8

Public Class Methods

available?() click to toggle source

@return [Boolean] true if gettext is available, false otherwise.

# File lib/yard/i18n/po_parser.rb, line 37
def available?
  !@@gettext_version.nil?
end

Public Instance Methods

parse(file) click to toggle source

Parses PO file.

@param [String] file path of PO file to be parsed. @return [Hash<String, String>] parsed messages.

# File lib/yard/i18n/po_parser.rb, line 46
def parse(file)
  case @@gettext_version
  when 2
    parser = GetText::PoParser.new
    data = GetText::MoFile.new
  when 3
    parser = GetText::POParser.new
    data = GetText::MO.new
  end
  parser.report_warning = false
  parser.parse_file(file, data)
  data
end