Parses and serializes `.po` (gettext) file content in TypeScript, providing a small, zero-dependency parser. It’s useful for reading `.po` message entries like `msgid` and `msgstr`, including metadata, message context (`msgctxt`), and references and comments that start with `#.` or `#,`, then converting it to or from structured data.
Project status
- Actively maintained: The repo shows continuous development through v1.0.0 to v2.1.1, with the most recent upstream push on 2025-12-29, which is about 5.5 months ago as of 2026-06-09. There is no evidence in the provided updates of abandonment.
- Update cadence: Updates clustered in late 2025, with multiple updates between 2025-12-10 and 2025-12-29 (v2.0.0, v2.1.0, v2.1.1), and earlier activity in November to December 2025. After late December 2025, no further updates are shown.
AI summary generated
Recent updates
v2.1.1
The provided release notes for v2.1.1 only mention a publishing retry. However, the actual code diff includes functional changes to how PO reference comments ("#:") are parsed and serialized, adding support for reference line numbers.
v2.1.0
v2.1.0 adds support for capturing line numbers from PO reference comments (the "#:" lines) during parsing. It also updates serialization so that if a reference includes a line number, the emitted reference includes "path:line". TypeScript typings and tests were updated to reflect the new optional `line` field on `references` entries.
Featuresv2.0.0
v2.0.0 primarily refactors the public API types, replacing the old `Message` shape with a PO-spec-aligned `Entry` type. The runtime parser/serializer was updated to use `msgctxt`, `msgid`, and `msgstr` directly, and it now supports `#.` extracted comments as a list rather than a single description.
BreakingFeaturesv1.0.2
v1.0.2 introduces special-character handling for PO parsing and serialization, specifically by adding escaping and unescaping logic. The parser now converts escaped sequences inside quoted fields into real characters, and the serializer emits escaped sequences for special characters.
v1.0.1
Release v1.0.1 is presented as a CI publishing fix. The code diff shows updates to the semantic-release pipeline, adding NPM publishing support and related configuration changes, along with minor semantic-release GitHub plugin option adjustments.
Securityv1.0.0
v1.0.0 introduces the initial implementation of the project and adds support for flags. This release expands parsing capabilities, enabling additional constructs to be recognized during processing.
Features