python脚本中的多语言支持

otm*_*ger 1 python string multilingual

我有一个大型 python(2.7)脚本,它从数据库中读取数据并生成pdf格式的图片.我的照片上有标签等字符串......

现在我想为脚本添加多语言支持,因此我可以通过将变量传递给我的脚本来生成不同语言的相同图片.

我正在考虑将一个包含所有字符串及其翻译的类放在字典中.例如:

Strings['string1'] = {'de':'string in german', 'en': 'string in english'}
Run Code Online (Sandbox Code Playgroud)

我可以访问字符串

my_needed_string = 'string1'
selected_language = 'en'
Strings[my_needed_string][selected_language]
Run Code Online (Sandbox Code Playgroud)

有没有更好,更专业的方式来做到这一点?"更好"我的意思是更灵活,更容易维护?我有两种或更多种语言的至少80种不同的字符串.

谢谢

Guy*_*ely 7

请参阅python gettext模块以获取i18n支持

  • +1。对于像这样的简单情况,“gettext”可能就足够了。对于_not_的情况,您通常希望使用“babel”、“i18n”等工具(搜索 PyPI),这些工具要么构建在“gettext”之上,要么模拟“gettext”,因此它通常仍然是一个不错的起点。 (2认同)
  • 好吧,这个想法很简单,你用英语编写所有字符串并用 _() 包装它们,然后你可以添加任意数量的语言,同时将额外的语言字符串保留在源代码之外的单独文件中,我想你知道你的需要比我们更好的,这只是一个建议...... (2认同)