Uses old Rust 2015
|0.21.2||Jul 21, 2021|
|0.21.1||Jul 16, 2021|
|0.21.0||Mar 3, 2021|
|0.19.9||Jul 26, 2019|
|0.19.8||May 23, 2018|
#40 in Internationalization (i18n)
7,327 downloads per month
Used in 9 crates (via gettext-rs)
Raw FFI bindings for gettext. Please see documentation for details.
On platforms that don't have a native gettext implementation, this crate compiles GNU gettext, which is licensed under LGPL. This means you have to abide by LGPL. If you don't want or can't do that, there are two ways out:
- in a GNU environment, enable
gettext-systemfeature (see below);
- dynamically link to GNU gettext library you obtained by some other means, like a package manager. See environment variables below.
gettext-system: if enabled, asks the crate to use the gettext implementation that's part of glibc or musl libc. This only works on:
Linux with glibc or musl libc;
Windows + GNU (e.g. MSYS2) with
gettext-develinstalled e.g. using:
pacman --noconfirm -S base-devel mingw-w64-x86_64-gcc libxml2-devel tar
If none of those conditions hold, the crate will proceed to building and statically linking its own copy of GNU gettext!
GETTEXT_SYSTEM: same as enabling
gettext-systemfeature (see above).
GETTEXT_DIR: if specified, a directory that will be used to find gettext installation. It's expected that under this directory, the include folder has header files, the bin folder has gettext binary, and a lib folder has the runtime libraries.
GETTEXT_LIB_DIR: if specified, a directory that will be used to find gettext libraries. Overrides the lib folder implied by
GETTEXT_INCLUDE_DIR: if specified, a directory that will be used to find gettext header files. Overrides the include folder implied by
GETTEXT_BIN_DIR: if specified, a directory that will be used to find gettext binaries. Overrides the bin folder implied by
GETTEXT_STATIC: if specified, gettext libraries will be statically rather than dynamically linked. This only affects
GETTEXT_*_DIRscenarios; the default behaviour and
GETTEXT_SYSTEMstill use static and dynamic linking respectively.
NUM_JOBS: sets the number of parallel build jobs.
USERPROFILE(on Windows): set the parent directory for the temporary build directory.
GNU gettext uses autotools, which don't allow some characters in paths, notably a space character. To get around that, this crate performs the build in a temporary directory which usually resides somewhere under /tmp or C:\Temp. The aforementioned env vars allow you to move the build directory elsewhere.
For target-specific configuration, each of these environment variables can be
prefixed by an upper-cased target, for example,
X86_64_UNKNOWN_LINUX_GNU_GETTEXT_DIR. This can be useful in cross compilation
This doesn't work on AppVeyor ATM. Use
SET GETTEXT_SYSTEM=true instead.