Dist::..._merge(3pm)
π Dist::Zilla::App::Command::msg_merge β no wait, it's giving Dist::..._merge(3pm) bestie π
okay so first things first, the manual name is literally Dist::..._merge(3pm) and it's part of the User Contributed Perl Documentation collection, k? just so we're on the same page. and we're talking about Dist::Zilla::App::Command::msg_merge here, which is the actual command, the manual page just has a lil nickname. iykyk π
β¨ NAME β¨
Dist::Zilla::App::Command::msg_merge β merge localization strings into translation catalogs π¦
πΈ SYNOPSIS πΈ
so in your dist.ini you're gonna have something like:
[LocaleTextDomain]
textdomain = My-App
lang_dir = po
then on the command line, bestie:
dzil msg-init fr de
and later, once you've added or modified some localization strings (because you always do):
dzil msg-merge
periodt. π
π DESCRIPTION π
okay so this command merges localization strings into translation catalog files. where do the strings come from? from a GNU gettext-style language translation template β and if that phrase means nothing to you, it's the thing the msg-scan command makes for you. π
and here's the cute part: if no template file is found, or like, one can't be found (π), then the Perl sources get scanned and a temporary one gets whipped up on the spot. iconic behaviour honestly.
also important: this command relies on the settings from the LocaleTextDomain plugin for its settings, and it requires that the GNU gettext utilities be available. no gettext, no merge, sorry bestie. π
β Options β
--xgettextβ the location of thexgettextprogram, which ships with GNU gettext. defaults to justxgettext(orxgettext.exeon Windows π) and that should work fine if it's chillin' in your path. not used if--pot-fileis specified, so don't come for it.--msgmergeβ the location of themsgmergeprogram, also distributed with GNU gettext. defaults to justmsgmerge(ormsgmerge.exeon Windows πͺ), which works if it's in your path. slay.--encodingβ the encoding to assume the Perl modules are encoded in. defaults toUTF-8. β¨--pot-fileβ the name of the template file to use when merging the message catalogs. if you don't specify it, then$lang_dir/$textdomain.potgets used if it exists. otherwise, a temporary template file will be created by scanning the Perl sources. mystery template, love that for us π΅οΈ--copyright-holderβ name of the application copyright holder. defaults to the copyright holder defined indist.ini. used only to generate a temporary template file.--bugs-emailβ email address where translation bug reports should be sent. defaults to the email address of the first distribution author, if available. also used only to generate a temporary template file. π--backupβ back up each language file before merging it. the backup files will have the suffix~. so like, safety first, bestie π«Ά
π«Ά AUTHOR π«Ά
David E. Wheeler <david@justatheory.com>
π CONTRIBUTOR π
Charles McGarvey <ccm@cpan.org>
π COPYRIGHT AND LICENSE π
this software is copyright (c) 2012-2017 by David E. Wheeler.
this is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. fr fr, go wild πβ¨
and that's the whole page, bestie π
this was Dist::..._merge(3pm) from perl v5.26.2, dated 2018-07-08 β no cap, that's the version and the date right there in the footer, we're just saying it cuter. mwah ππ
π¦ where this page comes from
- debian bookworm: libdist-zilla-localetextdomain-perl 0.91-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libdist-zilla-localetextdomain-perl 0.91-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu jammy: libdist-zilla-localetextdomain-perl 0.91-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: libdist-zilla-localetextdomain-perl 0.91-3 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms