Django:不使用语言会话/cookie翻译字符串

3

在Django中,是否有一种方法可以将字符串翻译成除语言会话或cookie中指定的语言之外的其他语言?

我的意思是在调用ugettext时进行翻译。类似于这样,其中'en'是语言代码:

from django.utils.translation import ugettext as _

def translate():
   translated_string =  _('Translate me', 'en')
1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接