diff --git a/README.de.md b/README.de.md index 256bef4..9eef0f4 100644 --- a/README.de.md +++ b/README.de.md @@ -3,7 +3,7 @@ ![PHP 8.0+](https://img.shields.io/badge/PHP-8.0%2B-blue) ![WordPress 6.0+](https://img.shields.io/badge/WordPress-6.0%2B-21759b) ![License: GPL-2.0](https://img.shields.io/badge/License-GPL--2.0--or--later-green) -![Version](https://img.shields.io/badge/Version-1.2.0-orange) +![Version](https://img.shields.io/badge/Version-1.2.1-orange) ![Tests](https://img.shields.io/badge/Tests-158%20passing-brightgreen) 🇬🇧 [English version → README.md](README.md) diff --git a/README.md b/README.md index 7f73064..d157c19 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ![PHP 8.0+](https://img.shields.io/badge/PHP-8.0%2B-blue) ![WordPress 6.0+](https://img.shields.io/badge/WordPress-6.0%2B-21759b) ![License: GPL-2.0](https://img.shields.io/badge/License-GPL--2.0--or--later-green) -![Version](https://img.shields.io/badge/Version-1.2.0-orange) +![Version](https://img.shields.io/badge/Version-1.2.1-orange) ![Tests](https://img.shields.io/badge/Tests-158%20passing-brightgreen) 🇩🇪 [Deutsche Version → README.de.md](README.de.md) diff --git a/brezngeo/brezngeo.php b/brezngeo/brezngeo.php index 77bc780..edce599 100644 --- a/brezngeo/brezngeo.php +++ b/brezngeo/brezngeo.php @@ -3,7 +3,7 @@ * Plugin Name: BreznGEO * Plugin URI: https://brezngeo.com/ * Description: AI-powered meta descriptions, GEO structured data, and llms.txt for WordPress. - * Version: 1.2.0 + * Version: 1.2.1 * Requires at least: 6.0 * Requires PHP: 8.0 * Author: NoSchmarrn.dev @@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) { exit; } -define( 'BREZNGEO_VERSION', '1.2.0' ); +define( 'BREZNGEO_VERSION', '1.2.1' ); define( 'BREZNGEO_FILE', __FILE__ ); define( 'BREZNGEO_DIR', plugin_dir_path( __FILE__ ) ); define( 'BREZNGEO_URL', plugin_dir_url( __FILE__ ) ); diff --git a/brezngeo/includes/Admin/SettingsPage.php b/brezngeo/includes/Admin/SettingsPage.php index 8b73392..68eeed9 100644 --- a/brezngeo/includes/Admin/SettingsPage.php +++ b/brezngeo/includes/Admin/SettingsPage.php @@ -1,6 +1,10 @@ Learn how to style the block via your theme →" +msgstr "Mehr anpassen? Erfahre, wie du den Block per Theme stylen kannst →" + +#: includes/Admin/views/geo.php +msgid "Left border stripe and expand arrow colour. Leave empty for the default blue. Not used by the Minimal theme." +msgstr "Farbe des linken Rands und Expand-Pfeils. Leer lassen fĂĽr Standard-Blau. Wird vom Minimal-Theme nicht verwendet." + +#: includes/Admin/views/geo.php +msgid "Light \xe2\x80\x94 clean card with a blue accent. Dark \xe2\x80\x94 same for dark-mode sites. Minimal \xe2\x80\x94 borderless, left stripe only. Brezn \xe2\x80\x94 Brezn blue with diamond header pattern." +msgstr "Hell \xe2\x80\x94 klare Karte mit blauem Akzent. Dunkel \xe2\x80\x94 dasselbe f\xc3\xbcr Dark-Mode-Seiten. Minimal \xe2\x80\x94 rahmenlos, nur linker Streifen. Brezn \xe2\x80\x94 Brezn-Blau mit Rautenmuster." + +#: includes/Admin/views/bulk.php +#, php-format +msgid "No AI provider connected \xe2\x80\x94 descriptions will be generated from content without AI (fallback mode). Configure a provider \xe2\x86\x92" +msgstr "Kein KI-Anbieter verbunden \xe2\x80\x94 Beschreibungen werden ohne KI aus dem Inhalt generiert (Fallback-Modus). Anbieter konfigurieren \xe2\x86\x92" diff --git a/brezngeo/languages/brezngeo-en_US.mo b/brezngeo/languages/brezngeo-en_US.mo index bf57e6e..d46bef1 100644 Binary files a/brezngeo/languages/brezngeo-en_US.mo and b/brezngeo/languages/brezngeo-en_US.mo differ diff --git a/brezngeo/languages/brezngeo-en_US.po b/brezngeo/languages/brezngeo-en_US.po index dc79ce8..f51707d 100644 --- a/brezngeo/languages/brezngeo-en_US.po +++ b/brezngeo/languages/brezngeo-en_US.po @@ -1,4 +1,4 @@ -# English (en_US) translation for BreznGEO +# German (de_DE) translation for BreznGEO # Copyright (C) 2025 Donau2Space # This file is distributed under the GPL-2.0-or-later license. msgid "" @@ -6,9 +6,9 @@ msgstr "" "Project-Id-Version: BreznGEO 1.0.0\n" "Report-Msgid-Bugs-To: https://donau2space.de\n" "POT-Creation-Date: 2026-02-21T00:00:00+00:00\n" -"PO-Revision-Date: 2026-02-21T00:00:00+00:00\n" +"PO-Revision-Date: 2026-02-25T00:00:00+00:00\n" "Last-Translator: Donau2Space \n" -"Language-Team: English \n" +"Language-Team: English\n" "Language: en_US\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,9 +18,6 @@ msgstr "" "X-Domain: brezngeo\n" #: includes/Admin/AdminMenu.php:11 -msgid "BreznGEO" -msgstr "BreznGEO" - #: includes/Admin/AdminMenu.php:12 msgid "BreznGEO" msgstr "BreznGEO" @@ -47,6 +44,7 @@ msgstr "Meta Generator" #: includes/Admin/AdminMenu.php:59 #: includes/Admin/AdminMenu.php:60 #: includes/Admin/views/bulk.php:3 +#: includes/Admin/views/dashboard.php:42 msgid "Bulk Generator" msgstr "Bulk Generator" @@ -94,7 +92,6 @@ msgstr "AI Provider Settings" msgid "Meta Generator Settings" msgstr "Meta Generator Settings" -#: includes/Admin/views/dashboard.php:42 #: includes/Admin/views/dashboard.php:48 msgid "Status" msgstr "Status" @@ -107,33 +104,73 @@ msgstr "Version:" msgid "Active Provider:" msgstr "Active Provider:" -#: includes/Admin/views/dashboard.php:56 -msgid "Interne Link-Analyse" +#: includes/Admin/views/dashboard.php +msgid "New here?" +msgstr "New here?" + +#: includes/Admin/views/dashboard.php +msgid "Read the setup guide — get running in five minutes →" +msgstr "Read the setup guide — get running in five minutes →" + +#: includes/Admin/views/dashboard.php +msgid "Internal Link Analysis" msgstr "Internal Link Analysis" -#: includes/Admin/views/dashboard.php:58 -msgid "Wird geladen\xe2\x80\xa6" -msgstr "Loading\xe2\x80\xa6" +#: includes/Admin/views/dashboard.php +msgid "Loading…" +msgstr "Loading…" -#: includes/Admin/views/dashboard.php:63 -msgid "AI Crawler \xe2\x80\x94 letzte 30 Tage" -msgstr "AI Crawler \xe2\x80\x94 last 30 days" +#: includes/Admin/views/dashboard.php +msgid "AI Crawlers — Last 30 Days" +msgstr "AI Crawlers — Last 30 Days" -#: includes/Admin/views/dashboard.php:67 -msgid "Noch keine AI-Crawls aufgezeichnet." -msgstr "No AI crawls recorded yet." +#: includes/Admin/views/dashboard.php +msgid "No AI crawlers recorded yet." +msgstr "No AI crawlers recorded yet." -#: includes/Admin/views/dashboard.php:71 +#: includes/Admin/views/dashboard.php msgid "Bot" msgstr "Bot" -#: includes/Admin/views/dashboard.php:72 -msgid "Besuche" +#: includes/Admin/views/dashboard.php +msgid "Visits" msgstr "Visits" -#: includes/Admin/views/dashboard.php:73 -msgid "Zuletzt" -msgstr "Last seen" +#: includes/Admin/views/dashboard.php +msgid "Last Seen" +msgstr "Last Seen" + +#: includes/Admin/views/dashboard.php +msgid "Analysis error." +msgstr "Analysis error." + +#: includes/Admin/views/dashboard.php +msgid "Posts without internal links" +msgstr "Posts without internal links" + +#: includes/Admin/views/dashboard.php +msgid "All posts have internal links." +msgstr "All posts have internal links." + +#: includes/Admin/views/dashboard.php +msgid "Posts with many external links (≥" +msgstr "Posts with many external links (≥" + +#: includes/Admin/views/dashboard.php +msgid "No posts with excessive external links." +msgstr "No posts with excessive external links." + +#: includes/Admin/views/dashboard.php +msgid "Pillar Pages (Top 5)" +msgstr "Pillar Pages (Top 5)" + +#: includes/Admin/views/dashboard.php +msgid "No data." +msgstr "No data." + +#: includes/Admin/views/dashboard.php +msgid "Connection error." +msgstr "Connection error." #: includes/Admin/views/provider.php:13 #: includes/Admin/views/bulk.php:15 @@ -165,13 +202,13 @@ msgstr "Test connection" msgid "Model:" msgstr "Model:" -#: includes/Admin/views/provider.php:63 -msgid "Aktuelle Preise ansehen \xe2\x86\x92" -msgstr "View current prices \xe2\x86\x92" +#: includes/Admin/views/provider.php +msgid "View current pricing →" +msgstr "View current pricing →" -#: includes/Admin/views/provider.php:67 -msgid "Kosten pro 1 Million Token (f\xc3\xbcr Kostens\xc3\xbcbersicht im Bulk):" -msgstr "Cost per 1 million tokens (for cost overview in bulk):" +#: includes/Admin/views/provider.php +msgid "Cost per 1 million tokens (for the Bulk cost overview):" +msgstr "Cost per 1 million tokens (for the Bulk cost overview):" #: includes/Admin/views/provider.php:88 #: includes/Admin/views/meta.php:101 @@ -228,9 +265,21 @@ msgstr "0 / 0 processed" msgid "llms.txt Configuration" msgstr "llms.txt Configuration" -#: includes/Admin/views/txt.php:7 -msgid "llms.txt Cache leeren" -msgstr "Clear llms.txt cache" +#: includes/Admin/views/txt.php +msgid "Clear llms.txt Cache" +msgstr "Clear llms.txt Cache" + +#: includes/Admin/views/txt.php +msgid "Error." +msgstr "Error." + +#: includes/Admin/views/txt.php +msgid "Max. links per page" +msgstr "Max. links per page" + +#: includes/Admin/views/txt.php +msgid "With more posts, llms-2.txt, llms-3.txt etc. are created and linked automatically." +msgstr "With more posts, llms-2.txt, llms-3.txt etc. are created and linked automatically." #: includes/Admin/views/txt.php:28 msgid "Your llms.txt will be served at:" @@ -291,11 +340,11 @@ msgstr "Which post types to include in the content list." #: includes/Admin/views/txt.php:106 msgid "Max. Links pro Seite" -msgstr "Max. links per page" +msgstr "Max. Links pro Seite" #: includes/Admin/views/txt.php:112 msgid "Bei mehr Posts werden automatisch llms-2.txt, llms-3.txt etc. erstellt und verlinkt." -msgstr "For more posts, llms-2.txt, llms-3.txt etc. are automatically created and linked." +msgstr "Bei mehr Posts werden automatisch llms-2.txt, llms-3.txt etc. erstellt und verlinkt." #: includes/Admin/views/txt.php:118 msgid "Description (after content)" @@ -398,8 +447,8 @@ msgid "Block" msgstr "Block" #: includes/Admin/views/txt.php -msgid "View current robots.txt \xe2\x86\x92" -msgstr "View current robots.txt \xe2\x86\x92" +msgid "View current robots.txt →" +msgstr "View current robots.txt →" #: includes/Admin/views/txt.php msgid "Save robots.txt Settings" @@ -409,44 +458,44 @@ msgstr "Save robots.txt Settings" msgid "Meta Description (BreznGEO)" msgstr "Meta Description (BreznGEO)" -#: includes/Admin/MetaEditorBox.php:34 -msgid "KI generiert" +#: includes/Admin/MetaEditorBox.php +msgid "AI generated" msgstr "AI generated" -#: includes/Admin/MetaEditorBox.php:35 -msgid "Fallback (erster Absatz)" +#: includes/Admin/MetaEditorBox.php +msgid "Fallback (first paragraph)" msgstr "Fallback (first paragraph)" -#: includes/Admin/MetaEditorBox.php:36 -msgid "Manuell bearbeitet" +#: includes/Admin/MetaEditorBox.php +msgid "Manually edited" msgstr "Manually edited" -#: includes/Admin/MetaEditorBox.php:37 -msgid "Noch nicht generiert" +#: includes/Admin/MetaEditorBox.php +msgid "Not yet generated" msgstr "Not yet generated" -#: includes/Admin/MetaEditorBox.php:67 -msgid "Mit KI neu generieren" +#: includes/Admin/MetaEditorBox.php +msgid "Regenerate with AI" msgstr "Regenerate with AI" -#: includes/Admin/SeoWidget.php:16 -msgid "SEO Analyse (BreznGEO)" +#: includes/Admin/SeoWidget.php +msgid "SEO Analysis (BreznGEO)" msgstr "SEO Analysis (BreznGEO)" -#: includes/Admin/SeoWidget.php:31 -msgid "Titel:" +#: includes/Admin/SeoWidget.php +msgid "Title:" msgstr "Title:" -#: includes/Admin/SeoWidget.php:37 -msgid "W\xc3\xb6rter:" +#: includes/Admin/SeoWidget.php +msgid "Words:" msgstr "Words:" -#: includes/Admin/SeoWidget.php:41 -msgid "Lesezeit:" -msgstr "Reading time:" +#: includes/Admin/SeoWidget.php +msgid "Reading Time:" +msgstr "Reading Time:" -#: includes/Admin/SeoWidget.php:46 -msgid "\xc3\x9cberschriften" +#: includes/Admin/SeoWidget.php +msgid "Headings" msgstr "Headings" #: includes/Admin/SeoWidget.php:49 @@ -491,17 +540,406 @@ msgstr "No API key saved. Please save first." msgid "Unknown provider." msgstr "Unknown provider." -#: includes/Admin/LlmsPage.php:52 -msgid "Cache geleert." +#: includes/Admin/LlmsPage.php +msgid "Cache cleared." msgstr "Cache cleared." -#: includes/Features/MetaGenerator.php:191 -msgid "Ein Bulk-Prozess l\xc3\xa4uft bereits." +#: includes/Features/MetaGenerator.php +msgid "A bulk process is already running." msgstr "A bulk process is already running." -#: includes/Features/LlmsTxt.php:31 -msgid "BreznGEO bedient llms.txt mit Priorit\xc3\xa4t \xe2\x80\x94 kein Handlungsbedarf bei Rank Math." -msgstr "BreznGEO serves llms.txt with priority \xe2\x80\x94 no action needed for Rank Math." +#: includes/Features/LlmsTxt.php +msgid "BreznGEO serves llms.txt with priority \xe2\x80\x94 no action needed in Rank Math." +msgstr "BreznGEO serves llms.txt with priority \xe2\x80\x94 no action needed in Rank Math." + +#: includes/Admin/AdminMenu.php +msgid "GEO Quick Overview" +msgstr "GEO Quick Overview" + +#: includes/Admin/GeoEditorBox.php +msgid "GEO Quick Overview (BreznGEO)" +msgstr "GEO Quick Overview (BreznGEO)" + +#: includes/Admin/GeoEditorBox.php +msgid "Enable GEO block for this post" +msgstr "Enable GEO block for this post" + +#: includes/Admin/GeoEditorBox.php +msgid "Lock auto-regeneration" +msgstr "Lock auto-regeneration" + +#: includes/Admin/GeoEditorBox.php +#, php-format +msgid "Generated: %s" +msgstr "Generated: %s" + +#: includes/Admin/GeoEditorBox.php +msgid "Generate now" +msgstr "Generate now" + +#: includes/Admin/GeoEditorBox.php +msgid "Regenerate" +msgstr "Regenerate" + +#: includes/Admin/GeoEditorBox.php +msgid "Clear" +msgstr "Clear" + +#: includes/Admin/GeoEditorBox.php +msgid "Summary" +msgstr "Summary" + +#: includes/Admin/GeoEditorBox.php +msgid "(one per line)" +msgstr "(one per line)" + +#: includes/Admin/GeoEditorBox.php +msgid "Key Points" +msgstr "Key Points" + +#: includes/Admin/GeoEditorBox.php +msgid "(Format: Question? | Answer \xe2\x80\x94 one per line)" +msgstr "(Format: Question? | Answer \xe2\x80\x94 one per line)" + +#: includes/Admin/GeoEditorBox.php +msgid "Prompt add-on (optional)" +msgstr "Prompt add-on (optional)" + +#: includes/Admin/GeoEditorBox.php +msgid "Generation failed. Check API key and provider settings." +msgstr "Generation failed. Check API key and provider settings." + +#: includes/Admin/views/geo.php +msgid "Activation" +msgstr "Activation" + +#: includes/Admin/views/geo.php +msgid "Enable GEO Block" +msgstr "Enable GEO Block" + +#: includes/Admin/views/geo.php +msgid "Output the Quick Overview block on the frontend" +msgstr "Output the Quick Overview block on the frontend" + +#: includes/Admin/views/geo.php +msgid "Mode" +msgstr "Mode" + +#: includes/Admin/views/geo.php +msgid "Auto on publish / update (recommended)" +msgstr "Auto on publish / update (recommended)" + +#: includes/Admin/views/geo.php +msgid "Hybrid: auto only when fields are empty" +msgstr "Hybrid: auto only when fields are empty" + +#: includes/Admin/views/geo.php +msgid "Manual only (editor button)" +msgstr "Manual only (editor button)" + +#: includes/Admin/views/geo.php +msgid "Regenerate on update" +msgstr "Regenerate on update" + +#: includes/Admin/views/geo.php +msgid "Regenerate on every save of a published post" +msgstr "Regenerate on every save of a published post" + +#: includes/Admin/views/geo.php +msgid "Word threshold for FAQ" +msgstr "Word threshold for FAQ" + +#: includes/Admin/views/geo.php +msgid "Below this word count, no FAQ is generated. Default: 350" +msgstr "Below this word count, no FAQ is generated. Default: 350" + +#: includes/Admin/views/geo.php +msgid "Output" +msgstr "Output" + +#: includes/Admin/views/geo.php +msgid "After first paragraph (default)" +msgstr "After first paragraph (default)" + +#: includes/Admin/views/geo.php +msgid "Top of post" +msgstr "Top of post" + +#: includes/Admin/views/geo.php +msgid "Bottom of post" +msgstr "Bottom of post" + +#: includes/Admin/views/geo.php +msgid "Output style" +msgstr "Output style" + +#: includes/Admin/views/geo.php +msgid "Collapsible
(default)" +msgstr "Collapsible
(default)" + +#: includes/Admin/views/geo.php +msgid "Always open" +msgstr "Always open" + +#: includes/Admin/views/geo.php +msgid "Store only, no frontend output" +msgstr "Store only, no frontend output" + +#: includes/Admin/views/geo.php +msgid "Block title" +msgstr "Block title" + +#: includes/Admin/views/geo.php +msgid "Summary label" +msgstr "Summary label" + +#: includes/Admin/views/geo.php +msgid "Key Points label" +msgstr "Key Points label" + +#: includes/Admin/views/geo.php +msgid "FAQ label" +msgstr "FAQ label" + +#: includes/Admin/views/geo.php +msgid "Load minimal CSS" +msgstr "Load minimal CSS" + +#: includes/Admin/views/geo.php +msgid "Load base stylesheet for .brezngeo-geo on the frontend" +msgstr "Load base stylesheet for .brezngeo-geo on the frontend" + +#: includes/Admin/views/geo.php +msgid "Automatically scoped to .brezngeo-geo{...}. Enter CSS property:value pairs only — selectors, at-rules (@media, @import etc.) and url() are blocked for security." +msgstr "Automatically scoped to .brezngeo-geo{...}. Enter CSS property:value pairs only — selectors, at-rules (@media, @import etc.) and url() are blocked for security." + +#: includes/Admin/views/geo.php +msgid "AI Prompt" +msgstr "AI Prompt" + +#: includes/Admin/views/geo.php +msgid "Default prompt" +msgstr "Default prompt" + +#: includes/Admin/views/geo.php +msgid "Per-post prompt add-on" +msgstr "Per-post prompt add-on" + +#: includes/Admin/views/geo.php +msgid "Authors can enter a prompt add-on per post in the editor" +msgstr "Authors can enter a prompt add-on per post in the editor" + +#: includes/Admin/views/dashboard.php +msgid "Plugin Compatibility" +msgstr "Plugin Compatibility" + +#: includes/Admin/views/dashboard.php +msgid "The following SEO plugins were detected. BreznGEO adapts automatically." +msgstr "The following SEO plugins were detected. BreznGEO adapts automatically." + +#: includes/Admin/views/dashboard.php +msgid "llms.txt: BreznGEO serves the file with priority — Rank Math is bypassed." +msgstr "llms.txt: BreznGEO serves the file with priority — Rank Math is bypassed." + +#: includes/Admin/views/dashboard.php +msgid "Schema.org: BreznGEO suppresses its own JSON-LD to avoid duplicates." +msgstr "Schema.org: BreznGEO suppresses its own JSON-LD to avoid duplicates." + +#: includes/Admin/views/dashboard.php +msgid "Meta descriptions: BreznGEO writes to the Rank Math meta field." +msgstr "Meta descriptions: BreznGEO writes to the Rank Math meta field." + +#: includes/Admin/views/dashboard.php +msgid "Meta descriptions: BreznGEO writes to the Yoast meta field." +msgstr "Meta descriptions: BreznGEO writes to the Yoast meta field." + +#: includes/Admin/views/dashboard.php +msgid "Meta descriptions: BreznGEO writes to the AIOSEO meta field." +msgstr "Meta descriptions: BreznGEO writes to the AIOSEO meta field." + +#: includes/Admin/views/dashboard.php +msgid "Meta descriptions: BreznGEO writes to the SEOPress meta field." +msgstr "Meta descriptions: BreznGEO writes to the SEOPress meta field." + +#: includes/Admin/views/geo.php +msgid "Color scheme" +msgstr "Color scheme" + +#: includes/Admin/views/geo.php +msgid "Auto (follows OS light/dark preference)" +msgstr "Auto (follows OS light/dark preference)" + +#: includes/Admin/views/geo.php +msgid "Always light" +msgstr "Always light" + +#: includes/Admin/views/geo.php +msgid "Always dark" +msgstr "Always dark" + +#: includes/Admin/views/geo.php +msgid "Auto detects the visitor's OS or browser setting via prefers-color-scheme." +msgstr "Auto detects the visitor's OS or browser setting via prefers-color-scheme." + +#: includes/Admin/views/geo.php +msgid "Accent color" +msgstr "Accent color" + +#: includes/Admin/views/geo.php +msgid "Used for the left border of the summary bar and the expand arrow. Leave empty for the default blue." +msgstr "Used for the left border of the summary bar and the expand arrow. Leave empty for the default blue." + +# --- v1.2.2 --- + +#: includes/Admin/AdminMenu.php +msgid "Testing…" +msgstr "Testing…" + +#: includes/Admin/AdminMenu.php +msgid "Network error" +msgstr "Network error" + +# --- v1.2.3 --- + +#: includes/Admin/BulkPage.php +msgid "A bulk process is already running" +msgstr "A bulk process is already running" + +#: includes/Admin/BulkPage.php +msgid "since" +msgstr "since" + +#: includes/Admin/BulkPage.php +msgid "Posts without meta description:" +msgstr "Posts without meta description:" + +#: includes/Admin/BulkPage.php +msgid "Total:" +msgstr "Total:" + +#: includes/Admin/BulkPage.php +msgid "Input tokens" +msgstr "Input tokens" + +#: includes/Admin/BulkPage.php +msgid "Output tokens" +msgstr "Output tokens" + +#: includes/Admin/BulkPage.php +msgid "â–¶ Start — max {limit} posts, Provider: {provider}" +msgstr "â–¶ Start — max {limit} posts, Provider: {provider}" + +#: includes/Admin/BulkPage.php +msgid "Stop requested…" +msgstr "Stop requested…" + +#: includes/Admin/BulkPage.php +msgid "↻ Processing {count} posts… ({remaining} remaining)" +msgstr "↻ Processing {count} posts… ({remaining} remaining)" + +#: includes/Admin/BulkPage.php +msgid "Unknown error" +msgstr "Unknown error" + +#: includes/Admin/BulkPage.php +msgid "attempt" +msgstr "attempt" + +#: includes/Admin/BulkPage.php +msgid "processed" +msgstr "processed" + +#: includes/Admin/BulkPage.php +msgid "— Done —" +msgstr "— Done —" + +#: includes/Admin/BulkPage.php +msgid "posts failed:" +msgstr "posts failed:" + +#: includes/Providers/OpenAIProvider.php +#: includes/Providers/AnthropicProvider.php +#: includes/Providers/GeminiProvider.php +#: includes/Providers/GrokProvider.php +msgid "Connection successful" +msgstr "Connection successful" + +#: includes/Providers/OpenAIProvider.php +#: includes/Providers/AnthropicProvider.php +#: includes/Providers/GeminiProvider.php +#: includes/Providers/GrokProvider.php +msgid "Recommended" +msgstr "Recommended" + +#: includes/Providers/OpenAIProvider.php +#: includes/Providers/GeminiProvider.php +#: includes/Providers/GrokProvider.php +msgid "Cheap" +msgstr "Cheap" + +#: includes/Providers/OpenAIProvider.php +msgid "Very cheap" +msgstr "Very cheap" + +#: includes/Providers/AnthropicProvider.php +msgid "Powerful" +msgstr "Powerful" + +#: includes/Providers/AnthropicProvider.php +msgid "Fast & cheap" +msgstr "Fast & cheap" + +#: includes/Admin/AdminMenu.php +msgid "Really reset the prompt?" +msgstr "Really reset the prompt?" + +#: includes/Admin/views/dashboard.php +msgid "Servus! Welcome to BreznGEO." +msgstr "Servus! Welcome to BreznGEO." + +#: includes/Admin/views/dashboard.php +msgid "No Lederhosen required — your SEO is already in good hands." +msgstr "No Lederhosen required — your SEO is already in good hands." + +#: includes/Admin/views/dashboard.php +msgid "Read the setup guide and be running in five minutes →" +msgstr "Read the setup guide and be running in five minutes →" + +#: includes/Admin/views/dashboard.php +msgid "Dismiss" +msgstr "Dismiss" + +#: includes/Admin/views/dashboard.php +msgid "Version" +msgstr "Version" + +#: includes/Admin/views/dashboard.php +msgid "AI metas generated" +msgstr "AI metas generated" + +#: includes/Admin/views/dashboard.php +msgid "Tokens used (est.)" +msgstr "Tokens used (est.)" + +#: includes/Admin/views/dashboard.php +msgid "Est. cost (USD)" +msgstr "Est. cost (USD)" + +#: includes/Admin/views/dashboard.php +msgid "Configure AI Provider" +msgstr "Configure AI Provider" + +#: includes/Admin/views/dashboard.php +msgid "Documentation & How To" +msgstr "Documentation & How To" + +#: includes/Admin/views/provider.php +msgid "Enable AI generation" +msgstr "Enable AI generation" + +#: includes/Admin/views/provider.php +msgid "This feature will incur costs with your AI provider. Make sure you understand the pricing before entering an API key." +msgstr "This feature will incur costs with your AI provider. Make sure you understand the pricing before entering an API key." #: includes/Admin/AdminMenu.php msgid "Link Suggestions" @@ -649,5 +1087,533 @@ msgstr "Use AI to generate GEO-optimised content blocks for LLM visibility." msgid "Save" msgstr "Save" -msgid "Network error" -msgstr "Network error" +# --- v1.3.3 i18n pass --- + +#: includes/Admin/views/dashboard.php +#: includes/Admin/AdminMenu.php +#: includes/Admin/views/keyword-settings.php +msgid "Keyword Analysis" +msgstr "Keyword Analysis" + +#: includes/Admin/views/dashboard.php +msgid "AI-powered keyword suggestions, optimization tips, and semantic analysis." +msgstr "AI-powered keyword suggestions, optimization tips, and semantic analysis." + +#: includes/Admin/views/meta.php +msgid "SEO Widget" +msgstr "SEO Widget" + +#: includes/Admin/views/meta.php +msgid "Theme outputs post title as H1 (suppresses \"no H1\" warning in editor)" +msgstr "Theme outputs post title as H1 (suppresses \"no H1\" warning in editor)" + +#: includes/Admin/views/meta.php +msgid "Most themes render the post title as an H1 tag on the front end. Enable this to avoid false warnings in the SEO Widget when the content itself contains no H1." +msgstr "Most themes render the post title as an H1 tag on the front end. Enable this to avoid false warnings in the SEO Widget when the content itself contains no H1." + +#: includes/Admin/views/meta.php +msgid "No AI provider active." +msgstr "No AI provider active." + +#: includes/Admin/views/meta.php +msgid "Meta descriptions will use the fallback method (first paragraph of the post) until an API key is configured and AI generation is enabled." +msgstr "Meta descriptions will use the fallback method (first paragraph of the post) until an API key is configured and AI generation is enabled." + +#: includes/Admin/views/meta.php +msgid "Configure AI Provider →" +msgstr "Configure AI Provider →" + +#: includes/Admin/views/meta.php +msgid "Fallback mode active — configure an AI provider to enable AI generation." +msgstr "Fallback mode active — configure an AI provider to enable AI generation." + +#: includes/Admin/views/txt.php +msgid "Clear Cache" +msgstr "Clear Cache" + +#: includes/Admin/views/txt.php +msgid "URL:" +msgstr "URL:" + +#: includes/Admin/KeywordMetaBox.php +msgid "Keyword Analysis (BreznGEO)" +msgstr "Keyword Analysis (BreznGEO)" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Main Keyword" +msgstr "Main Keyword" + +#: includes/Admin/views/keyword-meta-box.php +msgid "e.g. Passau travel guide" +msgstr "e.g. Passau travel guide" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Secondary Keywords" +msgstr "Secondary Keywords" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Add Keyword" +msgstr "Add Keyword" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Analyze" +msgstr "Analyze" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Suggest Keywords" +msgstr "Suggest Keywords" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Showing cached results. Click \"Analyze\" to refresh." +msgstr "Showing cached results. Click \"Analyze\" to refresh." + +#: includes/Admin/views/keyword-meta-box.php +msgid "Optimization Tips" +msgstr "Optimization Tips" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Semantic Analysis" +msgstr "Semantic Analysis" + +#: includes/Admin/KeywordMetaBox.php (JS i18n) +msgid "Analyzing…" +msgstr "Analyzing…" + +#: includes/Admin/KeywordMetaBox.php +msgid "Please enter a main keyword." +msgstr "Please enter a main keyword." + +#: includes/Admin/KeywordMetaBox.php +msgid "Getting suggestions…" +msgstr "Getting suggestions…" + +#: includes/Admin/KeywordMetaBox.php +msgid "Getting optimization tips…" +msgstr "Getting optimization tips…" + +#: includes/Admin/KeywordMetaBox.php +msgid "Running semantic analysis…" +msgstr "Running semantic analysis…" + +#: includes/Admin/KeywordMetaBox.php +msgid "AI keyword features are not activated." +msgstr "AI keyword features are not activated." + +#: includes/Admin/KeywordMetaBox.php +msgid "AI generation failed. Check provider settings." +msgstr "AI generation failed. Check provider settings." + +#: includes/Admin/KeywordMetaBox.php +msgid "Could not parse AI response." +msgstr "Could not parse AI response." + +#: includes/Admin/KeywordMetaBox.php +msgid "No keyword provided." +msgstr "No keyword provided." + +#: includes/Admin/SeoWidget.php +msgid "No H1 heading" +msgstr "No H1 heading" + +#: includes/Admin/SeoWidget.php +msgid "Multiple H1 headings" +msgstr "Multiple H1 headings" + +#: includes/Admin/SeoWidget.php +msgid "No internal links" +msgstr "No internal links" + +#: includes/Admin/SeoWidget.php +msgid "internal" +msgstr "internal" + +#: includes/Admin/SeoWidget.php +msgid "external" +msgstr "external" + +#: includes/Admin/SeoWidget.php +msgid "min" +msgstr "min" + +#: includes/Admin/views/keyword-settings.php +msgid "Analysis Settings" +msgstr "Analysis Settings" + +#: includes/Admin/views/keyword-settings.php +msgid "Update Mode" +msgstr "Update Mode" + +#: includes/Admin/views/keyword-settings.php +msgid "Manual — click \"Analyze\" button" +msgstr "Manual — click \"Analyze\" button" + +#: includes/Admin/views/keyword-settings.php +msgid "Live — auto-analyze while typing" +msgstr "Live — auto-analyze while typing" + +#: includes/Admin/views/keyword-settings.php +msgid "On Save — analyze when post is saved" +msgstr "On Save — analyze when post is saved" + +#: includes/Admin/views/keyword-settings.php +msgid "Target Keyword Density (%)" +msgstr "Target Keyword Density (%)" + +#: includes/Admin/views/keyword-settings.php +msgid "Recommended: 1.0–2.0%. Pass range is ±0.5% around the target." +msgstr "Recommended: 1.0–2.0%. Pass range is ±0.5% around the target." + +#: includes/Admin/views/keyword-settings.php +msgid "Min. Occurrences (Primary)" +msgstr "Min. Occurrences (Primary)" + +#: includes/Admin/views/keyword-settings.php +msgid "Min. Occurrences (Secondary)" +msgstr "Min. Occurrences (Secondary)" + +#: includes/Admin/views/keyword-settings.php +msgid "Live Mode Debounce (ms)" +msgstr "Live Mode Debounce (ms)" + +#: includes/Admin/views/keyword-settings.php +msgid "Delay in milliseconds before live analysis triggers after typing stops." +msgstr "Delay in milliseconds before live analysis triggers after typing stops." + +#: includes/Admin/views/keyword-settings.php +msgid "Show keyword meta box on" +msgstr "Show keyword meta box on" + +#: includes/Admin/views/bulk.php +msgid "No AI provider connected — descriptions will be generated from content without AI (fallback mode)." +msgstr "No AI provider connected — descriptions will be generated from content without AI (fallback mode)." + +#: includes/Admin/views/geo.php +msgid "Labels" +msgstr "Labels" + +#: includes/Admin/views/geo.php +msgid "Styling" +msgstr "Styling" + +#: includes/Admin/views/geo.php +msgid "Position" +msgstr "Position" + +#: includes/Admin/views/geo.php +msgid "Theme" +msgstr "Theme" + +#: includes/Admin/views/geo.php +msgid "Light" +msgstr "Light" + +#: includes/Admin/views/geo.php +msgid "Dark" +msgstr "Dark" + +#: includes/Admin/views/geo.php +msgid "Minimal" +msgstr "Minimal" + +#: includes/Admin/views/geo.php +msgid "Brezn" +msgstr "Brezn" + +# --- Schema.org --- + +#: includes/Admin/AdminMenu.php +msgid "Schema.org" +msgstr "Schema.org" + +#: includes/Admin/AdminMenu.php +msgid "AI disabled" +msgstr "AI disabled" + +#: includes/Admin/AdminMenu.php +msgid "\xe2\x80\x94 Not configured \xe2\x80\x94" +msgstr "\xe2\x80\x94 Not configured \xe2\x80\x94" + +#: includes/Admin/views/schema.php +msgid "BreznGEO Schema" +msgstr "BreznGEO Schema" + +#: includes/Admin/views/schema-meta-box.php +msgid "Schema Type" +msgstr "Schema Type" + +#: includes/Admin/views/schema-meta-box.php +msgid "\xe2\x80\x94 No Schema \xe2\x80\x94" +msgstr "\xe2\x80\x94 No Schema \xe2\x80\x94" + +#: includes/Admin/views/schema.php +msgid "BlogPosting / Article (with embedded Author + Image)" +msgstr "BlogPosting / Article (with embedded Author + Image)" + +#: includes/Admin/views/schema.php +msgid "FAQPage (from GEO Quick Overview \xe2\x80\x94 automatic)" +msgstr "FAQPage (from GEO Quick Overview \xe2\x80\x94 automatic)" + +#: includes/Admin/views/schema.php +msgid "ImageObject (Featured Image)" +msgstr "ImageObject (Featured Image)" + +#: includes/Admin/views/schema.php +msgid "VideoObject (auto-detect YouTube/Vimeo)" +msgstr "VideoObject (auto-detect YouTube/Vimeo)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Recipe" +msgstr "Recipe" + +#: includes/Admin/views/schema-meta-box.php +msgid "Recipe Name" +msgstr "Recipe Name" + +#: includes/Admin/views/schema-meta-box.php +msgid "Recipe (Metabox in Post Editor)" +msgstr "Recipe (Metabox in Post Editor)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Event" +msgstr "Event" + +#: includes/Admin/views/schema-meta-box.php +msgid "Event Name" +msgstr "Event Name" + +#: includes/Admin/views/schema-meta-box.php +msgid "Event (Metabox in Post Editor)" +msgstr "Event (Metabox in Post Editor)" + +#: includes/Admin/views/schema-meta-box.php +msgid "HowTo Guide" +msgstr "HowTo Guide" + +#: includes/Admin/views/schema-meta-box.php +msgid "HowTo (Metabox in Post Editor)" +msgstr "HowTo (Metabox in Post Editor)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Review / Rating" +msgstr "Review / Rating" + +#: includes/Admin/views/schema-meta-box.php +msgid "Review with Rating (Metabox in Post Editor)" +msgstr "Review with Rating (Metabox in Post Editor)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Guide Name" +msgstr "Guide Name" + +#: includes/Admin/views/schema-meta-box.php +msgid "Steps (one line = one step)" +msgstr "Steps (one line = one step)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Ingredients (one per line)" +msgstr "Ingredients (one per line)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Instructions (one step per line)" +msgstr "Instructions (one step per line)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Prep Time (min)" +msgstr "Prep Time (min)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Cook Time (min)" +msgstr "Cook Time (min)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Servings" +msgstr "Servings" + +#: includes/Admin/views/schema-meta-box.php +msgid "Rating (1\xe2\x80\x935)" +msgstr "Rating (1\xe2\x80\x935)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Reviewed Product / Service" +msgstr "Reviewed Product / Service" + +#: includes/Admin/views/schema-meta-box.php +msgid "Start Date" +msgstr "Start Date" + +#: includes/Admin/views/schema-meta-box.php +msgid "End Date (optional)" +msgstr "End Date (optional)" + +#: includes/Admin/views/schema-meta-box.php +msgid "Location or URL" +msgstr "Location or URL" + +#: includes/Admin/views/schema-meta-box.php +msgid "Online Event" +msgstr "Online Event" + +#: includes/Admin/views/schema-meta-box.php +msgid "Post not found." +msgstr "Post not found." + +# --- Keyword Analysis Checks --- + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword Density" +msgstr "Keyword Density" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in title." +msgstr "Keyword found in title." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in title." +msgstr "Keyword not found in title." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in subheading." +msgstr "Keyword found in subheading." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in any H2-H6." +msgstr "Keyword not found in any H2-H6." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in URL." +msgstr "Keyword found in URL." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in URL." +msgstr "Keyword not found in URL." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in meta description." +msgstr "Keyword found in meta description." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in meta description." +msgstr "Keyword not found in meta description." + +#: includes/Features/KeywordAnalysis.php +msgid "Meta description is empty." +msgstr "Meta description is empty." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in first paragraph." +msgstr "Keyword found in first paragraph." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in first paragraph." +msgstr "Keyword not found in first paragraph." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in last paragraph." +msgstr "Keyword found in last paragraph." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in last paragraph." +msgstr "Keyword not found in last paragraph." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in excerpt." +msgstr "Keyword found in excerpt." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in excerpt." +msgstr "Keyword not found in excerpt." + +#: includes/Features/KeywordAnalysis.php +msgid "Excerpt is empty." +msgstr "Excerpt is empty." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in image alt text." +msgstr "Keyword found in image alt text." + +#: includes/Features/KeywordAnalysis.php +msgid "No image contains keyword in alt text." +msgstr "No image contains keyword in alt text." + +#: includes/Features/KeywordAnalysis.php +msgid "No images found." +msgstr "No images found." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in image title or caption." +msgstr "Keyword found in image title or caption." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in any image title or caption." +msgstr "Keyword not found in any image title or caption." + +#: includes/Features/KeywordAnalysis.php +msgid "No paragraphs found." +msgstr "No paragraphs found." + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in content." +msgstr "Keyword not found in content." + +#: includes/Features/KeywordAnalysis.php +msgid "URL / Slug" +msgstr "URL / Slug" + +#: includes/Features/KeywordAnalysis.php +msgid "First Paragraph" +msgstr "First Paragraph" + +#: includes/Features/KeywordAnalysis.php +msgid "Last Paragraph" +msgstr "Last Paragraph" + +#: includes/Features/KeywordAnalysis.php +msgid "Image Alt Texts" +msgstr "Image Alt Texts" + +#: includes/Features/KeywordAnalysis.php +msgid "Image Title/Caption" +msgstr "Image Title/Caption" + +#: includes/Features/KeywordAnalysis.php +msgid "Excerpt" +msgstr "Excerpt" + +#: includes/Features/KeywordAnalysis.php +msgid "Meta Description" +msgstr "Meta Description" + +#: includes/Features/KeywordAnalysis.php +msgid "FAQ" +msgstr "FAQ" + +#: includes/Features/KeywordAnalysis.php +#, php-format +msgid "%1$.1f%% (target: %2$.1f%%)" +msgstr "%1$.1f%% (target: %2$.1f%%)" + +#: includes/Admin/views/geo.php +msgid "The GEO block will not be generated automatically until an API key is configured and AI generation is enabled." +msgstr "The GEO block will not be generated automatically until an API key is configured and AI generation is enabled." + +#: includes/Admin/views/geo.php +msgid "Variables: {title}, {content}, {language}" +msgstr "Variables: {title}, {content}, {language}" + +#: includes/Admin/views/geo.php +#, php-format +msgid "Want to customise further? Learn how to style the block via your theme →" +msgstr "Want to customise further? Learn how to style the block via your theme →" + +#: includes/Admin/views/geo.php +msgid "Left border stripe and expand arrow colour. Leave empty for the default blue. Not used by the Minimal theme." +msgstr "Left border stripe and expand arrow colour. Leave empty for the default blue. Not used by the Minimal theme." + +#: includes/Admin/views/geo.php +msgid "Light \xe2\x80\x94 clean card with a blue accent. Dark \xe2\x80\x94 same for dark-mode sites. Minimal \xe2\x80\x94 borderless, left stripe only. Brezn \xe2\x80\x94 Brezn blue with diamond header pattern." +msgstr "Light \xe2\x80\x94 clean card with a blue accent. Dark \xe2\x80\x94 same for dark-mode sites. Minimal \xe2\x80\x94 borderless, left stripe only. Brezn \xe2\x80\x94 Brezn blue with diamond header pattern." + +#: includes/Admin/views/bulk.php +#, php-format +msgid "No AI provider connected \xe2\x80\x94 descriptions will be generated from content without AI (fallback mode). Configure a provider \xe2\x86\x92" +msgstr "No AI provider connected \xe2\x80\x94 descriptions will be generated from content without AI (fallback mode). Configure a provider \xe2\x86\x92" diff --git a/brezngeo/languages/brezngeo.pot b/brezngeo/languages/brezngeo.pot index 82164c3..0d7c4f5 100644 --- a/brezngeo/languages/brezngeo.pot +++ b/brezngeo/languages/brezngeo.pot @@ -1,3 +1,4 @@ +# German (de_DE) translation for BreznGEO # Copyright (C) 2025 Donau2Space # This file is distributed under the GPL-2.0-or-later license. msgid "" @@ -5,19 +6,18 @@ msgstr "" "Project-Id-Version: BreznGEO 1.0.0\n" "Report-Msgid-Bugs-To: https://donau2space.de\n" "POT-Creation-Date: 2026-02-21T00:00:00+00:00\n" +"PO-Revision-Date: 2026-02-25T00:00:00+00:00\n" +"Last-Translator: Donau2Space \n" +"Language-Team: \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2026-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Manual\n" "X-Domain: brezngeo\n" #: includes/Admin/AdminMenu.php:11 -msgid "BreznGEO" -msgstr "" - #: includes/Admin/AdminMenu.php:12 msgid "BreznGEO" msgstr "" @@ -44,15 +44,12 @@ msgstr "" #: includes/Admin/AdminMenu.php:59 #: includes/Admin/AdminMenu.php:60 #: includes/Admin/views/bulk.php:3 +#: includes/Admin/views/dashboard.php:42 msgid "Bulk Generator" msgstr "" -#: includes/Admin/AdminMenu.php:67 -msgid "robots.txt / AI Bots" -msgstr "" - -#: includes/Admin/AdminMenu.php:69 -msgid "robots.txt" +#: includes/Admin/AdminMenu.php +msgid "TXT Files" msgstr "" #: includes/Admin/views/dashboard.php:3 @@ -95,10 +92,6 @@ msgstr "" msgid "Meta Generator Settings" msgstr "" -#: includes/Admin/views/dashboard.php:42 -msgid "Bulk Generator" -msgstr "" - #: includes/Admin/views/dashboard.php:48 msgid "Status" msgstr "" @@ -111,32 +104,72 @@ msgstr "" msgid "Active Provider:" msgstr "" -#: includes/Admin/views/dashboard.php:56 -msgid "Interne Link-Analyse" +#: includes/Admin/views/dashboard.php +msgid "New here?" msgstr "" -#: includes/Admin/views/dashboard.php:58 -msgid "Wird geladen\xe2\x80\xa6" +#: includes/Admin/views/dashboard.php +msgid "Read the setup guide — get running in five minutes →" msgstr "" -#: includes/Admin/views/dashboard.php:63 -msgid "AI Crawler \xe2\x80\x94 letzte 30 Tage" +#: includes/Admin/views/dashboard.php +msgid "Internal Link Analysis" msgstr "" -#: includes/Admin/views/dashboard.php:67 -msgid "Noch keine AI-Crawls aufgezeichnet." +#: includes/Admin/views/dashboard.php +msgid "Loading…" msgstr "" -#: includes/Admin/views/dashboard.php:71 +#: includes/Admin/views/dashboard.php +msgid "AI Crawlers — Last 30 Days" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "No AI crawlers recorded yet." +msgstr "" + +#: includes/Admin/views/dashboard.php msgid "Bot" msgstr "" -#: includes/Admin/views/dashboard.php:72 -msgid "Besuche" +#: includes/Admin/views/dashboard.php +msgid "Visits" msgstr "" -#: includes/Admin/views/dashboard.php:73 -msgid "Zuletzt" +#: includes/Admin/views/dashboard.php +msgid "Last Seen" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Analysis error." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Posts without internal links" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "All posts have internal links." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Posts with many external links (≥" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "No posts with excessive external links." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Pillar Pages (Top 5)" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "No data." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Connection error." msgstr "" #: includes/Admin/views/provider.php:13 @@ -169,12 +202,12 @@ msgstr "" msgid "Model:" msgstr "" -#: includes/Admin/views/provider.php:63 -msgid "Aktuelle Preise ansehen \xe2\x86\x92" +#: includes/Admin/views/provider.php +msgid "View current pricing →" msgstr "" -#: includes/Admin/views/provider.php:67 -msgid "Kosten pro 1 Million Token (f\xc3\xbcr Kostens\xc3\xbcbersicht im Bulk):" +#: includes/Admin/views/provider.php +msgid "Cost per 1 million tokens (for the Bulk cost overview):" msgstr "" #: includes/Admin/views/provider.php:88 @@ -182,9 +215,26 @@ msgstr "" msgid "Save Settings" msgstr "" -#: includes/Admin/views/provider.php:94 -#: includes/Admin/views/meta.php:107 -msgid "developed with" +#: includes/Admin/views/dashboard.php +#: includes/Admin/views/bulk.php +#: includes/Admin/views/provider.php +#: includes/Admin/views/meta.php +#: includes/Admin/views/geo.php +#: includes/Admin/views/schema.php +#: includes/Admin/views/txt.php +#: includes/Admin/views/link-suggest-settings.php +msgid "developed by" +msgstr "" + +#: includes/Admin/views/dashboard.php +#: includes/Admin/views/bulk.php +#: includes/Admin/views/provider.php +#: includes/Admin/views/meta.php +#: includes/Admin/views/geo.php +#: includes/Admin/views/schema.php +#: includes/Admin/views/txt.php +#: includes/Admin/views/link-suggest-settings.php +msgid "for" msgstr "" #: includes/Admin/views/bulk.php:7 @@ -211,104 +261,116 @@ msgstr "" msgid "0 / 0 processed" msgstr "" -#: includes/Admin/views/llms.php:3 +#: includes/Admin/views/txt.php:3 msgid "llms.txt Configuration" msgstr "" -#: includes/Admin/views/llms.php:7 -msgid "llms.txt Cache leeren" +#: includes/Admin/views/txt.php +msgid "Clear llms.txt Cache" msgstr "" -#: includes/Admin/views/llms.php:28 +#: includes/Admin/views/txt.php +msgid "Error." +msgstr "" + +#: includes/Admin/views/txt.php +msgid "Max. links per page" +msgstr "" + +#: includes/Admin/views/txt.php +msgid "With more posts, llms-2.txt, llms-3.txt etc. are created and linked automatically." +msgstr "" + +#: includes/Admin/views/txt.php:28 msgid "Your llms.txt will be served at:" msgstr "" -#: includes/Admin/views/llms.php:33 +#: includes/Admin/views/txt.php:33 msgid "Active" msgstr "" -#: includes/Admin/views/llms.php:35 +#: includes/Admin/views/txt.php:35 msgid "Inactive" msgstr "" -#: includes/Admin/views/llms.php:44 +#: includes/Admin/views/txt.php:44 msgid "Enable llms.txt" msgstr "" -#: includes/Admin/views/llms.php:49 +#: includes/Admin/views/txt.php:49 msgid "Serve llms.txt at" msgstr "" -#: includes/Admin/views/llms.php:56 +#: includes/Admin/views/txt.php:56 msgid "Title" msgstr "" -#: includes/Admin/views/llms.php:63 +#: includes/Admin/views/txt.php:63 msgid "Appears as the # heading in llms.txt" msgstr "" -#: includes/Admin/views/llms.php:68 +#: includes/Admin/views/txt.php:68 msgid "Description (before links)" msgstr "" -#: includes/Admin/views/llms.php:72 +#: includes/Admin/views/txt.php:72 msgid "Text shown after the title, before featured links." msgstr "" -#: includes/Admin/views/llms.php:77 +#: includes/Admin/views/txt.php:77 msgid "Featured Links" msgstr "" -#: includes/Admin/views/llms.php:82 +#: includes/Admin/views/txt.php:82 msgid "Important links to highlight for AI models. One per line." msgstr "" -#: includes/Admin/views/llms.php:83 +#: includes/Admin/views/txt.php:83 msgid "Markdown format recommended:" msgstr "" -#: includes/Admin/views/llms.php:90 +#: includes/Admin/views/txt.php:90 #: includes/Admin/views/meta.php:25 msgid "Post Types" msgstr "" -#: includes/Admin/views/llms.php:101 +#: includes/Admin/views/txt.php:101 msgid "Which post types to include in the content list." msgstr "" -#: includes/Admin/views/llms.php:106 +#: includes/Admin/views/txt.php:106 msgid "Max. Links pro Seite" msgstr "" -#: includes/Admin/views/llms.php:112 +#: includes/Admin/views/txt.php:112 msgid "Bei mehr Posts werden automatisch llms-2.txt, llms-3.txt etc. erstellt und verlinkt." msgstr "" -#: includes/Admin/views/llms.php:118 +#: includes/Admin/views/txt.php:118 msgid "Description (after content)" msgstr "" -#: includes/Admin/views/llms.php:126 +#: includes/Admin/views/txt.php:126 msgid "Footer Description" msgstr "" -#: includes/Admin/views/llms.php:130 +#: includes/Admin/views/txt.php:130 msgid "Appears at the end of llms.txt after a --- separator." msgstr "" -#: includes/Admin/views/llms.php:135 +#: includes/Admin/views/txt.php:135 msgid "Save llms.txt Settings" msgstr "" -#: includes/Admin/views/llms.php:139 +#: includes/Admin/views/txt.php:139 msgid "Preview" msgstr "" -#: includes/Admin/views/llms.php:141 +#: includes/Admin/views/txt.php:141 msgid "After saving, visit your llms.txt to verify:" msgstr "" -#: includes/Admin/views/llms.php:147 +#: includes/Admin/views/txt.php:147 msgid "Note: If the URL shows a 404, go to Settings \xe2\x86\x92 Permalinks and click Save to flush rewrite rules." msgstr "" @@ -364,80 +426,76 @@ msgstr "" msgid "One URL per line (Twitter, LinkedIn, GitHub, Facebook\xe2\x80\xa6)" msgstr "" -#: includes/Admin/views/robots.php:3 -msgid "robots.txt \xe2\x80\x94 AI Bots" +#: includes/Admin/views/txt.php +msgid "Block known AI bots for this site." msgstr "" -#: includes/Admin/views/robots.php:5 -msgid "Bekannte AI-Bots f\xc3\xbcr diese Website blockieren." +#: includes/Admin/views/txt.php +msgid "Note: Bots are not required to comply." msgstr "" -#: includes/Admin/views/robots.php:6 -msgid "Hinweis: Bots m\xc3\xbcssen sich nicht daran halten." -msgstr "" - -#: includes/Admin/views/robots.php:15 +#: includes/Admin/views/txt.php msgid "User-Agent" msgstr "" -#: includes/Admin/views/robots.php:16 -msgid "Beschreibung" +#: includes/Admin/views/txt.php +msgid "Description" msgstr "" -#: includes/Admin/views/robots.php:17 -msgid "Blockieren" +#: includes/Admin/views/txt.php +msgid "Block" msgstr "" -#: includes/Admin/views/robots.php:36 -msgid "Einstellungen speichern" +#: includes/Admin/views/txt.php +msgid "View current robots.txt →" msgstr "" -#: includes/Admin/views/robots.php:41 -msgid "Aktuelle robots.txt ansehen \xe2\x86\x92" +#: includes/Admin/views/txt.php +msgid "Save robots.txt Settings" msgstr "" #: includes/Admin/MetaEditorBox.php:20 msgid "Meta Description (BreznGEO)" msgstr "" -#: includes/Admin/MetaEditorBox.php:34 -msgid "KI generiert" +#: includes/Admin/MetaEditorBox.php +msgid "AI generated" msgstr "" -#: includes/Admin/MetaEditorBox.php:35 -msgid "Fallback (erster Absatz)" +#: includes/Admin/MetaEditorBox.php +msgid "Fallback (first paragraph)" msgstr "" -#: includes/Admin/MetaEditorBox.php:36 -msgid "Manuell bearbeitet" +#: includes/Admin/MetaEditorBox.php +msgid "Manually edited" msgstr "" -#: includes/Admin/MetaEditorBox.php:37 -msgid "Noch nicht generiert" +#: includes/Admin/MetaEditorBox.php +msgid "Not yet generated" msgstr "" -#: includes/Admin/MetaEditorBox.php:67 -msgid "Mit KI neu generieren" +#: includes/Admin/MetaEditorBox.php +msgid "Regenerate with AI" msgstr "" -#: includes/Admin/SeoWidget.php:16 -msgid "SEO Analyse (BreznGEO)" +#: includes/Admin/SeoWidget.php +msgid "SEO Analysis (BreznGEO)" msgstr "" -#: includes/Admin/SeoWidget.php:31 -msgid "Titel:" +#: includes/Admin/SeoWidget.php +msgid "Title:" msgstr "" -#: includes/Admin/SeoWidget.php:37 -msgid "W\xc3\xb6rter:" +#: includes/Admin/SeoWidget.php +msgid "Words:" msgstr "" -#: includes/Admin/SeoWidget.php:41 -msgid "Lesezeit:" +#: includes/Admin/SeoWidget.php +msgid "Reading Time:" msgstr "" -#: includes/Admin/SeoWidget.php:46 -msgid "\xc3\x9cberschriften" +#: includes/Admin/SeoWidget.php +msgid "Headings" msgstr "" #: includes/Admin/SeoWidget.php:49 @@ -482,16 +540,405 @@ msgstr "" msgid "Unknown provider." msgstr "" -#: includes/Admin/LlmsPage.php:52 -msgid "Cache geleert." +#: includes/Admin/LlmsPage.php +msgid "Cache cleared." msgstr "" -#: includes/Features/MetaGenerator.php:191 -msgid "Ein Bulk-Prozess l\xc3\xa4uft bereits." +#: includes/Features/MetaGenerator.php +msgid "A bulk process is already running." msgstr "" -#: includes/Features/LlmsTxt.php:31 -msgid "BreznGEO bedient llms.txt mit Priorit\xc3\xa4t \xe2\x80\x94 kein Handlungsbedarf bei Rank Math." +#: includes/Features/LlmsTxt.php +msgid "BreznGEO serves llms.txt with priority \xe2\x80\x94 no action needed in Rank Math." +msgstr "" + +#: includes/Admin/AdminMenu.php +msgid "GEO Quick Overview" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "GEO Quick Overview (BreznGEO)" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Enable GEO block for this post" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Lock auto-regeneration" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +#, php-format +msgid "Generated: %s" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Generate now" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Regenerate" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Clear" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Summary" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "(one per line)" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Key Points" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "(Format: Question? | Answer \xe2\x80\x94 one per line)" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Prompt add-on (optional)" +msgstr "" + +#: includes/Admin/GeoEditorBox.php +msgid "Generation failed. Check API key and provider settings." +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Activation" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Enable GEO Block" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Output the Quick Overview block on the frontend" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Mode" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Auto on publish / update (recommended)" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Hybrid: auto only when fields are empty" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Manual only (editor button)" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Regenerate on update" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Regenerate on every save of a published post" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Word threshold for FAQ" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Below this word count, no FAQ is generated. Default: 350" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Output" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "After first paragraph (default)" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Top of post" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Bottom of post" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Output style" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Collapsible
(default)" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Always open" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Store only, no frontend output" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Block title" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Summary label" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Key Points label" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "FAQ label" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Load minimal CSS" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Load base stylesheet for .brezngeo-geo on the frontend" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Automatically scoped to .brezngeo-geo{...}. Enter CSS property:value pairs only — selectors, at-rules (@media, @import etc.) and url() are blocked for security." +msgstr "" + +#: includes/Admin/views/geo.php +msgid "AI Prompt" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Default prompt" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Per-post prompt add-on" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Authors can enter a prompt add-on per post in the editor" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Plugin Compatibility" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "The following SEO plugins were detected. BreznGEO adapts automatically." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "llms.txt: BreznGEO serves the file with priority — Rank Math is bypassed." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Schema.org: BreznGEO suppresses its own JSON-LD to avoid duplicates." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Meta descriptions: BreznGEO writes to the Rank Math meta field." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Meta descriptions: BreznGEO writes to the Yoast meta field." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Meta descriptions: BreznGEO writes to the AIOSEO meta field." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Meta descriptions: BreznGEO writes to the SEOPress meta field." +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Color scheme" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Auto (follows OS light/dark preference)" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Always light" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Always dark" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Auto detects the visitor's OS or browser setting via prefers-color-scheme." +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Accent color" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Used for the left border of the summary bar and the expand arrow. Leave empty for the default blue." +msgstr "" + +# --- v1.2.2 --- + +#: includes/Admin/AdminMenu.php +msgid "Testing…" +msgstr "" + +#: includes/Admin/AdminMenu.php +msgid "Network error" +msgstr "" + +# --- v1.2.3 --- + +#: includes/Admin/BulkPage.php +msgid "A bulk process is already running" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "since" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "Posts without meta description:" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "Total:" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "Input tokens" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "Output tokens" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "â–¶ Start — max {limit} posts, Provider: {provider}" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "Stop requested…" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "↻ Processing {count} posts… ({remaining} remaining)" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "Unknown error" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "attempt" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "processed" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "— Done —" +msgstr "" + +#: includes/Admin/BulkPage.php +msgid "posts failed:" +msgstr "" + +#: includes/Providers/OpenAIProvider.php +#: includes/Providers/AnthropicProvider.php +#: includes/Providers/GeminiProvider.php +#: includes/Providers/GrokProvider.php +msgid "Connection successful" +msgstr "" + +#: includes/Providers/OpenAIProvider.php +#: includes/Providers/AnthropicProvider.php +#: includes/Providers/GeminiProvider.php +#: includes/Providers/GrokProvider.php +msgid "Recommended" +msgstr "" + +#: includes/Providers/OpenAIProvider.php +#: includes/Providers/GeminiProvider.php +#: includes/Providers/GrokProvider.php +msgid "Cheap" +msgstr "" + +#: includes/Providers/OpenAIProvider.php +msgid "Very cheap" +msgstr "" + +#: includes/Providers/AnthropicProvider.php +msgid "Powerful" +msgstr "" + +#: includes/Providers/AnthropicProvider.php +msgid "Fast & cheap" +msgstr "" + +#: includes/Admin/AdminMenu.php +msgid "Really reset the prompt?" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Servus! Welcome to BreznGEO." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "No Lederhosen required — your SEO is already in good hands." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Read the setup guide and be running in five minutes →" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Dismiss" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Version" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "AI metas generated" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Tokens used (est.)" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Est. cost (USD)" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Configure AI Provider" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Documentation & How To" +msgstr "" + +#: includes/Admin/views/provider.php +msgid "Enable AI generation" +msgstr "" + +#: includes/Admin/views/provider.php +msgid "This feature will incur costs with your AI provider. Make sure you understand the pricing before entering an API key." msgstr "" #: includes/Admin/AdminMenu.php @@ -559,9 +1006,6 @@ msgstr "" msgid "Max output tokens" msgstr "" -msgid "Save Settings" -msgstr "" - #: includes/Admin/views/link-suggest-box.php msgid "Click Analyse to find internal link opportunities." msgstr "" @@ -591,15 +1035,9 @@ msgstr "" msgid "Apply (%d links)" msgstr "" -msgid "Preview" -msgstr "" - msgid "Confirm" msgstr "" -msgid "Cancel" -msgstr "" - msgid "Applied — %d links set âś“" msgstr "" @@ -609,5 +1047,573 @@ msgstr "" msgid "Open post" msgstr "" -msgid "Network error" +#: includes/Admin/views/dashboard.php +msgid "AI Features" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Settings saved." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Choose which features may use your connected AI provider. All options are opt-in and disabled by default." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Meta Descriptions" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Generate meta descriptions with AI when editing or using the Bulk Generator." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Internal Link Suggestions" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Let AI pick the most natural anchor phrases and rank candidates semantically." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "GEO Block" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Use AI to generate GEO-optimised content blocks for LLM visibility." +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "Save" +msgstr "" + +# --- v1.3.3 i18n pass --- + +#: includes/Admin/views/dashboard.php +#: includes/Admin/AdminMenu.php +#: includes/Admin/views/keyword-settings.php +msgid "Keyword Analysis" +msgstr "" + +#: includes/Admin/views/dashboard.php +msgid "AI-powered keyword suggestions, optimization tips, and semantic analysis." +msgstr "" + +#: includes/Admin/views/meta.php +msgid "SEO Widget" +msgstr "" + +#: includes/Admin/views/meta.php +msgid "Theme outputs post title as H1 (suppresses \"no H1\" warning in editor)" +msgstr "" + +#: includes/Admin/views/meta.php +msgid "Most themes render the post title as an H1 tag on the front end. Enable this to avoid false warnings in the SEO Widget when the content itself contains no H1." +msgstr "" + +#: includes/Admin/views/meta.php +msgid "No AI provider active." +msgstr "" + +#: includes/Admin/views/meta.php +msgid "Meta descriptions will use the fallback method (first paragraph of the post) until an API key is configured and AI generation is enabled." +msgstr "" + +#: includes/Admin/views/meta.php +msgid "Configure AI Provider →" +msgstr "" + +#: includes/Admin/views/meta.php +msgid "Fallback mode active — configure an AI provider to enable AI generation." +msgstr "" + +#: includes/Admin/views/txt.php +msgid "Clear Cache" +msgstr "" + +#: includes/Admin/views/txt.php +msgid "URL:" +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "Keyword Analysis (BreznGEO)" +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Main Keyword" +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "e.g. Passau travel guide" +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Secondary Keywords" +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Add Keyword" +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Analyze" +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Suggest Keywords" +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Showing cached results. Click \"Analyze\" to refresh." +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Optimization Tips" +msgstr "" + +#: includes/Admin/views/keyword-meta-box.php +msgid "Semantic Analysis" +msgstr "" + +#: includes/Admin/KeywordMetaBox.php (JS i18n) +msgid "Analyzing…" +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "Please enter a main keyword." +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "Getting suggestions…" +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "Getting optimization tips…" +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "Running semantic analysis…" +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "AI keyword features are not activated." +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "AI generation failed. Check provider settings." +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "Could not parse AI response." +msgstr "" + +#: includes/Admin/KeywordMetaBox.php +msgid "No keyword provided." +msgstr "" + +#: includes/Admin/SeoWidget.php +msgid "No H1 heading" +msgstr "" + +#: includes/Admin/SeoWidget.php +msgid "Multiple H1 headings" +msgstr "" + +#: includes/Admin/SeoWidget.php +msgid "No internal links" +msgstr "" + +#: includes/Admin/SeoWidget.php +msgid "internal" +msgstr "" + +#: includes/Admin/SeoWidget.php +msgid "external" +msgstr "" + +#: includes/Admin/SeoWidget.php +msgid "min" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Analysis Settings" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Update Mode" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Manual — click \"Analyze\" button" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Live — auto-analyze while typing" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "On Save — analyze when post is saved" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Target Keyword Density (%)" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Recommended: 1.0–2.0%. Pass range is ±0.5% around the target." +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Min. Occurrences (Primary)" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Min. Occurrences (Secondary)" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Live Mode Debounce (ms)" +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Delay in milliseconds before live analysis triggers after typing stops." +msgstr "" + +#: includes/Admin/views/keyword-settings.php +msgid "Show keyword meta box on" +msgstr "" + +#: includes/Admin/views/bulk.php +msgid "No AI provider connected — descriptions will be generated from content without AI (fallback mode)." +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Labels" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Styling" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Position" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Theme" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Light" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Dark" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Minimal" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Brezn" +msgstr "" + +# --- Schema.org --- + +#: includes/Admin/AdminMenu.php +msgid "Schema.org" +msgstr "" + +#: includes/Admin/AdminMenu.php +msgid "AI disabled" +msgstr "" + +#: includes/Admin/AdminMenu.php +msgid "\xe2\x80\x94 Not configured \xe2\x80\x94" +msgstr "" + +#: includes/Admin/views/schema.php +msgid "BreznGEO Schema" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Schema Type" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "\xe2\x80\x94 No Schema \xe2\x80\x94" +msgstr "" + +#: includes/Admin/views/schema.php +msgid "BlogPosting / Article (with embedded Author + Image)" +msgstr "" + +#: includes/Admin/views/schema.php +msgid "FAQPage (from GEO Quick Overview \xe2\x80\x94 automatic)" +msgstr "" + +#: includes/Admin/views/schema.php +msgid "ImageObject (Featured Image)" +msgstr "" + +#: includes/Admin/views/schema.php +msgid "VideoObject (auto-detect YouTube/Vimeo)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Recipe" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Recipe Name" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Recipe (Metabox in Post Editor)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Event" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Event Name" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Event (Metabox in Post Editor)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "HowTo Guide" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "HowTo (Metabox in Post Editor)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Review / Rating" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Review with Rating (Metabox in Post Editor)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Guide Name" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Steps (one line = one step)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Ingredients (one per line)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Instructions (one step per line)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Prep Time (min)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Cook Time (min)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Servings" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Rating (1\xe2\x80\x935)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Reviewed Product / Service" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Start Date" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "End Date (optional)" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Location or URL" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Online Event" +msgstr "" + +#: includes/Admin/views/schema-meta-box.php +msgid "Post not found." +msgstr "" + +# --- Keyword Analysis Checks --- + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword Density" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in title." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in title." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in subheading." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in any H2-H6." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in URL." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in URL." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in meta description." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in meta description." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Meta description is empty." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in first paragraph." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in first paragraph." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in last paragraph." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in last paragraph." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in excerpt." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in excerpt." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Excerpt is empty." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in image alt text." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "No image contains keyword in alt text." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "No images found." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword found in image title or caption." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in any image title or caption." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "No paragraphs found." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Keyword not found in content." +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "URL / Slug" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "First Paragraph" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Last Paragraph" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Image Alt Texts" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Image Title/Caption" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Excerpt" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "Meta Description" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +msgid "FAQ" +msgstr "" + +#: includes/Features/KeywordAnalysis.php +#, php-format +msgid "%1$.1f%% (target: %2$.1f%%)" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "The GEO block will not be generated automatically until an API key is configured and AI generation is enabled." +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Variables: {title}, {content}, {language}" +msgstr "" + +#: includes/Admin/views/geo.php +#, php-format +msgid "Want to customise further? Learn how to style the block via your theme →" +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Left border stripe and expand arrow colour. Leave empty for the default blue. Not used by the Minimal theme." +msgstr "" + +#: includes/Admin/views/geo.php +msgid "Light \xe2\x80\x94 clean card with a blue accent. Dark \xe2\x80\x94 same for dark-mode sites. Minimal \xe2\x80\x94 borderless, left stripe only. Brezn \xe2\x80\x94 Brezn blue with diamond header pattern." +msgstr "" + +#: includes/Admin/views/bulk.php +#, php-format +msgid "No AI provider connected \xe2\x80\x94 descriptions will be generated from content without AI (fallback mode). Configure a provider \xe2\x86\x92" msgstr "" diff --git a/brezngeo/messages.mo b/brezngeo/messages.mo new file mode 100644 index 0000000..a9f2ba2 Binary files /dev/null and b/brezngeo/messages.mo differ diff --git a/brezngeo/readme.txt b/brezngeo/readme.txt index 4ec3380..fabd71e 100644 --- a/brezngeo/readme.txt +++ b/brezngeo/readme.txt @@ -3,7 +3,7 @@ Contributors: mifupadev Tags: seo, ai, meta description, schema, llms.txt Requires at least: 6.0 Tested up to: 6.9 -Stable tag: 1.2.0 +Stable tag: 1.2.1 Requires PHP: 8.0 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -224,6 +224,11 @@ No data is transmitted during normal page loads or to visitors. == Changelog == += 1.2.1 = +* Security: Added ABSPATH direct access guards to all PHP class files. +* i18n: Complete German translation — all 394 UI strings now translated. +* i18n: Regenerated .po/.mo/.pot translation files. + = 1.2.0 = * New: Keyword Analysis meta box in the post editor — checks keyword usage across title, headings, density, image alts, meta description, slug, first/last paragraph, image title/caption, and excerpt. * New: Primary and secondary keyword support with configurable minimum occurrences. @@ -260,6 +265,9 @@ No data is transmitted during normal page loads or to visitors. == Upgrade Notice == += 1.2.1 = +Adds ABSPATH security guards to all files and completes German translation. + = 1.2.0 = Adds Keyword Analysis: real-time keyword checks in the post editor with optional AI-powered suggestions.