python更改语言_如何在运行时在python/gettext中更改语言?

这是我第一次在Python中使用gettext(通常是gettext)。我了解很多事情,我的测试应用程序运行良好:一个命令行参数改变了输出消息的语言。在

现在我想让用户在启动时更改语言。在

我知道我可以加载许多翻译并在运行时安装其中一个,但是许多字符串已经用旧语言翻译,不会再更改。在

有简单的解决方案吗?在import gettext

language = "it"

t_en = gettext.translation("messages", localedir="locale", languages=["en"], fallback=True)

t_it = gettext.translation("messages", localedir="locale", languages=["it"], fallback=True)

def language_install():

if language == "it":

t_it.install()

else:

t_en.install()

language_install()

main_menu = [_("First item"), _("Second item"), _("Switch language"), _("Exit")]

while True:

print("MAIN MENU")

print("---------")

for (n, item) in enumerate(main_menu):

print("{:d}: ".format(n + 1) + item)

print("")

ans = input(_("Select an item") + ": ")

if ans == "4":

break

elif ans == "3":

if language == "en":

language = "it"

else:

language = "en"

language_install()

else:

print(_("You have selected item") + " " + ans)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值