我目前正在制作一个网站,我想实现多语言版本。实际上我并不需要,但我想这样做以防万一。
那么使用django翻译机制会降低性能吗?我特别想听到人们如何在真实的服务器上测试django翻译的性能。
提前谢谢。
发布于 2011-02-13 21:02:23
不能从经验上谈论真实服务器上的性能,但这里有几个提示:
一旦语言被激活(例如,使用django.utils.translation.activate("de")手动),Django就会将该语言的gettext翻译加载到内存中。加载MO文件后,所有进一步的查找都是纯CPU限制的(内存查找),因此性能损失应该无关紧要。
如果我没有理解错你的问题,你只想把可翻译的字符串放到站点中,这样你就可以在必要的时候翻译它们。在这种情况下,只需使用ugettext,{% trans %}等,就像你对一个全翻译网站所做的那样,但要设置USE_I18N = False。这样,Django就用只返回原始字符串的伪函数替换了gettext功能。开销将接近于零。如果你想添加另一种语言,只需激活i18n,并且不要忘记将翻译编译成MO文件。
https://stackoverflow.com/questions/4912908
复制相似问题