diff --git a/README.md b/README.md index c5881e3d2..e2833eb05 100644 --- a/README.md +++ b/README.md @@ -25,12 +25,8 @@ This is my personal Photobooth fork with some extras on top (more information ca - Standalone Gallery ([localhost/gallery.php](http://localhost/gallery.php)). - Slideshow via Gallery or standalone Gallery (under [localhost/slideshow](http://localhost/slideshow)). - Settings can be changed via Admin Panel (under [localhost/admin](http://localhost/admin)): - - Multi-language support: - - German - - English - - Spanish - - French - - Greek + - Multi-language support + - [Translate on Crowdin](https://crowdin.com/project/photobooth) - Login to protect Admin Panel and/or Start page can be enabled. - Gallery: - Order pictures in gallery ascending oder descending by picture age. @@ -65,6 +61,7 @@ This is my personal Photobooth fork with some extras on top (more information ca - access login via [localhost/login](http://localhost/login) instead [localhost/login.php](http://localhost/login.php) - offline manual with settings explained under [localhost/manual](http://localhost/manual) ([andi34/photobooth#59](https://github.com/andi34/photobooth/pull/59)) - offline FAQ under [localhost/manual/faq.html](http://localhost/manual/faq.html) + - disk usage page, access via admin panel or at [localhost/admin/diskusage.php](http://localhost/admin/diskusage.php) - fix windows compatibility - fix check for image filter - performance improvement ([andreknieriem/photobooth#226](https://github.com/andreknieriem/photobooth/pull/226)) @@ -94,10 +91,47 @@ This is my personal Photobooth fork with some extras on top (more information ca - Preview/Stream from device cam as background on start page ([andi34/photobooth#58](https://github.com/andi34/photobooth/pull/58)) - Allow using a stream from URL at countdown for preview - Allow to rotate preview from URL - - Show button bar inside gallery on bottom or on top of the image - Auto reload Photobooth on error while taking a photo - Allow to change permissons on picture - qrHelp: define WiFi SSID used on QR via admin panel + - Updated [PhotoSwipe Gallery](https://github.com/andi34/PhotoSwipe) + - Show button bar inside gallery on bottom or on top of the image + - allow to adjust PhotoSwipe Gallery config via Adminpanel, also allow to use some PhotoSwipe functions and make more PhotoSwipe settings available (settings explained inside the manual): + - Mouse click on image should close the gallery (enable/disable) + - Close gallery if clicked outside of the image (enable/disable) + - Close picture on page scroll (enable/disable) + - Close gallery when dragging vertically and when image is not zoomed (enable/disable) + - Show image counter (enable/disable) + - Show PhotoSwipe fullscreen button (enable/disable) + - Show PhotoSwipe zoom button (enable/disable) + - PhotoSwipe history module (enable/disable) + - Pinch to close gallery (enable/disable) + - Toggle visibility of controls/buttons by tap (enable/disable) + - allow to adjust PhotoSwipe background opacity (0-1) + - Loop images (enable/disable) + - Slide transition effect (enable/disable) + - Swiping to change slides (enable/disable) + - gallery: button to delete an image, enable by default + - Remote Buzzer Server based on io sockets + - Enables a GPIO pin connected hardware button / buzzer for a setup where the display / screen is connected via WLAN / network to the photobooth webserver (e.g. iPad) + - Choose thumbnail size: + - XS = max 360px + - S = max 540px + - M = max 900px + - L = max 1080px + - XL = max 1260px" + - Advanced printing functions [#109](https://github.com/andi34/photobooth/pull/109): + - Auto print function + - allow to delay auto print + - allow to adjust time "Started printing! Please wait..." is visible + - allow to trigger print via defined key + - options to show the print button independent (e.g. can be only visible on gallery) + - Advanced collage options [#108](https://github.com/andi34/photobooth/pull/108): + - Choose collage layout: + - 2x2 + - 2x4 + - 2x4 + background image + - Collage: apply frame once after taking or to every picture of the collage ## :camera: Screenshots @@ -133,10 +167,6 @@ If you like my work and like to keep me motivated you can buy me a coconut water [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/andreasblaesius) -### :information_source: Donators Early Access - -Donators who donated 5€ or more get early access to new features/options i am adding (please leave a message at donation telling your email address). - ### :mortar_board: Tutorial [Raspberry Pi Weddingphotobooth (german)](https://www.andrerinas.de/tutorials/raspberry-pi-einen-dslr-weddingphotobooth-erstellen.html) diff --git a/api/applyEffects.php b/api/applyEffects.php index 09d9ae86f..3d59cfdb2 100644 --- a/api/applyEffects.php +++ b/api/applyEffects.php @@ -22,7 +22,9 @@ $filename_thumb = $config['foldersAbs']['thumbs'] . DIRECTORY_SEPARATOR . $file; $frame_path = __DIR__ . DIRECTORY_SEPARATOR .$config['take_frame_path']; $collage_frame_path = __DIR__ . DIRECTORY_SEPARATOR .$config['take_collage_frame_path']; +$collage_background = __DIR__ . DIRECTORY_SEPARATOR .$config['collage_background']; $picture_permissions = $config['picture_permissions']; +$thumb_size = substr($config['thumb_size'], 0, -2); if (isset($_POST['isCollage']) && $_POST['isCollage'] === 'true') { $collageBasename = substr($filename_tmp, 0, -4); @@ -32,7 +34,7 @@ $collageSrcImagePaths[] = $collageBasename . '-' . $i . '.jpg'; } - if (!createCollage($collageSrcImagePaths, $filename_tmp, $config['take_collage_frame'], $collage_frame_path)) { + if (!createCollage($collageSrcImagePaths, $filename_tmp, $config['take_collage_frame'], $config['take_collage_frame_always'], $collage_frame_path, $collage_background)) { die(json_encode([ 'error' => 'Could not create collage' ])); @@ -115,7 +117,7 @@ } // image scale, create thumbnail -$thumbResource = resizeImage($imageResource, 500, 500); +$thumbResource = resizeImage($imageResource, $thumb_size, $thumb_size); imagejpeg($thumbResource, $filename_thumb, $config['jpeg_quality_thumb']); imagedestroy($thumbResource); diff --git a/api/deletePhoto.php b/api/deletePhoto.php index 5fa88b9c5..52f375c5f 100644 --- a/api/deletePhoto.php +++ b/api/deletePhoto.php @@ -13,6 +13,8 @@ $file = $_POST['file']; $filePath = $config['foldersAbs']['images'] . DIRECTORY_SEPARATOR . $file; $filePathThumb = $config['foldersAbs']['thumbs'] . DIRECTORY_SEPARATOR . $file; +$filePathKeying = $config['foldersAbs']['keying'] . DIRECTORY_SEPARATOR . $file; +$filePathTmp = $config['foldersAbs']['tmp'] . DIRECTORY_SEPARATOR . $file; // Only jpg/jpeg are supported $imginfo = getimagesize($filePath); @@ -29,6 +31,26 @@ ])); } +if ($config['chroma_keying']) { + if (is_readable($filePathKeying)) { + if (!unlink ($filePathKeying)) { + die(json_encode([ + 'error' => 'Could not delete keying file', + ])); + } + } +} + +if ($config['keep_images']) { + if (is_readable($filePathTmp)) { + if (!unlink ($filePathTmp)) { + die(json_encode([ + 'error' => 'Could not delete tmp file', + ])); + } + } +} + deleteImageFromDB($file); echo json_encode([ diff --git a/api/download.php b/api/download.php index 69d57dbba..2a94c17e2 100644 --- a/api/download.php +++ b/api/download.php @@ -1,9 +1,18 @@ - + diff --git a/config/config.inc.php b/config/config.inc.php index dac810f72..8e82879ad 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -8,16 +8,10 @@ $config['show_error_messages'] = true; $config['auto_reload_on_error'] = true; $config['pictureRotation'] = '0'; -$config['use_print'] = false; $config['use_qr'] = true; $config['use_download'] = true; +$config['download_thumbs'] = false; $config['use_slideshow'] = true; -$config['print_qrcode'] = false; -$config['print_frame'] = false; -$config['print_frame_path'] = '../resources/img/frames/frame.png'; -$config['crop_onprint'] = false; -$config['crop_width'] = '1000'; -$config['crop_height'] = '500'; $config['use_mail'] = false; // mail data needs to be configured $config['show_fork'] = true; $config['previewFromCam'] = false; // experimental see https://github.com/andreknieriem/photobooth/pull/30 @@ -38,6 +32,7 @@ $config['collage_cntdwn_time'] = '3'; // control countdown timer between collage pictures $config['cheese_time'] = '1000'; // control time for cheeeeese! $config['keep_images'] = true; +$config['thumb_size'] = '540px'; $config['image_preview_before_processing'] = true; $config['preserve_exif_data'] = false; $config['use_filter'] = true; @@ -50,7 +45,10 @@ $config['take_frame'] = false; $config['take_frame_path'] = '../resources/img/frames/frame.png'; $config['take_collage_frame'] = false; +$config['take_collage_frame_always'] = false; $config['take_collage_frame_path'] = '../resources/img/frames/frame.png'; +$config['collage_layout'] = '2x2'; // possible values are '2x2' or '2x4' +$config['collage_background'] = '../resources/img/frames/DefaultCollageBackground.png'; $config['chroma_keying'] = false; $config['use_collage'] = true; $config['continuous_collage'] = true; @@ -69,9 +67,10 @@ // use for example https://keycode.info to get the key code $config['photo_key'] = null; $config['collage_key'] = null; +$config['print_key'] = null; // LANGUAGE -// possible values: de, el, en, es, fr +// possible values: de, el, en, es, fr, pl $config['language'] = 'en'; // StartScreen @@ -150,6 +149,19 @@ $config['slideshow_randomPicture'] = true; $config['slideshow_use_thumbs'] = false; +// PRINT +$config['use_print_result'] = false; +$config['use_print_gallery'] = false; +$config['use_print_chromakeying'] = false; +$config['auto_print'] = false; +$config['auto_print_delay'] = '1000'; +$config['printing_time'] = '5000'; +$config['print_qrcode'] = false; +$config['print_frame'] = false; +$config['print_frame_path'] = '../resources/img/frames/frame.png'; +$config['crop_onprint'] = false; +$config['crop_width'] = '1000'; +$config['crop_height'] = '500'; // TEXT ON PRINT $config['is_textonprint'] = false; $config['textonprint']['line1'] = 'line 1'; diff --git a/index.php b/index.php index ca7cb7598..233292268 100644 --- a/index.php +++ b/index.php @@ -162,7 +162,7 @@ - + diff --git a/lib/collage.php b/lib/collage.php index 50cd6de3b..97c2ac5c9 100644 --- a/lib/collage.php +++ b/lib/collage.php @@ -1,41 +1,167 @@ 'EL', 'en' => 'EN', 'es' => 'ES', - 'fr' => 'FR' + 'fr' => 'FR', + 'pl' => 'PL' ], 'value' => $config['language'] ], @@ -44,6 +45,19 @@ 'name' => 'keep_images', 'value' => $config['keep_images'] ], + 'thumb_size' => [ + 'type' => 'select', + 'name' => 'thumb_size', + 'placeholder' => $defaultConfig['thumb_size'], + 'options' => [ + '360px' => 'XS', + '540px' => 'S', + '900px' => 'M', + '1080px' => 'L', + '1260px' => 'XL' + ], + 'value' => $config['thumb_size'] + ], 'show_error_messages' => [ 'type' => 'checkbox', 'name' => 'show_error_messages', @@ -77,11 +91,6 @@ 'placeholder' => '0644', 'value' => $config['picture_permissions'] ], - 'use_print' => [ - 'type' => 'checkbox', - 'name' => 'use_print', - 'value' => $config['use_print'] - ], 'use_qr' => [ 'type' => 'checkbox', 'name' => 'use_qr', @@ -104,6 +113,11 @@ 'name' => 'use_download', 'value' => $config['use_download'] ], + 'download_thumbs' => [ + 'type' => 'checkbox', + 'name' => 'download_thumbs', + 'value' => $config['download_thumbs'] + ], 'use_slideshow' => [ 'type' => 'checkbox', 'name' => 'use_slideshow', @@ -231,12 +245,34 @@ 'name' => 'take_collage_frame', 'value' => $config['take_collage_frame'] ], + 'take_collage_frame_always' => [ + 'type' => 'checkbox', + 'name' => 'take_collage_frame_always', + 'value' => $config['take_collage_frame_always'] + ], 'take_collage_frame_path' => [ 'type' => 'input', 'placeholder' => $defaultConfig['take_collage_frame_path'], 'name' => 'take_collage_frame_path', 'value' => htmlentities($config['take_collage_frame_path']) ], + 'collage_layout' => [ + 'type' => 'select', + 'name' => 'collage_layout', + 'placeholder' => $defaultConfig['collage_layout'], + 'options' => [ + '2x2' => '2x2', + '2x4' => '2x4', + '2x4BI' => '2x4 + background image' + ], + 'value' => $config['collage_layout'] + ], + 'collage_background' => [ + 'type' => 'input', + 'name' => 'collage_background', + 'placeholder' => $defaultConfig['collage_background'], + 'value' => $config['collage_background'] + ], 'collage_cntdwn_time' => [ 'type' => 'range', 'name' => 'collage_cntdwn_time', @@ -516,6 +552,12 @@ ] ], 'folders' => [ + 'data' => [ + 'type' => 'input', + 'placeholder' => $defaultConfig['folders']['data'], + 'name' => 'folders[data]', + 'value' => $config['folders']['data'] + ], 'images' => [ 'type' => 'input', 'placeholder' => $defaultConfig['folders']['images'], @@ -551,12 +593,6 @@ 'placeholder' => $defaultConfig['folders']['tmp'], 'name' => 'folders[tmp]', 'value' => $config['folders']['tmp'] - ], - 'data' => [ - 'type' => 'input', - 'placeholder' => $defaultConfig['folders']['data'], - 'name' => 'folders[data]', - 'value' => $config['folders']['data'] ] ], 'event' => [ @@ -601,6 +637,52 @@ ] ], 'print' => [ + 'use_print_result' => [ + 'type' => 'checkbox', + 'name' => 'use_print_result', + 'value' => $config['use_print_result'] + ], + 'use_print_gallery' => [ + 'type' => 'checkbox', + 'name' => 'use_print_gallery', + 'value' => $config['use_print_gallery'] + ], + 'use_print_chromakeying' => [ + 'type' => 'checkbox', + 'name' => 'use_print_chromakeying', + 'value' => $config['use_print_chromakeying'] + ], + 'auto_print' => [ + 'type' => 'checkbox', + 'name' => 'auto_print', + 'value' => $config['auto_print'] + ], + 'auto_print_delay' => [ + 'type' => 'range', + 'placeholder' => $defaultConfig['auto_print_delay'], + 'name' => 'auto_print_delay', + 'value' => $config['auto_print_delay'], + 'range_min' => 250, + 'range_max' => 10000, + 'range_step' => 250, + 'unit' => 'milliseconds' + ], + 'printing_time' => [ + 'type' => 'range', + 'placeholder' => $defaultConfig['printing_time'], + 'name' => 'printing_time', + 'value' => $config['printing_time'], + 'range_min' => 250, + 'range_max' => 20000, + 'range_step' => 250, + 'unit' => 'milliseconds' + ], + 'print_key' => [ + 'type' => 'input', + 'name' => 'print_key', + 'placeholder' => '', + 'value' => $config['print_key'] + ], 'print_qrcode' => [ 'type' => 'checkbox', 'name' => 'print_qrcode', diff --git a/package.json b/package.json index a4f0a125f..3e052d6e2 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,6 @@ "eslint-plugin-node": "^11.1.0", "git-tag-version": "^1.3.1", "gulp-babel": "^8.0.0", - "prettier": "^2.1.1" + "prettier": "^2.1.2" } } diff --git a/resources/img/frames/DefaultCollageBackground.png b/resources/img/frames/DefaultCollageBackground.png new file mode 100644 index 000000000..c04271293 Binary files /dev/null and b/resources/img/frames/DefaultCollageBackground.png differ diff --git a/resources/lang/de.json b/resources/lang/de.json index 6f9d22b02..57138064f 100644 --- a/resources/lang/de.json +++ b/resources/lang/de.json @@ -3,6 +3,7 @@ "admin_panel": "Admin Panel", "allow_delete": "Löschen des Bildes erlauben", "allow_delete_from_gallery": "Löschen von Bildern aus der Galerie zulassen", + "auto_print": "Bild unmittelbar nach der Aufnahme drucken", "auto_reload": "Photobooth wird automatisch neu geladen...", "auto_reload_on_error": "Photobooth bei Fehler automatisch neu laden", "available_version": "Verfügbare Version", @@ -10,7 +11,7 @@ "busyCollage": "Collage wird verarbeitet ...", "check_version": "Version überprüfen", "cheese": "Cheeeeeeeese!", - "cheeseCollage": "Cheeeeeeeese Collageeeeeeeeee!", + "cheeseCollage": "Cheeeeeeeese Collageeeeeeeeeee!", "chroma_keying": "Chroma-Keying erlauben", "close": "Schließen", "commands": "Befehle", @@ -25,9 +26,12 @@ "cups_button": "CUPS Taste anzeigen", "current_version": "Aktuelle Version", "default_imagefilter": "Bildfilter auswählen", + "degrees": "°", "delete": "Löschen", "dev": "Entwicklungs-Modus", "disk_usage": "Festplattenbelegung", + "dot": ".", + "download_thumbs": "Thumbnails zum Herunterladen verwenden", "error": "Es ist ein Fehler aufgetreten, bitte versuche es erneut!", "event": "Veranstaltungen", "event_symbol": "Symbol", @@ -54,8 +58,10 @@ "general_camera_mode": "Kamerabildmodus", "general_cheese_time": "Cheeeeeeeese!-Timer:", "general_cntdwn_time": "Countdown Timer:", + "general_collage_background": "Pfad zum Hintergrund für die Collage \"2x4 + background image\"", "general_collage_cntdwn_time": "Collage-Countdown Timer:", "general_collage_key": "Tastencode welcher eine Collage auslöst", + "general_collage_layout": "Collage Layout wählen:", "general_db_file": "Name der Datenbankdatei", "general_default_imagefilter": "Standardbildfilter", "general_disabled_filters": "Deaktivierte Bildfilter", @@ -71,12 +77,13 @@ "general_start_screen_title": "Startbildschirm (Titel)", "general_take_collage_frame_path": "Rahmen", "general_take_frame_path": "Rahmen", + "general_thumb_size": "Thumbnailgröße", "general_time_to_live": "Bildanzeige nach Aufnahme:", "general_videoHeight": "Gerätekamera Bildhöhe", "general_videoWidth": "Gerätekamera Bildbreite", "general_webserver_ip": "IP-Adresse des Photobooth Webservers", "general_wifi_ssid": "Wireless-Netzwerkname (SSID) für den Zugriff auf die Photobooth", - "home": "Home", + "home": "Startseite", "image_preview_before_processing": "Bild laden bevor Filter berechnet werden", "insertMail": "Gebe deine E-Mail-Adresse ein, um das Foto zugesendet zu bekommen.", "is_event": "Veranstaltung", @@ -110,6 +117,7 @@ "mail_username": "Benutzername des E-Mail Accounts", "manual_allow_delete": "Wenn diese Option aktiviert ist, können Bilder direkt nach der Aufnahme auf der Ergebnisseite gelöscht werden.", "manual_allow_delete_from_gallery": "Wenn diese Option aktiviert ist, können Bilder jederzeit aus der Galerie heraus gelöscht werden.", + "manual_auto_print": "Wenn aktiviert, wird das Bild sofort ausgedruckt, nachdem es aufgenommen wurde.", "manual_auto_reload_on_error": "Wenn beim Aufnehmen eines Bildes ein Fehler auftritt, wird die Photobooth nach 5 Sekunden automatisch neu geladen.", "manual_chroma_keying": "Wenn diese Option aktiviert ist, können Sie für Ihre Bilder über die Galerie auf Chromakeying zugreifen.", "manual_commands_exiftool_cmd": "EXIFtool-Befehlszeile, die nach dem Aufnehmen eines Bildes ausgeführt wird. Die Option \"EXIF-Daten beibehalten\" muss aktiviert sein.", @@ -122,6 +130,7 @@ "manual_crop_onprint": "Wenn diese Option aktiviert ist, werden Bilder beim Drucken auf die angegebene Höhe und Breite zugeschnitten (px).", "manual_cups_button": "Schaltfläche zum einfachen Zugriff auf CUPS (Common Unix Printing System) auf der Startseite anzeigen.", "manual_dev": "Aktiviert den Entwicklungsmodus. Beispielbilder werden verwendet anstatt ein Bild aufzunehmen.", + "manual_download_thumbs": "Wenn aktiviert, werden Thumbnails beim Download verwendet (falls vorhanden) statt dem Bild in voller Größe.", "manual_event_symbol": "Wählen Sie ein Symbol, welches zwischen dem eingegebenen Text angezeigt wird.", "manual_event_textLeft": "Geben Sie den Text ein, der auf der linken Seite des ausgewählten Symbols sichtbar ist.", "manual_event_textRight": "Geben Sie den Text ein, der auf der rechten Seite des ausgewählten Symbols sichtbar ist.", @@ -140,8 +149,10 @@ "manual_general_camera_mode": "Wählen Sie den Kameramodus Ihrer Gerätekamera (Kamera mit Blick nach vorne oder hinten).", "manual_general_cheese_time": "Legen Sie eine Zeit fest zur Anzeige von \"Cheeeeeeeese!\" nach dem Countdown.", "manual_general_cntdwn_time": "Legen Sie Ihre Countdown-Zeit fest.", + "manual_general_collage_background": "Geben Sie den Pfad des Hintergrunds ein, der für die Collage im Collage Layout \"2x4 + background image\" verwendet wird.", "manual_general_collage_cntdwn_time": "Legen Sie Ihre Countdown-Zeit fest, welche zwischen den Bildern für eine Collage verwendet wird.", "manual_general_collage_key": "Geben Sie die Keyl-ID an, welche zum Erstellen einer Collage verwendet werden soll (z.B. 13 ist die Eingabetaste). Verwenden Sie beispielsweise https://keycode.info, um die Key-ID herauszufinden.", + "manual_general_collage_layout": "Wählen Sie zwischen den 2x2 und 2x4 Bilder Layouts für die Collage.", "manual_general_db_file": "Name der Datenbankdatei.", "manual_general_default_imagefilter": "Wählen Sie einen Bildfilter, der standardmäßig nach der Aufnahme angewendet wird.", "manual_general_disabled_filters": "Wählen Sie Filter aus, die aus den verfügbaren Bildfiltern entfernt werden.", @@ -157,6 +168,7 @@ "manual_general_start_screen_title": "Geben Sie den auf der Startseite sichtbaren Titel ein.", "manual_general_take_collage_frame_path": "Geben Sie den Pfad des Rahmens ein, der nach der Aufnahme auf Ihre Collage angewendet wird.", "manual_general_take_frame_path": "Geben Sie den Pfad des Rahmens ein, der nach der Aufnahme auf Ihr Bild angewendet wird.", + "manual_general_thumb_size": "Thumbnail-Größe auswählen: XS = max 360px, S = max 540px, M = max 900px, L = max 1080px, XL = max 1260px", "manual_general_time_to_live": "Definieren Sie die Zeit in Millisekunden, die Ihr Bild nach der Aufnahme auf dem Ergebnisbildschirm sichtbar ist.", "manual_general_videoHeight": "Geben Sie einen Wert ein, der als Höhe für die Vorschau der Gerätekamera verwendet wird.", "manual_general_videoWidth": "Geben Sie einen Wert ein, der als Breite für die Vorschau der Gerätekamera verwendet wird.", @@ -190,6 +202,7 @@ "manual_previewCamTakesPic": "Wenn diese Option aktiviert ist, wird ein Bild von der Gerätekamera aufgenommen, anstatt den Befehl \"Bild aufnehmen\" auszuführen. Bitte beachten Sie, dass die Auflösung des Bildes von der angegebenen Höhe und Breite abhängt, da dies wie ein Screenshot aufgenommen wird.", "manual_previewFromCam": "Wenn diese Option aktiviert ist, wird während des Countdown eine Vorschau aus Ihrer Gerätekamera angezeigt. Bei der Vorschau durch die \"Gerätekamera\" wird immer die Kamera des Geräts verwendet, auf dem die Photobooth in einem Browser geöffnet wird (z. B. wird auf einem Tablet immer die Tablet-Kamera angezeigt, während auf einem Smartphone stattdessen immer die Smartphone-Kamera angezeigt wird)! Ein sicherer Ursprung oder eine Ausnahme ist zwingend erforderlich! Wie Sie eine Ausnahme definieren finden Sie hier.", "manual_previewFromIPCam": "Wenn diese Option aktiviert ist, wird während des Countdown eine Vorschau aus definierter URL angezeigt. Stellen Sie sicher, dass ein Stream verfügbar ist, den Sie verwenden können (z. B. von Ihrer Webcam, Smartphone-Kamera oder Raspberry Pi-Kamera).", + "manual_print_auto_print_delay": "Geben Sie die Zeit in Millisekunden an, um die der automatische Druck des Bildes verzögert wird.", "manual_print_crop_height": "Geben Sie einen Wert für die Höhe ein, die für das Bild verwendet wird, wenn \"Bild bei Ausdruck zurechtschneiden\" aktiviert ist.", "manual_print_crop_width": "Geben Sie einen Wert für die Breite ein, die für das Bild verwendet wird, wenn \"Bild bei Ausdruck zurechtschneiden\" aktiviert ist.", "manual_print_font_path": "Geben Sie den Pfad zu der Schriftart ein, mit der Text auf Ihr Bild gedruckt wird.", @@ -202,6 +215,8 @@ "manual_print_linespace": "Geben Sie den zu verwendenden Zeilenabstand ein, wenn Text auf Ihr Bild gedruckt wird.", "manual_print_locationx": "X-Koordinaten des Textes beim Drucken von Text auf Ihr Bild.", "manual_print_locationy": "Y-Koordinaten des Textes beim Drucken von Text auf Ihr Bild.", + "manual_print_print_key": "Geben Sie die Keyl-ID an, welche zum Drucken eines Fotos verwendet werden soll (z.B. 13 ist die Eingabetaste). Verwenden Sie beispielsweise https://keycode.info, um die Key-ID herauszufinden.", + "manual_print_printing_time": "Geben Sie in Millisekunden an, wie lange \"Druckauftrag gestartet! Bitte warten....\" angezeigt wird, nachdem ein Druckauftrag gestartet wurde.", "manual_print_qrcode": "Wenn diese Option aktiviert ist, wird beim Drucken ein QR-Code auf die rechte Seite des Bildes gedruckt.", "manual_print_rotation": "Geben Sie einen Wert ein um den ein Bild beim Drucken gedreht wird.", "manual_protect_admin": "Wenn diese Option aktiviert ist, kann auf das Admin-Panel nur zugegriffen werden, wenn ein Benutzername und ein Passwort eingegeben werden.", @@ -239,13 +254,16 @@ "manual_slideshow_pictureTime": "Geben Sie in Millisekunden an, wie lange ein Bild während der Standalone-Diashow angezeigt wird.", "manual_slideshow_refreshTime": "Die Standalone-Diashow wird nach eingegebenen Sekunden neu geladen.", "manual_take_collage_frame": "Wenn diese Option aktiviert ist, wird nach der Aufnahme ein definierter Rahmen auf Ihre Collage angewendet.", + "manual_take_collage_frame_always": "Wenn aktiviert, wird der definierte Rahmen auf jedes Bild Ihrer Collage angewendet, anstatt einmal nach der Aufnahme der Collage. \"Foto-Collage mit Rahmen aufnehmen\" muss aktiviert sein.", "manual_take_frame": "Wenn diese Option aktiviert ist, wird nach der Aufnahme ein definierter Rahmen auf Ihr Bild angewendet.", "manual_toggle_fs_button": "Wenn diese Option aktiviert ist, wird dem Startbildschirm eine Schaltfläche zum Umschalten des Vollbildmodus hinzugefügt.", "manual_use_collage": "Wenn diese Option aktiviert ist, kann der Benutzer eine Collage aufnehmen. Eine Collage besteht aus 4 Bildern. Optional können Sie eine Collage mit oder ohne Unterbrechung aufnehmen.", "manual_use_download": "Wenn diese Option aktiviert ist, ist für jedes Bild in der Galerie eine Download-Schaltfläche sichtbar.", "manual_use_filter": "Wenn diese Option aktiviert ist, kann der Benutzer nach dem Aufnehmen eines Bildes einen Bildfilter auswählen.", "manual_use_mail": "Wenn diese Option aktiviert ist, ist für jedes Bild in der Galerie eine E-Mail-Schaltfläche sichtbar. Abhängig von Ihren Einstellungen können Sie Bilder direkt per E-Mail senden oder die eingegebene E-Mail-Adresse in einer Datenbank sammeln.", - "manual_use_print": "Wenn diese Option aktiviert ist, wird eine Druckschaltfläche auf dem Ergebnisbildschirm, der Galerie und der Chromakeying-Seite angezeigt.", + "manual_use_print_chromakeying": "Wenn aktiviert, ist auf der Chromakey-Seite eine Druck-Schaltfläche sichtbar.", + "manual_use_print_gallery": "Wenn aktiviert, wird eine Druck-Schaltfläche in der Galerie angezeigt.", + "manual_use_print_result": "Wenn aktiviert, wird eine Druck-Schaltfläche auf der Ergebnisseite angezeigt.", "manual_use_qr": "Wenn diese Option aktiviert ist, wird eine QR-Schaltfläche auf dem Ergebnisbildschirm und in der Galerie angezeigt. Der Benutzer kann beim Scannen des QR-Codes ein Bild herunterladen. Wenn Sie über \"localhost\", \"127.0.0.1\" auf Photobooth zugreifen oder Photobooth in einem Unterordner installiert haben, definieren Sie bitte die IP-Adresse des Photobooth-Webservers, damit der QR-Code funktioniert.

Beispiel, wenn auf Photobooth direkt zugegriffen werden kann: 192.168.0.50.

Beispiel, wenn Photobooth in einem Unterordner installiert ist: 192.168.0.50/photobooth.

", "manual_use_slideshow": "Wenn diese Option aktiviert ist, wird in der Galerie eine Diashow-Schaltfläche angezeigt, mit der Sie eine Diashow starten / stoppen können.", "manual_use_thumbs": "Wenn diese Option aktiviert ist, werden Miniaturansichten für die Diashow verwendet. Dadurch wird die Leistung leicht verbessert.", @@ -259,6 +277,7 @@ "newest_first": "Neueste Bilder zuerst anzeigen", "nextPhoto": "Nächstes Bild", "path": "Pfad:", + "percent": "%", "polaroid_effect": "Polaroid Effekt", "preserve_exif_data": "Exif-Daten erhalten", "previewCamBackground": "Stream der Gerätekamera als Hintergrund nutzen", @@ -267,6 +286,7 @@ "previewFromCam": "Vorschau aus der Gerätekamera anzeigen", "previewFromIPCam": "Vorschau von URL", "print": "Drucken", + "print_auto_print_delay": "Automatisches Drucken des Bildes verzögern", "print_crop_height": "Neue Bildhöhe bei Ausdruck (px)", "print_crop_width": "Neue Bildbreite bei Ausdruck (px)", "print_font_path": "Schriftart", @@ -279,6 +299,8 @@ "print_linespace": "Zeilenabstand", "print_locationx": "X-Koordinaten", "print_locationy": "Y-Koordinaten", + "print_print_key": "Tastencode welcher einen Druckauftrag auslöst", + "print_printing_time": "Druckdauer", "print_qrcode": "QR-Code auf dem Bild beim Drucken", "print_rotation": "Text-Rotation", "printing": "Druckauftrag gestartet! Bitte warten...", @@ -297,10 +319,11 @@ "pswp_preventSwiping": "Wischgeste ausschalten", "pswp_tapToToggleControls": "Sichtbarkeit von Steuerelementen / Schaltflächen durch Tippen umschalten", "pswp_zoomEl": "PhotoSwipe Zoom-Schaltfläche anzeigen", - "qr": "QR Code", + "qr": "QR-Code", "qrHelp": "Um das Bild auf Ihr Handy herunterzuladen, verbinden Sie sich mit dem WLAN:", "randomPicture": "Zufällige Bilder anzeigen", "really_delete": "Wollen Sie wirklich alle Bilder löschen? Das kann nicht rückgängig gemacht werden!", + "really_delete_image": "wird gelöscht! Dies kann nicht rückgängig gemacht werden! Bild wirklich löschen?", "reload": "Seite neu laden", "remotebuzzer": "Remote Buzzer Server", "remotebuzzer_collagetime": "Sekunden gedrückt halten für Collage", @@ -308,7 +331,7 @@ "remotebuzzer_logfile": "Logfile", "remotebuzzer_nodebin": "Node.js Pfad", "remotebuzzer_pin": "Raspberry Pi GPIO Pin (0 zum Abschalten)", - "remotebuzzer_port": "Server Port", + "remotebuzzer_port": "Server-Port", "remove_config": "Persönliche Konfiguration löschen (my.config.inc.php)", "remove_images": "Bilder löschen", "remove_mailtxt": "E-Mail-Adressen-Datenbankdatei löschen", @@ -339,6 +362,7 @@ "takeCollage": "Collage erstellen!", "takePhoto": "Foto erstellen!", "take_collage_frame": "Foto-Collage mit Rahmen aufnehmen", + "take_collage_frame_always": "Rahmen auf jedes Bild der Collage anwenden", "take_frame": "Bild mit Rahmen aufnehmen", "test_update_available": "Es ist ein Test-Update verfügbar.", "toggleFullscreen": "Vollbildmodus umschalten", @@ -349,7 +373,9 @@ "use_download": "Download aktivieren", "use_filter": "Bildfilter erlauben", "use_mail": "E-Mail aktivieren", - "use_print": "Drucken aktivieren", + "use_print_chromakeying": "Drucken von Chromakeying erlauben", + "use_print_gallery": "Drucken von Galerie erlauben", + "use_print_result": "Drucken von Ergebnisseite erlauben", "use_qr": "QR-Code aktivieren", "use_slideshow": "Diashow in Galerie erlauben", "use_thumbs": "Thumbnails für die Diashow verwenden", diff --git a/resources/lang/el.json b/resources/lang/el.json index 1b708bffe..9c4f4335f 100644 --- a/resources/lang/el.json +++ b/resources/lang/el.json @@ -5,7 +5,6 @@ "busy": "Η εικόνα βρίσκεται υπό επεξεργασία ...", "busyCollage": "Το κολάζ υποβάλλεται σε επεξεργασία ...", "check_version": "Επαληθεύστε την έκδοση", - "cheese": "Cheeeeeeeese!", "cheeseCollage": "Cheeeeeeeese κολάάάάάάζζζζζζζζ!", "chroma_keying": "Chroma-Keying επιτρέπονται", "close": "Κλείσε", @@ -58,14 +57,12 @@ "jpeg_quality_jpeg_quality_image": "Ποιότητα JPEG για φωτογραφίες (-1 ... 100)", "jpeg_quality_jpeg_quality_thumb": "Ποιότητα JPEG για μικρογραφίες (-1 ... 100)", "language": "Επιλέξτε γλώσσα", - "mail": "E-Mail", "mailError": "Σφάλμα κατά την αποστολή του E-Mail", "mailSent": "E-Mail αποστέλλονται", "mail_fromAddress": "Διεύθυνση αποστολέα", "mail_fromName": "Όνομα αποστολέα", "mail_host": "E-Mail Διεύθυνση κεντρικού υπολογιστή", "mail_password": "κωδικό πρόσβασης", - "mail_port": "Port", "mail_secure": "ασφάλεια (tls ή ssl)", "mail_subject": "σχέση", "mail_text": "κείμενο", @@ -119,7 +116,6 @@ "use_download": "Επιτρέψτε τη λήψη", "use_filter": "Αφήστε φίλτρα εικόνας", "use_mail": "E-Mail Ενεργοποίηση", - "use_print": "Ενεργοποίηση εκτύπωσης", "use_qr": "Ενεργοποιήστε τον κωδικό QR", "user_interface": "διεπαφή χρήστη", "user_interface_background_admin": "Διαδρομή εικόνας φόντου διαχειριστή", diff --git a/resources/lang/en.json b/resources/lang/en.json index 8f5d8a7df..92be4332c 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -3,6 +3,7 @@ "admin_panel": "Admin panel", "allow_delete": "Allow deletion of the image", "allow_delete_from_gallery": "Allow deletion of images from gallery", + "auto_print": "Print picture immediately after taken", "auto_reload": "Photobooth reloads automatically...", "auto_reload_on_error": "Automatically reload Photobooth on error", "available_version": "Available version", @@ -30,6 +31,7 @@ "dev": "Dev-Mode", "disk_usage": "Disk Usage", "dot": ".", + "download_thumbs": "Use thumbnails for download", "error": "Something went wrong. Please try it again.", "event": "Event", "event_symbol": "Symbol", @@ -56,8 +58,10 @@ "general_camera_mode": "Camera facing mode", "general_cheese_time": "Cheeeeeeeese!-Timer:", "general_cntdwn_time": "Countdown timer:", + "general_collage_background": "Path to the background for \"2x4 + background image\" collage", "general_collage_cntdwn_time": "Collage-countdown timer:", "general_collage_key": "Key code which triggers a collage", + "general_collage_layout": "Choose collage layout:", "general_db_file": "Database file name", "general_default_imagefilter": "Default image filter", "general_disabled_filters": "Disabled image filters", @@ -73,6 +77,7 @@ "general_start_screen_title": "Start screen (title)", "general_take_collage_frame_path": "Frame", "general_take_frame_path": "Frame", + "general_thumb_size": "Thumbnail size", "general_time_to_live": "Show image after capture:", "general_videoHeight": "Device cam picture height", "general_videoWidth": "Device cam picture width", @@ -112,6 +117,7 @@ "mail_username": "Username of the e-mail account", "manual_allow_delete": "If enabled pictures can be deleted on result page directly after they have been taken.", "manual_allow_delete_from_gallery": "If enabled pictures can be deleted from the gallery at any time.", + "manual_auto_print": "If enabled, the picture will immediately printed after it was taken.", "manual_auto_reload_on_error": "If an error occurs while taking a picture, Photobooth will reload automatically after 5 seconds.", "manual_chroma_keying": "If enabled, chromakeying can be accessed from gallery for your pictures.", "manual_commands_exiftool_cmd": "EXIFtool command line which is executed after taking a picture if \"Preserve EXIF data\" is enabled.", @@ -124,6 +130,7 @@ "manual_crop_onprint": "If enabled, pictures are cropped at print by given height and width (px).", "manual_cups_button": "Show a button on startpage to easily access CUPS (Common Unix Printing System).", "manual_dev": "Enables development mode. Sample pictures will be used instead taking a picture.", + "manual_download_thumbs": "If enabled, thumbnails will be used at download (if exist) instead the full sized image.", "manual_event_symbol": "Choose a symbol which is shown between entered text.", "manual_event_textLeft": "Enter the text visible on the left side of the chosen symbol.", "manual_event_textRight": "Enter the text visible on the right side of the chosen symbol.", @@ -142,8 +149,10 @@ "manual_general_camera_mode": "Choose between front- or back facing camera mode of your device cam.", "manual_general_cheese_time": "Set a time to display \"Cheeeeeeeese!\" after the countdown.", "manual_general_cntdwn_time": "Set your countdown time.", + "manual_general_collage_background": "Enter the path of the background which is applied to your collage on \"2x4 + background image\" collage layout.", "manual_general_collage_cntdwn_time": "Set your countdown time between pictures while taking a collage.", "manual_general_collage_key": "Specify the key id to use that key to take a collage (e.g. 13 is the enter key). For example use https://keycode.info to find out the key id.", + "manual_general_collage_layout": "Choose between 2x2 and 2x4 pictures collage layout.", "manual_general_db_file": "Name of the database file.", "manual_general_default_imagefilter": "Choose an image filter which is applied by default after taking a picture.", "manual_general_disabled_filters": "Choose filters which get removed from the available image filters.", @@ -159,6 +168,7 @@ "manual_general_start_screen_title": "Enter the title visible on startpage", "manual_general_take_collage_frame_path": "Enter the path of the frame which is applied to your collage after taking it.", "manual_general_take_frame_path": "Enter the path of the frame which is applied to your picture after taking it.", + "manual_general_thumb_size": "Choose thumbnail size: XS = max 360px, S = max 540px, M = max 900px, L = max 1080px, XL = max 1260px", "manual_general_time_to_live": "Enter a value used as milliseconds. This value defines the time your picture is visible on the result screen after taking a picture.", "manual_general_videoHeight": "Enter a value which is used as height for preview by device cam.", "manual_general_videoWidth": "Enter a value which is used as width for preview by device cam.", @@ -192,6 +202,7 @@ "manual_previewCamTakesPic": "If enabled, a picture is taken from device cam instead executing the \"Take picture command\". Please note that the resolution depends on the given hight and width because it's acts like taking a screenshot.", "manual_previewFromCam": "If enabled, a preview by your device cam is used at countdown. Preview by \"device cam\" will always use the camera of the device where Photobooth get opened in a Browser (e.g. on a tablet it will always show the tablet camera while on a smartphone it will always show the smartphone camera instead)! A secure origin or exception is required! You can find out how to set an exception here.", "manual_previewFromIPCam": "If enabled, a preview by defined url will be visible at countdown. Make sure to have a stream available you can use (e.g. from your Webcam, Smartphone Camera or Raspberry Pi Camera).", + "manual_print_auto_print_delay": "Enter in milliseconds by which the automatic printing of the image is delayed.", "manual_print_crop_height": "Enter a value for the height which is used for the picture if \"Crop picture at print\" is enabled.", "manual_print_crop_width": "Enter a value for the width which is used for the picture if \"Crop picture at print\" is enabled.", "manual_print_font_path": "Enter the path to the font used to print text onto your image.", @@ -204,6 +215,8 @@ "manual_print_linespace": "Enter used linespace while printing text on your picture.", "manual_print_locationx": "X-Coordinates of the text while printing text on your picture.", "manual_print_locationy": "Y-Coordinates of the text while printing text on your picture.", + "manual_print_print_key": "Specify the key id to use that key to print a picture (e.g. 13 is the enter key). For example use https://keycode.info to find out the key id.", + "manual_print_printing_time": "Enter in milliseconds, how long \"Started printing! Please wait....\" is displayed after a print job has started.", "manual_print_qrcode": "If enabled, a QR-Code is printed onto the right side of the picture while printing.", "manual_print_rotation": "Enter a value which is used as degrees a picture gets rotated at print.", "manual_protect_admin": "If enabled, admin panel can only be accessed if a username and password is entered.", @@ -241,13 +254,16 @@ "manual_slideshow_pictureTime": "Add a value which is used as milliseconds an image is displayed at standalone slideshow.", "manual_slideshow_refreshTime": "Refresh standalone slideshow after entered seconds.", "manual_take_collage_frame": "If enabled, defined frame will be applied to your collage after taking it.", + "manual_take_collage_frame_always": "If enabled, defined collage frame will be applied to each picture of your collage instead of applying once at the end of the collage. \"Take collage with frame\" needs to be enabled.", "manual_take_frame": "If enabled, defined frame will be applied to your picture after taking it.", "manual_toggle_fs_button": "If enabled, a button to toggle fullscreenmode will be added to the start screen.", "manual_use_collage": "If enabled, user can take a collage. A collage consists of 4 pictures. Optional you can take a collage with or without interruption.", "manual_use_download": "If enabled, a download button is visible on each picture inside the gallery.", "manual_use_filter": "If enabled, user can choose a imagefiler after taking a picture.", "manual_use_mail": "If enabled, a email button is visible on each picture inside the gallery. Depending on your setup you can send pictures via email directly or collect entered email address inside a database.", - "manual_use_print": "If enabled, a print button is visible on result screen, gallery and chromakeying page.", + "manual_use_print_chromakeying": "If enabled, a print button is visible on chromakeying page.", + "manual_use_print_gallery": "If enabled, a print button is visible inside the gallery.", + "manual_use_print_result": "If enabled, a print button is visible on result screen.", "manual_use_qr": "If enabled, a QR-Button is visible on the result screen and inside gallery. User can download a picture while scanning the QR-Code. If you're accessing Photobooth via \"localhost\", \"127.0.0.1\" or if you have Photobooth installed inside a subfolder, please define IP address of the Photobooth web server to make the QR-Code working.

Example if Photobooth can be accessed directly: 192.168.0.50.

Example if Photobooth is installed inside a subfolder: 192.168.0.50/photobooth.

", "manual_use_slideshow": "If enabled, a slideshow button is visible inside the gallery to start/stop a slideshow.", "manual_use_thumbs": "If enabled, thumbnails are used for standalone gallery. This will improve the performance slightly.", @@ -270,6 +286,7 @@ "previewFromCam": "See preview by device cam", "previewFromIPCam": "Preview from URL", "print": "Print", + "print_auto_print_delay": "Delay automatic printing of the image", "print_crop_height": "New height at print (px)", "print_crop_width": "New width at print (px)", "print_font_path": "Font", @@ -282,6 +299,8 @@ "print_linespace": "Line spacing", "print_locationx": "X Coordinate", "print_locationy": "Y Coordinate", + "print_print_key": "Key code which triggers printing", + "print_printing_time": "Printing time", "print_qrcode": "QR-Code on the picture while printing", "print_rotation": "Text rotation", "printing": "Started printing! Please wait...", @@ -343,6 +362,7 @@ "takeCollage": "Take Collage!", "takePhoto": "Take Pic!", "take_collage_frame": "Take collage with frame", + "take_collage_frame_always": "Apply frame to each picture of the collage", "take_frame": "Take picture with frame", "test_update_available": "There is a test update available.", "toggleFullscreen": "Toggle Fullscreen", @@ -353,7 +373,9 @@ "use_download": "Allow downloads", "use_filter": "Allow image filter", "use_mail": "Use E-Mail", - "use_print": "Use Print", + "use_print_chromakeying": "Allow printing from chromakeying", + "use_print_gallery": "Allow printing from gallery", + "use_print_result": "Allow printing from result page", "use_qr": "Use QR Codes", "use_slideshow": "Allow slideshow in gallery", "use_thumbs": "Use thumbnails for slideshow", diff --git a/resources/lang/es.json b/resources/lang/es.json index 5784a6a0b..a87303940 100644 --- a/resources/lang/es.json +++ b/resources/lang/es.json @@ -22,7 +22,6 @@ "cups_button": "Mostrar el botón CUPS", "current_version": "Versión actual", "default_imagefilter": "Elegir filtro de imagen", - "degrees": "°", "delete": "Eliminar", "dev": "Modo desarrollador", "error": "Hubo un problema. Por favor intente otra vez.", @@ -43,7 +42,6 @@ "gallery_bottom_bar": "Mostrar la barra del botón por dentro la galería en la parte inferior", "gallery_date_format": "Formato de fecha", "gallery_no_image": "La galeri es vacía. ¡Saque fotos!", - "general": "General", "general_camera_mode": "Modo orientado a la cámara", "general_cheese_time": "¡Definir el tiempo para el patataaaaas!en milisegundos.", "general_cntdwn_time": "Cuenta regresiva en segundos", @@ -79,7 +77,6 @@ "keep_images": "Mantener imágenes originales en la carpeta TMP", "keyingerror": "¡La incrustación en el croma verde es imposible!", "language": "Elija el idioma", - "login": "Login", "login_enabled": "Login habilitado", "login_invalid": "¡Nombre de usuario o contraseña no es válido!", "login_password": "Contraseña", @@ -209,7 +206,6 @@ "manual_use_download": "Si está activado, un botón de descarga es visible en cada imagen dentro de la galería.", "manual_use_filter": "Si está habilitado, el usuario puede elegir un imagefiler después de tomar una foto.", "manual_use_mail": "Si está habilitado, un botón de correo electrónico es visible en cada imagen dentro de la galería. Dependiendo de su configuración puede enviar imágenes por correo electrónico directamente o recopilar la dirección de correo electrónico introducida dentro de una base de datos.", - "manual_use_print": "Si está activado, un botón de impresión es visible en la pantalla de resultados, la galería y la página de cromakey.", "manual_use_qr": "Si está activado, un botón QR es visible en la pantalla de resultados y dentro de la galería. El usuario puede descargar una imagen mientras escanea el código QR. Si está accediendo a Photobooth a través de \"localhost\", \"127.0.0.1\" o si tiene Photobooth instalado dentro de una subcarpeta, defina la dirección IP del servidor web Photobooth para que el código QR funcione.

Por ejemplo, si Photobooth se puede acceder directamente: 192.168.0.50.

Por ejemplo, si Photobooth está instalado dentro de una subcarpeta: 192.168.0.50/photobooth.

", "manual_use_thumbs": "Si está habilitada, las miniaturas se utilizan para la galería independiente. Esto mejorará ligeramente el rendimiento.", "manual_user_interface_background_admin": "Estilo CSS para fondo en el panel de administración.", @@ -221,7 +217,6 @@ "newPhoto": "Una foto más", "newest_first": "Primero muestre las últimas páginas", "nextPhoto": "Siguiente imagen", - "percent": "%", "polaroid_effect": "Efecto polaroid", "preserve_exif_data": "Conservar los datos EXIF", "previewCamBackground": "Utilice la transmisión desde la cámara del dispositivo como fondo", @@ -258,7 +253,6 @@ "reset": "Reiniciar", "rounded_corners": "Esquinas redondeadas", "save": "Salvar", - "saveerror": "Error", "saving": "En proceso de copia de seguridad.", "scrollbar": "Muestre la barra de desplazamiento en la galería", "seconds": "segundo(s)", @@ -287,7 +281,6 @@ "use_download": "Permitir descargas", "use_filter": "Autorice el tratamiento de imagen", "use_mail": "Utilizar el correo electrónico", - "use_print": "Utilizar la impresion", "use_qr": "Utilizar los códigos QR", "use_thumbs": "Usar miniaturas para la presentación de diapositivas", "user_interface": "Interfaz de usuario", diff --git a/resources/lang/fr.json b/resources/lang/fr.json index f739eb5b0..07a513bd0 100644 --- a/resources/lang/fr.json +++ b/resources/lang/fr.json @@ -5,7 +5,6 @@ "busy": "En cours de traitement", "busyCollage": "En cours de traitement", "check_version": "Vérifier la version", - "cheese": "Cheeeeeeeese!", "cheeseCollage": "Cheeeeeeeese 4 fois !", "chroma_keying": "Activez le fond vert", "close": "Fermer", @@ -67,7 +66,6 @@ "mail_fromName": "Nom de l'expéditeur", "mail_host": "Adresse mail de l'hôte", "mail_password": "Mot de passe", - "mail_port": "Port", "mail_secure": "Sécurité (tls ou ssl)", "mail_subject": "objet du mail", "mail_text": "Texte", @@ -92,10 +90,8 @@ "print_qrcode": "QR-Code sur l'image en cours d'impression", "print_rotation": "Rotation du texte", "printing": "I'impression a commencé", - "qr": "QR Code", "randomPicture": "Afficher des images aléatoires", "really_delete": "Vraiment supprimer toutes les images? Ça ne peut pas être annulé!", - "really_delete_image": "wird gelöscht! Das kann nicht rückgängig gemacht werden! Wollen Sie das Bild wirklich löschen?", "reload": "Recharger la page", "reset": "Réinitialiser", "save": "Sauvegarder", @@ -123,7 +119,6 @@ "use_download": "Autoriser les téléchargements", "use_filter": "Autorisez le filtre d'image", "use_mail": "Utiliser le courrier électronique", - "use_print": "Utiliser l'impression", "use_qr": "Utiliser le QR code", "user_interface": "Interface utilisateur", "user_interface_background_admin": "Chemin de l'image d'arrière-plan du panneau d'administration", diff --git a/resources/lang/pl.json b/resources/lang/pl.json new file mode 100644 index 000000000..27e021ef0 --- /dev/null +++ b/resources/lang/pl.json @@ -0,0 +1,340 @@ +{ + "abort": "Przerwij", + "admin_panel": "Panel administracyjny", + "allow_delete": "Zezwalaj na usunięcie obrazu", + "allow_delete_from_gallery": "Pozwól na usuwanie obrazów z galerii", + "auto_print": "Drukuj zdjęcie natychmiast po wykonaniu", + "auto_reload": "Fotobudka przeładowuje się automatycznie...", + "auto_reload_on_error": "Automatycznie przeładuj fotobudkę po błędzie", + "available_version": "Dostępna wersja", + "busy": "Przetwarzanie", + "busyCollage": "Przetwarzanie kolażu", + "check_version": "Sprawdź wersję", + "cheese": "Uśmiech!", + "cheeseCollage": "Uśmiech Kolaż!", + "chroma_keying": "Zezwalaj na chroma keying", + "close": "Zamknij", + "commands": "Polecenia", + "commands_exiftool_cmd": "Polecenie EXIFtool", + "commands_print_cmd": "Polecenie Drukuj", + "commands_print_msg": "Wiadomość z powodzeniem wydruku", + "commands_take_picture_cmd": "Wiadomość zrób zdjęcie", + "commands_take_picture_msg": "Wiadomość o pomyślnym wykonaniu zdjęcia", + "continuous_collage": "Zrób kolaż bez przerw", + "crop_onprint": "Przytnij zdjęcie przy wydruku", + "cups_button": "Pokaż przycisk CUPS", + "current_version": "Aktualna wersja", + "default_imagefilter": "Wybierz filtr obrazu", + "degrees": "°", + "delete": "Usuń", + "dev": "Tryb Deweloperski", + "disk_usage": "Użycie dysku", + "dot": ".", + "download_thumbs": "Użyj miniatur do pobrania", + "error": "Coś poszło nie tak. Spróbuj ponownie.", + "event": "Zdarzenie", + "event_symbol": "Symbol", + "event_textLeft": "Tekst z lewej", + "event_textRight": "Tekst z prawej", + "filecount": "Liczba plików:", + "folders": "Foldery", + "folders_data": "Folder Danych", + "folders_images": "Folder zdjęć", + "folders_print": "Folder wydruków", + "folders_qrcodes": "Folder kodów QR", + "folders_thumbs": "Folder miniarurek", + "folders_tmp": "Katalog tmp", + "foldersize": "Rozmiar katalogu:", + "force_buzzer": "Ukryj przycisk wyzwalacza", + "gallery": "Galeria", + "gallery_bottom_bar": "Pokaż pasek przycisków wewnątrz galerii na dole", + "gallery_date_format": "Styl daty", + "gallery_no_image": "Galeria jest nadal pusta. Zrób kilka zdjęć!", + "gallery_pswp_bgOpacity": "Przezroczystość tła", + "general": "Ogólne", + "general_cheese_time": "Uśmiech!-Timer:", + "general_cntdwn_time": "Odliczanie czasu:", + "general_collage_background": "Ścieżka do tła dla \"2x4 + obraz tła\" kolażu", + "general_collage_cntdwn_time": "Czas odliczania kolażu:", + "general_collage_key": "Kod klawisza, który wyzwala kolaż", + "general_collage_layout": "Wybierz układ kolażu:", + "general_db_file": "Nazwa pliku bazy danych", + "general_default_imagefilter": "Domyślny filtr obrazu", + "general_disabled_filters": "Wyłączone filtry obrazów", + "general_file_naming": "Nazwa pliku", + "general_ipCamPreviewRotation": "Obróć podgląd z adresu URL", + "general_ipCamURL": "Podgląd-adres URL", + "general_language": "Język", + "general_photo_key": "Kod klawisza, który wyzwala zdjęcie", + "general_pictureRotation": "Obróć zdjęcie po wykonaniu (w stopniach)", + "general_picture_permissions": "Uprawnienia zdjęć", + "general_polaroid_rotation": "Obrót obrazów Polaroid", + "general_start_screen_subtitle": "Ekran startowy (napisy)", + "general_start_screen_title": "Ekran startowy (tytuł)", + "general_take_collage_frame_path": "Ramka", + "general_take_frame_path": "Ramka", + "general_thumb_size": "Rozmiar miniatur", + "general_time_to_live": "Pokaż obraz po wyzwoleniu:", + "general_videoHeight": "Wysokość obrazu z kamery urządzenia", + "general_videoWidth": "Szerokość obrazu z kamery urządzenia", + "general_webserver_ip": "Adres IP serwera WWW Fotobudki", + "general_wifi_ssid": "Nazwa sieci bezprzewodowej (SSID) używana do uzyskania dostępu do Fotobudki", + "home": "Strona główna", + "image_preview_before_processing": "Wstępnie załaduj i pokaż obraz podczas przetwarzania filtrów", + "insertMail": "Wpisz swój adres e-mail, aby otrzymać zdjęcie.", + "is_event": "Wydarzenie", + "is_textonprint": "Drukuj tekst na obrazach", + "jpeg_quality": "Jakość JPEG", + "jpeg_quality_jpeg_quality_chroma": "Jakość JPEG dla chroma-keying (-1 ... 100):", + "jpeg_quality_jpeg_quality_image": "Jakość JPEG dla obrazów (-1 ... 100):", + "jpeg_quality_jpeg_quality_thumb": "Jakość JPEG dla miniaturek (-1 ... 100):", + "keep_images": "Zachowaj oryginalne zdjęcia w folderze tmp", + "keyingerror": "Chroma keying nie jest możliwa!", + "language": "Wybierz język", + "login": "Logowanie", + "login_enabled": "Logowanie włączone", + "login_invalid": "Nazwa użytkownika lub Hasło jest nieprawidłowe!", + "login_password": "Hasło", + "login_username": "Nazwa użytkownika", + "logout": "Wyloguj", + "mail": "E-mail", + "mailError": "Błąd podczas wysyłania wiadomości e-mail", + "mailSaved": "Adres e-mail zapisany pomyślnie", + "mailSent": "E-mail został wysłany", + "mail_file": "Nazwa pliku bazy danych adresów e-mail", + "mail_fromAddress": "Adres zwrotny", + "mail_fromName": "Nazwa nadawcy", + "mail_host": "Adres e-mail hosta", + "mail_password": "Hasło", + "mail_port": "Port", + "mail_secure": "Zabezpieczenie (tls lub ssl)", + "mail_subject": "Temat", + "mail_text": "Tekst", + "mail_username": "Nazwa użytkownika dla konta e-mail", + "manual_allow_delete": "Jeśli włączone, zdjęcia mogą zostać usunięte na stronie wyników bezpośrednio po ich wykonaniu.", + "manual_allow_delete_from_gallery": "Jeśli włączone, zdjęcia mogą zostać usunięte z galerii w dowolnym momencie.", + "manual_auto_print": "Jeśli włączone, zdjęcie zostanie wydrukowane natychmiast po wykonaniu.", + "manual_auto_reload_on_error": "Jeśli wystąpi błąd podczas wykonywania zdjęcia, fotobudka przeładuje się automatycznie po 5 sekundach.", + "manual_chroma_keying": "Jeśli włączone chromakeying może być dostępne z galerii dla Twoich zdjęć.", + "manual_commands_print_cmd": "Wiersz poleceń, który jest wykonywany podczas naciśnięcia przycisku \"Drukuj\".", + "manual_commands_print_msg": "Wiadomość zwrotna z polecenia wydruku.", + "manual_commands_take_picture_cmd": "Wiersz poleceń, który jest wykonywany podczas naciśnięcia przycisku \"Zrób zdjęcie\". Na Linux możesz na przykład użyć gphoto2 do robienia zdjęć, w systemie Windows możesz użyć digiCamControl.", + "manual_commands_take_picture_msg": "Wiadomość zwrotna z polecenia zrób zdjęcie.", + "manual_continuous_collage": "Zrób kolaż bez przerw.", + "manual_crop_onprint": "Jeśli włączone, zdjęcia są przycięte na wydruku o podanej wysokości i szerokości (px).", + "manual_cups_button": "Pokaż przycisk na stronie startowej, aby łatwo uzyskać dostęp do CUPS (Common Unix Printing System).", + "manual_dev": "Włącza tryb deweloperski. Przykładowe zdjęcia będą używane zamiast robienia zdjęć.", + "manual_download_thumbs": "Jeśli włączone, miniatury będą używane podczas pobierania (jeśli istnieje) zamiast pełnego rozmiaru obrazu.", + "manual_event_symbol": "Wybierz symbol, który jest wyświetlany pomiędzy wprowadzonym tekstem.", + "manual_event_textLeft": "Wprowadź tekst widoczny po lewej stronie wybranego symbolu.", + "manual_event_textRight": "Wprowadź tekst widoczny po prawej stronie wybranego symbolu.", + "manual_folders_data": "Wprowadź nazwę folderu danych.", + "manual_folders_images": "Wprowadź ścieżkę i nazwę folderu obrazów. Powinien to być podfolder folderu \"data\"!", + "manual_folders_keying": "Wprowadź ścieżkę i nazwę folderu chromakeying. Powinien to być podfolder folderu \"data\"!", + "manual_folders_print": "Wprowadź ścieżkę i nazwę folderu wydruków. Powinien to być podfolder folderu \"data\"!", + "manual_folders_qrcodes": "Wprowadź ścieżkę i nazwę folderu kodów QR. Powinien to być podfolder folderu \"data\"!", + "manual_folders_thumbs": "Wprowadź ścieżkę i nazwę folderu dla miniatur. Powinien to być podfolder folderu \"data\"!", + "manual_folders_tmp": "Wprowadź ścieżkę i nazwę folderu TEMP. Powinien to być podfolder folderu \"data\"!", + "manual_force_buzzer": "Jeśli włączone, przyciski zrób zdjęcie i kolaż znikną. Otrzymasz przycisk, który mówi aby użyć buzera do wykonania zdjęcia lub kolażu.", + "manual_gallery_bottom_bar": "Jeśli włączone, pasek przycisków jest wyświetlany w galerii u dołu.", + "manual_gallery_date_format": "Wprowadź swój styl daty.", + "manual_gallery_pswp_bgOpacity": "Przezroczystość tła, niskie wartości czynią tło bardziej przezroczystym.", + "manual_general_cheese_time": "Ustaw czas wyświetlania \"Uśmiech!\" po odliczaniu.", + "manual_general_cntdwn_time": "Ustaw czas odliczania.", + "manual_general_collage_cntdwn_time": "Ustaw czas odliczania pomiędzy zdjęciami podczas wykonywania kolażu.", + "manual_general_db_file": "Nazwa pliku bazy danych.", + "manual_general_default_imagefilter": "Wybierz filtr obrazu, który jest domyślnie stosowany po wykonaniu zdjęcia.", + "manual_general_disabled_filters": "Wybierz filtry, które zostaną usunięte z dostępnych filtrów obrazów.", + "manual_general_file_naming": "Wybierz między datą, numerowaniem lub losową nazwą obrazów. Dla zdjęć nazwanych datą możesz wyświetlić obraz z datą i czasem wewnątrz galerii.", + "manual_general_ipCamPreviewRotation": "Wybierz, aby obrócić podgląd z adresu URL.", + "manual_general_ipCamURL": "Styl CSS do użycia strumienia z adresu URL do podglądu podczas odliczania.

Przykład: url(../img/bg_bluegray.jpg)

", + "manual_general_language": "Wybierz język interfejsu.

Jeśli brakuje języka lub chcesz pomóc w ulepszeniu tłumaczeń, odwiedź \"Jak zaktualizować lub dodać tłumaczenie? Instrukcja na WIKI Photobooth.

", + "manual_general_photo_key": "Określ identyfikator klawisza, aby użyć go do zrobienia zdjęcia (np. 13 jest klawiszem enter). Przykładowo użyj https://keycode.info, aby uzyskać identyfikator klawisza.", + "manual_general_pictureRotation": "Wprowadź wartość, która ustawi stopnie obrotu obrazu po jego wykonaniu.", + "manual_general_picture_permissions": "Zmień uprawnienia zdjęć poleceniem \"chmod\". Zmień tę wartość tylko, jeśli znasz uprawnienia plików w Linux/Unix.", + "manual_general_polaroid_rotation": "Wprowadź wartość, która ustawi stopnie obrotu obrazu po jego wykonaniu z efektem polaroid.", + "manual_general_start_screen_subtitle": "Wprowadź podtytuł widoczny na stronie startowej.", + "manual_general_start_screen_title": "Wprowadź tytuł widoczny na stronie startowej", + "manual_general_take_collage_frame_path": "Wprowadź ścieżkę ramki, która zostanie zastosowana do Twojego kolażu po jego użyciu.", + "manual_general_take_frame_path": "Wprowadź ścieżkę ramki, która zostanie zastosowana do zdjęcia po jego wykonaniu.", + "manual_general_thumb_size": "Wybierz rozmiar miniatury: XS = max 360px, S = max 540px, M = max 900px, L = max 1080px, XL = max 1260px", + "manual_general_time_to_live": "Wprowadź wartość w milisekundach. Ta wartość definiuje czas, w którym obraz jest widoczny na ekranie wyników po wykonaniu zdjęcia.", + "manual_general_videoHeight": "Wprowadź wartość, która jest używana jako wysokość do podglądu przez kamerę urządzenia.", + "manual_general_videoWidth": "Wprowadź wartość, która jest używana jako szerokość dla podglądu przez kamerę urządzenia.", + "manual_general_webserver_ip": "Proszę zdefiniować adres IP serwera WWW Fotobudki, aby kod QR działał w przypadku uzyskania dostępu do Fotobudki przez \"localhost\", \"127.0.0.1\" lub jeśli masz zainstalowaną fotobudkę w podfolderze.

Przykład, jeśli Fotobudka jest dostępna bezpośrednio: 192.168.0.50.

Przykład, jeśli Fotobudka jest zainstalowana w podfolderze: 192.168.0.50/photobooth

", + "manual_general_wifi_ssid": "Proszę zdefiniować nazwę sieci bezprzewodowej (SSID), która ma być użyta do uzyskania dostępu do Fotobudki. Nazwa sieci bezprzewodowej (SSID) jest wyświetlana na stronie wyników po wywołaniu kodu QR.", + "manual_image_preview_before_processing": "Jeśli włączone, obrazy są wstępnie załadowane i wyświetlane podczas przetwarzania filtrów.", + "manual_is_event": "Jeśli włączone, możesz zdefiniować tekst i wybrać między różnymi symbolami, które są widoczne na stronie startowej.", + "manual_is_textonprint": "Jeśli włączone, możesz wydrukować jakiś tekst na zdjęciach.", + "manual_jpeg_quality_jpeg_quality_chroma": "Jakość obrazu używana do obrazów chromakeying.", + "manual_jpeg_quality_jpeg_quality_image": "Jakość obrazu używana do wykonanych zdjęć.", + "manual_jpeg_quality_jpeg_quality_thumb": "Jakość obrazu używana w miniaturach.", + "manual_keep_images": "Jeśli włączone, oryginalne obrazy będą przechowywane wewnątrz folderu tmp.", + "manual_login_enabled": "Jeśli włączone, nazwa użytkownika i hasło będą potrzebne do uzyskania dostępu do strony administracyjnej i/lub ekranu startowego (w zależności od konfiguracji).", + "manual_login_password": "Zdefiniuj swoje hasło używane do logowania. Pamiętaj: po zapisaniu hasła będzie widoczne jako hash w panelu administracyjnym. Aby zalogować się nie wpisuj hash, wprowadź hasło, które ustawiłeś.", + "manual_login_username": "Zdefiniuj nazwę użytkownika używaną do logowania się do Fotobudki.", + "manual_mail_file": "Nazwa pliku bazy danych adresów e-mail.", + "manual_mail_fromAddress": "Wprowadź swój adres zwrotny, który jest używany podczas wysyłania zdjęć pocztą elektroniczną.", + "manual_mail_fromName": "Wprowadź nazwę nadawcy, która jest używana podczas wysyłania zdjęć pocztą elektroniczną.", + "manual_mail_host": "Wprowadź adres hosta e-mail.", + "manual_mail_password": "Wprowadź hasło używane do zalogowania się na twoje konto e-mail.", + "manual_mail_port": "Wprowadź port używany do wysyłania e-mail.", + "manual_mail_secure": "Wprowadź protokół używany do szyfrowania między klientem poczty a serwerem poczty (ssl lub tls).", + "manual_mail_subject": "Podaj temat używany podczas wysyłania zdjęć pocztą elektroniczną.", + "manual_mail_text": "Wprowadź tekst e-mail, który jest używany podczas wysyłania zdjęć pocztą elektroniczną.", + "manual_mail_username": "Wprowadź nazwę użytkownika używaną do zalogowania się na twoje konto e-mail.", + "manual_newest_first": "Jeśli włączone, najnowsze zdjęcia będą wyświetlane jako pierwsze w galerii.", + "manual_polaroid_effect": "Jeśli opcja jest włączona, efekt polaroidowy zostanie zastosowany do zdjęcia po jego wykonaniu.", + "manual_previewCamBackground": "Jeśli włączone, jako tło na ekranie początkowym używany jest strumień z kamery urządzenia.", + "manual_previewCamFlipHorizontal": "Jeśli włączone, podgląd z kamery urządzenia jest odbiciem lustrzanym.", + "manual_print_auto_print_delay": "Wprowadź w milisekundach, opóźnienie automatycznego wydruku zdjęcia.", + "manual_print_crop_height": "Wprowadź wartość dla wysokości, która jest używana dla obrazka, jeśli opcja \"Przytnij obraz przy wydruku\" jest włączona.", + "manual_print_crop_width": "Wprowadź wartość dla szerokości, która jest używana dla obrazka, jeśli opcja \"Przytnij obraz przy wydruku\" jest włączona.", + "manual_print_font_path": "Wprowadź ścieżkę do czcionki używanej do drukowania tekstu na zdjęciu.", + "manual_print_fontsize": "Wprowadź rozmiar czcionki używany do drukowania tekstu na zdjęciu.", + "manual_print_frame": "Jeśli włączone, na zdjęciu w wydruku zostanie zastosowana ramka.", + "manual_print_frame_path": "Wprowadź ścieżkę ramki, która jest stosowana do zdjęcia w wydruku.", + "manual_print_line1": "Tekst używany do 1. Wiersza, który zostanie wydrukowany na zdjęciu.", + "manual_print_line2": "Tekst używany do 2. Wiersza, który zostanie wydrukowany na zdjęciu.", + "manual_print_line3": "Tekst używany do 3. Wiersza, który zostanie wydrukowany na zdjęciu.", + "manual_print_linespace": "Wprowadź wartość przerwy pomiędzy wierszami podczas drukowania tekstu na zdjęciu.", + "manual_print_locationx": "Współrzędne X tekstu podczas drukowania tekstu na zdjęciu.", + "manual_print_locationy": "Współrzędne Y tekstu podczas drukowania tekstu na zdjęciu.", + "manual_print_print_key": "Określ identyfikator klawisza, aby użyć go do zrobienia zdjęcia (np. 13 jest klawiszem enter). Przykładowo użyj https://keycode.info, aby uzyskać identyfikator klawisza.", + "manual_print_printing_time": "Wprowadź w milisekundach, jak długo napis \"Rozpoczęto drukowanie! Proszę czekać....\" wyświetla się po uruchomieniu zadania.", + "manual_print_qrcode": "Jeśli opcja jest włączona, kod QR jest drukowany na prawej stronie obrazu podczas drukowania.", + "manual_print_rotation": "Wprowadź wartość, która ustawi stopnie obrotu obrazu do wydruku.", + "manual_protect_admin": "Jeśli włączone, dostęp do panelu administratora jest możliwy tylko wtedy, gdy zostanie wprowadzona nazwa użytkownika i hasło.", + "manual_protect_index": "Jeśli włączone, ekran startowy może być dostępny tylko wtedy, gdy zostanie wprowadzona nazwa użytkownika i hasło.", + "manual_pswp_animateTransitions": "Jeśli włączone, efekt slajdu jest używany do przejścia podczas przełączania na następny/poprzedni obraz wewnątrz galerii.", + "manual_pswp_clickToCloseNonZoomable": "Kliknięcie myszy na obraz powinno zamknąć galerię, ale tylko wtedy, gdy obraz jest mniejszy niż rozmiar widoku.", + "manual_pswp_closeOnOutsideClick": "Galeria zostaje zamknięta po kliknięciu na zewnątrz obrazu.", + "manual_pswp_closeOnScroll": "Zamknij obraz przy przewijaniu strony. Opcja działa tylko dla urządzeń bez obsługi dotyku sprzętowego.", + "manual_pswp_closeOnVerticalDrag": "Jeśli włączone, galeria zostanie zamknięta, gdy obraz zostanie przeciągnięty w pionie i obraz nie zostanie powiększony.", + "manual_pswp_counterEl": "Jeśli włączone, licznik zdjęć jest widoczny wewnątrz galerii.", + "manual_pswp_history": "Jeśli nieaktywne wyłącza moduł historii (przycisk Wstecz, aby zamknąć galerię, unikalny URL dla każdego slajdu).", + "manual_pswp_loop": "Pętla obrazów podczas używania gestu przesunięcia. Jeśli włączone, będziesz mógł przesunąć palcem od ostatniego do pierwszego obrazu. Opcja jest zawsze wyłączona, gdy istnieje mniej niż 3 obrazy.", + "manual_pswp_preventSwiping": "Jeśli włączone, gest przesuwania będzie wyłączony (nawet dla urządzeń dotykowych), a strzałki będą wyświetlane na urządzeniach dotykowych. Tylko strzałki mogą przełączać obrazy.", + "manual_pswp_tapToToggleControls": "Jeśli włączone, widoczność sterowania / przycisków jest przełączana przez dotyk.", + "manual_randomPicture": "Jeśli włączone, losowe zdjęcia będą wyświetlane na galerii samodzielnej.", + "manual_remotebuzzer_collagetime": "Jeśli przycisk wyzwalacza jest wciśnięty (GPIO podciągnięty do GND) mniej lub równą liczbę sekund, wyzwolenie będzie włączone. Jeśli przycisk zostanie wciśnięty przez więcej sekund zostanie uruchomiony kolaż. Jeśli kolaż jest wyłączony w ustawieniach administratora, kolaż nie będzie uruchomiony", + "manual_remotebuzzer_enabled": "Funkcja ta umożliwia monitorowanie GPIO dla wyzwalacza sprzętowego podłączonego do pinów GPIO Raspberry w połączeniu z podłączonymi wyświetlaczami i ekranami WLAN (i. . iPad). Prosimy o skonfigurowanie adresu IP serwera WWW Photobooth w sekcji \"Ogólne\"", + "manual_remotebuzzer_logfile": "Jeśli tryb debugowania jest włączony, informacja o debugowaniu serwera zostanie zapisana do pliku dziennika, znajdującego się w folderze tmp i domyślnie io_server.log", + "manual_remotebuzzer_nodebin": "Ścieżka do pliku wykonywalnego dla node.js - przykład /usr/bin/node", + "manual_remotebuzzer_port": "Port TCP serwera - przykład 14711", + "manual_user_interface_font_size": "Wprowadź domyślny rozmiar czcionki używany dla interfejsu Fotobudki.", + "milliseconds": "milisekundy", + "newCollage": "Nowy kolaż", + "newPhoto": "Nowy obraz", + "newest_first": "Pokaż najpierw najnowsze obrazy", + "nextPhoto": "Następny obraz", + "path": "Ścieżka:", + "percent": "%", + "polaroid_effect": "Efekt polaroid", + "previewCamBackground": "Użyj strumienia z kamery urządzenia jako tła", + "previewCamFlipHorizontal": "Odwróć obraz z kamery urządzenia w poziomie", + "previewCamTakesPic": "Kamerka urządzenia robi zdjęcie", + "previewFromCam": "Zobacz podgląd z kamery urządzenia", + "previewFromIPCam": "Podgląd z adresu URL", + "print": "Drukuj", + "print_auto_print_delay": "Opóźnienie automatycznego drukowania obrazu", + "print_crop_height": "Nowa wysokość przy wydruku (px)", + "print_crop_width": "Nowa szerokość przy wydruku (px)", + "print_font_path": "Czcionka", + "print_fontsize": "Rozmiar czcionki", + "print_frame": "Drukuj ramkę na obrazku", + "print_frame_path": "Ramka", + "print_line1": "Tekst dla wiersza 1", + "print_line2": "Tekst dla wiersza 2", + "print_line3": "Tekst dla wiersza 3", + "print_linespace": "Odstępy między wierszami", + "print_locationx": "Współrzędna X", + "print_locationy": "Współrzędna Y", + "print_print_key": "Kod klawisza, który wyzwala drukowanie", + "print_printing_time": "Czas drukowania", + "print_qrcode": "Kod QR na obrazku podczas druku", + "print_rotation": "Obrót tekstu", + "printing": "Rozpoczęto drukowanie! Proszę czekać...", + "protect_admin": "Chroń panel administratora", + "protect_index": "Chroń ekran startowy", + "pswp_animateTransitions": "Zmiana obrazów z efektem przejścia slajdu", + "pswp_clickToCloseNonZoomable": "Kliknięcie myszy na obrazek powinno zamknąć galerię", + "pswp_closeOnOutsideClick": "Zamknij galerię, jeśli kliknięto na zewnątrz obrazu", + "pswp_closeOnScroll": "Zamknij obraz przy przewijaniu strony", + "pswp_closeOnVerticalDrag": "Zamknij galerię podczas przeciągania pionowo i gdy obraz nie jest powiększony", + "pswp_counterEl": "Pokaż licznik zdjęć", + "pswp_preventSwiping": "Wyłącz gesty przesuwania palcem", + "pswp_tapToToggleControls": "Przełącz widoczność sterowania/przycisków poprzez dotknięcie", + "qr": "Kod QR", + "qrHelp": "Aby pobrać zdjęcie na swój smartfon, połącz się z WiFi:", + "randomPicture": "Pokaż losowe zdjęcia", + "really_delete": "Naprawdę usunąć wszystkie zdjęcia? Tej operacji nie można cofnąć!", + "really_delete_image": "zostanie usunięte! Tej operacji nie można cofnąć! Naprawdę usunąć zdjęcie?", + "reload": "Przeładuj Stronę", + "remotebuzzer": "Serwer Zdalnego Buzera", + "remotebuzzer_collagetime": "Przytrzymaj przycisk x sekund, aby wyzwolić kolaż", + "remotebuzzer_enabled": "Jeśli włączone, upewnij się, że poprawnie ustawiono adres IP serwera WWW Fotobudki (sekcja \"Ogólne\")", + "remotebuzzer_logfile": "Plik dziennika", + "remotebuzzer_nodebin": "Ścieżka wykonywalna Node.js", + "remotebuzzer_pin": "Raspberry Pi PIN", + "remotebuzzer_port": "Port serwera", + "remove_config": "Usuń konfigurację osobistą (my.config.inc.php)", + "remove_images": "Usuń obrazki", + "remove_mailtxt": "Usuń bazę danych adresów e-mail", + "reset": "Reset", + "rounded_corners": "Zaokrąglone narożniki", + "save": "Zapisz", + "saveerror": "Błąd", + "saving": "Zapisuję", + "scrollbar": "Pokaż pasek przewijania w galerii", + "seconds": "sekunda(y)", + "selectFilter": "Filtr obrazu", + "send": "Wyślij", + "sendAllMail": "Wyślij mi link do wszystkich zdjęć w ciągu najbliższych kilku dni", + "send_all_later": "Aktywuj pole wyboru, aby dodać wprowadzony adres do pliku (na przykład, aby wysłać wiadomość z wszystkimi zdjęciami później)", + "show_date": "Pokaż datę poniżej zdjęć w galerii (działa tylko wtedy, gdy używane są zdjęcia dateformat)", + "show_error_messages": "Pokaż komunikaty błędów", + "show_faq": "Otwórz FAQ", + "show_gallery": "Pokaż galerię", + "show_manual": "Otwórz Instrukcję", + "show_wiki": "Otwórz Wiki (wymagane połączenie internetowe)", + "success": "Zapisano poprawnie", + "symbol": "Wybierz symbol", + "takeCollage": "Zrób kolaż!", + "takePhoto": "Zrób zdjęcie!", + "take_collage_frame": "Zrób kolaż z ramką", + "take_collage_frame_always": "Zastosuj ramkę do każdego zdjęcia kolażu", + "take_frame": "Zrób zdjęcie z ramką", + "toggleFullscreen": "Przełącz na pełny ekran", + "toggle_fs_button": "Pokaż przycisk, aby włączyć tryb pełnoekranowy", + "update_available": "Dostępna jest aktualizacja.", + "use_button": "Użyj Buzera aby zrobić zdjęcie", + "use_collage": "Zezwalaj na kolaż zdjęć", + "use_download": "Zezwól na pobieranie", + "use_filter": "Zezwól na filtry obrazu", + "use_mail": "Użyj E-Mail", + "use_print_chromakeying": "Zezwalaj na drukowanie z chromakeying", + "use_print_gallery": "Zezwól na drukowanie z galerii", + "use_print_result": "Zezwalaj na drukowanie na stronie wyników", + "use_qr": "Użyj kodów QR", + "use_slideshow": "Zezwalaj na pokaz slajdów w galerii", + "use_thumbs": "Użyj miniatur do pokazu slajdów", + "user_interface": "Interfejs użytkownika", + "user_interface_background_admin": "Ścieżka obrazu tła panelu administracyjnego", + "user_interface_background_chroma": "Ścieżka obrazu tła chromakeying", + "user_interface_background_image": "Ścieżka obrazu tła", + "user_interface_colors_background_countdown": "Kolor tła dla odliczania", + "user_interface_colors_border": "Kolor obramowania", + "user_interface_colors_box": "Kolor pola", + "user_interface_colors_button_font": "Kolor czcionki przycisków", + "user_interface_colors_cheese": "Uśmiech!-Kolor", + "user_interface_colors_countdown": "Kolor czasu odliczania", + "user_interface_colors_font": "Kolor czcionki", + "user_interface_colors_gallery_button": "Kolor przycisku galerii", + "user_interface_colors_panel": "Kolor panelu administratora i logowania", + "user_interface_colors_primary": "Kolor podstawowy", + "user_interface_colors_secondary": "Kolor Dodatkowy", + "user_interface_colors_start_font": "Kolor czcionki ekranu startowego", + "user_interface_font_size": "Domyślny rozmiar czcionki", + "using_latest_version": "Używasz najnowszej dostępnej wersji Fotobudki." +} diff --git a/scripts/pack-build.js b/scripts/pack-build.js index 0070d2454..3b77ddb16 100644 --- a/scripts/pack-build.js +++ b/scripts/pack-build.js @@ -69,8 +69,7 @@ function createArchive(fileName, archive) { archive.file('phpinfo.php'); archive.file('README.md'); archive.file('update-booth.sh'); - archive.file('node_modules/@andreasremdt/simple-translator/LICENSE'); - archive.file('node_modules/@andreasremdt/simple-translator/dist/umd/translator.min.js'); + archive.directory('node_modules/@andreasremdt/simple-translator/'); archive.directory('node_modules/font-awesome/'); archive.file('node_modules/github-markdown-css/github-markdown.css'); archive.file('node_modules/github-markdown-css/license'); diff --git a/src/js/chromakeying.js b/src/js/chromakeying.js index 05dc71c53..8633d01c5 100644 --- a/src/js/chromakeying.js +++ b/src/js/chromakeying.js @@ -4,6 +4,7 @@ let mainImage; let mainImageWidth; let mainImageHeight; let backgroundImage; +let isPrinting = false; function greenToTransparency(imageIn, imageOut) { for (let y = 0; y < imageIn.getHeight(); y++) { @@ -132,47 +133,58 @@ function calculateAspectRatioFit(srcWidth, srcHeight, maxWidth, maxHeight) { function printImage(filename, cb) { const errormsg = i18n('error'); - setTimeout(function () { - $.ajax({ - method: 'GET', - url: 'api/print.php', - data: { - filename: filename - }, - success: (data) => { - console.log('Picture processed: ', data); - - if (data.error) { - console.log('An error occurred: ', data.error); + if (isPrinting) { + console.log('Printing already: ' + isPrinting); + } else { + isPrinting = true; + setTimeout(function () { + $.ajax({ + method: 'GET', + url: 'api/print.php', + data: { + filename: filename + }, + success: (data) => { + console.log('Picture processed: ', data); + + if (data.error) { + console.log('An error occurred: ', data.error); + $('#print_mesg').empty(); + $('#print_mesg').html( + '' + ); + } + + setTimeout(function () { + $('#print_mesg').removeClass('modal--show'); + if (data.error) { + $('#print_mesg').empty(); + $('#print_mesg').html( + '' + ); + } + cb(); + isPrinting = false; + }, config.printing_time); + }, + error: (jqXHR, textStatus) => { + console.log('An error occurred: ', textStatus); $('#print_mesg').empty(); $('#print_mesg').html( - '' + '' ); - } - setTimeout(function () { - $('#print_mesg').removeClass('modal--show'); - if (data.error) { + setTimeout(function () { + $('#print_mesg').removeClass('modal--show'); $('#print_mesg').empty(); $('#print_mesg').html(''); - } - cb(); - }, 5000); - }, - error: (jqXHR, textStatus) => { - console.log('An error occurred: ', textStatus); - $('#print_mesg').empty(); - $('#print_mesg').html(''); - - setTimeout(function () { - $('#print_mesg').removeClass('modal--show'); - $('#print_mesg').empty(); - $('#print_mesg').html(''); - cb(); - }, 5000); - } - }); - }, 1000); + cb(); + isPrinting = false; + }, 5000); + } + }); + }, 1000); + } } function saveImage(cb) { @@ -234,6 +246,16 @@ function closeHandler(ev) { } } +$(document).on('keyup', function (ev) { + if (config.use_print_chromakeying && config.print_key && parseInt(config.print_key, 10) === ev.keyCode) { + if (isPrinting) { + console.log('Printing already in progress!'); + } else { + $('#print-btn').trigger('click'); + } + } +}); + $(document).ready(function () { $('#save-btn').on('click', saveImageHandler); $('#print-btn').on('click', printImageHandler); diff --git a/src/js/core.js b/src/js/core.js index 8ad51fa95..98ff92998 100644 --- a/src/js/core.js +++ b/src/js/core.js @@ -22,6 +22,7 @@ const photoBooth = (function () { videoSensor = document.querySelector('#video--sensor'); let timeOut, + isPrinting = false, takingPic = false, nextCollageNumber = 0, currentCollageFile = '', @@ -478,6 +479,13 @@ const photoBooth = (function () { }); }); + // If autoprint is activated the picture will immediately printed after taken. + if (config.auto_print) { + setTimeout(function () { + api.printImage(filename); + }, config.auto_print_delay); + } + resultPage .find('.deletebtn') .off('click') @@ -610,54 +618,63 @@ const photoBooth = (function () { }; api.printImage = function (imageSrc, cb) { - modal.open('#print_mesg'); const errormsg = i18n('error'); - setTimeout(function () { - $.ajax({ - method: 'GET', - url: 'api/print.php', - data: { - filename: imageSrc - }, - success: (data) => { - console.log('Picture processed: ', data); - - if (data.error) { - console.log('An error occurred: ', data.error); + if (isPrinting) { + console.log('Printing already: ' + isPrinting); + } else { + modal.open('#print_mesg'); + isPrinting = true; + setTimeout(function () { + $.ajax({ + method: 'GET', + url: 'api/print.php', + data: { + filename: imageSrc + }, + success: (data) => { + console.log('Picture processed: ', data); + + if (data.error) { + console.log('An error occurred: ', data.error); + $('#print_mesg').empty(); + $('#print_mesg').html( + '' + ); + } + + setTimeout(function () { + modal.close('#print_mesg'); + if (data.error) { + $('#print_mesg').empty(); + $('#print_mesg').html( + '' + ); + } + cb(); + isPrinting = false; + }, config.printing_time); + }, + error: (jqXHR, textStatus) => { + console.log('An error occurred: ', textStatus); $('#print_mesg').empty(); $('#print_mesg').html( - '' + '' ); - } - setTimeout(function () { - modal.close('#print_mesg'); - if (data.error) { + setTimeout(function () { + modal.close('#print_mesg'); $('#print_mesg').empty(); $('#print_mesg').html( '' ); - } - cb(); - }, 5000); - }, - error: (jqXHR, textStatus) => { - console.log('An error occurred: ', textStatus); - $('#print_mesg').empty(); - $('#print_mesg').html( - '' - ); - - setTimeout(function () { - modal.close('#print_mesg'); - $('#print_mesg').empty(); - $('#print_mesg').html(''); - cb(); - }, 5000); - } - }); - }, 1000); + cb(); + isPrinting = false; + }, 5000); + } + }); + }, 1000); + } }; api.deleteImage = function (imageName, cb) { @@ -882,6 +899,15 @@ const photoBooth = (function () { console.log('Taking photo already in progress!'); } } + + if (config.use_print_result && config.print_key && parseInt(config.print_key, 10) === ev.keyCode) { + if (isPrinting) { + console.log('Printing already in progress!'); + } else { + $('.printbtn').trigger('click'); + $('.printbtn').blur(); + } + } }); // clear Timeout to not reset the gallery, if you clicked anywhere diff --git a/src/js/i18n-sub.js b/src/js/i18n-sub.js index b2ff6a451..564b52e0b 100644 --- a/src/js/i18n-sub.js +++ b/src/js/i18n-sub.js @@ -8,6 +8,12 @@ const translator = new Translator({ debug: config.dev }); -translator.fetch(['de', 'en', 'es', 'el', 'fr']).then(() => { - translator.translatePageTo(config.language); +translator.fetch('en').then(() => { + translator.translatePageTo(); }); + +if (config.language !== 'en') { + translator.fetch(config.language).then(() => { + translator.translatePageTo(config.language); + }); +} diff --git a/src/js/i18n.js b/src/js/i18n.js index e1fda9380..188ef0262 100644 --- a/src/js/i18n.js +++ b/src/js/i18n.js @@ -8,6 +8,12 @@ const translator = new Translator({ debug: config.dev }); -translator.fetch(['de', 'en', 'es', 'el', 'fr']).then(() => { - translator.translatePageTo(config.language); +translator.fetch('en').then(() => { + translator.translatePageTo(); }); + +if (config.language !== 'en') { + translator.fetch(config.language).then(() => { + translator.translatePageTo(config.language); + }); +} diff --git a/src/js/photoinit.js b/src/js/photoinit.js index 9f452dc6d..291163ab4 100644 --- a/src/js/photoinit.js +++ b/src/js/photoinit.js @@ -4,7 +4,8 @@ function initPhotoSwipeFromDOM(gallerySelector) { let gallery, ssRunning = false, - ssOnce = false; + ssOnce = false, + isPrinting = false; const ssDelay = config.gallery_pictureTime, ssButtonClass = '.pswp__button--playpause'; @@ -145,11 +146,17 @@ function initPhotoSwipeFromDOM(gallerySelector) { }); gallery.listen('afterChange', function () { + const img = gallery.currItem.src.split('\\').pop().split('/').pop(); + if (config.dev) { - const img = gallery.currItem.src.split('\\').pop().split('/').pop(); console.log('Current image: ' + img); } + $('.pswp__button--custom-download').attr({ + href: 'api/download.php?image=' + img, + download: img + }); + if (ssRunning && ssOnce) { ssOnce = false; setTimeout(gotoNextSlide, ssDelay); @@ -230,11 +237,17 @@ function initPhotoSwipeFromDOM(gallerySelector) { e.preventDefault(); e.stopPropagation(); - const img = gallery.currItem.src.split('\\').pop().split('/').pop(); + if (isPrinting) { + console.log('Printing already in progress!'); + } else { + isPrinting = true; + const img = gallery.currItem.src.split('\\').pop().split('/').pop(); - photoBooth.printImage(img, () => { - gallery.close(); - }); + photoBooth.printImage(img, () => { + gallery.close(); + isPrinting = false; + }); + } }); // Close Gallery while Taking a Picture or Collage @@ -296,4 +309,14 @@ function initPhotoSwipeFromDOM(gallerySelector) { } $(gallerySelector).on('click', onThumbnailClick); + + $(document).on('keyup', function (ev) { + if (config.use_print_gallery && config.print_key && parseInt(config.print_key, 10) === ev.keyCode) { + if (isPrinting) { + console.log('Printing already in progress!'); + } else if ($('#gallery').hasClass('gallery--open') && typeof gallery !== 'undefined') { + $('.pswp__button--print').trigger('click'); + } + } + }); } diff --git a/src/sass/photoswipe-bottom.scss b/src/sass/photoswipe-bottom.scss index c3f199eab..e57e08928 100644 --- a/src/sass/photoswipe-bottom.scss +++ b/src/sass/photoswipe-bottom.scss @@ -4,6 +4,7 @@ .pswp__button--print, .pswp__button--print-chroma-keying, .pswp__button--download, +.pswp__button--custom-download, .pswp__button--mail, .pswp__button--playpause, .pswp__button--share, @@ -60,6 +61,7 @@ .pswp__button--print, .pswp__button--print-chroma-keying, .pswp__button--download, + .pswp__button--custom-download, .pswp__button--mail, .pswp__button--playpause, .pswp__button--share, diff --git a/src/sass/vendor/_photoswipe.scss b/src/sass/vendor/_photoswipe.scss index 35e0be950..cf8597b5f 100644 --- a/src/sass/vendor/_photoswipe.scss +++ b/src/sass/vendor/_photoswipe.scss @@ -3,6 +3,7 @@ .pswp__button--print, .pswp__button--print-chroma-keying, .pswp__button--download, +.pswp__button--custom-download, .pswp__button--mail, .pswp__button--playpause, .pswp__button--share, diff --git a/template/pswp.template.php b/template/pswp.template.php index 96eb88c0f..8764e2a47 100644 --- a/template/pswp.template.php +++ b/template/pswp.template.php @@ -33,7 +33,7 @@ - + @@ -41,8 +41,9 @@ - - + + + diff --git a/yarn.lock b/yarn.lock index 86b740c86..7bb09d7e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3957,10 +3957,10 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.1.tgz#d9485dd5e499daa6cb547023b87a6cf51bee37d6" - integrity sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw== +prettier@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" + integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== pretty-hrtime@^1.0.0: version "1.0.3"