2012-10-22 5 views
3

기본적으로 번역자의 클라이언트/프로젝트 개요를 포함하는 매우 작고 간단한 장고 프로젝트를 설정하고 있습니다. 따라서 사이트에는 번역자가 번역 할 언어가 명시되어 있어야합니다. 앞으로 추가 할 언어가 새로 추가되지는 않을 것입니다. 기본적으로 동일한 작업을 수행하는다국어 프로젝트 용 Django 데이터 모델

class project(models.Model): 
    project = models.ForeignKey(client) 
    title_eng = models.CharField(max_length=50) 
    title_pt = models.CharField(max_length=50) 
    #... 
    body_eng = models.CharField(max_length=250) 
    body_pt = models.CharField(max_length=250) 
    #... 
    time_stamp= models.DateField() 

은 내가 더 잘 transmeta를 사용하십니까 : 난 그냥이 같은 하나 개의 클래스, 뭔가 내 모든 것을 정의해야 하는가? 장점 단점? 조언을 짧게 적어 주시면 대단히 감사하겠습니다!

답변

2

웹 사이트 콘텐츠를 데이터베이스에 저장하려면 번역본도 분명히 저장해야합니다. 기본적으로 다양한 언어로 텍스트 필드를 복제합니다 (그랬던 것처럼). Django-transmeta는 똑같은 일을합니다. 주된 이점은 모든 모델에 새로운 언어를 추가하거나 새로운 필드에 대한 지원을 추가하여 한 줄의 코드 (실제로는 추상화 레이어)를 당신이 한 것과 똑같이), 그리고 데이터베이스를 동기화합니다. 나는 그것이 좋은 선택이라고 생각한다.

나머지는 Django i18n 기능을 사용하고 this을 살펴보십시오. 웹 사이트의 하드 코딩 된 콘텐츠에 적합합니다.

1

이 질문은 꽤 오래되었지만 찾고있는 사람들에게는 장고 - 모델 번역을 확인해야합니다. 그것은 모델 변환을 매우 간단하게하며 꽤 능동적으로 유지됩니다. 문서 도구 here