如何翻译bash脚本“echo messages”自动方法

如何翻译bash脚本“echo messages”自动方法

我有一个 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 手册了解该文件的格式。

当然,您(或其他人)必须提供每个字符串的翻译。无法自动翻译文本,尤其是断章取义的短字符串。自动翻译是科幻小说。

相关内容