diff --git a/opds_catalog/locale/ru/LC_MESSAGES/django.mo b/opds_catalog/locale/ru/LC_MESSAGES/django.mo index 90d40bf9f82ebe36a6548f65bc4384659f1b4051..91ec1887b138efa55f6ba2d98c3f453d4a934245 100644 Binary files a/opds_catalog/locale/ru/LC_MESSAGES/django.mo and b/opds_catalog/locale/ru/LC_MESSAGES/django.mo differ diff --git a/opds_catalog/locale/ru/LC_MESSAGES/django.po b/opds_catalog/locale/ru/LC_MESSAGES/django.po index 37037acc7f7be76d3650648f8b776ece7bc0a1c0..6b6d6c4be1640e2f13654342a77b4ddece178985 100644 --- a/opds_catalog/locale/ru/LC_MESSAGES/django.po +++ b/opds_catalog/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-21 17:25+0300\n" +"POT-Creation-Date: 2017-02-28 21:12+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" @@ -85,22 +85,22 @@ msgstr "Книжная полка (%(username)s)" msgid "%(username)s books readed: %(bookshelf)s." msgstr "Книг прочитано (%(username)s): %(bookshelf)s." -#: .\opds_catalog\feeds.py:307 .\opds_catalog\feeds.py:551 +#: .\opds_catalog\feeds.py:308 .\opds_catalog\feeds.py:554 #, python-format msgid "<b>Authors: </b>%(authors)s<br/>" msgstr "<b>Авторов: </b>%(authors)s<br/>" -#: .\opds_catalog\feeds.py:308 .\opds_catalog\feeds.py:552 +#: .\opds_catalog\feeds.py:309 .\opds_catalog\feeds.py:555 #, python-format msgid "<b>Genres: </b>%(genres)s<br/>" msgstr "<b>Жанров: </b>%(genres)s<br/>" -#: .\opds_catalog\feeds.py:309 .\opds_catalog\feeds.py:553 +#: .\opds_catalog\feeds.py:310 .\opds_catalog\feeds.py:556 #, python-format msgid "<b>Series: </b>%(series)s<br/>" msgstr "<b>Серий: </b>%(series)s<br/>" -#: .\opds_catalog\feeds.py:310 .\opds_catalog\feeds.py:554 +#: .\opds_catalog\feeds.py:311 .\opds_catalog\feeds.py:557 #, python-format msgid "" "<b>File: </b>%(filename)s<br/><b>File size: </b>%(filesize)s<br/><b>Changes " @@ -109,158 +109,159 @@ msgstr "" "<b>Файл: </b>%(filename)s<br/><b>Размер файла: </b>%(filesize)s<br/><b>Дата " "изменения: </b>%(docdate)s<br/>" -#: .\opds_catalog\feeds.py:343 .\opds_catalog\tests\test_feeds.py:60 +#: .\opds_catalog\feeds.py:344 .\opds_catalog\tests\test_feeds.py:60 msgid "Search by titles" msgstr "Поиск по наименованиям" -#: .\opds_catalog\feeds.py:343 +#: .\opds_catalog\feeds.py:344 msgid "Search books by title" msgstr "Поиск книг по наименованию" -#: .\opds_catalog\feeds.py:344 +#: .\opds_catalog\feeds.py:345 msgid "Search by authors" msgstr "Поиск авторов" -#: .\opds_catalog\feeds.py:344 +#: .\opds_catalog\feeds.py:345 msgid "Search authors by name" msgstr "Поиск авторов по имени" -#: .\opds_catalog\feeds.py:345 +#: .\opds_catalog\feeds.py:346 msgid "Search series" msgstr "Поиск серий" -#: .\opds_catalog\feeds.py:377 +#: .\opds_catalog\feeds.py:378 msgid "Books found" msgstr "Найдены книги" -#: .\opds_catalog\feeds.py:377 +#: .\opds_catalog\feeds.py:378 msgid "doubles hide" msgstr "дубликаты скрыты" -#: .\opds_catalog\feeds.py:377 +#: .\opds_catalog\feeds.py:378 msgid "doubles show" msgstr "дубликаты показаны" -#: .\opds_catalog\feeds.py:555 +#: .\opds_catalog\feeds.py:558 #, python-format msgid "<b>Doubles count: </b>%(doubles)s<br/>" msgstr "<b>Число дубликатов: </b>%(doubles)s<br/>" -#: .\opds_catalog\feeds.py:569 +#: .\opds_catalog\feeds.py:572 msgid "Series by authors select" msgstr "Выбор серий у автора" -#: .\opds_catalog\feeds.py:590 +#: .\opds_catalog\feeds.py:593 msgid "Books by series" msgstr "Книги по сериям" -#: .\opds_catalog\feeds.py:590 +#: .\opds_catalog\feeds.py:593 msgid "Books by author and series" msgstr "Книги по авторам и сериям" -#: .\opds_catalog\feeds.py:591 +#: .\opds_catalog\feeds.py:594 msgid "Books outside series" msgstr "Книги вне серий" -#: .\opds_catalog\feeds.py:591 +#: .\opds_catalog\feeds.py:594 msgid "Books by author outside series" msgstr "Книги автора вне серий" -#: .\opds_catalog\feeds.py:592 +#: .\opds_catalog\feeds.py:595 msgid "Books by alphabet" msgstr "Книги по алфавиту" -#: .\opds_catalog\feeds.py:592 +#: .\opds_catalog\feeds.py:595 msgid "Books by author alphabetical order" msgstr "Книги автора в алфавитном порядке" -#: .\opds_catalog\feeds.py:623 +#: .\opds_catalog\feeds.py:626 msgid "Authors found" msgstr "Найдены авторы" -#: .\opds_catalog\feeds.py:676 .\opds_catalog\feeds.py:754 +#: .\opds_catalog\feeds.py:679 .\opds_catalog\feeds.py:757 #, python-format msgid "Books count: %s" msgstr "Всего: %s книг" -#: .\opds_catalog\feeds.py:692 +#: .\opds_catalog\feeds.py:695 msgid "Series found" msgstr "Найдены серии" -#: .\opds_catalog\feeds.py:778 +#: .\opds_catalog\feeds.py:781 msgid "Select language" msgstr "Выбор алфавита" -#: .\opds_catalog\feeds.py:790 .\opds_catalog\tests\test_feeds.py:106 +#: .\opds_catalog\feeds.py:793 .\opds_catalog\tests\test_feeds.py:106 #: .\opds_catalog\tests\test_feeds.py:119 #: .\opds_catalog\tests\test_feeds.py:130 msgid "Cyrillic" msgstr "Кириллица (РУС)" -#: .\opds_catalog\feeds.py:791 .\opds_catalog\tests\test_feeds.py:107 +#: .\opds_catalog\feeds.py:794 .\opds_catalog\tests\test_feeds.py:107 msgid "Latin" msgstr "Латинница (LAT)" -#: .\opds_catalog\feeds.py:792 .\opds_catalog\tests\test_feeds.py:108 +#: .\opds_catalog\feeds.py:795 .\opds_catalog\tests\test_feeds.py:108 msgid "Digits" msgstr "Цифры (0..9)" -#: .\opds_catalog\feeds.py:793 .\opds_catalog\tests\test_feeds.py:109 +#: .\opds_catalog\feeds.py:796 .\opds_catalog\tests\test_feeds.py:109 msgid "Other symbols" msgstr "Другие символы" -#: .\opds_catalog\feeds.py:794 .\opds_catalog\tests\test_feeds.py:110 +#: .\opds_catalog\feeds.py:797 .\opds_catalog\tests\test_feeds.py:110 msgid "Show all" msgstr "Показать все" -#: .\opds_catalog\feeds.py:824 +#: .\opds_catalog\feeds.py:827 msgid "Select books by substring" msgstr "Поиск книг по подстроке" -#: .\opds_catalog\feeds.py:861 .\opds_catalog\feeds.py:1027 +#: .\opds_catalog\feeds.py:864 .\opds_catalog\feeds.py:1030 #, python-format msgid "Found: %s books" msgstr "Найдено %s книг" -#: .\opds_catalog\feeds.py:882 +#: .\opds_catalog\feeds.py:885 msgid "Select authors by substring" msgstr "Поиск авторов по подстроке" -#: .\opds_catalog\feeds.py:919 +#: .\opds_catalog\feeds.py:922 #, python-format msgid "Found: %s authors" msgstr "Найдено %s авторов" -#: .\opds_catalog\feeds.py:940 +#: .\opds_catalog\feeds.py:943 msgid "Select series by substring" msgstr "Поиск серий по подстроке" -#: .\opds_catalog\feeds.py:977 +#: .\opds_catalog\feeds.py:980 #, python-format msgid "Found: %s series" msgstr "Найдено %s серий" -#: .\opds_catalog\feeds.py:998 +#: .\opds_catalog\feeds.py:1001 #, python-format msgid "Select genres (%s)" msgstr "Выбор жанра (%s)" -#: .\opds_catalog\feeds.py:998 +#: .\opds_catalog\feeds.py:1001 msgid "section" msgstr "секция" -#: .\opds_catalog\feeds.py:998 +#: .\opds_catalog\feeds.py:1001 msgid "subsection" msgstr "подсекция" +#: .\opds_catalog\sopdscan.py:232 +msgid "Unknown author" +msgstr "Неизвестный автор" + #: .\opds_catalog\tests\test_feeds.py:78 #, python-format msgid "All books by %(full_name)s" msgstr "Все книги автора %(full_name)s" -#~ msgid "Unknown genre" -#~ msgstr "Неизвестный жанр" - #~ msgid "Book name:" #~ msgstr "Название:" diff --git a/opds_catalog/sopdscan.py b/opds_catalog/sopdscan.py index 63fa78cb51c6525bf56706334546178824328e03..2b54f78a3f495f938a05fc1211564f5d9c1f3e57 100644 --- a/opds_catalog/sopdscan.py +++ b/opds_catalog/sopdscan.py @@ -10,6 +10,7 @@ from book_tools.format import create_bookfile from book_tools.format.util import strip_symbols from django.db import transaction +from django.utils.translation import ugettext as _ from opds_catalog import fb2parse, opdsdb from opds_catalog import inpx_parser @@ -228,7 +229,7 @@ class opdsScanner: self.logger.debug("Book "+rel_path+"/"+name+" Added ok.") for a in book_data.authors: - author_name = a.get('name','Unknown author').strip(strip_symbols) + author_name = a.get('name',_('Unknown author')).strip(strip_symbols) # Если в имени автора нет запятой, то фамилию переносим из конца в начало if author_name.find(',')<0: author_names = author_name.split() diff --git a/sopds/locale/ru/LC_MESSAGES/django.mo b/sopds/locale/ru/LC_MESSAGES/django.mo index 739eb58c21cf3521e20f6a9024ef17586e111365..07f4d7c6e50e8782babdb652a311b1bb1dcc008e 100644 Binary files a/sopds/locale/ru/LC_MESSAGES/django.mo and b/sopds/locale/ru/LC_MESSAGES/django.mo differ diff --git a/sopds/locale/ru/LC_MESSAGES/django.po b/sopds/locale/ru/LC_MESSAGES/django.po index 8ef5597871a4d1534f00e3fb6b8304e8d028ba9b..e0a5b3c10940f6511af6a61aed6b516990358fec 100644 --- a/sopds/locale/ru/LC_MESSAGES/django.po +++ b/sopds/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-21 17:25+0300\n" +"POT-Creation-Date: 2017-02-28 21:12+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" @@ -19,67 +19,70 @@ 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" -#: .\sopds\settings.py:164 +#: .\sopds\settings.py:165 msgid "Select language" msgstr "Выбор языка" -#: .\sopds\settings.py:165 +#: .\sopds\settings.py:166 msgid "Absolute path to books collection directory" msgstr "Абсолютный путь к каталогу с файлами книг" -#: .\sopds\settings.py:166 +#: .\sopds\settings.py:167 msgid "List of managed book files extensions" msgstr "Список расширений файлов, для включения в коллекцию книг" -#: .\sopds\settings.py:167 +#: .\sopds\settings.py:168 msgid "Turn once scanning directly" msgstr "Запустить внеочередное однократное сканирование коллекции книг" -#: .\sopds\settings.py:169 +#: .\sopds\settings.py:170 msgid "Enable authentication" msgstr "Включить аутентификацию" -#: .\sopds\settings.py:170 +#: .\sopds\settings.py:171 msgid "Enable alphabet submenu" msgstr "Включить субменю выбора алфавита" -#: .\sopds\settings.py:171 +#: .\sopds\settings.py:172 msgid "This flag hides found doublicates" msgstr "Флаг прячет найденные дубликаты книг" -#: .\sopds\settings.py:172 +#: .\sopds\settings.py:173 msgid "This flag activate showing cover of books" msgstr "Флаг активирует показ обложек книг" -#: .\sopds\settings.py:173 +#: .\sopds\settings.py:174 msgid "Max subitems count in alphabet menuitem" msgstr "Максимальное число подэлементов в элементах алфавитных меню" -#: .\sopds\settings.py:174 +#: .\sopds\settings.py:175 msgid "Max items on page" msgstr "Максимальное число элементов на странице" -#: .\sopds\settings.py:175 +#: .\sopds\settings.py:176 msgid "Create downloaded filename from book title" msgstr "Имя загружаемого файла формировать из названия книги" -#: .\sopds\settings.py:176 +#: .\sopds\settings.py:177 msgid "Path to image file showing for book without embedded cover" msgstr "Путь к изображению, для показа в качестве обложки для книг без обложек" -#: .\sopds\settings.py:179 -msgid "This flag activate extraction metadata from fb2 files" -msgstr "Флаг активирует извлеченеи метаданных из fb2-файлов" - #: .\sopds\settings.py:180 +msgid "This flag activate SAX Parser for FB2 instead of lxml.xpath" +msgstr "" +"Флаг активирует стандартный FB2sax парсер (быстрее, парсит даже невалидные " +"fb2). При отключенной опции будет использован FB2xpath парсер (немного " +"медленне, требователен к валидности fb2, появился в версии 0.42)" + +#: .\sopds\settings.py:181 msgid "This flag activate zip files scanning" msgstr "Флаг разрешает сканированеи содержимого ZIP файлов" -#: .\sopds\settings.py:181 +#: .\sopds\settings.py:182 msgid "Set codepage for filenames inside zipfile" msgstr "Codepage для имен файлов внутри ZIP" -#: .\sopds\settings.py:182 +#: .\sopds\settings.py:183 msgid "" "Enables read metadata from inpx-file (and stop scanning deeper from ipx-file " "place)" @@ -87,67 +90,70 @@ msgstr "" "Считываем метаданные книг з INPX-файлов (при этом не сканируем файлы и " "каталоги, расположенные на уровне или ниже найденого INPX)" -#: .\sopds\settings.py:183 +#: .\sopds\settings.py:184 msgid "Skip scanning INPX with unchanged size after previous scan" msgstr "" "Не сканируем INPX, если его размер не изменился с предидущего сканирования" -#: .\sopds\settings.py:184 +#: .\sopds\settings.py:185 msgid "Test avialability zip files listed in INPX before add in collection" msgstr "" "Проверяем наличие zip файлов, перечисленных в INPX перед добавлением их " "содержимого в коллекцию" -#: .\sopds\settings.py:185 +#: .\sopds\settings.py:186 msgid "Test avialability book files listed in INPX before add in collection" msgstr "" "Тестируем наличие книг, перечисленных в INPX перед добавлением их " "содержимого в коллекцию" -#: .\sopds\settings.py:186 +#: .\sopds\settings.py:187 msgid "Logical deleting unavialable files" msgstr "Логическое удаление отсутствующих файлов" -#: .\sopds\settings.py:188 +#: .\sopds\settings.py:189 msgid "sheduled minutes for sopds_scanner (cron syntax)" msgstr "минуты для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:189 +#: .\sopds\settings.py:190 msgid "sheduled hours for sopds_scanner (cron syntax)" msgstr "часы для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:190 +#: .\sopds\settings.py:191 msgid "sheduled day for sopds_scanner (cron syntax)" msgstr "дни для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:191 +#: .\sopds\settings.py:192 msgid "sheduled day of weeks for sopds_scanner (cron syntax)" msgstr "дни недели для планировщика sopds_Scanner (как в cron)" -#: .\sopds\settings.py:193 +#: .\sopds\settings.py:194 msgid "Path to FB2-EPUB converter program" msgstr "Путь к конвертеру FB2-EPUB" -#: .\sopds\settings.py:194 +#: .\sopds\settings.py:195 msgid "Path to FB2-MOBI converter program" msgstr "Путь к конвертеру FB2-MOBI" -#: .\sopds\settings.py:195 +#: .\sopds\settings.py:196 msgid "Path to temporary files directory" msgstr "Путь к временному каталогу" -#: .\sopds\settings.py:197 +#: .\sopds\settings.py:198 msgid "Path to logfile for sopds_server process" msgstr "Путь к логфайлу для процесса sopds_server" -#: .\sopds\settings.py:198 +#: .\sopds\settings.py:199 msgid "Path to logfile for sopds_scanner process" msgstr "Путь к логфайлу для процесса sopds_scanner" -#: .\sopds\settings.py:199 +#: .\sopds\settings.py:200 msgid "Path to pidfile for sopds_server process" msgstr "Путь к pid-файлу для процесса sopds_server" -#: .\sopds\settings.py:200 +#: .\sopds\settings.py:201 msgid "Path to pidfile for sopds_scanner process" msgstr "Путь к pid-файлу для процесса sopds_scanner" + +#~ msgid "This flag activate extraction metadata from fb2 files" +#~ msgstr "Флаг активирует извлеченеи метаданных из fb2-файлов" diff --git a/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo b/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo index 0aafbec43687b12c054214c6083b9886148deb2f..9667bc3f6ad7dd8debef2a3890b16b6b8bde82f0 100644 Binary files a/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo and b/sopds_web_backend/locale/ru/LC_MESSAGES/django.mo differ diff --git a/sopds_web_backend/locale/ru/LC_MESSAGES/django.po b/sopds_web_backend/locale/ru/LC_MESSAGES/django.po index 2e4589716d166e903bd70d8493d58403a9393eb0..70d55111a720377e6273f14e1db6c2f1859c819b 100644 --- a/sopds_web_backend/locale/ru/LC_MESSAGES/django.po +++ b/sopds_web_backend/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-01-25 21:28+0300\n" +"POT-Creation-Date: 2017-02-28 21:12+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"