wiem, że {% trans%} służy do tłumaczenia,
i jak mogę przetłumaczyć {% trans "To jest tytuł." %} na chiński.
dzięki
D:zjm_coderegister2>python D:Python25Libsite-packagesdjangobindjango-adm
in.py compilemessages
processing file django.po in D:zjm_coderegister2localecnLC_MESSAGES
msgfmt: iconv failure
Odpowiedzi:
4 dla odpowiedzi № 1Nie postępujesz zgodnie z dokumentacją?
3 kroki:
Dodaj
{% load i18n %}
w szablonie (jak mówi Michał Ludwiński). Połóż{% trans %}
w szablonach lub_
w kodzie python itp.Zbuduj słownik tłumaczeń:
Biegać
django-admin.py makemessages -l cn
(cn = kod języka chińskiego) w katalogu głównym projektu Django.Edytować
locale/cn/LC_MESSAGES/django.po
. Po prostu pod spodemmsgid "Hello!"
zmianamsgstr ""
domsgstr "nihao"
. Nie zmieniaj sięmsgid
. Możesz użyć Unicode, ale używam pinyin, dopóki nie upewnisz się, że wszystko inne działa.Biegać
django-admin.py compilemessages
Ustaw tłumaczenie języka. Może być konieczne włączenie oprogramowania pośredniego.
3 dla odpowiedzi № 2
zanim spróbujesz użyć tagu blokującego {% trans%}, musisz wpisać
{% load i18n %}
następnie możesz użyć znacznika, aby wpisać tekst, który chcesz przetłumaczyć (jedna rzecz jest ważna - tekst powinien być w głównym języku projektu ustawionym w ustawieniach)
jeśli masz już tekst do przetłumaczenia, wpisz w głównym katalogu swoich projektów:
./manage.py makemessages -l pl
gdzie "pl"może według kodu kraju wybranego języka. Ta komenda sprawi, że skrypty django wygenerują odpowiedni plik lokalizacyjny znajdujący się w ./locale/(language-code)/LC_MESSAGES/django.po.
po zrobieniu tłumaczenia po prostu piszesz
./manage.py compilemessages
i to powinno załatwić sprawę.
1 dla odpowiedzi nr 3