Obecnie pracuję nad lokalizacją językową Khan Academy, pobrałem źródło 8051 z Google Code. Po uzyskaniu informacji o ankiecie i wyświetleniu kodu online, projekt jest realizowany za pomocą jinja2 jako języka szablonowego. Mogę użyć Babel, aby wykonać moją pracę.Lokalizacja językowa Khan Academy
Z poniższej pracy, mogę wreszcie umożliwić {%trans%}
i {%endtrans%}
tag parse-stanie przez silnik szablon z następującą modyfikacją:
w webapp2_extra/jinja2.py:
from django.utils import translation
env.install_gettext_translations(translation)
w config_jinja2.py
-- put following line
"extensions": ['jinja2.ext.i18n']
jednak moja tłumaczone szablon *.mo
i *.po
(fr om pybabel) nieprawidłowo tłumaczy znacznik w wartości do docelowego języka. Myślę, że integracja babel powinna pochodzić z webapp2_extra.i18n.py, ale nie wiem, jak ją włączyć.
Jak kilka postów w Google zaznaczyć, że poniższy kod może działać:
from webapp2_extras import i18n
env.install_gettext_translations(i18n)
Jednak to nie dlatego, że nie rozpoznaje {%trans%}
tag. Czy ktoś ma doświadczenie w pracy nad tym samym problemem lub ma jakieś sugestie dotyczące problemu jinja2 i18n?
Doceń wszelkie sugestie.
Czy jesteś rekompilacji .mo i PO. pliki za pomocą narzędzi gettext? Wygląda jednak na to, że mają system podobny do Django do tłumaczenia, więc równie dobrze możesz sprawdzić dokumentację Django. – Lorenzo
Czy pracujesz w Khan Academy? –
Nie, jestem wolontariuszem, który tłumaczy Khan Academy na język chiński. Stara się wymyślić bardziej inteligentny sposób, zamiast modyfikować HTML. –