PackageTrack
Sign in Get early access

gettext-rs

Safe bindings for gettext

0.8.0 4.5M downloads/mo #4726 most downloaded on crates.io gettext-rs/gettext-rs

What this package is like to depend on

Last release 18 days ago

05 Aug 2026

Ships unpredictably

gaps range from 3 weeks to 3.4 years

Nearly every release is documented

notes for 19 of 19 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

19 releases · first in 2016

6 releases in the last 12 months

see the full history below

Release timeline

19 releases · Feb 2016 to Aug 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 19
  1. 0.8.0 05 Aug 2026
    Release notes

    Changed

    • Allow gettext-sys 0.27 which bundles GNU gettext 1.0 (Alexander Batischev)

    Security

    • Mark setlocale() and TextDomain::init() as unsafe because calling setlocale() from multiple threads can lead to memory corruption. See updated docs for details on how to call those functions safely (#64) (Alexander Batischev)
    Open source →
    Release notes

    Changed

    • Allow gettext-sys 0.27 which bundles GNU gettext 1.0 (Alexander Batischev)

    Security

    • Mark setlocale and TextDomain::init() as unsafe because calling setlocale from multiple threads can lead to memory corruption. See updated docs for details on how to call those functions safely (#64) (Alexander Batischev)
    Open source →
  2. 0.7.7 11 Oct 2025
    Release notes

    Changed

    • Allow gettext-sys 0.26
    Open source →
    Release notes

    Changed

    • Allow gettext-sys 0.26
    Open source →
  3. 0.7.6 11 Oct 2025
    Release notes

    Changed

    • Allow gettext-sys 0.25
    Open source →
    Release notes

    Changed

    • Allow gettext-sys 0.25
    Open source →
  4. 0.7.5 11 Oct 2025
    Release notes

    Changed

    • Document that GNU gettext tools support Rust since 0.24, so xgettext can be
      used in place of xtr (#139) (Bruno Haible)
    • Allow gettext-sys 0.24
    Open source →
    Release notes

    Changed

    • Document that GNU gettext tools support Rust since 0.24, so xgettext can be used in place of xtr (#139) (Bruno Haible)
    • Allow gettext-sys 0.24
    Open source →
  5. 0.7.4 10 Oct 2025
    Release notes

    Changed

    • Allow gettext-sys 0.23
    Open source →
    Release notes

    Changed

    • Allow gettext-sys 0.23
    Open source →
  6. 0.7.3 10 Oct 2025
    Release notes

    Added

    • Support for glibc/libintl shipped with GNU/Hurd (Pino Toscano)
    Open source →
    Release notes

    Added

    • Support for glibc/libintl shipped with GNU/Hurd (Pino Toscano)
    Open source →
  7. 0.7.2 10 Oct 2024
    Release notes

    Changed

    • Allow gettext-sys 0.22
    Open source →
  8. 0.7.1 30 Aug 2024
    Release notes

    Fixed

    • TextDomain not following symlinks (Julian Schmidhuber)
    Open source →
  9. 0.7.0 25 Apr 2021
    Release notes

    Changed

    • If XDG_DATA_DIRS environment variable is not set, or is empty, TextDomain builder defaults to "/usr/local/share/:/usr/share/" instead of current directory. This is in line with XDG base directory specification. (Alexander Batischev)
    Open source →
  10. 0.6.0 03 Mar 2021
    Release notes

    Added

    • Documentation on when functions will panic (Alexander Batischev)
    • Functions to query gettext configuration. These are wrappers over textdomain(NULL), bindtextdomain(domain, NULL), and bind_textdomain_codeset(domain, NULL) (Alexander Batischev)
    • impl Error for TextDomainError, which makes it easier to use with ? operator (Alexander Batischev)

    Changed

    • Users are required to configure gettext for UTF-8, either explicitly with bind_textdomain_codeset(), or implicitly with setlocale() if they understand the consequences. Failure to do this might lead to panics and/or garbled data (Alexander Batischev)
    • Functions now require more specific types, like Into<String> and Into<PathBuf> (Alexander Batischev)
    • Functions that take multiple strings no longer require all strings to be of exact same type (i.e. you can mix String and &str) (Alexander Batischev)
    • Functions that configure gettext (textdomain(), bindtextdomain(), bind_textdomain_codeset()) now return a Result to indicate failures (Alexander Batischev)
    • Macros now behave like format!(gettext(…), …), which is more useful than previous behaviour of gettext(format!(…, …)) (Rasmus Thomsen)
    • On Windows, TextDomain now uses wbindtextdomain (Alexander Batischev)
    • Bump gettext-sys dependency to 0.21 (Alexander Batischev)

    Fixed

    • CStrings being dropped while their pointers are in use (Alexander Batischev)

    Removed

    • Default instance for TextDomain. Default-constructed instance was useless since it would panic on init() as name is not set (Alexander Batischev)
    Open source →
  11. 0.5.0 01 Sep 2020
    Release notes

    Changed

    • Bump locale_config dependency to 0.3 (Josh Stone)
    Open source →
  12. 0.4.4 22 Sep 2019
    Release notes

    Added

    • Macros that do gettext(format!(…, …)) (Rasmus Thomsen)
    Open source →
  13. 0.4.3 16 Aug 2019
    Release notes

    Added

    • Clone and Copy impls for LocaleCategory (Cecile Tonglet)
    Open source →
  14. 0.4.2 26 Jul 2019
    Release notes

    Changed

    • Bump gettext-sys dependency to 0.19.9 (Konstantin V. Salikhov)
    Open source →
  15. 0.4.1 17 Aug 2018
    Release notes

    Added

    • pgettext and npgettext functions that support contexts (Daniel García Moreno)
    Open source →
  16. 0.4.0 23 May 2018
    Release notes

    Added

    • TextDomain builder that abstracts over setlocale, textdomain, bindtextdomain, and bind_textdomain_codeset (François Laignel)

    Changed

    • setlocale now returns Option<String> to indicate that the requested locale couldn't be installed (Brian Olsen)

    Removed

    • Raw FFI bindings are now in gettext-sys crate (Brian Olsen)
    Open source →
  17. 0.3.0 04 Feb 2016
    Release notes

    Changed

    • Main module renamed from gettext_rs to gettextrs (Konstantin V. Salikhov)
    Open source →
  18. 0.2.0 03 Feb 2016
    Release notes

    Added

    • Support for plurals (d*gettext, n*gettext) (Konstantin V. Salikhov)
    • Bindings for bind_textdomain_codeset (Konstantin V. Salikhov)
    Open source →
  19. 0.1.0 02 Feb 2016
    Release notes

    Initial release (Konstantin V. Salikhov, Faizaan).

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive