---
name: "maketext"
section: "1p"
platform: "linux"
package: "liblocale-maketext-gettext-perl"
version: "1.32-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/maketext"
---

# maketext(1p)

translate and make messages

## NAME

maketext - translate and make messages

## SYNOPSIS

```
  maketext [OPTION] [--domain=TEXTDOMAIN] MSGKEY [PARAM...]
  maketext [OPTION] -s MSGKEY [PARAM...]
```

## DESCRIPTION

The `"maketext"` script translates a natural language message into the user's language, by looking up the translation in a message MO file, and process the plural transformation with Maketext.

The `"maketext"` script is a command-line interface to **Locale::Maketext::Gettext**(3) (and **Locale::Maketext**(3)).  It can be used in shell scripts, etc, to translate, maketext and return the result.  By this way, it enables Maketext to be integrated into other programming languages/systems, like bash/csh, python, PHP, C, etc.  It works like the command-line program gettext.

For example:

```
  % maketext -s "[*,_1,virus was,viruses were] found in [*,_2,file,files]." 0 1
  0 viruses were found in 1 file.
  % maketext -s "[*,_1,virus was,viruses were] found in [*,_2,file,files]." 1 3
  1 virus was found in 3 files.
  %
```

## OPTIONS

- \-d,--domain=TEXTDOMAIN

  Retrieve translated messages from TEXTDOMAIN.

- \-s

  Adds a new line to the end of the output so that it behaves like the \`echo' or the \`gettext' command.

- \-h,--help

  Display the help messages.

- \-V,--version

  Display version information and exit.

- MSGKEY

  The original text used to look up translated text.

- PARAM...

  Parameters to Maketext for the plural and other text functions.

## ENVIRONMENT

- TEXTDOMAIN

  TEXTDOMAIN is used to determine the text domain when the -d parameter is not given.

- TEXTDOMAINDIR

  TEXTDOMAINDIR is used to search the message catalog/MO file if it does not reside in the system locale directories.

## NOTES

Maketext language function override, like `"quant"` or `"numerate"`, is not available here.  Suggestions are welcome.

The current system locale directory search order is: /usr/share/locale, /usr/lib/locale, /usr/local/share/locale, /usr/local/lib/locale.  Suggestions are welcome.

## BUGS

Report bugs to imacat \<imacat@mail.imacat.idv.tw\>

## SEE ALSO

**Locale::Maketext**(3), **Locale::Maketext::TPJ13**(3), **Locale::Maketext::Gettext**(3), **Locale::Maketext::Gettext::Functions**(3), [**bindtextdomain**(3)](/bindtextdomain/3.md), [**textdomain**(3)](/textdomain/3.md). Also, please refer to the official GNU gettext manual at \<https://www.gnu.org/software/gettext/manual/\>.

## AUTHOR

imacat \<imacat@mail.imacat.idv.tw\>

## COPYRIGHT

Copyright (c) 2003-2021 imacat. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
