Python Django 프레임 워 크 에 언어 파일 만 들 기

번역 문자열 을 표시 하면 해당 하 는 언어 번역 정 보 를 작성 하거나 가 져 와 야 합 니 다.이곳 이 바로 그것 이 어떻게 일 하 는 지 이다.
지역 제한
Django 는 자신 도 번역 되 지 않 은 지역 으로 응용 을 현지 화 하 는 것 을 지원 하지 않 습 니 다.이런 상황 에서, 그것 은 너의 번역 파일 을 무시 할 것 이다.만약 당신 이 이것 을 시도 하고 Django 가 그것 을 지지 하고 싶다 면, 당신 은 이러한 혼합 체 인 C 엔 C 엔 C 에 당신 의 번역문 과 Django 에서 온 영어 가 섞 여 있 는 것 을 피 할 수 없 을 것 입 니 다.만약 당신 의 응용 프로그램 이 Django 에 없 는 지역 을 지원 해 야 한다 면, 최소한 Django core 의 최소 번역 이 필요 할 것 입 니 다.메시지 파일
첫 번 째 단 계 는 하나의 언어 를 위해 정보 파일 을 만 드 는 것 이다.정보 파일 은 특정한 언어 번역 문자열 과 이 문자열 에 대한 번역 을 포함 하 는 텍스트 파일 입 니 다.정보 파일 은. po 를 접미사 이름 으로 합 니 다.
Django 에는 빈 / make - messages. py 라 는 도구 가 있 습 니 다. 이 파일 들 의 생 성과 유지 보수 작업 을 완 료 했 습 니 다.다음 명령 을 실행 하여 정보 파일 을 만 들 거나 업데이트 합 니 다.

django-admin.py makemessages -l de


