Форум сайта python.su
Здравствуйте!
Хотелось бы для порядка иметь возможность русифицировать админку по своему усмотрерию.
И может еще кто-нибудь подскажет - как в админке название сайта добавить, чтобы было не “Администрирование Django” а “Администрирование %имя_сайта%”.
Заранее спасибо.
Офлайн
Если хочется что-то перевести по своему, то path_to_python_packages/django/conf/locale/ru/
Офлайн
e4keyА есть-ли способ без правки дистрибутива, а как-нибудь более корректно переопределить?
Если хочется что-то перевести по своему, то path_to_python_packages/django/conf/locale/ru/
Офлайн
Берешь каталог с шаблонами Django-админки (django/contrib/admin/templates/admin) и кладешь в media/templates, чтобы получилось media/templates/admin/
ищешь файл base_site.html, а в нем строку {% trans ‘Django administration’ %}, которую смело меняешь на “Администрирования моего супер сайта”
Офлайн
Грамотней будет так, как опишу сейчас ниже.
Система шаблонов в django (http://docs.djangoproject.com/en/dev/ref/settings/#template-loaders) обладает одной интересной особенностью: сперва искомый шаблон ищется в каталоге с проектом, а уже в случае неудачи первого шаблон ищется в каталоге используемого приложения (в данном случае — админки django). Поэтому нам достаточно скопировать только единственный файл с шаблоном, который мы хотим изменить.
Создадим в каталоге шаблонов проекта /templates (убедимся, что путь до этого каталога описан в кортеже TEMPLATE_DIRS файла настроек проекта settings.py) каталог admin.
Нужные нам данные надо изменить в файле admin/base_site.html. Поэтому скопируем его в наш каталог шаблонов проекта:
>> cp /django/django/contrib/admin/templates/admin/base_site.html /templates/admin/base_site.html
Этот файл выглядит таким образом:
extends "admin/base.html" %}
{% load i18n %}
{% block title %}{{ title }} | {% trans 'Django site admin' %}{% endblock %}
{% block branding %}
<h1 id="site-name">{% trans 'Django administration' %}</h1>
{% endblock %}
{% block nav-global %}{% endblock %}
Офлайн
тема старая, но вот тут небольшой мануальчик в догонку к старым постам, который сам вывел:
Задача: изменить название приложений в админке
Реализация: в __init__.py проекта пишем:
from django.utils.translation import ugettext_lazy as _
_(u'Auth')
_(u'Core')
_(u'auth')
_(u'core')
где core - например, имя моего приложения (для уверенности добавил с капитализированной первой буквой, но, наверное, можно и без нее)
делаем мэйк нашей локали, переводим это все в django.po, компилим.
Теперь лезем в шаблоны админки (предварительно скопировав их себе в проект) и меняем:
''' имя_шаблона строка
что меняем:
на что меняем: '''
change_list.html 29
from: {% app_label|capfirst %}
to: {% trans app_label|capfirst %}
index.html 19
from: <caption><a href="{{ app.app_url }}" class="section">{% blocktrans with app.name as name %}{{ name }}{% endblocktrans %}</a></caption>
to: <caption><a href="{{ app.app_url }}" class="section">{% trans app.name %}</a></caption>
base.html 64
from: {% block content_title %}{% if title %}<h1>{{ title }}</h1>{% endif %}{% endblock %}
to: <!--{% block content_title %}{% if title %}<h1>{{ trans title }}</h1>{% endif %}{% endblock %} -->
app_index.html 10
from: {% blocktrans with app.name as name %}{{ name }}{% endblocktrans %}
to: {% trans app.name %}
change_form.html 18
from: <a href="../../">{{ app_label|capfirst|escape }}</a> ›
to: <a href="../../">{% trans app_label|capfirst|escape %}</a> ›
object_history 7
from: <a href="../../../">{{ app_label|capfirst }}</a> ›
to: <a href="../../../">{% trans app_label|capfirst %}</a> ›
Офлайн