@lingui/format-po-gettext
TypeScript icon, indicating that this package has built-in type declarations

4.10.0 • Public • Published

License Version Downloads

@lingui/format-po-gettext

Read and write message catalogs in Gettext PO format with gettext-style plurals

Converts ICU Plural expressions into native gettext plurals

@lingui/format-po-gettext is part of LinguiJS. See the documentation for all information, tutorials and examples.

Warning This formatter is made for compatibility with translation management systems, which do not support ICU expressions in PO files.

It does not support all features of LinguiJS and should be carefully considered over other formats.

Not supported features (native gettext doesn't support this):

  • SelectOrdinal
  • Select
  • Nested ICU Expressions
  • Signed digits and fractions (-5, and 0.15) in plurals

Catalog example

#. js-lingui-id: WGI12K
#. js-lingui:icu=%7BanotherCount%2C+plural%2C+one+%7BSingular+case%7D+other+%7BCase+number+%7BanotherCount%7D%7D%7D&pluralize_on=anotherCount
msgid "Singular case"
msgid_plural "Case number {anotherCount}"
msgstr[0] "Singular case"
msgstr[1] "Case number {anotherCount}"

Installation

npm install --save-dev @lingui/format-po-gettext
# yarn add --dev @lingui/format-po-gettext

Usage

// lingui.config.{js,ts}
import {formatter} from "@lingui/format-po-gettext"

export default {
  [...]
  format: formatter({lineNumbers: false}),
}

Possible options:

export type PoGettextFormatterOptions = {
  /**
   * Print places where message is used
   *
   * @default true
   */
  origins?: boolean

  /**
   * Print line numbers in origins
   *
   * @default true
   */
  lineNumbers?: boolean

  /**
   * Disable warning about unsupported `Select` feature encountered in catalogs
   * 
   * @default false
   */
  disableSelectWarning?: boolean
}

License

This package is licensed under MIT license.

Package Sidebar

Install

npm i @lingui/format-po-gettext

Weekly Downloads

191

Version

4.10.0

License

MIT

Unpacked Size

26.3 kB

Total Files

9

Last publish

Collaborators

  • andrii.bodnar
  • serhiydmytryshyn