그 중 de 는 만 든 정보 파일 의 언어 코드 입 니 다.여기 서 언어 코드 는 로 컬 형식 으로 제 시 됩 니 다.예 를 들 어 브라질 지역 의 포르투갈 어 는 pt 이다.BR, 호주 지역 의 독일 어 는 de 입 니 다.AT 。
이 스 크 립 트 는 세 곳 중 하나 에서 실행 되 어야 합 니 다.
  •     Django 프로젝트 루트 디 렉 터 리..
  •     Django 에서 사용 할 루트 디 렉 터 리 입 니 다
  •     django 루트 디 렉 터 리 (Subversion 에서 디 렉 터 리 를 찾 는 것 이 아니 라 $PYTHONPATH 링크 나 이 경로 어 딘 가 에 있 습 니 다).이것 은 단지 당신 이 Django 자신 을 위해 번역 을 만 들 때 와 관련 이 있 습 니 다

  • 이 스 크 립 트 는 프로젝트 원본 트 리 나 프로그램 원본 트 리 를 옮 겨 다 니 며 번역 을 위해 표 시 된 모든 문자열 을 추출 합 니 다.locale / LANG / LCMESSAGES 디 렉 터 리 에 정보 파일 을 만 들 거나 업데이트 하 였 습 니 다.위의 de 에 대해 서 는 locale / de / LC 일 것 입 니 다.MESSAGES/django.po。
    기본적으로 django - admin. py makemessages 는. html 확장자 가 있 는 모든 파일 을 검사 합 니 다.  부족 한 값 을 다시 불 러 올 준 비 를 위해 -- extension 또는 - e 옵션 을 사용 하여 파일 확장 자 를 지정 하여 검사 합 니 다.
    
    django-admin.py makemessages -l de -e txt
    
    

    쉼표 와 (또는) 로 - e 또는 -- extension 을 사용 하여 여러 확장 자 를 구분 합 니 다.
    
    django-admin.py makemessages -l de -e html,txt -e xml
    
    

    JavaScript 번역 디 렉 터 리 를 만 들 때 특별한 Django 필드: not - e js 를 사용 해 야 합 니 다.
    gettext 가 없 나 요?
    gettext 구성 요소 가 설치 되 어 있 지 않 으 면 Make - messages. py 는 빈 파일 을 만 들 것 입 니 다.이 경우 gettext 구성 요 소 를 설치 하거나 영어 정보 파일 (conf / locale / en / LC MESSAGES / Django. po) 만 복사 하 는 것 을 시작 으로 합 니 다.빈 번역 정보 파일 일 뿐 입 니 다.
    윈도 에서 일 하 세 요?
    윈도 우 를 사용 하고 있 고 django - admin makemessages 가 작 동 할 수 있 도록 GNU gettext 공용 프로그램 을 설치 해 야 한다 면 아래 윈도 우즈 소절 의 gettext 부분 을 참조 하여 더 많은 정 보 를 얻 으 십시오.
    . po 파일 형식 이 직관 적 입 니 다.모든. po 파일 은 번역 관리자 의 연락 정보 와 같은 작은 메타 데 이 터 를 포함 하고 있 으 며, 파일 의 대부분 내용 은 간단 한 번역 문자열 과 언어 번역 결과 에 대응 하 는 매 핑 관계 의 목록 입 니 다.
    예 를 들 어 Django 프로그램 에 'Welcome to my site' 의 번역 대기 문자열 이 포함 되 어 있다 면 다음 과 같 습 니 다.
    
    _("Welcome to my site.")
    
    

    django - admin. py makemessages 는 다음 세 션 의 메 시 지 를 포함 하 는. po 파일 을 만 들 것 입 니 다.
    
    #: path/to/python/module.py:23
    msgid "Welcome to my site."
    msgstr ""
    
    

    빠 른 설명:
  •     msgid 는 원본 파일 에 나타 난 번역 문자열 입 니 다.변경 하지 마 세 요
  •     msgstr 는 해당 언어의 번역 결과 입 니 다.처음 만 들 었 을 때 빈 문자열 이 었 습 니 다. 이 때 는 당신 이 완성 해 야 합 니 다.문장의 앞 뒤 따옴표 를 잃 어 버 리 지 않도록 주의해 라
  •     편리 한 점 으로 모든 메 시 지 는 \ # 를 접두사 로 하 는 주석 줄 을 포함 하고 위의 msgid 줄, 파일 이름과 줄 번 호 를 찾 습 니 다

  • 비교적 긴 정보 에 대해 서도 처리 방법 이 있다.msgstr (또는 msgid) 뒤에 붙 어 있 는 문자열 은 빈 문자열 입 니 다.그리고 진짜 내용 은 그 아래 의 몇 줄 에 있다.이 문자열 들 은 직접 연 결 될 것 이다.빈 칸 없 이 연결 되 기 때문에 문자열 끝의 빈 칸 을 잊 지 마 세 요.
    새로 만 든 번역 문자열 에 대해 모든 소스 코드 와 템 플 릿 을 검사 하고 모든 언어의 정보 파일 을 업데이트 하려 면 다음 명령 을 실행 할 수 있 습 니 다.
    
    django-admin.py makemessages -a
    
    

    컴 파일 정보 파일
    정보 파일 을 만 든 후에 매번 수정 을 할 때마다 gettext 가 사용 할 수 있 도록 더욱 효율 적 인 형식 으로 재 컴 파일 해 야 합 니 다.django - admin. py copilemessages 를 사용 하여 완성 할 수 있 습 니 다.
    이 도 구 는 모든 유효한. po 파일 에 작용 합 니 다. 최적화 된 바 이 너 리. mo 파일 을 만들어 gettext 에서 사용 할 수 있 습 니 다.django - admin. py makemessages 를 실행 할 수 있 는 디 렉 터 리 에서 django - admin. py copilemessages 를 실행 합 니 다.
    
    django-admin.py compilemessages
    
    

    그렇게 됐어.너의 번역 성 과 는 이미 사용 할 수 있다.
    컴 파일 정보 파일
    정보 파일 을 만 든 후에 매번 수정 을 할 때마다 gettext 가 사용 할 수 있 도록 더욱 효율 적 인 형식 으로 재 컴 파일 해 야 합 니 다.django - admin. py copilemessages 를 사용 하여 완성 할 수 있 습 니 다.
    이 도 구 는 모든 유효한. po 파일 에 작용 합 니 다. 최적화 된 바 이 너 리. mo 파일 을 만들어 gettext 에서 사용 할 수 있 습 니 다.django - admin. py makemessages 를 실행 할 수 있 는 디 렉 터 리 에서 django - admin. py copilemessages 를 실행 합 니 다.
    
    django-admin.py compilemessages
    
    

    그렇게 됐어.너의 번역 성 과 는 이미 사용 할 수 있다.

    좋은 웹페이지 즐겨찾기