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.
