diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7331ef1..3f45d23 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,11 +22,11 @@ jobs: echo "version=${VERSION}" >> "$GITHUB_OUTPUT" - name: Create ZIP - run: zip -r bavarian-rank-engine.zip bavarian-rank-engine/ + run: zip -r brezngeo.zip brezngeo/ - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: - name: "Bavarian Rank Engine v${{ steps.version.outputs.version }}" - files: bavarian-rank-engine.zip + name: "BreznGEO v${{ steps.version.outputs.version }}" + files: brezngeo.zip generate_release_notes: true diff --git a/README.de.md b/README.de.md index eb04701..3a6a700 100644 --- a/README.de.md +++ b/README.de.md @@ -1,4 +1,4 @@ -# Bavarian Rank Engine +# BreznGEO   @@ -8,11 +8,11 @@ 🇬🇧 [English version → README.md](README.md) -**Website:** [bavarianrankengine.com](https://bavarianrankengine.com) · [How To](https://bavarianrankengine.com/howto.html) · [FAQ](https://bavarianrankengine.com/faq.html) · [Changelog](https://bavarianrankengine.com/changelog.html) +**Website:** [brezngeo.com](https://brezngeo.com) · [How To](https://brezngeo.com/howto.html) · [FAQ](https://brezngeo.com/faq.html) · [Changelog](https://brezngeo.com/changelog.html) --- -Bavarian Rank Engine ist ein schlankes SEO- & GEO-Plugin für WordPress. Es generiert KI-Metabeschreibungen, gibt Schema.org-Strukturdaten aus, erstellt GEO-Inhaltsblöcke für KI-Engines und verwaltet den Crawler-Zugriff über robots.txt und llms.txt — alles in einem Plugin, ohne dass etwas hinter einer Paywall versteckt wird. +BreznGEO ist ein schlankes SEO- & GEO-Plugin für WordPress. Es generiert KI-Metabeschreibungen, gibt Schema.org-Strukturdaten aus, erstellt GEO-Inhaltsblöcke für KI-Engines und verwaltet den Crawler-Zugriff über robots.txt und llms.txt — alles in einem Plugin, ohne dass etwas hinter einer Paywall versteckt wird. Es funktioniert mit oder ohne KI-Key. Es integriert sich ohne Konflikte in Rank Math, Yoast, AIOSEO und SEOPress. Kein SaaS. Keine Telemetrie. Keine Upsells. @@ -24,12 +24,12 @@ Die meisten WordPress-SEO-Plugins haben sich in die gleiche Richtung entwickelt: Die KI-Welle hat es schlimmer gemacht. Plugins fingen an, „KI-gestützte" Features anzubieten — aber als Proxy-Dienst. Man zahlt eine monatliche Gebühr, die Inhalte werden über deren Server geleitet, sie rufen die KI-API im eigenen Namen auf und schlagen eine Marge drauf. -BRE verfolgt einen anderen Ansatz: +BreznGEO verfolgt einen anderen Ansatz: -- **Direkter API-Zugriff.** Du hinterlegst deinen eigenen Key von OpenAI, Anthropic, Google oder xAI. BRE ruft die API direkt auf. Kein Mittelsmann, keine Marge, keine Daten über Server Dritter. +- **Direkter API-Zugriff.** Du hinterlegst deinen eigenen Key von OpenAI, Anthropic, Google oder xAI. BreznGEO ruft die API direkt auf. Kein Mittelsmann, keine Marge, keine Daten über Server Dritter. - **Klarer Output, kein Lärm.** Metabeschreibungen, Strukturdaten, KI-Inhaltsblöcke für GEO, Bot-Steuerung. Keine Lesbarkeits-Scores, keine Keyword-Dichte-Meter, keine Upsell-Banner. - **Keine Subscription.** GPL-2.0. Kostenlos auf beliebig vielen Sites nutzbar. Die einzigen Kosten sind die API-Nutzung — typischerweise Bruchteile eines Cents pro Beitrag. -- **Keine Telemetrie.** BRE sendet keine Daten nach Hause. Kein Usage-Tracking, kein Remote-Logging, keine Analytics, die den eigenen Server verlassen. +- **Keine Telemetrie.** BreznGEO sendet keine Daten nach Hause. Kein Usage-Tracking, kein Remote-Logging, keine Analytics, die den eigenen Server verlassen. - **Funktioniert ohne KI.** Kein API-Key? Der Fallback-Extraktor erzeugt eine brauchbare Metabeschreibung aus dem Artikelinhalt per Satzgrenzenerkennung. Jeder Beitrag bekommt eine Beschreibung. Entwickelt in Passau, Bayern — für [Donau2Space](https://donau2space.de), einen persönlichen KI-Blog, für den ich genau das gebraucht habe — und nichts mehr. @@ -55,8 +55,8 @@ Entwickelt in Passau, Bayern — für [Donau2Space](https://donau2space.de), ein ## Verzeichnisstruktur ``` -bavarian-rank-engine/ -├── bavarian-rank-engine.php # Plugin-Header, Konstanten (BRE_VERSION, BRE_DIR, BRE_URL) +brezngeo/ +├── brezngeo.php # Plugin-Header, Konstanten (BRE_VERSION, BRE_DIR, BRE_URL) ├── uninstall.php # Aufräumen bei Plugin-Löschung ├── assets/ │ ├── admin.css # Gemeinsames Admin-Stylesheet @@ -126,7 +126,7 @@ Generiert SEO-optimierte Meta-Beschreibungen (150–160 Zeichen) automatisch bei | Yoast SEO | `_yoast_wpseo_metadesc` | | AIOSEO | `_aioseo_description` | | SEOPress | `_seopress_titles_desc` | -| (keins aktiv) | BRE gibt `` selbst aus | +| (keins aktiv) | BreznGEO gibt `` selbst aus | **Token-Modus:** Wahlweise wird der gesamte Artikelinhalt gesendet (`full`) oder auf eine konfigurierbare Token-Anzahl (100–8000) gekürzt (`limit`). Das Kürzen erfolgt über `TokenEstimator` — eine wortbasierte Schätzung ohne externe Bibliothek. @@ -158,7 +158,7 @@ Alle Labels, Akzentfarbe, Farbschema (Auto/Hell/Dunkel) und Custom CSS sind übe ### Schema.org Enhancer -Gibt JSON-LD-Strukturdaten und Meta-Tags in `
` aus. Einstellungen unter **Bavarian Rank → Schema.org**. Jeder Typ ist einzeln aktivierbar: +Gibt JSON-LD-Strukturdaten und Meta-Tags in `` aus. Einstellungen unter **BreznGEO → Schema.org**. Jeder Typ ist einzeln aktivierbar: | Typ | Schema.org-Type | Hinweis | |---|---|---| @@ -185,7 +185,7 @@ Bedient `/llms.txt` und paginierte Folgedateien über einen `parse_request`-Hook **HTTP-Caching:** ETag, Last-Modified, Cache-Control. Transient-Cache wird bei jeder Einstellungsänderung automatisch invalidiert. -**Rank Math Konfliktwarnung:** Falls Rank Math ebenfalls eine llms.txt ausliefern will, zeigt BRE einen Admin-Hinweis an — BRE hat wegen Priorität 1 automatisch Vorrang. +**Rank Math Konfliktwarnung:** Falls Rank Math ebenfalls eine llms.txt ausliefern will, zeigt BreznGEO einen Admin-Hinweis an — BreznGEO hat wegen Priorität 1 automatisch Vorrang. --- @@ -349,18 +349,18 @@ Alle Endpunkte erfordern `manage_options` (kein `nopriv`). ## Installation **Via GitHub Release (empfohlen):** -1. `bavarian-rank-engine.zip` vom [neuesten Release](https://github.com/noschmarrn/bavarianrankengine/releases/latest) herunterladen +1. `brezngeo.zip` vom [neuesten Release](https://github.com/noschmarrn/brezngeo/releases/latest) herunterladen 2. In WordPress unter *Plugins → Installieren → Plugin hochladen* einspielen **Manuell (clone):** ```bash cd /path/to/wordpress/wp-content/plugins/ -git clone https://github.com/noschmarrn/bavarianrankengine.git bavarian-rank-engine -wp plugin activate bavarian-rank-engine +git clone https://github.com/noschmarrn/brezngeo.git brezngeo +wp plugin activate brezngeo ``` **Nach der Aktivierung:** -1. *Bavarian Rank → AI Provider* — Provider wählen, API-Key hinterlegen, Verbindungstest +1. *BreznGEO → AI Provider* — Provider wählen, API-Key hinterlegen, Verbindungstest 2. *Meta Generator* — Auto-Modus aktivieren, Post-Types auswählen Kein JavaScript-Build-Step. Alle Assets unter `assets/` sind direkte JS/CSS-Dateien. @@ -372,12 +372,12 @@ Kein JavaScript-Build-Step. Alle Assets unter `assets/` sind direkte JS/CSS-Date | Komponente | Technologie | |---|---| | Backend | PHP 8.0+, WordPress Plugin API | -| Namespace | `BavarianRankEngine\` | +| Namespace | `BreznGEO\` | | Architektur | Singleton-Core, Registry-Pattern (Provider), Feature-Klassen mit `register()` | | Datenbank | WordPress Options API, `wpdb` (eigene Tabelle für CrawlerLog) | | Caching | WordPress Transients | | Frontend | Vanilla JS + jQuery (WordPress-integriert), kein Build-Step | -| I18n | `.pot`-File, Text-Domain `bavarian-rank-engine` | +| I18n | `.pot`-File, Text-Domain `brezngeo` | | Tests | PHPUnit (102 Tests, 216 Assertions) | | Coding Standard | WordPress PHPCS | | Lizenz | GPL-2.0-or-later | diff --git a/README.md b/README.md index 35d501d..5b92c8f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Bavarian Rank Engine +# BreznGEO   @@ -8,11 +8,11 @@ 🇩🇪 [Deutsche Version → README.de.md](README.de.md) -**Website:** [bavarianrankengine.com](https://bavarianrankengine.com) · [How To](https://bavarianrankengine.com/howto.html) · [FAQ](https://bavarianrankengine.com/faq.html) · [Changelog](https://bavarianrankengine.com/changelog.html) +**Website:** [brezngeo.com](https://brezngeo.com) · [How To](https://brezngeo.com/howto.html) · [FAQ](https://brezngeo.com/faq.html) · [Changelog](https://brezngeo.com/changelog.html) --- -Bavarian Rank Engine is a lightweight SEO & GEO plugin for WordPress. It generates AI-powered meta descriptions, outputs Schema.org structured data, creates GEO content blocks for AI engines, and manages crawler access via robots.txt and llms.txt — all in one plugin, nothing hidden behind a paywall. +BreznGEO is a lightweight SEO & GEO plugin for WordPress. It generates AI-powered meta descriptions, outputs Schema.org structured data, creates GEO content blocks for AI engines, and manages crawler access via robots.txt and llms.txt — all in one plugin, nothing hidden behind a paywall. It works with or without an AI key. It integrates without conflicts into Rank Math, Yoast, AIOSEO, and SEOPress. No SaaS. No telemetry. No upsells. @@ -24,12 +24,12 @@ Most WordPress SEO plugins have evolved in the same direction: bloated feature s The AI wave made it worse. Plugins started offering "AI-powered" features — but as a proxy service. You pay a monthly fee, your content goes through their servers, they call the AI API on your behalf and add a margin on top. -BRE takes a different approach: +BreznGEO takes a different approach: -- **Direct API access.** You store your own key from OpenAI, Anthropic, Google, or xAI. BRE calls the API directly. No middleman, no margin, no data passing through third-party servers. +- **Direct API access.** You store your own key from OpenAI, Anthropic, Google, or xAI. BreznGEO calls the API directly. No middleman, no margin, no data passing through third-party servers. - **Clear output, not noise.** Meta descriptions, structured data, GEO content blocks, bot management. No readability scores, no keyword density meters, no upsell banners. - **No subscription.** GPL-2.0. Free to use on any number of sites. The only costs are API usage — typically fractions of a cent per post. -- **No telemetry.** BRE sends no data home. No usage tracking, no remote logging, no analytics leaving your server. +- **No telemetry.** BreznGEO sends no data home. No usage tracking, no remote logging, no analytics leaving your server. - **Works without AI.** No API key? The fallback extractor generates a usable meta description from post content using sentence boundary detection. Every post gets a description. Built in Passau, Bavaria — for [Donau2Space](https://donau2space.de), a personal AI blog, where exactly this was needed — and nothing more. @@ -55,8 +55,8 @@ Built in Passau, Bavaria — for [Donau2Space](https://donau2space.de), a person ## Directory Structure ``` -bavarian-rank-engine/ -├── bavarian-rank-engine.php # Plugin header, constants (BRE_VERSION, BRE_DIR, BRE_URL) +brezngeo/ +├── brezngeo.php # Plugin header, constants (BRE_VERSION, BRE_DIR, BRE_URL) ├── uninstall.php # Cleanup on plugin deletion ├── assets/ │ ├── admin.css # Shared admin stylesheet @@ -126,7 +126,7 @@ Generates SEO-optimized meta descriptions (150–160 characters) automatically w | Yoast SEO | `_yoast_wpseo_metadesc` | | AIOSEO | `_aioseo_description` | | SEOPress | `_seopress_titles_desc` | -| (none active) | BRE outputs `` itself | +| (none active) | BreznGEO outputs `` itself | **Token mode:** Either the full post content is sent (`full`) or it is trimmed to a configurable token count (100–8000) (`limit`). Trimming is handled by `TokenEstimator` — a word-based estimate without external libraries, using a ratio of ~0.75 words per token. @@ -160,7 +160,7 @@ All labels (title, summary, key points, FAQ), the accent color, color scheme (au ### Schema.org Enhancer -Outputs JSON-LD structured data and meta tags in ``. Settings under **Bavarian Rank → Schema.org**. Each type is individually toggleable: +Outputs JSON-LD structured data and meta tags in ``. Settings under **BreznGEO → Schema.org**. Each type is individually toggleable: | Type | Schema.org Type | Notes | |---|---|---| @@ -207,13 +207,13 @@ Serves `/llms.txt` and paginated follow-up files (`/llms-2.txt`, `/llms-3.txt` - `Cache-Control: public, max-age=3600` - Transient cache is automatically invalidated on every settings change -**Rank Math conflict notice:** If Rank Math also wants to serve an llms.txt, BRE shows an admin notice — BRE takes precedence automatically due to priority 1. +**Rank Math conflict notice:** If Rank Math also wants to serve an llms.txt, BreznGEO shows an admin notice — BreznGEO takes precedence automatically due to priority 1. --- ### robots.txt Manager -Appends `Disallow` blocks via the WordPress filter `robots_txt` — WordPress's own robots.txt is preserved; BRE only extends it. +Appends `Disallow` blocks via the WordPress filter `robots_txt` — WordPress's own robots.txt is preserved; BreznGEO only extends it. Supported AI bots (all individually toggleable): @@ -358,7 +358,7 @@ Results are cached for 1 hour in the transient cache (`bre_link_analysis`). Plaintext key → XOR(key, sha256(AUTH_KEY . SECURE_AUTH_KEY)) → base64 → "bre1:
-
+
wp_create_nonce( 'brezngeo_admin' ),
'ajaxUrl' => admin_url( 'admin-ajax.php' ),
diff --git a/brezngeo/languages/brezngeo-de_DE.po b/brezngeo/languages/brezngeo-de_DE.po
index 93796e7..2966032 100644
--- a/brezngeo/languages/brezngeo-de_DE.po
+++ b/brezngeo/languages/brezngeo-de_DE.po
@@ -1,9 +1,9 @@
-# German (de_DE) translation for Bavarian Rank Engine
+# German (de_DE) translation for BreznGEO
# Copyright (C) 2025 Donau2Space
# This file is distributed under the GPL-2.0-or-later license.
msgid ""
msgstr ""
-"Project-Id-Version: Bavarian Rank Engine 1.0.0\n"
+"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"
@@ -15,15 +15,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Manual\n"
-"X-Domain: bavarian-rank-engine\n"
+"X-Domain: brezngeo\n"
#: includes/Admin/AdminMenu.php:11
-msgid "Bavarian Rank Engine"
-msgstr "Bavarian Rank Engine"
+msgid "BreznGEO"
+msgstr "BreznGEO"
#: includes/Admin/AdminMenu.php:12
-msgid "Bavarian Rank"
-msgstr "Bavarian Rank"
+msgid "BreznGEO"
+msgstr "BreznGEO"
#: includes/Admin/AdminMenu.php:23
#: includes/Admin/AdminMenu.php:24
@@ -56,8 +56,8 @@ msgid "TXT Files"
msgstr "TXT Dateien"
#: includes/Admin/views/dashboard.php:3
-msgid "Bavarian Rank Engine \xe2\x80\x94 Dashboard"
-msgstr "Bavarian Rank Engine — Dashboard"
+msgid "BreznGEO \xe2\x80\x94 Dashboard"
+msgstr "BreznGEO — Dashboard"
#: includes/Admin/views/dashboard.php:8
msgid "Meta Coverage"
@@ -458,8 +458,8 @@ msgid "Save robots.txt Settings"
msgstr "robots.txt-Einstellungen speichern"
#: includes/Admin/MetaEditorBox.php:20
-msgid "Meta Description (BRE)"
-msgstr "Meta-Beschreibung (BRE)"
+msgid "Meta Description (BreznGEO)"
+msgstr "Meta-Beschreibung (BreznGEO)"
#: includes/Admin/MetaEditorBox.php
msgid "AI generated"
@@ -482,8 +482,8 @@ msgid "Regenerate with AI"
msgstr "Mit KI neu generieren"
#: includes/Admin/SeoWidget.php
-msgid "SEO Analysis (BRE)"
-msgstr "SEO Analyse (BRE)"
+msgid "SEO Analysis (BreznGEO)"
+msgstr "SEO Analyse (BreznGEO)"
#: includes/Admin/SeoWidget.php
msgid "Title:"
@@ -552,16 +552,16 @@ msgid "A bulk process is already running."
msgstr "Ein Bulk-Prozess läuft bereits."
#: includes/Features/LlmsTxt.php
-msgid "Bavarian Rank Engine serves llms.txt with priority \xe2\x80\x94 no action needed in Rank Math."
-msgstr "Bavarian Rank Engine bedient llms.txt mit Priorität — kein Handlungsbedarf bei Rank Math."
+msgid "BreznGEO serves llms.txt with priority \xe2\x80\x94 no action needed in Rank Math."
+msgstr "BreznGEO bedient llms.txt mit Priorität — kein Handlungsbedarf bei Rank Math."
#: includes/Admin/AdminMenu.php
msgid "GEO Quick Overview"
msgstr "GEO SchnellĂĽberblick"
#: includes/Admin/GeoEditorBox.php
-msgid "GEO Quick Overview (BRE)"
-msgstr "GEO SchnellĂĽberblick (BRE)"
+msgid "GEO Quick Overview (BreznGEO)"
+msgstr "GEO SchnellĂĽberblick (BreznGEO)"
#: includes/Admin/GeoEditorBox.php
msgid "Enable GEO block for this post"
@@ -737,32 +737,32 @@ msgid "Plugin Compatibility"
msgstr "Plugin-Kompatibilität"
#: includes/Admin/views/dashboard.php
-msgid "The following SEO plugins were detected. BRE adapts automatically."
-msgstr "Folgende SEO-Plugins wurden erkannt. BRE passt sich automatisch an."
+msgid "The following SEO plugins were detected. BreznGEO adapts automatically."
+msgstr "Folgende SEO-Plugins wurden erkannt. BreznGEO passt sich automatisch an."
#: includes/Admin/views/dashboard.php
-msgid "llms.txt: BRE serves the file with priority — Rank Math is bypassed."
-msgstr "llms.txt: BRE liefert die Datei mit Priorität — Rank Math wird umgangen."
+msgid "llms.txt: BreznGEO serves the file with priority — Rank Math is bypassed."
+msgstr "llms.txt: BreznGEO liefert die Datei mit Priorität — Rank Math wird umgangen."
#: includes/Admin/views/dashboard.php
-msgid "Schema.org: BRE suppresses its own JSON-LD to avoid duplicates."
-msgstr "Schema.org: BRE unterdrĂĽckt sein eigenes JSON-LD, um Duplikate zu vermeiden."
+msgid "Schema.org: BreznGEO suppresses its own JSON-LD to avoid duplicates."
+msgstr "Schema.org: BreznGEO unterdrĂĽckt sein eigenes JSON-LD, um Duplikate zu vermeiden."
#: includes/Admin/views/dashboard.php
-msgid "Meta descriptions: BRE writes to the Rank Math meta field."
-msgstr "Meta-Beschreibungen: BRE schreibt in das Rank-Math-Metafeld."
+msgid "Meta descriptions: BreznGEO writes to the Rank Math meta field."
+msgstr "Meta-Beschreibungen: BreznGEO schreibt in das Rank-Math-Metafeld."
#: includes/Admin/views/dashboard.php
-msgid "Meta descriptions: BRE writes to the Yoast meta field."
-msgstr "Meta-Beschreibungen: BRE schreibt in das Yoast-Metafeld."
+msgid "Meta descriptions: BreznGEO writes to the Yoast meta field."
+msgstr "Meta-Beschreibungen: BreznGEO schreibt in das Yoast-Metafeld."
#: includes/Admin/views/dashboard.php
-msgid "Meta descriptions: BRE writes to the AIOSEO meta field."
-msgstr "Meta-Beschreibungen: BRE schreibt in das AIOSEO-Metafeld."
+msgid "Meta descriptions: BreznGEO writes to the AIOSEO meta field."
+msgstr "Meta-Beschreibungen: BreznGEO schreibt in das AIOSEO-Metafeld."
#: includes/Admin/views/dashboard.php
-msgid "Meta descriptions: BRE writes to the SEOPress meta field."
-msgstr "Meta-Beschreibungen: BRE schreibt in das SEOPress-Metafeld."
+msgid "Meta descriptions: BreznGEO writes to the SEOPress meta field."
+msgstr "Meta-Beschreibungen: BreznGEO schreibt in das SEOPress-Metafeld."
#: includes/Admin/views/geo.php
msgid "Color scheme"
@@ -897,8 +897,8 @@ msgid "Really reset the prompt?"
msgstr "Prompt wirklich zurĂĽcksetzen?"
#: includes/Admin/views/dashboard.php
-msgid "Servus! Welcome to Bavarian Rank Engine."
-msgstr "Servus! Willkommen bei Bavarian Rank Engine."
+msgid "Servus! Welcome to BreznGEO."
+msgstr "Servus! Willkommen bei BreznGEO."
#: includes/Admin/views/dashboard.php
msgid "No Lederhosen required — your SEO is already in good hands."
@@ -1026,8 +1026,8 @@ msgid "Apply (0 links)"
msgstr "Anwenden (0 Links)"
#: includes/Features/LinkSuggest.php
-msgid "Internal Link Suggestions (BRE)"
-msgstr "Interne Link-Vorschläge (BRE)"
+msgid "Internal Link Suggestions (BreznGEO)"
+msgstr "Interne Link-Vorschläge (BreznGEO)"
msgid "Analysing…"
msgstr "Analysiere…"
diff --git a/brezngeo/languages/brezngeo-en_US.po b/brezngeo/languages/brezngeo-en_US.po
index d6890b7..dc79ce8 100644
--- a/brezngeo/languages/brezngeo-en_US.po
+++ b/brezngeo/languages/brezngeo-en_US.po
@@ -1,9 +1,9 @@
-# English (en_US) translation for Bavarian Rank Engine
+# English (en_US) translation for BreznGEO
# Copyright (C) 2025 Donau2Space
# This file is distributed under the GPL-2.0-or-later license.
msgid ""
msgstr ""
-"Project-Id-Version: Bavarian Rank Engine 1.0.0\n"
+"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"
@@ -15,15 +15,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Manual\n"
-"X-Domain: bavarian-rank-engine\n"
+"X-Domain: brezngeo\n"
#: includes/Admin/AdminMenu.php:11
-msgid "Bavarian Rank Engine"
-msgstr "Bavarian Rank Engine"
+msgid "BreznGEO"
+msgstr "BreznGEO"
#: includes/Admin/AdminMenu.php:12
-msgid "Bavarian Rank"
-msgstr "Bavarian Rank"
+msgid "BreznGEO"
+msgstr "BreznGEO"
#: includes/Admin/AdminMenu.php:23
#: includes/Admin/AdminMenu.php:24
@@ -55,8 +55,8 @@ msgid "TXT Files"
msgstr "TXT Files"
#: includes/Admin/views/dashboard.php:3
-msgid "Bavarian Rank Engine \xe2\x80\x94 Dashboard"
-msgstr "Bavarian Rank Engine \xe2\x80\x94 Dashboard"
+msgid "BreznGEO \xe2\x80\x94 Dashboard"
+msgstr "BreznGEO \xe2\x80\x94 Dashboard"
#: includes/Admin/views/dashboard.php:8
msgid "Meta Coverage"
@@ -406,8 +406,8 @@ msgid "Save robots.txt Settings"
msgstr "Save robots.txt Settings"
#: includes/Admin/MetaEditorBox.php:20
-msgid "Meta Description (BRE)"
-msgstr "Meta Description (BRE)"
+msgid "Meta Description (BreznGEO)"
+msgstr "Meta Description (BreznGEO)"
#: includes/Admin/MetaEditorBox.php:34
msgid "KI generiert"
@@ -430,8 +430,8 @@ msgid "Mit KI neu generieren"
msgstr "Regenerate with AI"
#: includes/Admin/SeoWidget.php:16
-msgid "SEO Analyse (BRE)"
-msgstr "SEO Analysis (BRE)"
+msgid "SEO Analyse (BreznGEO)"
+msgstr "SEO Analysis (BreznGEO)"
#: includes/Admin/SeoWidget.php:31
msgid "Titel:"
@@ -500,8 +500,8 @@ msgid "Ein Bulk-Prozess l\xc3\xa4uft bereits."
msgstr "A bulk process is already running."
#: includes/Features/LlmsTxt.php:31
-msgid "Bavarian Rank Engine bedient llms.txt mit Priorit\xc3\xa4t \xe2\x80\x94 kein Handlungsbedarf bei Rank Math."
-msgstr "Bavarian Rank Engine serves llms.txt with priority \xe2\x80\x94 no action needed for Rank Math."
+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/Admin/AdminMenu.php
msgid "Link Suggestions"
@@ -585,8 +585,8 @@ msgid "Apply (0 links)"
msgstr "Apply (0 links)"
#: includes/Features/LinkSuggest.php
-msgid "Internal Link Suggestions (BRE)"
-msgstr "Internal Link Suggestions (BRE)"
+msgid "Internal Link Suggestions (BreznGEO)"
+msgstr "Internal Link Suggestions (BreznGEO)"
msgid "Analysing…"
msgstr "Analysing…"
diff --git a/brezngeo/languages/brezngeo.pot b/brezngeo/languages/brezngeo.pot
index 90ce1b4..82164c3 100644
--- a/brezngeo/languages/brezngeo.pot
+++ b/brezngeo/languages/brezngeo.pot
@@ -2,7 +2,7 @@
# This file is distributed under the GPL-2.0-or-later license.
msgid ""
msgstr ""
-"Project-Id-Version: Bavarian Rank Engine 1.0.0\n"
+"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"
"MIME-Version: 1.0\n"
@@ -12,14 +12,14 @@ msgstr ""
"Last-Translator: FULL NAME