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 。
이 스 크 립 트 는 세 곳 중 하나 에서 실행 되 어야 합 니 다.
이 스 크 립 트 는 프로젝트 원본 트 리 나 프로그램 원본 트 리 를 옮 겨 다 니 며 번역 을 위해 표 시 된 모든 문자열 을 추출 합 니 다.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 ""
빠 른 설명:
비교적 긴 정보 에 대해 서도 처리 방법 이 있다.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
그렇게 됐어.너의 번역 성 과 는 이미 사용 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.