Reads the Gettext tree into a nested locale → domain → msgid → msgstr
structure. Nesting is the collision fix: the same msgid may legitimately
carry different translations in different domains.
Summary
Functions
All domains, derived from the .pot files, sorted.
All locale directories under the gettext path, sorted.
Msgids per domain from the POT files: %{domain => [msgid]}, sorted.
%{locale => %{domain => %{msgid => msgstr}}} for every locale on disk,
plus the source locale synthesized as identity (msgid == msgstr) from the
POT files — the source language needs no PO catalog.
Functions
All domains, derived from the .pot files, sorted.
All locale directories under the gettext path, sorted.
Msgids per domain from the POT files: %{domain => [msgid]}, sorted.
%{locale => %{domain => %{msgid => msgstr}}} for every locale on disk,
plus the source locale synthesized as identity (msgid == msgstr) from the
POT files — the source language needs no PO catalog.
Options
:include_source(defaulttrue) — synthesize the source locale. Passfalsewhen identity is not worth materializing:createTfalls back to the msgid, so an identity catalog is the copy handed back to itself. A source locale that DOES have PO files on disk is read from them either way; the option only governs the synthesis.