---
name: "Dist::Zilla::App::Command::msg_merge"
section: "3pm"
platform: "linux"
package: "libdist-zilla-localetextdomain-perl"
version: "0.91-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Dist::Zilla::App::Command::msg_merge"
---

# Dist::Zilla::App::Command::msg\_merge(3pm)

Merge localization strings into translation catalogs

## Name

Dist::Zilla::App::Command::msg\_merge - Merge localization strings into translation catalogs

## Synopsis

In *dist.ini*:

```
  [LocaleTextDomain]
  textdomain = My-App
  lang_dir = po
```

On the command line:

```
  dzil msg-init fr de
```

Later, after adding or modifying localizations strings:

```
  dzil msg-merge
```

## Description

This command merges localization strings into translation catalog files. The strings are merged from a GNU gettext \<http://www.gnu.org/software/gettext/\>-style language translation template, which can be created by the `"msg-scan"` command. If no template file is found or can be found, the Perl sources will be scanned to create a temporary one.

This command relies on the settings from the `"LocaleTextDomain"` plugin for its settings, and requires that the GNU gettext utilities be available.

### Options

*"--xgettext"*

The location of the `"xgettext"` program, which is distributed with GNU gettext \<http://www.gnu.org/software/gettext/\>. Defaults to just `"xgettext"` (or `"xgettext.exe"` on Windows), which should work if it's in your path. Not used if `"--pot-file"` is specified.

*"--msgmerge"*

The location of the `"msgmerge"` program, which is distributed with GNU gettext \<http://www.gnu.org/software/gettext/\>. Defaults to just `"msgmerge"` (or `"msgmerge.exe"` on Windows), which should work if it's in your path.

*"--encoding"*

The encoding to assume the Perl modules are encoded in. Defaults to `"UTF-8"`.

*"--pot-file"*

The name of the template file to use to merge the message catalogs. If not specified, `"$lang_dir/$textdomain.pot"` will be used if it exists. Otherwise, a temporary template file will be created by scanning the Perl sources.

*"--copyright-holder"*

Name of the application copyright holder. Defaults to the copyright holder defined in *dist.ini*. Used only to generate a temporary template file.

*"--bugs-email"*

Email address to which translation bug reports should be sent. Defaults to the email address of the first distribution author, if available. Used only to generate a temporary template file.

*"--backup"*

Back up each language file before merging it. The backup files will have the suffix *~*.

## 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.
