gettext i18n and l10n
核心概念:如何实现“编排”翻译常见相关命令速查表在 Linux 下, gettext 是类 Unix 系统中实现国际化(i18n)和本地化(l10n)的标准库与工 2026-5-8 03:18:21 Author: dyrnq.com(查看原文) 阅读量:6 收藏

在 Linux 下, gettext 是类 Unix 系统中实现国际化(i18n)本地化(l10n)的标准库与工具套件。

核心概念:如何实现“编排”翻译

同一个脚本在中文系统下显示“连接成功”,在英文系统下显示“Connected successfully”。gettext 实现了逻辑代码与翻译文本的分离。

  1. POT (Portable Object Template)翻译模板。它是从源码中提取出来的原始文本集合。
  2. PO (Portable Object)翻译文件。这是翻译人员编辑的人类可读文本文件,包含了“原文 -> 译文”的映射。
  3. MO (Machine Object)二进制翻译包。这是将 PO 文件编译后供程序高效读取的格式。

常见相关命令速查表

命令 用途 工程师解读
gettext 在 Shell 中获取翻译后的字符串。 运行时调用,读取 .mo 包。
ngettext 处理复数形式的翻译(如 1 file vs 2 files)。 解决不同语言复杂的复数语法逻辑。
envsubst 替换 Shell 变量到模板中。 经常用于动态生成 Nginx 配置文件。
msgmerge 将新的模板与旧的翻译文件合并。 当你更新了脚本内容,用它来保留已有的翻译。

文章来源: https://dyrnq.com/gettext-i18n-and-l10n/
如有侵权请联系:admin#unsafe.sh