Python Web应用程序国际化

时间:2013-02-06 17:43:14

标签: python internationalization bottle

我正在编写一个小型python Web应用程序(个人知识管理主要用于学习),具有良好的bottle.py微框架,但是一个问题让我大吃一惊:

在Web应用程序中提供内部化的最佳方法是什么?我应该使用python gettext还是别的,我应该编写一个充满{{translatethis}}的模板,还是有更优雅的方法?

我应该直接从python处理翻译还是使用一些JS魔法来动态重新翻译模板?

由于

1 个答案:

答案 0 :(得分:0)

您可以将每个翻译保存在单独的文件中,如下所示:

english.txt

greeting hi
name bob

arabic.txt

greeting اهلاً
name بوب

然后,通过迭代并拆分每一行,将所需的翻译加载到字典中。在此示例中,加载english.txt应返回类似translation = {'greeting': 'hi', 'name': 'bob'}的内容。 然后通过调用template('{{greeting}} {{name}}!', translation)使用此字典呈现模板。如果您使用的是从右向左的语言,请务必在HTML中设置dir="rtl"