我試圖將django-transmeta整合到我在Ubuntu 10.10上的django安裝中(系統上的python-django版本是1.2.3-1ubuntu0.2.10。 10.1) 按照項目主頁/摘要here中的說明,我最終得到了數據庫中的正確新字段,但是當我打開管理界面並嘗試添加對象時,翻譯後的字段「description」未顯示在管理面板和它只顯示無。 展望源代碼和後位調試,變量傳遞給模板 ,它的值是無似乎field.label_tagdjango-transmeta進入管理員,在該領域顯示「None」.label_tag
這裏面models.py類:
class Place(models.Model):
__metaclass__ = TransMeta
lat = models.FloatField(blank=True, null=True)
lon = models.FloatField(blank=True, null=True)
alt = models.FloatField(blank=True, null=True)
description = models.CharField(max_length=100)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
attributes = models.ManyToManyField(Attribute, through='PlaceAttribute')
is_online = models.BooleanField(default=False)
class Meta:
translate = ('description',)
def __unicode__(self):
return self.description
在settings.py我加了這一點:
LANGUAGE_CODE = 'en-us'
ugettext = lambda s: s # dummy ugettext function, as django's docs say
LANGUAGES = (
('en-us', ugettext('English')),
('it', ugettext('Italian')),
('de', ugettext('Deutsch')),
('fr', ugettext('French')),
('ru', ugettext('Russian')),
('cn', ugettext('Chinese')),
('th', ugettext('Thai')),
)
TRANSMETA_DEFAULT_LANGUAGE = 'en-us'
,這是結果的廣告截圖分鐘接口: (對不起,我是新來的,並在反垃圾郵件問題的原因不能發表圖片,還) admin screenshot here
在上述管理形式,它應該是這樣的:
Description en-us:
Description it:
Description de:
....
有無你對這個問題有什麼想法?或者,也許這是一個錯誤?
爲了改善我的調試,你能否指點我在django管理員視圖中的field.label_tag生成的正確位置? (我對Django相當陌生)
如果需要某些調試數據,請告訴我,我很樂意提供它。
在此先感謝
法比奧
感謝Aminho,它是這樣的,現在它的工作,豎起大拇指;) 我不能投你的答案,但是,因爲我是新來的,但我會盡快來回到這個。 – FabioP 2011-04-04 14:18:20
不用擔心投票,不要忘記使用'manage.py makemessages -l'爲每種語言生成消息,翻譯並編譯它們*如果您還想翻譯管理界面* –
2011-04-04 15:02:26