]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commit
gettext: Update to version 0.24
authorAdolf Belka <adolf.belka@ipfire.org>
Tue, 18 Mar 2025 21:20:07 +0000 (22:20 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 19 Mar 2025 10:51:51 +0000 (10:51 +0000)
commitb1ac9033e3b1f32dd55e7f1126c28088b0e33577
tree93e81c1e901a59f7fe8350f9f00284cb1e5aff06
parenta9196a8a8800761033cdb44ce64a715a5e80d8c8
gettext: Update to version 0.24

- Update from version 0.22.5 to 0.24
- Update of rootfile
- Changelog
    0.24
# Programming languages support:
  * JavaScript:
    - xgettext now parses recursive JSX expressions correctly.
  * Rust:
    - xgettext now supports Rust.
    - 'msgfmt -c' now verifies the syntax of translations of Rust format
      strings.
    - A new example 'hello-rust' has been added.
  * C:
    - A new example 'hello-c-http' has been added, showing the use of
      GNU gettext in a multithreaded web server.
  * C++:
    - A new example 'hello-c++-gnome3' has been added.
  * Ruby:
    - A new example 'hello-ruby' has been added.
# Improvements for maintainers:
  * When xgettext creates the POT file of a package under Git version control,
    the 'POT-Creation-Date' in the POT file usually no longer changes
    gratuitously each time the POT file is regenerated.
# Caveat maintainers:
  * Building the po/ directory now requires GNU make on specific platforms:
    macOS, Solaris, AIX.
    0.23.1
* Bug fixes:
  - Building with libxml2 >= 2.12.0 and gcc >= 14 now works.
  - XML: The value of the xml:lang attribute, inserted by msgfmt, is now
    more correct.
    0.23
# Internationalized data formats:
  * XML:
    o The escaping of characters such as & < > has been changed:
      - No escaping is done any more by xgettext, when creating a POT file.
      - Instead, extra escaping can be requested for the msgfmt pass, when
        merging into an XML file.
      - The default value of 'escape' in the <gt:escapeRule> was "yes";
        now it is "no".
      This means that existing translations of older POT files may no longer
      fully apply. As a maintainer of a package that has translatable XML files,
      you need to regenerate the POT file and pass it on to your translators.
    o XML schemas for .its and .loc files are now provided.
    o The value of the xml:lang attribute, inserted by msgfmt, now conforms
      to W3C standards.
    o 'msgfmt --xml' accept an option --replace-text, that causes the output
      to be a mono-lingual XML file instead of a multi-lingual XML file.
    o xgettext and 'msgfmt --xml' now support DocBook XML files.
  * Desktop: xgettext now produces POT files with correct line numbers.
# Programming languages support:
  * Python:
    o xgettext now assumes source code for Python 3 rather than Python 2.
      This affects the interpretation of escape sequences in string literals.
    o xgettext now recognizes the f-string syntax.
  * Scheme:
    o xgettext now supports the option '-L Guile' as an alternative to
      '-L Scheme'.  They are nearly equivalent.  They differ in the
      interpretation of escape sequences in string literals: While
      'xgettext -L Scheme' assumes the R6RS and R7RS syntax of string literals,
      'xgettext -L Guile' assumes the syntax of string literals understood by
      Guile 2.x and 3.0 (without command-line option '--r6rs' or '--r7rs', and
      before a '#!r6rs' directive is seen).
    o xgettext now recognizes comments of the form '#; <expression>'.
  * Java: xgettext now has an improved recognition of format strings when the
    String.formatted method is used.
  * JavaScript:
    o xgettext now parses template literals inside JSX correctly.
    o xgettext has a new option --tag that customizes the behaviour of tagged
      template literals.
  * C#:
    o The build system and tools now also support 'dotnet' (.NET) as C#
      implementation.  In order to declare a preference for 'dotnet' over
      'mono', you can use the configure option '--enable-csharp=dotnet'.
    o xgettext now recognizes strings with embedded expressions (a.k.a.
      interpolated strings).
  * awk: xgettext now recognizes string concatenation by juxtaposition.
  * Smalltalk: xgettext now recognizes the string concatenation operator ','.
  * Vala: xgettext now has an improved recognition of format strings when the
    string.printf method is used.
  * Glade: xgettext has improved support for GtkBuilder 4.
  * Tcl: With the recently released Tcl 9.0, characters outside the Unicode BMP
    in Tcl message catalogs (.msg files) will work regardless of the locale's
    encoding.
  * Perl:
    o xgettext now reports warnings instead of fatal errors.
    o xgettext now recognizes strings with embedded expressions (a.k.a.
      interpolated strings).
  * PHP:
    o xgettext now recognizes strings with embedded expressions.
    o xgettext now scans Heredoc and Nowdoc strings correctly.
    o xgettext now regards the format string directives %E, %F, %g, %G, %h, %H
      as valid.
# Runtime behaviour:
  * In the C.UTF-8 locale, like in the C locale, the *gettext() functions
    now return the msgid untranslated. This is relevant for GNU systems,
    Linux with musl libc, FreeBSD, NetBSD, OpenBSD, Cygwin, and Android.
# Documentation:
  * The section "Preparing Strings" now gives more advice how to deal with
    string concatenation and strings with embedded expressions.
# xgettext:
  * Most of the diagnostics emitted by xgettext are now labelled as
    "warning" or "error".
# msgmerge:
  * The option '--sorted-output' is now deprecated.
# libgettextpo library:
  * This library is now multithread-safe.
  * The function 'po_message_set_format' now supports resetting a format string
    mark.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/common/gettext
lfs/gettext