Skip to main content

Rigi Documentation

PO parser
  • Parser ID: PO.

  • Format: https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html

  • Key features:

    • Auto-encoding. The PO parser supports UTF-8 encoding with and without BOM. The generated target files will have the same encoding as the source file.

    • Ignore duplicate entries. All Objects in a PO Object shall have a unique Name. Duplicates are considered to be an error. The parser will skip duplicates without a warning.

    • Plural forms support.

Parser settings

  • String id = {msgid}.{msgctxt}

    Default: true. 

    If set, the msgctxt element will be included in the string ID; otherwise, only the msgid will be the string ID. 

    String IDs are hashed

    The string ID, as written in the PO file, can contain invalid characters for Rigi string IDs.

    Therefore, Rigi will calculate a hashed value from {msgid} and optionally {msgctxt}. Example: the hash of string #USA is 7bcd6d34464b3057cdaedff9bc02b94e.

  • unixNewline

    Default: false.

    If set, the parser will generate a Unix newline (\n); otherwise, a Windows newline (\r\n).

  • Msgstr is source

    Default: false.

    According to the definition, the source strings are written in element msgid.

    When you set this option to true, the Rigi parser will get the string identifier from msgid and the source string from msgstr.

Generate target

The first element in a PO file contains the definitions of whether the msgid is empty (msgid ""). The parser will populate the Language and Plural-Forms when it generates a target.

PO_parser.png