Loading opds_catalog/feeds.py +8 −3 Original line number Diff line number Diff line Loading @@ -7,20 +7,25 @@ from django.contrib.syndication.views import Feed from django.core.urlresolvers import reverse from django.core.paginator import Paginator, EmptyPage from django.shortcuts import render #from django.core.exceptions import ObjectDoesNotExist #from django.db.models.functions import Substr, Upper from django.db.models import Count, Min, Sum #from django.utils.encoding import escape_uri_path from opds_catalog.models import Book, Catalog, Author, Genre, Series, bookshelf, Counter, lang_menu from opds_catalog import models from opds_catalog import settings from opds_catalog.opds_middleware import BasicAuthMiddleware #from django.http.response import Http404 class AuthFeed(Feed): request = None def __call__(self,request,*args,**kwargs): self.request = request bau = BasicAuthMiddleware() result=bau.process_request(self.request) if result!=None: return result return super().__call__(request,*args,**kwargs) class opdsEnclosure(Enclosure): Loading opds_catalog/locale/ru/LC_MESSAGES/django.mo (4.42 KiB) File changed.No diff preview for this file type. View original file View changed file opds_catalog/locale/ru/LC_MESSAGES/django.po +51 −50 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-11-15 23:15+0300\n" "POT-Creation-Date: 2016-11-17 20:13+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" Loading @@ -20,215 +20,216 @@ msgstr "" "10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%" "100>=11 && n%100<=14)? 2 : 3);\n" #: .\opds_catalog\feeds.py:119 #: .\opds_catalog\feeds.py:124 #, python-format msgid "All books by %(author)s" msgstr "Все книги автора %(author)s" #: .\opds_catalog\feeds.py:131 #: .\opds_catalog\feeds.py:136 msgid "Book doublicates" msgstr "Дубликаты книги" #: .\opds_catalog\feeds.py:153 .\opds_catalog\feeds.py:211 #: .\opds_catalog\feeds.py:213 .\opds_catalog\tests\test_feeds.py:22 #: .\opds_catalog\feeds.py:158 .\opds_catalog\feeds.py:216 #: .\opds_catalog\feeds.py:218 .\opds_catalog\tests\test_feeds.py:22 msgid "By catalogs" msgstr "По каталогам" #: .\opds_catalog\feeds.py:154 .\opds_catalog\tests\test_feeds.py:23 #: .\opds_catalog\feeds.py:159 .\opds_catalog\tests\test_feeds.py:23 #, python-format msgid "Catalogs: %(catalogs)s, books: %(books)s." msgstr "Каталогов: %(catalogs)s, книг: %(books)s." #: .\opds_catalog\feeds.py:155 #: .\opds_catalog\feeds.py:160 msgid "By authors" msgstr "По авторам" #: .\opds_catalog\feeds.py:156 .\opds_catalog\tests\test_feeds.py:24 #: .\opds_catalog\feeds.py:161 .\opds_catalog\tests\test_feeds.py:24 #, python-format msgid "Authors: %(authors)s." msgstr "Авторов: %(authors)s." #: .\opds_catalog\feeds.py:157 #: .\opds_catalog\feeds.py:162 msgid "By titles" msgstr "По наименованиям" #: .\opds_catalog\feeds.py:158 #: .\opds_catalog\feeds.py:163 #, python-format msgid "Books: %(books)s." msgstr "Книг: %(books)s." #: .\opds_catalog\feeds.py:159 #: .\opds_catalog\feeds.py:164 msgid "By genres" msgstr "По жанрам" #: .\opds_catalog\feeds.py:160 .\opds_catalog\tests\test_feeds.py:25 #: .\opds_catalog\feeds.py:165 .\opds_catalog\tests\test_feeds.py:25 #, python-format msgid "Genres: %(genres)s." msgstr "Жанров: %(genres)s." #: .\opds_catalog\feeds.py:161 #: .\opds_catalog\feeds.py:166 msgid "By series" msgstr "По сериям" #: .\opds_catalog\feeds.py:162 #: .\opds_catalog\feeds.py:167 #, python-format msgid "Series: %(series)s." msgstr "Серий: %(series)s." #: .\opds_catalog\feeds.py:166 #: .\opds_catalog\feeds.py:171 #, python-format msgid "%(username)s Book shelf" msgstr "Книжная полка (%(username)s)" #: .\opds_catalog\feeds.py:167 #: .\opds_catalog\feeds.py:172 #, python-format msgid "%(username)s books readed: %(bookshelf)s." msgstr "Книг прочитано (%(username)s): %(bookshelf)s." #: .\opds_catalog\feeds.py:308 .\opds_catalog\tests\test_feeds.py:58 #: .\opds_catalog\feeds.py:313 .\opds_catalog\tests\test_feeds.py:58 msgid "Search by titles" msgstr "Поиск по наименованиям" #: .\opds_catalog\feeds.py:308 #: .\opds_catalog\feeds.py:313 msgid "Search books by title" msgstr "Поиск книг по наименованию" #: .\opds_catalog\feeds.py:309 #: .\opds_catalog\feeds.py:314 msgid "Search by authors" msgstr "Поиск авторов" #: .\opds_catalog\feeds.py:309 #: .\opds_catalog\feeds.py:314 msgid "Search authors by name" msgstr "Поиск авторов по имени" #: .\opds_catalog\feeds.py:310 #: .\opds_catalog\feeds.py:315 msgid "Search series" msgstr "Поиск серий" #: .\opds_catalog\feeds.py:344 #: .\opds_catalog\feeds.py:349 msgid "Books found" msgstr "Найдены книги" #: .\opds_catalog\feeds.py:344 #: .\opds_catalog\feeds.py:349 msgid "doubles hide" msgstr "дубликаты скрыты" #: .\opds_catalog\feeds.py:344 #: .\opds_catalog\feeds.py:349 msgid "doubles show" msgstr "дубликаты показаны" #: .\opds_catalog\feeds.py:507 #: .\opds_catalog\feeds.py:512 msgid "Series by authors select" msgstr "Выбор серий у автора" #: .\opds_catalog\feeds.py:528 #: .\opds_catalog\feeds.py:533 msgid "Books by series" msgstr "Книги по сериям" #: .\opds_catalog\feeds.py:528 #: .\opds_catalog\feeds.py:533 msgid "Books by author and series" msgstr "Книги по авторам и сериям" #: .\opds_catalog\feeds.py:529 #: .\opds_catalog\feeds.py:534 msgid "Books outside series" msgstr "Книги вне серий" #: .\opds_catalog\feeds.py:529 #: .\opds_catalog\feeds.py:534 msgid "Books by author outside series" msgstr "Книги автора вне серий" #: .\opds_catalog\feeds.py:530 #: .\opds_catalog\feeds.py:535 msgid "Books by alphabet" msgstr "Книги по алфавиту" #: .\opds_catalog\feeds.py:530 #: .\opds_catalog\feeds.py:535 msgid "Books by author alphabetical order" msgstr "Книги автора в алфавитном порядке" #: .\opds_catalog\feeds.py:562 #: .\opds_catalog\feeds.py:567 msgid "Authors found" msgstr "Найдены авторы" #: .\opds_catalog\feeds.py:616 .\opds_catalog\feeds.py:697 #: .\opds_catalog\feeds.py:621 .\opds_catalog\feeds.py:702 #, python-format msgid "Books count: %s" msgstr "Всего: %s книг" #: .\opds_catalog\feeds.py:632 #: .\opds_catalog\feeds.py:637 msgid "Series found" msgstr "Найдены серии" #: .\opds_catalog\feeds.py:721 #: .\opds_catalog\feeds.py:726 msgid "Select language" msgstr "Выбор алфавита" #: .\opds_catalog\feeds.py:733 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:738 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:104 #: .\opds_catalog\tests\test_feeds.py:117 #: .\opds_catalog\tests\test_feeds.py:128 msgid "Cyrillic" msgstr "Кириллица (РУС)" #: .\opds_catalog\feeds.py:734 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:739 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:105 msgid "Latin" msgstr "Латинница (LAT)" #: .\opds_catalog\feeds.py:735 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:740 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:106 msgid "Digits" msgstr "Цифры (0..9)" #: .\opds_catalog\feeds.py:736 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:741 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:107 msgid "Other symbols" msgstr "Другие символы" #: .\opds_catalog\feeds.py:737 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:742 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:108 msgid "Show all" msgstr "Показать все" #: .\opds_catalog\feeds.py:768 #: .\opds_catalog\feeds.py:773 msgid "Select books by substring" msgstr "Поиск книг по подстроке" #: .\opds_catalog\feeds.py:805 .\opds_catalog\feeds.py:973 #: .\opds_catalog\feeds.py:810 .\opds_catalog\feeds.py:978 #, python-format msgid "Found: %s books" msgstr "Найдено %s книг" #: .\opds_catalog\feeds.py:827 #: .\opds_catalog\feeds.py:832 msgid "Select authors by substring" msgstr "Поиск авторов по подстроке" #: .\opds_catalog\feeds.py:864 #: .\opds_catalog\feeds.py:869 #, python-format msgid "Found: %s authors" msgstr "Найдено %s авторов" #: .\opds_catalog\feeds.py:886 #: .\opds_catalog\feeds.py:891 msgid "Select series by substring" msgstr "Поиск серий по подстроке" #: .\opds_catalog\feeds.py:923 #: .\opds_catalog\feeds.py:928 #, python-format msgid "Found: %s series" msgstr "Найдено %s серий" #: .\opds_catalog\feeds.py:944 #: .\opds_catalog\feeds.py:949 #, python-format msgid "Select genres (%s)" msgstr "Выбор жанра (%s)" #: .\opds_catalog\feeds.py:944 #: .\opds_catalog\feeds.py:949 msgid "section" msgstr "секция" #: .\opds_catalog\feeds.py:944 #: .\opds_catalog\feeds.py:949 msgid "subsection" msgstr "подсекция" #: .\opds_catalog\opdsdb.py:29 #: .\opds_catalog\opdsdb.py:35 msgid "Unknown genre" msgstr "Неизвестний жанр" Loading opds_catalog/opds_middleware.py +1 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,6 @@ class BasicAuthMiddleware(object): if user and user.is_active: request.user = user auth.login(request, user) return return None return self.unauthed() No newline at end of file sopds/settings.py +3 −3 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ MIDDLEWARE_CLASSES = [ 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'opds_catalog.opds_middleware.BasicAuthMiddleware', #'opds_catalog.opds_middleware.BasicAuthMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] Loading Loading @@ -129,8 +129,8 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization # https://docs.djangoproject.com/en/1.9/topics/i18n/ LANGUAGE_CODE = 'en-US' #LANGUAGE_CODE = 'ru-RU' #LANGUAGE_CODE = 'en-US' LANGUAGE_CODE = 'ru-RU' TIME_ZONE = 'Europe/Moscow' USE_I18N = True Loading Loading
opds_catalog/feeds.py +8 −3 Original line number Diff line number Diff line Loading @@ -7,20 +7,25 @@ from django.contrib.syndication.views import Feed from django.core.urlresolvers import reverse from django.core.paginator import Paginator, EmptyPage from django.shortcuts import render #from django.core.exceptions import ObjectDoesNotExist #from django.db.models.functions import Substr, Upper from django.db.models import Count, Min, Sum #from django.utils.encoding import escape_uri_path from opds_catalog.models import Book, Catalog, Author, Genre, Series, bookshelf, Counter, lang_menu from opds_catalog import models from opds_catalog import settings from opds_catalog.opds_middleware import BasicAuthMiddleware #from django.http.response import Http404 class AuthFeed(Feed): request = None def __call__(self,request,*args,**kwargs): self.request = request bau = BasicAuthMiddleware() result=bau.process_request(self.request) if result!=None: return result return super().__call__(request,*args,**kwargs) class opdsEnclosure(Enclosure): Loading
opds_catalog/locale/ru/LC_MESSAGES/django.mo (4.42 KiB) File changed.No diff preview for this file type. View original file View changed file
opds_catalog/locale/ru/LC_MESSAGES/django.po +51 −50 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-11-15 23:15+0300\n" "POT-Creation-Date: 2016-11-17 20:13+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" Loading @@ -20,215 +20,216 @@ msgstr "" "10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%" "100>=11 && n%100<=14)? 2 : 3);\n" #: .\opds_catalog\feeds.py:119 #: .\opds_catalog\feeds.py:124 #, python-format msgid "All books by %(author)s" msgstr "Все книги автора %(author)s" #: .\opds_catalog\feeds.py:131 #: .\opds_catalog\feeds.py:136 msgid "Book doublicates" msgstr "Дубликаты книги" #: .\opds_catalog\feeds.py:153 .\opds_catalog\feeds.py:211 #: .\opds_catalog\feeds.py:213 .\opds_catalog\tests\test_feeds.py:22 #: .\opds_catalog\feeds.py:158 .\opds_catalog\feeds.py:216 #: .\opds_catalog\feeds.py:218 .\opds_catalog\tests\test_feeds.py:22 msgid "By catalogs" msgstr "По каталогам" #: .\opds_catalog\feeds.py:154 .\opds_catalog\tests\test_feeds.py:23 #: .\opds_catalog\feeds.py:159 .\opds_catalog\tests\test_feeds.py:23 #, python-format msgid "Catalogs: %(catalogs)s, books: %(books)s." msgstr "Каталогов: %(catalogs)s, книг: %(books)s." #: .\opds_catalog\feeds.py:155 #: .\opds_catalog\feeds.py:160 msgid "By authors" msgstr "По авторам" #: .\opds_catalog\feeds.py:156 .\opds_catalog\tests\test_feeds.py:24 #: .\opds_catalog\feeds.py:161 .\opds_catalog\tests\test_feeds.py:24 #, python-format msgid "Authors: %(authors)s." msgstr "Авторов: %(authors)s." #: .\opds_catalog\feeds.py:157 #: .\opds_catalog\feeds.py:162 msgid "By titles" msgstr "По наименованиям" #: .\opds_catalog\feeds.py:158 #: .\opds_catalog\feeds.py:163 #, python-format msgid "Books: %(books)s." msgstr "Книг: %(books)s." #: .\opds_catalog\feeds.py:159 #: .\opds_catalog\feeds.py:164 msgid "By genres" msgstr "По жанрам" #: .\opds_catalog\feeds.py:160 .\opds_catalog\tests\test_feeds.py:25 #: .\opds_catalog\feeds.py:165 .\opds_catalog\tests\test_feeds.py:25 #, python-format msgid "Genres: %(genres)s." msgstr "Жанров: %(genres)s." #: .\opds_catalog\feeds.py:161 #: .\opds_catalog\feeds.py:166 msgid "By series" msgstr "По сериям" #: .\opds_catalog\feeds.py:162 #: .\opds_catalog\feeds.py:167 #, python-format msgid "Series: %(series)s." msgstr "Серий: %(series)s." #: .\opds_catalog\feeds.py:166 #: .\opds_catalog\feeds.py:171 #, python-format msgid "%(username)s Book shelf" msgstr "Книжная полка (%(username)s)" #: .\opds_catalog\feeds.py:167 #: .\opds_catalog\feeds.py:172 #, python-format msgid "%(username)s books readed: %(bookshelf)s." msgstr "Книг прочитано (%(username)s): %(bookshelf)s." #: .\opds_catalog\feeds.py:308 .\opds_catalog\tests\test_feeds.py:58 #: .\opds_catalog\feeds.py:313 .\opds_catalog\tests\test_feeds.py:58 msgid "Search by titles" msgstr "Поиск по наименованиям" #: .\opds_catalog\feeds.py:308 #: .\opds_catalog\feeds.py:313 msgid "Search books by title" msgstr "Поиск книг по наименованию" #: .\opds_catalog\feeds.py:309 #: .\opds_catalog\feeds.py:314 msgid "Search by authors" msgstr "Поиск авторов" #: .\opds_catalog\feeds.py:309 #: .\opds_catalog\feeds.py:314 msgid "Search authors by name" msgstr "Поиск авторов по имени" #: .\opds_catalog\feeds.py:310 #: .\opds_catalog\feeds.py:315 msgid "Search series" msgstr "Поиск серий" #: .\opds_catalog\feeds.py:344 #: .\opds_catalog\feeds.py:349 msgid "Books found" msgstr "Найдены книги" #: .\opds_catalog\feeds.py:344 #: .\opds_catalog\feeds.py:349 msgid "doubles hide" msgstr "дубликаты скрыты" #: .\opds_catalog\feeds.py:344 #: .\opds_catalog\feeds.py:349 msgid "doubles show" msgstr "дубликаты показаны" #: .\opds_catalog\feeds.py:507 #: .\opds_catalog\feeds.py:512 msgid "Series by authors select" msgstr "Выбор серий у автора" #: .\opds_catalog\feeds.py:528 #: .\opds_catalog\feeds.py:533 msgid "Books by series" msgstr "Книги по сериям" #: .\opds_catalog\feeds.py:528 #: .\opds_catalog\feeds.py:533 msgid "Books by author and series" msgstr "Книги по авторам и сериям" #: .\opds_catalog\feeds.py:529 #: .\opds_catalog\feeds.py:534 msgid "Books outside series" msgstr "Книги вне серий" #: .\opds_catalog\feeds.py:529 #: .\opds_catalog\feeds.py:534 msgid "Books by author outside series" msgstr "Книги автора вне серий" #: .\opds_catalog\feeds.py:530 #: .\opds_catalog\feeds.py:535 msgid "Books by alphabet" msgstr "Книги по алфавиту" #: .\opds_catalog\feeds.py:530 #: .\opds_catalog\feeds.py:535 msgid "Books by author alphabetical order" msgstr "Книги автора в алфавитном порядке" #: .\opds_catalog\feeds.py:562 #: .\opds_catalog\feeds.py:567 msgid "Authors found" msgstr "Найдены авторы" #: .\opds_catalog\feeds.py:616 .\opds_catalog\feeds.py:697 #: .\opds_catalog\feeds.py:621 .\opds_catalog\feeds.py:702 #, python-format msgid "Books count: %s" msgstr "Всего: %s книг" #: .\opds_catalog\feeds.py:632 #: .\opds_catalog\feeds.py:637 msgid "Series found" msgstr "Найдены серии" #: .\opds_catalog\feeds.py:721 #: .\opds_catalog\feeds.py:726 msgid "Select language" msgstr "Выбор алфавита" #: .\opds_catalog\feeds.py:733 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:738 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:104 #: .\opds_catalog\tests\test_feeds.py:117 #: .\opds_catalog\tests\test_feeds.py:128 msgid "Cyrillic" msgstr "Кириллица (РУС)" #: .\opds_catalog\feeds.py:734 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:739 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:105 msgid "Latin" msgstr "Латинница (LAT)" #: .\opds_catalog\feeds.py:735 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:740 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:106 msgid "Digits" msgstr "Цифры (0..9)" #: .\opds_catalog\feeds.py:736 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:741 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:107 msgid "Other symbols" msgstr "Другие символы" #: .\opds_catalog\feeds.py:737 .\opds_catalog\models.py:16 #: .\opds_catalog\feeds.py:742 .\opds_catalog\models.py:36 #: .\opds_catalog\tests\test_feeds.py:108 msgid "Show all" msgstr "Показать все" #: .\opds_catalog\feeds.py:768 #: .\opds_catalog\feeds.py:773 msgid "Select books by substring" msgstr "Поиск книг по подстроке" #: .\opds_catalog\feeds.py:805 .\opds_catalog\feeds.py:973 #: .\opds_catalog\feeds.py:810 .\opds_catalog\feeds.py:978 #, python-format msgid "Found: %s books" msgstr "Найдено %s книг" #: .\opds_catalog\feeds.py:827 #: .\opds_catalog\feeds.py:832 msgid "Select authors by substring" msgstr "Поиск авторов по подстроке" #: .\opds_catalog\feeds.py:864 #: .\opds_catalog\feeds.py:869 #, python-format msgid "Found: %s authors" msgstr "Найдено %s авторов" #: .\opds_catalog\feeds.py:886 #: .\opds_catalog\feeds.py:891 msgid "Select series by substring" msgstr "Поиск серий по подстроке" #: .\opds_catalog\feeds.py:923 #: .\opds_catalog\feeds.py:928 #, python-format msgid "Found: %s series" msgstr "Найдено %s серий" #: .\opds_catalog\feeds.py:944 #: .\opds_catalog\feeds.py:949 #, python-format msgid "Select genres (%s)" msgstr "Выбор жанра (%s)" #: .\opds_catalog\feeds.py:944 #: .\opds_catalog\feeds.py:949 msgid "section" msgstr "секция" #: .\opds_catalog\feeds.py:944 #: .\opds_catalog\feeds.py:949 msgid "subsection" msgstr "подсекция" #: .\opds_catalog\opdsdb.py:29 #: .\opds_catalog\opdsdb.py:35 msgid "Unknown genre" msgstr "Неизвестний жанр" Loading
opds_catalog/opds_middleware.py +1 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,6 @@ class BasicAuthMiddleware(object): if user and user.is_active: request.user = user auth.login(request, user) return return None return self.unauthed() No newline at end of file
sopds/settings.py +3 −3 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ MIDDLEWARE_CLASSES = [ 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'opds_catalog.opds_middleware.BasicAuthMiddleware', #'opds_catalog.opds_middleware.BasicAuthMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] Loading Loading @@ -129,8 +129,8 @@ AUTH_PASSWORD_VALIDATORS = [ # Internationalization # https://docs.djangoproject.com/en/1.9/topics/i18n/ LANGUAGE_CODE = 'en-US' #LANGUAGE_CODE = 'ru-RU' #LANGUAGE_CODE = 'en-US' LANGUAGE_CODE = 'ru-RU' TIME_ZONE = 'Europe/Moscow' USE_I18N = True Loading