我正在编写一个小型 python web 应用程序(个人 KB 管理主要用于学习),具有良好的bottle.py
微框架,但一个问题让我大吃一惊:
在 Web 应用程序中提供内部化的最佳方式是什么?我应该使用pythongettext
还是其他东西,我应该写一个完整的模板{{translatethis}}
还是有更优雅的方法?
我应该直接从 python 处理翻译还是使用一些 JS 魔法来即时重新翻译模板?
谢谢
我正在编写一个小型 python web 应用程序(个人 KB 管理主要用于学习),具有良好的bottle.py
微框架,但一个问题让我大吃一惊:
在 Web 应用程序中提供内部化的最佳方式是什么?我应该使用pythongettext
还是其他东西,我应该写一个完整的模板{{translatethis}}
还是有更优雅的方法?
我应该直接从 python 处理翻译还是使用一些 JS 魔法来即时重新翻译模板?
谢谢
您可以将每个翻译保存在单独的文件中,如下所示:
英文.txt
greeting hi
name bob
阿拉伯语.txt
greeting اهلاً
name بوب
然后,通过迭代和拆分每一行,将所需的翻译加载到字典中。在这个例子中,加载 english.txt 应该返回类似translation = {'greeting': 'hi', 'name': 'bob'}
. 然后通过调用使用这个字典渲染一个模板template('{{greeting}} {{name}}!', translation)
。dir="rtl"
如果您使用从右到左的语言,还记得在 HTML 中进行设置。