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

Download history 17584/week @ 2024-03-14 19814/week @ 2024-03-21 17340/week @ 2024-03-28 14015/week @ 2024-04-04 15276/week @ 2024-04-11 15017/week @ 2024-04-18 13511/week @ 2024-04-25 18513/week @ 2024-05-02 17663/week @ 2024-05-09 16236/week @ 2024-05-16 15541/week @ 2024-05-23 14937/week @ 2024-05-30 16906/week @ 2024-06-06 18877/week @ 2024-06-13 16664/week @ 2024-06-20 13296/week @ 2024-06-27

每月下载量67,854
用于27crate(2个直接使用)

MIT许可协议

6.5MB
297

gettext-sys

gettext的原始FFI绑定。请参阅文档以获取详细信息。

许可

在不具备本地gettext实现的平台上,此crate会编译GNU gettext,它根据LGPL许可。这意味着您必须遵守LGPL。如果您不希望或不允许这样做,有两个解决方案:

  1. 在GNU环境中,启用gettext-system特性(见下文);
  2. 通过其他方式(如包管理器)动态链接到您获得的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_DIRGETTEXT_*_DIR 场景;默认行为和 GETTEXT_SYSTEM 分别使用静态和动态链接。

  • NUM_JOBS:设置并行构建作业的数量。

  • TMPDIR(在Unix上),TMPTEMPUSERPROFILE(在Windows上):设置临时构建目录的父目录。

    GNU gettext使用autotools,autotools不允许在路径中使用一些字符,尤其是空格字符。为了解决这个问题,这个crate在临时目录中执行构建,这个临时目录通常位于 /tmpC:\Temp 之下。上述环境变量允许您将构建目录移动到其他位置。

对于特定目标的配置,这些环境变量可以由大写的目标名称作为前缀,例如,X86_64_UNKNOWN_LINUX_GNU_GETTEXT_DIR。这在交叉编译环境中可能很有用。

目前AppVeyor上不起作用。请使用 SET GETTEXT_SYSTEM=true 代替。

依赖关系