argparse模块“自动生成帮助和使用消息”。我可以给参数命名非英语名称并提供非英语帮助文本;但是,帮助输出将成为至少两种语言的混合,因为像“usage”、“positional arguments”、“optional arguments”和“show this help message and exit”这样的术语是自动以英语生成的。
如何用翻译替换此英文输出?
最好,我想在脚本内提供翻译,以便脚本在任何地方启动时生成相同的输出。
编辑:基于Jon-Eric的答案,这里有一个使用他的解决方案的示例:
如何用翻译替换此英文输出?
最好,我想在脚本内提供翻译,以便脚本在任何地方启动时生成相同的输出。
编辑:基于Jon-Eric的答案,这里有一个使用他的解决方案的示例:
import gettext
def Übersetzung(Text):
Text = Text.replace("usage", "Verwendung")
Text = Text.replace("show this help message and exit",
"zeige diese Hilfe an und tue nichts weiteres")
Text = Text.replace("error:", "Fehler:")
Text = Text.replace("the following arguments are required:",
"Die folgenden Argumente müssen angegeben werden:")
return Text
gettext.gettext = Übersetzung
import argparse
Parser = argparse.ArgumentParser()
Parser.add_argument("Eingabe")
Argumente = Parser.parse_args()
print(Argumente.Eingabe)
将文件保存为 Beispiel.py
,使用python3 Beispiel.py -h
命令将会得到以下帮助输出:
Verwendung: Beispiel.py [-h] Eingabe
positional arguments:
Eingabe
optional arguments:
-h, --help zeige diese Hilfe an und tue nichts weiteres
argument_groups
。 - hpaulj