diff --git a/.gitignore b/.gitignore index 98f3e40c..d17ebcd0 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,7 @@ sqlite.db dist/ release/ out-tsc/ +ffmpeg/ +locale.source.xlf +package-lock.json +test.* diff --git a/README.md b/README.md index 91d2183b..7b974c32 100644 --- a/README.md +++ b/README.md @@ -70,11 +70,14 @@ docker run \ -p 80:80 \ -e NODE_ENV=production \ -v /config.json:/pigallery2-release/config.json \ + -v /sqlite.db:/pigallery2-release/sqlite.db \ -v :/pigallery2-release/demo/images \ -v :/pigallery2-release/demo/TEMP \ bpatrik/pigallery2:1.5.5-stretch ``` -Make sure that a file at `/config.json` exists before running it. +Make sure that a file at `/config.json` and `sqlite.db` files exists before running it. + +You do not need the `/sqlite.db` line if you don't use the sqlite database. After the container is up and running, you go to `http://localhost` and log in with user: `admin` pass: `admin` and set up the page in the settings. @@ -133,6 +136,9 @@ apt-get install build-essential libkrb5-dev gcc g++ ## 3. Feature list + * supported formats: + * images: **jpg, jpeg, jpe, webp, png, gif, svg** + * videos: **mp4, ogg, ogv, webm** * **Rendering directories as it is** * Listing subdirectories recursively * Listing photos in a nice grid layout diff --git a/backend/model/threading/DiskMangerWorker.ts b/backend/model/threading/DiskMangerWorker.ts index 22380e7a..c6e4e668 100644 --- a/backend/model/threading/DiskMangerWorker.ts +++ b/backend/model/threading/DiskMangerWorker.ts @@ -15,14 +15,11 @@ export class DiskMangerWorker { private static readonly SupportedEXT = { photo: [ - '.bmp', '.gif', '.jpeg', '.jpg', '.jpe', '.png', - '.tiff', '.tif', '.webp', - '.ico', - '.tga' + '.svg' ], video: [ '.mp4', diff --git a/backend/routes/GalleryRouter.ts b/backend/routes/GalleryRouter.ts index e1149e21..fdb4c066 100644 --- a/backend/routes/GalleryRouter.ts +++ b/backend/routes/GalleryRouter.ts @@ -36,7 +36,7 @@ export class GalleryRouter { private static addGetImage(app: Express) { - app.get(['/api/gallery/content/:mediaPath(*\.(jpg|bmp|png|gif|jpeg))'], + app.get(['/api/gallery/content/:mediaPath(*\.(jpg|jpeg|jpe|webp|png|gif|svg))'], AuthenticationMWs.authenticate, // TODO: authorize path GalleryMWs.loadFile, @@ -73,7 +73,7 @@ export class GalleryRouter { } private static addGetImageThumbnail(app: Express) { - app.get('/api/gallery/content/:mediaPath(*\.(jpg|bmp|png|gif|jpeg))/thumbnail/:size?', + app.get('/api/gallery/content/:mediaPath(*\.(jpg|jpeg|jpe|webp|png|gif|svg))/thumbnail/:size?', AuthenticationMWs.authenticate, // TODO: authorize path GalleryMWs.loadFile, @@ -93,7 +93,7 @@ export class GalleryRouter { } private static addGetImageIcon(app: Express) { - app.get('/api/gallery/content/:mediaPath(*\.(jpg|bmp|png|gif|jpeg))/icon', + app.get('/api/gallery/content/:mediaPath(*\.(jpg|jpeg|jpe|webp|png|gif|svg))/icon', AuthenticationMWs.authenticate, // TODO: authorize path GalleryMWs.loadFile, diff --git a/docs/index.html b/docs/index.html index d240648e..12cfc801 100644 --- a/docs/index.html +++ b/docs/index.html @@ -16,11 +16,17 @@ + + @@ -30,8 +36,10 @@
-

PiGallery 2

+

+ PiGallery 2 +

+ +
+
+ + Star + + Fork
@@ -142,6 +160,12 @@

