Skip to content
Novus Examples
pot1.2 KB

gettext Template (messages.pot)

A gettext .pot template extracted from source — msgid entries with empty msgstr values, source-location comments, and a plural form — the starting point for a new language translation.

Preview — first 50 linespot
# Translation template for the Novus example app.
# Copyright (C) 2026 Novus Examples (sample fixture).
# This file is distributed under the same license as the novus-example package.
#
msgid ""
msgstr ""
"Project-Id-Version: novus-example 1.0\n"
"Report-Msgid-Bugs-To: i18n@example.com\n"
"POT-Creation-Date: 2026-01-01 00:00+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. Greeting shown on the home screen
#: src/home.js:12
msgid "Hello"
msgstr ""

#. Welcome message with the user's name
#: src/home.js:18
#, c-format
msgid "Welcome, %s"
msgstr ""

#. Save button label
#: src/editor.js:40
msgid "Save"
msgstr ""

#. Cancel button label
#: src/editor.js:41
msgid "Cancel"
msgstr ""

#. Search field placeholder
#: src/nav.js:7
msgid "Search"
msgstr ""

#. Settings menu item
#: src/nav.js:22
msgid "Settings"
msgstr ""

#. Log out menu item
#: src/nav.js:31
61 lines total — download for the full file.

Specifications

Format
gettext PO template
Entries
8
Msgstr
empty
Plural Forms
nplurals=2

What is a .pot file?

A POT file (.pot, Portable Object Template) is a gettext template — a PO file with all msgstr values left empty. It is generated from source code by string extraction (xgettext) and is copied to start a new language's .po translation. Its header carries the plural-forms rule and project metadata.

How to use this file

Use an example .pot template to test string-extraction pipelines, PO initialisation (msginit), and tools that create or update per-language catalogs from a template.

How to use this file for testing

“gettext Template (messages.pot)” is a deterministic Novus Examples fixture for Localization catalogs, Internationalization, Editor testing. Gettext PO/POT, XLIFF, Apple .strings, Flutter .arb, Android strings.xml, .NET .resx, and i18next JSON — with RTL and CJK variants — for testing localization pipelines, translation-memory tools, and catalog converters.

Documented properties for this file: 8 entries · gettext PO template. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Translation-catalog fixtures carry the same message set across formats, each with its native placeholder syntax. Test your i18n loader, catalog converter, or translation-memory tool, and use the RTL and CJK variants to check bidirectional text and Unicode handling.

Load the catalog with your i18n framework and verify placeholder interpolation and plural handling; the RTL and CJK variants exercise bidirectional text and font fallback.

Code examples

import polib  # pip install polib

po = polib.pofile("messages.pot")
print(len(po), "entries,", round(po.percent_translated()), "% translated")
for e in po[:3]:
    print(e.msgid, "->", e.msgstr)

Generated by generation/localization.py. Free for any use, no attribution required — license.