GNU bash --dump-po-strings功能解析及示例请求
Bash的
--dump-strings和--dump-po-strings选项详解 这两个选项的核心作用是提取bash脚本中以$开头的双引号字符串(即$"..."格式的国际化字符串),只是输出格式不同。先明确:bash里的$"..."是专门用于国际化的语法,当bash启用gettext支持时,这类字符串会被自动翻译为对应语言。
1. --dump-strings(等效于-D)
这个选项会直接将提取到的$"..."字符串按行输出,无额外格式,就是纯字符串列表。
示例
先创建一个测试脚本test.sh:
#!/bin/bash echo $"Hello, World!" echo $"Welcome to Bash scripting." echo "This is a normal string, not extracted." echo $"Goodbye!"
运行命令:
bash --dump-strings test.sh
输出结果:
Hello, World! Welcome to Bash scripting. Goodbye!
可以看到,只有$"..."包裹的字符串被提取,普通双引号字符串不会出现在输出里。
2. --dump-po-strings
这个选项会将提取到的字符串以GNU gettext PO文件格式输出,这种格式是国际化翻译的标准格式,方便后续进行翻译并生成可被bash识别的翻译文件。
示例
用同一个test.sh脚本,运行命令:
bash --dump-po-strings test.sh
输出结果:
msgid "Hello, World!" msgstr "" msgid "Welcome to Bash scripting." msgstr "" msgid "Goodbye!" msgstr ""
其中msgid是原始的待翻译字符串,msgstr是翻译后的内容(初始为空,需要翻译人员填写)。后续可以用msgfmt工具将这个PO文件转换成MO二进制文件,让bash加载后自动翻译这些字符串。
内容的提问来源于stack exchange,提问作者user14892865
相关产品推荐
相关产品推荐

