6

Tôi googled cho ví dụ GAE + jinja i18n nhưng không thể tìm thấy nó. Bất cứ ai có thể cung cấp một liên kết hoặc ví dụ làm việc?i18n với jinja2 + GAE

Nỗ lực của tôi sử dụng bản dịch django và tôi không biết đây có phải là cách đề xuất để thực hiện hay không.

import jinja2 
from django.utils import translation 
from django.utils.translation import gettext, ngettext, ugettext, ungettext, get_language, activate 
class DjangoTranslator(object): 

    def __init__(self): 
     self.gettext = gettext 
     self.ngettext = ngettext 
     self.ugettext = ugettext 
     self.ungettext = ungettext 
from jinja2 import Environment, FileSystemLoader 
class DjangoEnvironment(jinja2.Environment): 

    def get_translator(self, context): 
     return DjangoTranslator() 

jinja_environment = DjangoEnvironment(
    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)), extensions=['jinja2.ext.i18n']) 
jinja_environment.install_gettext_translations(translation) 

Cảm ơn bạn đã gợi ý hoặc tư vấn. Tôi cũng sử dụng một trình xử lý yêu cầu tùy chỉnh cho i18n: bài

from django.utils import translation 

class I18NHandler(webapp2.RequestHandler): 

    def render_template(self, file, template_args): 
     path = os.path.join(os.path.dirname(__file__), 'templates', 
          file) 
     self.response.out.write(template.render(path, template_args)) 

    def initialize(self, request, response): 
     webapp2.RequestHandler.initialize(self, request, response) 
     self.request.COOKIES = Cookies(self) 
     self.request.META = os.environ 
     self.reset_language() 

    def reset_language(self): 

     # Decide the language from Cookies/Headers 

     language = translation.get_language_from_request(self.request) 
     translation.activate(language) 
     self.request.LANGUAGE_CODE = translation.get_language() 

     # Set headers in response 
     self.response.headers['Content-Language'] = str(translation.get_language()) 
+1

jinja2 dành cho python (thử nghiệm) mới 2.7, chưa ổn định. dJango 1.2 chạy trên python2.5. Bạn đã googled 'django i18n ví dụ'? Rất nhiều trang trợ giúp [mẫu] (http://www.djangobook.com/en/1.0/chapter18/)? –

Trả lời