2013-01-09 3 views
2

오늘 django countries을 설치했습니다. 그것은 꽤 산뜻하게 작동합니다.장고 국가 : 번역하는 방법?

문서, 그것은 유감스럽게도 약간 얇은 말한다된다

COUNTRIES 두 부분 튜플 튜플 각각 국가 코드로 구성된 대응 좋게 제목 (및 병진) 국명.

Django 국제화의 일반적인 경로를 따라 가서 자동으로 선택하고 PO 파일에 국가를 정의 할 수 있습니까? 아니면 추가적인 마법이 필요합니까?

내가이처럼 구현 방법 :

from django_countries.countries import COUNTRIES 
from django_countries.fields import CountryField 

country    = CountryField(_(u'Country'), choices=COUNTRIES, blank=True) 

COUNTRIES이 확장에서 직접오고있다 그러므로 나는 각 나라 이름의 주위에 _(u)을 넣어 액세스 할 수 없습니다. (from django.utils.translation import ugettext_lazy as _)

답변

2

그냥 장고 번역 documentation을 따라가 자동으로 .po 파일에 ugettext_lazy 표시 문자열을 추가합니다. 그런 다음 원하는 언어로 메시지 문자열을 제공하십시오.

+0

감사합니다. Amir. 당신은'표시된 문자열들 '이 PO 파일에 들어 있다고 말했습니다. 나는 그것을 알고있다. 그러나 예제에 표시된대로 국가 문자열을 직접 표시 할 수는 없습니다. 이 경우 마킹은 어떻게 이루어 집니까? 이것은 질문입니다. – Houman

+1

'django-countries'의 코드를 탐색하고'countries.py'로 이동하면 모든 국가 이름이 이미 예를 들어. '('AF', _ (u'Afghanistan ')),' –

+0

아하. 고맙습니다. +1 – Houman

5

저와 같은 django-newbies의 경우 : 사이트의 settings.py에서 INSTALLED_APPS에 'django_countries'를 추가하면 트릭을 수행하게됩니다. 따라서 Aamir의 대답은 옳습니다. "장고가 번역을 발견하는 방법"절을 확인하십시오 (documentation).