django-model i18n este o aplicatie Django care încearcă să facă date multilingve în modele mai puțin dureroase.
Instalare
* Depozit clonare
Configurare
Du-te la urls.py în directorul rădăcină proiect și a pus această
& Nbsp; & nbsp; & nbsp; de la încarcatoare de import model_i18n
& Nbsp; & nbsp; & nbsp; loaders.autodiscover_admin ()
De asemenea, se adaugă "django.middleware.locale.LocaleMiddleware" în MIDDLEWARE_CLASSES ::
& Nbsp; & nbsp; & nbsp; MIDDLEWARE_CLASSES = (
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Django.middleware.common.CommonMiddleware ',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Django.contrib.sessions.middleware.SessionMiddleware ',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ## DACĂ CACHE MIDDLEWARE este setarea pus aici
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Django.middleware.locale.LocaleMiddleware ',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Django.middleware.csrf.CsrfViewMiddleware ',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Django.contrib.auth.middleware.AuthenticationMiddleware ',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Django.contrib.messages.middleware.MessageMiddleware ',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Django.contrib.flatpages.middleware.FlatpageFallbackMiddleware ',
& Nbsp; & nbsp; & nbsp; )
și în cele din urmă a pus în INSTALLED_APPS ::
& Nbsp; & nbsp; & nbsp; INSTALLED_APPS = (
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Model_i18n ',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Django.contrib.admin ',
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; )
** Când inscrie model_i18n trebuie să fie prima în lista de INSTALLED_APPS. **
Utilizare
1) În directorul cererii crea un translations.py
2) În interiorul fișierului trebuie să vă înregistrați traduceri ca acest exemplu ::
& Nbsp; & nbsp; & nbsp; de la model_i18n translator import
& Nbsp; & nbsp; & nbsp; de la app.models postul import
& Nbsp; & nbsp; & nbsp; clasă ItemTranslation (translator.ModelTranslation):
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; câmpuri = ('title',)
& Nbsp; & nbsp; & nbsp; translator.register (punctul, ItemTranslation)
Caracteristici :
- instalare și integrare ușoară. Nu există date sau schemă durere de migrație.
- fiecare model în mai multe limbi de magazine E traduceri într-un tabel separat, care de la Django este doar un nou model creat dinamic, noi numim acest model model de traducere.
- Puteți adăuga (sau chiar picătură) sprijin i18n pentru un model de la orice moment și nu veți avea nevoie să migreze orice date sau afecta modelul original (noi numim acest model de master) definirea masă. Acest lucru vă permite să dezvolte aplicațiile fără să se gândească în partea i18n (vă chiar puteți încărca date pentru limba principală și nu va trebui să-l migreze) și atunci când sunt confortabil cu ea înregistrare în opțiunile multilingve și începe să lucreze cu conținutul traduceri.
- 3rd party apps prietenos. Puteți adăuga sprijin i18n a modelelor existente, fără a modifica definiția acestora la toate (cred că în aplicațiile nu se poate modifica direct de exemplu djago.contrib.flatpages).
Cerințe :
- Python
- Django
Comentariile nu a fost găsit