2012-01-31 2 views
2

문제는 : 기본 언어 (LANGUAGE_CODE = 'en')로 영어를 설정하면 문제가 없습니다. 영어 로켈이있는 브라우저에서 사이트를 요청하면 영어 변형이 표시되고 러시아어 로케일이있는 브라우저와 유사하게 표시됩니다.Django 로컬라이제이션 : 영어 이외의 언어를 'Translate-From'언어로 사용하는 방법

그러나 LANGUAGE_CODE = 'ru'으로 설정하면 어떤 경우에도 러시아어 변형이 표시됩니다.

왜 영어가 기본값이며 Django에서 msgid로 사용합니까?

내 프로젝트의 설정을 아래에서 확인하십시오. 내 settings.py에서


나는 기본 언어로 영어가 아닌 언어를 설정하려고 그런 다음

LANGUAGE_CODE = 'ru' 
LANGUAGES = (('en', "English",), ('ru', "Russian",),) 

I이 엔/LC_MESSAGES/django.po :

msgid "SITE_MAIN_TITLE" 
msgstr "D'argent: Cosmetics, Hair Care, Parfume" 

그리고 ru/LC_MESSAGES/django.po :

msgid "SITE_MAIN_TITLE" 
msgstr "D'argent – косметика, средства по уходу за волосами, парфюмерия" 
템플릿 HTML에서

:

... 
<title>{% block title %}{% trans "SITE_MAIN_TITLE" %}{% endblock %}</title> 
... 
+0

사용중인 언어 번역기 (패키지)는 어느 언어입니까? – Asif

+0

msgid의 값은 trans 태그 안의 값을 반영하므로'{% trans "SITE_MAIN_TITLE"%} "는 항상 msgid"SITE_MAIN_TITLE "'이있는 변환 파일을 생성합니다. LANGUAGE_CODE = 'ru''을 설정 한 후 정확히 무엇이 문제입니까? –

+0

@Secator Django는 http 클라이언트의 현재 언어가 영어 인 경우에도 LANGUAGE_CODE = 'ru'를 설정할 때 ru/LC_MESSAGES/django.po와 만 작동합니다. – sergzach

답변

관련 문제