6个版本
使用旧Rust 2015
0.21.3 | 2022年3月16日 |
---|---|
0.21.2 | 2021年7月21日 |
0.21.0 | 2021年3月3日 |
0.19.9 | 2019年7月26日 |
0.19.8 | 2018年5月23日 |
在国际化 (i18n)中排名147
每月下载量67,854
用于27个crate(2个直接使用)
6.5MB
297 行
gettext-sys
gettext的原始FFI绑定。请参阅文档以获取详细信息。
许可
在不具备本地gettext实现的平台上,此crate会编译GNU gettext,它根据LGPL许可。这意味着您必须遵守LGPL。如果您不希望或不允许这样做,有两个解决方案:
- 在GNU环境中,启用
gettext-system
特性(见下文); - 通过其他方式(如包管理器)动态链接到您获得的GNU gettext库。请参阅下面的环境变量。
特性
-
gettext-system
:如果启用,将要求crate使用glibc或musl libc中的gettext实现。这仅在-
Linux带有glibc或musl libc时有效;
-
安装了
gettext-devel
的Windows + GNU(例如MSYS2)上有效,例如使用pacman --noconfirm -S base-devel mingw-w64-x86_64-gcc libxml2-devel tar
如果不符合上述任何条件,crate将开始构建并静态链接其自己的GNU gettext副本!
-
环境变量
-
GETTEXT_SYSTEM
:与启用gettext-system
特性相同(见上文)。 -
GETTEXT_DIR
:如果指定,将用于查找gettext安装的目录。预计在此目录下,有包含头文件的include文件夹,包含gettext二进制文件的bin文件夹,以及包含运行时库的lib文件夹。 -
GETTEXT_LIB_DIR
:如果指定,将用于查找gettext库的目录。覆盖由GETTEXT_DIR
(如果指定)隐含的lib文件夹。 -
GETTEXT_INCLUDE_DIR
:如果指定,将用于查找gettext头文件的目录。覆盖由GETTEXT_DIR
(如果指定)隐含的include文件夹。 -
GETTEXT_BIN_DIR
:如果指定,将用于查找gettext二进制文件的目录。覆盖由GETTEXT_DIR
(如果指定)隐含的bin文件夹。 -
GETTEXT_STATIC
:如果指定,gettext库将以静态方式而不是动态方式链接。这仅影响GETTEXT_DIR
和GETTEXT_*_DIR
场景;默认行为和GETTEXT_SYSTEM
分别使用静态和动态链接。 -
NUM_JOBS
:设置并行构建作业的数量。 -
TMPDIR
(在Unix上),TMP
,TEMP
,USERPROFILE
(在Windows上):设置临时构建目录的父目录。GNU gettext使用autotools,autotools不允许在路径中使用一些字符,尤其是空格字符。为了解决这个问题,这个crate在临时目录中执行构建,这个临时目录通常位于 /tmp 或 C:\Temp 之下。上述环境变量允许您将构建目录移动到其他位置。
对于特定目标的配置,这些环境变量可以由大写的目标名称作为前缀,例如,X86_64_UNKNOWN_LINUX_GNU_GETTEXT_DIR
。这在交叉编译环境中可能很有用。
目前AppVeyor上不起作用。请使用 SET GETTEXT_SYSTEM=true
代替。