Changeset 3480099
- Timestamp:
- 03/11/2026 12:50:19 PM (3 weeks ago)
- Location:
- aigude-tools/trunk
- Files:
-
- 16 edited
-
README.txt (modified) (4 diffs)
-
aigude-tools.php (modified) (3 diffs)
-
assets/css/includes/list_view.css (modified) (1 diff)
-
assets/js/grid-actions.js (modified) (6 diffs)
-
assets/js/list-actions.js (modified) (10 diffs)
-
includes/class-aigude-media-controller.php (modified) (7 diffs)
-
includes/grid-view.php (modified) (1 diff)
-
includes/list-view.php (modified) (1 diff)
-
languages/aigude-tools-de_DE.po (modified) (3 diffs)
-
languages/aigude-tools-de_DE_formal.po (modified) (19 diffs)
-
languages/aigude-tools-nl_NL.po (modified) (21 diffs)
-
languages/aigude-tools-nl_NL_formal.po (modified) (20 diffs)
-
languages/aigude-tools-readme-de_DE.po (modified) (10 diffs)
-
languages/aigude-tools-readme-de_DE_formal.po (modified) (7 diffs)
-
languages/aigude-tools-readme-nl_NL.po (modified) (11 diffs)
-
languages/aigude-tools-readme-nl_NL_formal.po (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
aigude-tools/trunk/README.txt
r3415292 r3480099 2 2 Contributors: pagemachine, maltamirano 3 3 Tags: ai, alt text, accessibility, images, seo 4 Stable tag: 2. 4.04 Stable tag: 2.5.0 5 5 Requires at least: 6.0 6 6 Tested up to: 6.8 … … 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Generate and manage image alt text with AI —featuring bulk actions, multilingual prompts, and seamless Media Library integration.11 Generate and manage image alt text with AI; featuring bulk actions, multilingual prompts, and seamless Media Library integration. 12 12 13 13 == Description == 14 14 15 15 **AiGude Tools** improves accessibility and SEO by automatically generating alternative text for your images using an AI-powered API. 16 Save time, stay consistent, and enhance your site’s visibility in search engines —all without manually writing every alt text.16 Save time, stay consistent, and enhance your site’s visibility in search engines, all without manually writing every alt text. 17 17 18 18 Want to try it? [Visit our live demo.](https://aigude.io/en/Try-It/) 19 19 20 To use the plugin you’ll need an AiGude API key —grab one for free at [AiGude.io](https://aigude.io/en/Products/).20 To use the plugin you’ll need an AiGude API key, grab one for free at [AiGude.io](https://aigude.io/en/Products/). 21 21 22 22 [AiGude FAQ (German)](https://www.pagemachine.de/ki-loesungen/aigude-faq) … … 49 49 50 50 = Do I need an API key? = 51 Yes —an AiGude API key is required. Get one free at [AiGude.io](https://aigude.io).51 Yes, an AiGude API key is required. Get one free at [AiGude.io](https://aigude.io). 52 52 53 53 = Does it overwrite existing alt texts? = … … 94 94 == Changelog == 95 95 96 = 2.5.0 = 97 * Bulk alt text generation now sends images in batches of up to 10, reducing total processing time significantly. 98 * Progress bar animates during batch processing with a status indicator showing the current batch. 99 96 100 = 2.4.0 = 97 101 * Prompts in views grouped by provider, with tooltips and “Edit in Prompts” quick access. -
aigude-tools/trunk/aigude-tools.php
r3415292 r3480099 4 4 * Plugin URI: https://wordpress.org/plugins/aigude-tools/ 5 5 * Description: Generate and manage image alt text with AI — supports bulk actions, custom multilingual prompts, and full Media Library integration. 6 * Version: 2. 4.06 * Version: 2.5.0 7 7 * Requires at least: 6.0 8 8 * Requires PHP: 7.4 … … 35 35 const NONCE_ACTION = 'aigude-tools'; 36 36 const PER_IMAGE_CREDITS = 3; 37 const BATCH_SIZE = 10; 37 38 const BUILTIN_PROMPT_ID = 'aigude-default-prompt'; 38 39 39 const API_URL_IMG2DESC = 'https://credits.aigude.io/img2desc_file'; 40 const API_URL_CREDITS = 'https://credits.aigude.io/remaining_credits'; 40 const API_URL_IMG2DESC = 'https://credits.aigude.io/img2desc_file'; 41 const API_URL_IMG2DESC_BATCH = 'https://credits.aigude.io/img2desc_file_batch'; 42 const API_URL_CREDITS = 'https://credits.aigude.io/remaining_credits'; 41 43 const API_URL_TRANSLATE_PROVIDERS = AIGUDE_Translation_Service::API_URL_TRANSLATE_PROVIDERS; 42 44 const DEFAULT_TRANSLATION_PROVIDER = AIGUDE_Translation_Service::DEFAULT_PROVIDER; … … 396 398 397 399 /** 400 * Resolve the Img2Desc batch endpoint, honoring overrides via constants/env/filters. 401 */ 402 public static function get_img2desc_batch_url(): string { 403 if (defined('AIGUDE_IMG2DESC_BATCH_URL') && is_string(AIGUDE_IMG2DESC_BATCH_URL) && AIGUDE_IMG2DESC_BATCH_URL !== '') { 404 return trim(AIGUDE_IMG2DESC_BATCH_URL); 405 } 406 407 $env = getenv('AIGUDE_IMG2DESC_BATCH_URL'); 408 if (is_string($env) && trim($env) !== '') { 409 return trim($env); 410 } 411 412 if (function_exists('apply_filters')) { 413 $filtered = apply_filters('aigude_img2desc_batch_url', self::API_URL_IMG2DESC_BATCH); 414 if (is_string($filtered) && trim($filtered) !== '') { 415 return trim($filtered); 416 } 417 } 418 419 return self::API_URL_IMG2DESC_BATCH; 420 } 421 422 /** 398 423 * Resolve the credits endpoint using the same override cascade as the Img2Desc URL. 399 424 */ -
aigude-tools/trunk/assets/css/includes/list_view.css
r3361969 r3480099 80 80 } 81 81 82 @keyframes progress-shimmer { 83 0% { background-position: -200% 0; } 84 100% { background-position: 200% 0; } 85 } 86 87 .progress-bar.in-flight { 88 background: linear-gradient( 89 90deg, 90 #e01e8a 0%, 91 #f472c8 40%, 92 #e01e8a 60%, 93 #e01e8a 100% 94 ); 95 background-size: 200% 100%; 96 animation: progress-shimmer 1.5s ease-in-out infinite; 97 } 98 99 @media (prefers-reduced-motion: reduce) { 100 .progress-bar.in-flight { 101 animation: none; 102 } 103 } 104 105 .progress-status { 106 margin-top: 6px; 107 font-size: 12px; 108 color: #666; 109 min-height: 18px; 110 } 111 82 112 .credit-info-wrapper { 83 113 padding: 10px 14px; -
aigude-tools/trunk/assets/js/grid-actions.js
r3415292 r3480099 24 24 /* translators: %d = total number of credits used across the whole operation */ 25 25 totalCreditsUsedTpl: __('Total credits used: %d', 'aigude-tools'), 26 /* translators: %1$d = current batch number, %2$d = total number of batches */ 27 sendingBatchTpl: __('Sending batch %1$d of %2$d to AI\u2026', 'aigude-tools'), 26 28 lockedByPrompt: __('Language locked by selected prompt.', 'aigude-tools'), 27 29 }; … … 479 481 method: 'POST', 480 482 dataType: 'json', 483 timeout: 310000, 481 484 data: Object.assign({ 482 action: 'aigude_generate_b ulk',485 action: 'aigude_generate_batch', 483 486 ids: ids, 484 487 _ajax_nonce: cfg.nonce, … … 498 501 // ----------------------------------------------------------------------- 499 502 $(function () { 500 const $selectBtn = $(cfg.selectors?.selectBtn || ''); 501 const $generateBtn = $(cfg.selectors?.generateBtn || ''); 503 const $selectBtn = $(cfg.selectors?.selectBtn || ''); 504 const $generateBtn = $(cfg.selectors?.generateBtn || ''); 505 const $progressStatus = $('#bulk-progress-status'); 502 506 503 507 updateGenerateBtnLabel(); … … 564 568 const langProvider = targetInfo.provider || 'deepl'; 565 569 566 const BATCH_SIZE = Math.max(1, Number(cfg.batchSize) || 12);570 const BATCH_SIZE = Math.max(1, Math.min(Number(cfg.batchSize) || 10, 10)); 567 571 const batches = chunk(selectedIds, BATCH_SIZE); 568 572 569 573 let totalCredits = 0; 570 574 let aborted = false; 575 let batchNum = 0; 571 576 572 577 progStart(selectedIds.length); … … 580 585 if (aborted) break; 581 586 587 batchNum++; 588 $bar.addClass('in-flight'); 589 $progressStatus.show().text( 590 STR.sendingBatchTpl.replace('%1$d', batchNum).replace('%2$d', batches.length) 591 ); 592 const simStartPct = (PROG_DONE / PROG_TOTAL) * 100; 593 const simTargetPct = ((PROG_DONE + ids.length) / PROG_TOTAL) * 100; 594 const simMaxPct = simStartPct + (simTargetPct - simStartPct) * 0.85; 595 let simPct = simStartPct; 596 const simInterval = setInterval(() => { 597 const remaining = simMaxPct - simPct; 598 simPct += remaining * 0.03; 599 $bar.css('width', simPct + '%'); 600 }, 200); 582 601 try { 583 602 const res = await postChunk(ids, { … … 614 633 progStep(ids.length); 615 634 if (fatal) { aborted = true; break; } 635 } finally { 636 clearInterval(simInterval); 637 $bar.removeClass('in-flight'); 616 638 } 617 639 } 618 640 } finally { 641 $progressStatus.hide().text(''); 619 642 progFinish(); 620 643 -
aigude-tools/trunk/assets/js/list-actions.js
r3415292 r3480099 33 33 creditsWord: __('credits', 'aigude-tools'), 34 34 lockedByPrompt: __('Language locked by selected prompt.', 'aigude-tools'), 35 /* translators: %1$d = current batch number, %2$d = total number of batches */ 36 sendingBatchTpl: __('Sending batch %1$d of %2$d to AI\u2026', 'aigude-tools'), 35 37 }; 36 38 … … 53 55 const $progressWrap = $('#bulk-progress'); 54 56 const $progressBar = $('#bulk-progress-bar'); 57 const $progressStatus = $('#bulk-progress-status'); 55 58 56 59 const currentSearchTerm = () => $('#aigude-tools-search').val() || ''; … … 380 383 }); 381 384 385 // --- Helpers ------------------------------------------------------------- 386 function chunk(arr, size) { 387 const n = Math.max(1, Number(size) || 1); 388 const out = []; 389 for (let i = 0; i < arr.length; i += n) out.push(arr.slice(i, i + n)); 390 return out; 391 } 392 393 const BATCH_SIZE = 10; 394 382 395 // --- Bulk generate ------------------------------------------------------- 383 396 $bulkBtn.off('click.ai').on('click.ai', async function () { … … 410 423 411 424 setBtnLoading($btn); 412 $progressBar.css('width', '0%'); 425 $progressBar.css('width', '0%').attr({ 426 role: 'progressbar', 427 'aria-valuemin': 0, 428 'aria-valuemax': total, 429 'aria-valuenow': 0, 430 }); 413 431 $progressWrap.show(); 414 432 updateButtonLabelText($btn, done, total); … … 418 436 updateButtonLabelText($btn, done, total); 419 437 $progressBar.css('width', Math.round((done / total) * 100) + '%'); 438 $progressBar.attr({ 'aria-valuenow': done, 'aria-valuemax': total }); 420 439 }; 421 440 … … 433 452 434 453 try { 435 for (const id of idQueue) { 454 const batches = chunk(idQueue, BATCH_SIZE); 455 let batchNum = 0; 456 457 for (const batchIds of batches) { 436 458 if (aborted) break; 437 459 460 batchNum++; 461 $progressBar.addClass('in-flight'); 462 $progressStatus.show().text( 463 STR.sendingBatchTpl.replace('%1$d', batchNum).replace('%2$d', batches.length) 464 ); 465 const simStartPct = (done / total) * 100; 466 const simTargetPct = ((done + batchIds.length) / total) * 100; 467 const simMaxPct = simStartPct + (simTargetPct - simStartPct) * 0.85; 468 let simPct = simStartPct; 469 const simInterval = setInterval(() => { 470 const remaining = simMaxPct - simPct; 471 simPct += remaining * 0.03; 472 $progressBar.css('width', simPct + '%'); 473 }, 200); 438 474 try { 439 475 const res = await $.ajax({ … … 441 477 method: 'POST', 442 478 dataType: 'json', 443 timeout: 3 0000,479 timeout: 310000, 444 480 data: { 445 action: 'aigude_generate_b ulk',446 ids: [id],481 action: 'aigude_generate_batch', 482 ids: batchIds, 447 483 prompt, 448 484 lang, … … 456 492 457 493 if (res && res.success && res.data && res.data.results) { 458 const r = res.data.results[id] || {};459 460 494 if (typeof res.data.creditsUsed === 'number') { 461 495 creditsUsedTotal += res.data.creditsUsed; … … 466 500 } 467 501 468 const $card = $(`.ai-card[data-id="${id}"]`); 469 if ($card.length) { 470 if (r.status === 'ok' && r.alt) { 471 $card.find('.continue-single').show(); 472 showAlt($card, r.alt); 473 $card.find('.suggestion-text').text(r.alt); 474 $card.find('.suggestion-block').show(); 475 $card.attr('data-saved-alt', r.alt); 476 if (skip) { 502 const batchResults = res.data.results; 503 for (const id of batchIds) { 504 const r = batchResults[id] || {}; 505 const $card = $(`.ai-card[data-id="${id}"]`); 506 if ($card.length) { 507 if (r.status === 'ok' && r.alt) { 508 $card.find('.continue-single').show(); 509 showAlt($card, r.alt); 510 $card.find('.suggestion-text').text(r.alt); 511 $card.find('.suggestion-block').show(); 512 $card.attr('data-saved-alt', r.alt); 513 if (skip) { 514 $card.find('.ai-select').prop({ checked: false, disabled: true }); 515 $card.addClass('ai-disabled'); 516 } 517 } else if (r.status === 'skipped' && skip) { 477 518 $card.find('.ai-select').prop({ checked: false, disabled: true }); 478 519 $card.addClass('ai-disabled'); 520 } else if (r.status === 'error') { 521 const { message, fatal } = parseError(null, { data: { message: r.message, code: r.code }}); 522 agToast(message, 'error'); 523 if (fatal) aborted = true; 479 524 } 480 } else if (r.status === 'skipped' && skip) {481 $card.find('.ai-select').prop({ checked: false, disabled: true });482 $card.addClass('ai-disabled');483 } else if (r.status === 'error') {484 const { message, fatal } = parseError(null, { data: { message: r.message, code: r.code }});485 agToast(message, 'error');486 if (fatal) aborted = true;487 525 } 526 tick(); 488 527 } 489 528 } else { 490 529 const { message, fatal } = parseError(null, res); 491 530 agToast(message, 'error'); 531 batchIds.forEach(() => tick()); 492 532 if (fatal) aborted = true; 493 533 } … … 495 535 const { message, fatal } = parseError(jqXHR, jqXHR.responseJSON); 496 536 agToast(message, 'error'); 537 batchIds.forEach(() => tick()); 497 538 if (fatal) aborted = true; 498 539 } 499 500 tick(); 540 clearInterval(simInterval); 541 $progressBar.removeClass('in-flight'); 542 501 543 if (aborted) break; 502 544 } 503 545 } finally { 546 $progressStatus.hide().text(''); 504 547 setTimeout(() => $progressWrap.fadeOut(200), 300); 505 548 const base = $bulkBtn.data('default-text').replace('%s', total); -
aigude-tools/trunk/includes/class-aigude-media-controller.php
r3408170 r3480099 18 18 add_action('wp_ajax_aigude_apply', [$this, 'ajax_apply_alt']); 19 19 add_action('wp_ajax_aigude_generate_bulk', [$this, 'ajax_generate_bulk']); 20 add_action('wp_ajax_aigude_generate_batch', [$this, 'ajax_generate_batch']); 20 21 add_action('wp_ajax_aigude_get_all_credits', [$this, 'ajax_get_all_credits']); 21 22 add_action('wp_ajax_aigude_set_skip_mode', [$this, 'ajax_set_skip_mode']); … … 329 330 330 331 /** 332 * Generate alt text for multiple attachments using the batch API endpoint. 333 * 334 * Sends up to BATCH_SIZE images per API request. Falls back to single-image 335 * processing on server/timeout errors. Auth errors abort immediately. 336 */ 337 public function ajax_generate_batch(): void { 338 if (!current_user_can('upload_files')) { 339 $this->json_error('forbidden', 403); 340 } 341 check_ajax_referer(AIGUDE_Tools_Plugin::NONCE_ACTION); 342 343 $ids = array_map('absint', (array) ($_POST['ids'] ?? [])); 344 $prompt = isset($_POST['prompt']) ? sanitize_textarea_field(wp_unslash($_POST['prompt'])) : ''; 345 $skipExisting = !empty($_POST['skipExisting']); 346 $langCode = isset($_POST['lang']) ? sanitize_text_field(wp_unslash($_POST['lang'])) : 'default'; 347 $provider_override = isset($_POST['translation_provider']) 348 ? sanitize_text_field(wp_unslash($_POST['translation_provider'])) 349 : ''; 350 $translation_provider = $provider_override !== '' 351 ? AIGUDE_Translation_Service::normalize_translation_provider($provider_override) 352 : AIGUDE_Translation_Service::DEFAULT_PROVIDER; 353 $targetLang = AIGUDE_Tools_Plugin::resolve_target_lang_code($langCode, $translation_provider); 354 $prompt_lang = isset($_POST['prompt_lang']) ? sanitize_text_field(wp_unslash($_POST['prompt_lang'])) : 'auto'; 355 $tpl_src_lang = isset($_POST['tpl_src_lang']) ? sanitize_text_field(wp_unslash($_POST['tpl_src_lang'])) : 'auto'; 356 AIGUDE_Tools_Plugin::push_recent_lang('target', $targetLang, $translation_provider); 357 358 if (empty($ids) || $prompt === '') { 359 $this->json_error(__('Missing parameters.', 'aigude-tools')); 360 } 361 362 [$apiKey, $apiUrlSingle] = $this->get_active_server_credentials(AIGUDE_Tools_Plugin::get_img2desc_url()); 363 if (empty($apiKey)) { 364 $this->json_error(['message' => __('API key missing!', 'aigude-tools')]); 365 } 366 367 $prompt = wp_unslash($prompt); 368 $batchApiUrl = AIGUDE_Tools_Plugin::get_img2desc_batch_url(); 369 $batchSize = AIGUDE_Tools_Plugin::BATCH_SIZE; 370 $creditsTotal = 0; 371 $results = []; 372 373 // --- Collect eligible images --- 374 $eligible = []; // [{id, orig_path, file_path (resized), upload_name}] 375 foreach ($ids as $id) { 376 if ($skipExisting) { 377 $existing = (string) get_post_meta($id, '_wp_attachment_image_alt', true); 378 if (trim($existing) !== '') { 379 $results[$id] = [ 380 'status' => 'skipped', 381 'existing_alt' => $existing, 382 ]; 383 continue; 384 } 385 } 386 387 $orig = get_attached_file($id); 388 if (!$orig || !file_exists($orig)) { 389 $results[$id] = ['status' => 'error', 'message' => 'File not found']; 390 continue; 391 } 392 393 $file = $this->resize_temp_image($orig) ?: $orig; 394 $basename = wp_basename($orig); 395 // Prefix with ID to guarantee uniqueness across attachments sharing the same filename 396 $upload_name = $id . '-' . $basename; 397 398 $eligible[] = [ 399 'id' => $id, 400 'orig_path' => $orig, 401 'file_path' => $file, 402 'upload_name' => $upload_name, 403 ]; 404 } 405 406 // --- Process in batches --- 407 $chunks = array_chunk($eligible, $batchSize); 408 409 foreach ($chunks as $chunk) { 410 $files = []; 411 foreach ($chunk as $att) { 412 $files[] = ['path' => $att['file_path'], 'name' => $att['upload_name']]; 413 } 414 415 // Build filename-keyed prompt_spec 416 $prompt_spec = $this->build_prompt_spec_batch( 417 $prompt, $prompt_lang, $tpl_src_lang, $chunk, $translation_provider 418 ); 419 420 if (AIGUDE_Tools_Plugin::debug_enabled() && function_exists('wp_debug_log')) { 421 wp_debug_log('[AiGude Tools] prompt_spec(batch) ids=' . implode(',', array_column($chunk, 'id')) . ': ' . wp_json_encode($prompt_spec)); 422 } 423 424 $url = add_query_arg([ 425 'target_lang' => $targetLang, 426 'api_version' => 2, 427 'translation_provider' => $translation_provider, 428 ], $batchApiUrl); 429 430 $resp = $this->curl_upload_batch($url, $apiKey, $files, [ 431 'prompt_spec' => wp_json_encode($prompt_spec), 432 ]); 433 434 // --- Error handling --- 435 if (is_wp_error($resp)) { 436 // Network/timeout error → fallback to single for this chunk 437 $this->process_chunk_single($chunk, $results, $creditsTotal, $prompt, $prompt_lang, $tpl_src_lang, $targetLang, $translation_provider, $apiKey, $apiUrlSingle); 438 continue; 439 } 440 441 $http = (int) wp_remote_retrieve_response_code($resp); 442 $body = wp_remote_retrieve_body($resp); 443 444 // Auth/credit errors → abort entirely 445 if ($http === 401 || $http === 403) { 446 $api_msg = ''; 447 $decoded = json_decode($body, true); 448 if (is_array($decoded)) { 449 $api_msg = $decoded['message'] ?? $decoded['error'] ?? $decoded['detail'] ?? ''; 450 } 451 $this->json_error([ 452 'message' => $api_msg !== '' ? $api_msg : __('Invalid or unauthorized API key.', 'aigude-tools'), 453 'code' => 'invalid_api_key', 454 ], $http); 455 } 456 457 // Server errors → fallback to single for this chunk 458 if ($http !== 200) { 459 $this->process_chunk_single($chunk, $results, $creditsTotal, $prompt, $prompt_lang, $tpl_src_lang, $targetLang, $translation_provider, $apiKey, $apiUrlSingle); 460 continue; 461 } 462 463 $data = json_decode($body, true); 464 if (!is_array($data) || empty($data['success']) || !is_array($data['items'] ?? null)) { 465 $this->process_chunk_single($chunk, $results, $creditsTotal, $prompt, $prompt_lang, $tpl_src_lang, $targetLang, $translation_provider, $apiKey, $apiUrlSingle); 466 continue; 467 } 468 469 // --- Map response items back to attachment IDs --- 470 $name_to_id = []; 471 foreach ($chunk as $att) { 472 $name_to_id[$att['upload_name']] = $att['id']; 473 } 474 475 $matched_ids = []; 476 foreach ($data['items'] as $item) { 477 $fname = $item['filename'] ?? ''; 478 $generated = $item['generated_text'] ?? ''; 479 $provider_used = $item['provider'] ?? null; 480 481 if ($fname === '' || !isset($name_to_id[$fname])) { 482 continue; 483 } 484 485 $att_id = $name_to_id[$fname]; 486 $matched_ids[$att_id] = true; 487 488 if ($generated === '') { 489 $results[$att_id] = ['status' => 'error', 'message' => 'Empty generated text']; 490 continue; 491 } 492 493 $alt = sanitize_text_field($generated); 494 update_post_meta($att_id, '_wp_attachment_image_alt', $alt); 495 update_post_meta($att_id, '_aigude_alt_suggestion', $alt); 496 497 $results[$att_id] = [ 498 'status' => 'ok', 499 'alt' => $alt, 500 'credits' => 0, // per-image credits not available in batch response 501 'provider' => $provider_used, 502 ]; 503 } 504 505 // Any chunk items not matched in response → error 506 foreach ($chunk as $att) { 507 if (!isset($matched_ids[$att['id']])) { 508 $results[$att['id']] = ['status' => 'error', 'message' => 'Missing in batch response']; 509 } 510 } 511 512 $creditsTotal += (int) ($data['credits_used'] ?? 0); 513 } 514 515 $this->json_ok([ 516 'results' => $results, 517 'creditsUsed' => $creditsTotal, 518 ]); 519 } 520 521 /** 522 * Fallback: process a chunk of attachments one-by-one via the single-image endpoint. 523 * 524 * Mutates $results and $creditsTotal by reference. 525 */ 526 private function process_chunk_single(array $chunk, array &$results, int &$creditsTotal, string $prompt, string $prompt_lang, string $tpl_src_lang, string $targetLang, string $translation_provider, string $apiKey, string $apiUrl): void { 527 foreach ($chunk as $att) { 528 $id = $att['id']; 529 $file = $att['file_path']; 530 531 $prompt_spec = $this->build_prompt_spec($prompt, $prompt_lang, $tpl_src_lang, $id, $translation_provider); 532 $url = add_query_arg([ 533 'target_lang' => $targetLang, 534 'api_version' => 2, 535 'translation_provider' => $translation_provider, 536 ], $apiUrl); 537 538 $resp = $this->curl_upload($url, $apiKey, $file, ['prompt_spec' => wp_json_encode($prompt_spec)]); 539 if (is_wp_error($resp)) { 540 $results[$id] = ['status' => 'error', 'message' => 'cURL: ' . $resp->get_error_message()]; 541 continue; 542 } 543 544 $http = (int) wp_remote_retrieve_response_code($resp); 545 $body = wp_remote_retrieve_body($resp); 546 547 if ($http === 401 || $http === 403) { 548 $results[$id] = ['status' => 'error', 'message' => 'Auth error']; 549 return; // Stop processing — fatal 550 } 551 552 if ($http !== 200) { 553 $results[$id] = ['status' => 'error', 'message' => sprintf('HTTP %d', $http)]; 554 continue; 555 } 556 557 $data = json_decode($body, true); 558 if (!is_array($data) || empty($data['success']) || empty($data['generated_text'])) { 559 $results[$id] = ['status' => 'error', 'message' => 'Invalid API response']; 560 continue; 561 } 562 563 $alt = sanitize_text_field($data['generated_text']); 564 update_post_meta($id, '_wp_attachment_image_alt', $alt); 565 update_post_meta($id, '_aigude_alt_suggestion', $alt); 566 567 $credits = isset($data['credits_used']) ? (int) $data['credits_used'] : 0; 568 $creditsTotal += $credits; 569 570 $results[$id] = [ 571 'status' => 'ok', 572 'alt' => $alt, 573 'credits' => $credits, 574 'provider' => $data['provider'] ?? null, 575 ]; 576 } 577 } 578 579 /** 331 580 * Fetch remaining credit counts for each configured AiGude server entry. 332 581 */ … … 433 682 'Content-Type' => 'multipart/form-data; boundary=' . $boundary, 434 683 'apikey' => $api_key, 684 'X-AIGUDE-Client' => 'wordpress', 435 685 ]; 436 686 … … 455 705 456 706 /** 707 * Post a multipart request containing multiple image files and additional payload fields. 708 * 709 * @param string $url The API endpoint URL. 710 * @param string $api_key The API key for authentication. 711 * @param array $files Array of ['path' => string, 'name' => string] for each image. 712 * @param array $fields Additional form fields (e.g., prompt_spec). 713 * @return array|WP_Error 714 */ 715 private function curl_upload_batch(string $url, string $api_key, array $files, array $fields = []) { 716 foreach ($files as $file) { 717 if (!file_exists($file['path'])) { 718 return new WP_Error('file_missing', __('Temporary image file missing', 'aigude-tools')); 719 } 720 } 721 722 $boundary = wp_generate_password(24, false); 723 $headers = [ 724 'Content-Type' => 'multipart/form-data; boundary=' . $boundary, 725 'apikey' => $api_key, 726 'X-AIGUDE-Client' => 'wordpress', 727 ]; 728 729 $body = ''; 730 foreach ($fields as $name => $value) { 731 $body .= "--$boundary\r\n"; 732 $body .= "Content-Disposition: form-data; name=\"" . $name . "\"\r\n\r\n"; 733 $body .= (string) $value . "\r\n"; 734 } 735 foreach ($files as $file) { 736 $body .= "--$boundary\r\n"; 737 $body .= "Content-Disposition: form-data; name=\"image_files\"; filename=\"" . $file['name'] . "\"\r\n"; 738 $body .= "Content-Type: " . (wp_check_filetype($file['path'])['type'] ?: 'application/octet-stream') . "\r\n\r\n"; 739 $body .= file_get_contents($file['path']) . "\r\n"; 740 } 741 $body .= "--$boundary--\r\n"; 742 743 return wp_remote_post($url, [ 744 'headers' => $headers, 745 'body' => $body, 746 'timeout' => 300, 747 ]); 748 } 749 750 /** 457 751 * Convenience wrapper for wp_send_json_success(). 458 752 */ … … 472 766 */ 473 767 private function build_prompt_spec(string $prompt_template, string $prompt_lang, string $placeholder_lang, int $attachment_id, string $provider = AIGUDE_Translation_Service::DEFAULT_PROVIDER): array { 474 $tokens_map = $this->get_attachment_tokens($attachment_id);475 $spec_tokens = [];476 477 $used = [];478 $token_mods = [];479 if ($prompt_template !== '' && preg_match_all('/%([a-z0-9_\\-]+)(?:\\|([^%]*))?%/i', $prompt_template, $m, PREG_SET_ORDER)) {480 foreach ($m as $match) {481 $tok = strtolower($match[1]);482 $used[$tok] = true;483 484 $mods_str = isset($match[2]) ? (string) $match[2] : '';485 if ($mods_str !== '') {486 $mods = array_filter(array_map('trim', explode('|', $mods_str)));487 foreach ($mods as $mod) {488 $mod_l = strtolower($mod);489 if (in_array($mod_l, ['translatable', 'translate'], true)) {490 $token_mods[$tok]['translatable'] = true;491 } elseif (in_array($mod_l, ['untranslatable', 'no-translate', 'notranslate'], true)) {492 $token_mods[$tok]['translatable'] = false;493 }494 }495 }496 }497 }498 499 768 $norm_provider = AIGUDE_Translation_Service::normalize_translation_provider($provider); 500 769 $norm_prompt_lang = (strtolower($prompt_lang) === 'auto') 501 770 ? 'auto' 502 771 : AIGUDE_Translation_Service::normalize_provider_lang_code_generic($prompt_lang, $norm_provider, 'source'); 503 $norm_placeholder_lang = (strtolower($placeholder_lang) === 'auto')504 ? 'auto'505 : AIGUDE_Translation_Service::normalize_provider_lang_code_generic($placeholder_lang, $norm_provider, 'source');506 772 if ($norm_prompt_lang === '') { 507 773 $norm_prompt_lang = 'auto'; 508 774 } 509 if ($norm_placeholder_lang === '') { 510 $norm_placeholder_lang = 'auto'; 511 } 512 513 foreach ($tokens_map as $key => $value) { 514 if (!isset($used[$key])) { 515 continue; 516 } 517 518 if (in_array($key, ['current_alt', 'current-alt', 'caption', 'description'], true)) { 519 $str = trim((string) $value); 520 if ($str === '') { 521 continue; 522 } 523 $translatable = $token_mods[$key]['translatable'] ?? true; 524 $spec_tokens[$key] = [ 525 'value' => $str, 526 'lang' => $norm_placeholder_lang ?: 'auto', 527 'translatable' => (bool) $translatable, 528 ]; 529 } elseif (in_array($key, ['title'], true)) { 530 $str = trim((string) $value); 531 if ($str === '') { 532 continue; 533 } 534 $translatable = $token_mods[$key]['translatable'] ?? false; 535 $spec_tokens[$key] = [ 536 'value' => $str, 537 'lang' => $norm_placeholder_lang ?: 'auto', 538 'translatable' => (bool) $translatable, 539 ]; 540 } elseif (in_array($key, ['filename', 'filename_no_ext'], true)) { 541 $str = (string) $value; 542 if ($str === '') { 543 continue; 544 } 545 $translatable = $token_mods[$key]['translatable'] ?? false; 546 $spec_tokens[$key] = [ 547 'value' => $str, 548 'lang' => $norm_placeholder_lang ?: 'auto', 549 'translatable' => (bool) $translatable, 550 ]; 551 } elseif (in_array($key, ['width', 'height'], true)) { 552 $num = (int) $value; 553 if ($num <= 0) { 554 continue; 555 } 556 $spec_tokens[$key] = [ 557 'value' => $num, 558 'lang' => 'auto', 559 'translatable' => false, 560 ]; 561 } 562 } 775 776 $spec_tokens = $this->build_tokens_for_attachment($prompt_template, $placeholder_lang, $attachment_id, $provider); 563 777 564 778 return [ … … 566 780 'prompt_lang' => $norm_prompt_lang ?: 'auto', 567 781 'tokens' => $spec_tokens, 782 ]; 783 } 784 785 /** 786 * Build a batch prompt_spec with tokens keyed by filename. 787 * 788 * @param string $prompt_template The prompt template string. 789 * @param string $prompt_lang Language of the prompt template. 790 * @param string $placeholder_lang Language of the placeholder values. 791 * @param array $attachments Array of ['id' => int, 'upload_name' => string]. 792 * @param string $provider Translation provider slug. 793 * @return array 794 */ 795 private function build_prompt_spec_batch(string $prompt_template, string $prompt_lang, string $placeholder_lang, array $attachments, string $provider): array { 796 $norm_provider = AIGUDE_Translation_Service::normalize_translation_provider($provider); 797 $norm_prompt_lang = (strtolower($prompt_lang) === 'auto') 798 ? 'auto' 799 : AIGUDE_Translation_Service::normalize_provider_lang_code_generic($prompt_lang, $norm_provider, 'source'); 800 if ($norm_prompt_lang === '') { 801 $norm_prompt_lang = 'auto'; 802 } 803 804 $tokens_by_file = []; 805 foreach ($attachments as $att) { 806 $tokens_by_file[$att['upload_name']] = $this->build_tokens_for_attachment( 807 $prompt_template, $placeholder_lang, $att['id'], $provider 808 ); 809 } 810 811 return [ 812 'prompt_template' => $prompt_template, 813 'prompt_lang' => $norm_prompt_lang ?: 'auto', 814 'tokens' => $tokens_by_file, 568 815 ]; 569 816 } … … 600 847 ]; 601 848 } 849 850 /** 851 * Build the tokens sub-array for a single attachment (reused by both single and batch prompt_spec). 852 * 853 * Returns only tokens that are actually used in the template, with language and translatability metadata. 854 */ 855 private function build_tokens_for_attachment(string $prompt_template, string $placeholder_lang, int $attachment_id, string $provider): array { 856 $tokens_map = $this->get_attachment_tokens($attachment_id); 857 $spec_tokens = []; 858 859 $used = []; 860 $token_mods = []; 861 if ($prompt_template !== '' && preg_match_all('/%([a-z0-9_\\-]+)(?:\\|([^%]*))?%/i', $prompt_template, $m, PREG_SET_ORDER)) { 862 foreach ($m as $match) { 863 $tok = strtolower($match[1]); 864 $used[$tok] = true; 865 866 $mods_str = isset($match[2]) ? (string) $match[2] : ''; 867 if ($mods_str !== '') { 868 $mods = array_filter(array_map('trim', explode('|', $mods_str))); 869 foreach ($mods as $mod) { 870 $mod_l = strtolower($mod); 871 if (in_array($mod_l, ['translatable', 'translate'], true)) { 872 $token_mods[$tok]['translatable'] = true; 873 } elseif (in_array($mod_l, ['untranslatable', 'no-translate', 'notranslate'], true)) { 874 $token_mods[$tok]['translatable'] = false; 875 } 876 } 877 } 878 } 879 } 880 881 $norm_provider = AIGUDE_Translation_Service::normalize_translation_provider($provider); 882 $norm_placeholder_lang = (strtolower($placeholder_lang) === 'auto') 883 ? 'auto' 884 : AIGUDE_Translation_Service::normalize_provider_lang_code_generic($placeholder_lang, $norm_provider, 'source'); 885 if ($norm_placeholder_lang === '') { 886 $norm_placeholder_lang = 'auto'; 887 } 888 889 foreach ($tokens_map as $key => $value) { 890 if (!isset($used[$key])) { 891 continue; 892 } 893 894 if (in_array($key, ['current_alt', 'current-alt', 'caption', 'description'], true)) { 895 $str = trim((string) $value); 896 if ($str === '') { 897 continue; 898 } 899 $translatable = $token_mods[$key]['translatable'] ?? true; 900 $spec_tokens[$key] = [ 901 'value' => $str, 902 'lang' => $norm_placeholder_lang ?: 'auto', 903 'translatable' => (bool) $translatable, 904 ]; 905 } elseif (in_array($key, ['title'], true)) { 906 $str = trim((string) $value); 907 if ($str === '') { 908 continue; 909 } 910 $translatable = $token_mods[$key]['translatable'] ?? false; 911 $spec_tokens[$key] = [ 912 'value' => $str, 913 'lang' => $norm_placeholder_lang ?: 'auto', 914 'translatable' => (bool) $translatable, 915 ]; 916 } elseif (in_array($key, ['filename', 'filename_no_ext'], true)) { 917 $str = (string) $value; 918 if ($str === '') { 919 continue; 920 } 921 $translatable = $token_mods[$key]['translatable'] ?? false; 922 $spec_tokens[$key] = [ 923 'value' => $str, 924 'lang' => $norm_placeholder_lang ?: 'auto', 925 'translatable' => (bool) $translatable, 926 ]; 927 } elseif (in_array($key, ['width', 'height'], true)) { 928 $num = (int) $value; 929 if ($num <= 0) { 930 continue; 931 } 932 $spec_tokens[$key] = [ 933 'value' => $num, 934 'lang' => 'auto', 935 'translatable' => false, 936 ]; 937 } 938 } 939 940 return $spec_tokens; 941 } 602 942 } -
aigude-tools/trunk/includes/grid-view.php
r3415292 r3480099 175 175 176 176 <div id="bulk-progress" class="progress-container"><div id="bulk-progress-bar" class="progress-bar"></div></div> 177 <div id="bulk-progress-status" class="progress-status" style="display:none;"></div> 177 178 <div id="media-selected-grid"></div> 178 179 </section> -
aigude-tools/trunk/includes/list-view.php
r3415292 r3480099 311 311 312 312 <div id="bulk-progress" class="progress-container"> 313 <div id="bulk-progress-bar" class="progress-bar"></div> 314 </div> 313 <div id="bulk-progress-bar" class="progress-bar" role="progressbar"></div> 314 </div> 315 <div id="bulk-progress-status" class="progress-status" style="display:none;"></div> 315 316 </section> 316 317 -
aigude-tools/trunk/languages/aigude-tools-de_DE.po
r3415292 r3480099 5 5 "Project-Id-Version: Plugins - AiGude Tools - Stable (latest release)\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/aigude-tools\n" 7 "POT-Creation-Date: 2025-12-0 3T11:35:29+00:00\n"8 "PO-Revision-Date: 2025-1 0-14 08:50:49+0000\n"7 "POT-Creation-Date: 2025-12-09T11:45:59+00:00\n" 8 "PO-Revision-Date: 2025-12-08 21:27:38+0000\n" 9 9 "Language: de\n" 10 10 "MIME-Version: 1.0\n" … … 14 14 "X-Generator: GlotPress/4.0.3\n" 15 15 16 #: assets/js/grid-actions.js:106 assets/js/list-actions.js:230 17 msgid "Close" 18 msgstr "Schließen" 19 20 #: assets/js/grid-actions.js:104 assets/js/list-actions.js:228 21 msgid "Edit in Prompts" 22 msgstr "In Prompts bearbeiten" 23 24 #: includes/grid-view.php:160 includes/list-view.php:284 25 msgid "View prompt details" 26 msgstr "Prompt-Details anzeigen" 27 28 #: includes/grid-view.php:99 includes/list-view.php:99 29 msgid "(No provider)" 30 msgstr "(Kein Anbieter)" 31 32 #: includes/admin-prompts.php:516 33 msgid "Restore defaults" 34 msgstr "Standards wiederherstellen" 35 36 #: includes/admin-prompts.php:156 37 msgid "The default prompt cannot be deleted." 38 msgstr "Der Standard-Prompt kann nicht gelöscht werden." 39 40 #: includes/admin-prompts.php:135 41 msgid "Default prompt restored." 42 msgstr "Standard-Prompt wiederhergestellt." 43 44 #: includes/admin-prompts.php:94 45 msgid "Default prompt added." 46 msgstr "Standard-Prompt hinzugefügt." 47 48 #: aigude-tools.php:210 49 msgid "Default Prompt" 50 msgstr "Standard-Prompt" 51 52 #: assets/js/grid-actions.js:26 assets/js/list-actions.js:34 53 msgid "Language locked by selected prompt." 54 msgstr "Sprache durch ausgewählten Prompt gesperrt." 55 56 #: includes/admin-settings.php:824 includes/admin-settings.php:827 57 msgid "Could not save language." 58 msgstr "Sprache konnte nicht gespeichert werden." 59 60 #: includes/admin-settings.php:820 61 msgid "Language saved." 62 msgstr "Sprache gespeichert." 63 64 #: includes/admin-settings.php:782 65 msgid "Saving..." 66 msgstr "Wird gespeichert …" 67 68 #: includes/admin-settings.php:745 69 msgid "No translation provider metadata available. Add a server with a valid API key to load providers." 70 msgstr "Keine Metadaten zu Übersetzungsanbietern verfügbar. Fügen Sie einen Server mit gültigem API-Schlüssel hinzu, um Anbieter zu laden." 71 72 #: includes/admin-settings.php:736 73 msgid "Your site language is unavailable; \"System\" will fall back to the closest supported code." 74 msgstr "Ihre Website-Sprache ist nicht verfügbar; \"System\" fällt auf den nächsten unterstützten Code zurück." 75 76 #: includes/admin-settings.php:734 77 msgid "Switch to this provider to edit the default language." 78 msgstr "Zu diesem Anbieter wechseln, um die Standardsprache zu bearbeiten." 79 80 #: includes/admin-settings.php:698 81 msgid "Default alt text language" 82 msgstr "Standard-Alt-Text-Sprache" 83 84 #: includes/admin-settings.php:693 85 msgid "Click to view the full list" 86 msgstr "Klicken, um die vollständige Liste anzuzeigen" 87 88 #: includes/admin-settings.php:691 89 msgid "Language details" 90 msgstr "Sprachdetails" 91 92 #. translators: %d = number of languages supported by the provider. 93 #: includes/admin-settings.php:671 94 msgid "%d supported languages" 95 msgstr "%d unterstützte Sprachen" 96 97 #. translators: %s = site language label, e.g. "English (US)". 98 #: includes/admin-settings.php:660 99 msgid "%s is not available for this provider." 100 msgstr "%s ist für diesen Anbieter nicht verfügbar." 101 102 #. translators: %s = site language label, e.g. "English (US)". 103 #: includes/admin-settings.php:652 104 msgid "%s is supported for this site." 105 msgstr "%s wird für diese Website unterstützt." 106 107 #: includes/admin-settings.php:642 108 msgid "Active provider" 109 msgstr "Aktiver Anbieter" 110 111 #: includes/admin-settings.php:532 112 msgid "Translation provider" 113 msgstr "Übersetzungsanbieter" 114 115 #: includes/admin-settings.php:522 116 msgid "Select the translation provider for AI-generated alt texts. The provider determines the available target languages." 117 msgstr "Wählen Sie den Übersetzungsanbieter für KI-generierte Alternativtexte. Der Anbieter bestimmt die verfügbaren Zielsprachen." 118 119 #. translators: %s = site language label, e.g. "English (US)". 120 #: includes/admin-settings.php:515 121 msgid "Following site language (%s)." 122 msgstr "Entspricht der Website-Sprache (%s)." 123 124 #. translators: %s = human-readable language label that is no longer supported. 125 #: includes/admin-settings.php:513 126 msgid "Current default (%s) is unavailable. Pick another language." 127 msgstr "Der aktuelle Standard (%s) ist nicht verfügbar. Wählen Sie eine andere Sprache." 128 129 #. translators: %s = human-readable language label, e.g. "German (Germany)". 130 #: includes/admin-settings.php:511 131 msgid "Current default: %s" 132 msgstr "Aktueller Standard: %s" 133 134 #: includes/admin-settings.php:384 135 msgid "Add Connection" 136 msgstr "Verbindung hinzufügen" 137 138 #: includes/admin-settings.php:311 139 msgid "Edit Connection" 140 msgstr "Verbindung bearbeiten" 141 142 #: includes/admin-settings.php:284 143 msgid "API Connections" 144 msgstr "API-Verbindungen" 145 146 #: includes/admin-settings.php:186 147 msgid "Translation provider settings are no longer used." 148 msgstr "Einstellungen für Übersetzungsanbieter werden nicht mehr verwendet." 149 150 #: includes/admin-prompts.php:748 151 msgid "When set, the List/Grid views lock the Alt Text Language selector to this provider/language." 152 msgstr "Wenn aktiviert, sperren Listen-/Rasteransichten den Alt-Text-Sprachwähler auf diesen Anbieter/diese Sprache." 153 154 #: includes/admin-prompts.php:746 155 msgid "Pick a provider and language you always want the generated alt text to use, overriding the default selection in List/Grid views." 156 msgstr "Wählen Sie einen Anbieter und eine Sprache, die immer für den generierten Alt-Text verwendet werden sollen und die Auswahl in Liste/Raster überschreiben." 157 158 #: includes/admin-prompts.php:694 159 msgid "No languages available" 160 msgstr "Keine Sprachen verfügbar" 161 162 #: includes/admin-prompts.php:693 includes/admin-prompts.php:738 163 msgid "Select a provider to choose a language" 164 msgstr "Wählen Sie einen Anbieter, um eine Sprache auszuwählen" 165 166 #: includes/admin-prompts.php:688 167 msgid "Language" 168 msgstr "Sprache" 169 170 #: includes/admin-prompts.php:682 includes/admin-settings.php:549 171 msgid "Show only EU-based translation providers" 172 msgstr "Nur EU-basierte Übersetzungsanbieter anzeigen" 173 174 #: includes/admin-prompts.php:663 175 msgid "Provider" 176 msgstr "Anbieter" 177 178 #: includes/admin-prompts.php:658 179 msgid "Target Alt Text language" 180 msgstr "Zielsprache für Alt-Text" 181 182 #: includes/admin-prompts.php:598 183 msgid "Available placeholders" 184 msgstr "Verfügbare Platzhalter" 185 186 #: includes/admin-prompts.php:595 187 msgid "You can write the prompt in any language supported by the provider you select for the Target Alt Text." 188 msgstr "Sie können den Prompt in jeder Sprache verfassen, die vom Anbieter der Ziel-Alt-Text-Sprache unterstützt wird." 189 190 #: includes/admin-prompts.php:580 191 msgid "Make this the default prompt" 192 msgstr "Diesen Prompt als Standard festlegen" 193 194 #: includes/admin-prompts.php:513 195 msgid "Duplicate" 196 msgstr "Duplizieren" 197 198 #: includes/admin-prompts.php:499 199 msgid "Not set" 200 msgstr "Nicht festgelegt" 201 202 #: includes/admin-prompts.php:450 203 msgid "Target language" 204 msgstr "Zielsprache" 205 206 #: includes/admin-prompts.php:440 includes/admin-settings.php:375 207 msgid "Add New" 208 msgstr "Neu hinzufügen" 209 210 #: includes/admin-prompts.php:343 211 msgid "Please select a target language." 212 msgstr "Bitte eine Zielsprache auswählen." 213 214 #: includes/admin-prompts.php:340 215 msgid "Please select a translation provider." 216 msgstr "Bitte einen Übersetzungsanbieter auswählen." 217 218 #: includes/admin-prompts.php:337 219 msgid "Please enter a prompt." 220 msgstr "Bitte einen Prompt eingeben." 221 222 #: includes/admin-prompts.php:334 223 msgid "Please enter a title." 224 msgstr "Bitte einen Titel eingeben." 225 226 #: includes/admin-prompts.php:117 includes/admin-prompts.php:146 227 #: includes/admin-prompts.php:170 includes/admin-prompts.php:180 228 #: includes/admin-prompts.php:371 229 msgid "Prompt not found." 230 msgstr "Prompt nicht gefunden." 231 232 #: includes/admin-prompts.php:115 233 msgid "Prompt duplicated." 234 msgstr "Prompt dupliziert." 235 236 #: includes/admin-prompts.php:755 237 msgid "Save Prompt" 238 msgstr "Prompt speichern" 239 240 #: includes/admin-prompts.php:613 241 msgid "Examples:" 242 msgstr "Beispiele:" 243 244 #: includes/admin-prompts.php:609 245 msgid "Modifiers: |q (force quotes), |raw (no quotes), |trim, |lower, |upper, |ucfirst, |translatable (force translate), |untranslatable (no translate)." 246 msgstr "Modifikatoren: |q (Anführungszeichen erzwingen), |raw (ohne Anführungszeichen), |trim, |lower, |upper, |ucfirst, |translatable (Übersetzung erzwingen), |untranslatable (nicht übersetzen)." 247 248 #: includes/admin-prompts.php:553 249 msgid "Add New Prompt" 250 msgstr "Neuen Prompt hinzufügen" 251 252 #: includes/admin-prompts.php:553 253 msgid "Edit Prompt" 254 msgstr "Prompt bearbeiten" 255 256 #: includes/admin-prompts.php:530 257 msgid "No prompts added." 258 msgstr "Keine Prompts hinzugefügt." 259 260 #: includes/admin-prompts.php:375 261 msgid "Prompt saved." 262 msgstr "Prompt gespeichert." 263 264 #: includes/admin-prompts.php:369 265 msgid "Prompt updated." 266 msgstr "Prompt aktualisiert." 267 268 #: includes/admin-prompts.php:167 269 msgid "Prompt deleted." 270 msgstr "Prompt gelöscht." 271 272 #: includes/admin-prompts.php:144 273 msgid "Default prompt updated." 274 msgstr "Standard‑Prompt aktualisiert." 275 276 #: includes/admin-prompts.php:434 includes/class-aigude-admin-ui.php:155 277 #: includes/class-aigude-admin-ui.php:156 278 msgid "Prompts" 279 msgstr "Prompts" 280 281 #: includes/admin-server.php:177 includes/admin-settings.php:194 282 #: includes/class-aigude-admin-ui.php:146 283 #: includes/class-aigude-admin-ui.php:147 284 msgid "Settings" 285 msgstr "Einstellungen" 286 287 #: includes/admin-prompts.php:725 includes/admin-prompts.php:785 288 #: includes/admin-settings.php:724 includes/admin-templates.php:249 289 #: includes/admin-templates.php:278 290 msgid "All languages" 291 msgstr "Alle Sprachen" 292 293 #: includes/admin-prompts.php:714 includes/admin-prompts.php:784 294 #: includes/admin-settings.php:716 includes/admin-settings.php:752 295 #: includes/admin-templates.php:241 includes/admin-templates.php:271 296 msgid "Recent" 297 msgstr "Zuletzt verwendet" 298 299 #: includes/admin-server.php:183 includes/admin-settings.php:295 300 msgid "Get API key at AiGude.io" 301 msgstr "API-Schlüssel bei AiGude.io holen" 302 303 #: includes/admin-server.php:181 includes/admin-settings.php:293 304 msgid "Don't have an API key?" 305 msgstr "Noch keinen API-Schlüssel?" 306 307 #: assets/js/server-actions.js:11 308 msgid "Copy failed" 309 msgstr "Kopieren fehlgeschlagen" 310 311 #: assets/js/server-actions.js:10 312 msgid "Error during retrieval" 313 msgstr "Fehler beim Abrufen" 314 315 #: assets/js/server-actions.js:9 316 msgid "Hide" 317 msgstr "Ausblenden" 318 319 #: assets/js/list-actions.js:28 320 msgid "No AI text generated yet." 321 msgstr "Noch kein KI-Text generiert." 322 323 #: assets/js/list-actions.js:26 324 msgid "Please select at least one image." 325 msgstr "Bitte wähle mindestens ein Bild aus." 326 327 #: assets/js/list-actions.js:25 328 msgid "Error saving alt text" 329 msgstr "Fehler beim Speichern des Alt-Texts" 330 331 #: assets/js/list-actions.js:24 332 msgid "Error generating alt text" 333 msgstr "Fehler beim Generieren des Alt-Texts" 334 335 #: assets/js/list-actions.js:23 336 msgid "Alt-Text saved" 337 msgstr "Alt-Text gespeichert" 338 339 #: assets/js/list-actions.js:22 340 msgid "Alt-Text generated" 341 msgstr "Alt-Text generiert" 342 343 #. translators: %d = number of credits used for the current image/batch 344 #: assets/js/list-actions.js:16 345 msgid "Credits used: %d" 346 msgstr "Verbrauchte Credits: %d" 347 348 #. translators: %d = total number of credits used across the whole operation 349 #: assets/js/grid-actions.js:25 assets/js/list-actions.js:13 350 msgid "Total credits used: %d" 351 msgstr "Insgesamt verwendete Credits: %d" 352 353 #: assets/js/grid-actions.js:23 assets/js/list-actions.js:33 354 msgid "credits" 355 msgstr "Credits" 356 357 #: assets/js/grid-actions.js:22 assets/js/list-actions.js:32 358 msgid "Security check failed. Please reload the page." 359 msgstr "Sicherheitsprüfung fehlgeschlagen. Bitte lade die Seite neu." 360 361 #: assets/js/grid-actions.js:20 assets/js/list-actions.js:27 362 msgid "This will overwrite existing alt texts. Are you sure?" 363 msgstr "Dadurch werden vorhandene Alt-Texte überschrieben. Bist du sicher?" 364 365 #: assets/js/grid-actions.js:19 assets/js/list-actions.js:20 366 msgid "Done" 367 msgstr "Fertig" 368 369 #: assets/js/grid-actions.js:17 370 msgid "Skip images that already have alt text" 371 msgstr "Bilder mit vorhandenem Alternativtext überspringen" 372 373 #: assets/js/grid-actions.js:15 374 msgid "Selected" 375 msgstr "Ausgewählt" 376 377 #: assets/js/grid-actions.js:14 378 msgid "Loading…" 379 msgstr "Laden …" 380 381 #. translators: Label on a button that selects all results across all pages in 382 #. the media grid 383 #: assets/js/grid-actions.js:13 384 msgid "Select all (all results)" 385 msgstr "Alle auswählen (alle Treffer)" 386 387 #. translators: Label on a button that selects all currently visible items in 388 #. the media grid 389 #: assets/js/grid-actions.js:11 390 msgid "Select all (visible)" 391 msgstr "Alle auswählen (sichtbar)" 392 393 #: assets/js/grid-actions.js:9 394 msgid "Select images" 395 msgstr "Bilder auswählen" 396 397 #: includes/list-view.php:419 398 msgid "Alternative Text" 399 msgstr "Alternativtext" 400 401 #: includes/list-view.php:409 402 msgid "Continue with the current alternative text" 403 msgstr "Mit dem aktuellen Alternativtext fortfahren" 404 405 #: includes/list-view.php:405 406 msgid "Credits" 407 msgstr "Credits" 408 409 #: includes/list-view.php:401 410 msgid "Generating" 411 msgstr "Wird generiert" 412 413 #: includes/list-view.php:400 includes/list-view.php:402 414 msgid "Generate" 415 msgstr "Generieren" 416 417 #: includes/list-view.php:394 418 msgid "Custom prompt…" 419 msgstr "Benutzerdefinierter Prompt …" 420 421 #. translators: %s: the file title (post_title) of the image. 422 #: includes/list-view.php:342 423 msgid "Generate File Metadata \"%s\"" 424 msgstr "Dateimetadaten für „%s“ generieren" 425 426 #: includes/list-view.php:333 427 msgid "Open in Media Library" 428 msgstr "In der Mediathek öffnen" 429 430 #. translators: %s: number of images on the current page. 431 #: includes/list-view.php:301 432 msgid "Generate and save alternative text for %s images" 433 msgstr "Alternativtexte für %s Bilder generieren und speichern" 434 435 #: includes/list-view.php:295 assets/js/grid-actions.js:18 436 #: assets/js/list-actions.js:19 437 msgid "Generating..." 438 msgstr "Wird generiert …" 439 440 #. translators: %s: number of images (the %s is replaced dynamically in JS for 441 #. the data attribute). 442 #: includes/list-view.php:290 443 msgid "Generate and save alternative text for %s Images" 444 msgstr "Alternativtexte für %s Bilder generieren und speichern" 445 446 #. translators: %s = site language label, e.g. "English (US)". 447 #. translators: %s = site language label (e.g., "English (US)"). 448 #: includes/admin-prompts.php:707 includes/admin-prompts.php:783 449 #: includes/admin-settings.php:711 450 msgid "System (%s)" 451 msgstr "System (%s)" 452 453 #: includes/list-view.php:240 454 msgid "images." 455 msgstr "Bilder." 456 457 #: includes/list-view.php:238 458 msgid "Will process" 459 msgstr "Verarbeitet" 460 461 #: includes/list-view.php:234 462 msgid "Select all (across pages)" 463 msgstr "Alle auswählen (über alle Seiten)" 464 465 #: includes/list-view.php:230 466 msgid "Select all (this page)" 467 msgstr "Alle auswählen (diese Seite)" 468 469 #: includes/list-view.php:226 470 msgid "Skip existing" 471 msgstr "Vorhandene überspringen" 472 473 #: includes/list-view.php:217 474 msgid "Per Page" 475 msgstr "Pro Seite" 476 477 #: includes/list-view.php:196 478 msgid "Search" 479 msgstr "Suchen" 480 481 #: includes/list-view.php:193 482 msgid "Search filename, title or alt-text…" 483 msgstr "Dateiname, Titel, Alt-Text suchen" 484 485 #: includes/list-view.php:186 486 msgid "Search images" 487 msgstr "Bilder suchen" 488 489 #: includes/list-view.php:167 490 msgid "Alt Text Generator - List view" 491 msgstr "Alt-Text-Generator – Listenansicht" 492 493 #: includes/grid-view.php:169 494 msgid "Generate alt text for selected" 495 msgstr "Alternativtext für Auswahl generieren" 496 497 #: includes/grid-view.php:166 498 msgid "Select images from Media Library" 499 msgstr "Bilder aus der Mediathek auswählen" 500 501 #: includes/grid-view.php:112 502 msgid "Alt Text Generator - Grid view" 503 msgstr "Alt-Text-Generator – Rasteransicht" 504 505 #: aigude-tools.php:209 506 msgid "Describe the essential content of the picture briefly and concisely. Limit the text to a very short sentence" 507 msgstr "Beschreibe den wesentlichen Bildinhalt kurz und prägnant. Begrenze den Text auf einen sehr kurzen Satz." 508 509 #: includes/grid-view.php:6 includes/list-view.php:6 510 msgid "You do not have permission to access this page." 511 msgstr "Du hast keine Berechtigung, auf diese Seite zuzugreifen." 512 513 #: includes/admin-templates.php:318 514 msgid "Save Template" 515 msgstr "Vorlage speichern" 516 517 #: includes/admin-prompts.php:755 includes/admin-templates.php:318 518 msgid "Update" 519 msgstr "Aktualisieren" 520 521 #: includes/admin-templates.php:309 522 msgid "Describe car-photo-123 (1920x1080)" 523 msgstr "Beschreibe car-photo-123 (1920x1080)" 524 525 #. translators: 1: %filename_no_ext|raw% token, 2: %width% token, 3: %height% 526 #. token. Keep the tokens exactly as shown (including % signs). 527 #: includes/admin-templates.php:300 528 msgid "Describe %1$s (%2$ sx%3$s)" 529 msgstr "Beschreibe %1$s (%2$s×%3$s)" 530 531 #: includes/admin-templates.php:296 532 msgid "Example:" 533 msgstr "Beispiel:" 534 535 #: includes/admin-prompts.php:610 includes/admin-templates.php:295 536 msgid "Unknown placeholders are left unchanged. Empty values become blank." 537 msgstr "Unbekannte Platzhalter bleiben unverändert. Leere Werte werden zu einem leeren Text." 538 539 #: includes/admin-templates.php:294 540 msgid "Modifiers: add \"|q\" to force quotes, or \"|raw\" to remove quotes." 541 msgstr "Modifikatoren: „|q“ erzwingt Anführungszeichen, „|raw“ entfernt sie." 542 543 #. translators: %width% and %height% are numeric image dimensions; numeric 544 #. placeholders are not quoted. 545 #: includes/admin-prompts.php:608 includes/admin-templates.php:293 546 msgid "Numeric placeholders like %width% and %height% are not quoted (e.g. → 1920)." 547 msgstr "Numerische Platzhalter wie %width% und %height% werden nicht in Anführungszeichen gesetzt (z. B. → 1920)." 548 549 #. translators: %filename_no_ext% is the filename without extension. Example 550 #. shows automatic quoting of text placeholders. 551 #: includes/admin-prompts.php:606 includes/admin-templates.php:291 552 msgid "Text placeholders are automatically quoted (e.g. %filename_no_ext% → \"car-photo-123\")." 553 msgstr "Textplatzhalter werden automatisch in Anführungszeichen gesetzt (z. B. %filename_no_ext% → „car-photo-123“)." 554 555 #: includes/admin-templates.php:286 556 msgid "Available placeholders:" 557 msgstr "Verfügbare Platzhalter:" 558 559 #: includes/admin-templates.php:260 560 msgid "Placeholders Language" 561 msgstr "Sprache der Platzhalter" 562 563 #: includes/admin-templates.php:235 includes/admin-templates.php:266 564 msgid "Auto-detect" 565 msgstr "Automatisch erkennen" 566 567 #: includes/admin-templates.php:229 568 msgid "Prompt Language" 569 msgstr "Prompt-Sprache" 570 571 #: includes/admin-templates.php:211 572 msgid "Make this the default template" 573 msgstr "Diese Vorlage als Standard festlegen" 574 575 #: includes/admin-templates.php:184 576 msgid "Prompts can be written in any language, but they work best when you define both the Prompt Language and the Placeholders Language." 577 msgstr "Prompts können in jeder Sprache geschrieben werden, funktionieren jedoch am besten, wenn sowohl die Prompt-Sprache als auch die Sprache der Platzhalter definiert sind." 578 579 #: includes/admin-templates.php:181 580 msgid "Add New Template" 581 msgstr "Neue Vorlage hinzufügen" 582 583 #: includes/admin-templates.php:181 584 msgid "Edit Template" 585 msgstr "Template bearbeiten" 586 587 #: includes/admin-templates.php:175 588 msgid "No templates added." 589 msgstr "Keine Vorlagen hinzugefügt." 590 591 #: includes/admin-prompts.php:521 includes/admin-templates.php:171 592 msgid "Really delete?" 593 msgstr "Wirklich löschen?" 594 595 #: includes/admin-prompts.php:449 includes/admin-prompts.php:591 596 #: includes/admin-templates.php:146 includes/admin-templates.php:222 597 #: includes/grid-view.php:121 includes/list-view.php:247 598 #: includes/list-view.php:356 assets/js/grid-actions.js:94 599 #: assets/js/list-actions.js:218 600 msgid "Prompt" 601 msgstr "Prompt" 602 603 #: includes/admin-prompts.php:448 includes/admin-prompts.php:586 604 #: includes/admin-templates.php:145 includes/admin-templates.php:217 605 msgid "Title" 606 msgstr "Titel" 607 608 #: includes/admin-templates.php:141 609 msgid "Existing Templates" 610 msgstr "Vorhandene Vorlagen" 611 612 #: includes/admin-templates.php:115 613 msgid "Template saved." 614 msgstr "Vorlage gespeichert." 615 616 #: includes/admin-templates.php:109 617 msgid "Template updated." 618 msgstr "Vorlage aktualisiert." 619 620 #: includes/admin-templates.php:58 621 msgid "Template deleted." 622 msgstr "Vorlage gelöscht." 623 624 #: includes/admin-templates.php:38 625 msgid "Default template updated." 626 msgstr "Standardvorlage aktualisiert." 627 628 #: includes/admin-prompts.php:8 includes/admin-templates.php:8 629 msgid "Insufficient permissions" 630 msgstr "Unzureichende Berechtigungen" 631 632 #: includes/admin-prompts.php:522 includes/admin-server.php:394 633 #: includes/admin-settings.php:490 includes/admin-templates.php:171 634 msgid "Delete" 635 msgstr "Löschen" 636 637 #: includes/admin-server.php:393 includes/admin-settings.php:489 638 msgid "Do you really want to delete this server?" 639 msgstr "Möchtest du diesen Server wirklich löschen?" 640 641 #: includes/admin-prompts.php:512 includes/admin-server.php:391 642 #: includes/admin-settings.php:487 includes/admin-templates.php:170 643 msgid "Edit" 644 msgstr "Bearbeiten" 645 646 #: includes/admin-prompts.php:506 includes/admin-server.php:377 647 #: includes/admin-settings.php:473 includes/admin-templates.php:166 648 msgid "Make default" 649 msgstr "Als Standard festlegen" 650 651 #: includes/admin-prompts.php:477 includes/admin-server.php:334 652 #: includes/admin-settings.php:431 includes/admin-templates.php:148 653 msgid "Actions" 654 msgstr "Aktionen" 655 656 #: includes/admin-server.php:333 includes/admin-settings.php:430 657 msgid "Remaining credits" 658 msgstr "Verbleibende Credits" 659 660 #: includes/admin-server.php:323 includes/admin-settings.php:421 661 msgid "No servers configured yet." 662 msgstr "Noch keine Server konfiguriert." 663 664 #: includes/admin-server.php:317 includes/admin-settings.php:415 665 msgid "Add" 666 msgstr "Hinzufügen" 667 668 #: includes/admin-server.php:270 669 msgid "Add New Server" 670 msgstr "Neuen Server hinzufügen" 671 672 #: includes/admin-prompts.php:757 includes/admin-server.php:263 673 #: includes/admin-server.php:318 includes/admin-settings.php:367 674 #: includes/admin-settings.php:416 includes/admin-templates.php:321 675 msgid "Cancel" 676 msgstr "Abbrechen" 677 678 #: includes/admin-server.php:262 includes/admin-settings.php:366 679 #: includes/list-view.php:422 680 msgid "Save" 681 msgstr "Speichern" 682 683 #: includes/admin-server.php:258 includes/admin-server.php:313 684 #: includes/admin-settings.php:362 includes/admin-settings.php:411 685 msgid "Make this the default server" 686 msgstr "Diesen Server als Standard festlegen" 687 688 #: includes/admin-prompts.php:476 includes/admin-prompts.php:504 689 #: includes/admin-prompts.php:571 includes/admin-server.php:257 690 #: includes/admin-server.php:312 includes/admin-server.php:332 691 #: includes/admin-server.php:374 includes/admin-settings.php:361 692 #: includes/admin-settings.php:410 includes/admin-settings.php:429 693 #: includes/admin-settings.php:470 includes/admin-templates.php:147 694 #: includes/admin-templates.php:164 includes/admin-templates.php:199 695 msgid "Default" 696 msgstr "Standard" 697 698 #: includes/admin-server.php:253 includes/admin-server.php:308 699 #: includes/admin-settings.php:357 includes/admin-settings.php:406 700 msgid "Activate" 701 msgstr "Aktivieren" 702 703 #: includes/admin-server.php:252 includes/admin-server.php:307 704 #: includes/admin-server.php:331 includes/admin-settings.php:356 705 #: includes/admin-settings.php:405 includes/admin-settings.php:428 706 msgid "Enabled" 707 msgstr "Aktiviert" 708 709 #: includes/admin-server.php:245 includes/admin-settings.php:349 710 msgid "Copy" 711 msgstr "Kopieren" 712 713 #: includes/admin-server.php:240 includes/admin-server.php:367 714 #: includes/admin-settings.php:344 includes/admin-settings.php:463 715 #: assets/js/server-actions.js:8 716 msgid "Show" 717 msgstr "Anzeigen" 718 719 #: includes/admin-server.php:224 includes/admin-server.php:302 720 #: includes/admin-server.php:330 includes/admin-settings.php:328 721 #: includes/admin-settings.php:400 includes/admin-settings.php:427 722 msgid "API Key" 723 msgstr "API-Schlüssel" 724 725 #: includes/admin-server.php:219 includes/admin-server.php:297 726 #: includes/admin-server.php:329 includes/admin-settings.php:323 727 #: includes/admin-settings.php:395 includes/admin-settings.php:426 728 msgid "Name" 729 msgstr "Name" 730 731 #: includes/admin-server.php:170 includes/admin-settings.php:179 732 msgid "Invalid index for delete." 733 msgstr "Ungültiger Index beim Löschen." 734 735 #: includes/admin-server.php:166 includes/admin-settings.php:175 736 msgid "Server deleted." 737 msgstr "Server gelöscht." 738 739 #: includes/admin-server.php:131 includes/admin-settings.php:140 740 msgid "New server added." 741 msgstr "Neuer Server hinzugefügt." 742 743 #: includes/admin-server.php:117 includes/admin-settings.php:126 744 msgid "Invalid index while editing." 745 msgstr "Ungültiger Index beim Bearbeiten." 746 747 #: includes/admin-server.php:115 includes/admin-settings.php:124 748 msgid "Server successfully updated." 749 msgstr "Server erfolgreich aktualisiert." 750 751 #: includes/admin-server.php:98 includes/admin-settings.php:107 752 msgid "Invalid server type." 753 msgstr "Ungültiger Servertyp." 754 755 #: includes/admin-server.php:95 includes/admin-settings.php:104 756 msgid "API Key cannot be empty." 757 msgstr "API-Schlüssel darf nicht leer sein." 758 759 #: includes/admin-server.php:92 includes/admin-settings.php:101 760 msgid "Name cannot be empty." 761 msgstr "Name darf nicht leer sein." 762 763 #: includes/admin-server.php:66 includes/admin-settings.php:75 764 msgid "Invalid index while setting default." 765 msgstr "Ungültiger Index beim Festlegen als Standard." 766 767 #: includes/admin-server.php:62 includes/admin-settings.php:71 768 msgid "Default server updated." 769 msgstr "Standardserver aktualisiert." 770 771 #: includes/admin-server.php:23 includes/admin-server.php:78 772 #: includes/admin-settings.php:23 includes/admin-settings.php:87 773 msgid "Insufficient permissions." 774 msgstr "Unzureichende Berechtigungen." 775 776 #: includes/class-aigude-media-controller.php:428 777 msgid "Temporary image file missing" 778 msgstr "Temporäre Bilddatei fehlt" 779 780 #: includes/admin-server.php:386 includes/admin-settings.php:482 781 #: includes/class-aigude-media-controller.php:357 782 msgid "Disabled" 783 msgstr "Deaktiviert" 784 785 #: includes/class-aigude-media-controller.php:352 786 #: includes/class-aigude-media-controller.php:354 assets/js/grid-actions.js:16 787 #: assets/js/list-actions.js:21 788 msgid "Error" 789 msgstr "Fehler" 790 791 #: includes/class-aigude-media-controller.php:194 792 msgid "Missing ID" 793 msgstr "Fehlende ID" 794 795 #: includes/class-aigude-media-controller.php:171 796 #: includes/class-aigude-media-controller.php:303 797 msgid "Invalid or incomplete API response." 798 msgstr "Ungültige oder unvollständige API-Antwort." 799 800 #. translators: %d = HTTP status code returned by the AiGude API. 801 #: includes/class-aigude-media-controller.php:164 802 #: includes/class-aigude-media-controller.php:295 803 msgid "API returned HTTP %d" 804 msgstr "API antwortete mit HTTP %d" 805 806 #: includes/class-aigude-media-controller.php:156 807 #: includes/class-aigude-media-controller.php:287 assets/js/grid-actions.js:21 808 #: assets/js/list-actions.js:31 809 msgid "Invalid or unauthorized API key." 810 msgstr "Ungültiger oder nicht autorisierter API-Schlüssel." 811 812 #: includes/class-aigude-media-controller.php:128 813 msgid "File not found." 814 msgstr "Datei nicht gefunden." 815 816 #: includes/class-aigude-media-controller.php:113 817 #: includes/class-aigude-media-controller.php:232 818 msgid "API key missing!" 819 msgstr "API-Schlüssel fehlt!" 820 821 #: includes/class-aigude-media-controller.php:108 822 #: includes/class-aigude-media-controller.php:227 823 msgid "Missing parameters." 824 msgstr "Fehlende Parameter." 825 826 #: includes/class-aigude-media-controller.php:40 827 msgid "Invalid request" 828 msgstr "Ungültige Anfrage" 829 830 #: includes/class-aigude-admin-ui.php:169 831 msgid "List view" 832 msgstr "Listenansicht" 833 834 #: includes/admin-templates.php:139 835 msgid "Prompt Templates" 836 msgstr "Prompt-Vorlagen" 837 838 #: includes/admin-server.php:206 includes/admin-server.php:286 839 #: includes/admin-server.php:328 840 msgid "Server" 841 msgstr "Server" 842 843 #: includes/class-aigude-admin-ui.php:138 844 msgid "Grid view" 845 msgstr "Rasteransicht" 846 847 #: includes/class-aigude-admin-ui.php:137 848 msgid "Grid view (Media Modal)" 849 msgstr "Rasteransicht (Mediathek)" 850 851 #. Author URI of the plugin 852 #: aigude-tools.php 853 msgid "https://pagemachine.de" 854 msgstr "https://pagemachine.de" 855 856 #. Author of the plugin 857 #: aigude-tools.php 858 msgid "Pagemachine AG" 859 msgstr "Pagemachine AG" 860 861 #. Description of the plugin 862 #: aigude-tools.php 863 msgid "Generate and manage image alt text with AI — supports bulk actions, custom multilingual prompts, and full Media Library integration." 864 msgstr "Automatisches Erstellen, Bearbeiten und Übersetzen von Bild-Alt-Texten mit KI. Enthält Massenverarbeitung, benutzerdefinierte Prompts in jeder Sprache und vollständige Integration in die Mediathek." 865 866 #. Plugin URI of the plugin 867 #: aigude-tools.php 868 msgid "https://wordpress.org/plugins/aigude-tools/" 869 msgstr "https://wordpress.org/plugins/aigude-tools/" 870 16 871 #. Plugin Name of the plugin 17 872 #: aigude-tools.php includes/class-aigude-admin-ui.php:126 … … 19 874 msgid "AiGude Tools" 20 875 msgstr "AiGude Tools" 21 22 #. Plugin URI of the plugin23 #: aigude-tools.php24 msgid "https://wordpress.org/plugins/aigude-tools/"25 msgstr "https://wordpress.org/plugins/aigude-tools/"26 27 #. Description of the plugin28 #: aigude-tools.php29 msgid ""30 "Generate and manage image alt text with AI — supports bulk actions, custom "31 "multilingual prompts, and full Media Library integration."32 msgstr ""33 "Automatisches Erstellen, Bearbeiten und Übersetzen von Bild-Alt-Texten mit "34 "KI. Enthält Massenverarbeitung, benutzerdefinierte Prompts in jeder Sprache "35 "und vollständige Integration in die Mediathek."36 37 #. Author of the plugin38 #: aigude-tools.php39 msgid "Pagemachine AG"40 msgstr "Pagemachine AG"41 42 #. Author URI of the plugin43 #: aigude-tools.php44 msgid "https://pagemachine.de"45 msgstr "https://pagemachine.de"46 47 #: includes/admin-prompts.php:848 msgid "Insufficient permissions"49 msgstr "Unzureichende Berechtigungen"50 51 #: includes/admin-prompts.php:8752 msgid "Prompt duplicated."53 msgstr "Prompt dupliziert."54 55 #: includes/admin-prompts.php:89 includes/admin-prompts.php:10156 #: includes/admin-prompts.php:121 includes/admin-prompts.php:13157 #: includes/admin-prompts.php:31758 msgid "Prompt not found."59 msgstr "Prompt nicht gefunden."60 61 #: includes/admin-prompts.php:9962 msgid "Default prompt updated."63 msgstr "Standard‑Prompt aktualisiert."64 65 #: includes/admin-prompts.php:11966 msgid "Prompt deleted."67 msgstr "Prompt gelöscht."68 69 #: includes/admin-prompts.php:28070 msgid "Please enter a title."71 msgstr "Bitte einen Titel eingeben."72 73 #: includes/admin-prompts.php:28374 msgid "Please enter a prompt."75 msgstr "Bitte einen Prompt eingeben."76 77 #: includes/admin-prompts.php:28678 msgid "Please select a translation provider."79 msgstr "Bitte einen Übersetzungsanbieter auswählen."80 81 #: includes/admin-prompts.php:28982 msgid "Please select a target language."83 msgstr "Bitte eine Zielsprache auswählen."84 85 #: includes/admin-prompts.php:31586 msgid "Prompt updated."87 msgstr "Prompt aktualisiert."88 89 #: includes/admin-prompts.php:32190 msgid "Prompt saved."91 msgstr "Prompt gespeichert."92 93 #: includes/admin-prompts.php:380 includes/class-aigude-admin-ui.php:15594 #: includes/class-aigude-admin-ui.php:15695 msgid "Prompts"96 msgstr "Prompts"97 98 #: includes/admin-prompts.php:386 includes/admin-settings.php:37599 msgid "Add New"100 msgstr "Neu hinzufügen"101 102 #: includes/admin-prompts.php:394 includes/admin-prompts.php:516103 msgid "Title"104 msgstr "Titel"105 106 #: includes/admin-prompts.php:395 includes/admin-prompts.php:521107 #: includes/grid-view.php:31 includes/list-view.php:167108 #: includes/list-view.php:279109 msgid "Prompt"110 msgstr "Prompt"111 112 #: includes/admin-prompts.php:396113 msgid "Target language"114 msgstr "Zielsprache"115 116 #: includes/admin-prompts.php:422 includes/admin-prompts.php:448117 #: includes/admin-prompts.php:501 includes/admin-settings.php:361118 #: includes/admin-settings.php:410 includes/admin-settings.php:429119 #: includes/admin-settings.php:470120 msgid "Default"121 msgstr "Standard"122 123 #: includes/admin-prompts.php:423 includes/admin-settings.php:431124 msgid "Actions"125 msgstr "Aktionen"126 127 #: includes/admin-prompts.php:443128 msgid "Not set"129 msgstr "Nicht festgelegt"130 131 #: includes/admin-prompts.php:450 includes/admin-settings.php:473132 msgid "Make default"133 msgstr "Als Standard festlegen"134 135 #: includes/admin-prompts.php:454 includes/admin-settings.php:487136 msgid "Edit"137 msgstr "Bearbeiten"138 139 #: includes/admin-prompts.php:455140 msgid "Duplicate"141 msgstr "Duplizieren"142 143 #: includes/admin-prompts.php:456144 msgid "Really delete?"145 msgstr "Wirklich löschen?"146 147 #: includes/admin-prompts.php:456 includes/admin-settings.php:490148 msgid "Delete"149 msgstr "Löschen"150 151 #: includes/admin-prompts.php:460152 msgid "No prompts added."153 msgstr "Keine Prompts hinzugefügt."154 155 #: includes/admin-prompts.php:483156 msgid "Edit Prompt"157 msgstr "Prompt bearbeiten"158 159 #: includes/admin-prompts.php:483160 msgid "Add New Prompt"161 msgstr "Neuen Prompt hinzufügen"162 163 #: includes/admin-prompts.php:510164 msgid "Make this the default prompt"165 msgstr "Diesen Prompt als Standard festlegen"166 167 #: includes/admin-prompts.php:525168 msgid ""169 "You can write the prompt in any language supported by the provider you "170 "select for the Target Alt Text."171 msgstr ""172 "Sie können den Prompt in jeder Sprache verfassen, die vom Anbieter der Ziel-"173 "Alt-Text-Sprache unterstützt wird."174 175 #: includes/admin-prompts.php:528176 msgid "Available placeholders"177 msgstr "Verfügbare Platzhalter"178 179 #. translators: %filename_no_ext% is the filename without extension. Example shows automatic quoting of text placeholders.180 #: includes/admin-prompts.php:536181 #, php-format182 msgid ""183 "Text placeholders are automatically quoted (e.g. %filename_no_ext% → \"car-"184 "photo-123\")."185 msgstr ""186 "Textplatzhalter werden automatisch in Anführungszeichen gesetzt (z. B. "187 "%filename_no_ext% → „car-photo-123“)."188 189 #. translators: %width% and %height% are numeric image dimensions; numeric placeholders are not quoted.190 #: includes/admin-prompts.php:538191 msgid ""192 "Numeric placeholders like %width% and %height% are not quoted (e.g. → 1920)."193 msgstr ""194 "Numerische Platzhalter wie %width% und %height% werden nicht in "195 "Anführungszeichen gesetzt (z. B. → 1920)."196 197 #: includes/admin-prompts.php:539198 msgid ""199 "Modifiers: |q (force quotes), |raw (no quotes), |trim, |lower, |upper, |"200 "ucfirst, |translatable (force translate), |untranslatable (no translate)."201 msgstr ""202 "Modifikatoren: |q (Anführungszeichen erzwingen), |raw (ohne "203 "Anführungszeichen), |trim, |lower, |upper, |ucfirst, |translatable "204 "(Übersetzung erzwingen), |untranslatable (nicht übersetzen)."205 206 #: includes/admin-prompts.php:540207 msgid "Unknown placeholders are left unchanged. Empty values become blank."208 msgstr ""209 "Unbekannte Platzhalter bleiben unverändert. Leere Werte werden zu einem "210 "leeren Text."211 212 #: includes/admin-prompts.php:543213 msgid "Examples:"214 msgstr "Beispiele:"215 216 #: includes/admin-prompts.php:588217 msgid "Target Alt Text language"218 msgstr "Zielsprache für Alt-Text"219 220 #: includes/admin-prompts.php:593221 msgid "Provider"222 msgstr "Anbieter"223 224 #: includes/admin-prompts.php:612 includes/admin-settings.php:549225 msgid "Show only EU-based translation providers"226 msgstr "Nur EU-basierte Übersetzungsanbieter anzeigen"227 228 #: includes/admin-prompts.php:618229 msgid "Language"230 msgstr "Sprache"231 232 #: includes/admin-prompts.php:623 includes/admin-prompts.php:668233 msgid "Select a provider to choose a language"234 msgstr "Wählen Sie einen Anbieter, um eine Sprache auszuwählen"235 236 #: includes/admin-prompts.php:624237 msgid "No languages available"238 msgstr "Keine Sprachen verfügbar"239 240 #. translators: %s = site language label, e.g. "English (US)".241 #. translators: %s = site language label (e.g., "English (US)").242 #: includes/admin-prompts.php:637 includes/admin-prompts.php:713243 #: includes/admin-settings.php:711244 #, php-format245 msgid "System (%s)"246 msgstr "System (%s)"247 248 #: includes/admin-prompts.php:644 includes/admin-prompts.php:714249 #: includes/admin-settings.php:716 includes/admin-settings.php:752250 msgid "Recent"251 msgstr "Zuletzt verwendet"252 253 #: includes/admin-prompts.php:655 includes/admin-prompts.php:715254 #: includes/admin-settings.php:724255 msgid "All languages"256 msgstr "Alle Sprachen"257 258 #: includes/admin-prompts.php:676259 msgid ""260 "Pick a provider and language you always want the generated alt text to use, "261 "overriding the default selection in List/Grid views."262 msgstr ""263 "Wählen Sie einen Anbieter und eine Sprache, die immer für den generierten "264 "Alt-Text verwendet werden sollen und die Auswahl in Liste/Raster "265 "überschreiben."266 267 #: includes/admin-prompts.php:678268 msgid ""269 "When set, the List/Grid views lock the Alt Text Language selector to this "270 "provider/language."271 msgstr ""272 "Wenn aktiviert, sperren Listen-/Rasteransichten den Alt-Text-Sprachwähler "273 "auf diesen Anbieter/diese Sprache."274 275 #: includes/admin-prompts.php:685276 msgid "Update"277 msgstr "Aktualisieren"278 279 #: includes/admin-prompts.php:685280 msgid "Save Prompt"281 msgstr "Prompt speichern"282 283 #: includes/admin-prompts.php:687 includes/admin-settings.php:367284 #: includes/admin-settings.php:416285 msgid "Cancel"286 msgstr "Abbrechen"287 288 #: includes/admin-settings.php:23 includes/admin-settings.php:87289 msgid "Insufficient permissions."290 msgstr "Unzureichende Berechtigungen."291 292 #: includes/admin-settings.php:71293 msgid "Default server updated."294 msgstr "Standardserver aktualisiert."295 296 #: includes/admin-settings.php:75297 msgid "Invalid index while setting default."298 msgstr "Ungültiger Index beim Festlegen als Standard."299 300 #: includes/admin-settings.php:101301 msgid "Name cannot be empty."302 msgstr "Name darf nicht leer sein."303 304 #: includes/admin-settings.php:104305 msgid "API Key cannot be empty."306 msgstr "API-Schlüssel darf nicht leer sein."307 308 #: includes/admin-settings.php:107309 msgid "Invalid server type."310 msgstr "Ungültiger Servertyp."311 312 #: includes/admin-settings.php:124313 msgid "Server successfully updated."314 msgstr "Server erfolgreich aktualisiert."315 316 #: includes/admin-settings.php:126317 msgid "Invalid index while editing."318 msgstr "Ungültiger Index beim Bearbeiten."319 320 #: includes/admin-settings.php:140321 msgid "New server added."322 msgstr "Neuer Server hinzugefügt."323 324 #: includes/admin-settings.php:175325 msgid "Server deleted."326 msgstr "Server gelöscht."327 328 #: includes/admin-settings.php:179329 msgid "Invalid index for delete."330 msgstr "Ungültiger Index beim Löschen."331 332 #: includes/admin-settings.php:186333 msgid "Translation provider settings are no longer used."334 msgstr "Einstellungen für Übersetzungsanbieter werden nicht mehr verwendet."335 336 #: includes/admin-settings.php:194 includes/class-aigude-admin-ui.php:146337 #: includes/class-aigude-admin-ui.php:147338 msgid "Settings"339 msgstr "Einstellungen"340 341 #: includes/admin-settings.php:284342 msgid "API Connections"343 msgstr "API-Verbindungen"344 345 #: includes/admin-settings.php:293346 msgid "Don't have an API key?"347 msgstr "Noch keinen API-Schlüssel?"348 349 #: includes/admin-settings.php:295350 msgid "Get API key at AiGude.io"351 msgstr "API-Schlüssel bei AiGude.io holen"352 353 #: includes/admin-settings.php:311354 msgid "Edit Connection"355 msgstr "Verbindung bearbeiten"356 357 #: includes/admin-settings.php:323 includes/admin-settings.php:395358 #: includes/admin-settings.php:426359 msgid "Name"360 msgstr "Name"361 362 #: includes/admin-settings.php:328 includes/admin-settings.php:400363 #: includes/admin-settings.php:427364 msgid "API Key"365 msgstr "API-Schlüssel"366 367 #: includes/admin-settings.php:344 includes/admin-settings.php:463368 #: assets/js/server-actions.js:8369 msgid "Show"370 msgstr "Anzeigen"371 372 #: includes/admin-settings.php:349373 msgid "Copy"374 msgstr "Kopieren"375 376 #: includes/admin-settings.php:356 includes/admin-settings.php:405377 #: includes/admin-settings.php:428378 msgid "Enabled"379 msgstr "Aktiviert"380 381 #: includes/admin-settings.php:357 includes/admin-settings.php:406382 msgid "Activate"383 msgstr "Aktivieren"384 385 #: includes/admin-settings.php:362 includes/admin-settings.php:411386 msgid "Make this the default server"387 msgstr "Diesen Server als Standard festlegen"388 389 #: includes/admin-settings.php:366 includes/list-view.php:340390 msgid "Save"391 msgstr "Speichern"392 393 #: includes/admin-settings.php:384394 msgid "Add Connection"395 msgstr "Verbindung hinzufügen"396 397 #: includes/admin-settings.php:415398 msgid "Add"399 msgstr "Hinzufügen"400 401 #: includes/admin-settings.php:421402 msgid "No servers configured yet."403 msgstr "Noch keine Server konfiguriert."404 405 #: includes/admin-settings.php:430406 msgid "Remaining credits"407 msgstr "Verbleibende Credits"408 409 #: includes/admin-settings.php:482410 #: includes/class-aigude-media-controller.php:357411 msgid "Disabled"412 msgstr "Deaktiviert"413 414 #: includes/admin-settings.php:489415 msgid "Do you really want to delete this server?"416 msgstr "Möchtest du diesen Server wirklich löschen?"417 418 #. translators: %s = human-readable language label, e.g. "German (Germany)".419 #: includes/admin-settings.php:511420 #, php-format421 msgid "Current default: %s"422 msgstr "Aktueller Standard: %s"423 424 #. translators: %s = human-readable language label that is no longer supported.425 #: includes/admin-settings.php:513426 #, php-format427 msgid "Current default (%s) is unavailable. Pick another language."428 msgstr ""429 "Der aktuelle Standard (%s) ist nicht verfügbar. Wählen Sie eine andere "430 "Sprache."431 432 #. translators: %s = site language label, e.g. "English (US)".433 #: includes/admin-settings.php:515434 #, php-format435 msgid "Following site language (%s)."436 msgstr "Entspricht der Website-Sprache (%s)."437 438 #: includes/admin-settings.php:522439 msgid ""440 "Select the translation provider for AI-generated alt texts. The provider "441 "determines the available target languages."442 msgstr ""443 "Wählen Sie den Übersetzungsanbieter für KI-generierte Alternativtexte. Der "444 "Anbieter bestimmt die verfügbaren Zielsprachen."445 446 #: includes/admin-settings.php:532447 msgid "Translation provider"448 msgstr "Übersetzungsanbieter"449 450 #: includes/admin-settings.php:642451 msgid "Active provider"452 msgstr "Aktiver Anbieter"453 454 #. translators: %s = site language label, e.g. "English (US)".455 #: includes/admin-settings.php:652456 #, php-format457 msgid "%s is supported for this site."458 msgstr "%s wird für diese Website unterstützt."459 460 #. translators: %s = site language label, e.g. "English (US)".461 #: includes/admin-settings.php:660462 #, php-format463 msgid "%s is not available for this provider."464 msgstr "%s ist für diesen Anbieter nicht verfügbar."465 466 #. translators: %d = number of languages supported by the provider.467 #: includes/admin-settings.php:671468 #, php-format469 msgid "%d supported languages"470 msgstr "%d unterstützte Sprachen"471 472 #: includes/admin-settings.php:691473 msgid "Language details"474 msgstr "Sprachdetails"475 476 #: includes/admin-settings.php:693477 msgid "Click to view the full list"478 msgstr "Klicken, um die vollständige Liste anzuzeigen"479 480 #: includes/admin-settings.php:698481 msgid "Default alt text language"482 msgstr "Standard-Alt-Text-Sprache"483 484 #: includes/admin-settings.php:734485 msgid "Switch to this provider to edit the default language."486 msgstr "Zu diesem Anbieter wechseln, um die Standardsprache zu bearbeiten."487 488 #: includes/admin-settings.php:736489 msgid ""490 "Your site language is unavailable; \"System\" will fall back to the closest "491 "supported code."492 msgstr ""493 "Ihre Website-Sprache ist nicht verfügbar; \"System\" fällt auf den nächsten "494 "unterstützten Code zurück."495 496 #: includes/admin-settings.php:745497 msgid ""498 "No translation provider metadata available. Add a server with a valid API "499 "key to load providers."500 msgstr ""501 "Keine Metadaten zu Übersetzungsanbietern verfügbar. Fügen Sie einen Server "502 "mit gültigem API-Schlüssel hinzu, um Anbieter zu laden."503 504 #: includes/admin-settings.php:782505 msgid "Saving..."506 msgstr "Speichern …"507 508 #: includes/admin-settings.php:820509 msgid "Language saved."510 msgstr "Sprache gespeichert."511 512 #: includes/admin-settings.php:824 includes/admin-settings.php:827513 msgid "Could not save language."514 msgstr "Sprache konnte nicht gespeichert werden."515 516 #: includes/class-aigude-admin-ui.php:137517 msgid "Grid view (Media Modal)"518 msgstr "Rasteransicht (Mediathek)"519 520 #: includes/class-aigude-admin-ui.php:138521 msgid "Grid view"522 msgstr "Rasteransicht"523 524 #: includes/class-aigude-admin-ui.php:169525 msgid "List view"526 msgstr "Listenansicht"527 528 #: includes/class-aigude-media-controller.php:40529 msgid "Invalid request"530 msgstr "Ungültige Anfrage"531 532 #: includes/class-aigude-media-controller.php:108533 #: includes/class-aigude-media-controller.php:227534 msgid "Missing parameters."535 msgstr "Fehlende Parameter."536 537 #: includes/class-aigude-media-controller.php:113538 #: includes/class-aigude-media-controller.php:232539 msgid "API key missing!"540 msgstr "API-Schlüssel fehlt!"541 542 #: includes/class-aigude-media-controller.php:128543 msgid "File not found."544 msgstr "Datei nicht gefunden."545 546 #: includes/class-aigude-media-controller.php:156547 #: includes/class-aigude-media-controller.php:287 assets/js/grid-actions.js:21548 #: assets/js/list-actions.js:31549 msgid "Invalid or unauthorized API key."550 msgstr "Ungültiger oder nicht autorisierter API-Schlüssel."551 552 #. translators: %d = HTTP status code returned by the AiGude API.553 #: includes/class-aigude-media-controller.php:164554 #: includes/class-aigude-media-controller.php:295555 #, php-format556 msgid "API returned HTTP %d"557 msgstr "API antwortete mit HTTP %d"558 559 #: includes/class-aigude-media-controller.php:171560 #: includes/class-aigude-media-controller.php:303561 msgid "Invalid or incomplete API response."562 msgstr "Ungültige oder unvollständige API-Antwort."563 564 #: includes/class-aigude-media-controller.php:194565 msgid "Missing ID"566 msgstr "Fehlende ID"567 568 #: includes/class-aigude-media-controller.php:352569 #: includes/class-aigude-media-controller.php:354 assets/js/grid-actions.js:16570 #: assets/js/list-actions.js:21571 msgid "Error"572 msgstr "Fehler"573 574 #: includes/class-aigude-media-controller.php:428575 msgid "Temporary image file missing"576 msgstr "Temporäre Bilddatei fehlt"577 578 #: includes/grid-view.php:6 includes/list-view.php:6579 msgid "You do not have permission to access this page."580 msgstr "Du hast keine Berechtigung, auf diese Seite zuzugreifen."581 582 #: includes/grid-view.php:10 includes/list-view.php:10583 msgid ""584 "Describe the essential content of the picture briefly and concisely. Limit "585 "the text to a very short sentence"586 msgstr ""587 "Beschreibe den wesentlichen Bildinhalt kurz und prägnant. Begrenze den Text "588 "auf einen sehr kurzen Satz."589 590 #: includes/grid-view.php:24591 msgid "Alt Text Generator - Grid view"592 msgstr "Alt-Text-Generator – Rasteransicht"593 594 #: includes/grid-view.php:79595 msgid "Select images from Media Library"596 msgstr "Bilder aus der Mediathek auswählen"597 598 #: includes/grid-view.php:82599 msgid "Generate alt text for selected"600 msgstr "Alternativtext für Auswahl generieren"601 602 #: includes/list-view.php:89603 msgid "Alt Text Generator - List view"604 msgstr "Alt-Text-Generator – Listenansicht"605 606 #: includes/list-view.php:106607 msgid "Search images"608 msgstr "Bilder suchen"609 610 #: includes/list-view.php:113611 msgid "Search filename, title or alt-text…"612 msgstr "Dateiname, Titel, Alt-Text suchen"613 614 #: includes/list-view.php:116615 msgid "Search"616 msgstr "Suchen"617 618 #: includes/list-view.php:137619 msgid "Per Page"620 msgstr "Pro Seite"621 622 #: includes/list-view.php:146623 msgid "Skip existing"624 msgstr "Vorhandene überspringen"625 626 #: includes/list-view.php:150627 msgid "Select all (this page)"628 msgstr "Alle auswählen (diese Seite)"629 630 #: includes/list-view.php:154631 msgid "Select all (across pages)"632 msgstr "Alle auswählen (über alle Seiten)"633 634 #: includes/list-view.php:158635 msgid "Will process"636 msgstr "Verarbeitet"637 638 #: includes/list-view.php:160639 msgid "images."640 msgstr "Bilder."641 642 #. translators: %s: number of images (the %s is replaced dynamically in JS for the data attribute).643 #: includes/list-view.php:213644 #, php-format645 msgid "Generate and save alternative text for %s Images"646 msgstr "Alternativtexte für %s Bilder generieren und speichern"647 648 #: includes/list-view.php:218 assets/js/grid-actions.js:18649 #: assets/js/list-actions.js:19650 msgid "Generating..."651 msgstr "Wird generiert …"652 653 #. translators: %s: number of images on the current page.654 #: includes/list-view.php:224655 #, php-format656 msgid "Generate and save alternative text for %s images"657 msgstr "Alternativtexte für %s Bilder generieren und speichern"658 659 #: includes/list-view.php:256660 msgid "Open in Media Library"661 msgstr "In der Mediathek öffnen"662 663 #. translators: %s: the file title (post_title) of the image.664 #: includes/list-view.php:265665 #, php-format666 msgid "Generate File Metadata \"%s\""667 msgstr "Dateimetadaten für „%s“ generieren"668 669 #: includes/list-view.php:312670 msgid "Custom prompt…"671 msgstr "Benutzerdefinierter Prompt …"672 673 #: includes/list-view.php:318 includes/list-view.php:320674 msgid "Generate"675 msgstr "Generieren"676 677 #: includes/list-view.php:319678 msgid "Generating"679 msgstr "Wird generiert"680 681 #: includes/list-view.php:323682 msgid "Credits"683 msgstr "Credits"684 685 #: includes/list-view.php:327686 msgid "Continue with the current alternative text"687 msgstr "Mit dem aktuellen Alternativtext fortfahren"688 689 #: includes/list-view.php:337690 msgid "Alternative Text"691 msgstr "Alternativtext"692 693 #: assets/js/grid-actions.js:9694 msgid "Select images"695 msgstr "Bilder auswählen"696 697 #. translators: Label on a button that selects all currently visible items in the media grid698 #: assets/js/grid-actions.js:11699 msgid "Select all (visible)"700 msgstr "Alle auswählen (sichtbar)"701 702 #. translators: Label on a button that selects all results across all pages in the media grid703 #: assets/js/grid-actions.js:13704 msgid "Select all (all results)"705 msgstr "Alle auswählen (alle Treffer)"706 707 #: assets/js/grid-actions.js:14708 msgid "Loading…"709 msgstr "Laden …"710 711 #: assets/js/grid-actions.js:15712 msgid "Selected"713 msgstr "Ausgewählt"714 715 #: assets/js/grid-actions.js:17716 msgid "Skip images that already have alt text"717 msgstr "Bilder mit vorhandenem Alternativtext überspringen"718 719 #: assets/js/grid-actions.js:19 assets/js/list-actions.js:20720 msgid "Done"721 msgstr "Fertig"722 723 #: assets/js/grid-actions.js:20 assets/js/list-actions.js:27724 msgid "This will overwrite existing alt texts. Are you sure?"725 msgstr "Dadurch werden vorhandene Alt-Texte überschrieben. Bist du sicher?"726 727 #: assets/js/grid-actions.js:22 assets/js/list-actions.js:32728 msgid "Security check failed. Please reload the page."729 msgstr "Sicherheitsprüfung fehlgeschlagen. Bitte lade die Seite neu."730 731 #: assets/js/grid-actions.js:23 assets/js/list-actions.js:33732 msgid "credits"733 msgstr "Credits"734 735 #. translators: %d = total number of credits used across the whole operation736 #: assets/js/grid-actions.js:25 assets/js/list-actions.js:13737 msgid "Total credits used: %d"738 msgstr "Insgesamt verwendete Credits: %d"739 740 #: assets/js/grid-actions.js:26 assets/js/list-actions.js:34741 msgid "Language locked by selected prompt."742 msgstr "Sprache durch ausgewählten Prompt gesperrt."743 744 #. translators: %d = number of credits used for the current image/batch745 #: assets/js/list-actions.js:16746 msgid "Credits used: %d"747 msgstr "Verbrauchte Credits: %d"748 749 #: assets/js/list-actions.js:22750 msgid "Alt-Text generated"751 msgstr "Alt-Text generiert"752 753 #: assets/js/list-actions.js:23754 msgid "Alt-Text saved"755 msgstr "Alt-Text gespeichert"756 757 #: assets/js/list-actions.js:24758 msgid "Error generating alt text"759 msgstr "Fehler beim Generieren des Alt-Texts"760 761 #: assets/js/list-actions.js:25762 msgid "Error saving alt text"763 msgstr "Fehler beim Speichern des Alt-Texts"764 765 #: assets/js/list-actions.js:26766 msgid "Please select at least one image."767 msgstr "Bitte wähle mindestens ein Bild aus."768 769 #: assets/js/list-actions.js:28770 msgid "No AI text generated yet."771 msgstr "Noch kein KI-Text generiert."772 773 #: assets/js/server-actions.js:9774 msgid "Hide"775 msgstr "Ausblenden"776 777 #: assets/js/server-actions.js:10778 msgid "Error during retrieval"779 msgstr "Fehler beim Abrufen"780 781 #: assets/js/server-actions.js:11782 msgid "Copy failed"783 msgstr "Kopieren fehlgeschlagen"784 785 #~ msgid "Save Template"786 #~ msgstr "Vorlage speichern"787 788 #~ msgid "Describe car-photo-123 (1920x1080)"789 #~ msgstr "Beschreibe car-photo-123 (1920x1080)"790 791 #~ msgid "Describe %1$s (%2$ sx%3$s)"792 #~ msgstr "Beschreibe %1$s (%2$s×%3$s)"793 794 #~ msgid "Example:"795 #~ msgstr "Beispiel:"796 797 #~ msgid "Modifiers: add \"|q\" to force quotes, or \"|raw\" to remove quotes."798 #~ msgstr ""799 #~ "Modifikatoren: „|q“ erzwingt Anführungszeichen, „|raw“ entfernt sie."800 801 #~ msgid "Available placeholders:"802 #~ msgstr "Verfügbare Platzhalter:"803 804 #~ msgid "Placeholders Language"805 #~ msgstr "Sprache der Platzhalter"806 807 #~ msgid "Auto-detect"808 #~ msgstr "Automatisch erkennen"809 810 #~ msgid "Prompt Language"811 #~ msgstr "Prompt-Sprache"812 813 #~ msgid "Make this the default template"814 #~ msgstr "Diese Vorlage als Standard festlegen"815 816 #~ msgid ""817 #~ "Prompts can be written in any language, but they work best when you "818 #~ "define both the Prompt Language and the Placeholders Language."819 #~ msgstr ""820 #~ "Prompts können in jeder Sprache geschrieben werden, funktionieren jedoch "821 #~ "am besten, wenn sowohl die Prompt-Sprache als auch die Sprache der "822 #~ "Platzhalter definiert sind."823 824 #~ msgid "Add New Template"825 #~ msgstr "Neue Vorlage hinzufügen"826 827 #~ msgid "Edit Template"828 #~ msgstr "Template bearbeiten"829 830 #~ msgid "No templates added."831 #~ msgstr "Keine Vorlagen hinzugefügt."832 833 #~ msgid "Existing Templates"834 #~ msgstr "Vorhandene Vorlagen"835 836 #~ msgid "Template saved."837 #~ msgstr "Vorlage gespeichert."838 839 #~ msgid "Template updated."840 #~ msgstr "Vorlage aktualisiert."841 842 #~ msgid "Template deleted."843 #~ msgstr "Vorlage gelöscht."844 845 #~ msgid "Default template updated."846 #~ msgstr "Standardvorlage aktualisiert."847 848 #~ msgid "Add New Server"849 #~ msgstr "Neuen Server hinzufügen"850 851 #~ msgid "Prompt Templates"852 #~ msgstr "Prompt-Vorlagen"853 854 #~ msgid "Server"855 #~ msgstr "Server" -
aigude-tools/trunk/languages/aigude-tools-de_DE_formal.po
r3415292 r3480099 3 3 msgid "" 4 4 msgstr "" 5 "PO-Revision-Date: 2025-10-14 08:51:43+0000\n" 5 "Project-Id-Version: Plugins - AiGude Tools - Stable (latest release)\n" 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/aigude-tools\n" 7 "POT-Creation-Date: 2025-12-09T11:45:59+00:00\n" 8 "PO-Revision-Date: 2025-12-08 21:27:17+0000\n" 9 "Language: de\n" 6 10 "MIME-Version: 1.0\n" 7 11 "Content-Type: text/plain; charset=UTF-8\n" … … 9 13 "Plural-Forms: nplurals=2; plural=n != 1;\n" 10 14 "X-Generator: GlotPress/4.0.3\n" 11 "Language: de\n" 12 "Project-Id-Version: Plugins - AiGude Tools - Stable (latest release)\n" 15 16 #: assets/js/grid-actions.js:106 assets/js/list-actions.js:230 17 msgid "Close" 18 msgstr "Schließen" 19 20 #: assets/js/grid-actions.js:104 assets/js/list-actions.js:228 21 msgid "Edit in Prompts" 22 msgstr "In Prompts bearbeiten" 23 24 #: includes/grid-view.php:160 includes/list-view.php:284 25 msgid "View prompt details" 26 msgstr "Prompt-Details anzeigen" 27 28 #: includes/grid-view.php:99 includes/list-view.php:99 29 msgid "(No provider)" 30 msgstr "(Kein Anbieter)" 31 32 #: includes/admin-prompts.php:516 33 msgid "Restore defaults" 34 msgstr "Standards wiederherstellen" 35 36 #: includes/admin-prompts.php:156 37 msgid "The default prompt cannot be deleted." 38 msgstr "Der Standard-Prompt kann nicht gelöscht werden." 39 40 #: includes/admin-prompts.php:135 41 msgid "Default prompt restored." 42 msgstr "Standard-Prompt wiederhergestellt." 43 44 #: includes/admin-prompts.php:94 45 msgid "Default prompt added." 46 msgstr "Standard-Prompt hinzugefügt." 47 48 #: aigude-tools.php:210 49 msgid "Default Prompt" 50 msgstr "Standard-Prompt" 13 51 14 52 #: assets/js/grid-actions.js:26 assets/js/list-actions.js:34 … … 26 64 #: includes/admin-settings.php:782 27 65 msgid "Saving..." 28 msgstr " Speichern…"66 msgstr "Wird gespeichert …" 29 67 30 68 #: includes/admin-settings.php:745 … … 110 148 msgstr "Einstellungen für Übersetzungsanbieter werden nicht mehr verwendet." 111 149 112 #: includes/admin-prompts.php: 678150 #: includes/admin-prompts.php:748 113 151 msgid "When set, the List/Grid views lock the Alt Text Language selector to this provider/language." 114 152 msgstr "Wenn aktiviert, sperren Listen-/Rasteransichten den Alt-Text-Sprachwähler auf diesen Anbieter/diese Sprache." 115 153 116 #: includes/admin-prompts.php: 676154 #: includes/admin-prompts.php:746 117 155 msgid "Pick a provider and language you always want the generated alt text to use, overriding the default selection in List/Grid views." 118 156 msgstr "Wählen Sie einen Anbieter und eine Sprache, die immer für den generierten Alt-Text verwendet werden sollen und die Auswahl in Liste/Raster überschreiben." 119 157 120 #: includes/admin-prompts.php:6 24158 #: includes/admin-prompts.php:694 121 159 msgid "No languages available" 122 160 msgstr "Keine Sprachen verfügbar" 123 161 124 #: includes/admin-prompts.php:6 23 includes/admin-prompts.php:668162 #: includes/admin-prompts.php:693 includes/admin-prompts.php:738 125 163 msgid "Select a provider to choose a language" 126 164 msgstr "Wählen Sie einen Anbieter, um eine Sprache auszuwählen" 127 165 128 #: includes/admin-prompts.php:6 18166 #: includes/admin-prompts.php:688 129 167 msgid "Language" 130 168 msgstr "Sprache" 131 169 132 #: includes/admin-prompts.php:6 12 includes/admin-settings.php:549170 #: includes/admin-prompts.php:682 includes/admin-settings.php:549 133 171 msgid "Show only EU-based translation providers" 134 172 msgstr "Nur EU-basierte Übersetzungsanbieter anzeigen" 135 173 136 #: includes/admin-prompts.php: 593174 #: includes/admin-prompts.php:663 137 175 msgid "Provider" 138 176 msgstr "Anbieter" 139 177 140 #: includes/admin-prompts.php: 588178 #: includes/admin-prompts.php:658 141 179 msgid "Target Alt Text language" 142 180 msgstr "Zielsprache für Alt-Text" 143 181 144 #: includes/admin-prompts.php:5 28182 #: includes/admin-prompts.php:598 145 183 msgid "Available placeholders" 146 184 msgstr "Verfügbare Platzhalter" 147 185 148 #: includes/admin-prompts.php:5 25186 #: includes/admin-prompts.php:595 149 187 msgid "You can write the prompt in any language supported by the provider you select for the Target Alt Text." 150 188 msgstr "Sie können den Prompt in jeder Sprache verfassen, die vom Anbieter der Ziel-Alt-Text-Sprache unterstützt wird." 151 189 152 #: includes/admin-prompts.php:5 10190 #: includes/admin-prompts.php:580 153 191 msgid "Make this the default prompt" 154 192 msgstr "Diesen Prompt als Standard festlegen" 155 193 156 #: includes/admin-prompts.php: 455194 #: includes/admin-prompts.php:513 157 195 msgid "Duplicate" 158 196 msgstr "Duplizieren" 159 197 160 #: includes/admin-prompts.php:4 43198 #: includes/admin-prompts.php:499 161 199 msgid "Not set" 162 200 msgstr "Nicht festgelegt" 163 201 164 #: includes/admin-prompts.php: 396202 #: includes/admin-prompts.php:450 165 203 msgid "Target language" 166 204 msgstr "Zielsprache" 167 205 168 #: includes/admin-prompts.php: 386includes/admin-settings.php:375206 #: includes/admin-prompts.php:440 includes/admin-settings.php:375 169 207 msgid "Add New" 170 208 msgstr "Neu hinzufügen" 171 209 172 #: includes/admin-prompts.php: 289210 #: includes/admin-prompts.php:343 173 211 msgid "Please select a target language." 174 212 msgstr "Bitte wählen Sie eine Zielsprache aus." 175 213 176 #: includes/admin-prompts.php: 286214 #: includes/admin-prompts.php:340 177 215 msgid "Please select a translation provider." 178 216 msgstr "Bitte wählen Sie einen Übersetzungsanbieter aus." 179 217 180 #: includes/admin-prompts.php: 283218 #: includes/admin-prompts.php:337 181 219 msgid "Please enter a prompt." 182 220 msgstr "Bitte geben Sie einen Prompt ein." 183 221 184 #: includes/admin-prompts.php: 280222 #: includes/admin-prompts.php:334 185 223 msgid "Please enter a title." 186 224 msgstr "Bitte geben Sie einen Titel ein." 187 225 188 #: includes/admin-prompts.php: 89 includes/admin-prompts.php:101189 #: includes/admin-prompts.php:1 21 includes/admin-prompts.php:131190 #: includes/admin-prompts.php:3 17226 #: includes/admin-prompts.php:117 includes/admin-prompts.php:146 227 #: includes/admin-prompts.php:170 includes/admin-prompts.php:180 228 #: includes/admin-prompts.php:371 191 229 msgid "Prompt not found." 192 230 msgstr "Prompt nicht gefunden." 193 231 194 #: includes/admin-prompts.php: 87232 #: includes/admin-prompts.php:115 195 233 msgid "Prompt duplicated." 196 234 msgstr "Prompt dupliziert." 197 235 198 #: includes/admin-prompts.php: 685236 #: includes/admin-prompts.php:755 199 237 msgid "Save Prompt" 200 238 msgstr "Prompt speichern" 201 239 202 #: includes/admin-prompts.php: 543240 #: includes/admin-prompts.php:613 203 241 msgid "Examples:" 204 242 msgstr "Beispiele:" 205 243 206 #: includes/admin-prompts.php: 539244 #: includes/admin-prompts.php:609 207 245 msgid "Modifiers: |q (force quotes), |raw (no quotes), |trim, |lower, |upper, |ucfirst, |translatable (force translate), |untranslatable (no translate)." 208 246 msgstr "Modifikatoren: |q (Anführungszeichen erzwingen), |raw (ohne Anführungszeichen), |trim, |lower, |upper, |ucfirst, |translatable (Übersetzung erzwingen), |untranslatable (nicht übersetzen)." 209 247 210 #: includes/admin-prompts.php: 483248 #: includes/admin-prompts.php:553 211 249 msgid "Add New Prompt" 212 250 msgstr "Neuen Prompt hinzufügen" 213 251 214 #: includes/admin-prompts.php: 483252 #: includes/admin-prompts.php:553 215 253 msgid "Edit Prompt" 216 254 msgstr "Prompt bearbeiten" 217 255 218 #: includes/admin-prompts.php: 460256 #: includes/admin-prompts.php:530 219 257 msgid "No prompts added." 220 258 msgstr "Keine Prompts hinzugefügt." 221 259 222 #: includes/admin-prompts.php:3 21260 #: includes/admin-prompts.php:375 223 261 msgid "Prompt saved." 224 262 msgstr "Prompt gespeichert." 225 263 226 #: includes/admin-prompts.php:3 15264 #: includes/admin-prompts.php:369 227 265 msgid "Prompt updated." 228 266 msgstr "Prompt aktualisiert." 229 267 230 #: includes/admin-prompts.php:1 19268 #: includes/admin-prompts.php:167 231 269 msgid "Prompt deleted." 232 270 msgstr "Prompt gelöscht." 233 271 234 #: includes/admin-prompts.php: 99272 #: includes/admin-prompts.php:144 235 273 msgid "Default prompt updated." 236 274 msgstr "Standard‑Prompt aktualisiert." 237 275 238 #: includes/admin-prompts.php: 380includes/class-aigude-admin-ui.php:155276 #: includes/admin-prompts.php:434 includes/class-aigude-admin-ui.php:155 239 277 #: includes/class-aigude-admin-ui.php:156 240 278 msgid "Prompts" … … 247 285 msgstr "Einstellungen" 248 286 249 #: includes/admin-prompts.php: 655 includes/admin-prompts.php:715287 #: includes/admin-prompts.php:725 includes/admin-prompts.php:785 250 288 #: includes/admin-settings.php:724 includes/admin-templates.php:249 251 289 #: includes/admin-templates.php:278 … … 253 291 msgstr "Alle Sprachen" 254 292 255 #: includes/admin-prompts.php: 644 includes/admin-prompts.php:714293 #: includes/admin-prompts.php:714 includes/admin-prompts.php:784 256 294 #: includes/admin-settings.php:716 includes/admin-settings.php:752 257 295 #: includes/admin-templates.php:241 includes/admin-templates.php:271 … … 357 395 msgstr "Bilder auswählen" 358 396 359 #: includes/list-view.php: 337397 #: includes/list-view.php:419 360 398 msgid "Alternative Text" 361 399 msgstr "Alternativtext" 362 400 363 #: includes/list-view.php: 327401 #: includes/list-view.php:409 364 402 msgid "Continue with the current alternative text" 365 403 msgstr "Mit dem aktuellen Alternativtext fortfahren" 366 404 367 #: includes/list-view.php: 323405 #: includes/list-view.php:405 368 406 msgid "Credits" 369 407 msgstr "Credits" 370 408 371 #: includes/list-view.php: 319409 #: includes/list-view.php:401 372 410 msgid "Generating" 373 411 msgstr "Wird generiert" 374 412 375 #: includes/list-view.php: 318 includes/list-view.php:320413 #: includes/list-view.php:400 includes/list-view.php:402 376 414 msgid "Generate" 377 415 msgstr "Generieren" 378 416 379 #: includes/list-view.php:3 12417 #: includes/list-view.php:394 380 418 msgid "Custom prompt…" 381 419 msgstr "Benutzerdefinierter Prompt …" 382 420 383 421 #. translators: %s: the file title (post_title) of the image. 384 #: includes/list-view.php: 265422 #: includes/list-view.php:342 385 423 msgid "Generate File Metadata \"%s\"" 386 424 msgstr "Dateimetadaten für „%s“ generieren" 387 425 388 #: includes/list-view.php: 256426 #: includes/list-view.php:333 389 427 msgid "Open in Media Library" 390 428 msgstr "In der Mediathek öffnen" 391 429 392 430 #. translators: %s: number of images on the current page. 393 #: includes/list-view.php: 224431 #: includes/list-view.php:301 394 432 msgid "Generate and save alternative text for %s images" 395 433 msgstr "Alternativtexte für %s Bilder generieren und speichern" 396 434 397 #: includes/list-view.php:2 18assets/js/grid-actions.js:18435 #: includes/list-view.php:295 assets/js/grid-actions.js:18 398 436 #: assets/js/list-actions.js:19 399 437 msgid "Generating..." … … 402 440 #. translators: %s: number of images (the %s is replaced dynamically in JS for 403 441 #. the data attribute). 404 #: includes/list-view.php:2 13442 #: includes/list-view.php:290 405 443 msgid "Generate and save alternative text for %s Images" 406 444 msgstr "Alternativtexte für %s Bilder generieren und speichern" … … 408 446 #. translators: %s = site language label, e.g. "English (US)". 409 447 #. translators: %s = site language label (e.g., "English (US)"). 410 #: includes/admin-prompts.php: 637 includes/admin-prompts.php:713448 #: includes/admin-prompts.php:707 includes/admin-prompts.php:783 411 449 #: includes/admin-settings.php:711 412 450 msgid "System (%s)" 413 451 msgstr "System (%s)" 414 452 415 #: includes/list-view.php: 160453 #: includes/list-view.php:240 416 454 msgid "images." 417 455 msgstr "Bilder." 418 456 419 #: includes/list-view.php: 158457 #: includes/list-view.php:238 420 458 msgid "Will process" 421 459 msgstr "Verarbeitet" 422 460 423 #: includes/list-view.php: 154461 #: includes/list-view.php:234 424 462 msgid "Select all (across pages)" 425 463 msgstr "Alle auswählen (über alle Seiten)" 426 464 427 #: includes/list-view.php: 150465 #: includes/list-view.php:230 428 466 msgid "Select all (this page)" 429 467 msgstr "Alle auswählen (diese Seite)" 430 468 431 #: includes/list-view.php: 146469 #: includes/list-view.php:226 432 470 msgid "Skip existing" 433 471 msgstr "Vorhandene überspringen" 434 472 435 #: includes/list-view.php: 137473 #: includes/list-view.php:217 436 474 msgid "Per Page" 437 475 msgstr "Pro Seite" 438 476 439 #: includes/list-view.php:1 16477 #: includes/list-view.php:196 440 478 msgid "Search" 441 479 msgstr "Suchen" 442 480 443 #: includes/list-view.php:1 13481 #: includes/list-view.php:193 444 482 msgid "Search filename, title or alt-text…" 445 483 msgstr "Dateiname, Titel, Alt-Text suchen" 446 484 447 #: includes/list-view.php:1 06485 #: includes/list-view.php:186 448 486 msgid "Search images" 449 487 msgstr "Bilder suchen" 450 488 451 #: includes/list-view.php: 89489 #: includes/list-view.php:167 452 490 msgid "Alt Text Generator - List view" 453 491 msgstr "Alt-Text-Generator – Listenansicht" 454 492 455 #: includes/grid-view.php: 82493 #: includes/grid-view.php:169 456 494 msgid "Generate alt text for selected" 457 495 msgstr "Alternativtext für Auswahl generieren" 458 496 459 #: includes/grid-view.php: 79497 #: includes/grid-view.php:166 460 498 msgid "Select images from Media Library" 461 499 msgstr "Bilder aus der Mediathek auswählen" 462 500 463 #: includes/grid-view.php: 24501 #: includes/grid-view.php:112 464 502 msgid "Alt Text Generator - Grid view" 465 503 msgstr "Alt-Text-Generator – Rasteransicht" 466 504 467 #: includes/grid-view.php:10 includes/list-view.php:10505 #: aigude-tools.php:209 468 506 msgid "Describe the essential content of the picture briefly and concisely. Limit the text to a very short sentence" 469 507 msgstr "Beschreiben Sie den wesentlichen Bildinhalt kurz und prägnant. Begrenzen Sie den Text auf einen sehr kurzen Satz." … … 477 515 msgstr "Vorlage speichern" 478 516 479 #: includes/admin-prompts.php: 685 includes/admin-templates.php:318517 #: includes/admin-prompts.php:755 includes/admin-templates.php:318 480 518 msgid "Update" 481 519 msgstr "Aktualisieren" … … 495 533 msgstr "Beispiel:" 496 534 497 #: includes/admin-prompts.php: 540 includes/admin-templates.php:295535 #: includes/admin-prompts.php:610 includes/admin-templates.php:295 498 536 msgid "Unknown placeholders are left unchanged. Empty values become blank." 499 537 msgstr "Unbekannte Platzhalter bleiben unverändert. Leere Werte werden zu einem leeren Text." … … 505 543 #. translators: %width% and %height% are numeric image dimensions; numeric 506 544 #. placeholders are not quoted. 507 #: includes/admin-prompts.php: 538 includes/admin-templates.php:293545 #: includes/admin-prompts.php:608 includes/admin-templates.php:293 508 546 msgid "Numeric placeholders like %width% and %height% are not quoted (e.g. → 1920)." 509 547 msgstr "Numerische Platzhalter wie %width% und %height% werden nicht in Anführungszeichen gesetzt (z. B. → 1920)." … … 511 549 #. translators: %filename_no_ext% is the filename without extension. Example 512 550 #. shows automatic quoting of text placeholders. 513 #: includes/admin-prompts.php: 536 includes/admin-templates.php:291551 #: includes/admin-prompts.php:606 includes/admin-templates.php:291 514 552 msgid "Text placeholders are automatically quoted (e.g. %filename_no_ext% → \"car-photo-123\")." 515 553 msgstr "Textplatzhalter werden automatisch in Anführungszeichen gesetzt (z. B. %filename_no_ext% → „car-photo-123“)." … … 551 589 msgstr "Keine Vorlagen hinzugefügt." 552 590 553 #: includes/admin-prompts.php: 456includes/admin-templates.php:171591 #: includes/admin-prompts.php:521 includes/admin-templates.php:171 554 592 msgid "Really delete?" 555 593 msgstr "Wirklich löschen?" 556 594 557 #: includes/admin-prompts.php: 395 includes/admin-prompts.php:521595 #: includes/admin-prompts.php:449 includes/admin-prompts.php:591 558 596 #: includes/admin-templates.php:146 includes/admin-templates.php:222 559 #: includes/grid-view.php:31 includes/list-view.php:167 560 #: includes/list-view.php:279 597 #: includes/grid-view.php:121 includes/list-view.php:247 598 #: includes/list-view.php:356 assets/js/grid-actions.js:94 599 #: assets/js/list-actions.js:218 561 600 msgid "Prompt" 562 601 msgstr "Prompt" 563 602 564 #: includes/admin-prompts.php: 394 includes/admin-prompts.php:516603 #: includes/admin-prompts.php:448 includes/admin-prompts.php:586 565 604 #: includes/admin-templates.php:145 includes/admin-templates.php:217 566 605 msgid "Title" … … 591 630 msgstr "Unzureichende Berechtigungen" 592 631 593 #: includes/admin-prompts.php: 456includes/admin-server.php:394632 #: includes/admin-prompts.php:522 includes/admin-server.php:394 594 633 #: includes/admin-settings.php:490 includes/admin-templates.php:171 595 634 msgid "Delete" … … 600 639 msgstr "Möchten Sie diesen Server wirklich löschen?" 601 640 602 #: includes/admin-prompts.php: 454includes/admin-server.php:391641 #: includes/admin-prompts.php:512 includes/admin-server.php:391 603 642 #: includes/admin-settings.php:487 includes/admin-templates.php:170 604 643 msgid "Edit" 605 644 msgstr "Bearbeiten" 606 645 607 #: includes/admin-prompts.php: 450includes/admin-server.php:377646 #: includes/admin-prompts.php:506 includes/admin-server.php:377 608 647 #: includes/admin-settings.php:473 includes/admin-templates.php:166 609 648 msgid "Make default" 610 649 msgstr "Als Standard festlegen" 611 650 612 #: includes/admin-prompts.php:4 23includes/admin-server.php:334651 #: includes/admin-prompts.php:477 includes/admin-server.php:334 613 652 #: includes/admin-settings.php:431 includes/admin-templates.php:148 614 653 msgid "Actions" … … 631 670 msgstr "Neuen Server hinzufügen" 632 671 633 #: includes/admin-prompts.php: 687 includes/admin-server.php:263672 #: includes/admin-prompts.php:757 includes/admin-server.php:263 634 673 #: includes/admin-server.php:318 includes/admin-settings.php:367 635 674 #: includes/admin-settings.php:416 includes/admin-templates.php:321 … … 638 677 639 678 #: includes/admin-server.php:262 includes/admin-settings.php:366 640 #: includes/list-view.php: 340679 #: includes/list-view.php:422 641 680 msgid "Save" 642 681 msgstr "Speichern" … … 647 686 msgstr "Diesen Server als Standard festlegen" 648 687 649 #: includes/admin-prompts.php:4 22 includes/admin-prompts.php:448650 #: includes/admin-prompts.php:5 01 includes/admin-server.php:257688 #: includes/admin-prompts.php:476 includes/admin-prompts.php:504 689 #: includes/admin-prompts.php:571 includes/admin-server.php:257 651 690 #: includes/admin-server.php:312 includes/admin-server.php:332 652 691 #: includes/admin-server.php:374 includes/admin-settings.php:361 -
aigude-tools/trunk/languages/aigude-tools-nl_NL.po
r3415292 r3480099 1 # Translation of Plugins - AiGude Tools - Development (trunk) in Dutch2 # This file is distributed under the same license as the Plugins - AiGude Tools - Development (trunk) package.1 # Translation of Plugins - AiGude Tools - Stable (latest release) in Dutch 2 # This file is distributed under the same license as the Plugins - AiGude Tools - Stable (latest release) package. 3 3 msgid "" 4 4 msgstr "" 5 "PO-Revision-Date: 2025-12-0 2 21:21:59+0000\n"5 "PO-Revision-Date: 2025-12-04 11:49:05+0000\n" 6 6 "MIME-Version: 1.0\n" 7 7 "Content-Type: text/plain; charset=UTF-8\n" … … 10 10 "X-Generator: GlotPress/4.0.3\n" 11 11 "Language: nl\n" 12 "Project-Id-Version: Plugins - AiGude Tools - Development (trunk)\n" 12 "Project-Id-Version: Plugins - AiGude Tools - Stable (latest release)\n" 13 14 #: assets/js/grid-actions.js:106 assets/js/list-actions.js:230 15 msgid "Close" 16 msgstr "Sluiten" 17 18 #: assets/js/grid-actions.js:104 assets/js/list-actions.js:228 19 msgid "Edit in Prompts" 20 msgstr "Bewerken in Prompts" 21 22 #: includes/grid-view.php:160 includes/list-view.php:284 23 msgid "View prompt details" 24 msgstr "Promptdetails bekijken" 25 26 #: includes/grid-view.php:99 includes/list-view.php:99 27 msgid "(No provider)" 28 msgstr "(Geen provider)" 29 30 #: includes/admin-prompts.php:516 31 msgid "Restore defaults" 32 msgstr "Standaardinstellingen herstellen" 33 34 #: includes/admin-prompts.php:156 35 msgid "The default prompt cannot be deleted." 36 msgstr "De standaardprompt kan niet worden verwijderd." 37 38 #: includes/admin-prompts.php:135 39 msgid "Default prompt restored." 40 msgstr "Standaardprompt hersteld." 41 42 #: includes/admin-prompts.php:94 43 msgid "Default prompt added." 44 msgstr "Standaardprompt toegevoegd." 45 46 #: aigude-tools.php:210 47 msgid "Default Prompt" 48 msgstr "Standaardprompt" 13 49 14 50 #: assets/js/grid-actions.js:26 assets/js/list-actions.js:34 … … 30 66 #: includes/admin-settings.php:745 31 67 msgid "No translation provider metadata available. Add a server with a valid API key to load providers." 32 msgstr "Geen meta datavan vertaalproviders beschikbaar. Voeg een server met een geldige API-sleutel toe om providers te laden."68 msgstr "Geen metagegevens van vertaalproviders beschikbaar. Voeg een server met een geldige API-sleutel toe om providers te laden." 33 69 34 70 #: includes/admin-settings.php:736 … … 42 78 #: includes/admin-settings.php:698 43 79 msgid "Default alt text language" 44 msgstr "Standaard alt‑te ksttaal"80 msgstr "Standaard alt‑text taal" 45 81 46 82 #: includes/admin-settings.php:693 … … 77 113 #: includes/admin-settings.php:522 78 114 msgid "Select the translation provider for AI-generated alt texts. The provider determines the available target languages." 79 msgstr "Selecteer de vertaalprovider voor door AI gegenereerde alt‑te ksten. De provider bepaalt welke doeltalen beschikbaar zijn."115 msgstr "Selecteer de vertaalprovider voor door AI gegenereerde alt‑text. De provider bepaalt welke doeltalen beschikbaar zijn." 80 116 81 117 #. translators: %s = site language label, e.g. "English (US)". … … 110 146 msgstr "Instellingen voor vertaalproviders worden niet meer gebruikt." 111 147 112 #: includes/admin-prompts.php: 678148 #: includes/admin-prompts.php:748 113 149 msgid "When set, the List/Grid views lock the Alt Text Language selector to this provider/language." 114 msgstr "Als je dit instelt, vergrendelen de lijst-/rasterweergaven de taalkeuzelijst voor alt‑te kst op deze provider/taal."115 116 #: includes/admin-prompts.php: 676150 msgstr "Als je dit instelt, vergrendelen de lijst-/rasterweergaven de taalkeuzelijst voor alt‑text op deze provider/taal." 151 152 #: includes/admin-prompts.php:746 117 153 msgid "Pick a provider and language you always want the generated alt text to use, overriding the default selection in List/Grid views." 118 msgstr "Kies de provider en taal die je altijd wil tgebruiken voor de gegenereerde alt‑tekst; hiermee overschrijf je de standaardselectie in de lijst-/rasterweergaven."119 120 #: includes/admin-prompts.php:6 24154 msgstr "Kies de provider en taal die je altijd wil gebruiken voor de gegenereerde alt‑tekst; hiermee overschrijf je de standaardselectie in de lijst-/rasterweergaven." 155 156 #: includes/admin-prompts.php:694 121 157 msgid "No languages available" 122 158 msgstr "Geen talen beschikbaar" 123 159 124 #: includes/admin-prompts.php:6 23 includes/admin-prompts.php:668160 #: includes/admin-prompts.php:693 includes/admin-prompts.php:738 125 161 msgid "Select a provider to choose a language" 126 162 msgstr "Selecteer een provider om een taal te kiezen" 127 163 128 #: includes/admin-prompts.php:6 18164 #: includes/admin-prompts.php:688 129 165 msgid "Language" 130 166 msgstr "Taal" 131 167 132 #: includes/admin-prompts.php:6 12 includes/admin-settings.php:549168 #: includes/admin-prompts.php:682 includes/admin-settings.php:549 133 169 msgid "Show only EU-based translation providers" 134 170 msgstr "Alleen vertaalproviders uit de EU tonen" 135 171 136 #: includes/admin-prompts.php: 593172 #: includes/admin-prompts.php:663 137 173 msgid "Provider" 138 174 msgstr "Provider" 139 175 140 #: includes/admin-prompts.php: 588176 #: includes/admin-prompts.php:658 141 177 msgid "Target Alt Text language" 142 msgstr "Doeltaal voor alt‑te kst"143 144 #: includes/admin-prompts.php:5 28178 msgstr "Doeltaal voor alt‑text" 179 180 #: includes/admin-prompts.php:598 145 181 msgid "Available placeholders" 146 182 msgstr "Beschikbare plaatshouders" 147 183 148 #: includes/admin-prompts.php:5 25184 #: includes/admin-prompts.php:595 149 185 msgid "You can write the prompt in any language supported by the provider you select for the Target Alt Text." 150 msgstr "Je kunt de prompt schrijven in elke taal die wordt ondersteund door de provider die je selecteert voor de doeltaal van de alt‑te kst."151 152 #: includes/admin-prompts.php:5 10186 msgstr "Je kunt de prompt schrijven in elke taal die wordt ondersteund door de provider die je selecteert voor de doeltaal van de alt‑text." 187 188 #: includes/admin-prompts.php:580 153 189 msgid "Make this the default prompt" 154 190 msgstr "Maak dit de standaardprompt" 155 191 156 #: includes/admin-prompts.php: 455192 #: includes/admin-prompts.php:513 157 193 msgid "Duplicate" 158 194 msgstr "Dupliceren" 159 195 160 #: includes/admin-prompts.php:4 43196 #: includes/admin-prompts.php:499 161 197 msgid "Not set" 162 198 msgstr "Niet ingesteld" 163 199 164 #: includes/admin-prompts.php: 396200 #: includes/admin-prompts.php:450 165 201 msgid "Target language" 166 202 msgstr "Doeltaal" 167 203 168 #: includes/admin-prompts.php: 386includes/admin-settings.php:375204 #: includes/admin-prompts.php:440 includes/admin-settings.php:375 169 205 msgid "Add New" 170 206 msgstr "Nieuwe toevoegen" 171 207 172 #: includes/admin-prompts.php: 289208 #: includes/admin-prompts.php:343 173 209 msgid "Please select a target language." 174 210 msgstr "Selecteer een doeltaal." 175 211 176 #: includes/admin-prompts.php: 286212 #: includes/admin-prompts.php:340 177 213 msgid "Please select a translation provider." 178 214 msgstr "Selecteer een vertaalprovider." 179 215 180 #: includes/admin-prompts.php: 283216 #: includes/admin-prompts.php:337 181 217 msgid "Please enter a prompt." 182 218 msgstr "Voer een prompt in." 183 219 184 #: includes/admin-prompts.php: 280220 #: includes/admin-prompts.php:334 185 221 msgid "Please enter a title." 186 222 msgstr "Voer een titel in." 187 223 188 #: includes/admin-prompts.php: 89 includes/admin-prompts.php:101189 #: includes/admin-prompts.php:1 21 includes/admin-prompts.php:131190 #: includes/admin-prompts.php:3 17224 #: includes/admin-prompts.php:117 includes/admin-prompts.php:146 225 #: includes/admin-prompts.php:170 includes/admin-prompts.php:180 226 #: includes/admin-prompts.php:371 191 227 msgid "Prompt not found." 192 228 msgstr "Prompt niet gevonden." 193 229 194 #: includes/admin-prompts.php: 87230 #: includes/admin-prompts.php:115 195 231 msgid "Prompt duplicated." 196 232 msgstr "Prompt gedupliceerd." 197 233 198 #: includes/admin-prompts.php: 685234 #: includes/admin-prompts.php:755 199 235 msgid "Save Prompt" 200 236 msgstr "Prompt opslaan" 201 237 202 #: includes/admin-prompts.php: 543238 #: includes/admin-prompts.php:613 203 239 msgid "Examples:" 204 240 msgstr "Voorbeelden:" 205 241 206 #: includes/admin-prompts.php: 539242 #: includes/admin-prompts.php:609 207 243 msgid "Modifiers: |q (force quotes), |raw (no quotes), |trim, |lower, |upper, |ucfirst, |translatable (force translate), |untranslatable (no translate)." 208 244 msgstr "Modifiers: |q (aanhalingstekens forceren), |raw (geen aanhalingstekens), |trim, |lower, |upper, |ucfirst, |translatable (vertalen forceren), |untranslatable (niet vertalen)." 209 245 210 #: includes/admin-prompts.php: 483246 #: includes/admin-prompts.php:553 211 247 msgid "Add New Prompt" 212 248 msgstr "Nieuwe prompt toevoegen" 213 249 214 #: includes/admin-prompts.php: 483250 #: includes/admin-prompts.php:553 215 251 msgid "Edit Prompt" 216 252 msgstr "Prompt bewerken" 217 253 218 #: includes/admin-prompts.php: 460254 #: includes/admin-prompts.php:530 219 255 msgid "No prompts added." 220 256 msgstr "Geen prompts toegevoegd." 221 257 222 #: includes/admin-prompts.php:3 21258 #: includes/admin-prompts.php:375 223 259 msgid "Prompt saved." 224 260 msgstr "Prompt opgeslagen." 225 261 226 #: includes/admin-prompts.php:3 15262 #: includes/admin-prompts.php:369 227 263 msgid "Prompt updated." 228 264 msgstr "Prompt geüpdatet." 229 265 230 #: includes/admin-prompts.php:1 19266 #: includes/admin-prompts.php:167 231 267 msgid "Prompt deleted." 232 268 msgstr "Prompt verwijderd." 233 269 234 #: includes/admin-prompts.php: 99270 #: includes/admin-prompts.php:144 235 271 msgid "Default prompt updated." 236 272 msgstr "Standaard prompt geüpdatet." 237 273 238 #: includes/admin-prompts.php: 380includes/class-aigude-admin-ui.php:155274 #: includes/admin-prompts.php:434 includes/class-aigude-admin-ui.php:155 239 275 #: includes/class-aigude-admin-ui.php:156 240 276 msgid "Prompts" … … 247 283 msgstr "Instellingen" 248 284 249 #: includes/admin-prompts.php: 655 includes/admin-prompts.php:715285 #: includes/admin-prompts.php:725 includes/admin-prompts.php:785 250 286 #: includes/admin-settings.php:724 includes/admin-templates.php:249 251 287 #: includes/admin-templates.php:278 … … 253 289 msgstr "Alle talen" 254 290 255 #: includes/admin-prompts.php: 644 includes/admin-prompts.php:714291 #: includes/admin-prompts.php:714 includes/admin-prompts.php:784 256 292 #: includes/admin-settings.php:716 includes/admin-settings.php:752 257 293 #: includes/admin-templates.php:241 includes/admin-templates.php:271 … … 357 393 msgstr "Afbeeldingen selecteren" 358 394 359 #: includes/list-view.php: 337395 #: includes/list-view.php:419 360 396 msgid "Alternative Text" 361 397 msgstr "Alternatieve tekst" 362 398 363 #: includes/list-view.php: 327399 #: includes/list-view.php:409 364 400 msgid "Continue with the current alternative text" 365 401 msgstr "Ga verder met de huidige alternatieve tekst" 366 402 367 #: includes/list-view.php: 323403 #: includes/list-view.php:405 368 404 msgid "Credits" 369 405 msgstr "Credits" 370 406 371 #: includes/list-view.php: 319407 #: includes/list-view.php:401 372 408 msgid "Generating" 373 409 msgstr "Aan het genereren" 374 410 375 #: includes/list-view.php: 318 includes/list-view.php:320411 #: includes/list-view.php:400 includes/list-view.php:402 376 412 msgid "Generate" 377 413 msgstr "Genereren" 378 414 379 #: includes/list-view.php:3 12415 #: includes/list-view.php:394 380 416 msgid "Custom prompt…" 381 417 msgstr "Aangepaste prompt…" 382 418 383 419 #. translators: %s: the file title (post_title) of the image. 384 #: includes/list-view.php: 265420 #: includes/list-view.php:342 385 421 msgid "Generate File Metadata \"%s\"" 386 422 msgstr "Genereer bestandsmetagegevens \"%s\"" 387 423 388 #: includes/list-view.php: 256424 #: includes/list-view.php:333 389 425 msgid "Open in Media Library" 390 426 msgstr "Openen in mediabibliotheek" 391 427 392 428 #. translators: %s: number of images on the current page. 393 #: includes/list-view.php: 224429 #: includes/list-view.php:301 394 430 msgid "Generate and save alternative text for %s images" 395 431 msgstr "Alternatieve tekst genereren en opslaan voor %s afbeeldingen" 396 432 397 #: includes/list-view.php:2 18assets/js/grid-actions.js:18433 #: includes/list-view.php:295 assets/js/grid-actions.js:18 398 434 #: assets/js/list-actions.js:19 399 435 msgid "Generating..." … … 402 438 #. translators: %s: number of images (the %s is replaced dynamically in JS for 403 439 #. the data attribute). 404 #: includes/list-view.php:2 13440 #: includes/list-view.php:290 405 441 msgid "Generate and save alternative text for %s Images" 406 442 msgstr "Alternatieve tekst genereren en opslaan voor %s afbeeldingen" … … 408 444 #. translators: %s = site language label, e.g. "English (US)". 409 445 #. translators: %s = site language label (e.g., "English (US)"). 410 #: includes/admin-prompts.php: 637 includes/admin-prompts.php:713446 #: includes/admin-prompts.php:707 includes/admin-prompts.php:783 411 447 #: includes/admin-settings.php:711 412 448 msgid "System (%s)" 413 449 msgstr "Systeem (%s)" 414 450 415 #: includes/list-view.php: 160451 #: includes/list-view.php:240 416 452 msgid "images." 417 453 msgstr "afbeeldingen." 418 454 419 #: includes/list-view.php: 158455 #: includes/list-view.php:238 420 456 msgid "Will process" 421 457 msgstr "Zal verwerken" 422 458 423 #: includes/list-view.php: 154459 #: includes/list-view.php:234 424 460 msgid "Select all (across pages)" 425 461 msgstr "Selecteer alles (over pagina's)" 426 462 427 #: includes/list-view.php: 150463 #: includes/list-view.php:230 428 464 msgid "Select all (this page)" 429 465 msgstr "Alles selecteren (deze pagina)" 430 466 431 #: includes/list-view.php: 146467 #: includes/list-view.php:226 432 468 msgid "Skip existing" 433 469 msgstr "Bestaande overslaan" 434 470 435 #: includes/list-view.php: 137471 #: includes/list-view.php:217 436 472 msgid "Per Page" 437 473 msgstr "Per pagina" 438 474 439 #: includes/list-view.php:1 16475 #: includes/list-view.php:196 440 476 msgid "Search" 441 477 msgstr "Zoeken" 442 478 443 #: includes/list-view.php:1 13479 #: includes/list-view.php:193 444 480 msgid "Search filename, title or alt-text…" 445 481 msgstr "Zoek op bestandsnaam, titel of alt‑tekst…" 446 482 447 #: includes/list-view.php:1 06483 #: includes/list-view.php:186 448 484 msgid "Search images" 449 485 msgstr "Afbeeldingen zoeken" 450 486 451 #: includes/list-view.php: 89487 #: includes/list-view.php:167 452 488 msgid "Alt Text Generator - List view" 453 489 msgstr "Alt‑tekst generator – Lijstweergave" 454 490 455 #: includes/grid-view.php: 82491 #: includes/grid-view.php:169 456 492 msgid "Generate alt text for selected" 457 493 msgstr "Alt‑tekst genereren voor geselecteerden" 458 494 459 #: includes/grid-view.php: 79495 #: includes/grid-view.php:166 460 496 msgid "Select images from Media Library" 461 497 msgstr "Afbeeldingen selecteren uit de mediabibliotheek" 462 498 463 #: includes/grid-view.php: 24499 #: includes/grid-view.php:112 464 500 msgid "Alt Text Generator - Grid view" 465 501 msgstr "Alt‑tekst generator – Rasterweergave" 466 502 467 #: includes/grid-view.php:10 includes/list-view.php:10503 #: aigude-tools.php:209 468 504 msgid "Describe the essential content of the picture briefly and concisely. Limit the text to a very short sentence" 469 505 msgstr "Beschrijf de essentiële inhoud van de afbeelding kort en bondig. Beperk de tekst tot één zeer korte zin" … … 477 513 msgstr "Template opslaan" 478 514 479 #: includes/admin-prompts.php: 685 includes/admin-templates.php:318515 #: includes/admin-prompts.php:755 includes/admin-templates.php:318 480 516 msgid "Update" 481 517 msgstr "Updaten" … … 495 531 msgstr "Voorbeeld:" 496 532 497 #: includes/admin-prompts.php: 540 includes/admin-templates.php:295533 #: includes/admin-prompts.php:610 includes/admin-templates.php:295 498 534 msgid "Unknown placeholders are left unchanged. Empty values become blank." 499 535 msgstr "Onbekende plaatshouders worden ongewijzigd gelaten. Lege waarden worden leeg." … … 505 541 #. translators: %width% and %height% are numeric image dimensions; numeric 506 542 #. placeholders are not quoted. 507 #: includes/admin-prompts.php: 538 includes/admin-templates.php:293543 #: includes/admin-prompts.php:608 includes/admin-templates.php:293 508 544 msgid "Numeric placeholders like %width% and %height% are not quoted (e.g. → 1920)." 509 545 msgstr "Numerieke plaatshouders zoals %width% en %height% worden niet geciteerd (bijv. → 1920)." … … 511 547 #. translators: %filename_no_ext% is the filename without extension. Example 512 548 #. shows automatic quoting of text placeholders. 513 #: includes/admin-prompts.php: 536 includes/admin-templates.php:291549 #: includes/admin-prompts.php:606 includes/admin-templates.php:291 514 550 msgid "Text placeholders are automatically quoted (e.g. %filename_no_ext% → \"car-photo-123\")." 515 551 msgstr "Tekst plaatshouders worden automatisch geciteerd (bijv. %filename_no_ext% → \"car-photo-123\")." … … 551 587 msgstr "Geen templates toegevoegd." 552 588 553 #: includes/admin-prompts.php: 456includes/admin-templates.php:171589 #: includes/admin-prompts.php:521 includes/admin-templates.php:171 554 590 msgid "Really delete?" 555 591 msgstr "Werkelijk verwijderen?" 556 592 557 #: includes/admin-prompts.php: 395 includes/admin-prompts.php:521593 #: includes/admin-prompts.php:449 includes/admin-prompts.php:591 558 594 #: includes/admin-templates.php:146 includes/admin-templates.php:222 559 #: includes/grid-view.php:31 includes/list-view.php:167 560 #: includes/list-view.php:279 595 #: includes/grid-view.php:121 includes/list-view.php:247 596 #: includes/list-view.php:356 assets/js/grid-actions.js:94 597 #: assets/js/list-actions.js:218 561 598 msgid "Prompt" 562 599 msgstr "Prompt" 563 600 564 #: includes/admin-prompts.php: 394 includes/admin-prompts.php:516601 #: includes/admin-prompts.php:448 includes/admin-prompts.php:586 565 602 #: includes/admin-templates.php:145 includes/admin-templates.php:217 566 603 msgid "Title" … … 591 628 msgstr "Onvoldoende machtigingen" 592 629 593 #: includes/admin-prompts.php: 456includes/admin-server.php:394630 #: includes/admin-prompts.php:522 includes/admin-server.php:394 594 631 #: includes/admin-settings.php:490 includes/admin-templates.php:171 595 632 msgid "Delete" … … 600 637 msgstr "Wil je deze server echt verwijderen?" 601 638 602 #: includes/admin-prompts.php: 454includes/admin-server.php:391639 #: includes/admin-prompts.php:512 includes/admin-server.php:391 603 640 #: includes/admin-settings.php:487 includes/admin-templates.php:170 604 641 msgid "Edit" 605 642 msgstr "Bewerken" 606 643 607 #: includes/admin-prompts.php: 450includes/admin-server.php:377644 #: includes/admin-prompts.php:506 includes/admin-server.php:377 608 645 #: includes/admin-settings.php:473 includes/admin-templates.php:166 609 646 msgid "Make default" 610 647 msgstr "Als standaard instellen" 611 648 612 #: includes/admin-prompts.php:4 23includes/admin-server.php:334649 #: includes/admin-prompts.php:477 includes/admin-server.php:334 613 650 #: includes/admin-settings.php:431 includes/admin-templates.php:148 614 651 msgid "Actions" … … 631 668 msgstr "Nieuwe server toevoegen" 632 669 633 #: includes/admin-prompts.php: 687 includes/admin-server.php:263670 #: includes/admin-prompts.php:757 includes/admin-server.php:263 634 671 #: includes/admin-server.php:318 includes/admin-settings.php:367 635 672 #: includes/admin-settings.php:416 includes/admin-templates.php:321 … … 638 675 639 676 #: includes/admin-server.php:262 includes/admin-settings.php:366 640 #: includes/list-view.php: 340677 #: includes/list-view.php:422 641 678 msgid "Save" 642 679 msgstr "Opslaan" … … 647 684 msgstr "Maak dit de standaard server" 648 685 649 #: includes/admin-prompts.php:4 22 includes/admin-prompts.php:448650 #: includes/admin-prompts.php:5 01 includes/admin-server.php:257686 #: includes/admin-prompts.php:476 includes/admin-prompts.php:504 687 #: includes/admin-prompts.php:571 includes/admin-server.php:257 651 688 #: includes/admin-server.php:312 includes/admin-server.php:332 652 689 #: includes/admin-server.php:374 includes/admin-settings.php:361 -
aigude-tools/trunk/languages/aigude-tools-nl_NL_formal.po
r3415292 r3480099 1 # Translation of Plugins - AiGude Tools - Development (trunk) in Dutch2 # This file is distributed under the same license as the Plugins - AiGude Tools - Development (trunk) package.1 # Translation of Plugins - AiGude Tools - Stable (latest release) in Dutch 2 # This file is distributed under the same license as the Plugins - AiGude Tools - Stable (latest release) package. 3 3 msgid "" 4 4 msgstr "" 5 "PO-Revision-Date: 2025-1 0-14 12:47:44+0000\n"5 "PO-Revision-Date: 2025-12-04 13:19:11+0000\n" 6 6 "MIME-Version: 1.0\n" 7 7 "Content-Type: text/plain; charset=UTF-8\n" … … 10 10 "X-Generator: GlotPress/4.0.3\n" 11 11 "Language: nl\n" 12 "Project-Id-Version: Plugins - AiGude Tools - Development (trunk)\n" 12 "Project-Id-Version: Plugins - AiGude Tools - Stable (latest release)\n" 13 14 #: assets/js/grid-actions.js:106 assets/js/list-actions.js:230 15 msgid "Close" 16 msgstr "Sluiten" 17 18 #: assets/js/grid-actions.js:104 assets/js/list-actions.js:228 19 msgid "Edit in Prompts" 20 msgstr "Bewerken in Prompts" 21 22 #: includes/grid-view.php:160 includes/list-view.php:284 23 msgid "View prompt details" 24 msgstr "Promptdetails bekijken" 25 26 #: includes/grid-view.php:99 includes/list-view.php:99 27 msgid "(No provider)" 28 msgstr "(Geen provider)" 29 30 #: includes/admin-prompts.php:516 31 msgid "Restore defaults" 32 msgstr "Standaardinstellingen herstellen" 33 34 #: includes/admin-prompts.php:156 35 msgid "The default prompt cannot be deleted." 36 msgstr "De standaardprompt kan niet worden verwijderd." 37 38 #: includes/admin-prompts.php:135 39 msgid "Default prompt restored." 40 msgstr "Standaardprompt hersteld." 41 42 #: includes/admin-prompts.php:94 43 msgid "Default prompt added." 44 msgstr "Standaardprompt toegevoegd." 45 46 #: aigude-tools.php:210 47 msgid "Default Prompt" 48 msgstr "Standaardprompt" 13 49 14 50 #: assets/js/grid-actions.js:26 assets/js/list-actions.js:34 … … 42 78 #: includes/admin-settings.php:698 43 79 msgid "Default alt text language" 44 msgstr "Standaard alt‑te ksttaal"80 msgstr "Standaard alt‑text taal" 45 81 46 82 #: includes/admin-settings.php:693 … … 77 113 #: includes/admin-settings.php:522 78 114 msgid "Select the translation provider for AI-generated alt texts. The provider determines the available target languages." 79 msgstr "Selecteer de vertaalprovider voor door AI gegenereerde alt‑te ksten. De provider bepaalt welke doeltalen beschikbaar zijn."115 msgstr "Selecteer de vertaalprovider voor door AI gegenereerde alt‑text. De provider bepaalt welke doeltalen beschikbaar zijn." 80 116 81 117 #. translators: %s = site language label, e.g. "English (US)". … … 110 146 msgstr "Instellingen voor vertaalproviders worden niet meer gebruikt." 111 147 112 #: includes/admin-prompts.php: 678148 #: includes/admin-prompts.php:748 113 149 msgid "When set, the List/Grid views lock the Alt Text Language selector to this provider/language." 114 msgstr "Als dit is ingesteld, vergrendelen de lijst-/rasterweergaven de taalkeuzelijst voor alt‑tekst op deze provider/taal."115 116 #: includes/admin-prompts.php: 676150 msgstr "Als u dit instelt, vergrendelen de lijst-/rasterweergaven de taalkeuzelijst voor alt‑text op deze provider/taal." 151 152 #: includes/admin-prompts.php:746 117 153 msgid "Pick a provider and language you always want the generated alt text to use, overriding the default selection in List/Grid views." 118 msgstr "Kies de provider en taal die u altijd wilt gebruiken voor de gegenereerde alt‑te kst; hiermee overschrijft u de standaardselectie in de lijst-/rasterweergaven."119 120 #: includes/admin-prompts.php:6 24154 msgstr "Kies de provider en taal die u altijd wilt gebruiken voor de gegenereerde alt‑text; hiermee overschrijft u de standaardselectie in de lijst-/rasterweergaven." 155 156 #: includes/admin-prompts.php:694 121 157 msgid "No languages available" 122 158 msgstr "Geen talen beschikbaar" 123 159 124 #: includes/admin-prompts.php:6 23 includes/admin-prompts.php:668160 #: includes/admin-prompts.php:693 includes/admin-prompts.php:738 125 161 msgid "Select a provider to choose a language" 126 162 msgstr "Selecteer een provider om een taal te kiezen" 127 163 128 #: includes/admin-prompts.php:6 18164 #: includes/admin-prompts.php:688 129 165 msgid "Language" 130 166 msgstr "Taal" 131 167 132 #: includes/admin-prompts.php:6 12 includes/admin-settings.php:549168 #: includes/admin-prompts.php:682 includes/admin-settings.php:549 133 169 msgid "Show only EU-based translation providers" 134 170 msgstr "Alleen vertaalproviders uit de EU tonen" 135 171 136 #: includes/admin-prompts.php: 593172 #: includes/admin-prompts.php:663 137 173 msgid "Provider" 138 174 msgstr "Provider" 139 175 140 #: includes/admin-prompts.php: 588176 #: includes/admin-prompts.php:658 141 177 msgid "Target Alt Text language" 142 msgstr "Doeltaal voor alt‑te kst"143 144 #: includes/admin-prompts.php:5 28178 msgstr "Doeltaal voor alt‑text" 179 180 #: includes/admin-prompts.php:598 145 181 msgid "Available placeholders" 146 182 msgstr "Beschikbare plaatshouders" 147 183 148 #: includes/admin-prompts.php:5 25184 #: includes/admin-prompts.php:595 149 185 msgid "You can write the prompt in any language supported by the provider you select for the Target Alt Text." 150 msgstr "U kunt de prompt schrijven in elke taal die wordt ondersteund door de provider die u selecteert voor de doeltaal van de alt‑te kst."151 152 #: includes/admin-prompts.php:5 10186 msgstr "U kunt de prompt schrijven in elke taal die wordt ondersteund door de provider die u selecteert voor de doeltaal van de alt‑text." 187 188 #: includes/admin-prompts.php:580 153 189 msgid "Make this the default prompt" 154 190 msgstr "Maak dit de standaardprompt" 155 191 156 #: includes/admin-prompts.php: 455192 #: includes/admin-prompts.php:513 157 193 msgid "Duplicate" 158 194 msgstr "Dupliceren" 159 195 160 #: includes/admin-prompts.php:4 43196 #: includes/admin-prompts.php:499 161 197 msgid "Not set" 162 198 msgstr "Niet ingesteld" 163 199 164 #: includes/admin-prompts.php: 396200 #: includes/admin-prompts.php:450 165 201 msgid "Target language" 166 202 msgstr "Doeltaal" 167 203 168 #: includes/admin-prompts.php: 386includes/admin-settings.php:375204 #: includes/admin-prompts.php:440 includes/admin-settings.php:375 169 205 msgid "Add New" 170 206 msgstr "Nieuwe toevoegen" 171 207 172 #: includes/admin-prompts.php: 289208 #: includes/admin-prompts.php:343 173 209 msgid "Please select a target language." 174 210 msgstr "Selecteer een doeltaal." 175 211 176 #: includes/admin-prompts.php: 286212 #: includes/admin-prompts.php:340 177 213 msgid "Please select a translation provider." 178 214 msgstr "Selecteer een vertaalprovider." 179 215 180 #: includes/admin-prompts.php: 283216 #: includes/admin-prompts.php:337 181 217 msgid "Please enter a prompt." 182 218 msgstr "Voer een prompt in." 183 219 184 #: includes/admin-prompts.php: 280220 #: includes/admin-prompts.php:334 185 221 msgid "Please enter a title." 186 222 msgstr "Voer een titel in." 187 223 188 #: includes/admin-prompts.php: 89 includes/admin-prompts.php:101189 #: includes/admin-prompts.php:1 21 includes/admin-prompts.php:131190 #: includes/admin-prompts.php:3 17224 #: includes/admin-prompts.php:117 includes/admin-prompts.php:146 225 #: includes/admin-prompts.php:170 includes/admin-prompts.php:180 226 #: includes/admin-prompts.php:371 191 227 msgid "Prompt not found." 192 228 msgstr "Prompt niet gevonden." 193 229 194 #: includes/admin-prompts.php: 87230 #: includes/admin-prompts.php:115 195 231 msgid "Prompt duplicated." 196 232 msgstr "Prompt gedupliceerd." 197 233 198 #: includes/admin-prompts.php: 685234 #: includes/admin-prompts.php:755 199 235 msgid "Save Prompt" 200 236 msgstr "Prompt opslaan" 201 237 202 #: includes/admin-prompts.php: 543238 #: includes/admin-prompts.php:613 203 239 msgid "Examples:" 204 240 msgstr "Voorbeelden:" 205 241 206 #: includes/admin-prompts.php: 539242 #: includes/admin-prompts.php:609 207 243 msgid "Modifiers: |q (force quotes), |raw (no quotes), |trim, |lower, |upper, |ucfirst, |translatable (force translate), |untranslatable (no translate)." 208 244 msgstr "Modifiers: |q (aanhalingstekens forceren), |raw (geen aanhalingstekens), |trim, |lower, |upper, |ucfirst, |translatable (vertalen forceren), |untranslatable (niet vertalen)." 209 245 210 #: includes/admin-prompts.php: 483246 #: includes/admin-prompts.php:553 211 247 msgid "Add New Prompt" 212 248 msgstr "Nieuwe prompt toevoegen" 213 249 214 #: includes/admin-prompts.php: 483250 #: includes/admin-prompts.php:553 215 251 msgid "Edit Prompt" 216 252 msgstr "Prompt bewerken" 217 253 218 #: includes/admin-prompts.php: 460254 #: includes/admin-prompts.php:530 219 255 msgid "No prompts added." 220 256 msgstr "Geen prompts toegevoegd." 221 257 222 #: includes/admin-prompts.php:3 21258 #: includes/admin-prompts.php:375 223 259 msgid "Prompt saved." 224 260 msgstr "Prompt opgeslagen." 225 261 226 #: includes/admin-prompts.php:3 15262 #: includes/admin-prompts.php:369 227 263 msgid "Prompt updated." 228 264 msgstr "Prompt geüpdatet." 229 265 230 #: includes/admin-prompts.php:1 19266 #: includes/admin-prompts.php:167 231 267 msgid "Prompt deleted." 232 268 msgstr "Prompt verwijderd." 233 269 234 #: includes/admin-prompts.php: 99270 #: includes/admin-prompts.php:144 235 271 msgid "Default prompt updated." 236 272 msgstr "Standaard prompt geüpdatet." 237 273 238 #: includes/admin-prompts.php: 380includes/class-aigude-admin-ui.php:155274 #: includes/admin-prompts.php:434 includes/class-aigude-admin-ui.php:155 239 275 #: includes/class-aigude-admin-ui.php:156 240 276 msgid "Prompts" … … 247 283 msgstr "Instellingen" 248 284 249 #: includes/admin-prompts.php: 655 includes/admin-prompts.php:715285 #: includes/admin-prompts.php:725 includes/admin-prompts.php:785 250 286 #: includes/admin-settings.php:724 includes/admin-templates.php:249 251 287 #: includes/admin-templates.php:278 … … 253 289 msgstr "Alle talen" 254 290 255 #: includes/admin-prompts.php: 644 includes/admin-prompts.php:714291 #: includes/admin-prompts.php:714 includes/admin-prompts.php:784 256 292 #: includes/admin-settings.php:716 includes/admin-settings.php:752 257 293 #: includes/admin-templates.php:241 includes/admin-templates.php:271 … … 357 393 msgstr "Afbeeldingen selecteren" 358 394 359 #: includes/list-view.php: 337395 #: includes/list-view.php:419 360 396 msgid "Alternative Text" 361 397 msgstr "Alternatieve tekst" 362 398 363 #: includes/list-view.php: 327399 #: includes/list-view.php:409 364 400 msgid "Continue with the current alternative text" 365 401 msgstr "Ga verder met de huidige alternatieve tekst" 366 402 367 #: includes/list-view.php: 323403 #: includes/list-view.php:405 368 404 msgid "Credits" 369 405 msgstr "Credits" 370 406 371 #: includes/list-view.php: 319407 #: includes/list-view.php:401 372 408 msgid "Generating" 373 409 msgstr "Aan het genereren" 374 410 375 #: includes/list-view.php: 318 includes/list-view.php:320411 #: includes/list-view.php:400 includes/list-view.php:402 376 412 msgid "Generate" 377 413 msgstr "Genereren" 378 414 379 #: includes/list-view.php:3 12415 #: includes/list-view.php:394 380 416 msgid "Custom prompt…" 381 417 msgstr "Aangepaste prompt…" 382 418 383 419 #. translators: %s: the file title (post_title) of the image. 384 #: includes/list-view.php: 265420 #: includes/list-view.php:342 385 421 msgid "Generate File Metadata \"%s\"" 386 422 msgstr "Genereer bestand metagegevens \"%s\"" 387 423 388 #: includes/list-view.php: 256424 #: includes/list-view.php:333 389 425 msgid "Open in Media Library" 390 426 msgstr "Openen in mediabibliotheek" 391 427 392 428 #. translators: %s: number of images on the current page. 393 #: includes/list-view.php: 224429 #: includes/list-view.php:301 394 430 msgid "Generate and save alternative text for %s images" 395 431 msgstr "Alternatieve tekst genereren en opslaan voor %s afbeeldingen" 396 432 397 #: includes/list-view.php:2 18assets/js/grid-actions.js:18433 #: includes/list-view.php:295 assets/js/grid-actions.js:18 398 434 #: assets/js/list-actions.js:19 399 435 msgid "Generating..." … … 402 438 #. translators: %s: number of images (the %s is replaced dynamically in JS for 403 439 #. the data attribute). 404 #: includes/list-view.php:2 13440 #: includes/list-view.php:290 405 441 msgid "Generate and save alternative text for %s Images" 406 442 msgstr "Alternatieve tekst genereren en opslaan voor %s afbeeldingen" … … 408 444 #. translators: %s = site language label, e.g. "English (US)". 409 445 #. translators: %s = site language label (e.g., "English (US)"). 410 #: includes/admin-prompts.php: 637 includes/admin-prompts.php:713446 #: includes/admin-prompts.php:707 includes/admin-prompts.php:783 411 447 #: includes/admin-settings.php:711 412 448 msgid "System (%s)" 413 449 msgstr "Systeem (%s)" 414 450 415 #: includes/list-view.php: 160451 #: includes/list-view.php:240 416 452 msgid "images." 417 453 msgstr "afbeeldingen." 418 454 419 #: includes/list-view.php: 158455 #: includes/list-view.php:238 420 456 msgid "Will process" 421 457 msgstr "Zal verwerken" 422 458 423 #: includes/list-view.php: 154459 #: includes/list-view.php:234 424 460 msgid "Select all (across pages)" 425 461 msgstr "Alles selecteren (over pagina's)" 426 462 427 #: includes/list-view.php: 150463 #: includes/list-view.php:230 428 464 msgid "Select all (this page)" 429 465 msgstr "Alles selecteren (deze pagina)" 430 466 431 #: includes/list-view.php: 146467 #: includes/list-view.php:226 432 468 msgid "Skip existing" 433 469 msgstr "Bestaande overslaan" 434 470 435 #: includes/list-view.php: 137471 #: includes/list-view.php:217 436 472 msgid "Per Page" 437 473 msgstr "Per pagina" 438 474 439 #: includes/list-view.php:1 16475 #: includes/list-view.php:196 440 476 msgid "Search" 441 477 msgstr "Zoeken" 442 478 443 #: includes/list-view.php:1 13479 #: includes/list-view.php:193 444 480 msgid "Search filename, title or alt-text…" 445 481 msgstr "Zoek op bestandsnaam, titel of alt‑tekst…" 446 482 447 #: includes/list-view.php:1 06483 #: includes/list-view.php:186 448 484 msgid "Search images" 449 485 msgstr "Afbeeldingen zoeken" 450 486 451 #: includes/list-view.php: 89487 #: includes/list-view.php:167 452 488 msgid "Alt Text Generator - List view" 453 489 msgstr "Alt‑tekst generator – Lijstweergave" 454 490 455 #: includes/grid-view.php: 82491 #: includes/grid-view.php:169 456 492 msgid "Generate alt text for selected" 457 493 msgstr "Alt‑tekst genereren voor geselecteerden" 458 494 459 #: includes/grid-view.php: 79495 #: includes/grid-view.php:166 460 496 msgid "Select images from Media Library" 461 497 msgstr "Afbeeldingen selecteren uit de mediabibliotheek" 462 498 463 #: includes/grid-view.php: 24499 #: includes/grid-view.php:112 464 500 msgid "Alt Text Generator - Grid view" 465 501 msgstr "Alt‑tekst generator – Rasterweergave" 466 502 467 #: includes/grid-view.php:10 includes/list-view.php:10503 #: aigude-tools.php:209 468 504 msgid "Describe the essential content of the picture briefly and concisely. Limit the text to a very short sentence" 469 505 msgstr "Beschrijf de essentiële inhoud van de afbeelding kort en bondig. Beperk de tekst tot één zeer korte zin" … … 477 513 msgstr "Template opslaan" 478 514 479 #: includes/admin-prompts.php: 685 includes/admin-templates.php:318515 #: includes/admin-prompts.php:755 includes/admin-templates.php:318 480 516 msgid "Update" 481 517 msgstr "Updaten" … … 495 531 msgstr "Voorbeeld:" 496 532 497 #: includes/admin-prompts.php: 540 includes/admin-templates.php:295533 #: includes/admin-prompts.php:610 includes/admin-templates.php:295 498 534 msgid "Unknown placeholders are left unchanged. Empty values become blank." 499 535 msgstr "Onbekende plaatshouders worden ongewijzigd gelaten. Lege waarden worden leeg." … … 505 541 #. translators: %width% and %height% are numeric image dimensions; numeric 506 542 #. placeholders are not quoted. 507 #: includes/admin-prompts.php: 538 includes/admin-templates.php:293543 #: includes/admin-prompts.php:608 includes/admin-templates.php:293 508 544 msgid "Numeric placeholders like %width% and %height% are not quoted (e.g. → 1920)." 509 545 msgstr "Numerieke plaatshouders zoals %width% en %height% worden niet geciteerd (bijv. → 1920)." … … 511 547 #. translators: %filename_no_ext% is the filename without extension. Example 512 548 #. shows automatic quoting of text placeholders. 513 #: includes/admin-prompts.php: 536 includes/admin-templates.php:291549 #: includes/admin-prompts.php:606 includes/admin-templates.php:291 514 550 msgid "Text placeholders are automatically quoted (e.g. %filename_no_ext% → \"car-photo-123\")." 515 551 msgstr "Tekst plaatshouders worden automatisch geciteerd (bijv. %filename_no_ext% → \"car-photo-123\")." … … 551 587 msgstr "Geen templates toegevoegd." 552 588 553 #: includes/admin-prompts.php: 456includes/admin-templates.php:171589 #: includes/admin-prompts.php:521 includes/admin-templates.php:171 554 590 msgid "Really delete?" 555 591 msgstr "Werkelijk verwijderen?" 556 592 557 #: includes/admin-prompts.php: 395 includes/admin-prompts.php:521593 #: includes/admin-prompts.php:449 includes/admin-prompts.php:591 558 594 #: includes/admin-templates.php:146 includes/admin-templates.php:222 559 #: includes/grid-view.php:31 includes/list-view.php:167 560 #: includes/list-view.php:279 595 #: includes/grid-view.php:121 includes/list-view.php:247 596 #: includes/list-view.php:356 assets/js/grid-actions.js:94 597 #: assets/js/list-actions.js:218 561 598 msgid "Prompt" 562 599 msgstr "Prompt" 563 600 564 #: includes/admin-prompts.php: 394 includes/admin-prompts.php:516601 #: includes/admin-prompts.php:448 includes/admin-prompts.php:586 565 602 #: includes/admin-templates.php:145 includes/admin-templates.php:217 566 603 msgid "Title" … … 591 628 msgstr "Onvoldoende machtigingen" 592 629 593 #: includes/admin-prompts.php: 456includes/admin-server.php:394630 #: includes/admin-prompts.php:522 includes/admin-server.php:394 594 631 #: includes/admin-settings.php:490 includes/admin-templates.php:171 595 632 msgid "Delete" … … 600 637 msgstr "Wilt u deze server echt verwijderen?" 601 638 602 #: includes/admin-prompts.php: 454includes/admin-server.php:391639 #: includes/admin-prompts.php:512 includes/admin-server.php:391 603 640 #: includes/admin-settings.php:487 includes/admin-templates.php:170 604 641 msgid "Edit" 605 642 msgstr "Bewerken" 606 643 607 #: includes/admin-prompts.php: 450includes/admin-server.php:377644 #: includes/admin-prompts.php:506 includes/admin-server.php:377 608 645 #: includes/admin-settings.php:473 includes/admin-templates.php:166 609 646 msgid "Make default" 610 647 msgstr "Als standaard instellen" 611 648 612 #: includes/admin-prompts.php:4 23includes/admin-server.php:334649 #: includes/admin-prompts.php:477 includes/admin-server.php:334 613 650 #: includes/admin-settings.php:431 includes/admin-templates.php:148 614 651 msgid "Actions" … … 631 668 msgstr "Nieuwe server toevoegen" 632 669 633 #: includes/admin-prompts.php: 687 includes/admin-server.php:263670 #: includes/admin-prompts.php:757 includes/admin-server.php:263 634 671 #: includes/admin-server.php:318 includes/admin-settings.php:367 635 672 #: includes/admin-settings.php:416 includes/admin-templates.php:321 … … 638 675 639 676 #: includes/admin-server.php:262 includes/admin-settings.php:366 640 #: includes/list-view.php: 340677 #: includes/list-view.php:422 641 678 msgid "Save" 642 679 msgstr "Opslaan" … … 647 684 msgstr "Maak dit de standaard server" 648 685 649 #: includes/admin-prompts.php:4 22 includes/admin-prompts.php:448650 #: includes/admin-prompts.php:5 01 includes/admin-server.php:257686 #: includes/admin-prompts.php:476 includes/admin-prompts.php:504 687 #: includes/admin-prompts.php:571 includes/admin-server.php:257 651 688 #: includes/admin-server.php:312 includes/admin-server.php:332 652 689 #: includes/admin-server.php:374 includes/admin-settings.php:361 -
aigude-tools/trunk/languages/aigude-tools-readme-de_DE.po
r3415292 r3480099 3 3 msgid "" 4 4 msgstr "" 5 "PO-Revision-Date: 2025-1 0-14 08:52:34+0000\n"5 "PO-Revision-Date: 2025-12-03 10:57:31+0000\n" 6 6 "MIME-Version: 1.0\n" 7 7 "Content-Type: text/plain; charset=UTF-8\n" … … 14 14 #. Short description. 15 15 #, gp-priority: high 16 msgid "Generate and manage image alt text with AI —featuring bulk actions, multilingual prompts, and seamless Media Library integration."16 msgid "Generate and manage image alt text with AI - featuring bulk actions, multilingual prompts, and seamless Media Library integration." 17 17 msgstr "Alt‑Texte für Bilder mit KI erzeugen und verwalten – mit Mehrfachaktionen, mehrsprachigen Prompts und nahtloser Mediathek-Integration." 18 18 … … 22 22 msgstr "AiGude Tools" 23 23 24 #. Found in faq paragraph. 25 msgid "Yes. You can define custom prompts using placeholders such as <code>%filename%</code> and <code>%title%</code>. Furthermore, you can choose the translation provider for each prompt that best suits you." 26 msgstr "Ja. Du kannst eigene Prompts mit Platzhaltern wie <code>%filename%</code> und <code>%title%</code> anlegen. Außerdem kannst du für jeden Prompt den Übersetzungsanbieter wählen, der am besten passt." 27 28 #. Found in faq paragraph. 29 msgid "All languages supported by DeepL and Google Translate. We offer translations into 190+ languages, including regional variants." 30 msgstr "Alle Sprachen, die DeepL und Google Translate unterstützen. Wir bieten Übersetzungen in über 190 Sprachen, einschließlich regionaler Varianten." 31 32 #. Found in description paragraph. 33 msgid "To use the plugin you’ll need an AiGude API key - grab one for free at <a href=\"https://aigude.io/en/Products/\">AiGude.io</a>." 34 msgstr "Für die Nutzung des Plugins brauchst du einen AiGude-API-Schlüssel - hol dir kostenlos einen auf <a href=\"https://aigude.io/en/Products/\">AiGude.io</a>." 35 36 #. Found in description paragraph. 37 msgid "Want to try it? <a href=\"https://aigude.io/en/Try-It/\">Visit our live demo.</a>" 38 msgstr "Du willst es ausprobieren? <a href=\"https://aigude.io/en/Try-It/\">Schau dir unsere Live-Demo an.</a>" 39 40 #. Found in description list item. 41 msgid "<strong>Settings</strong> – Manage API keys, view remaining credits, in one place." 42 msgstr "<strong>Einstellungen</strong> – API-Schlüssel verwalten und verbleibende Credits an einem Ort einsehen." 43 44 #. Screenshot description. 45 msgid "Edit Prompt" 46 msgstr "Prompt bearbeiten" 47 48 #. Screenshot description. 49 msgid "Prompts" 50 msgstr "Prompts" 51 24 52 #. Found in description paragraph. 25 53 msgid "<strong>Google Cloud Translation API</strong>" … … 63 91 64 92 #. Found in description list item. 65 msgid "<strong>Multilingual Support</strong> – Translate prompts and alt texts via DeepL or Google Cloud Translationwith one click."66 msgstr "<strong>Mehrsprachig e Unterstützung</strong> – Prompts und Alt‑Texte mit einem Klick über DeepL oder Google Cloud Translationübersetzen."93 msgid "<strong>Multilingual Support</strong> – Translate prompts and alt texts via DeepL or Google with one click." 94 msgstr "<strong>Mehrsprachigkeit</strong> – Prompts und Alt‑Texte per Klick über DeepL oder Google übersetzen." 67 95 68 96 #. Found in description header. … … 71 99 72 100 #. Found in faq paragraph. 73 msgid "All languages supported by DeepL (including variants such as EN-GB/EN-US and PT-PT/PT-BR). Your site’s language is offered as a “System” default." 74 msgstr "Alle von DeepL unterstützten Sprachen (einschließlich Varianten wie EN-GB/EN-US und PT-PT/PT-BR). Die Sprache deiner Website wird als „System“-Standard angeboten." 75 76 #. Found in faq paragraph. 77 msgid "Yes — an AiGude API key is required. Get one free at <a href=\"https://aigude.io\">AiGude.io</a>." 78 msgstr "Ja — ein AiGude-API-Schlüssel ist erforderlich. Du erhältst kostenlos einen unter <a href=\"https://aigude.io\">AiGude.io</a>." 101 msgid "Yes - an AiGude API key is required. Get one free at <a href=\"https://aigude.io\">AiGude.io</a>." 102 msgstr "Ja - ein AiGude-API-Schlüssel ist erforderlich. Du erhältst kostenlos einen unter <a href=\"https://aigude.io\">AiGude.io</a>." 79 103 80 104 #. Found in description paragraph. … … 94 118 msgstr "<a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude-FAQ (Deutsch)</a>" 95 119 96 #. Found in description paragraph.97 msgid "Note: An AiGude API key is required; get one free at <a href=\"https://aigude.io\">AiGude.io</a>."98 msgstr "Hinweis: Ein AiGude-API-Schlüssel ist erforderlich; du erhältst kostenfrei einen unter <a href=\"https://aigude.io\">AiGude.io</a>."99 100 #. Found in faq paragraph.101 msgid "Yes. You can define custom prompt templates using placeholders such as <code>%filename%</code>, <code>%title%</code>, and <code>%description%</code>."102 msgstr "Ja. Du kannst individuelle Prompt‑Vorlagen mit Platzhaltern wie <code>%filename%</code>, <code>%title%</code> und <code>%description%</code> definieren."103 104 120 #. Found in faq paragraph. 105 121 msgid "Only if you choose. You can skip existing alt texts or overwrite them with new ones." … … 149 165 msgid "" 150 166 "<strong>AiGude Tools</strong> improves accessibility and SEO by automatically generating alternative text for your images using an AI-powered API.\n" 151 "Save time, stay consistent, and enhance your site’s visibility in search engines —all without manually writing every alt text."167 "Save time, stay consistent, and enhance your site’s visibility in search engines - all without manually writing every alt text." 152 168 msgstr "" 153 169 "<strong>AiGude Tools</strong> verbessert Barrierefreiheit und SEO, indem Alternativtexte für deine Bilder automatisch über eine KI‑gestützte API generiert werden.\n" 154 "Spare Zeit, bleib konsistent und erhöhe die Sichtbarkeit deiner Website in Suchmaschinen —ohne jeden Alt‑Text manuell zu schreiben."170 "Spare Zeit, bleib konsistent und erhöhe die Sichtbarkeit deiner Website in Suchmaschinen - ohne jeden Alt‑Text manuell zu schreiben." 155 171 156 172 #. Found in description list item. … … 167 183 168 184 #. Found in description list item. 169 msgid "<strong>Settings</strong> – Manage API keys, view remaining credits, and pick translation providers in one place."170 msgstr "<strong>Einstellungen</strong> – API-Schlüssel verwalten, verbleibende Credits ansehen und Übersetzungsanbieter an einem Ort auswählen."171 172 #. Found in description list item.173 msgid "Hover tooltips reveal generated alt text at a glance"174 msgstr "Tooltips bei Mauszeigerkontakt zeigen erzeugte Alt‑Texte auf einen Blick"175 176 #. Found in description list item.177 185 msgid "Mini-grid shows your current selection" 178 186 msgstr "Mini‑Raster zeigt deine aktuelle Auswahl" … … 187 195 188 196 #. Found in description list item. 189 msgid "Select prompt templates andtarget languages for single or bulk actions"190 msgstr "Prompt ‑Vorlagen und Zielsprachen für Einzel‑oder Mehrfachaktionen auswählen"197 msgid "Select prompts with target languages for single or bulk actions" 198 msgstr "Prompts mit Zielsprachen für Einzel- oder Mehrfachaktionen auswählen" 191 199 192 200 #. Found in description list item. … … 228 236 #. Found in changelog list item. 229 237 #, gp-priority: low 238 msgid "New built-in default prompt applied across list/grid views." 239 msgstr "Neuer integrierter Standard-Prompt wird in Listen- und Rasteransicht verwendet." 240 241 #. Found in changelog list item. 242 #, gp-priority: low 243 msgid "Prompts in views grouped by provider, with tooltips and “Edit in Prompts” quick access." 244 msgstr "Prompts in den Ansichten nach Anbieter gruppiert, mit Tooltips und Schnellzugriff „In Prompts bearbeiten“." 245 246 #. Found in changelog list item. 247 #, gp-priority: low 230 248 msgid "Updated Prompts to support target languages across all translation providers." 231 249 msgstr "Prompts aktualisiert, damit Zielsprachen bei allen Übersetzungsanbietern unterstützt werden." -
aigude-tools/trunk/languages/aigude-tools-readme-de_DE_formal.po
r3415292 r3480099 3 3 msgid "" 4 4 msgstr "" 5 "PO-Revision-Date: 2025-1 0-14 08:52:34+0000\n"5 "PO-Revision-Date: 2025-12-03 11:00:00+0000\n" 6 6 "MIME-Version: 1.0\n" 7 7 "Content-Type: text/plain; charset=UTF-8\n" … … 22 22 msgstr "AiGude Tools" 23 23 24 #. Found in faq paragraph. 25 msgid "Yes. You can define custom prompts using placeholders such as <code>%filename%</code> and <code>%title%</code>. Furthermore, you can choose the translation provider for each prompt that best suits you." 26 msgstr "Ja. Sie können eigene Prompts mit Platzhaltern wie <code>%filename%</code> und <code>%title%</code> anlegen. Außerdem können Sie für jeden Prompt den Übersetzungsanbieter auswählen, der am besten passt." 27 28 #. Found in faq paragraph. 29 msgid "All languages supported by DeepL and Google Translate. We offer translations into 190+ languages, including regional variants." 30 msgstr "Alle Sprachen, die DeepL und Google Translate unterstützen. Wir bieten Übersetzungen in über 190 Sprachen, einschließlich regionaler Varianten." 31 32 #. Found in description paragraph. 33 msgid "To use the plugin you’ll need an AiGude API key — grab one for free at <a href=\"https://aigude.io/en/Products/\">AiGude.io</a>." 34 msgstr "Für die Nutzung des Plugins benötigen Sie einen AiGude-API-Schlüssel — holen Sie sich kostenlos einen auf <a href=\"https://aigude.io/en/Products/\">AiGude.io</a>." 35 36 #. Found in description paragraph. 37 msgid "Want to try it? <a href=\"https://aigude.io/en/Try-It/\">Visit our live demo.</a>" 38 msgstr "Möchten Sie es ausprobieren? <a href=\"https://aigude.io/en/Try-It/\">Besuchen Sie unsere Live-Demo.</a>" 39 40 #. Found in description list item. 41 msgid "<strong>Settings</strong> – Manage API keys, view remaining credits, in one place." 42 msgstr "<strong>Einstellungen</strong> – API-Schlüssel verwalten und verbleibende Guthaben an einem Ort einsehen." 43 44 #. Screenshot description. 45 msgid "Edit Prompt" 46 msgstr "Prompt bearbeiten" 47 48 #. Screenshot description. 49 msgid "Prompts" 50 msgstr "Prompts" 51 24 52 #. Found in description paragraph. 25 53 msgid "<strong>Google Cloud Translation API</strong>" … … 63 91 64 92 #. Found in description list item. 65 msgid "<strong>Multilingual Support</strong> – Translate prompts and alt texts via DeepL or Google Cloud Translationwith one click."66 msgstr "<strong>Mehrsprachig e Unterstützung</strong> – Prompts und Alt‑Texte mit einem Klick über DeepL oder Google Cloud Translationübersetzen."93 msgid "<strong>Multilingual Support</strong> – Translate prompts and alt texts via DeepL or Google with one click." 94 msgstr "<strong>Mehrsprachigkeit</strong> – Prompts und Alt‑Texte per Klick über DeepL oder Google übersetzen." 67 95 68 96 #. Found in description header. 69 97 msgid "Data Processing and Privacy" 70 98 msgstr "Datenverarbeitung und Datenschutz" 71 72 #. Found in faq paragraph.73 msgid "All languages supported by DeepL (including variants such as EN-GB/EN-US and PT-PT/PT-BR). Your site’s language is offered as a “System” default."74 msgstr "Alle von DeepL unterstützten Sprachen (einschließlich Varianten wie EN-GB/EN-US und PT-PT/PT-BR). Die Sprache Ihrer Website wird als „System“-Standard angeboten."75 99 76 100 #. Found in faq paragraph. … … 94 118 msgstr "<a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude-FAQ (Deutsch)</a>" 95 119 96 #. Found in description paragraph.97 msgid "Note: An AiGude API key is required; get one free at <a href=\"https://aigude.io\">AiGude.io</a>."98 msgstr "Hinweis: Ein AiGude-API-Schlüssel ist erforderlich; Sie erhalten kostenfrei einen unter <a href=\"https://aigude.io\">AiGude.io</a>."99 100 #. Found in faq paragraph.101 msgid "Yes. You can define custom prompt templates using placeholders such as <code>%filename%</code>, <code>%title%</code>, and <code>%description%</code>."102 msgstr "Ja. Sie können individuelle Prompt‑Vorlagen mit Platzhaltern wie <code>%filename%</code>, <code>%title%</code> und <code>%description%</code> definieren."103 104 120 #. Found in faq paragraph. 105 121 msgid "Only if you choose. You can skip existing alt texts or overwrite them with new ones." … … 167 183 168 184 #. Found in description list item. 169 msgid "<strong>Settings</strong> – Manage API keys, view remaining credits, and pick translation providers in one place."170 msgstr "<strong>Einstellungen</strong> – API-Schlüssel verwalten, verbleibende Credits ansehen und Übersetzungsanbieter an einem Ort auswählen."171 172 #. Found in description list item.173 msgid "Hover tooltips reveal generated alt text at a glance"174 msgstr "Tooltips bei Mauszeigerkontakt zeigen erzeugte Alt‑Texte auf einen Blick"175 176 #. Found in description list item.177 185 msgid "Mini-grid shows your current selection" 178 186 msgstr "Mini‑Raster zeigt Ihre aktuelle Auswahl" … … 187 195 188 196 #. Found in description list item. 189 msgid "Select prompt templates andtarget languages for single or bulk actions"190 msgstr "Prompt ‑Vorlagen und Zielsprachen für Einzel‑ oder Mehrfachaktionen auswählen"197 msgid "Select prompts with target languages for single or bulk actions" 198 msgstr "Prompts mit Zielsprachen für Einzel- oder Mehrfachaktionen auswählen." 191 199 192 200 #. Found in description list item. … … 228 236 #. Found in changelog list item. 229 237 #, gp-priority: low 238 msgid "New built-in default prompt applied across list/grid views." 239 msgstr "Neuer integrierter Standard-Prompt wird in Listen- und Rasteransicht verwendet." 240 241 #. Found in changelog list item. 242 #, gp-priority: low 243 msgid "Prompts in views grouped by provider, with tooltips and “Edit in Prompts” quick access." 244 msgstr "Prompts in den Ansichten nach Anbieter gruppiert, mit Tooltips und Schnellzugriff „In Prompts bearbeiten“." 245 246 #. Found in changelog list item. 247 #, gp-priority: low 230 248 msgid "Updated Prompts to support target languages across all translation providers." 231 249 msgstr "Prompts aktualisiert, damit Zielsprachen bei allen Übersetzungsanbietern unterstützt werden." -
aigude-tools/trunk/languages/aigude-tools-readme-nl_NL.po
r3408170 r3480099 3 3 msgid "" 4 4 msgstr "" 5 "PO-Revision-Date: 2025-1 0-07 21:30:46+0000\n"5 "PO-Revision-Date: 2025-12-09 15:44:50+0000\n" 6 6 "MIME-Version: 1.0\n" 7 7 "Content-Type: text/plain; charset=UTF-8\n" 8 8 "Content-Transfer-Encoding: 8bit\n" 9 9 "Plural-Forms: nplurals=2; plural=n != 1;\n" 10 "X-Generator: GlotPress/4.0. 1\n"10 "X-Generator: GlotPress/4.0.3\n" 11 11 "Language: nl\n" 12 12 "Project-Id-Version: Plugins - AiGude Tools - Stable Readme (latest release)\n" … … 23 23 24 24 #. Found in faq paragraph. 25 msgid "All languages supported by DeepL (including variants such as EN-GB/EN-US and PT-PT/PT-BR). Your site’s language is offered as a “System” default." 26 msgstr "Alle talen die door DeepL worden ondersteund (inclusief varianten zoals EN-GB/EN-US en PT-PT/PT-BR). De taal van je site wordt aangeboden als \"Systeem\"-standaardinstelling." 25 msgid "Yes. You can define custom prompts using placeholders such as <code>%filename%</code> and <code>%title%</code>. Furthermore, you can choose the translation provider for each prompt that best suits you." 26 msgstr "Ja. Je kunt eigen prompts maken met plaatshouders zoals <code>%filename%</code> en <code>%title%</code>. Daarnaast kun je per prompt de vertaalprovider kiezen die het beste past." 27 28 #. Found in faq paragraph. 29 msgid "All languages supported by DeepL and Google Translate. We offer translations into 190+ languages, including regional variants." 30 msgstr "Alle talen die DeepL en Google Translate ondersteunen. We bieden vertalingen in meer dan 190 talen, inclusief regionale varianten." 31 32 #. Found in description paragraph. 33 msgid "To use the plugin you’ll need an AiGude API key — grab one for free at <a href=\"https://aigude.io/en/Products/\">AiGude.io</a>." 34 msgstr "Om de plugin te gebruiken heb je een AiGude API-sleutel nodig — vraag er gratis een aan op <a href=\"https://aigude.io/en/Products/\">AiGude.io</a>." 35 36 #. Found in description paragraph. 37 msgid "Want to try it? <a href=\"https://aigude.io/en/Try-It/\">Visit our live demo.</a>" 38 msgstr "Wil je het proberen? <a href=\"https://aigude.io/en/Try-It/\">Bezoek onze live demo.</a>" 39 40 #. Found in description list item. 41 msgid "<strong>Settings</strong> – Manage API keys, view remaining credits, in one place." 42 msgstr "<strong>Instellingen</strong> – API-sleutels beheren en resterende tegoeden op één plek bekijken." 43 44 #. Screenshot description. 45 msgid "Edit Prompt" 46 msgstr "Prompt bewerken" 47 48 #. Screenshot description. 49 msgid "Prompts" 50 msgstr "Prompts" 51 52 #. Found in description paragraph. 53 msgid "<strong>Google Cloud Translation API</strong>" 54 msgstr "<strong>Google Cloud Translation API</strong>" 55 56 #. Found in description paragraph. 57 msgid "<strong>DeepL API</strong>" 58 msgstr "<strong>DeepL API</strong>" 59 60 #. Found in description paragraph. 61 msgid "Translations may be performed via the <strong>DeepL API</strong> or the <strong>Google Cloud Translation API</strong>, depending on your configuration." 62 msgstr "Vertalingen kunnen worden uitgevoerd via de <strong>DeepL API</strong> of de <strong>Google Cloud Translation API</strong>, afhankelijk van je configuratie." 63 64 #. Found in description list item. 65 msgid "For more information on how Google handles translation data, see Google’s <a href=\"https://cloud.google.com/translate/data-usage\">Data Usage FAQ</a>." 66 msgstr "Voor meer informatie over hoe Google vertaalgegevens verwerkt, zie Google's <a href=\"https://cloud.google.com/translate/data-usage\">Veelgestelde vragen over gegevensgebruik</a>." 67 68 #. Found in description list item. 69 msgid "We use the Google Cloud Translation API v3 with the dedicated EU endpoint <code>translate-eu.googleapis.com</code>; see Google’s <a href=\"https://docs.cloud.google.com/translate/docs/advanced/endpoints\">endpoint documentation</a> for details." 70 msgstr "We gebruiken de Google Cloud Translation API v3 met het speciale EU endpoint <code>translate-eu.googleapis.com</code>; zie Google's <a href=\"https://docs.cloud.google.com/translate/docs/advanced/endpoints\">endpoint documentatie</a> voor details." 71 72 #. Found in description list item. 73 msgid "Only the text to be translated and the selected language parameters are transmitted to Google." 74 msgstr "Alleen de tekst die moet worden vertaald en de geselecteerde taalparameters worden naar Google verzonden." 75 76 #. Found in description list item. 77 msgid "For details, see the <a href=\"https://www.deepl.com/privacy\">DeepL Privacy Policy</a>." 78 msgstr "Voor details, zie het <a href=\"https://www.deepl.com/privacy\">DeepL privacybeleid</a>." 79 80 #. Found in description list item. 81 msgid "DeepL is headquartered in Germany and operates under EU GDPR standards." 82 msgstr "DeepL is gevestigd in Duitsland en opereert volgens EU AVG/GDPR normen." 83 84 #. Found in description list item. 85 msgid "Only the text to be translated and the selected language parameters are transmitted to DeepL." 86 msgstr "Alleen de tekst die moet worden vertaald en de geselecteerde taalparameters worden naar deepL verzonden." 87 88 #. Found in description list item. 89 msgid "<strong>Prompts</strong> – Create template-driven prompts with placeholders (e.g., <code>%filename%</code>, <code>%title%</code>) and lock provider-specific target languages." 90 msgstr "<strong>Prompts</strong> – maak templategestuurde prompts met plaatshouders (bijv. <code>%filename%</code>, <code>%title%</code>) en vergrendel providerspecifieke doeltalen." 91 92 #. Found in description list item. 93 msgid "<strong>Multilingual Support</strong> – Translate prompts and alt texts via DeepL or Google with one click." 94 msgstr "<strong>Meertalige ondersteuning</strong> – Vertaal prompts en alt-teksten via DeepL of Google met één klik." 95 96 #. Found in description header. 97 msgid "Data Processing and Privacy" 98 msgstr "Gegevensverwerking en privacy" 27 99 28 100 #. Found in faq paragraph. … … 32 104 #. Found in description paragraph. 33 105 msgid "" 34 " Links:\n"35 "- <a href=\"https://aigude.io/Informationen/Datenschutz\"> Privacy Policy</a>\n"36 "- <a href=\"https://aigude.io/Informationen/AGB\"> Terms of Service</a>\n"106 "Privacy Info:\n" 107 "- <a href=\"https://aigude.io/Informationen/Datenschutz\">AiGude Privacy Policy</a>\n" 108 "- <a href=\"https://aigude.io/Informationen/AGB\">AiGude Terms of Service</a>\n" 37 109 "- <a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude FAQ (German)</a>" 38 110 msgstr "" 39 " Links:\n"40 "- <a href=\"https://aigude.io/Informationen/Datenschutz\"> Privacybeleid</a>\n"41 "- <a href=\"https://aigude.io/Informationen/AGB\"> Servicevoorwaarden</a>\n"111 "Privacy info:\n" 112 "- <a href=\"https://aigude.io/Informationen/Datenschutz\">AiGude privacybeleid</a> \n" 113 "- <a href=\"https://aigude.io/Informationen/AGB\">AiGude dienstvoorwaarden</a>\n" 42 114 "- <a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude FAQ (Duits)</a>" 43 115 … … 45 117 msgid "<a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude FAQ (German)</a>" 46 118 msgstr "<a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude FAQ (Duits)</a>" 47 48 #. Found in description paragraph.49 msgid "Note: An AiGude API key is required; get one free at <a href=\"https://aigude.io\">AiGude.io</a>."50 msgstr "Let op: een AiGude API‑sleutel is vereist; vraag er gratis een aan via <a href=\"https://aigude.io\">AiGude.io</a>."51 52 #. Found in description list item.53 msgid "<strong>Multilingual Support</strong> – Translate prompts and alt texts via DeepL or Google Cloud Translation with one click."54 msgstr "<strong>Meertalige ondersteuning</strong> – Vertaal prompts en alt‑teksten met één klik via DeepL of Google Cloud Translation."55 56 #. Found in description list item.57 msgid "Prompt and alt‑text translation in all DeepL‑supported languages (e.g., English, German, Spanish, French, Italian, Portuguese [PT-PT/PT-BR], Dutch, Polish, Russian, Chinese, Japanese, Korean, Swedish, Danish, Norwegian [NB], Finnish, Greek, Turkish, Ukrainian, Romanian, Czech, Slovak, Slovenian, Lithuanian, Latvian, Estonian, Bulgarian, Indonesian, Arabic)"58 msgstr "Vertaling van prompts en alt‑teksten in alle door DeepL ondersteunde talen (bijv. Engels, Duits, Spaans, Frans, Italiaans, Portugees [PT-PT/PT-BR], Nederlands, Pools, Russisch, Chinees, Japans, Koreaans, Zweeds, Deens, Noors [NB], Fins, Grieks, Turks, Oekraïens, Roemeens, Tsjechisch, Slowaaks, Sloveens, Litouws, Lets, Ests, Bulgaars, Indonesisch, Arabisch)"59 60 #. Found in description paragraph.61 msgid ""62 "2) Translation\n"63 " - Sent: only text strings that require translation (e.g., parts of your prompt or generated text), the target language code, and your API key.\n"64 " - Purpose: to translate text for accessibility/SEO; handled server‑side."65 msgstr ""66 "2) Vertaling\n"67 " – Verzonden: alleen tekst strings die vertaald moeten worden (bijv. delen van je prompt of gegenereerde tekst), de doeltaalcode en je API‑sleutel.\n"68 " – Doel: tekst vertalen voor toegankelijkheid/SEO; server‑side afgehandeld."69 70 #. Found in description paragraph.71 msgid "This plugin connects to AiGude’s captioning service to generate and (where applicable) translate image alternative text."72 msgstr "Deze plugin maakt verbinding met de vastlegging dienst van AiGude om alternatieve tekst (alt‑tekst) voor afbeeldingen te genereren en, waar van toepassing, te vertalen."73 74 #. Found in faq paragraph.75 msgid "Yes. You can define custom prompt templates using placeholders such as <code>%filename%</code>, <code>%title%</code>, and <code>%description%</code>."76 msgstr "Ja. Je kunt aangepaste prompt templates definiëren met plaatshouders zoals <code>%filename%</code>, <code>%title%</code>, en <code>%description%</code> (beschrijving)."77 119 78 120 #. Found in faq paragraph. … … 110 152 #. Found in installation list item. 111 153 msgid "Upload the plugin files to <code>/wp-content/plugins/aigude-tools</code>, or install it directly from the WordPress plugin directory." 112 msgstr "Upload de plugin-bestanden naar <code>/wp-content/plugins/aigude-tools</code>, of installeer de plugin rechtstreeks vanuit de WordPress plugin directory." 113 114 #. Found in description paragraph. 115 msgid "On multisite, the uninstaller runs for every site in the network." 116 msgstr "Op een multisite netwerk wordt de de-installatie voor elke site in het netwerk uitgevoerd." 117 118 #. Found in description paragraph. 119 msgid "" 120 "This plugin ships with an <code>uninstall.php</code> to remove its data when you uninstall it from WordPress.\n" 121 "It deletes:\n" 122 "- Options: <code>aigude_alt_servers</code>, <code>aigude_target_language</code>\n" 123 "- Attachment meta starting with <code>_aigude_alt_</code> (e.g., <code>_aigude_alt_suggestion</code>)." 124 msgstr "" 125 "Deze plugin wordt geleverd met een <code>uninstall.php</code> om gegevens te verwijderen wanneer je deze vanuit WordPress deïnstalleert.\n" 126 "Daarmee worden verwijderd:\n" 127 "- Opties: <code>aigude_alt_servers</code>, <code>aigude_target_language</code>\n" 128 "- Metagegevens van bijlagen die beginnen met <code>_aigude_alt_</code> (bijv. <code>_aigude_alt_suggestion</code>)." 129 130 #. Found in description paragraph. 131 msgid "All requests are made over HTTPS." 132 msgstr "Alle aanvragen worden via HTTPS verstuurd." 133 134 #. Found in description paragraph. 135 msgid "" 136 "3) Remaining credits (<code>remaining_credits</code>)\n" 137 " - Sent: your API key.\n" 138 " - Purpose: to display remaining credits in the admin screen." 139 msgstr "" 140 "3) Resterende credits (<code>remaining_credits</code>)\n" 141 " – Verzonden: je API‑sleutel.\n" 142 " – Doel: de resterende credits weergeven in het beheerscherm." 143 144 #. Found in description paragraph. 145 msgid "" 146 "1) Alt‑text generation\n" 147 " - Sent: a resized copy of the selected image file, your prompt template (text), selected target language code, and your API key.\n" 148 " - Purpose: to produce a caption/alt text for accessibility and SEO.\n" 149 " - Not sent: WordPress user emails, passwords, or front-end visitor data." 150 msgstr "" 151 "1) Genereren van alt‑teksten\n" 152 " – Verzonden: een verkleinde kopie van het geselecteerde afbeeldingsbestand, je prompttemplate (tekst), de gekozen doeltaalcode en je API‑sleutel.\n" 153 " – Doel: een bijschrift/alt‑tekst produceren voor toegankelijkheid en SEO.\n" 154 " – Niet verzonden: e-mails van WordPress-gebruikers, wachtwoorden of gegevens van front-endbezoekers." 155 156 #. Found in description paragraph. 157 msgid "The plugin only sends data when an administrator performs an action in wp-admin (e.g., “Generate” or “Translate”), or when the admin explicitly clicks “Get Credits”." 158 msgstr "De plugin verzendt alleen gegevens wanneer een beheerder een handeling uitvoert in wp‑admin (bijv. ‘Genereren’ of ‘Vertalen’), of wanneer de beheerder expliciet op ‘Credits ophalen’ klikt." 154 msgstr "Upload de plugin bestanden naar <code>/wp-content/plugins/aigude-tools</code>, of installeer de plugin rechtstreeks vanuit de WordPress plugin directory." 155 156 #. Found in description paragraph. 157 msgid "This plugin connects to AiGude’s captioning service to generate and translate image alternative text." 158 msgstr "Deze plugin maakt verbinding met de captioning dienst van AiGude om alternatieve tekst voor afbeeldingen te genereren en te vertalen." 159 159 160 160 #. Found in description paragraph. 161 161 msgid "Perfect for website owners, photographers, agencies, and content teams who want to improve accessibility and SEO without hours of manual work." 162 msgstr "Perfect voor site -eigenaren, fotografen, bureaus en inhoudsteams die de toegankelijkheid en SEO willen verbeteren zonder uren handmatig werk."162 msgstr "Perfect voor site‑eigenaren, fotografen, bureaus en contentteams die de toegankelijkheid en SEO willen verbeteren zonder uren handmatig werk." 163 163 164 164 #. Found in description paragraph. … … 171 171 172 172 #. Found in description list item. 173 msgid "AiGude acts as a processor for the limited purpose of generating/translation results."174 msgstr "AiGude treedt op als verwerker voor het beperkte doel van het genereren/vertalen van resultaten."175 176 #. Found in description list item.177 msgid "Site administrators act as data controllers for the content they send (e.g., images that could include personal data)."178 msgstr "Sitebeheerders zijn de verwerkingsverantwoordelijken voor de inhoud die zij verzenden (bijv. afbeeldingen die persoonsgegevens kunnen bevatten)."179 180 #. Found in description list item.181 msgid "Translations may be performed via the <strong>DeepL API</strong> or the <strong>Google Cloud Translation API</strong>, depending on your configuration."182 msgstr "Vertalingen kunnen, afhankelijk van je configuratie, plaatsvinden via de <strong>DeepL API</strong> of de <strong>Google Cloud Translation API</strong>."183 184 #. Found in description list item.185 msgid "Only the text to be translated and language parameters are transmitted to DeepL. Processing occurs on DeepL’s infrastructure. See the <a href=\"https://www.deepl.com/privacy\">DeepL Privacy Policy</a>."186 msgstr "Alleen de te vertalen tekst en taalparameters worden naar DeepL verzonden. De verwerking vindt plaats op de infrastructuur van DeepL. Zie het <a href=\"https://www.deepl.com/privacy\">privacybeleid van DeepL</a>."187 188 #. Found in description list item.189 msgid "We use the Google Cloud Translation API v3 with the dedicated EU endpoint <code>translate-eu.googleapis.com</code>; see Google’s <a href=\"https://docs.cloud.google.com/translate/docs/advanced/endpoints\">endpoint documentation</a> for details."190 msgstr "We gebruiken de Google Cloud Translation API v3 met het speciale EU-endpoint <code>translate-eu.googleapis.com</code>; zie de <a href=\"https://docs.cloud.google.com/translate/docs/advanced/endpoints\">endpointdocumentatie</a> van Google voor details."191 192 msgid "For more information on how Google handles translation data, see Google’s <a href=\"https://cloud.google.com/translate/data-usage\">Data Usage FAQ</a>."193 msgstr "Meer informatie over hoe Google vertaalgegevens verwerkt, vind je in Google’s <a href=\"https://cloud.google.com/translate/data-usage\">Data Usage FAQ</a>."194 195 #. Found in description list item.196 173 msgid "Alt-text generation is performed on AiGude–managed infrastructure located in the European Union. Image files are sent over HTTPS to this infrastructure. No third-party vendors are used for alt-text generation." 197 174 msgstr "Het genereren van alt‑teksten gebeurt op door AiGude beheerde infrastructuur in de Europese Unie. Afbeeldingsbestanden worden via HTTPS naar deze infrastructuur verzonden. Voor het genereren van alt‑teksten worden geen externe leveranciers gebruikt." 198 175 199 176 #. Found in description list item. 200 msgid "<code>_aigude_alt_suggestion</code> (last generated suggestion)"201 msgstr "<code>_aigude_alt_suggestion</code> (laatst gegenereerde suggestie)"202 203 #. Found in description list item.204 msgid "<code>_wp_attachment_image_alt</code> (final alt text)"205 msgstr "<code>_wp_attachment_image_alt</code> (definitieve alt‑tekst)"206 207 #. Found in description list item.208 msgid "The plugin stores generated results locally in WordPress as attachment meta:"209 msgstr "De plugin slaat gegenereerde resultaten lokaal op in WordPress als metagegevens van bijlagen:"210 211 #. Found in description list item.212 177 msgid "We do <strong>not</strong> store images after processing; they are held only in memory long enough to generate a response." 213 msgstr "W ij slaan afbeeldingen <strong>niet</strong> op na de verwerking; zij blijven slechts in het geheugen zolang dat nodig isom een reactie te genereren."178 msgstr "We slaan <strong>geen</strong> afbeeldingen op na verwerking; ze worden alleen in het geheugen gehouden, lang genoeg om een reactie te genereren." 214 179 215 180 #. Found in description list item. … … 218 183 219 184 #. Found in description list item. 220 msgid "<strong>Settings</strong> – Manage API keys, view remaining credits, and pick translation providers in one place."221 msgstr "<strong>Instellingen</strong> – Beheer je API-sleutels, bekijk resterende credits en kies vertaalproviders op één plek."222 223 #. Found in description list item.224 msgid "<strong>Prompts</strong> – Create template-driven prompts with placeholders (e.g., <code>%filename%</code>, <code>%title%</code>) and lock provider-specific target languages."225 msgstr "<strong>Prompts</strong> – Maak sjabloon-gestuurde prompts met placeholders (bijv. <code>%filename%</code>, <code>%title%</code>) en vergrendel providerspecifieke doeltalen."226 227 #. Found in description list item.228 msgid "Hover tooltips reveal generated alt text at a glance"229 msgstr "Over tooltips hoveren toont gegenereerde alt-tekst in één oogopslag"230 231 #. Found in description list item.232 185 msgid "Mini-grid shows your current selection" 233 msgstr "Mini ‑raster toont je huidige selectie"186 msgstr "Mini raster toont je huidige selectie" 234 187 235 188 #. Found in description list item. … … 242 195 243 196 #. Found in description list item. 244 msgid "Select prompt templates andtarget languages for single or bulk actions"245 msgstr "Selecteer prompt templates en doeltalen voor individuele of bulkacties"197 msgid "Select prompts with target languages for single or bulk actions" 198 msgstr "Selecteer prompts met doeltalen voor enkele of bulkacties" 246 199 247 200 #. Found in description list item. … … 268 221 msgid "<strong>AI-Powered Alt Text</strong> – Automatically generate descriptive alt text for your images using advanced AI." 269 222 msgstr "<strong>AI‑gestuurde alt‑tekst</strong> – Genereer automatisch beschrijvende alt‑tekst voor je afbeeldingen met geavanceerde AI." 270 271 #. Found in description list item.272 msgid "Servers - API key and credit usage management in the Server settings "273 msgstr "Servers – beheer van API‑sleutel en credit verbruik in de serverinstellingen "274 275 #. Found in description list item.276 msgid "Templates - Customizable prompt templates with placeholders (e.g. <code>%filename%</code>, <code>%title%</code>) "277 msgstr "Templates - Aanpasbare prompt templates met plaatshouders (bijv. <code>%filename%</code>, <code>%title%</code>) "278 279 #. Found in description list item.280 msgid "Hover over images to view the generated alt text in tooltips."281 msgstr "Over afbeeldingen hoveren om de gegenereerde alt‑tekst in tooltips te bekijken."282 283 #. Found in description list item.284 msgid "See a mini grid of your current selection."285 msgstr "Bekijk een mini‑raster van je huidige selectie."286 287 #. Found in description list item.288 msgid "Grid View — Select multiple images directly from the Media Library and generate alt text for all of them at once."289 msgstr "Rasterweergave — Selecteer meerdere afbeeldingen rechtstreeks vanuit de Mediabibliotheek en genereer in één keer alt‑tekst voor alle geselecteerde items."290 291 #. Found in description list item.292 msgid "Choose a prompt template and target language for single or bulk generation."293 msgstr "Kies een prompt template en doeltaal voor individuele of bulk generatie."294 295 #. Found in description list item.296 msgid "Preview and edit generated text for a single image before saving."297 msgstr "Bekijk een voorbeeld en bewerk de gegenereerde tekst voor één afbeelding voordat je opslaat."298 299 #. Found in description list item.300 msgid "Option to skip existing alt text."301 msgstr "Optie om bestaande alt‑tekst over te slaan."302 303 #. Found in description list item.304 msgid "Bulk-generate alt text for selected images (per page or across pages)."305 msgstr "Genereer alt‑tekst in bulk voor geselecteerde afbeeldingen (per pagina of over meerdere pagina's)."306 307 #. Found in description list item.308 msgid "List View — Displays image cards that match your search filters."309 msgstr "Lijstweergave — Toont afbeeldingskaarten die aan je zoekfilters voldoen."310 311 #. Found in description list item.312 msgid "Automatic alt text generation for images using AI"313 msgstr "Automatische generatie van alt‑tekst voor afbeeldingen met AI"314 315 #. Found in description header.316 msgid "Uninstall and Data Deletion"317 msgstr "De-installeren en gegevensverwijdering"318 319 #. Found in description header.320 msgid "Legal Basis / Controller"321 msgstr "Juridische grondslag / verwerkingsverantwoordelijke"322 323 324 #. Found in description header.325 msgid "What Data Is Sent and When"326 msgstr "Welke gegevens worden wanneer verzonden"327 328 223 329 224 #. Found in description header. … … 341 236 #. Found in changelog list item. 342 237 #, gp-priority: low 238 msgid "New built-in default prompt applied across list/grid views." 239 msgstr "Nieuwe ingebouwde standaardprompt toegepast in lijst- en rasterweergave." 240 241 #. Found in changelog list item. 242 #, gp-priority: low 243 msgid "Prompts in views grouped by provider, with tooltips and “Edit in Prompts” quick access." 244 msgstr "Prompts in weergaven gegroepeerd per provider, met tooltips en snelkoppeling \"Bewerken in Prompts\"." 245 246 #. Found in changelog list item. 247 #, gp-priority: low 248 msgid "Updated Prompts to support target languages across all translation providers." 249 msgstr "Geüpdatete prompts ter ondersteuning van doeltalen voor alle vertaalproviders." 250 251 #. Found in changelog list item. 252 #, gp-priority: low 253 msgid "Added Google Cloud Translation as an additional translation provider." 254 msgstr "Google Cloud Translation toegevoegd als een extra vertaalprovider." 255 256 #. Found in changelog list item. 257 #, gp-priority: low 258 msgid "Added detailed explanations for all placeholder modifiers used in Prompts." 259 msgstr "Gedetailleerde uitleg toegevoegd voor alle plaatshouder modifiers die in prompts worden gebruikt." 260 261 #. Found in changelog list item. 262 #, gp-priority: low 263 msgid "Renamed the Server section to Settings." 264 msgstr "Server sectie hernoemd naar Instellingen." 265 266 #. Found in changelog list item. 267 #, gp-priority: low 268 msgid "Renamed the Templates section to Prompts." 269 msgstr "Templates sectie hernoemd naar Prompts." 270 271 #. Found in changelog list item. 272 #, gp-priority: low 273 msgid "Docs: Updated readme links" 274 msgstr "Docs: readme links geüpdatet" 275 276 #. Found in changelog list item. 277 #, gp-priority: low 278 msgid "Docs: Readme and translations updated." 279 msgstr "Docs: readme en vertalingen geüpdatet." 280 281 #. Found in changelog list item. 282 #, gp-priority: low 343 283 msgid "Prompt and alt‑text translation in all DeepL languages" 344 msgstr "Vertaling van prompts en alt‑teksten in alle DeepL‑talen" 345 346 #. Found in description header. 347 msgid "Data Processing and Privacy" 348 msgstr "Gegevensverwerking en privacy" 349 350 #. Found in changelog list item. 351 #, gp-priority: low 352 msgid "Docs: Updated readme links (Markdown link labels for FAQ, DeepL, AiGude.io)" 353 msgstr "Documentatie: readme-links geüpdatet (Markdown-linklabels voor FAQ, DeepL, AiGude.io)" 284 msgstr "Vertaling van prompts en alt‑teksten in alle DeepL talen" 354 285 355 286 #. Found in changelog list item. … … 397 328 msgid "Added search in List view" 398 329 msgstr "Zoeken toegevoegd in lijstweergave" 399 400 #. Found in changelog list item.401 #, gp-priority: low402 msgid "Renamed the Templates section to Prompts."403 msgstr "Sectie Templates hernoemd naar Prompts."404 405 #. Found in changelog list item.406 #, gp-priority: low407 msgid "Added detailed explanations for all placeholder modifiers used in Prompts."408 msgstr "Uitgebreide uitleg toegevoegd voor alle plaatsaanduidings‑modificatoren die in Prompts worden gebruikt."409 410 #. Found in changelog list item.411 #, gp-priority: low412 msgid "Renamed the Server section to Settings."413 msgstr "Sectie Server hernoemd naar Instellingen." -
aigude-tools/trunk/languages/aigude-tools-readme-nl_NL_formal.po
r3408170 r3480099 3 3 msgid "" 4 4 msgstr "" 5 "PO-Revision-Date: 2025-1 0-07 21:30:46+0000\n"5 "PO-Revision-Date: 2025-12-10 22:22:59+0000\n" 6 6 "MIME-Version: 1.0\n" 7 7 "Content-Type: text/plain; charset=UTF-8\n" 8 8 "Content-Transfer-Encoding: 8bit\n" 9 9 "Plural-Forms: nplurals=2; plural=n != 1;\n" 10 "X-Generator: GlotPress/4.0. 1\n"10 "X-Generator: GlotPress/4.0.3\n" 11 11 "Language: nl\n" 12 12 "Project-Id-Version: Plugins - AiGude Tools - Stable Readme (latest release)\n" … … 23 23 24 24 #. Found in faq paragraph. 25 msgid "All languages supported by DeepL (including variants such as EN-GB/EN-US and PT-PT/PT-BR). Your site’s language is offered as a “System” default." 26 msgstr "Alle talen die door DeepL worden ondersteund (inclusief varianten zoals EN-GB/EN-US en PT-PT/PT-BR). De taal van uw site wordt aangeboden als \"Systeem\"-standaardinstelling." 25 msgid "Yes. You can define custom prompts using placeholders such as <code>%filename%</code> and <code>%title%</code>. Furthermore, you can choose the translation provider for each prompt that best suits you." 26 msgstr "Ja. U kunt eigen prompts maken met plaatshouders zoals <code>%filename%</code> en <code>%title%</code>. Daarnaast kunt u per prompt de vertaalprovider kiezen die het beste past." 27 28 #. Found in faq paragraph. 29 msgid "All languages supported by DeepL and Google Translate. We offer translations into 190+ languages, including regional variants." 30 msgstr "Alle talen die DeepL en Google Translate ondersteunen. We bieden vertalingen in meer dan 190 talen, inclusief regionale varianten." 31 32 #. Found in description paragraph. 33 msgid "To use the plugin you’ll need an AiGude API key — grab one for free at <a href=\"https://aigude.io/en/Products/\">AiGude.io</a>." 34 msgstr "Om de plugin te gebruiken, heeft u een AiGude API-sleutel nodig — vraag er gratis een aan op <a href=\"https://aigude.io/en/Products/\">AiGude.io</a>." 35 36 #. Found in description paragraph. 37 msgid "Want to try it? <a href=\"https://aigude.io/en/Try-It/\">Visit our live demo.</a>" 38 msgstr "Wilt u het proberen? <a href=\"https://aigude.io/en/Try-It/\">Bezoek onze live demo.</a>" 39 40 #. Found in description list item. 41 msgid "<strong>Settings</strong> – Manage API keys, view remaining credits, in one place." 42 msgstr "<strong>Instellingen</strong> – API-sleutels beheren en resterende tegoeden op één plek bekijken." 43 44 #. Screenshot description. 45 msgid "Edit Prompt" 46 msgstr "Prompt bewerken" 47 48 #. Screenshot description. 49 msgid "Prompts" 50 msgstr "Prompts" 51 52 #. Found in description paragraph. 53 msgid "<strong>Google Cloud Translation API</strong>" 54 msgstr "<strong>Google Cloud Translation API</strong>" 55 56 #. Found in description paragraph. 57 msgid "<strong>DeepL API</strong>" 58 msgstr "<strong>DeepL API</strong>" 59 60 #. Found in description paragraph. 61 msgid "Translations may be performed via the <strong>DeepL API</strong> or the <strong>Google Cloud Translation API</strong>, depending on your configuration." 62 msgstr "Vertalingen kunnen worden uitgevoerd via de <strong>DeepL API</strong> of de <strong>Google Cloud Translation API</strong>, afhankelijk van uw configuratie." 63 64 #. Found in description list item. 65 msgid "For more information on how Google handles translation data, see Google’s <a href=\"https://cloud.google.com/translate/data-usage\">Data Usage FAQ</a>." 66 msgstr "Voor meer informatie over hoe Google vertaalgegevens verwerkt, zie Google's <a href=\"https://cloud.google.com/translate/data-usage\">Veelgestelde vragen over gegevensgebruik</a>." 67 68 #. Found in description list item. 69 msgid "We use the Google Cloud Translation API v3 with the dedicated EU endpoint <code>translate-eu.googleapis.com</code>; see Google’s <a href=\"https://docs.cloud.google.com/translate/docs/advanced/endpoints\">endpoint documentation</a> for details." 70 msgstr "We gebruiken de Google Cloud Translation API v3 met het speciale EU-endpoint <code>translate-eu.googleapis.com</code>; zie Google's <a href=\"https://docs.cloud.google.com/translate/docs/advanced/endpoints\">endpointdocumentatie</a> voor details." 71 72 #. Found in description list item. 73 msgid "Only the text to be translated and the selected language parameters are transmitted to Google." 74 msgstr "Alleen de te vertalen tekst en de geselecteerde taalparameters worden naar Google verzonden." 75 76 #. Found in description list item. 77 msgid "For details, see the <a href=\"https://www.deepl.com/privacy\">DeepL Privacy Policy</a>." 78 msgstr "Voor details, zie het <a href=\"https://www.deepl.com/privacy\">DeepL-privacybeleid</a>." 79 80 #. Found in description list item. 81 msgid "DeepL is headquartered in Germany and operates under EU GDPR standards." 82 msgstr "DeepL is gevestigd in Duitsland en opereert volgens EU-AVG/GDPR-normen." 83 84 #. Found in description list item. 85 msgid "Only the text to be translated and the selected language parameters are transmitted to DeepL." 86 msgstr "Alleen de te vertalen tekst en de geselecteerde taalparameters worden naar DeepL verzonden." 87 88 #. Found in description list item. 89 msgid "<strong>Prompts</strong> – Create template-driven prompts with placeholders (e.g., <code>%filename%</code>, <code>%title%</code>) and lock provider-specific target languages." 90 msgstr "<strong>Prompts</strong> – maak templategestuurde prompts met plaatshouders (bijv. <code>%filename%</code>, <code>%title%</code>) en vergrendel providerspecifieke doeltalen." 91 92 #. Found in description list item. 93 msgid "<strong>Multilingual Support</strong> – Translate prompts and alt texts via DeepL or Google with one click." 94 msgstr "<strong>Meertalige ondersteuning</strong> – vertaal prompts en alt‑teksten via DeepL of Google met één klik." 95 96 #. Found in description header. 97 msgid "Data Processing and Privacy" 98 msgstr "Gegevensverwerking en privacy" 27 99 28 100 #. Found in faq paragraph. … … 32 104 #. Found in description paragraph. 33 105 msgid "" 34 " Links:\n"35 "- <a href=\"https://aigude.io/Informationen/Datenschutz\"> Privacy Policy</a>\n"36 "- <a href=\"https://aigude.io/Informationen/AGB\"> Terms of Service</a>\n"106 "Privacy Info:\n" 107 "- <a href=\"https://aigude.io/Informationen/Datenschutz\">AiGude Privacy Policy</a>\n" 108 "- <a href=\"https://aigude.io/Informationen/AGB\">AiGude Terms of Service</a>\n" 37 109 "- <a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude FAQ (German)</a>" 38 110 msgstr "" 39 " Links:\n"40 "- <a href=\"https://aigude.io/Informationen/Datenschutz\"> Privacybeleid</a>\n"41 "- <a href=\"https://aigude.io/Informationen/AGB\"> Servicevoorwaarden</a>\n"111 "Privacy info:\n" 112 "- <a href=\"https://aigude.io/Informationen/Datenschutz\">AiGude privacybeleid</a> \n" 113 "- <a href=\"https://aigude.io/Informationen/AGB\">AiGude dienstvoorwaarden</a>\n" 42 114 "- <a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude FAQ (Duits)</a>" 43 115 … … 45 117 msgid "<a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude FAQ (German)</a>" 46 118 msgstr "<a href=\"https://www.pagemachine.de/ki-loesungen/aigude-faq\">AiGude FAQ (Duits)</a>" 47 48 #. Found in description paragraph.49 msgid "Note: An AiGude API key is required; get one free at <a href=\"https://aigude.io\">AiGude.io</a>."50 msgstr "Let op: een AiGude API‑sleutel is vereist; vraag er gratis een aan via <a href=\"https://aigude.io\">AiGude.io</a>."51 52 #. Found in description list item.53 msgid "<strong>Multilingual Support</strong> – Translate prompts and alt texts via DeepL or Google Cloud Translation with one click."54 msgstr "<strong>Meertalige ondersteuning</strong> – Vertaal prompts en alt-teksten met één klik via DeepL of Google Cloud Translation."55 56 #. Found in description list item.57 msgid "Prompt and alt‑text translation in all DeepL‑supported languages (e.g., English, German, Spanish, French, Italian, Portuguese [PT-PT/PT-BR], Dutch, Polish, Russian, Chinese, Japanese, Korean, Swedish, Danish, Norwegian [NB], Finnish, Greek, Turkish, Ukrainian, Romanian, Czech, Slovak, Slovenian, Lithuanian, Latvian, Estonian, Bulgarian, Indonesian, Arabic)"58 msgstr "Vertaling van prompts en alt‑teksten in alle door DeepL ondersteunde talen (bijv. Engels, Duits, Spaans, Frans, Italiaans, Portugees [PT-PT/PT-BR], Nederlands, Pools, Russisch, Chinees, Japans, Koreaans, Zweeds, Deens, Noors [NB], Fins, Grieks, Turks, Oekraïens, Roemeens, Tsjechisch, Slowaaks, Sloveens, Litouws, Lets, Ests, Bulgaars, Indonesisch, Arabisch)"59 60 #. Found in description paragraph.61 msgid ""62 "2) Translation\n"63 " - Sent: only text strings that require translation (e.g., parts of your prompt or generated text), the target language code, and your API key.\n"64 " - Purpose: to translate text for accessibility/SEO; handled server‑side."65 msgstr ""66 "2) Vertaling\n"67 " – Verzonden: alleen tekst strings die vertaald moeten worden (bijv. delen van uw prompt of gegenereerde tekst), de doeltaalcode en uw API‑sleutel.\n"68 " – Doel: tekst vertalen voor toegankelijkheid/SEO; server‑side afgehandeld."69 70 #. Found in description paragraph.71 msgid "This plugin connects to AiGude’s captioning service to generate and (where applicable) translate image alternative text."72 msgstr "Deze plugin maakt verbinding met de vastlegging dienst van AiGude om alternatieve tekst (alt‑tekst) voor afbeeldingen te genereren en, waar van toepassing, te vertalen."73 74 #. Found in faq paragraph.75 msgid "Yes. You can define custom prompt templates using placeholders such as <code>%filename%</code>, <code>%title%</code>, and <code>%description%</code>."76 msgstr "Ja. Je kunt aangepaste prompt templates definiëren met plaatshouders zoals <code>%filename%</code>, <code>%title%</code>, en <code>%description%</code> (beschrijving)."77 119 78 120 #. Found in faq paragraph. … … 110 152 #. Found in installation list item. 111 153 msgid "Upload the plugin files to <code>/wp-content/plugins/aigude-tools</code>, or install it directly from the WordPress plugin directory." 112 msgstr "Upload de plugin-bestanden naar <code>/wp-content/plugins/aigude-tools</code>, of installeer de plugin rechtstreeks vanuit de WordPress plugin directory." 113 114 #. Found in description paragraph. 115 msgid "On multisite, the uninstaller runs for every site in the network." 116 msgstr "Op een multisite netwerk wordt de de-installatie voor elke site in het netwerk uitgevoerd." 117 118 #. Found in description paragraph. 119 msgid "" 120 "This plugin ships with an <code>uninstall.php</code> to remove its data when you uninstall it from WordPress.\n" 121 "It deletes:\n" 122 "- Options: <code>aigude_alt_servers</code>, <code>aigude_target_language</code>\n" 123 "- Attachment meta starting with <code>_aigude_alt_</code> (e.g., <code>_aigude_alt_suggestion</code>)." 124 msgstr "" 125 "Deze plugin wordt geleverd met een <code>uninstall.php</code> om gegevens te verwijderen wanneer u deze vanuit WordPress deïnstalleert.\n" 126 "Daarmee worden verwijderd:\n" 127 "- Opties: <code>aigude_alt_servers</code>, <code>aigude_target_language</code>\n" 128 "- Metagegevens van bijlagen die beginnen met <code>_aigude_alt_</code> (bijv. <code>_aigude_alt_suggestion</code>)." 129 130 #. Found in description paragraph. 131 msgid "All requests are made over HTTPS." 132 msgstr "Alle aanvragen worden via HTTPS verstuurd." 133 134 #. Found in description paragraph. 135 msgid "" 136 "3) Remaining credits (<code>remaining_credits</code>)\n" 137 " - Sent: your API key.\n" 138 " - Purpose: to display remaining credits in the admin screen." 139 msgstr "" 140 "3) Resterende credits (<code>remaining_credits</code>)\n" 141 " – Verzonden: uw API‑sleutel.\n" 142 " – Doel: de resterende credits weergeven in het beheerscherm." 143 144 #. Found in description paragraph. 145 msgid "" 146 "1) Alt‑text generation\n" 147 " - Sent: a resized copy of the selected image file, your prompt template (text), selected target language code, and your API key.\n" 148 " - Purpose: to produce a caption/alt text for accessibility and SEO.\n" 149 " - Not sent: WordPress user emails, passwords, or front-end visitor data." 150 msgstr "" 151 "1) Genereren van alt‑teksten\n" 152 " – Verzonden: een verkleinde kopie van het geselecteerde afbeeldingsbestand, uw prompttemplate (tekst), de gekozen doeltaalcode en uw API‑sleutel.\n" 153 " – Doel: een bijschrift/alt‑tekst produceren voor toegankelijkheid en SEO.\n" 154 " – Niet verzonden: e-mails van WordPress-gebruikers, wachtwoorden of gegevens van front-endbezoekers." 155 156 #. Found in description paragraph. 157 msgid "The plugin only sends data when an administrator performs an action in wp-admin (e.g., “Generate” or “Translate”), or when the admin explicitly clicks “Get Credits”." 158 msgstr "De plugin verzendt alleen gegevens wanneer een beheerder een handeling uitvoert in wp‑admin (bijv. ‘Genereren’ of ‘Vertalen’), of wanneer de beheerder expliciet op ‘Credits ophalen’ klikt." 154 msgstr "Upload de plugin bestanden naar <code>/wp-content/plugins/aigude-tools</code>, of installeer de plugin rechtstreeks vanuit de WordPress plugin directory." 155 156 #. Found in description paragraph. 157 msgid "This plugin connects to AiGude’s captioning service to generate and translate image alternative text." 158 msgstr "Deze plugin maakt verbinding met de captioning dienst van AiGude om alternatieve tekst voor afbeeldingen te genereren en te vertalen." 159 159 160 160 #. Found in description paragraph. 161 161 msgid "Perfect for website owners, photographers, agencies, and content teams who want to improve accessibility and SEO without hours of manual work." 162 msgstr "Perfect voor site -eigenaren, fotografen, bureaus en inhoudsteams die de toegankelijkheid en SEO willen verbeteren zonder uren handmatig werk."162 msgstr "Perfect voor site eigenaren, fotografen, bureaus en contentteams die de toegankelijkheid en SEO willen verbeteren zonder uren handmatig werk." 163 163 164 164 #. Found in description paragraph. … … 171 171 172 172 #. Found in description list item. 173 msgid "AiGude acts as a processor for the limited purpose of generating/translation results."174 msgstr "AiGude treedt op als verwerker voor het beperkte doel van het genereren/vertalen van resultaten."175 176 #. Found in description list item.177 msgid "Site administrators act as data controllers for the content they send (e.g., images that could include personal data)."178 msgstr "Sitebeheerders zijn de verwerkingsverantwoordelijken voor de inhoud die zij verzenden (bijv. afbeeldingen die persoonsgegevens kunnen bevatten)."179 180 #. Found in description list item.181 msgid "Translations may be performed via the <strong>DeepL API</strong> or the <strong>Google Cloud Translation API</strong>, depending on your configuration."182 msgstr "Vertalingen kunnen, afhankelijk van uw configuratie, plaatsvinden via de <strong>DeepL API</strong> of de <strong>Google Cloud Translation API</strong>."183 184 #. Found in description list item.185 msgid "Only the text to be translated and language parameters are transmitted to DeepL. Processing occurs on DeepL’s infrastructure. See the <a href=\"https://www.deepl.com/privacy\">DeepL Privacy Policy</a>."186 msgstr "Alleen de te vertalen tekst en taalparameters worden naar DeepL verzonden. De verwerking vindt plaats op de infrastructuur van DeepL. Zie het <a href=\"https://www.deepl.com/privacy\">privacybeleid van DeepL</a>."187 188 #. Found in description list item.189 msgid "We use the Google Cloud Translation API v3 with the dedicated EU endpoint <code>translate-eu.googleapis.com</code>; see Google’s <a href=\"https://docs.cloud.google.com/translate/docs/advanced/endpoints\">endpoint documentation</a> for details."190 msgstr "We gebruiken de Google Cloud Translation API v3 met het speciale EU-endpoint <code>translate-eu.googleapis.com</code>; zie de <a href=\"https://docs.cloud.google.com/translate/docs/advanced/endpoints\">endpointdocumentatie</a> van Google voor details."191 192 msgid "For more information on how Google handles translation data, see Google’s <a href=\"https://cloud.google.com/translate/data-usage\">Data Usage FAQ</a>."193 msgstr "Meer informatie over hoe Google vertaalgegevens verwerkt, vindt u in Google’s <a href=\"https://cloud.google.com/translate/data-usage\">Data Usage FAQ</a>."194 195 #. Found in description list item.196 173 msgid "Alt-text generation is performed on AiGude–managed infrastructure located in the European Union. Image files are sent over HTTPS to this infrastructure. No third-party vendors are used for alt-text generation." 197 174 msgstr "Het genereren van alt‑teksten gebeurt op door AiGude beheerde infrastructuur in de Europese Unie. Afbeeldingsbestanden worden via HTTPS naar deze infrastructuur verzonden. Voor het genereren van alt‑teksten worden geen externe leveranciers gebruikt." 198 175 199 176 #. Found in description list item. 200 msgid "<code>_aigude_alt_suggestion</code> (last generated suggestion)"201 msgstr "<code>_aigude_alt_suggestion</code> (laatst gegenereerde suggestie)"202 203 #. Found in description list item.204 msgid "<code>_wp_attachment_image_alt</code> (final alt text)"205 msgstr "<code>_wp_attachment_image_alt</code> (definitieve alt‑tekst)"206 207 #. Found in description list item.208 msgid "The plugin stores generated results locally in WordPress as attachment meta:"209 msgstr "De plugin slaat gegenereerde resultaten lokaal op in WordPress als metagegevens van bijlagen:"210 211 #. Found in description list item.212 177 msgid "We do <strong>not</strong> store images after processing; they are held only in memory long enough to generate a response." 213 msgstr "W ij slaan afbeeldingen <strong>niet</strong> op na de verwerking; zij blijven slechts in het geheugen zolang dat nodig isom een reactie te genereren."178 msgstr "We slaan <strong>geen</strong> afbeeldingen op na verwerking; ze worden alleen in het geheugen gehouden, lang genoeg om een reactie te genereren." 214 179 215 180 #. Found in description list item. … … 218 183 219 184 #. Found in description list item. 220 msgid "<strong>Settings</strong> – Manage API keys, view remaining credits, and pick translation providers in one place."221 msgstr "<strong>Instellingen</strong> – Beheer uw API-sleutels, bekijk resterende credits en kies vertaalproviders op één plek."222 223 #. Found in description list item.224 msgid "<strong>Prompts</strong> – Create template-driven prompts with placeholders (e.g., <code>%filename%</code>, <code>%title%</code>) and lock provider-specific target languages."225 msgstr "<strong>Prompts</strong> – Maak sjabloon-gestuurde prompts met placeholders (bijv. <code>%filename%</code>, <code>%title%</code>) en vergrendel providerspecifieke doeltalen."226 227 #. Found in description list item.228 msgid "Hover tooltips reveal generated alt text at a glance"229 msgstr "Over tooltips hoveren toont gegenereerde alt-tekst in één oogopslag"230 231 #. Found in description list item.232 185 msgid "Mini-grid shows your current selection" 233 186 msgstr "Mini‑raster toont uw huidige selectie" … … 242 195 243 196 #. Found in description list item. 244 msgid "Select prompt templates andtarget languages for single or bulk actions"245 msgstr "Selecteer prompt templates en doeltalen voor individuele of bulkacties"197 msgid "Select prompts with target languages for single or bulk actions" 198 msgstr "Selecteer prompts en doeltalen voor individuele of bulkacties" 246 199 247 200 #. Found in description list item. 248 201 msgid "Preview and edit a single image’s alt text before saving" 249 msgstr "Bekijk e en voorbeeld en bewerk de alt‑tekst van één afbeelding voordat u opslaat"202 msgstr "Bekijk en bewerk de alt‑tekst van één afbeelding voordat u opslaat" 250 203 251 204 #. Found in description list item. … … 268 221 msgid "<strong>AI-Powered Alt Text</strong> – Automatically generate descriptive alt text for your images using advanced AI." 269 222 msgstr "<strong>AI‑gestuurde alt‑tekst</strong> – Genereer automatisch beschrijvende alt‑tekst voor uw afbeeldingen met geavanceerde AI." 270 271 #. Found in description list item.272 msgid "Servers - API key and credit usage management in the Server settings "273 msgstr "Servers – beheer van API‑sleutel en credit verbruik in de serverinstellingen "274 275 #. Found in description list item.276 msgid "Templates - Customizable prompt templates with placeholders (e.g. <code>%filename%</code>, <code>%title%</code>) "277 msgstr "Templates - Aanpasbare prompt templates met plaatshouders (bijv. <code>%filename%</code>, <code>%title%</code>) "278 279 #. Found in description list item.280 msgid "Hover over images to view the generated alt text in tooltips."281 msgstr "Over afbeeldingen hoveren om de gegenereerde alt‑tekst in tooltips te bekijken."282 283 #. Found in description list item.284 msgid "See a mini grid of your current selection."285 msgstr "Bekijk een mini‑raster van uw huidige selectie."286 287 #. Found in description list item.288 msgid "Grid View — Select multiple images directly from the Media Library and generate alt text for all of them at once."289 msgstr "Rasterweergave — Selecteer meerdere afbeeldingen rechtstreeks vanuit de Mediabibliotheek en genereer in één keer alt‑tekst voor alle geselecteerde items."290 291 #. Found in description list item.292 msgid "Choose a prompt template and target language for single or bulk generation."293 msgstr "Kies een prompt template en doeltaal voor individuele of bulk generatie."294 295 #. Found in description list item.296 msgid "Preview and edit generated text for a single image before saving."297 msgstr "Bekijk een voorbeeld en bewerk de gegenereerde tekst voor één afbeelding voordat u opslaat."298 299 #. Found in description list item.300 msgid "Option to skip existing alt text."301 msgstr "Optie om bestaande alt‑tekst over te slaan."302 303 #. Found in description list item.304 msgid "Bulk-generate alt text for selected images (per page or across pages)."305 msgstr "Genereer alt‑tekst in bulk voor geselecteerde afbeeldingen (per pagina of over meerdere pagina's)."306 307 #. Found in description list item.308 msgid "List View — Displays image cards that match your search filters."309 msgstr "Lijstweergave — Toont afbeeldingskaarten die aan uw zoekfilters voldoen."310 311 #. Found in description list item.312 msgid "Automatic alt text generation for images using AI"313 msgstr "Automatische generatie van alt‑tekst voor afbeeldingen met AI"314 315 #. Found in description header.316 msgid "Uninstall and Data Deletion"317 msgstr "De-installeren en gegevensverwijdering"318 319 #. Found in description header.320 msgid "Legal Basis / Controller"321 msgstr "Juridische grondslag / verwerkingsverantwoordelijke"322 323 324 #. Found in description header.325 msgid "What Data Is Sent and When"326 msgstr "Welke gegevens worden wanneer verzonden"327 328 223 329 224 #. Found in description header. … … 341 236 #. Found in changelog list item. 342 237 #, gp-priority: low 238 msgid "New built-in default prompt applied across list/grid views." 239 msgstr "Nieuwe ingebouwde standaardprompt toegepast in lijst- en rasterweergave." 240 241 #. Found in changelog list item. 242 #, gp-priority: low 243 msgid "Prompts in views grouped by provider, with tooltips and “Edit in Prompts” quick access." 244 msgstr "Prompts in weergaven gegroepeerd per provider, met tooltips en snelkoppeling \"Bewerken in Prompts\"." 245 246 #. Found in changelog list item. 247 #, gp-priority: low 248 msgid "Updated Prompts to support target languages across all translation providers." 249 msgstr "" 250 251 #. Found in changelog list item. 252 #, gp-priority: low 253 msgid "Added Google Cloud Translation as an additional translation provider." 254 msgstr "" 255 256 #. Found in changelog list item. 257 #, gp-priority: low 258 msgid "Added detailed explanations for all placeholder modifiers used in Prompts." 259 msgstr "Gedetailleerde uitleg toegevoegd voor alle plaatshouder modifiers die in prompts worden gebruikt." 260 261 #. Found in changelog list item. 262 #, gp-priority: low 263 msgid "Renamed the Server section to Settings." 264 msgstr "Server sectie hernoemd naar Instellingen." 265 266 #. Found in changelog list item. 267 #, gp-priority: low 268 msgid "Renamed the Templates section to Prompts." 269 msgstr "Templates sectie hernoemd naar Prompts." 270 271 #. Found in changelog list item. 272 #, gp-priority: low 273 msgid "Docs: Updated readme links" 274 msgstr "Docs: readme links geüpdatet" 275 276 #. Found in changelog list item. 277 #, gp-priority: low 278 msgid "Docs: Readme and translations updated." 279 msgstr "Docs: readme en vertalingen geüpdatet." 280 281 #. Found in changelog list item. 282 #, gp-priority: low 343 283 msgid "Prompt and alt‑text translation in all DeepL languages" 344 msgstr "Vertaling van prompts en alt‑teksten in alle DeepL‑talen" 345 346 #. Found in description header. 347 msgid "Data Processing and Privacy" 348 msgstr "Gegevensverwerking en privacy" 349 350 #. Found in changelog list item. 351 #, gp-priority: low 352 msgid "Docs: Updated readme links (Markdown link labels for FAQ, DeepL, AiGude.io)" 353 msgstr "Documentatie: readme-links geüpdatet (Markdown-linklabels voor FAQ, DeepL, AiGude.io)" 284 msgstr "Vertaling van prompts en alt‑teksten in alle DeepL talen" 354 285 355 286 #. Found in changelog list item. … … 397 328 msgid "Added search in List view" 398 329 msgstr "Zoeken toegevoegd in lijstweergave" 399 400 #. Found in changelog list item.401 #, gp-priority: low402 msgid "Renamed the Templates section to Prompts."403 msgstr "Sectie Templates hernoemd naar Prompts."404 405 #. Found in changelog list item.406 #, gp-priority: low407 msgid "Added detailed explanations for all placeholder modifiers used in Prompts."408 msgstr "Uitgebreide uitleg toegevoegd voor alle plaatsaanduidings‑modificatoren die in Prompts worden gebruikt."409 410 #. Found in changelog list item.411 #, gp-priority: low412 msgid "Renamed the Server section to Settings."413 msgstr "Sectie Server hernoemd naar Instellingen."
Note: See TracChangeset
for help on using the changeset viewer.