
我有一個 bash 腳本,需要將其翻譯成其他語言。僅回顯訊息
有沒有一些自動方法,翻譯整個腳本,或者可以幫助我將所有訊息“echo”翻譯成其他語言的工具? (避免在Google翻譯器中輸入所有“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 手冊以了解該文件的格式。
當然,您(或其他人)必須提供每個字串的翻譯。無法自動翻譯文本,尤其是斷章取義的短字串。自動翻譯是科幻小說。