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 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. See Invoking the msgfmt Program, Special Comments preceding Keywords and C Format Strings.

objc-format
no-objc-format

Likewise for Objective C, see Objective C Format Strings.

c++-format
no-c++-format

Likewise for C++, see C++ Format Strings.

python-format
no-python-format

Likewise for Python, see Python Format Strings.

python-brace-format
no-python-brace-format

Likewise for Python brace, see Python Format Strings.

java-format
no-java-format

Likewise for Java MessageFormat format strings, see Java Format Strings.

java-printf-format
no-java-printf-format

Likewise for Java printf format strings, see Java Format Strings.

csharp-format
no-csharp-format

Likewise for C#, see C# Format Strings.

javascript-format
no-javascript-format

Likewise for JavaScript, see JavaScript Format Strings.

scheme-format
no-scheme-format

Likewise for Scheme, see Scheme Format Strings.

lisp-format
no-lisp-format

Likewise for Lisp, see Lisp Format Strings.

elisp-format
no-elisp-format

Likewise for Emacs Lisp, see Emacs Lisp Format Strings.

librep-format
no-librep-format

Likewise for librep, see librep Format Strings.

rust-format
no-rust-format

Likewise for Rust, see Rust Format Strings.

go-format
no-go-format

Likewise for Go, see Go Format Strings.

ruby-format
no-ruby-format

Likewise for Ruby, see Ruby Format Strings.

sh-format
no-sh-format

Likewise for Shell format strings, see Shell Format Strings.

sh-printf-format
no-sh-printf-format

Likewise for Shell printf format strings, see Shell Format Strings.

awk-format
no-awk-format

Likewise for awk, see awk Format Strings.

lua-format
no-lua-format

Likewise for Lua, see Lua Format Strings.

object-pascal-format
no-object-pascal-format

Likewise for Object Pascal, see Object Pascal Format Strings.

modula2-format
no-modula2-format

Likewise for Modula-2, see Modula-2 Format Strings.

d-format
no-d-format

Likewise for D, see D Format Strings.

smalltalk-format
no-smalltalk-format

Likewise for Smalltalk, see Smalltalk Format Strings.

qt-format
no-qt-format

Likewise for Qt, see Qt Format Strings.

qt-plural-format
no-qt-plural-format

Likewise for Qt plural forms, see Qt Format Strings.

kde-format
no-kde-format

Likewise for KDE, see KDE Format Strings.

boost-format
no-boost-format

Likewise for Boost, see Boost Format Strings.

tcl-format
no-tcl-format

Likewise for Tcl, see Tcl Format Strings.

perl-format
no-perl-format

Likewise for Perl, see Perl Format Strings.

perl-brace-format
no-perl-brace-format

Likewise for Perl brace, see Perl Format Strings.

php-format
no-php-format

Likewise for PHP, see PHP Format Strings.

gcc-internal-format
no-gcc-internal-format

Likewise for the GCC sources, see GCC internal Format Strings.

gfc-internal-format
no-gfc-internal-format

Likewise for the GNU Fortran Compiler sources up to GCC 14.x, see GFC internal Format Strings. These flags are deprecated.

ycp-format
no-ycp-format

Likewise for YCP, see YCP Format Strings.

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.