Changeset 3791779
- Timestamp:
- 11/09/2026 03:24:33 AM (2 hours ago)
- Location:
- guardafoto
- Files:
-
- 1 added
- 11 edited
- 9 copied
-
assets/screenshot-4.png (added)
-
tags/1.1.2 (copied) (copied from guardafoto/trunk )
-
tags/1.1.2/assets/admin.css (copied) (copied from guardafoto/trunk/assets/admin.css ) (1 diff)
-
tags/1.1.2/assets/admin.js (copied) (copied from guardafoto/trunk/assets/admin.js ) (2 diffs)
-
tags/1.1.2/assets/block.js (copied) (copied from guardafoto/trunk/assets/block.js )
-
tags/1.1.2/assets/editor.js (copied) (copied from guardafoto/trunk/assets/editor.js ) (3 diffs)
-
tags/1.1.2/assets/tool.js (copied) (copied from guardafoto/trunk/assets/tool.js )
-
tags/1.1.2/guardafoto.php (copied) (copied from guardafoto/trunk/guardafoto.php ) (9 diffs)
-
tags/1.1.2/languages (copied) (copied from guardafoto/trunk/languages )
-
tags/1.1.2/languages/guardafoto-es_ES.mo (modified) ( previous)
-
tags/1.1.2/languages/guardafoto-es_ES.po (modified) (8 diffs)
-
tags/1.1.2/languages/guardafoto.pot (modified) (11 diffs)
-
tags/1.1.2/readme.txt (copied) (copied from guardafoto/trunk/readme.txt ) (4 diffs)
-
trunk/assets/admin.css (modified) (1 diff)
-
trunk/assets/admin.js (modified) (2 diffs)
-
trunk/assets/editor.js (modified) (3 diffs)
-
trunk/guardafoto.php (modified) (9 diffs)
-
trunk/languages/guardafoto-es_ES.mo (modified) ( previous)
-
trunk/languages/guardafoto-es_ES.po (modified) (8 diffs)
-
trunk/languages/guardafoto.pot (modified) (11 diffs)
-
trunk/readme.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
guardafoto/tags/1.1.2/assets/admin.css
r3791747 r3791779 199 199 } 200 200 201 /* Classic editor meta box: it sits in the narrow side column, next to 202 the featured-image box — stack the controls and use a single column. */ 203 #guardafoto .guardafoto-admin-controls { 204 flex-direction: column; 205 } 206 207 #guardafoto .guardafoto-admin-controls .button { 208 width: 100%; 209 } 210 211 #guardafoto .guardafoto-admin-grid { 212 grid-template-columns: 1fr; 213 } 214 215 #guardafoto .guardafoto-card-img { 216 height: auto; 217 max-height: 170px; 218 } 219 220 #guardafoto .guardafoto-admin-input { 221 width: 100%; 222 } 223 201 224 /* Block editor panel: stack the controls, cards in one column. */ 202 225 .guardafoto-editor-panel .guardafoto-admin-controls { -
guardafoto/tags/1.1.2/assets/admin.js
r3791761 r3791779 434 434 } 435 435 436 f orm.addEventListener('submit', function(event) {436 function onSubmit(event) { 437 437 event.preventDefault(); 438 438 resetOutput(); … … 472 472 input.disabled = false; 473 473 }); 474 }); 474 } 475 476 form.addEventListener('submit', onSubmit); 477 if (form.tagName !== 'FORM') { 478 // Container variant (classic editor meta box, which lives inside 479 // the post edit form): there is no form submit, so the button 480 // click and the Enter key run the lookup instead. 481 button.addEventListener('click', onSubmit); 482 input.addEventListener('keydown', function (event) { 483 if (event.key === 'Enter') { 484 onSubmit(event); 485 } 486 }); 487 } 475 488 } 476 489 -
guardafoto/tags/1.1.2/assets/editor.js
r3791761 r3791779 18 18 var createElement = element.createElement; 19 19 var useState = element.useState; 20 var useEffect = element.useEffect; 20 21 var Button = components ? components.Button : null; 22 23 var PANEL_ID = 'guardafoto/guardafoto-panel'; 24 25 /* 26 * Open the GuardaFoto document panel when the editor loads, so the 27 * "Extract the photo here" box is already visible in the sidebar — 28 * next to the featured image — without the author hunting for it. 29 * The panel state lives in the editor store on current WordPress 30 * and in the edit-post store on older versions; try both. 31 */ 32 function openPanelOnLoad() { 33 if (!data || !data.select || !data.dispatch) { 34 return; 35 } 36 var stores = ['core/editor', 'core/edit-post']; 37 for (var i = 0; i < stores.length; i++) { 38 try { 39 var selector = data.select(stores[i]); 40 var dispatcher = data.dispatch(stores[i]); 41 if ( 42 selector && 43 dispatcher && 44 typeof selector.isEditorPanelOpened === 'function' && 45 typeof dispatcher.toggleEditorPanelOpened === 'function' 46 ) { 47 if (!selector.isEditorPanelOpened(PANEL_ID)) { 48 dispatcher.toggleEditorPanelOpened(PANEL_ID); 49 } 50 return; 51 } 52 } catch (error) { 53 /* Store not available in this version; try the next one. */ 54 } 55 } 56 } 21 57 22 58 var config = window.guardafotoAdminConfig || {}; … … 178 214 var setNotes = notesState[1]; 179 215 216 if (useEffect) { 217 useEffect(function () { 218 openPanelOnLoad(); 219 }, []); 220 } 221 180 222 function setNote(index, message, ok) { 181 223 var next = {}; … … 497 539 { 498 540 name: 'guardafoto-panel', 499 title: 'GuardaFoto', 541 className: 'guardafoto-extract-panel', 542 title: text.panelTitle || 'GuardaFoto — Extract the photo here', 500 543 icon: 'download' 501 544 }, -
guardafoto/tags/1.1.2/guardafoto.php
r3791761 r3791779 4 4 * Plugin URI: https://guardafoto.com/ 5 5 * Description: Adds a free tool that lets visitors paste a YouTube, Spotify, Deezer or Apple Music link and download its public profile photo, banner, thumbnail or cover in the sizes published by the platform — and download the video itself from TikTok and Instagram links. Includes a dashboard tool to import photos straight into the Media Library. 6 * Version: 1.1. 16 * Version: 1.1.2 7 7 * Requires at least: 5.8 8 8 * Requires PHP: 7.4 … … 21 21 } 22 22 23 define( 'GUARDAFOTO_VERSION', '1.1. 1' );23 define( 'GUARDAFOTO_VERSION', '1.1.2' ); 24 24 define( 'GUARDAFOTO_API_ENDPOINT', 'https://guardafoto.com/api/resolve' ); 25 25 … … 457 457 'intro' => __( 'Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X or Twitch link. You can download each photo, or import it straight into this site\'s Media Library.', 'guardafoto' ), 458 458 'editorIntro' => __( 'Paste a public link and use its photo in this post: import it to the Media Library, set it as the featured image, or insert it into the content.', 'guardafoto' ), 459 'panelTitle' => __( 'GuardaFoto — Extract the photo here', 'guardafoto' ), 459 460 'label' => __( 'Link', 'guardafoto' ), 460 461 'placeholder' => __( 'https://www.youtube.com/watch?v=…', 'guardafoto' ), … … 540 541 <div class="guardafoto-admin" data-guardafoto-admin data-context="<?php echo esc_attr( $context ); ?>" data-post-id="<?php echo esc_attr( (string) $post_id ); ?>"> 541 542 <p class="guardafoto-admin-intro"><?php echo esc_html( $intro ); ?></p> 542 <form class="guardafoto-admin-form" data-guardafoto-admin-form novalidate> 543 <?php 544 // In the classic editor the meta box lives inside the post edit 545 // form, and a nested <form> is dropped by the browser's parser — 546 // so there the lookup box uses a plain container and a button of 547 // type "button", and admin.js wires the click and the Enter key 548 // instead of a form submit. 549 if ( 'classic' === $context ) : 550 ?> 551 <div class="guardafoto-admin-form" data-guardafoto-admin-form> 552 <?php else : ?> 553 <form class="guardafoto-admin-form" data-guardafoto-admin-form novalidate> 554 <?php endif; ?> 543 555 <label class="guardafoto-admin-label" for="<?php echo esc_attr( $input_id ); ?>"><?php echo esc_html( $strings['label'] ); ?></label> 544 556 <div class="guardafoto-admin-controls"> … … 553 565 placeholder="<?php echo esc_attr( $strings['placeholder'] ); ?>" 554 566 > 555 <button class="button button-primary guardafoto-admin-button" type=" submit"><?php echo esc_html( $strings['button'] ); ?></button>567 <button class="button button-primary guardafoto-admin-button" type="<?php echo 'classic' === $context ? 'button' : 'submit'; ?>"><?php echo esc_html( $strings['button'] ); ?></button> 556 568 </div> 557 < /form>569 <?php echo 'classic' === $context ? '</div>' : '</form>'; ?> 558 570 <div class="guardafoto-admin-status" data-guardafoto-admin-status role="status" aria-live="polite" hidden></div> 559 571 <div class="guardafoto-admin-error" data-guardafoto-admin-error role="alert" hidden></div> … … 610 622 * block editor (the block editor gets its own GuardaFoto panel instead). 611 623 * 624 * The box lives in the side column with high priority, right where the 625 * featured-image box is, and carries the same "Extract the photo here" 626 * title as the block-editor panel, so the tool is found where the author 627 * is already looking for a photo. 628 * 612 629 * @return void 613 630 */ … … 616 633 return; 617 634 } 635 636 $strings = guardafoto_admin_strings(); 618 637 619 638 $screens = get_post_types( array( 'public' => true ), 'names' ); … … 627 646 add_meta_box( 628 647 'guardafoto', 629 'GuardaFoto',648 $strings['panelTitle'], 630 649 'guardafoto_meta_box_render', 631 650 $screen, 632 651 'side', 633 ' default'652 'high' 634 653 ); 635 654 } … … 713 732 'guardafoto-editor', 714 733 plugins_url( 'assets/editor.js', __FILE__ ), 715 array( 'wp-plugins', 'wp-edit-post', 'wp-e lement', 'wp-components', 'wp-data', 'wp-blocks' ),734 array( 'wp-plugins', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-components', 'wp-data', 'wp-blocks' ), 716 735 GUARDAFOTO_VERSION, 717 736 true -
guardafoto/tags/1.1.2/languages/guardafoto-es_ES.po
r3791761 r3791779 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: GuardaFoto 1.1.1 6 " 7 "Report-Msgid-Bugs-To: https://guardafoto.com/contact/ 8 " 9 "Last-Translator: A3Q Global 10 " 11 "Language-Team: Español 12 " 13 "Language: es_ES 14 " 15 "MIME-Version: 1.0 16 " 17 "Content-Type: text/plain; charset=UTF-8 18 " 19 "Content-Transfer-Encoding: 8bit 20 " 21 "Plural-Forms: nplurals=2; plural=(n != 1); 22 " 23 5 "Project-Id-Version: GuardaFoto 1.1.2\n" 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/guardafoto\n" 7 "POT-Creation-Date: 2026-11-09T03:08:38+00:00\n" 8 "PO-Revision-Date: 2026-11-08 19:10-0800\n" 9 "Last-Translator: A3Q Global\n" 10 "Language-Team: Español\n" 11 "Language: es_ES\n" 12 "MIME-Version: 1.0\n" 13 "Content-Type: text/plain; charset=UTF-8\n" 14 "Content-Transfer-Encoding: 8bit\n" 15 "Plural-Forms: nplurals=2; plural=(n != 1);\n" 24 16 25 17 #. Plugin Name of the plugin 26 #: guardafoto.php 27 #: guardafoto.php:412 18 #: guardafoto.php guardafoto.php:412 28 19 msgid "GuardaFoto" 29 20 msgstr "GuardaFoto" … … 36 27 #. Description of the plugin 37 28 #: guardafoto.php 38 msgid "Adds a free tool that lets visitors paste a YouTube, Spotify, Deezer or Apple Music link and download its public profile photo, banner, thumbnail or cover in the sizes published by the platform — and download the video itself from TikTok and Instagram links. Includes a dashboard tool to import photos straight into the Media Library." 39 msgstr "Añade una herramienta gratuita que permite a los visitantes pegar un enlace de YouTube, Spotify, Deezer o Apple Music y descargar su foto de perfil, banner, miniatura o portada pública en los tamaños que publica la plataforma, y descargar el propio video desde enlaces de TikTok e Instagram. Incluye una herramienta en el panel para importar fotos directamente a la biblioteca de medios." 29 msgid "" 30 "Adds a free tool that lets visitors paste a YouTube, Spotify, Deezer or " 31 "Apple Music link and download its public profile photo, banner, thumbnail or " 32 "cover in the sizes published by the platform — and download the video itself " 33 "from TikTok and Instagram links. Includes a dashboard tool to import photos " 34 "straight into the Media Library." 35 msgstr "" 36 "Añade una herramienta gratuita que permite a los visitantes pegar un enlace " 37 "de YouTube, Spotify, Deezer o Apple Music y descargar su foto de perfil, " 38 "banner, miniatura o portada pública en los tamaños que publica la " 39 "plataforma, y descargar el propio video desde enlaces de TikTok e Instagram. " 40 "Incluye una herramienta en el panel para importar fotos directamente a la " 41 "biblioteca de medios." 40 42 41 43 #. Author of the plugin … … 51 53 #: guardafoto.php:189 52 54 msgid "Paste a YouTube, Spotify, Deezer, Apple Music, TikTok or Instagram link" 53 msgstr "Pega un enlace de YouTube, Spotify, Deezer, Apple Music, TikTok o Instagram" 55 msgstr "" 56 "Pega un enlace de YouTube, Spotify, Deezer, Apple Music, TikTok o Instagram" 54 57 55 58 #: guardafoto.php:190 … … 62 65 63 66 #: guardafoto.php:192 64 msgid "Works with YouTube channels and videos, plus supported artists, albums, songs and playlists — and with public TikTok and Instagram videos." 65 msgstr "Funciona con canales y videos de YouTube, artistas, álbumes, canciones y playlists compatibles, y con los videos públicos de TikTok e Instagram." 66 67 #: guardafoto.php:193 68 #: guardafoto.php:212 69 #: guardafoto.php:462 67 msgid "" 68 "Works with YouTube channels and videos, plus supported artists, albums, " 69 "songs and playlists — and with public TikTok and Instagram videos." 70 msgstr "" 71 "Funciona con canales y videos de YouTube, artistas, álbumes, canciones y " 72 "playlists compatibles, y con los videos públicos de TikTok e Instagram." 73 74 #: guardafoto.php:193 guardafoto.php:212 guardafoto.php:463 70 75 msgid "Looking up the photo…" 71 76 msgstr "Buscando la foto…" … … 75 80 msgstr "Resultado de GuardaFoto" 76 81 77 #: guardafoto.php:195 78 #: guardafoto.php:483 82 #: guardafoto.php:195 guardafoto.php:484 79 83 msgid "Type" 80 84 msgstr "Tipo" 81 85 82 #: guardafoto.php:196 83 #: guardafoto.php:484 86 #: guardafoto.php:196 guardafoto.php:485 84 87 msgid "Size" 85 88 msgstr "Tamaño" 86 89 87 #: guardafoto.php:197 88 #: guardafoto.php:223 89 #: guardafoto.php:473 90 #: guardafoto.php:197 guardafoto.php:223 guardafoto.php:474 90 91 msgid "Download" 91 92 msgstr "Descargar" 92 93 93 #: guardafoto.php:198 94 #: guardafoto.php:225 95 #: guardafoto.php:243 96 #: guardafoto.php:247 97 #: guardafoto.php:485 98 #: guardafoto.php:507 99 #: guardafoto.php:511 94 #: guardafoto.php:198 guardafoto.php:225 guardafoto.php:243 guardafoto.php:247 95 #: guardafoto.php:486 guardafoto.php:508 guardafoto.php:512 100 96 msgid "Video" 101 97 msgstr "Video" … … 106 102 107 103 #: guardafoto.php:214 108 msgid "Found it. The files are listed below — pick a size or the video to download." 109 msgstr "Listo. Abajo están los archivos: elige un tamaño o el video para descargar." 110 111 #: guardafoto.php:215 112 #: guardafoto.php:465 104 msgid "" 105 "Found it. The files are listed below — pick a size or the video to download." 106 msgstr "" 107 "Listo. Abajo están los archivos: elige un tamaño o el video para descargar." 108 109 #: guardafoto.php:215 guardafoto.php:466 113 110 msgid "Paste a link first." 114 111 msgstr "Primero pega un enlace." 115 112 116 113 #: guardafoto.php:216 117 msgid "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok or Instagram link." 118 msgstr "Ese enlace no es compatible. Pega un enlace público de YouTube, Spotify, Deezer, Apple Music, TikTok o Instagram." 119 120 #: guardafoto.php:217 121 #: guardafoto.php:467 114 msgid "" 115 "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple " 116 "Music, TikTok or Instagram link." 117 msgstr "" 118 "Ese enlace no es compatible. Pega un enlace público de YouTube, Spotify, " 119 "Deezer, Apple Music, TikTok o Instagram." 120 121 #: guardafoto.php:217 guardafoto.php:468 122 122 msgid "That link could not be found, or it is not public." 123 123 msgstr "Ese enlace no se encontró o no es público." 124 124 125 #: guardafoto.php:218 126 #: guardafoto.php:468 125 #: guardafoto.php:218 guardafoto.php:469 127 126 msgid "Too many lookups right now. Please wait a moment and try again." 128 msgstr "Hay demasiadas búsquedas en este momento. Espera un momento e inténtalo de nuevo." 129 130 #: guardafoto.php:219 131 #: guardafoto.php:469 132 msgid "The lookup service could not complete that request. Please try again in a moment." 133 msgstr "El servicio de búsqueda no pudo completar la solicitud. Inténtalo de nuevo en un momento." 127 msgstr "" 128 "Hay demasiadas búsquedas en este momento. Espera un momento e inténtalo de " 129 "nuevo." 130 131 #: guardafoto.php:219 guardafoto.php:470 132 msgid "" 133 "The lookup service could not complete that request. Please try again in a " 134 "moment." 135 msgstr "" 136 "El servicio de búsqueda no pudo completar la solicitud. Inténtalo de nuevo " 137 "en un momento." 134 138 135 139 #: guardafoto.php:220 136 msgid "The photo service could not be reached. Check your connection and try again." 137 msgstr "No se pudo contactar con el servicio de fotos. Revisa tu conexión e inténtalo de nuevo." 138 139 #: guardafoto.php:221 140 #: guardafoto.php:471 140 msgid "" 141 "The photo service could not be reached. Check your connection and try again." 142 msgstr "" 143 "No se pudo contactar con el servicio de fotos. Revisa tu conexión e " 144 "inténtalo de nuevo." 145 146 #: guardafoto.php:221 guardafoto.php:472 141 147 msgid "No downloadable files were returned for that link." 142 148 msgstr "No se devolvieron archivos descargables para ese enlace." 143 149 144 #: guardafoto.php:222 145 #: guardafoto.php:472 146 msgid "Instagram profile photos cannot be downloaded: Meta shows them only to logged-in accounts." 147 msgstr "Las fotos de perfil de Instagram no se pueden descargar: Meta solo las muestra a cuentas con la sesión iniciada." 150 #: guardafoto.php:222 guardafoto.php:473 151 msgid "" 152 "Instagram profile photos cannot be downloaded: Meta shows them only to " 153 "logged-in accounts." 154 msgstr "" 155 "Las fotos de perfil de Instagram no se pueden descargar: Meta solo las " 156 "muestra a cuentas con la sesión iniciada." 148 157 149 158 #: guardafoto.php:224 … … 151 160 msgstr "Archivo" 152 161 153 #: guardafoto.php:226 154 #: guardafoto.php:486 162 #: guardafoto.php:226 guardafoto.php:487 155 163 msgid "Video file" 156 164 msgstr "Archivo de video" 157 165 158 #: guardafoto.php:228 159 #: guardafoto.php:492 166 #: guardafoto.php:228 guardafoto.php:493 160 167 msgid "YouTube" 161 168 msgstr "YouTube" 162 169 163 #: guardafoto.php:229 164 #: guardafoto.php:493 170 #: guardafoto.php:229 guardafoto.php:494 165 171 msgid "Spotify" 166 172 msgstr "Spotify" 167 173 168 #: guardafoto.php:230 169 #: guardafoto.php:494 174 #: guardafoto.php:230 guardafoto.php:495 170 175 msgid "Deezer" 171 176 msgstr "Deezer" 172 177 173 #: guardafoto.php:231 174 #: guardafoto.php:495 178 #: guardafoto.php:231 guardafoto.php:496 175 179 msgid "Apple Music" 176 180 msgstr "Apple Music" 177 181 178 #: guardafoto.php:232 179 #: guardafoto.php:496 182 #: guardafoto.php:232 guardafoto.php:497 180 183 msgid "TikTok" 181 184 msgstr "TikTok" 182 185 183 #: guardafoto.php:233 184 #: guardafoto.php:497 186 #: guardafoto.php:233 guardafoto.php:498 185 187 msgid "Instagram" 186 188 msgstr "Instagram" 187 189 188 #: guardafoto.php:234 189 #: guardafoto.php:498 190 #: guardafoto.php:234 guardafoto.php:499 190 191 msgid "X" 191 192 msgstr "X" 192 193 193 #: guardafoto.php:235 194 #: guardafoto.php:499 194 #: guardafoto.php:235 guardafoto.php:500 195 195 msgid "Twitch" 196 196 msgstr "Twitch" 197 197 198 #: guardafoto.php:238 199 #: guardafoto.php:502 198 #: guardafoto.php:238 guardafoto.php:503 200 199 msgid "Profile photo" 201 200 msgstr "Foto de perfil" 202 201 203 #: guardafoto.php:239 204 #: guardafoto.php:503 202 #: guardafoto.php:239 guardafoto.php:504 205 203 msgid "Banner" 206 204 msgstr "Banner" 207 205 208 #: guardafoto.php:240 209 #: guardafoto.php:504 206 #: guardafoto.php:240 guardafoto.php:505 210 207 msgid "Thumbnail" 211 208 msgstr "Miniatura" 212 209 213 #: guardafoto.php:241 214 #: guardafoto.php:505 210 #: guardafoto.php:241 guardafoto.php:506 215 211 msgid "Cover" 216 212 msgstr "Portada" 217 213 218 #: guardafoto.php:242 219 #: guardafoto.php:506 214 #: guardafoto.php:242 guardafoto.php:507 220 215 msgid "Image" 221 216 msgstr "Imagen" 222 217 223 #: guardafoto.php:246 224 #: guardafoto.php:510 218 #: guardafoto.php:246 guardafoto.php:511 225 219 msgid "Channel" 226 220 msgstr "Canal" 227 221 228 #: guardafoto.php:248 229 #: guardafoto.php:512 222 #: guardafoto.php:248 guardafoto.php:513 230 223 msgid "Artist" 231 224 msgstr "Artista" 232 225 233 #: guardafoto.php:249 234 #: guardafoto.php:513 226 #: guardafoto.php:249 guardafoto.php:514 235 227 msgid "Album" 236 228 msgstr "Álbum" 237 229 238 #: guardafoto.php:250 239 #: guardafoto.php:514 230 #: guardafoto.php:250 guardafoto.php:515 240 231 msgid "Song" 241 232 msgstr "Canción" 242 233 243 #: guardafoto.php:251 244 #: guardafoto.php:515 234 #: guardafoto.php:251 guardafoto.php:516 245 235 msgid "Playlist" 246 236 msgstr "Playlist" 247 237 248 #: guardafoto.php:252 249 #: guardafoto.php:516 238 #: guardafoto.php:252 guardafoto.php:517 250 239 msgid "Podcast" 251 240 msgstr "Pódcast" 252 241 253 #: guardafoto.php:253 254 #: guardafoto.php:517 242 #: guardafoto.php:253 guardafoto.php:518 255 243 msgid "Episode" 256 244 msgstr "Episodio" 257 245 258 #: guardafoto.php:254 259 #: guardafoto.php:518 246 #: guardafoto.php:254 guardafoto.php:519 260 247 msgid "Profile" 261 248 msgstr "Perfil" 262 249 263 #: guardafoto.php:255 264 #: guardafoto.php:519 250 #: guardafoto.php:255 guardafoto.php:520 265 251 msgid "Reel" 266 252 msgstr "Reel" 267 253 268 #: guardafoto.php:256 269 #: guardafoto.php:520 254 #: guardafoto.php:256 guardafoto.php:521 270 255 msgid "Post" 271 256 msgstr "Publicación" 272 257 273 #: guardafoto.php:413 274 #: assets/block.js:21 275 msgid "Add a public profile photo, banner, thumbnail and cover downloader using the free GuardaFoto API." 276 msgstr "Añade un descargador de fotos de perfil, banners, miniaturas y portadas públicas con la API gratuita de GuardaFoto." 258 #: guardafoto.php:413 assets/block.js:21 259 msgid "" 260 "Add a public profile photo, banner, thumbnail and cover downloader using the " 261 "free GuardaFoto API." 262 msgstr "" 263 "Añade un descargador de fotos de perfil, banners, miniaturas y portadas " 264 "públicas con la API gratuita de GuardaFoto." 277 265 278 266 #: guardafoto.php:457 279 msgid "Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X or Twitch link. You can download each photo, or import it straight into this site's Media Library." 280 msgstr "Pega un enlace público de YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X o Twitch. Podrás descargar cada foto o importarla directamente a la biblioteca de medios de este sitio." 267 msgid "" 268 "Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X " 269 "or Twitch link. You can download each photo, or import it straight into this " 270 "site's Media Library." 271 msgstr "" 272 "Pega un enlace público de YouTube, Spotify, Deezer, Apple Music, TikTok, " 273 "Instagram, X o Twitch. Podrás descargar cada foto o importarla directamente " 274 "a la biblioteca de medios de este sitio." 281 275 282 276 #: guardafoto.php:458 283 msgid "Paste a public link and use its photo in this post: import it to the Media Library, set it as the featured image, or insert it into the content." 284 msgstr "Pega un enlace público y usa su foto en esta entrada: impórtala a Medios, ponla como imagen destacada o insértala en el contenido." 277 msgid "" 278 "Paste a public link and use its photo in this post: import it to the Media " 279 "Library, set it as the featured image, or insert it into the content." 280 msgstr "" 281 "Pega un enlace público y usa su foto en esta entrada: impórtala a Medios, " 282 "ponla como imagen destacada o insértala en el contenido." 285 283 286 284 #: guardafoto.php:459 285 msgid "GuardaFoto — Extract the photo here" 286 msgstr "GuardaFoto — Extrae la foto aquí" 287 288 #: guardafoto.php:460 287 289 msgid "Link" 288 290 msgstr "Enlace" 289 291 290 #: guardafoto.php:46 0292 #: guardafoto.php:461 291 293 msgid "https://www.youtube.com/watch?v=…" 292 294 msgstr "https://www.youtube.com/watch?v=…" 293 295 294 #: guardafoto.php:46 1296 #: guardafoto.php:462 295 297 msgid "Look up the photo" 296 298 msgstr "Buscar la foto" 297 299 298 #: guardafoto.php:46 3300 #: guardafoto.php:464 299 301 msgid "Photo found. Download it or import it to the Media Library." 300 302 msgstr "Foto encontrada. Descárgala o impórtala a Medios." 301 303 302 #: guardafoto.php:46 4304 #: guardafoto.php:465 303 305 msgid "Found it. The photos and the video from that link are listed below." 304 306 msgstr "Listo. Abajo están las fotos y el video de ese enlace." 305 307 306 #: guardafoto.php:466 307 msgid "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X or Twitch link." 308 msgstr "Ese enlace no es compatible. Pega un enlace público de YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X o Twitch." 309 310 #: guardafoto.php:470 308 #: guardafoto.php:467 309 msgid "" 310 "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple " 311 "Music, TikTok, Instagram, X or Twitch link." 312 msgstr "" 313 "Ese enlace no es compatible. Pega un enlace público de YouTube, Spotify, " 314 "Deezer, Apple Music, TikTok, Instagram, X o Twitch." 315 316 #: guardafoto.php:471 311 317 msgid "The request could not be completed. Check the connection and try again." 312 msgstr "No se pudo completar la petición. Revisa la conexión e inténtalo de nuevo." 313 314 #: guardafoto.php:474 318 msgstr "" 319 "No se pudo completar la petición. Revisa la conexión e inténtalo de nuevo." 320 321 #: guardafoto.php:475 315 322 msgid "Import to Media Library" 316 323 msgstr "Importar a Medios" 317 324 318 #: guardafoto.php:47 5325 #: guardafoto.php:476 319 326 msgid "Importing…" 320 327 msgstr "Importando…" 321 328 322 #: guardafoto.php:47 6329 #: guardafoto.php:477 323 330 msgid "Imported ✓" 324 331 msgstr "Importada ✓" 325 332 326 #: guardafoto.php:47 7333 #: guardafoto.php:478 327 334 msgid "View in Media Library" 328 335 msgstr "Ver en Medios" 329 336 330 #: guardafoto.php:47 8337 #: guardafoto.php:479 331 338 msgid "Import & set as featured image" 332 339 msgstr "Importar y poner como imagen destacada" 333 340 334 #: guardafoto.php:4 79341 #: guardafoto.php:480 335 342 msgid "Featured image set ✓" 336 343 msgstr "Imagen destacada puesta ✓" 337 344 338 #: guardafoto.php:48 0345 #: guardafoto.php:481 339 346 msgid "The photo was imported, but it could not be set as the featured image." 340 347 msgstr "La foto se importó, pero no se pudo poner como destacada." 341 348 342 #: guardafoto.php:48 1349 #: guardafoto.php:482 343 350 msgid "Import & insert into content" 344 351 msgstr "Importar e insertar en el contenido" 345 352 346 #: guardafoto.php:48 2353 #: guardafoto.php:483 347 354 msgid "Inserted into the content ✓" 348 355 msgstr "Insertada en el contenido ✓" 349 356 350 #: guardafoto.php:487351 msgid "Videos are download-only: this version does not import them into the Media Library."352 msgstr "Los videos solo se descargan: en esta versión no se importan a la biblioteca de medios."353 354 357 #: guardafoto.php:488 355 msgid "This video is {size} and exceeds this site's upload limit ({limit}): it can only be downloaded." 356 msgstr "Este video pesa {size} y supera el límite de subida de este sitio ({limit}): solo se puede descargar." 358 msgid "" 359 "Videos are download-only: this version does not import them into the Media " 360 "Library." 361 msgstr "" 362 "Los videos solo se descargan: en esta versión no se importan a la biblioteca " 363 "de medios." 357 364 358 365 #: guardafoto.php:489 366 msgid "" 367 "This video is {size} and exceeds this site's upload limit ({limit}): it can " 368 "only be downloaded." 369 msgstr "" 370 "Este video pesa {size} y supera el límite de subida de este sitio ({limit}): " 371 "solo se puede descargar." 372 373 #: guardafoto.php:490 359 374 msgid "The photo could not be imported." 360 375 msgstr "No se pudo importar la foto." 361 376 362 #: guardafoto.php:49 0377 #: guardafoto.php:491 363 378 msgid "You are not allowed to do that." 364 379 msgstr "No tienes permiso para hacer eso." 365 380 366 #: guardafoto.php: 599381 #: guardafoto.php:600 367 382 msgid "You are not allowed to use this tool." 368 383 msgstr "No tienes permiso para usar esta herramienta." … … 375 390 msgid "Automatic (site language)" 376 391 msgstr "Automático (idioma del sitio)" 377 -
guardafoto/tags/1.1.2/languages/guardafoto.pot
r3791761 r3791779 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: GuardaFoto 1.1. 1\n"5 "Project-Id-Version: GuardaFoto 1.1.2\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/guardafoto\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-11-09T0 2:47:37+00:00\n"12 "POT-Creation-Date: 2026-11-09T03:08:38+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 59 59 #: guardafoto.php:193 60 60 #: guardafoto.php:212 61 #: guardafoto.php:46 261 #: guardafoto.php:463 62 62 msgid "Looking up the photo…" 63 63 msgstr "" … … 68 68 69 69 #: guardafoto.php:195 70 #: guardafoto.php:48 370 #: guardafoto.php:484 71 71 msgid "Type" 72 72 msgstr "" 73 73 74 74 #: guardafoto.php:196 75 #: guardafoto.php:48 475 #: guardafoto.php:485 76 76 msgid "Size" 77 77 msgstr "" … … 79 79 #: guardafoto.php:197 80 80 #: guardafoto.php:223 81 #: guardafoto.php:47 381 #: guardafoto.php:474 82 82 msgid "Download" 83 83 msgstr "" … … 87 87 #: guardafoto.php:243 88 88 #: guardafoto.php:247 89 #: guardafoto.php:48 590 #: guardafoto.php:50 791 #: guardafoto.php:51 189 #: guardafoto.php:486 90 #: guardafoto.php:508 91 #: guardafoto.php:512 92 92 msgid "Video" 93 93 msgstr "" … … 102 102 103 103 #: guardafoto.php:215 104 #: guardafoto.php:46 5104 #: guardafoto.php:466 105 105 msgid "Paste a link first." 106 106 msgstr "" … … 111 111 112 112 #: guardafoto.php:217 113 #: guardafoto.php:46 7113 #: guardafoto.php:468 114 114 msgid "That link could not be found, or it is not public." 115 115 msgstr "" 116 116 117 117 #: guardafoto.php:218 118 #: guardafoto.php:46 8118 #: guardafoto.php:469 119 119 msgid "Too many lookups right now. Please wait a moment and try again." 120 120 msgstr "" 121 121 122 122 #: guardafoto.php:219 123 #: guardafoto.php:4 69123 #: guardafoto.php:470 124 124 msgid "The lookup service could not complete that request. Please try again in a moment." 125 125 msgstr "" … … 130 130 131 131 #: guardafoto.php:221 132 #: guardafoto.php:47 1132 #: guardafoto.php:472 133 133 msgid "No downloadable files were returned for that link." 134 134 msgstr "" 135 135 136 136 #: guardafoto.php:222 137 #: guardafoto.php:47 2137 #: guardafoto.php:473 138 138 msgid "Instagram profile photos cannot be downloaded: Meta shows them only to logged-in accounts." 139 139 msgstr "" … … 144 144 145 145 #: guardafoto.php:226 146 #: guardafoto.php:48 6146 #: guardafoto.php:487 147 147 msgid "Video file" 148 148 msgstr "" 149 149 150 150 #: guardafoto.php:228 151 #: guardafoto.php:49 2151 #: guardafoto.php:493 152 152 msgid "YouTube" 153 153 msgstr "" 154 154 155 155 #: guardafoto.php:229 156 #: guardafoto.php:49 3156 #: guardafoto.php:494 157 157 msgid "Spotify" 158 158 msgstr "" 159 159 160 160 #: guardafoto.php:230 161 #: guardafoto.php:49 4161 #: guardafoto.php:495 162 162 msgid "Deezer" 163 163 msgstr "" 164 164 165 165 #: guardafoto.php:231 166 #: guardafoto.php:49 5166 #: guardafoto.php:496 167 167 msgid "Apple Music" 168 168 msgstr "" 169 169 170 170 #: guardafoto.php:232 171 #: guardafoto.php:49 6171 #: guardafoto.php:497 172 172 msgid "TikTok" 173 173 msgstr "" 174 174 175 175 #: guardafoto.php:233 176 #: guardafoto.php:49 7176 #: guardafoto.php:498 177 177 msgid "Instagram" 178 178 msgstr "" 179 179 180 180 #: guardafoto.php:234 181 #: guardafoto.php:49 8181 #: guardafoto.php:499 182 182 msgid "X" 183 183 msgstr "" 184 184 185 185 #: guardafoto.php:235 186 #: guardafoto.php: 499186 #: guardafoto.php:500 187 187 msgid "Twitch" 188 188 msgstr "" 189 189 190 190 #: guardafoto.php:238 191 #: guardafoto.php:50 2191 #: guardafoto.php:503 192 192 msgid "Profile photo" 193 193 msgstr "" 194 194 195 195 #: guardafoto.php:239 196 #: guardafoto.php:50 3196 #: guardafoto.php:504 197 197 msgid "Banner" 198 198 msgstr "" 199 199 200 200 #: guardafoto.php:240 201 #: guardafoto.php:50 4201 #: guardafoto.php:505 202 202 msgid "Thumbnail" 203 203 msgstr "" 204 204 205 205 #: guardafoto.php:241 206 #: guardafoto.php:50 5206 #: guardafoto.php:506 207 207 msgid "Cover" 208 208 msgstr "" 209 209 210 210 #: guardafoto.php:242 211 #: guardafoto.php:50 6211 #: guardafoto.php:507 212 212 msgid "Image" 213 213 msgstr "" 214 214 215 215 #: guardafoto.php:246 216 #: guardafoto.php:51 0216 #: guardafoto.php:511 217 217 msgid "Channel" 218 218 msgstr "" 219 219 220 220 #: guardafoto.php:248 221 #: guardafoto.php:51 2221 #: guardafoto.php:513 222 222 msgid "Artist" 223 223 msgstr "" 224 224 225 225 #: guardafoto.php:249 226 #: guardafoto.php:51 3226 #: guardafoto.php:514 227 227 msgid "Album" 228 228 msgstr "" 229 229 230 230 #: guardafoto.php:250 231 #: guardafoto.php:51 4231 #: guardafoto.php:515 232 232 msgid "Song" 233 233 msgstr "" 234 234 235 235 #: guardafoto.php:251 236 #: guardafoto.php:51 5236 #: guardafoto.php:516 237 237 msgid "Playlist" 238 238 msgstr "" 239 239 240 240 #: guardafoto.php:252 241 #: guardafoto.php:51 6241 #: guardafoto.php:517 242 242 msgid "Podcast" 243 243 msgstr "" 244 244 245 245 #: guardafoto.php:253 246 #: guardafoto.php:51 7246 #: guardafoto.php:518 247 247 msgid "Episode" 248 248 msgstr "" 249 249 250 250 #: guardafoto.php:254 251 #: guardafoto.php:51 8251 #: guardafoto.php:519 252 252 msgid "Profile" 253 253 msgstr "" 254 254 255 255 #: guardafoto.php:255 256 #: guardafoto.php:5 19256 #: guardafoto.php:520 257 257 msgid "Reel" 258 258 msgstr "" 259 259 260 260 #: guardafoto.php:256 261 #: guardafoto.php:52 0261 #: guardafoto.php:521 262 262 msgid "Post" 263 263 msgstr "" … … 277 277 278 278 #: guardafoto.php:459 279 msgid "GuardaFoto — Extract the photo here" 280 msgstr "" 281 282 #: guardafoto.php:460 279 283 msgid "Link" 280 284 msgstr "" 281 285 282 #: guardafoto.php:46 0286 #: guardafoto.php:461 283 287 msgid "https://www.youtube.com/watch?v=…" 284 288 msgstr "" 285 289 286 #: guardafoto.php:46 1290 #: guardafoto.php:462 287 291 msgid "Look up the photo" 288 292 msgstr "" 289 293 290 #: guardafoto.php:46 3294 #: guardafoto.php:464 291 295 msgid "Photo found. Download it or import it to the Media Library." 292 296 msgstr "" 293 297 294 #: guardafoto.php:46 4298 #: guardafoto.php:465 295 299 msgid "Found it. The photos and the video from that link are listed below." 296 300 msgstr "" 297 301 298 #: guardafoto.php:46 6302 #: guardafoto.php:467 299 303 msgid "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X or Twitch link." 300 304 msgstr "" 301 305 302 #: guardafoto.php:47 0306 #: guardafoto.php:471 303 307 msgid "The request could not be completed. Check the connection and try again." 304 308 msgstr "" 305 309 306 #: guardafoto.php:47 4310 #: guardafoto.php:475 307 311 msgid "Import to Media Library" 308 312 msgstr "" 309 313 310 #: guardafoto.php:47 5314 #: guardafoto.php:476 311 315 msgid "Importing…" 312 316 msgstr "" 313 317 314 #: guardafoto.php:47 6318 #: guardafoto.php:477 315 319 msgid "Imported ✓" 316 320 msgstr "" 317 321 318 #: guardafoto.php:47 7322 #: guardafoto.php:478 319 323 msgid "View in Media Library" 320 324 msgstr "" 321 325 322 #: guardafoto.php:47 8326 #: guardafoto.php:479 323 327 msgid "Import & set as featured image" 324 328 msgstr "" 325 329 326 #: guardafoto.php:4 79330 #: guardafoto.php:480 327 331 msgid "Featured image set ✓" 328 332 msgstr "" 329 333 330 #: guardafoto.php:48 0334 #: guardafoto.php:481 331 335 msgid "The photo was imported, but it could not be set as the featured image." 332 336 msgstr "" 333 337 334 #: guardafoto.php:48 1338 #: guardafoto.php:482 335 339 msgid "Import & insert into content" 336 340 msgstr "" 337 341 338 #: guardafoto.php:48 2342 #: guardafoto.php:483 339 343 msgid "Inserted into the content ✓" 340 344 msgstr "" 341 345 342 #: guardafoto.php:48 7346 #: guardafoto.php:488 343 347 msgid "Videos are download-only: this version does not import them into the Media Library." 344 348 msgstr "" 345 349 346 #: guardafoto.php:48 8350 #: guardafoto.php:489 347 351 msgid "This video is {size} and exceeds this site's upload limit ({limit}): it can only be downloaded." 348 352 msgstr "" 349 353 350 #: guardafoto.php:4 89354 #: guardafoto.php:490 351 355 msgid "The photo could not be imported." 352 356 msgstr "" 353 357 354 #: guardafoto.php:49 0358 #: guardafoto.php:491 355 359 msgid "You are not allowed to do that." 356 360 msgstr "" 357 361 358 #: guardafoto.php: 599362 #: guardafoto.php:600 359 363 msgid "You are not allowed to use this tool." 360 364 msgstr "" -
guardafoto/tags/1.1.2/readme.txt
r3791761 r3791779 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4 7 Stable tag: 1.1. 17 Stable tag: 1.1.2 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 43 43 44 44 * A **GuardaFoto page in the admin menu**: paste a link, download each photo, or import it straight into your Media Library. 45 * A **GuardaFoto panel in the block editor** while you write a post : import a photo and set it as the featured image, import it and insert it into the content, or just import it to the Media Library.46 * A **GuardaFoto meta box in the classic editor** withthe same three actions: featured image (the featured-image box updates without reloading), insert into the content, or plain import.45 * A **GuardaFoto panel in the block editor** while you write a post, in the document sidebar right by the featured image and titled **"GuardaFoto — Extract the photo here"**: import a photo and set it as the featured image, import it and insert it into the content, or just import it to the Media Library. 46 * A **GuardaFoto meta box in the classic editor**, in the side column next to the featured-image box with the same "Extract the photo here" title and the same three actions: featured image (the featured-image box updates without reloading), insert into the content, or plain import. 47 47 48 48 The plugin adds no visible credit and no external links to the front end, and it makes no external request when it is activated or when a page is merely viewed. The external lookup described below happens only after a visitor submits a link in the tool, or after an administrator submits one in the dashboard page, the editor panel or the classic meta box. … … 119 119 2. A resolved result with its preview and verified download sizes. 120 120 3. The GuardaFoto page in wp-admin: paste a link, download each photo or import it straight into the Media Library. 121 4. Writing a post: the "GuardaFoto — Extract the photo here" panel in the editor sidebar, next to the featured image, ready to import a photo without leaving the post. 121 122 122 123 == Changelog == 124 125 = 1.1.2 = 126 * The block-editor panel is now titled "GuardaFoto — Extract the photo here" and sits in the document sidebar right by the featured image, open and ready while you write: paste a link and import the photo, set it as the featured image or insert it into the content — no hunting through menus. 127 * The classic-editor meta box moved to the side column with high priority, next to the featured-image box, with the same "Extract the photo here" title and the full set of actions adapted to the narrow column. 128 * Fixed the classic-editor lookup, which could not run inside the post edit form (a form cannot live inside another form): the box now works from a plain container, wired to its button and the Enter key. 129 * The new title is translated like everything else: in Spanish it reads "GuardaFoto — Extrae la foto aquí". 123 130 124 131 = 1.1.1 = … … 151 158 == Upgrade Notice == 152 159 160 = 1.1.2 = 161 The editor tool is now where you look for a photo: "GuardaFoto — Extract the photo here", next to the featured image in both editors. 162 153 163 = 1.1.1 = 154 164 The whole plugin now speaks your site's language: complete English/Spanish internationalisation for the tool, the dashboard and the editor. -
guardafoto/trunk/assets/admin.css
r3791747 r3791779 199 199 } 200 200 201 /* Classic editor meta box: it sits in the narrow side column, next to 202 the featured-image box — stack the controls and use a single column. */ 203 #guardafoto .guardafoto-admin-controls { 204 flex-direction: column; 205 } 206 207 #guardafoto .guardafoto-admin-controls .button { 208 width: 100%; 209 } 210 211 #guardafoto .guardafoto-admin-grid { 212 grid-template-columns: 1fr; 213 } 214 215 #guardafoto .guardafoto-card-img { 216 height: auto; 217 max-height: 170px; 218 } 219 220 #guardafoto .guardafoto-admin-input { 221 width: 100%; 222 } 223 201 224 /* Block editor panel: stack the controls, cards in one column. */ 202 225 .guardafoto-editor-panel .guardafoto-admin-controls { -
guardafoto/trunk/assets/admin.js
r3791761 r3791779 434 434 } 435 435 436 f orm.addEventListener('submit', function(event) {436 function onSubmit(event) { 437 437 event.preventDefault(); 438 438 resetOutput(); … … 472 472 input.disabled = false; 473 473 }); 474 }); 474 } 475 476 form.addEventListener('submit', onSubmit); 477 if (form.tagName !== 'FORM') { 478 // Container variant (classic editor meta box, which lives inside 479 // the post edit form): there is no form submit, so the button 480 // click and the Enter key run the lookup instead. 481 button.addEventListener('click', onSubmit); 482 input.addEventListener('keydown', function (event) { 483 if (event.key === 'Enter') { 484 onSubmit(event); 485 } 486 }); 487 } 475 488 } 476 489 -
guardafoto/trunk/assets/editor.js
r3791761 r3791779 18 18 var createElement = element.createElement; 19 19 var useState = element.useState; 20 var useEffect = element.useEffect; 20 21 var Button = components ? components.Button : null; 22 23 var PANEL_ID = 'guardafoto/guardafoto-panel'; 24 25 /* 26 * Open the GuardaFoto document panel when the editor loads, so the 27 * "Extract the photo here" box is already visible in the sidebar — 28 * next to the featured image — without the author hunting for it. 29 * The panel state lives in the editor store on current WordPress 30 * and in the edit-post store on older versions; try both. 31 */ 32 function openPanelOnLoad() { 33 if (!data || !data.select || !data.dispatch) { 34 return; 35 } 36 var stores = ['core/editor', 'core/edit-post']; 37 for (var i = 0; i < stores.length; i++) { 38 try { 39 var selector = data.select(stores[i]); 40 var dispatcher = data.dispatch(stores[i]); 41 if ( 42 selector && 43 dispatcher && 44 typeof selector.isEditorPanelOpened === 'function' && 45 typeof dispatcher.toggleEditorPanelOpened === 'function' 46 ) { 47 if (!selector.isEditorPanelOpened(PANEL_ID)) { 48 dispatcher.toggleEditorPanelOpened(PANEL_ID); 49 } 50 return; 51 } 52 } catch (error) { 53 /* Store not available in this version; try the next one. */ 54 } 55 } 56 } 21 57 22 58 var config = window.guardafotoAdminConfig || {}; … … 178 214 var setNotes = notesState[1]; 179 215 216 if (useEffect) { 217 useEffect(function () { 218 openPanelOnLoad(); 219 }, []); 220 } 221 180 222 function setNote(index, message, ok) { 181 223 var next = {}; … … 497 539 { 498 540 name: 'guardafoto-panel', 499 title: 'GuardaFoto', 541 className: 'guardafoto-extract-panel', 542 title: text.panelTitle || 'GuardaFoto — Extract the photo here', 500 543 icon: 'download' 501 544 }, -
guardafoto/trunk/guardafoto.php
r3791761 r3791779 4 4 * Plugin URI: https://guardafoto.com/ 5 5 * Description: Adds a free tool that lets visitors paste a YouTube, Spotify, Deezer or Apple Music link and download its public profile photo, banner, thumbnail or cover in the sizes published by the platform — and download the video itself from TikTok and Instagram links. Includes a dashboard tool to import photos straight into the Media Library. 6 * Version: 1.1. 16 * Version: 1.1.2 7 7 * Requires at least: 5.8 8 8 * Requires PHP: 7.4 … … 21 21 } 22 22 23 define( 'GUARDAFOTO_VERSION', '1.1. 1' );23 define( 'GUARDAFOTO_VERSION', '1.1.2' ); 24 24 define( 'GUARDAFOTO_API_ENDPOINT', 'https://guardafoto.com/api/resolve' ); 25 25 … … 457 457 'intro' => __( 'Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X or Twitch link. You can download each photo, or import it straight into this site\'s Media Library.', 'guardafoto' ), 458 458 'editorIntro' => __( 'Paste a public link and use its photo in this post: import it to the Media Library, set it as the featured image, or insert it into the content.', 'guardafoto' ), 459 'panelTitle' => __( 'GuardaFoto — Extract the photo here', 'guardafoto' ), 459 460 'label' => __( 'Link', 'guardafoto' ), 460 461 'placeholder' => __( 'https://www.youtube.com/watch?v=…', 'guardafoto' ), … … 540 541 <div class="guardafoto-admin" data-guardafoto-admin data-context="<?php echo esc_attr( $context ); ?>" data-post-id="<?php echo esc_attr( (string) $post_id ); ?>"> 541 542 <p class="guardafoto-admin-intro"><?php echo esc_html( $intro ); ?></p> 542 <form class="guardafoto-admin-form" data-guardafoto-admin-form novalidate> 543 <?php 544 // In the classic editor the meta box lives inside the post edit 545 // form, and a nested <form> is dropped by the browser's parser — 546 // so there the lookup box uses a plain container and a button of 547 // type "button", and admin.js wires the click and the Enter key 548 // instead of a form submit. 549 if ( 'classic' === $context ) : 550 ?> 551 <div class="guardafoto-admin-form" data-guardafoto-admin-form> 552 <?php else : ?> 553 <form class="guardafoto-admin-form" data-guardafoto-admin-form novalidate> 554 <?php endif; ?> 543 555 <label class="guardafoto-admin-label" for="<?php echo esc_attr( $input_id ); ?>"><?php echo esc_html( $strings['label'] ); ?></label> 544 556 <div class="guardafoto-admin-controls"> … … 553 565 placeholder="<?php echo esc_attr( $strings['placeholder'] ); ?>" 554 566 > 555 <button class="button button-primary guardafoto-admin-button" type=" submit"><?php echo esc_html( $strings['button'] ); ?></button>567 <button class="button button-primary guardafoto-admin-button" type="<?php echo 'classic' === $context ? 'button' : 'submit'; ?>"><?php echo esc_html( $strings['button'] ); ?></button> 556 568 </div> 557 < /form>569 <?php echo 'classic' === $context ? '</div>' : '</form>'; ?> 558 570 <div class="guardafoto-admin-status" data-guardafoto-admin-status role="status" aria-live="polite" hidden></div> 559 571 <div class="guardafoto-admin-error" data-guardafoto-admin-error role="alert" hidden></div> … … 610 622 * block editor (the block editor gets its own GuardaFoto panel instead). 611 623 * 624 * The box lives in the side column with high priority, right where the 625 * featured-image box is, and carries the same "Extract the photo here" 626 * title as the block-editor panel, so the tool is found where the author 627 * is already looking for a photo. 628 * 612 629 * @return void 613 630 */ … … 616 633 return; 617 634 } 635 636 $strings = guardafoto_admin_strings(); 618 637 619 638 $screens = get_post_types( array( 'public' => true ), 'names' ); … … 627 646 add_meta_box( 628 647 'guardafoto', 629 'GuardaFoto',648 $strings['panelTitle'], 630 649 'guardafoto_meta_box_render', 631 650 $screen, 632 651 'side', 633 ' default'652 'high' 634 653 ); 635 654 } … … 713 732 'guardafoto-editor', 714 733 plugins_url( 'assets/editor.js', __FILE__ ), 715 array( 'wp-plugins', 'wp-edit-post', 'wp-e lement', 'wp-components', 'wp-data', 'wp-blocks' ),734 array( 'wp-plugins', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-components', 'wp-data', 'wp-blocks' ), 716 735 GUARDAFOTO_VERSION, 717 736 true -
guardafoto/trunk/languages/guardafoto-es_ES.po
r3791761 r3791779 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: GuardaFoto 1.1.1 6 " 7 "Report-Msgid-Bugs-To: https://guardafoto.com/contact/ 8 " 9 "Last-Translator: A3Q Global 10 " 11 "Language-Team: Español 12 " 13 "Language: es_ES 14 " 15 "MIME-Version: 1.0 16 " 17 "Content-Type: text/plain; charset=UTF-8 18 " 19 "Content-Transfer-Encoding: 8bit 20 " 21 "Plural-Forms: nplurals=2; plural=(n != 1); 22 " 23 5 "Project-Id-Version: GuardaFoto 1.1.2\n" 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/guardafoto\n" 7 "POT-Creation-Date: 2026-11-09T03:08:38+00:00\n" 8 "PO-Revision-Date: 2026-11-08 19:10-0800\n" 9 "Last-Translator: A3Q Global\n" 10 "Language-Team: Español\n" 11 "Language: es_ES\n" 12 "MIME-Version: 1.0\n" 13 "Content-Type: text/plain; charset=UTF-8\n" 14 "Content-Transfer-Encoding: 8bit\n" 15 "Plural-Forms: nplurals=2; plural=(n != 1);\n" 24 16 25 17 #. Plugin Name of the plugin 26 #: guardafoto.php 27 #: guardafoto.php:412 18 #: guardafoto.php guardafoto.php:412 28 19 msgid "GuardaFoto" 29 20 msgstr "GuardaFoto" … … 36 27 #. Description of the plugin 37 28 #: guardafoto.php 38 msgid "Adds a free tool that lets visitors paste a YouTube, Spotify, Deezer or Apple Music link and download its public profile photo, banner, thumbnail or cover in the sizes published by the platform — and download the video itself from TikTok and Instagram links. Includes a dashboard tool to import photos straight into the Media Library." 39 msgstr "Añade una herramienta gratuita que permite a los visitantes pegar un enlace de YouTube, Spotify, Deezer o Apple Music y descargar su foto de perfil, banner, miniatura o portada pública en los tamaños que publica la plataforma, y descargar el propio video desde enlaces de TikTok e Instagram. Incluye una herramienta en el panel para importar fotos directamente a la biblioteca de medios." 29 msgid "" 30 "Adds a free tool that lets visitors paste a YouTube, Spotify, Deezer or " 31 "Apple Music link and download its public profile photo, banner, thumbnail or " 32 "cover in the sizes published by the platform — and download the video itself " 33 "from TikTok and Instagram links. Includes a dashboard tool to import photos " 34 "straight into the Media Library." 35 msgstr "" 36 "Añade una herramienta gratuita que permite a los visitantes pegar un enlace " 37 "de YouTube, Spotify, Deezer o Apple Music y descargar su foto de perfil, " 38 "banner, miniatura o portada pública en los tamaños que publica la " 39 "plataforma, y descargar el propio video desde enlaces de TikTok e Instagram. " 40 "Incluye una herramienta en el panel para importar fotos directamente a la " 41 "biblioteca de medios." 40 42 41 43 #. Author of the plugin … … 51 53 #: guardafoto.php:189 52 54 msgid "Paste a YouTube, Spotify, Deezer, Apple Music, TikTok or Instagram link" 53 msgstr "Pega un enlace de YouTube, Spotify, Deezer, Apple Music, TikTok o Instagram" 55 msgstr "" 56 "Pega un enlace de YouTube, Spotify, Deezer, Apple Music, TikTok o Instagram" 54 57 55 58 #: guardafoto.php:190 … … 62 65 63 66 #: guardafoto.php:192 64 msgid "Works with YouTube channels and videos, plus supported artists, albums, songs and playlists — and with public TikTok and Instagram videos." 65 msgstr "Funciona con canales y videos de YouTube, artistas, álbumes, canciones y playlists compatibles, y con los videos públicos de TikTok e Instagram." 66 67 #: guardafoto.php:193 68 #: guardafoto.php:212 69 #: guardafoto.php:462 67 msgid "" 68 "Works with YouTube channels and videos, plus supported artists, albums, " 69 "songs and playlists — and with public TikTok and Instagram videos." 70 msgstr "" 71 "Funciona con canales y videos de YouTube, artistas, álbumes, canciones y " 72 "playlists compatibles, y con los videos públicos de TikTok e Instagram." 73 74 #: guardafoto.php:193 guardafoto.php:212 guardafoto.php:463 70 75 msgid "Looking up the photo…" 71 76 msgstr "Buscando la foto…" … … 75 80 msgstr "Resultado de GuardaFoto" 76 81 77 #: guardafoto.php:195 78 #: guardafoto.php:483 82 #: guardafoto.php:195 guardafoto.php:484 79 83 msgid "Type" 80 84 msgstr "Tipo" 81 85 82 #: guardafoto.php:196 83 #: guardafoto.php:484 86 #: guardafoto.php:196 guardafoto.php:485 84 87 msgid "Size" 85 88 msgstr "Tamaño" 86 89 87 #: guardafoto.php:197 88 #: guardafoto.php:223 89 #: guardafoto.php:473 90 #: guardafoto.php:197 guardafoto.php:223 guardafoto.php:474 90 91 msgid "Download" 91 92 msgstr "Descargar" 92 93 93 #: guardafoto.php:198 94 #: guardafoto.php:225 95 #: guardafoto.php:243 96 #: guardafoto.php:247 97 #: guardafoto.php:485 98 #: guardafoto.php:507 99 #: guardafoto.php:511 94 #: guardafoto.php:198 guardafoto.php:225 guardafoto.php:243 guardafoto.php:247 95 #: guardafoto.php:486 guardafoto.php:508 guardafoto.php:512 100 96 msgid "Video" 101 97 msgstr "Video" … … 106 102 107 103 #: guardafoto.php:214 108 msgid "Found it. The files are listed below — pick a size or the video to download." 109 msgstr "Listo. Abajo están los archivos: elige un tamaño o el video para descargar." 110 111 #: guardafoto.php:215 112 #: guardafoto.php:465 104 msgid "" 105 "Found it. The files are listed below — pick a size or the video to download." 106 msgstr "" 107 "Listo. Abajo están los archivos: elige un tamaño o el video para descargar." 108 109 #: guardafoto.php:215 guardafoto.php:466 113 110 msgid "Paste a link first." 114 111 msgstr "Primero pega un enlace." 115 112 116 113 #: guardafoto.php:216 117 msgid "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok or Instagram link." 118 msgstr "Ese enlace no es compatible. Pega un enlace público de YouTube, Spotify, Deezer, Apple Music, TikTok o Instagram." 119 120 #: guardafoto.php:217 121 #: guardafoto.php:467 114 msgid "" 115 "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple " 116 "Music, TikTok or Instagram link." 117 msgstr "" 118 "Ese enlace no es compatible. Pega un enlace público de YouTube, Spotify, " 119 "Deezer, Apple Music, TikTok o Instagram." 120 121 #: guardafoto.php:217 guardafoto.php:468 122 122 msgid "That link could not be found, or it is not public." 123 123 msgstr "Ese enlace no se encontró o no es público." 124 124 125 #: guardafoto.php:218 126 #: guardafoto.php:468 125 #: guardafoto.php:218 guardafoto.php:469 127 126 msgid "Too many lookups right now. Please wait a moment and try again." 128 msgstr "Hay demasiadas búsquedas en este momento. Espera un momento e inténtalo de nuevo." 129 130 #: guardafoto.php:219 131 #: guardafoto.php:469 132 msgid "The lookup service could not complete that request. Please try again in a moment." 133 msgstr "El servicio de búsqueda no pudo completar la solicitud. Inténtalo de nuevo en un momento." 127 msgstr "" 128 "Hay demasiadas búsquedas en este momento. Espera un momento e inténtalo de " 129 "nuevo." 130 131 #: guardafoto.php:219 guardafoto.php:470 132 msgid "" 133 "The lookup service could not complete that request. Please try again in a " 134 "moment." 135 msgstr "" 136 "El servicio de búsqueda no pudo completar la solicitud. Inténtalo de nuevo " 137 "en un momento." 134 138 135 139 #: guardafoto.php:220 136 msgid "The photo service could not be reached. Check your connection and try again." 137 msgstr "No se pudo contactar con el servicio de fotos. Revisa tu conexión e inténtalo de nuevo." 138 139 #: guardafoto.php:221 140 #: guardafoto.php:471 140 msgid "" 141 "The photo service could not be reached. Check your connection and try again." 142 msgstr "" 143 "No se pudo contactar con el servicio de fotos. Revisa tu conexión e " 144 "inténtalo de nuevo." 145 146 #: guardafoto.php:221 guardafoto.php:472 141 147 msgid "No downloadable files were returned for that link." 142 148 msgstr "No se devolvieron archivos descargables para ese enlace." 143 149 144 #: guardafoto.php:222 145 #: guardafoto.php:472 146 msgid "Instagram profile photos cannot be downloaded: Meta shows them only to logged-in accounts." 147 msgstr "Las fotos de perfil de Instagram no se pueden descargar: Meta solo las muestra a cuentas con la sesión iniciada." 150 #: guardafoto.php:222 guardafoto.php:473 151 msgid "" 152 "Instagram profile photos cannot be downloaded: Meta shows them only to " 153 "logged-in accounts." 154 msgstr "" 155 "Las fotos de perfil de Instagram no se pueden descargar: Meta solo las " 156 "muestra a cuentas con la sesión iniciada." 148 157 149 158 #: guardafoto.php:224 … … 151 160 msgstr "Archivo" 152 161 153 #: guardafoto.php:226 154 #: guardafoto.php:486 162 #: guardafoto.php:226 guardafoto.php:487 155 163 msgid "Video file" 156 164 msgstr "Archivo de video" 157 165 158 #: guardafoto.php:228 159 #: guardafoto.php:492 166 #: guardafoto.php:228 guardafoto.php:493 160 167 msgid "YouTube" 161 168 msgstr "YouTube" 162 169 163 #: guardafoto.php:229 164 #: guardafoto.php:493 170 #: guardafoto.php:229 guardafoto.php:494 165 171 msgid "Spotify" 166 172 msgstr "Spotify" 167 173 168 #: guardafoto.php:230 169 #: guardafoto.php:494 174 #: guardafoto.php:230 guardafoto.php:495 170 175 msgid "Deezer" 171 176 msgstr "Deezer" 172 177 173 #: guardafoto.php:231 174 #: guardafoto.php:495 178 #: guardafoto.php:231 guardafoto.php:496 175 179 msgid "Apple Music" 176 180 msgstr "Apple Music" 177 181 178 #: guardafoto.php:232 179 #: guardafoto.php:496 182 #: guardafoto.php:232 guardafoto.php:497 180 183 msgid "TikTok" 181 184 msgstr "TikTok" 182 185 183 #: guardafoto.php:233 184 #: guardafoto.php:497 186 #: guardafoto.php:233 guardafoto.php:498 185 187 msgid "Instagram" 186 188 msgstr "Instagram" 187 189 188 #: guardafoto.php:234 189 #: guardafoto.php:498 190 #: guardafoto.php:234 guardafoto.php:499 190 191 msgid "X" 191 192 msgstr "X" 192 193 193 #: guardafoto.php:235 194 #: guardafoto.php:499 194 #: guardafoto.php:235 guardafoto.php:500 195 195 msgid "Twitch" 196 196 msgstr "Twitch" 197 197 198 #: guardafoto.php:238 199 #: guardafoto.php:502 198 #: guardafoto.php:238 guardafoto.php:503 200 199 msgid "Profile photo" 201 200 msgstr "Foto de perfil" 202 201 203 #: guardafoto.php:239 204 #: guardafoto.php:503 202 #: guardafoto.php:239 guardafoto.php:504 205 203 msgid "Banner" 206 204 msgstr "Banner" 207 205 208 #: guardafoto.php:240 209 #: guardafoto.php:504 206 #: guardafoto.php:240 guardafoto.php:505 210 207 msgid "Thumbnail" 211 208 msgstr "Miniatura" 212 209 213 #: guardafoto.php:241 214 #: guardafoto.php:505 210 #: guardafoto.php:241 guardafoto.php:506 215 211 msgid "Cover" 216 212 msgstr "Portada" 217 213 218 #: guardafoto.php:242 219 #: guardafoto.php:506 214 #: guardafoto.php:242 guardafoto.php:507 220 215 msgid "Image" 221 216 msgstr "Imagen" 222 217 223 #: guardafoto.php:246 224 #: guardafoto.php:510 218 #: guardafoto.php:246 guardafoto.php:511 225 219 msgid "Channel" 226 220 msgstr "Canal" 227 221 228 #: guardafoto.php:248 229 #: guardafoto.php:512 222 #: guardafoto.php:248 guardafoto.php:513 230 223 msgid "Artist" 231 224 msgstr "Artista" 232 225 233 #: guardafoto.php:249 234 #: guardafoto.php:513 226 #: guardafoto.php:249 guardafoto.php:514 235 227 msgid "Album" 236 228 msgstr "Álbum" 237 229 238 #: guardafoto.php:250 239 #: guardafoto.php:514 230 #: guardafoto.php:250 guardafoto.php:515 240 231 msgid "Song" 241 232 msgstr "Canción" 242 233 243 #: guardafoto.php:251 244 #: guardafoto.php:515 234 #: guardafoto.php:251 guardafoto.php:516 245 235 msgid "Playlist" 246 236 msgstr "Playlist" 247 237 248 #: guardafoto.php:252 249 #: guardafoto.php:516 238 #: guardafoto.php:252 guardafoto.php:517 250 239 msgid "Podcast" 251 240 msgstr "Pódcast" 252 241 253 #: guardafoto.php:253 254 #: guardafoto.php:517 242 #: guardafoto.php:253 guardafoto.php:518 255 243 msgid "Episode" 256 244 msgstr "Episodio" 257 245 258 #: guardafoto.php:254 259 #: guardafoto.php:518 246 #: guardafoto.php:254 guardafoto.php:519 260 247 msgid "Profile" 261 248 msgstr "Perfil" 262 249 263 #: guardafoto.php:255 264 #: guardafoto.php:519 250 #: guardafoto.php:255 guardafoto.php:520 265 251 msgid "Reel" 266 252 msgstr "Reel" 267 253 268 #: guardafoto.php:256 269 #: guardafoto.php:520 254 #: guardafoto.php:256 guardafoto.php:521 270 255 msgid "Post" 271 256 msgstr "Publicación" 272 257 273 #: guardafoto.php:413 274 #: assets/block.js:21 275 msgid "Add a public profile photo, banner, thumbnail and cover downloader using the free GuardaFoto API." 276 msgstr "Añade un descargador de fotos de perfil, banners, miniaturas y portadas públicas con la API gratuita de GuardaFoto." 258 #: guardafoto.php:413 assets/block.js:21 259 msgid "" 260 "Add a public profile photo, banner, thumbnail and cover downloader using the " 261 "free GuardaFoto API." 262 msgstr "" 263 "Añade un descargador de fotos de perfil, banners, miniaturas y portadas " 264 "públicas con la API gratuita de GuardaFoto." 277 265 278 266 #: guardafoto.php:457 279 msgid "Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X or Twitch link. You can download each photo, or import it straight into this site's Media Library." 280 msgstr "Pega un enlace público de YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X o Twitch. Podrás descargar cada foto o importarla directamente a la biblioteca de medios de este sitio." 267 msgid "" 268 "Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X " 269 "or Twitch link. You can download each photo, or import it straight into this " 270 "site's Media Library." 271 msgstr "" 272 "Pega un enlace público de YouTube, Spotify, Deezer, Apple Music, TikTok, " 273 "Instagram, X o Twitch. Podrás descargar cada foto o importarla directamente " 274 "a la biblioteca de medios de este sitio." 281 275 282 276 #: guardafoto.php:458 283 msgid "Paste a public link and use its photo in this post: import it to the Media Library, set it as the featured image, or insert it into the content." 284 msgstr "Pega un enlace público y usa su foto en esta entrada: impórtala a Medios, ponla como imagen destacada o insértala en el contenido." 277 msgid "" 278 "Paste a public link and use its photo in this post: import it to the Media " 279 "Library, set it as the featured image, or insert it into the content." 280 msgstr "" 281 "Pega un enlace público y usa su foto en esta entrada: impórtala a Medios, " 282 "ponla como imagen destacada o insértala en el contenido." 285 283 286 284 #: guardafoto.php:459 285 msgid "GuardaFoto — Extract the photo here" 286 msgstr "GuardaFoto — Extrae la foto aquí" 287 288 #: guardafoto.php:460 287 289 msgid "Link" 288 290 msgstr "Enlace" 289 291 290 #: guardafoto.php:46 0292 #: guardafoto.php:461 291 293 msgid "https://www.youtube.com/watch?v=…" 292 294 msgstr "https://www.youtube.com/watch?v=…" 293 295 294 #: guardafoto.php:46 1296 #: guardafoto.php:462 295 297 msgid "Look up the photo" 296 298 msgstr "Buscar la foto" 297 299 298 #: guardafoto.php:46 3300 #: guardafoto.php:464 299 301 msgid "Photo found. Download it or import it to the Media Library." 300 302 msgstr "Foto encontrada. Descárgala o impórtala a Medios." 301 303 302 #: guardafoto.php:46 4304 #: guardafoto.php:465 303 305 msgid "Found it. The photos and the video from that link are listed below." 304 306 msgstr "Listo. Abajo están las fotos y el video de ese enlace." 305 307 306 #: guardafoto.php:466 307 msgid "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X or Twitch link." 308 msgstr "Ese enlace no es compatible. Pega un enlace público de YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X o Twitch." 309 310 #: guardafoto.php:470 308 #: guardafoto.php:467 309 msgid "" 310 "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple " 311 "Music, TikTok, Instagram, X or Twitch link." 312 msgstr "" 313 "Ese enlace no es compatible. Pega un enlace público de YouTube, Spotify, " 314 "Deezer, Apple Music, TikTok, Instagram, X o Twitch." 315 316 #: guardafoto.php:471 311 317 msgid "The request could not be completed. Check the connection and try again." 312 msgstr "No se pudo completar la petición. Revisa la conexión e inténtalo de nuevo." 313 314 #: guardafoto.php:474 318 msgstr "" 319 "No se pudo completar la petición. Revisa la conexión e inténtalo de nuevo." 320 321 #: guardafoto.php:475 315 322 msgid "Import to Media Library" 316 323 msgstr "Importar a Medios" 317 324 318 #: guardafoto.php:47 5325 #: guardafoto.php:476 319 326 msgid "Importing…" 320 327 msgstr "Importando…" 321 328 322 #: guardafoto.php:47 6329 #: guardafoto.php:477 323 330 msgid "Imported ✓" 324 331 msgstr "Importada ✓" 325 332 326 #: guardafoto.php:47 7333 #: guardafoto.php:478 327 334 msgid "View in Media Library" 328 335 msgstr "Ver en Medios" 329 336 330 #: guardafoto.php:47 8337 #: guardafoto.php:479 331 338 msgid "Import & set as featured image" 332 339 msgstr "Importar y poner como imagen destacada" 333 340 334 #: guardafoto.php:4 79341 #: guardafoto.php:480 335 342 msgid "Featured image set ✓" 336 343 msgstr "Imagen destacada puesta ✓" 337 344 338 #: guardafoto.php:48 0345 #: guardafoto.php:481 339 346 msgid "The photo was imported, but it could not be set as the featured image." 340 347 msgstr "La foto se importó, pero no se pudo poner como destacada." 341 348 342 #: guardafoto.php:48 1349 #: guardafoto.php:482 343 350 msgid "Import & insert into content" 344 351 msgstr "Importar e insertar en el contenido" 345 352 346 #: guardafoto.php:48 2353 #: guardafoto.php:483 347 354 msgid "Inserted into the content ✓" 348 355 msgstr "Insertada en el contenido ✓" 349 356 350 #: guardafoto.php:487351 msgid "Videos are download-only: this version does not import them into the Media Library."352 msgstr "Los videos solo se descargan: en esta versión no se importan a la biblioteca de medios."353 354 357 #: guardafoto.php:488 355 msgid "This video is {size} and exceeds this site's upload limit ({limit}): it can only be downloaded." 356 msgstr "Este video pesa {size} y supera el límite de subida de este sitio ({limit}): solo se puede descargar." 358 msgid "" 359 "Videos are download-only: this version does not import them into the Media " 360 "Library." 361 msgstr "" 362 "Los videos solo se descargan: en esta versión no se importan a la biblioteca " 363 "de medios." 357 364 358 365 #: guardafoto.php:489 366 msgid "" 367 "This video is {size} and exceeds this site's upload limit ({limit}): it can " 368 "only be downloaded." 369 msgstr "" 370 "Este video pesa {size} y supera el límite de subida de este sitio ({limit}): " 371 "solo se puede descargar." 372 373 #: guardafoto.php:490 359 374 msgid "The photo could not be imported." 360 375 msgstr "No se pudo importar la foto." 361 376 362 #: guardafoto.php:49 0377 #: guardafoto.php:491 363 378 msgid "You are not allowed to do that." 364 379 msgstr "No tienes permiso para hacer eso." 365 380 366 #: guardafoto.php: 599381 #: guardafoto.php:600 367 382 msgid "You are not allowed to use this tool." 368 383 msgstr "No tienes permiso para usar esta herramienta." … … 375 390 msgid "Automatic (site language)" 376 391 msgstr "Automático (idioma del sitio)" 377 -
guardafoto/trunk/languages/guardafoto.pot
r3791761 r3791779 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: GuardaFoto 1.1. 1\n"5 "Project-Id-Version: GuardaFoto 1.1.2\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/guardafoto\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-11-09T0 2:47:37+00:00\n"12 "POT-Creation-Date: 2026-11-09T03:08:38+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 59 59 #: guardafoto.php:193 60 60 #: guardafoto.php:212 61 #: guardafoto.php:46 261 #: guardafoto.php:463 62 62 msgid "Looking up the photo…" 63 63 msgstr "" … … 68 68 69 69 #: guardafoto.php:195 70 #: guardafoto.php:48 370 #: guardafoto.php:484 71 71 msgid "Type" 72 72 msgstr "" 73 73 74 74 #: guardafoto.php:196 75 #: guardafoto.php:48 475 #: guardafoto.php:485 76 76 msgid "Size" 77 77 msgstr "" … … 79 79 #: guardafoto.php:197 80 80 #: guardafoto.php:223 81 #: guardafoto.php:47 381 #: guardafoto.php:474 82 82 msgid "Download" 83 83 msgstr "" … … 87 87 #: guardafoto.php:243 88 88 #: guardafoto.php:247 89 #: guardafoto.php:48 590 #: guardafoto.php:50 791 #: guardafoto.php:51 189 #: guardafoto.php:486 90 #: guardafoto.php:508 91 #: guardafoto.php:512 92 92 msgid "Video" 93 93 msgstr "" … … 102 102 103 103 #: guardafoto.php:215 104 #: guardafoto.php:46 5104 #: guardafoto.php:466 105 105 msgid "Paste a link first." 106 106 msgstr "" … … 111 111 112 112 #: guardafoto.php:217 113 #: guardafoto.php:46 7113 #: guardafoto.php:468 114 114 msgid "That link could not be found, or it is not public." 115 115 msgstr "" 116 116 117 117 #: guardafoto.php:218 118 #: guardafoto.php:46 8118 #: guardafoto.php:469 119 119 msgid "Too many lookups right now. Please wait a moment and try again." 120 120 msgstr "" 121 121 122 122 #: guardafoto.php:219 123 #: guardafoto.php:4 69123 #: guardafoto.php:470 124 124 msgid "The lookup service could not complete that request. Please try again in a moment." 125 125 msgstr "" … … 130 130 131 131 #: guardafoto.php:221 132 #: guardafoto.php:47 1132 #: guardafoto.php:472 133 133 msgid "No downloadable files were returned for that link." 134 134 msgstr "" 135 135 136 136 #: guardafoto.php:222 137 #: guardafoto.php:47 2137 #: guardafoto.php:473 138 138 msgid "Instagram profile photos cannot be downloaded: Meta shows them only to logged-in accounts." 139 139 msgstr "" … … 144 144 145 145 #: guardafoto.php:226 146 #: guardafoto.php:48 6146 #: guardafoto.php:487 147 147 msgid "Video file" 148 148 msgstr "" 149 149 150 150 #: guardafoto.php:228 151 #: guardafoto.php:49 2151 #: guardafoto.php:493 152 152 msgid "YouTube" 153 153 msgstr "" 154 154 155 155 #: guardafoto.php:229 156 #: guardafoto.php:49 3156 #: guardafoto.php:494 157 157 msgid "Spotify" 158 158 msgstr "" 159 159 160 160 #: guardafoto.php:230 161 #: guardafoto.php:49 4161 #: guardafoto.php:495 162 162 msgid "Deezer" 163 163 msgstr "" 164 164 165 165 #: guardafoto.php:231 166 #: guardafoto.php:49 5166 #: guardafoto.php:496 167 167 msgid "Apple Music" 168 168 msgstr "" 169 169 170 170 #: guardafoto.php:232 171 #: guardafoto.php:49 6171 #: guardafoto.php:497 172 172 msgid "TikTok" 173 173 msgstr "" 174 174 175 175 #: guardafoto.php:233 176 #: guardafoto.php:49 7176 #: guardafoto.php:498 177 177 msgid "Instagram" 178 178 msgstr "" 179 179 180 180 #: guardafoto.php:234 181 #: guardafoto.php:49 8181 #: guardafoto.php:499 182 182 msgid "X" 183 183 msgstr "" 184 184 185 185 #: guardafoto.php:235 186 #: guardafoto.php: 499186 #: guardafoto.php:500 187 187 msgid "Twitch" 188 188 msgstr "" 189 189 190 190 #: guardafoto.php:238 191 #: guardafoto.php:50 2191 #: guardafoto.php:503 192 192 msgid "Profile photo" 193 193 msgstr "" 194 194 195 195 #: guardafoto.php:239 196 #: guardafoto.php:50 3196 #: guardafoto.php:504 197 197 msgid "Banner" 198 198 msgstr "" 199 199 200 200 #: guardafoto.php:240 201 #: guardafoto.php:50 4201 #: guardafoto.php:505 202 202 msgid "Thumbnail" 203 203 msgstr "" 204 204 205 205 #: guardafoto.php:241 206 #: guardafoto.php:50 5206 #: guardafoto.php:506 207 207 msgid "Cover" 208 208 msgstr "" 209 209 210 210 #: guardafoto.php:242 211 #: guardafoto.php:50 6211 #: guardafoto.php:507 212 212 msgid "Image" 213 213 msgstr "" 214 214 215 215 #: guardafoto.php:246 216 #: guardafoto.php:51 0216 #: guardafoto.php:511 217 217 msgid "Channel" 218 218 msgstr "" 219 219 220 220 #: guardafoto.php:248 221 #: guardafoto.php:51 2221 #: guardafoto.php:513 222 222 msgid "Artist" 223 223 msgstr "" 224 224 225 225 #: guardafoto.php:249 226 #: guardafoto.php:51 3226 #: guardafoto.php:514 227 227 msgid "Album" 228 228 msgstr "" 229 229 230 230 #: guardafoto.php:250 231 #: guardafoto.php:51 4231 #: guardafoto.php:515 232 232 msgid "Song" 233 233 msgstr "" 234 234 235 235 #: guardafoto.php:251 236 #: guardafoto.php:51 5236 #: guardafoto.php:516 237 237 msgid "Playlist" 238 238 msgstr "" 239 239 240 240 #: guardafoto.php:252 241 #: guardafoto.php:51 6241 #: guardafoto.php:517 242 242 msgid "Podcast" 243 243 msgstr "" 244 244 245 245 #: guardafoto.php:253 246 #: guardafoto.php:51 7246 #: guardafoto.php:518 247 247 msgid "Episode" 248 248 msgstr "" 249 249 250 250 #: guardafoto.php:254 251 #: guardafoto.php:51 8251 #: guardafoto.php:519 252 252 msgid "Profile" 253 253 msgstr "" 254 254 255 255 #: guardafoto.php:255 256 #: guardafoto.php:5 19256 #: guardafoto.php:520 257 257 msgid "Reel" 258 258 msgstr "" 259 259 260 260 #: guardafoto.php:256 261 #: guardafoto.php:52 0261 #: guardafoto.php:521 262 262 msgid "Post" 263 263 msgstr "" … … 277 277 278 278 #: guardafoto.php:459 279 msgid "GuardaFoto — Extract the photo here" 280 msgstr "" 281 282 #: guardafoto.php:460 279 283 msgid "Link" 280 284 msgstr "" 281 285 282 #: guardafoto.php:46 0286 #: guardafoto.php:461 283 287 msgid "https://www.youtube.com/watch?v=…" 284 288 msgstr "" 285 289 286 #: guardafoto.php:46 1290 #: guardafoto.php:462 287 291 msgid "Look up the photo" 288 292 msgstr "" 289 293 290 #: guardafoto.php:46 3294 #: guardafoto.php:464 291 295 msgid "Photo found. Download it or import it to the Media Library." 292 296 msgstr "" 293 297 294 #: guardafoto.php:46 4298 #: guardafoto.php:465 295 299 msgid "Found it. The photos and the video from that link are listed below." 296 300 msgstr "" 297 301 298 #: guardafoto.php:46 6302 #: guardafoto.php:467 299 303 msgid "That link is not supported. Paste a public YouTube, Spotify, Deezer, Apple Music, TikTok, Instagram, X or Twitch link." 300 304 msgstr "" 301 305 302 #: guardafoto.php:47 0306 #: guardafoto.php:471 303 307 msgid "The request could not be completed. Check the connection and try again." 304 308 msgstr "" 305 309 306 #: guardafoto.php:47 4310 #: guardafoto.php:475 307 311 msgid "Import to Media Library" 308 312 msgstr "" 309 313 310 #: guardafoto.php:47 5314 #: guardafoto.php:476 311 315 msgid "Importing…" 312 316 msgstr "" 313 317 314 #: guardafoto.php:47 6318 #: guardafoto.php:477 315 319 msgid "Imported ✓" 316 320 msgstr "" 317 321 318 #: guardafoto.php:47 7322 #: guardafoto.php:478 319 323 msgid "View in Media Library" 320 324 msgstr "" 321 325 322 #: guardafoto.php:47 8326 #: guardafoto.php:479 323 327 msgid "Import & set as featured image" 324 328 msgstr "" 325 329 326 #: guardafoto.php:4 79330 #: guardafoto.php:480 327 331 msgid "Featured image set ✓" 328 332 msgstr "" 329 333 330 #: guardafoto.php:48 0334 #: guardafoto.php:481 331 335 msgid "The photo was imported, but it could not be set as the featured image." 332 336 msgstr "" 333 337 334 #: guardafoto.php:48 1338 #: guardafoto.php:482 335 339 msgid "Import & insert into content" 336 340 msgstr "" 337 341 338 #: guardafoto.php:48 2342 #: guardafoto.php:483 339 343 msgid "Inserted into the content ✓" 340 344 msgstr "" 341 345 342 #: guardafoto.php:48 7346 #: guardafoto.php:488 343 347 msgid "Videos are download-only: this version does not import them into the Media Library." 344 348 msgstr "" 345 349 346 #: guardafoto.php:48 8350 #: guardafoto.php:489 347 351 msgid "This video is {size} and exceeds this site's upload limit ({limit}): it can only be downloaded." 348 352 msgstr "" 349 353 350 #: guardafoto.php:4 89354 #: guardafoto.php:490 351 355 msgid "The photo could not be imported." 352 356 msgstr "" 353 357 354 #: guardafoto.php:49 0358 #: guardafoto.php:491 355 359 msgid "You are not allowed to do that." 356 360 msgstr "" 357 361 358 #: guardafoto.php: 599362 #: guardafoto.php:600 359 363 msgid "You are not allowed to use this tool." 360 364 msgstr "" -
guardafoto/trunk/readme.txt
r3791761 r3791779 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4 7 Stable tag: 1.1. 17 Stable tag: 1.1.2 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 43 43 44 44 * A **GuardaFoto page in the admin menu**: paste a link, download each photo, or import it straight into your Media Library. 45 * A **GuardaFoto panel in the block editor** while you write a post : import a photo and set it as the featured image, import it and insert it into the content, or just import it to the Media Library.46 * A **GuardaFoto meta box in the classic editor** withthe same three actions: featured image (the featured-image box updates without reloading), insert into the content, or plain import.45 * A **GuardaFoto panel in the block editor** while you write a post, in the document sidebar right by the featured image and titled **"GuardaFoto — Extract the photo here"**: import a photo and set it as the featured image, import it and insert it into the content, or just import it to the Media Library. 46 * A **GuardaFoto meta box in the classic editor**, in the side column next to the featured-image box with the same "Extract the photo here" title and the same three actions: featured image (the featured-image box updates without reloading), insert into the content, or plain import. 47 47 48 48 The plugin adds no visible credit and no external links to the front end, and it makes no external request when it is activated or when a page is merely viewed. The external lookup described below happens only after a visitor submits a link in the tool, or after an administrator submits one in the dashboard page, the editor panel or the classic meta box. … … 119 119 2. A resolved result with its preview and verified download sizes. 120 120 3. The GuardaFoto page in wp-admin: paste a link, download each photo or import it straight into the Media Library. 121 4. Writing a post: the "GuardaFoto — Extract the photo here" panel in the editor sidebar, next to the featured image, ready to import a photo without leaving the post. 121 122 122 123 == Changelog == 124 125 = 1.1.2 = 126 * The block-editor panel is now titled "GuardaFoto — Extract the photo here" and sits in the document sidebar right by the featured image, open and ready while you write: paste a link and import the photo, set it as the featured image or insert it into the content — no hunting through menus. 127 * The classic-editor meta box moved to the side column with high priority, next to the featured-image box, with the same "Extract the photo here" title and the full set of actions adapted to the narrow column. 128 * Fixed the classic-editor lookup, which could not run inside the post edit form (a form cannot live inside another form): the box now works from a plain container, wired to its button and the Enter key. 129 * The new title is translated like everything else: in Spanish it reads "GuardaFoto — Extrae la foto aquí". 123 130 124 131 = 1.1.1 = … … 151 158 == Upgrade Notice == 152 159 160 = 1.1.2 = 161 The editor tool is now where you look for a photo: "GuardaFoto — Extract the photo here", next to the featured image in both editors. 162 153 163 = 1.1.1 = 154 164 The whole plugin now speaks your site's language: complete English/Spanish internationalisation for the tool, the dashboard and the editor.
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)