2012-06-01 7 views
3

Django에서 django-admin.py makemessages -l de을 실행하여 번역 파일을 만든 후에는 일반 텍스트 편집기 또는 Poedit을 사용하여 입력 할 수 있습니다..po 번역 파일에 데이터를 제공하는 방법은 무엇입니까?

Poedit에는이 데이터를 입력하기위한 특수 UI가 제공된다는 이점이 있습니다.

MyBookmarks/로케일/드/LC_MESSAGES/django.po : 7 : 나는 단어 사이를 전환 할 때 나는 오류 메시지가 계속 헤더 필드 `프로젝트-ID-버전은 '아직 초기 기본 값이

이것은 무엇입니까? Django의 국제화에 대한 지식이 있거나 po/GNU gettext의 일반 사용자가이 오류 메시지를 보았습니까?

많은 감사,

답변

2

내가, 사용자가 사용자 지정할와 .po 파일의 헤더를두고 장고를 추측 그래서 "내 FABULOUS APP v.1.0에 같은 더 설명이 뭔가"패키지 버전 "을 대체하는 당신에게 달려 ".

은 주어진 경로에 해당 파일에 그 작업을 수행하려면 명령 줄에서와 * nix에서 스크립트 환경에서이 명령을 사용할 수 있습니다 (또는 어디 사용할 수 있습니다 찾을 나오지도)

find <YOUR_PATH_HERE> -type f -name '*.po' -exec sed -e s'/PACKAGE VERSION/<YOUR_APP_NAME> <YOUR_APP_VERSION>/g' -i.bak {} \; 

명령은 모든 .po 파일에서 앞서 언급 한 텍스트를 대체하며 각각의 .po 파일의 수정되지 않은 백업 파일도 저장합니다.

따라서, 귀하의 경우 명령은 다음과 같습니다

find MyBookmarks/ -type f -name '*.po' -exec sed -e s'/PACKAGE VERSION/MyBookmarks v.1.0/g' -i.bak {} \; 

나는 정기적으로 내 fabfile에서이 명령을 포함하고 POedit 1.5.x 이하를 사용하여 문제를 해결합니다 (그러나 이전 버전에도 작동합니다).

참고 : .po 파일마다 한 번만 수행해야합니다. 다음 번에 을 시작합니다 ./manage.py makemessages 장고가 설정을 기억합니다.

+0

많은 문제를 해결해 주셔서 감사합니다. 그때 나는 편집자를 사용하고 각 파일에 대해 손으로 그것을 끝내었다. 쉬운 방법에 감사드립니다. +1 – Houman

+0

'-i .bak' 사이에 공백이 없어 지거나 깨질 것입니다. – Houman

+1

나는 그것을 편집했다. 고맙습니다! – furins