All features:


    +
  • supported formats: +
      +
    • images: jpg, jpeg, jpe, webp, png, gif, svg
    • +
    • videos: mp4, ogg, ogv, webm
    • +
    +
  • Rendering directories as it is
    • Listing subdirectories recursively
    • diff --git a/docs/style.css b/docs/style.css index cea30c6c..e4817ec3 100644 --- a/docs/style.css +++ b/docs/style.css @@ -129,8 +129,10 @@ hr{ background: white; margin-top: 0; } - +.github-button-wrapper{ + margin-top: 10px; + float: right; +} .banner-photo{ - margin-top: 30px; margin-bottom: 30px; } diff --git a/frontend/translate/messages.ru.xlf b/frontend/translate/messages.ru.xlf new file mode 100644 index 00000000..61403c4d --- /dev/null +++ b/frontend/translate/messages.ru.xlf @@ -0,0 +1,1903 @@ + + + + + + Please log in + + app/login/login.component.html + 10 + + Пожалуйста, войдите + + + + Wrong username or password + + + app/login/login.component.html + 12 + + Неверное имя пользователя или пароль + + + Username + + app/login/login.component.html + 29 + + + app/settings/usermanager/usermanager.settings.component.html + 77 + + + app/settings/database/database.settings.component.html + 23 + + Имя пользователя + + + Password + + app/login/login.component.html + 45 + + + app/sharelogin/share-login.component.html + 27 + + + app/gallery/share/share.gallery.component.html + 68 + + + app/gallery/share/share.gallery.component.html + 79 + + + app/settings/usermanager/usermanager.settings.component.html + 79 + + + app/settings/database/database.settings.component.html + 25 + + Пароль + + + Remember me + + app/login/login.component.html + 56 + + Запомнить меня + + + Login + + + app/login/login.component.html + 66 + + Войти + + + + Wrong password + + + app/sharelogin/share-login.component.html + 11 + + Неправильный пароль + + + Enter + + + app/sharelogin/share-login.component.html + 41 + + Вход + + + download + + app/gallery/lightbox/lightbox.gallery.component.html + 29 + + Скачать + + + info key: i + + app/gallery/lightbox/lightbox.gallery.component.html + 33 + + Информация, клавиша: i + + + toggle fullscreen, key: f + + app/gallery/lightbox/lightbox.gallery.component.html + 40 + + + app/gallery/lightbox/lightbox.gallery.component.html + 49 + + + app/gallery/map/lightbox/lightbox.map.gallery.component.html + 62 + + + app/gallery/map/lightbox/lightbox.map.gallery.component.html + 67 + + Полноэкранный режим, клавиша: f + + + close, key: Escape + + app/gallery/lightbox/lightbox.gallery.component.html + 56 + + + app/gallery/map/lightbox/lightbox.map.gallery.component.html + 70 + + закрыть, клавиша: пробел + + + key: left arrow + + app/gallery/lightbox/lightbox.gallery.component.html + 74 + + клавиша: стрелка влево + + + key: right arrow + + app/gallery/lightbox/lightbox.gallery.component.html + 78 + + клавиша: стрелка вправо + + + Zoom out, key: '-' + + app/gallery/lightbox/lightbox.gallery.component.html + 84 + + Уменьшить, клавиша: '-' + + + Zoom in, key: '+' + + app/gallery/lightbox/lightbox.gallery.component.html + 91 + + Увеличить, клавиша: '+' + + + Link availability + + app/gallery/gallery.component.html + 7 + + Доступность ссылки + + + days + + app/gallery/gallery.component.html + 9 + + дни + + + + Too many results to show. Refine your search. + + + app/gallery/gallery.component.html + 46 + + Слишком много элементов для показа. Уточните свой запрос. + + + Settings + + app/frame/frame.component.html + 42 + + Настройки + + + Logout + + app/frame/frame.component.html + 48 + + Выйти + + + Search + + app/gallery/search/search.gallery.component.html + 6 + + Поиск + + + Share + + app/gallery/share/share.gallery.component.html + 4 + + + app/gallery/share/share.gallery.component.html + 10 + + Поделиться + + + Copy + + + app/gallery/share/share.gallery.component.html + 29 + + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 28 + + Скопировать + + + Sharing: + + app/gallery/share/share.gallery.component.html + 36 + + Совместное использование: + + + Include subfolders: + + app/gallery/share/share.gallery.component.html + 47 + + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 46 + + Включить подпапки: + + + Valid: + + app/gallery/share/share.gallery.component.html + 85 + + Действительно: + + + Minutes + + app/gallery/share/share.gallery.component.html + 95 + + Минут + + + Hours + + app/gallery/share/share.gallery.component.html + 96 + + Часов + + + Days + + app/gallery/share/share.gallery.component.html + 97 + + Дней + + + Months + + app/gallery/share/share.gallery.component.html + 98 + + Месяцев + + + Searching for: + + app/gallery/navigator/navigator.gallery.component.html + 12 + + Поиск: + + + items + + app/gallery/navigator/navigator.gallery.component.html + 26 + + Элементы + + + + Server notifications + + + app/admin/admin.component.html + 5 + + Уведомления сервера + + + + To dismiss these notifications, restart the server. + + + app/admin/admin.component.html + 19 + + Чтобы отключить эти уведомления, перезапустите сервер. + + + Mode + + app/admin/admin.component.html + 25 + + Режим + + + Info + + app/gallery/lightbox/infopanel/info-panel.lightbox.gallery.component.html + 3 + + Информация + + + duration + + app/gallery/lightbox/infopanel/info-panel.lightbox.gallery.component.html + 51 + + длительность + + + bit rate + + app/gallery/lightbox/infopanel/info-panel.lightbox.gallery.component.html + 54 + + битрейт + + + Random link + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 3 + + Случайная ссылка + + + Random Link generator + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 9 + + Генератор случайных ссылок + + + In Folder: + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 35 + + В папке: + + + Orientation: + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 66 + + Ориентация: + + + Any + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 71 + + Любая + + + Landscape + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 72 + + Горизонтальная + + + Portrait + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 73 + + Вертикальная + + + Date: + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 81 + + Дата: + + + Resolution: + + app/gallery/random-query-builder/random-query-builder.gallery.component.html + 105 + + Разрешение: + + + Password protection + + app/settings/usermanager/usermanager.settings.component.html + 3 + + Защита паролем + + + Name + + app/settings/usermanager/usermanager.settings.component.html + 27 + + Имя + + + Role + + app/settings/usermanager/usermanager.settings.component.html + 28 + + Роль + + + + Add user + + + app/settings/usermanager/usermanager.settings.component.html + 55 + + + Добавить пользователя + + + + To protect the site with password / have login enable this. + + + app/settings/usermanager/usermanager.settings.component.html + 58 + + Чтобы защитить сайт с помощью пароля включите это. + + + Add new User + + app/settings/usermanager/usermanager.settings.component.html + 70 + + Добавить нового пользователя + + + Close + + app/settings/usermanager/usermanager.settings.component.html + 87 + + Закрыть + + + Add User + + + app/settings/usermanager/usermanager.settings.component.html + 90 + + Добавить пользователя + + + + Database settings + + + app/settings/database/database.settings.component.html + 2 + + Настройки БД + + + Type: + + app/settings/database/database.settings.component.html + 8 + + Тип: + + + Install manually mysql node module to use mysql (npm install mysql) + + + app/settings/database/database.settings.component.html + 14 + + Установите вручную модуль node.js для использования mysql (npm install mysql) + + + MySQL settings: + + app/settings/database/database.settings.component.html + 18 + + Настройки MySQL: + + + Host + + app/settings/database/database.settings.component.html + 19 + + + app/settings/basic/basic.settings.component.html + 21 + + Хост + + + Database + + app/settings/database/database.settings.component.html + 21 + + База данных + + + SQLite settings: + + app/settings/database/database.settings.component.html + 29 + + Настройки SQLite: + + + Save + + + app/settings/database/database.settings.component.html + 37 + + Сохранить + + + Reset + + + app/settings/database/database.settings.component.html + 40 + + Сбросить + + + Map settings + + app/settings/map/map.settings.component.html + 4 + + Настройки карты + + + Map provider + + app/settings/map/map.settings.component.html + 25 + + Провайдер онлайн карт + + + Map tile url + + app/settings/map/map.settings.component.html + 37 + + URL фрагмента карты + + + The map module will use this url to fetch the map tiles. + + app/settings/map/map.settings.component.html + 43 + + Модуль карты будет использовать URL для извлечения фрагментов карты + + + Mapbox access token + + app/settings/map/map.settings.component.html + 49 + + Токен доступа Mapbox + + + MapBox needs an access token to work, create one at + + app/settings/map/map.settings.component.html + 55 + + Для работы MapBox нужен токен, создайте его на + + + Save + + + app/settings/map/map.settings.component.html + 63 + + + app/settings/thumbnail/thumbanil.settings.component.html + 104 + + + app/settings/video/video.settings.component.html + 28 + + + app/settings/metafiles/metafile.settings.component.html + 28 + + + app/settings/search/search.settings.component.html + 73 + + + app/settings/share/share.settings.component.html + 52 + + + app/settings/random-photo/random-photo.settings.component.html + 37 + + + app/settings/basic/basic.settings.component.html + 91 + + + app/settings/other/other.settings.component.html + 168 + + Сохранить + + + Reset + + + app/settings/map/map.settings.component.html + 66 + + + app/settings/thumbnail/thumbanil.settings.component.html + 107 + + + app/settings/video/video.settings.component.html + 31 + + + app/settings/metafiles/metafile.settings.component.html + 31 + + + app/settings/search/search.settings.component.html + 76 + + + app/settings/share/share.settings.component.html + 55 + + + app/settings/random-photo/random-photo.settings.component.html + 40 + + + app/settings/basic/basic.settings.component.html + 94 + + + app/settings/other/other.settings.component.html + 171 + + Сброс + + + + Thumbnail settings + + + app/settings/thumbnail/thumbanil.settings.component.html + 3 + + Настройки миниатюр + + + It is highly recommended to use hardware accelerated (sharp or gm) lib for thumbnail + generation + + + app/settings/thumbnail/thumbanil.settings.component.html + 10 + + Для создания миниатюр рекомендуется использовать библиотеку с аппаратным ускорением (sharp или gm) + + + Thumbnail generation library + + app/settings/thumbnail/thumbanil.settings.component.html + 16 + + Библиотека для создания миниатюр + + + Make sure that sharp node module is installed (npm install sharp). + + + app/settings/thumbnail/thumbanil.settings.component.html + 24 + + Убедитесь, что модуль node.js sharp установлен. + + + Make sure that gm node module and + + app/settings/thumbnail/thumbanil.settings.component.html + 28 + + Убедитесь, что модуль node.js gm и + + + GraphicsMagick + + app/settings/thumbnail/thumbanil.settings.component.html + 30 + + GraphicsMagick + + + are installed (npm install sharp). + + app/settings/thumbnail/thumbanil.settings.component.html + 31 + + установлен (npm install sharp). + + + Thumbnail folder + + app/settings/thumbnail/thumbanil.settings.component.html + 38 + + Папка для миниатюр + + + Thumbnails will be saved in this folder. Write access is required + + + app/settings/thumbnail/thumbanil.settings.component.html + 44 + + Миниатюры будут сохранены в этой папке. Требуеться право доступа для записи + + + Thumbnail Quality + + app/settings/thumbnail/thumbanil.settings.component.html + 50 + + Качество миниатюр + + + High quality may be slow. Especially with Jimp. + + app/settings/thumbnail/thumbanil.settings.component.html + 64 + + Высокое качество может потребовать больше времени на создание. Особенно с Jimp. + + + Icon size (used on maps) + + app/settings/thumbnail/thumbanil.settings.component.html + 79 + + Размер иконки (используется на картах) + + + Thumbnail sizes + + app/settings/thumbnail/thumbanil.settings.component.html + 85 + + Размеры миниатюр + + + Size of the thumbnails. + + app/settings/thumbnail/thumbanil.settings.component.html + 92 + + Размер миниатюр. + + + The best matching size will be generated. (More size gives better quality, but use storage to store and CPU to render.) + + app/settings/thumbnail/thumbanil.settings.component.html + 93 + + Будет создан самый подходящий размер. (Больше разрешение лучше по качеству, но требует больше места для хранения и времени на создание.) + + + ';' separated integers. If size is 200, that thumbnail will have 200^2 pixels. + + app/settings/thumbnail/thumbanil.settings.component.html + 95 + + введите целые числа, разделенные ';'. Если указан размер 200, миниатюра будет иметь 200 ^ 2 пикселей. + + + Video settings + + app/settings/video/video.settings.component.html + 4 + + Настройки видео + + + Video support uses ffmpeg. ffmpeg and ffprobe binaries need to be available in the PATH or the @ffmpeg-installer/ffmpeg and @ffprobe-installer/ffprobe optional node packages need to be installed. + + app/settings/video/video.settings.component.html + 23 + + Для работы с видео необходим ffmpeg. Приложения ffmpeg и ffprobe должны быть установлены и доступны через PATH, альтернативное решение - установка node.js модулей @ffmpeg-installer/ffmpeg и @ffprobe-installer/ffprobe. + + + Meta file settings + + app/settings/metafiles/metafile.settings.component.html + 4 + + Мета информация + + + Reads and show *.gpx files on the map + + app/settings/metafiles/metafile.settings.component.html + 23 + + Считывать и отображать *.gpx файлы на карте + + + Search settings + + app/settings/search/search.settings.component.html + 5 + + Настройки поиска + + + Autocomplete + + app/settings/search/search.settings.component.html + 27 + + Автозаполнение + + + Show hints while typing search query + + app/settings/search/search.settings.component.html + 42 + + Показывать подсказки во время ввоода поискового запроса + + + Instant search + + app/settings/search/search.settings.component.html + 48 + + Быстрый поиск + + + Enables showing search results, while typing search query + + app/settings/search/search.settings.component.html + 63 + + Позволяет показывать результаты поиска во время ввоода поискового запроса + + + + Search is not supported with these settings + + + app/settings/search/search.settings.component.html + 68 + + Указанные настройками не поддерживаются поиском + + + Share settings + + app/settings/share/share.settings.component.html + 5 + + Настройки публичного доступа + + + Password protected + + app/settings/share/share.settings.component.html + 26 + + Защищено паролем + + + Enables password protected sharing links + + app/settings/share/share.settings.component.html + 41 + + Защитить паролем опубликованные ссылки + + + + Sharing is not supported with these settings + + + app/settings/share/share.settings.component.html + 47 + + Совместное использование не поддерживается с указанными настройками + + + Random Photo settings + + app/settings/random-photo/random-photo.settings.component.html + 5 + + Настройки случайных фото + + + + This feature enables you to generate 'random photo' urls. + That URL returns a photo random selected from your gallery. + You can use the url with 3rd party like random changing desktop background. + + + app/settings/random-photo/random-photo.settings.component.html + 25 + + Эта функция позволяет генерировать URL для случайных фотографий. По этому адресу буду доступны случайные фто из вашей галереи. Вы также можете использовать этот адрес сторонними приложениями, например как фон на рабочем столе + + + + Random Photo is not supported with these settings + + + app/settings/random-photo/random-photo.settings.component.html + 32 + + "Случайные Фото" не поддерживают указанные настройки + + + + Basic settings + + + app/settings/basic/basic.settings.component.html + 3 + + Основные настройки + + + Page title + + app/settings/basic/basic.settings.component.html + 11 + + Заголовок страницы + + + Server will accept connections from this IPv6 or IPv4 address. + + app/settings/basic/basic.settings.component.html + 27 + + Сервер будет доступен по указанному адресу (IPv4 или IPv6). + + + Port + + app/settings/basic/basic.settings.component.html + 32 + + Порт + + + Port number. Port 80 is usually what you need. + + app/settings/basic/basic.settings.component.html + 41 + + Номер порта. Рекомендуем использовать 80. + + + Images folder + + app/settings/basic/basic.settings.component.html + 46 + + Папка для изображений + + + Images are loaded from this folder (read permission required) + + app/settings/basic/basic.settings.component.html + 52 + + Изображения загружаются из этой папки (требуется право на чтение) + + + Page public url + + app/settings/basic/basic.settings.component.html + 57 + + Публичный URL + + + If you access the page form local network its good to know the public + url for creating sharing link + + + app/settings/basic/basic.settings.component.html + 64 + + Для входа в галлерею из внешней или докальной сети используйте этот URL + + + Url Base + + app/settings/basic/basic.settings.component.html + 71 + + Path + + + If you access the gallery under a sub url (like: + http://mydomain.com/myGallery), set it here. If not working you might miss the '/' from the beginning of the + url. + + + app/settings/basic/basic.settings.component.html + 78 + + Вы можете задать path(вложенный URL) для полного пути вашей галлереи (например: http://mydomain.com/myGallery). Если не указан, входите в галлерею по публичному URL без / в конце + + + + The public url and the url base are not matching. Some of the functionality might not work. + + + app/settings/basic/basic.settings.component.html + 85 + + Публичный URL и базовый URL не совпадают. Некоторые функции могут не работать. + + + + Other settings + + + app/settings/other/other.settings.component.html + 3 + + Другие настройки + + + Error: + + app/settings/other/other.settings.component.html + 7 + + Ошибка: + + + Threads: + + app/settings/other/other.settings.component.html + 10 + + Потоки: + + + Threading + + app/settings/other/other.settings.component.html + 12 + + Использовать многопоточность + + + Runs directory scanning and thumbnail generation (only for Jimp) in a + different thread + + + app/settings/other/other.settings.component.html + 26 + + Запускает в фоне сканирование каталогов и генерацию миниатюр (только для Jimp) + + + Thumbnail threads + + app/settings/other/other.settings.component.html + 33 + + Количество потоков для миниатюр + + + Number of threads that are used to generate thumbnails. If auto, number of CPU cores -1 threads will be used. + + app/settings/other/other.settings.component.html + 40 + + Количество потоков, для создания миниатюр. Для значения auto будет создано потоков на единицу меньше, чем число досутпных ядер процессора. + + + Misc: + + app/settings/other/other.settings.component.html + 45 + + Разное: + + + Scroll based thumbnail + generation + + app/settings/other/other.settings.component.html + 47 + + Генерация миниатюр на лету, во время прокрутки + + + Those thumbnails get higher priority that are visible on the screen + + + app/settings/other/other.settings.component.html + 62 + + Эти миниатюры будут созданны более высокий приоритом, чем тот что используеться при сканировании + + + Lazy image rendering + + app/settings/other/other.settings.component.html + 68 + + Отложенный рендеринг изображений + + + Shows only the required amount of photos at once. Renders more if + page bottom is reached + + + app/settings/other/other.settings.component.html + 82 + + Показывает только необходимое количество фотографий одновременно. Отрисовывает еще, если нижняя часть страницы достигнута + + + Cache + + app/settings/other/other.settings.component.html + 90 + + Кэш + + + Caches directory contents and search results for better performance + + + app/settings/other/other.settings.component.html + 104 + + Кэширует содержимое каталога и результаты поиска для улучшения производительности + + + Caption first naming + + app/settings/other/other.settings.component.html + 111 + + Заголовок перед именем + + + Show the caption (IPTC 120) tags from the EXIF data instead of the filenames. + + + app/settings/other/other.settings.component.html + 125 + + Показывать заголовки тегов из EXIF(IPTC 120) ​​вместо имен файлов. + + + Navigation bar: + + app/settings/other/other.settings.component.html + 131 + + Панель навигации: + + + Show item count + + app/settings/other/other.settings.component.html + 133 + + Показывать количество элементов + + + Show the number of items (photos) in the folder + + + app/settings/other/other.settings.component.html + 147 + + Показывать количество элементов (фотографий) в папке + + + Default photo sorting method + + app/settings/other/other.settings.component.html + 155 + + Метод сортировки фотографий по умолчанию + + + + Folder indexing + + + app/settings/indexing/indexing.settings.component.html + 3 + + Сканирование папок + + + Index cache timeout [ms] + + app/settings/indexing/indexing.settings.component.html + 11 + + Тайм-аут индекс кэша [мс] + + + If there was no indexing in this time, it reindexes. (skipped if + indexes are in DB and sensitivity is low) + + + app/settings/indexing/indexing.settings.component.html + 19 + + Сканирует папки через указанный интервал времени (индексирование не выполняеться, если уже было выполнено ранее, и о нём есть информация в БД и установлена низкая чувствительность) + + + Sub folder preview size + + app/settings/indexing/indexing.settings.component.html + 25 + + Количество файлов для предварительного просмотра во вложенных папках + + + Reads this many photos from sub folders + + app/settings/indexing/indexing.settings.component.html + 33 + + Считывает указаное число фотографий во вложенных папках + + + Folder reindexing sensitivity + + app/settings/indexing/indexing.settings.component.html + 38 + + Чувствительность индеса + + + Set the reindexing sensitivity. High value check the folders for change more often + + + app/settings/indexing/indexing.settings.component.html + 47 + + Установите чувствительность индексации. Чем большое значение тем чаще сканируються папки + + + Save + + + app/settings/indexing/indexing.settings.component.html + 55 + + Сохранить + + + Reset + + + app/settings/indexing/indexing.settings.component.html + 58 + + Сбросить + + + If you add a new folder to your gallery, the site indexes it automatically. + + app/settings/indexing/indexing.settings.component.html + 64 + + Сайт автоматически индексирует добавленые в галерею папки. + + + If you would like to trigger indexing manually, click index button. + + app/settings/indexing/indexing.settings.component.html + 65 + + Если вы хотите запустить индексацию вручную, нажмите кнопку "Индексировать". + + + Note: search only works among the indexed directories + + app/settings/indexing/indexing.settings.component.html + 68 + + Примечание: поиск работает только с проиндексированными каталогами + + + indexing + + app/settings/indexing/indexing.settings.component.html + 73 + + индексирование + + + elapsed + + app/settings/indexing/indexing.settings.component.html + 74 + + прошло + + + left + + app/settings/indexing/indexing.settings.component.html + 75 + + осталось + + + Index + + + app/settings/indexing/indexing.settings.component.html + 96 + + Индексировать + + + Indexes the folders + + app/settings/indexing/indexing.settings.component.html + 94 + + Индексирует папки + + + Index with Thumbnails + + + app/settings/indexing/indexing.settings.component.html + 103 + + Индексировать и создавать миниатюры + + + Indexes the folders and also creates the thumbnails + + app/settings/indexing/indexing.settings.component.html + 99 + + Индексирует папки и создает миниатюры + + + Cancel + + + app/settings/indexing/indexing.settings.component.html + 108 + + Отмена + + + Reset Indexes + + + app/settings/indexing/indexing.settings.component.html + 112 + + Удалить индекс + + + + Statistic: + + + app/settings/indexing/indexing.settings.component.html + 117 + + Статистика: + + + Folders + + app/settings/indexing/indexing.settings.component.html + 121 + + Папки + + + Photos + + app/settings/indexing/indexing.settings.component.html + 125 + + Фото + + + Videos + + app/settings/indexing/indexing.settings.component.html + 129 + + Видео + + + Size + + app/settings/indexing/indexing.settings.component.html + 134 + + Размер + + + Advanced + + frontend/app/admin/admin.component.ts + 1 + + Эксперт + + + Simplified + + frontend/app/admin/admin.component.ts + 1 + + Базовый + + + Images + + frontend/app/gallery/navigator/navigator.gallery.component.ts + 1 + + Изображения + + + Yes + + frontend/app/gallery/random-query-builder/random-query-builder.gallery.component.ts + 1 + + + frontend/app/gallery/share/share.gallery.component.ts + 1 + + Да + + + No + + frontend/app/gallery/random-query-builder/random-query-builder.gallery.component.ts + 1 + + + frontend/app/gallery/share/share.gallery.component.ts + 1 + + Нет + + + Url has been copied to clipboard + + frontend/app/gallery/random-query-builder/random-query-builder.gallery.component.ts + 1 + + + frontend/app/gallery/share/share.gallery.component.ts + 1 + + URL скопирован в буфер обмена + + + loading.. + + frontend/app/gallery/share/share.gallery.component.ts + 1 + + + frontend/app/gallery/share/share.gallery.component.ts + 1 + + загрузка .. + + + Server error + + frontend/app/model/notification.service.ts + 1 + + + frontend/app/model/notification.service.ts + 1 + + Ошибка сервера + + + Server info + + frontend/app/model/notification.service.ts + 1 + + Информация о сервере + + + h + + frontend/app/pipes/DurationPipe.ts + 1 + + hour + час + + + m + + frontend/app/pipes/DurationPipe.ts + 1 + + minute + минута + + + s + + frontend/app/pipes/DurationPipe.ts + 1 + + second + секунда + + + ascending name + + frontend/app/pipes/StringifySortingMethod.ts + 1 + + по имени, в алфавитном порядке + + + descending name + + frontend/app/pipes/StringifySortingMethod.ts + 1 + + о имени, против алфавитного порядка + + + ascending date + + frontend/app/pipes/StringifySortingMethod.ts + 1 + + по возрастанию дата + + + descending date + + frontend/app/pipes/StringifySortingMethod.ts + 1 + + по убыванию даты + + + Enabled + + frontend/app/settings/_abstract/abstract.settings.component.ts + 1 + + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + Включено + + + Disabled + + frontend/app/settings/_abstract/abstract.settings.component.ts + 1 + + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + Отключено + + + Low + + frontend/app/settings/_abstract/abstract.settings.component.ts + 1 + + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + Низкий + + + High + + frontend/app/settings/_abstract/abstract.settings.component.ts + 1 + + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + Высокий + + + settings saved + + frontend/app/settings/_abstract/abstract.settings.component.ts + 1 + + настройки сохранены + + + Success + + frontend/app/settings/_abstract/abstract.settings.component.ts + 1 + + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + Выполнено + + + Basic + + frontend/app/settings/basic/basic.settings.component.ts + 1 + + Основной + + + Restart the server to apply the new settings + + frontend/app/settings/basic/basic.settings.component.ts + 1 + + + frontend/app/settings/other/other.settings.component.ts + 1 + + Для того чтобы применить настройки перезапустите сервер + + + Indexing + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + Индексирование + + + low + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + низкий + + + medium + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + средний + + + high + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + высокий + + + Folder indexed + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + Папка проиндексирована + + + Database reset + + frontend/app/settings/indexing/indexing.settings.component.ts + 1 + + Сброс базы данных + + + Map + + frontend/app/settings/map/map.settings.component.ts + 1 + + Карта + + + Meta file + + frontend/app/settings/metafiles/metafile.settings.component.ts + 1 + + Метафайл + + + Other + + frontend/app/settings/other/other.settings.component.ts + 1 + + Другие + + + Random Media + + frontend/app/settings/random-photo/random-photo.settings.component.ts + 1 + + Случайные ресурсы + + + Thumbnail + + frontend/app/settings/thumbnail/thumbanil.settings.component.ts + 1 + + Миниатюра + + + (recommended) + + frontend/app/settings/thumbnail/thumbanil.settings.component.ts + 1 + + (рекомендуемые) + + + Password protection enabled + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + Защита паролем включена + + + Server restart is recommended. + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + Рекомендуется перезапустить сервер. + + + Password protection disabled + + frontend/app/settings/usermanager/usermanager.settings.component.ts + 1 + + Защита паролем отключена + + + Video + + frontend/app/settings/video/video.settings.component.ts + 1 + + Видео + + + + \ No newline at end of file