2009-10-13 78 views
3

在django中是否有方法将字符串翻译为语言会话或cookie中指定的另一种语言?Django:在不使用语言会话/ cookie的情况下翻译字符串

我的意思是在调用ugettext的时候这样做。这样,在“连接”的东西是语言代码:

from django.utils.translation import ugettext as _ 

def translate(): 
    translated_string = _('Translate me', 'en') 

回答

5

通过django/middleware/locale.py看,好像你可以叫:

from django.utils import translation 
translation.activate(language) 

这里就是整个LocaleMiddleware类,为您的教诲:

def process_request(self, request): 
    language = translation.get_language_from_request(request) 
    translation.activate(language) 
    request.LANGUAGE_CODE = translation.get_language() 

def process_response(self, request, response): 
    patch_vary_headers(response, ('Accept-Language',)) 
    if 'Content-Language' not in response: 
     response['Content-Language'] = translation.get_language() 
    translation.deactivate() 
    return response 
+0

谢谢!这像一个魅力。 – kaba 2009-10-19 09:07:35

相关问题