__init_.py 파일에 대한 변환을 저장할 로케일 경로를 찾을 수 없습니다.
저는 장고 앱을 번역하려고 합니다.몇 개의 문자열을 만들었습니다.{% trans %}
내 템플릿에서.그러나 앱 폴더에서 다음 명령을 실행하면 오류 메시지가 표시됩니다.
$ django-admin.py makemessages -l fr
CommandError: Unable to find a locale path to store translations for file __init__.py`
제가 무엇을 잘못했나요?
알고 보니 당신은 다음을 만들어야 합니다.locale
처음 폴더 사용mkdir locale
앱 폴더 내에서 명령을 실행하는 경우에는locale
해당 앱 폴더 내의 폴더.
실제로 로케일 폴더의 위치를 구성할 수 있습니다.settings.py 에 다음을 추가합니다.
LOCALE_PATHS = (
PROJECT_ROOT + '/website/locale', )
그런 다음 번역할 각 언어에 대한 폴더를 만듭니다.
mkdir -p website/locale/de
문제는 명령이 앱 디렉터리에서 실행되는 것이 아니라 프로젝트 디렉터리에서 실행된다는 것입니다.이 문서의 내용은 다음과 같습니다.
알고 보니 당신은 다음을 만들어야 합니다.locale
처음 폴더 사용mkdir locale
.
./manage.py makemessages
[…] 현재 디렉터리의 전체 원본 트리에서 실행되고 변환을 위해 표시된 모든 문자열을 꺼냅니다.메시지 파일을 Conf/locale(Django 트리) 또는 locale(프로젝트 및 응용 프로그램용) 디렉토리에 생성(또는 업데이트)합니다.
따라서 앱 디렉터리에서 다음 명령을 실행합니다.
$ cd app
$ django-admin makemessages -l <locale>
또는 를 사용하여 프로젝트 전체 로케일 디렉토리를 정의합니다.LOCALE_PATHS
그리고 당신은 달릴 수 있습니다.makemessages
그 이후로 메인 디렉토리에서.
어느 쪽이든, 당신은 확인해야 합니다../locale/
디렉토리가 있으며 다음을 사용하여 디렉토리를 만듭니다.
$ mkdir locale
그렇지 않을 경우에 대비해서요
앱별로 원하는 경우locale
dirs, 실행하기 전에 번역 문자열(번역 문자열이 있는 파일)이 있는 모든 앱 dir에서 생성하기만 하면 됩니다.makemessages
.그리고.django
그들을 찾을 겁니다그럴 필요 없어요.cd
.
프로젝트 전체에 걸쳐 하나를 원하는 경우locale
dir, 실행하기 전에 프로젝트 dir에서 생성합니다.makemessages
.
저 같은 경우에는.LOCALE_PATHS
올바르게 설정되었지만 환경 변수가 설정되지 않았습니다.환경 변수를 설정했을 때, 저는 실행했습니다.python manage.py makemessages -l de
제대로 작동했습니다.
생성해야 합니다.locale
바로 아래에 있는 폴더django-project
폴더를 아래와 같이 표시합니다.*폴더 이름은 다음과 같아야 합니다.locale
내 실험에 따르면:
django-project
|-core
| └-settings.py
|-app1
| |-models.py
| └-admin.py
|-app2
| |-models.py
| └-admin.py
└-locale # Here
그런 다음 을 생성할 수 있습니다.django.po
각각의locale/<...>/LC_MESSAGES/
아래 명령을 사용합니다.*아래 명령은 하나 이상을 만들거나 업데이트할 수 있습니다.django.po
:
django-admin makemessages --locale=en --locale=fr --locale=ja
또는:
django-admin.py makemessages -l en -l fr -l ja
그리고나서,django.po
각각에서 생성됩니다.locale/<...>/LC_MESSAGES/
아래와 같이:
django-project
|-core
| └-settings.py
|-app1
| |-models.py
| └-admin.py
|-app2
| |-models.py
| └-admin.py
└-locale
|-en
| └-LC_MESSAGES
| └-django.po # Here
|-fr
| └-LC_MESSAGES
| └-django.po # Here
└-ja
└-LC_MESSAGES
└-django.po # Here
모두 업데이트할 수 있습니다.django.po
에locale
아래 명령을 사용하는 폴더입니다.*아래 명령을 사용하여 업데이트만 가능합니다.django.po
할 수 없습니다.django.po
:
django-admin makemessages --all
또는:
django-admin makemessages -a
그리고, 당신은 컴파일할 수 있습니다.django.po
django.mo
의 각의에locale/<...>/LC_MESSAGES/
다음 명령을 사용합니다.
django-admin compilemessages
그리고나서,django.po
는 로컴됩니다일로 됩니다.django.mo
의 각의에locale/<...>/LC_MESSAGES/
아래와 같이:
django-project
|-core
| └-settings.py
|-app1
| |-models.py
| └-admin.py
|-app2
| |-models.py
| └-admin.py
└-locale
|-en
| └-LC_MESSAGES
| |-django.po
| └-django.mo # Here
|-fr
| └-LC_MESSAGES
| |-django.po
| └-django.mo # Here
└-ja
└-LC_MESSAGES
|-django.po
└-django.mo # Here
가로추를 , 이만것도이라든.locale
바로 에 있는 폴더core
,app1
그리고.app2
아래와 같은 폴더:
django-project
|-core
| |-settings.py
| └-locale # Here
|-app1
| |-models.py
| |-admin.py
| └-locale # Here
└-app2
|-models.py
|-admin.py
└-locale # Here
그런 다음 아래 명령을 실행합니다.
django-admin.py makemessages -l en -l fr -l ja
그러면, 당신은 여전히 아래의 오류를 얻을 것이고 Django가 번역을 검색하는 방법에 반대하여 당신이 만들어야 합니다.locale
바로아있폴 바로 에 있는 django-project
폴더:
명령 오류:manage.py 파일에 대한 변환을 저장할 로케일 경로를 찾을 수 없습니다.앱에 'locale' 디렉터리가 있는지 확인하거나 LOCAL_PATHs 설정이 설정되어 있는지 확인합니다.
언급URL : https://stackoverflow.com/questions/24937133/unable-to-find-a-locale-path-to-store-translations-for-file-init-py
'programing' 카테고리의 다른 글
텍스트가 일관성 없이 렌더링되고 일부 글꼴이 다른 글꼴보다 큰 Mobile Safari(iPhone)의 글꼴 크기 문제를 수정하시겠습니까? (0) | 2023.08.13 |
---|---|
jqXHR.getAllResponseHeaders()가 모든 헤더를 반환하지 않음 (0) | 2023.08.13 |
MariaDB 외부 키 제약 조건이 잘못 형성되었습니다. (0) | 2023.08.13 |
최고의 MySQL 성능 튜닝 도구? (0) | 2023.08.13 |
SQL Server는 트랜잭션과 관련하여 저장 프로시저 내의 문을 어떻게 처리합니까? (0) | 2023.08.13 |