2017-02-22 2 views
0

Ich bin neu mit Modeltranslation und ich habe ein Problem. Wenn ich nach dem Erstellen meines Modells den Befehl manage.py makemigrations myapp ausführen und die zu übersetzenden Felder in translation.py registrieren, fügt die modeltranslation-App das übersetzte Feld nicht zum Modell hinzu. Die Felder sind jedoch in der Tabelle.Django, django-modeltranslation

Modellübersetzung: registrierte 0 Modelle für die Übersetzung() [pid: 8333].

in meinem setting.py

from django.utils.translation import ugettext_lazy as _ 
gettext = lambda s: s 
LANGUAGES = (
    ('hi', _('Hindi')), 
    ('en', _('English')), 

    ('ru', _('Russian')), 
    ('ur', _('Urdu')), 
    ('zh', _('Chinese')), 
) 



LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'), 
) 

LANGUAGE_CODE = 'hi' 

TIME_ZONE = 'UTC' 

USE_I18N = True 

USE_L10N = True 

USE_TZ = True 


# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.8/howto/static-files/ 
from modeltranslation.translator import translator 
STATIC_URL = '/static/' 

MODELTRANSLATION_DEFAULT_LANGUAGE = 'hi' 

MODELTRANSLATION_LANGUAGES = ('hi', 'en') 

MODELTRANSLATION_FALLBACK_LANGUAGES = ('hi', 'en') 

MODELTRANSLATION_PREPOPULATE_LANGUAGE = 'hi' 


MODELTRANSLATION_TRANSLATION_FILES = (
    'i18ntest.translation', 
) 

in meinem models.py

from django.db import models 
from django.utils.translation import ugettext_lazy 
from django.conf import settings 

    class MyThing(models.Model): 
     name = models.CharField(help_text=ugettext_lazy('This is the help text'),max_length = 150,null = True, blank = True) 
     def __unicode__(self): 
     return self.name 

# Create your models here. 


    class Profile(models.Model): 
     name = models.CharField(max_length = 150,null = True, blank = True) 

     def __unicode__(self): 
      return self.name 

in meinem translations.py

from modeltranslation.translator import register,translator, TranslationOptions 

from i18ntest.models import MyThing 

@register(MyThing) 

    class MyThingTranslationOptions(TranslationOptions): 
     fields = ('name', 

) 

#translator.register(MyThing, MyThingTranslationOptions) 

ich verwende django-modeltranslation 0,12 mit django 1.10

und Server-Status ist

(envi18n) [email protected]:~/vinod/i18n/i18n$ ./manage.py runserver 
modeltranslation: Registered 0 models for translation() [pid: 9065]. 
modeltranslation: Registered 0 models for translation() [pid: 9068]. 
Performing system checks... 

System check identified no issues (0 silenced). 
February 22, 2017 - 12:26:35 
Django version 1.10, using settings 'i18n.settings' 
Starting development server at http://127.0.0.1:8000/ 
Quit the server with CONTROL-C. 

Antwort

0

Sie einen Tippfehler in der Übersetzungsdatei Namen haben. Ich muss translation.py, Singular sein.

Verwandte Themen