manpagez: man pages & more
info gettext
Home | html | info | man

File: gettext.info,  Node: Sticky flags,  Next: Entries with Context,  Prev: Workflow flags,  Up: PO Files

3.3 Sticky flags
================

   Sticky flags are flags that are set on an entry when the PO template
file is created, and that remain attached to it throughout the workflow.

   There are two kinds of sticky flags:
   • The ‘*-format’ flags, that are inferred from the ‘msgid’ and from
     the source code that surrounds the ‘msgid’.
   • Other flags, assigned by the programmer.

   The following ‘*-format’ flags exist.  More can be added in future
GNU gettext releases.

‘c-format’
‘no-c-format’
     These flags should not be added by a human.  Instead only the
     ‘xgettext’ program adds them.  In an automated PO file processing
     system as proposed here, the user's changes would be thrown away
     again as soon as the ‘xgettext’ program generates a new template
     file.

     The ‘c-format’ flag indicates that the untranslated string and the
     translation are supposed to be C format strings.  The ‘no-c-format’
     flag indicates that they are not C format strings, even though the
     untranslated string happens to look like a C format string (with
     ‘%’ directives).

     When the ‘c-format’ flag is given for a string the ‘msgfmt’ program
     does some more tests to check the validity of the translation.
     *Note msgfmt Invocation::, *note c-format Flag:: and *note
     c-format::.

‘objc-format’
‘no-objc-format’
     Likewise for Objective C, see *note objc-format::.

‘c++-format’
‘no-c++-format’
     Likewise for C++, see *note c++-format::.

‘python-format’
‘no-python-format’
     Likewise for Python, see *note python-format::.

‘python-brace-format’
‘no-python-brace-format’
     Likewise for Python brace, see *note python-format::.

‘java-format’
‘no-java-format’
     Likewise for Java ‘MessageFormat’ format strings, see *note
     java-format::.

‘java-printf-format’
‘no-java-printf-format’
     Likewise for Java ‘printf’ format strings, see *note java-format::.

‘csharp-format’
‘no-csharp-format’
     Likewise for C#, see *note csharp-format::.

‘javascript-format’
‘no-javascript-format’
     Likewise for JavaScript, see *note javascript-format::.

‘scheme-format’
‘no-scheme-format’
     Likewise for Scheme, see *note scheme-format::.

‘lisp-format’
‘no-lisp-format’
     Likewise for Lisp, see *note lisp-format::.

‘elisp-format’
‘no-elisp-format’
     Likewise for Emacs Lisp, see *note elisp-format::.

‘librep-format’
‘no-librep-format’
     Likewise for librep, see *note librep-format::.

‘rust-format’
‘no-rust-format’
     Likewise for Rust, see *note rust-format::.

‘go-format’
‘no-go-format’
     Likewise for Go, see *note go-format::.

‘ruby-format’
‘no-ruby-format’
     Likewise for Ruby, see *note ruby-format::.

‘sh-format’
‘no-sh-format’
     Likewise for Shell format strings, see *note sh-format::.

‘sh-printf-format’
‘no-sh-printf-format’
     Likewise for Shell ‘printf’ format strings, see *note sh-format::.

‘awk-format’
‘no-awk-format’
     Likewise for awk, see *note awk-format::.

‘lua-format’
‘no-lua-format’
     Likewise for Lua, see *note lua-format::.

‘object-pascal-format’
‘no-object-pascal-format’
     Likewise for Object Pascal, see *note object-pascal-format::.

‘modula2-format’
‘no-modula2-format’
     Likewise for Modula-2, see *note modula2-format::.

‘d-format’
‘no-d-format’
     Likewise for D, see *note d-format::.

‘ocaml-format’
‘no-ocaml-format’
     Likewise for OCaml, see *note ocaml-format::.

‘smalltalk-format’
‘no-smalltalk-format’
     Likewise for Smalltalk, see *note smalltalk-format::.

‘qt-format’
‘no-qt-format’
     Likewise for Qt, see *note qt-format::.

‘qt-plural-format’
‘no-qt-plural-format’
     Likewise for Qt plural forms, see *note qt-plural-format::.

‘kde-format’
‘no-kde-format’
     Likewise for KDE, see *note kde-format::.

‘boost-format’
‘no-boost-format’
     Likewise for Boost, see *note boost-format::.

‘tcl-format’
‘no-tcl-format’
     Likewise for Tcl, see *note tcl-format::.

‘perl-format’
‘no-perl-format’
     Likewise for Perl, see *note perl-format::.

‘perl-brace-format’
‘no-perl-brace-format’
     Likewise for Perl brace, see *note perl-format::.

‘php-format’
‘no-php-format’
     Likewise for PHP, see *note php-format::.

‘gcc-internal-format’
‘no-gcc-internal-format’
     Likewise for the GCC sources, see *note gcc-internal-format::.

‘gfc-internal-format’
‘no-gfc-internal-format’
     Likewise for the GNU Fortran Compiler sources up to GCC 14.x, see
     *note gfc-internal-format::.  These flags are deprecated.

‘ycp-format’
‘no-ycp-format’
     Likewise for YCP, see *note ycp-format::.

   Other flags, assigned by the programmer, are:

‘no-wrap’
     This flag influences the presentation of the entry in the PO file.
     By default, when a PO file is output by a GNU gettext program and
     the option ‘--no-wrap’ is not specified, message lines that exceed
     the output page width are split into several lines.  This flag
     inhibits this line breaking for the entry.  This is useful for
     entries whose lines are close to 80 columns wide.

© manpagez.com 2000-2026
Individual documents may contain additional copyright information.