我有一个 bash 脚本,需要将其翻译成其他语言。仅回显消息
有没有一些自动方法,翻译整个脚本,或者可以帮助我将所有消息“echo”翻译成其他语言的工具? (避免在谷歌翻译器中输入所有“echo”)
答案1
您无法更改某些语言设置,并且脚本的 echo 命令将神奇地变成另一种语言。
您可以执行以下操作之一:
- 获取语言文件。
- 创建一个 bash 脚本来转换原始 bash 脚本。
- 在 bash 脚本中创建一个转换输出的函数。
由于您不热衷于 dict 解决方案,因为它太谷歌翻译了...我敢打赌,采购对您来说是一个很好的解决方案。
一个简单的例子是;
/lang/en.sh
FILEMISSING="That file is missing..."
/lang/fr.sh
FILEMISSING="Ce fichier est manquant..."
实际脚本.sh
#!/bin/bash
LANGUAGE=${LANG:0:2}
source /lang/$LANGUAGE.sh
if [ ! -f "bob.txt" ]; then
echo "$FILEMISSING"
fi
答案2
您可以使用$"…"
语法来指定要根据语言环境进行翻译的字符串。
翻译必须在消息目录文件;请参阅 bash 手册了解该文件的位置,并参阅 Glibc 手册了解该文件的格式。
当然,您(或其他人)必须提供每个字符串的翻译。无法自动翻译文本,尤其是断章取义的短字符串。自动翻译是科幻小说。