diff --git a/CLAUDE.md b/CLAUDE.md index 9ab785f..4a09502 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -38,7 +38,7 @@ No known bugs at the moment. ### Version 0.4.0 -No changes at the moment. +- Self-licensing prevention: Plugin automatically bypasses license validation when the configured license server URL points to the same WordPress installation (prevents circular dependency) ## Technical Stack diff --git a/languages/wc-licensed-product-de_CH.mo b/languages/wc-licensed-product-de_CH.mo index 1486c7a..77f71d3 100644 Binary files a/languages/wc-licensed-product-de_CH.mo and b/languages/wc-licensed-product-de_CH.mo differ diff --git a/languages/wc-licensed-product-de_CH.po b/languages/wc-licensed-product-de_CH.po index 717484f..2a19bd8 100644 --- a/languages/wc-licensed-product-de_CH.po +++ b/languages/wc-licensed-product-de_CH.po @@ -4,8 +4,8 @@ msgid "" msgstr "" "Project-Id-Version: WC Licensed Product 0.3.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-24 16:03+0100\n" +"Report-Msgid-Bugs-To: magdev3.0@gmail.com\n" +"POT-Creation-Date: 2026-01-24 16:39+0100\n" "PO-Revision-Date: 2026-01-22T17:15:00+00:00\n" "Last-Translator: Marco Graetsch \n" "Language-Team: German (Switzerland) \n" @@ -15,634 +15,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/Admin/OrderLicenseController.php:57 -msgid "Product Licenses" -msgstr "Produktlizenzen" - -#: src/Admin/OrderLicenseController.php:78 -#: src/Admin/OrderLicenseController.php:367 -#: src/Admin/OrderLicenseController.php:469 -msgid "Order not found." -msgstr "Bestellung nicht gefunden." - -#: src/Admin/OrderLicenseController.php:93 -msgid "This order does not contain licensed products." -msgstr "Diese Bestellung enthält keine lizensierten Produkte." - -#: src/Admin/OrderLicenseController.php:107 -msgid "Order Domain" -msgstr "Bestellungs-Domain" - -#: src/Admin/OrderLicenseController.php:109 -msgid "" -"The domain specified during checkout. Changing this will not automatically " -"update existing license domains." -msgstr "" -"Die bei der Bestellung angegebene Domain. Eine Änderung aktualisiert nicht " -"automatisch bestehende Lizenz-Domains." - -#: src/Admin/OrderLicenseController.php:117 -#: src/Checkout/CheckoutController.php:89 -#: src/Checkout/CheckoutBlocksIntegration.php:102 -msgid "example.com" -msgstr "beispiel.ch" - -#: src/Admin/OrderLicenseController.php:119 -#: src/Admin/OrderLicenseController.php:209 src/Admin/AdminController.php:150 -#: src/Admin/AdminController.php:1340 src/Admin/AdminController.php:1360 -#: src/Admin/AdminController.php:1381 -msgid "Save" -msgstr "Speichern" - +#: src/Admin/AdminController.php:76 src/Admin/AdminController.php:77 +#: src/Admin/AdminController.php:90 src/Admin/AdminController.php:1200 #: src/Admin/OrderLicenseController.php:128 -#: src/Admin/OrderLicenseController.php:249 src/Admin/AdminController.php:76 -#: src/Admin/AdminController.php:77 src/Admin/AdminController.php:90 -#: src/Admin/AdminController.php:1200 src/Frontend/AccountController.php:90 +#: src/Admin/OrderLicenseController.php:249 +#: src/Frontend/AccountController.php:90 msgid "Licenses" msgstr "Lizenzen" -#: src/Admin/OrderLicenseController.php:144 -msgid "No licenses have been generated for this order yet." -msgstr "Für diese Bestellung wurden noch keine Lizenzen generiert." - -#: src/Admin/OrderLicenseController.php:147 -msgid "" -"Licenses should be generated automatically when an order is paid. If " -"missing, check that a domain was specified during checkout." -msgstr "" -"Lizenzen sollten automatisch generiert werden, wenn eine Bestellung bezahlt " -"wird. Falls fehlend, prüfen Sie, ob bei der Bestellung eine Domain angegeben " -"wurde." - -#: src/Admin/OrderLicenseController.php:150 -msgid "Licenses will be generated when the order is marked as paid/completed." -msgstr "Lizenzen werden generiert, sobald die Bestellung als bezahlt/abgeschlossen markiert wird." - -#: src/Admin/OrderLicenseController.php:156 -msgid "Generate Licenses" -msgstr "Lizenzen generieren" - -#: src/Admin/OrderLicenseController.php:164 -msgid "Please set the order domain above before generating licenses." -msgstr "Bitte legen Sie zuerst die Bestellungs-Domain oben fest, bevor Sie Lizenzen generieren." - -#: src/Admin/OrderLicenseController.php:171 -#: src/Admin/SettingsController.php:142 src/Admin/AdminController.php:1291 -#: src/Admin/AdminController.php:1442 src/Admin/AdminController.php:1491 -#: src/Email/LicenseEmailController.php:269 -msgid "License Key" -msgstr "Lizenzschlüssel" - -#: src/Admin/OrderLicenseController.php:172 src/Admin/AdminController.php:1292 -#: src/Admin/AdminController.php:1443 src/Admin/AdminController.php:1608 -#: src/Email/LicenseEmailController.php:268 -msgid "Product" -msgstr "Produkt" - -#: src/Admin/OrderLicenseController.php:173 src/Admin/AdminController.php:1294 -#: src/Admin/AdminController.php:1445 src/Admin/AdminController.php:1495 -msgid "Domain" -msgstr "Domain" - -#: src/Admin/OrderLicenseController.php:174 -#: src/Admin/VersionAdminController.php:140 src/Admin/AdminController.php:1295 -#: src/Admin/AdminController.php:1446 -msgid "Status" -msgstr "Status" - -#: src/Admin/OrderLicenseController.php:175 src/Admin/AdminController.php:1297 -#: src/Admin/AdminController.php:1448 src/Admin/AdminController.php:1611 -#: src/Admin/AdminController.php:1613 src/Email/LicenseEmailController.php:270 -msgid "Expires" -msgstr "Läuft ab" - -#: src/Admin/OrderLicenseController.php:176 -#: src/Admin/VersionAdminController.php:142 src/Admin/AdminController.php:1298 -#: src/Admin/AdminController.php:1449 -msgid "Actions" -msgstr "Aktionen" - -#: src/Admin/OrderLicenseController.php:195 src/Admin/AdminController.php:195 -#: src/Admin/AdminController.php:1019 -msgid "Unknown" -msgstr "Unbekannt" - -#: src/Admin/OrderLicenseController.php:205 -msgid "Edit domain" -msgstr "Domain bearbeiten" - -#: src/Admin/OrderLicenseController.php:212 src/Admin/AdminController.php:149 -#: src/Admin/AdminController.php:1341 src/Admin/AdminController.php:1361 -#: src/Admin/AdminController.php:1382 src/Admin/AdminController.php:1537 -#: src/Frontend/AccountController.php:271 -msgid "Cancel" -msgstr "Abbrechen" - -#: src/Admin/OrderLicenseController.php:228 -#: src/Admin/SettingsController.php:192 src/Admin/AdminController.php:151 -#: src/Admin/AdminController.php:266 src/Admin/AdminController.php:1373 -#: src/Admin/AdminController.php:1613 -#: src/Admin/DashboardWidgetController.php:136 -#: src/Product/LicensedProductType.php:110 -#: src/Product/LicensedProductType.php:158 -msgid "Lifetime" -msgstr "Lebenslang" - -#: src/Admin/OrderLicenseController.php:235 -msgid "View in Licenses" -msgstr "In Lizenzen anzeigen" - -#: src/Admin/OrderLicenseController.php:248 -#, php-format -msgid "For more actions (revoke, extend, delete), go to the %s page." -msgstr "" -"Für weitere Aktionen (widerrufen, verlängern, löschen), gehen Sie zur Seite " -"%s." - -#: src/Admin/OrderLicenseController.php:261 -#, php-format -msgid "%d licensed product is missing a license." -msgid_plural "%d licensed products are missing licenses." -msgstr[0] "%d lizenziertes Produkt hat keine Lizenz." -msgstr[1] "%d lizenzierte Produkte haben keine Lizenzen." - -#: src/Admin/OrderLicenseController.php:270 -msgid "Generate Missing Licenses" -msgstr "Fehlende Lizenzen generieren" - -#: src/Admin/OrderLicenseController.php:338 src/Admin/AdminController.php:144 -msgid "Saving..." -msgstr "Speichere..." - -#: src/Admin/OrderLicenseController.php:339 -msgid "Saved!" -msgstr "Gespeichert!" - -#: src/Admin/OrderLicenseController.php:340 -msgid "Error. Please try again." -msgstr "Fehler. Bitte versuchen Sie es erneut." - -#: src/Admin/OrderLicenseController.php:341 -#: src/Frontend/AccountController.php:314 -#: src/Frontend/AccountController.php:346 -msgid "Please enter a valid domain." -msgstr "Bitte geben Sie eine gültige Domain ein." - -#: src/Admin/OrderLicenseController.php:342 -msgid "Generating..." -msgstr "Generiere..." - -#: src/Admin/OrderLicenseController.php:355 -#: src/Admin/OrderLicenseController.php:394 -#: src/Admin/OrderLicenseController.php:458 -#: src/Admin/VersionAdminController.php:259 -#: src/Admin/VersionAdminController.php:328 -#: src/Admin/VersionAdminController.php:354 src/Admin/AdminController.php:173 -#: src/Admin/AdminController.php:213 src/Admin/AdminController.php:249 -#: src/Admin/AdminController.php:301 src/Admin/AdminController.php:339 -#: src/Admin/AdminController.php:369 -msgid "Permission denied." -msgstr "Zugriff verweigert." - -#: src/Admin/OrderLicenseController.php:362 -#: src/Admin/OrderLicenseController.php:464 -msgid "Invalid order ID." -msgstr "Ungültige Bestellungs-ID." - -#: src/Admin/OrderLicenseController.php:373 -#: src/Admin/OrderLicenseController.php:411 -msgid "Invalid domain format." -msgstr "Ungültiges Domain-Format." - -#: src/Admin/OrderLicenseController.php:381 -msgid "Order domain updated." -msgstr "Bestellungs-Domain aktualisiert." - -#: src/Admin/OrderLicenseController.php:401 src/Admin/AdminController.php:220 -#: src/Admin/AdminController.php:256 src/Admin/AdminController.php:308 -#: src/Admin/AdminController.php:345 -msgid "Invalid license ID." -msgstr "Ungültige Lizenz-ID." - -#: src/Admin/OrderLicenseController.php:405 src/Admin/AdminController.php:312 -msgid "Domain cannot be empty." -msgstr "Domain darf nicht leer sein." - -#: src/Admin/OrderLicenseController.php:417 -#: src/Frontend/AccountController.php:352 -#: src/Frontend/DownloadController.php:117 -msgid "License not found." -msgstr "Lizenz nicht gefunden." - -#: src/Admin/OrderLicenseController.php:425 -msgid "License domain updated." -msgstr "Lizenz-Domain aktualisiert." - -#: src/Admin/OrderLicenseController.php:429 -msgid "Failed to update license domain." -msgstr "Lizenz-Domain konnte nicht aktualisiert werden." - -#: src/Admin/OrderLicenseController.php:474 -msgid "Order must be paid before licenses can be generated." -msgstr "Die Bestellung muss bezahlt sein, bevor Lizenzen generiert werden können." - -#: src/Admin/OrderLicenseController.php:480 -msgid "Please set the order domain before generating licenses." -msgstr "Bitte legen Sie die Bestellungs-Domain fest, bevor Sie Lizenzen generieren." - -#: src/Admin/OrderLicenseController.php:521 -#, php-format -msgid "%d license generated successfully." -msgid_plural "%d licenses generated successfully." -msgstr[0] "%d Lizenz erfolgreich generiert." -msgstr[1] "%d Lizenzen erfolgreich generiert." - -#: src/Admin/OrderLicenseController.php:534 -msgid "All licenses already exist for this order." -msgstr "Alle Lizenzen für diese Bestellung existieren bereits." - -#: src/Admin/SettingsController.php:54 -msgid "Licensed Products" -msgstr "Lizensierte Produkte" - -#: src/Admin/SettingsController.php:64 src/Admin/SettingsController.php:128 -msgid "Plugin License" -msgstr "Plugin-Lizenz" - -#: src/Admin/SettingsController.php:65 -msgid "Default Settings" -msgstr "Standardeinstellungen" - -#: src/Admin/SettingsController.php:66 -msgid "Notifications" -msgstr "Benachrichtigungen" - -#: src/Admin/SettingsController.php:130 -msgid "" -"Configure the license for this plugin. A valid license is required for " -"frontend features to work." -msgstr "" -"Konfigurieren Sie die Lizenz für dieses Plugin. Eine gültige Lizenz ist " -"erforderlich, damit die Frontend-Funktionen funktionieren." - -#: src/Admin/SettingsController.php:134 -msgid "License Server URL" -msgstr "Lizenzserver-URL" - -#: src/Admin/SettingsController.php:136 -msgid "The URL of the license server (e.g., https://shop.example.com)." -msgstr "Die URL des Lizenzservers (z.B. https://shop.example.com)." - -#: src/Admin/SettingsController.php:144 -msgid "Your license key in XXXX-XXXX-XXXX-XXXX format." -msgstr "Ihr Lizenzschlüssel im Format XXXX-XXXX-XXXX-XXXX." - -#: src/Admin/SettingsController.php:150 -msgid "Server Secret (Optional)" -msgstr "Server-Secret (Optional)" - -#: src/Admin/SettingsController.php:152 -msgid "" -"If the license server uses signed responses, enter the shared secret here " -"for enhanced security." -msgstr "" -"Falls der Lizenzserver signierte Antworten verwendet, geben Sie hier das " -"gemeinsame Secret für erhöhte Sicherheit ein." - -#: src/Admin/SettingsController.php:170 -msgid "Default License Settings" -msgstr "Standard Lizenz-Einstellungen" - -#: src/Admin/SettingsController.php:172 -msgid "" -"These settings serve as defaults for new licensed products. Individual " -"product settings override these defaults." -msgstr "" -"Diese Einstellungen dienen als Standard für neue lizensierte Produkte. " -"Individuelle Produkteinstellungen überschreiben diese Standards." - -#: src/Admin/SettingsController.php:176 -msgid "Default Max Activations" -msgstr "Standard Max. Aktivierungen" - -#: src/Admin/SettingsController.php:178 -msgid "Default maximum number of domain activations per license." -msgstr "Standard maximale Anzahl der Domain-Aktivierungen pro Lizenz." - -#: src/Admin/SettingsController.php:187 -msgid "Default License Validity (Days)" -msgstr "Standard Lizenz-Gültigkeit (Tage)" - -#: src/Admin/SettingsController.php:189 -msgid "" -"Default number of days a license is valid. Leave empty or set to 0 for " -"lifetime licenses." -msgstr "" -"Standard Anzahl Tage, die eine Lizenz gültig ist. Leer lassen oder auf 0 " -"setzen für lebenslange Lizenzen." - -#: src/Admin/SettingsController.php:199 -msgid "Default Bind to Major Version" -msgstr "Standard An Hauptversion binden" - -#: src/Admin/SettingsController.php:201 -msgid "" -"If enabled, licenses are bound to the major version at purchase time by " -"default." -msgstr "" -"Falls aktiviert, werden Lizenzen standardmässig an die Hauptversion zum " -"Kaufzeitpunkt gebunden." - -#: src/Admin/SettingsController.php:219 -msgid "Expiration Warning Schedule" -msgstr "Ablaufwarnung Zeitplan" - -#: src/Admin/SettingsController.php:223 -#, php-format -msgid "" -"Configure when expiration warning emails are sent. To customize the email " -"template, enable/disable, or change the subject, go to %s." -msgstr "" -"Konfigurieren Sie, wann Ablaufwarnungs-E-Mails gesendet werden. Um die E-" -"Mail-Vorlage anzupassen, zu aktivieren/deaktivieren oder den Betreff zu " -"ändern, gehen Sie zu %s." - -#: src/Admin/SettingsController.php:225 -msgid "WooCommerce > Settings > Emails > License Expiration Warning" -msgstr "WooCommerce > Einstellungen > E-Mails > Lizenzablauf-Warnung" - -#: src/Admin/SettingsController.php:230 -msgid "First Warning (Days Before)" -msgstr "Erste Warnung (Tage vorher)" - -#: src/Admin/SettingsController.php:232 -msgid "Days before expiration to send the first warning email." -msgstr "Tage vor Ablauf, um die erste Warn-E-Mail zu senden." - -#: src/Admin/SettingsController.php:241 -msgid "Second Warning (Days Before)" -msgstr "Zweite Warnung (Tage vorher)" - -#: src/Admin/SettingsController.php:243 -msgid "" -"Days before expiration to send the second warning email. Set to 0 to disable." -msgstr "" -"Tage vor Ablauf, um die zweite Warn-E-Mail zu senden. Setzen Sie auf 0, um " -"sie zu deaktivieren." - -#: src/Admin/SettingsController.php:283 -msgid "Running on localhost - license validation bypassed." -msgstr "Läuft auf localhost - Lizenzvalidierung übersprungen." - -#: src/Admin/SettingsController.php:291 -msgid "License is valid and active." -msgstr "Lizenz ist gültig und aktiv." - -#: src/Admin/SettingsController.php:297 -msgid "License is not valid. Frontend features are disabled." -msgstr "Lizenz ist ungültig. Frontend-Funktionen sind deaktiviert." - -#: src/Admin/SettingsController.php:308 src/Admin/SettingsController.php:344 -msgid "Verify License" -msgstr "Lizenz überprüfen" - -#: src/Admin/SettingsController.php:322 -msgid "Verifying..." -msgstr "Überprüfe..." - -#: src/Admin/SettingsController.php:341 -msgid "Request failed." -msgstr "Anfrage fehlgeschlagen." - -#: src/Admin/SettingsController.php:454 src/Admin/AdminController.php:455 -#: src/Admin/AdminController.php:475 src/Admin/AdminController.php:493 -#: src/Admin/AdminController.php:511 src/Admin/AdminController.php:531 -#: src/Admin/AdminController.php:549 src/Admin/AdminController.php:577 -#: src/Admin/AdminController.php:621 src/Admin/AdminController.php:811 -#: src/Frontend/AccountController.php:326 -msgid "Security check failed." -msgstr "Sicherheitsüberprüfung fehlgeschlagen." - -#: src/Admin/SettingsController.php:458 -msgid "Insufficient permissions." -msgstr "Unzureichende Berechtigungen." - -#: src/Admin/SettingsController.php:467 -msgid "License verified successfully!" -msgstr "Lizenz erfolgreich überprüft!" - -#: src/Admin/SettingsController.php:469 -msgid "License validation failed." -msgstr "Lizenzvalidierung fehlgeschlagen." - -#: src/Admin/VersionAdminController.php:58 -msgid "Product Versions" -msgstr "Produktversionen" - -#: src/Admin/VersionAdminController.php:78 -msgid "Add New Version" -msgstr "Neue Version hinzufügen" - -#: src/Admin/VersionAdminController.php:81 -#: src/Admin/VersionAdminController.php:136 src/Admin/AdminController.php:1609 -msgid "Version" -msgstr "Version" - -#: src/Admin/VersionAdminController.php:84 -msgid "Use semantic versioning (e.g., 1.0.0)" -msgstr "Verwenden Sie semantische Versionierung (z.B. 1.0.0)" - -#: src/Admin/VersionAdminController.php:88 -#: src/Admin/VersionAdminController.php:137 -msgid "Download File" -msgstr "Download-Datei" - -#: src/Admin/VersionAdminController.php:93 -msgid "Select File" -msgstr "Datei auswählen" - -#: src/Admin/VersionAdminController.php:96 -#: src/Admin/VersionAdminController.php:110 -msgid "Remove" -msgstr "Entfernen" - -#: src/Admin/VersionAdminController.php:98 -msgid "" -"Upload or select a file from the media library. Version will be auto-" -"detected from filename (e.g., plugin-v1.2.3.zip)." -msgstr "" -"Laden Sie eine Datei hoch oder wählen Sie eine aus der Mediathek. Die " -"Version wird automatisch aus dem Dateinamen erkannt (z.B. plugin-v1.2.3.zip)." - -#: src/Admin/VersionAdminController.php:102 -msgid "Checksum File" -msgstr "Prüfsummendatei" - -#: src/Admin/VersionAdminController.php:107 -msgid "Select Checksum File" -msgstr "Prüfsummendatei auswählen" - -#: src/Admin/VersionAdminController.php:112 -msgid "" -"Upload a SHA256 checksum file (.sha256 or .txt) to verify file integrity." -msgstr "" -"Laden Sie eine SHA256-Prüfsummendatei (.sha256 oder .txt) hoch, um die " -"Dateiintegrität zu überprüfen." - -#: src/Admin/VersionAdminController.php:116 -#: src/Admin/VersionAdminController.php:139 -msgid "Release Notes" -msgstr "Versionshinweise" - -#: src/Admin/VersionAdminController.php:124 -msgid "Add Version" -msgstr "Version hinzufügen" - -#: src/Admin/VersionAdminController.php:132 -msgid "Existing Versions" -msgstr "Vorhandene Versionen" - -#: src/Admin/VersionAdminController.php:138 -msgid "SHA256" -msgstr "SHA256" - -#: src/Admin/VersionAdminController.php:141 -msgid "Released" -msgstr "Veröffentlicht" - -#: src/Admin/VersionAdminController.php:148 -msgid "No versions found. Add your first version above." -msgstr "Keine Versionen gefunden. Fügen Sie Ihre erste Version oben hinzu." - -#: src/Admin/VersionAdminController.php:165 -#: src/Admin/VersionAdminController.php:396 -msgid "Uploaded file" -msgstr "Hochgeladene Datei" - -#: src/Admin/VersionAdminController.php:169 -#: src/Admin/VersionAdminController.php:400 -msgid "No download file" -msgstr "Keine Download-Datei" - -#: src/Admin/VersionAdminController.php:182 -#: src/Admin/VersionAdminController.php:413 src/Admin/AdminController.php:156 -#: src/Admin/AdminController.php:907 src/Admin/AdminController.php:1232 -#: src/Admin/AdminController.php:1355 -#: src/Admin/DashboardWidgetController.php:117 -msgid "Active" -msgstr "Aktiv" - -#: src/Admin/VersionAdminController.php:182 -#: src/Admin/VersionAdminController.php:413 src/Admin/AdminController.php:157 -#: src/Admin/AdminController.php:914 src/Admin/AdminController.php:1233 -#: src/Admin/AdminController.php:1356 -msgid "Inactive" -msgstr "Inaktiv" - -#: src/Admin/VersionAdminController.php:188 -#: src/Admin/VersionAdminController.php:419 src/Admin/AdminController.php:1274 -#: src/Admin/AdminController.php:1459 -msgid "Deactivate" -msgstr "Deaktivieren" - -#: src/Admin/VersionAdminController.php:188 -#: src/Admin/VersionAdminController.php:419 src/Admin/AdminController.php:1273 -#: src/Admin/AdminController.php:1458 -msgid "Activate" -msgstr "Aktivieren" - -#: src/Admin/VersionAdminController.php:191 -#: src/Admin/VersionAdminController.php:422 src/Admin/AdminController.php:1279 -#: src/Admin/AdminController.php:1428 src/Admin/AdminController.php:1464 -msgid "Delete" -msgstr "Löschen" - -#: src/Admin/VersionAdminController.php:232 -msgid "Are you sure you want to delete this version?" -msgstr "Sind Sie sicher, dass Sie diese Version löschen möchten?" - -#: src/Admin/VersionAdminController.php:233 -msgid "Please enter a version number." -msgstr "Bitte geben Sie eine Versionsnummer ein." - -#: src/Admin/VersionAdminController.php:234 -msgid "Please enter a valid version number (e.g., 1.0.0)." -msgstr "Bitte geben Sie eine gültige Versionsnummer ein (z.B. 1.0.0)." - -#: src/Admin/VersionAdminController.php:235 -msgid "An error occurred. Please try again." -msgstr "Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut." - -#: src/Admin/VersionAdminController.php:236 -msgid "Select Download File" -msgstr "Download-Datei auswählen" - -#: src/Admin/VersionAdminController.php:237 -msgid "Use this file" -msgstr "Diese Datei verwenden" - -#: src/Admin/VersionAdminController.php:238 -msgid "" -"Invalid checksum file format. File must contain a 64-character SHA256 hash." -msgstr "" -"Ungültiges Prüfsummendateiformat. Die Datei muss einen 64-stelligen SHA256-" -"Hash enthalten." - -#: src/Admin/VersionAdminController.php:239 -msgid "Failed to read checksum file." -msgstr "Prüfsummendatei konnte nicht gelesen werden." - -#: src/Admin/VersionAdminController.php:269 -msgid "Product ID and version are required." -msgstr "Produkt-ID und Version sind erforderlich." - -#: src/Admin/VersionAdminController.php:274 -msgid "Invalid version format. Use semantic versioning (e.g., 1.0.0)." -msgstr "" -"Ungültiges Versionsformat. Verwenden Sie semantische Versionierung (z.B. " -"1.0.0)." - -#: src/Admin/VersionAdminController.php:279 -msgid "This version already exists." -msgstr "Diese Version existiert bereits." - -#: src/Admin/VersionAdminController.php:285 -msgid "Product not found." -msgstr "Produkt nicht gefunden." - -#: src/Admin/VersionAdminController.php:289 -msgid "This product is not a licensed product." -msgstr "Dieses Produkt ist kein lizensiertes Produkt." - -#: src/Admin/VersionAdminController.php:306 -msgid "Failed to create version." -msgstr "Version konnte nicht erstellt werden." - -#: src/Admin/VersionAdminController.php:314 -msgid "Version added successfully." -msgstr "Version erfolgreich hinzugefügt." - -#: src/Admin/VersionAdminController.php:334 -#: src/Admin/VersionAdminController.php:361 -msgid "Version ID is required." -msgstr "Versions-ID ist erforderlich." - -#: src/Admin/VersionAdminController.php:340 -msgid "Failed to delete version." -msgstr "Version konnte nicht gelöscht werden." - -#: src/Admin/VersionAdminController.php:343 -msgid "Version deleted successfully." -msgstr "Version erfolgreich gelöscht." - -#: src/Admin/VersionAdminController.php:367 -msgid "Failed to update version." -msgstr "Version konnte nicht aktualisiert werden." - -#: src/Admin/VersionAdminController.php:371 -msgid "Version updated successfully." -msgstr "Version erfolgreich aktualisiert." - #: src/Admin/AdminController.php:93 msgid "Overview" msgstr "Übersicht" @@ -659,6 +39,10 @@ msgstr "Suche..." msgid "Search failed" msgstr "Suche fehlgeschlagen" +#: src/Admin/AdminController.php:144 src/Admin/OrderLicenseController.php:338 +msgid "Saving..." +msgstr "Speichere..." + #: src/Admin/AdminController.php:145 msgid "Saved" msgstr "Gespeichert" @@ -679,6 +63,29 @@ msgstr "" msgid "Edit" msgstr "Bearbeiten" +#: src/Admin/AdminController.php:149 src/Admin/AdminController.php:1341 +#: src/Admin/AdminController.php:1361 src/Admin/AdminController.php:1382 +#: src/Admin/AdminController.php:1537 src/Admin/OrderLicenseController.php:212 +#: src/Frontend/AccountController.php:271 +msgid "Cancel" +msgstr "Abbrechen" + +#: src/Admin/AdminController.php:150 src/Admin/AdminController.php:1340 +#: src/Admin/AdminController.php:1360 src/Admin/AdminController.php:1381 +#: src/Admin/OrderLicenseController.php:119 +#: src/Admin/OrderLicenseController.php:209 +msgid "Save" +msgstr "Speichern" + +#: src/Admin/AdminController.php:151 src/Admin/AdminController.php:266 +#: src/Admin/AdminController.php:1373 src/Admin/AdminController.php:1613 +#: src/Admin/DashboardWidgetController.php:136 +#: src/Admin/OrderLicenseController.php:228 +#: src/Admin/SettingsController.php:192 src/Product/LicensedProductType.php:110 +#: src/Product/LicensedProductType.php:158 +msgid "Lifetime" +msgstr "Lebenslang" + #: src/Admin/AdminController.php:152 src/Frontend/AccountController.php:309 msgid "Copied!" msgstr "Kopiert!" @@ -687,6 +94,21 @@ msgstr "Kopiert!" msgid "Copy failed" msgstr "Kopieren fehlgeschlagen" +#: src/Admin/AdminController.php:156 src/Admin/AdminController.php:907 +#: src/Admin/AdminController.php:1232 src/Admin/AdminController.php:1355 +#: src/Admin/DashboardWidgetController.php:117 +#: src/Admin/VersionAdminController.php:182 +#: src/Admin/VersionAdminController.php:413 +msgid "Active" +msgstr "Aktiv" + +#: src/Admin/AdminController.php:157 src/Admin/AdminController.php:914 +#: src/Admin/AdminController.php:1233 src/Admin/AdminController.php:1356 +#: src/Admin/VersionAdminController.php:182 +#: src/Admin/VersionAdminController.php:413 +msgid "Inactive" +msgstr "Inaktiv" + #: src/Admin/AdminController.php:158 src/Admin/AdminController.php:921 #: src/Admin/AdminController.php:1234 src/Admin/AdminController.php:1357 #: src/Admin/DashboardWidgetController.php:125 @@ -699,10 +121,33 @@ msgstr "Abgelaufen" msgid "Revoked" msgstr "Widerrufen" +#: src/Admin/AdminController.php:173 src/Admin/AdminController.php:213 +#: src/Admin/AdminController.php:249 src/Admin/AdminController.php:301 +#: src/Admin/AdminController.php:339 src/Admin/AdminController.php:369 +#: src/Admin/OrderLicenseController.php:355 +#: src/Admin/OrderLicenseController.php:394 +#: src/Admin/OrderLicenseController.php:458 +#: src/Admin/VersionAdminController.php:259 +#: src/Admin/VersionAdminController.php:328 +#: src/Admin/VersionAdminController.php:354 +msgid "Permission denied." +msgstr "Zugriff verweigert." + +#: src/Admin/AdminController.php:195 src/Admin/AdminController.php:1019 +#: src/Admin/OrderLicenseController.php:195 +msgid "Unknown" +msgstr "Unbekannt" + #: src/Admin/AdminController.php:196 src/Admin/AdminController.php:1023 msgid "Guest" msgstr "Gast" +#: src/Admin/AdminController.php:220 src/Admin/AdminController.php:256 +#: src/Admin/AdminController.php:308 src/Admin/AdminController.php:345 +#: src/Admin/OrderLicenseController.php:401 +msgid "Invalid license ID." +msgstr "Ungültige Lizenz-ID." + #: src/Admin/AdminController.php:225 msgid "Invalid status." msgstr "Ungültiger Status." @@ -731,6 +176,10 @@ msgstr "Ablaufdatum erfolgreich aktualisiert." msgid "Invalid date format." msgstr "Ungültiges Datumsformat." +#: src/Admin/AdminController.php:312 src/Admin/OrderLicenseController.php:405 +msgid "Domain cannot be empty." +msgstr "Domain darf nicht leer sein." + #: src/Admin/AdminController.php:323 msgid "Domain updated successfully." msgstr "Domain erfolgreich aktualisiert." @@ -751,6 +200,15 @@ msgstr "Lizenz konnte nicht widerrufen werden." msgid "License key and domain are required." msgstr "Lizenzschlüssel und Domain sind erforderlich." +#: src/Admin/AdminController.php:455 src/Admin/AdminController.php:475 +#: src/Admin/AdminController.php:493 src/Admin/AdminController.php:511 +#: src/Admin/AdminController.php:531 src/Admin/AdminController.php:549 +#: src/Admin/AdminController.php:577 src/Admin/AdminController.php:621 +#: src/Admin/AdminController.php:811 src/Admin/SettingsController.php:454 +#: src/Frontend/AccountController.php:326 +msgid "Security check failed." +msgstr "Sicherheitsüberprüfung fehlgeschlagen." + #: src/Admin/AdminController.php:581 msgid "You do not have permission to export licenses." msgstr "Sie haben keine Berechtigung, Lizenzen zu exportieren." @@ -973,6 +431,18 @@ msgstr "Dashboard anzeigen" msgid "Bulk Actions" msgstr "Massenaktionen" +#: src/Admin/AdminController.php:1273 src/Admin/AdminController.php:1458 +#: src/Admin/VersionAdminController.php:188 +#: src/Admin/VersionAdminController.php:419 +msgid "Activate" +msgstr "Aktivieren" + +#: src/Admin/AdminController.php:1274 src/Admin/AdminController.php:1459 +#: src/Admin/VersionAdminController.php:188 +#: src/Admin/VersionAdminController.php:419 +msgid "Deactivate" +msgstr "Deaktivieren" + #: src/Admin/AdminController.php:1275 src/Admin/AdminController.php:1419 #: src/Admin/AdminController.php:1460 msgid "Revoke" @@ -990,20 +460,63 @@ msgstr "90 Tage verlängern" msgid "Extend 1 year" msgstr "1 Jahr verlängern" +#: src/Admin/AdminController.php:1279 src/Admin/AdminController.php:1428 +#: src/Admin/AdminController.php:1464 src/Admin/VersionAdminController.php:191 +#: src/Admin/VersionAdminController.php:422 +msgid "Delete" +msgstr "Löschen" + #: src/Admin/AdminController.php:1281 src/Admin/AdminController.php:1466 msgid "Apply" msgstr "Anwenden" +#: src/Admin/AdminController.php:1291 src/Admin/AdminController.php:1442 +#: src/Admin/AdminController.php:1491 src/Admin/OrderLicenseController.php:171 +#: src/Admin/SettingsController.php:142 +#: src/Email/LicenseEmailController.php:269 +msgid "License Key" +msgstr "Lizenzschlüssel" + +#: src/Admin/AdminController.php:1292 src/Admin/AdminController.php:1443 +#: src/Admin/AdminController.php:1608 src/Admin/OrderLicenseController.php:172 +#: src/Email/LicenseEmailController.php:268 +msgid "Product" +msgstr "Produkt" + #: src/Admin/AdminController.php:1293 src/Admin/AdminController.php:1444 #: src/Email/LicenseExpirationEmail.php:104 #: src/Email/LicenseExpiredEmail.php:96 msgid "Customer" msgstr "Kunde" +#: src/Admin/AdminController.php:1294 src/Admin/AdminController.php:1445 +#: src/Admin/AdminController.php:1495 src/Admin/OrderLicenseController.php:173 +msgid "Domain" +msgstr "Domain" + +#: src/Admin/AdminController.php:1295 src/Admin/AdminController.php:1446 +#: src/Admin/OrderLicenseController.php:174 +#: src/Admin/VersionAdminController.php:140 +msgid "Status" +msgstr "Status" + #: src/Admin/AdminController.php:1296 src/Admin/AdminController.php:1447 msgid "Created" msgstr "Erstellt" +#: src/Admin/AdminController.php:1297 src/Admin/AdminController.php:1448 +#: src/Admin/AdminController.php:1611 src/Admin/AdminController.php:1613 +#: src/Admin/OrderLicenseController.php:175 +#: src/Email/LicenseEmailController.php:270 +msgid "Expires" +msgstr "Läuft ab" + +#: src/Admin/AdminController.php:1298 src/Admin/AdminController.php:1449 +#: src/Admin/OrderLicenseController.php:176 +#: src/Admin/VersionAdminController.php:142 +msgid "Actions" +msgstr "Aktionen" + #: src/Admin/AdminController.php:1304 msgid "No licenses found." msgstr "Keine Lizenzen gefunden." @@ -1084,6 +597,11 @@ msgstr "Lizenz übertragen" msgid "License is VALID" msgstr "Lizenz ist GÜLTIG" +#: src/Admin/AdminController.php:1609 src/Admin/VersionAdminController.php:81 +#: src/Admin/VersionAdminController.php:136 +msgid "Version" +msgstr "Version" + #: src/Admin/AdminController.php:1617 msgid "License is INVALID" msgstr "Lizenz ist UNGÜLTIG" @@ -1241,6 +759,495 @@ msgstr "Noch keine Downloads" msgid "Top Versions" msgstr "Top-Versionen" +#: src/Admin/OrderLicenseController.php:57 +msgid "Product Licenses" +msgstr "Produktlizenzen" + +#: src/Admin/OrderLicenseController.php:78 +#: src/Admin/OrderLicenseController.php:367 +#: src/Admin/OrderLicenseController.php:469 +msgid "Order not found." +msgstr "Bestellung nicht gefunden." + +#: src/Admin/OrderLicenseController.php:93 +msgid "This order does not contain licensed products." +msgstr "Diese Bestellung enthält keine lizensierten Produkte." + +#: src/Admin/OrderLicenseController.php:107 +msgid "Order Domain" +msgstr "Bestellungs-Domain" + +#: src/Admin/OrderLicenseController.php:109 +msgid "" +"The domain specified during checkout. Changing this will not automatically " +"update existing license domains." +msgstr "" +"Die bei der Bestellung angegebene Domain. Eine Änderung aktualisiert nicht " +"automatisch bestehende Lizenz-Domains." + +#: src/Admin/OrderLicenseController.php:117 +#: src/Checkout/CheckoutBlocksIntegration.php:102 +#: src/Checkout/CheckoutController.php:89 +msgid "example.com" +msgstr "beispiel.ch" + +#: src/Admin/OrderLicenseController.php:144 +msgid "No licenses have been generated for this order yet." +msgstr "Für diese Bestellung wurden noch keine Lizenzen generiert." + +#: src/Admin/OrderLicenseController.php:147 +msgid "" +"Licenses should be generated automatically when an order is paid. If " +"missing, check that a domain was specified during checkout." +msgstr "" +"Lizenzen sollten automatisch generiert werden, wenn eine Bestellung bezahlt " +"wird. Falls fehlend, prüfen Sie, ob bei der Bestellung eine Domain angegeben " +"wurde." + +#: src/Admin/OrderLicenseController.php:150 +msgid "Licenses will be generated when the order is marked as paid/completed." +msgstr "" +"Lizenzen werden generiert, sobald die Bestellung als bezahlt/abgeschlossen " +"markiert wird." + +#: src/Admin/OrderLicenseController.php:156 +msgid "Generate Licenses" +msgstr "Lizenzen generieren" + +#: src/Admin/OrderLicenseController.php:164 +msgid "Please set the order domain above before generating licenses." +msgstr "" +"Bitte legen Sie zuerst die Bestellungs-Domain oben fest, bevor Sie Lizenzen " +"generieren." + +#: src/Admin/OrderLicenseController.php:205 +msgid "Edit domain" +msgstr "Domain bearbeiten" + +#: src/Admin/OrderLicenseController.php:235 +msgid "View in Licenses" +msgstr "In Lizenzen anzeigen" + +#: src/Admin/OrderLicenseController.php:248 +#, php-format +msgid "For more actions (revoke, extend, delete), go to the %s page." +msgstr "" +"Für weitere Aktionen (widerrufen, verlängern, löschen), gehen Sie zur Seite " +"%s." + +#: src/Admin/OrderLicenseController.php:261 +#, php-format +msgid "%d licensed product is missing a license." +msgid_plural "%d licensed products are missing licenses." +msgstr[0] "%d lizenziertes Produkt hat keine Lizenz." +msgstr[1] "%d lizenzierte Produkte haben keine Lizenzen." + +#: src/Admin/OrderLicenseController.php:270 +msgid "Generate Missing Licenses" +msgstr "Fehlende Lizenzen generieren" + +#: src/Admin/OrderLicenseController.php:339 +msgid "Saved!" +msgstr "Gespeichert!" + +#: src/Admin/OrderLicenseController.php:340 +msgid "Error. Please try again." +msgstr "Fehler. Bitte versuchen Sie es erneut." + +#: src/Admin/OrderLicenseController.php:341 +#: src/Frontend/AccountController.php:314 +#: src/Frontend/AccountController.php:346 +msgid "Please enter a valid domain." +msgstr "Bitte geben Sie eine gültige Domain ein." + +#: src/Admin/OrderLicenseController.php:342 +msgid "Generating..." +msgstr "Generiere..." + +#: src/Admin/OrderLicenseController.php:362 +#: src/Admin/OrderLicenseController.php:464 +msgid "Invalid order ID." +msgstr "Ungültige Bestellungs-ID." + +#: src/Admin/OrderLicenseController.php:373 +#: src/Admin/OrderLicenseController.php:411 +msgid "Invalid domain format." +msgstr "Ungültiges Domain-Format." + +#: src/Admin/OrderLicenseController.php:381 +msgid "Order domain updated." +msgstr "Bestellungs-Domain aktualisiert." + +#: src/Admin/OrderLicenseController.php:417 +#: src/Frontend/AccountController.php:352 +#: src/Frontend/DownloadController.php:117 +msgid "License not found." +msgstr "Lizenz nicht gefunden." + +#: src/Admin/OrderLicenseController.php:425 +msgid "License domain updated." +msgstr "Lizenz-Domain aktualisiert." + +#: src/Admin/OrderLicenseController.php:429 +msgid "Failed to update license domain." +msgstr "Lizenz-Domain konnte nicht aktualisiert werden." + +#: src/Admin/OrderLicenseController.php:474 +msgid "Order must be paid before licenses can be generated." +msgstr "" +"Die Bestellung muss bezahlt sein, bevor Lizenzen generiert werden können." + +#: src/Admin/OrderLicenseController.php:480 +msgid "Please set the order domain before generating licenses." +msgstr "" +"Bitte legen Sie die Bestellungs-Domain fest, bevor Sie Lizenzen generieren." + +#: src/Admin/OrderLicenseController.php:521 +#, php-format +msgid "%d license generated successfully." +msgid_plural "%d licenses generated successfully." +msgstr[0] "%d Lizenz erfolgreich generiert." +msgstr[1] "%d Lizenzen erfolgreich generiert." + +#: src/Admin/OrderLicenseController.php:534 +msgid "All licenses already exist for this order." +msgstr "Alle Lizenzen für diese Bestellung existieren bereits." + +#: src/Admin/SettingsController.php:54 +msgid "Licensed Products" +msgstr "Lizensierte Produkte" + +#: src/Admin/SettingsController.php:64 src/Admin/SettingsController.php:128 +msgid "Plugin License" +msgstr "Plugin-Lizenz" + +#: src/Admin/SettingsController.php:65 +msgid "Default Settings" +msgstr "Standardeinstellungen" + +#: src/Admin/SettingsController.php:66 +msgid "Notifications" +msgstr "Benachrichtigungen" + +#: src/Admin/SettingsController.php:130 +msgid "" +"Configure the license for this plugin. A valid license is required for " +"frontend features to work." +msgstr "" +"Konfigurieren Sie die Lizenz für dieses Plugin. Eine gültige Lizenz ist " +"erforderlich, damit die Frontend-Funktionen funktionieren." + +#: src/Admin/SettingsController.php:134 +msgid "License Server URL" +msgstr "Lizenzserver-URL" + +#: src/Admin/SettingsController.php:136 +msgid "The URL of the license server (e.g., https://shop.example.com)." +msgstr "Die URL des Lizenzservers (z.B. https://shop.example.com)." + +#: src/Admin/SettingsController.php:144 +msgid "Your license key in XXXX-XXXX-XXXX-XXXX format." +msgstr "Ihr Lizenzschlüssel im Format XXXX-XXXX-XXXX-XXXX." + +#: src/Admin/SettingsController.php:150 +msgid "Server Secret (Optional)" +msgstr "Server-Secret (Optional)" + +#: src/Admin/SettingsController.php:152 +msgid "" +"If the license server uses signed responses, enter the shared secret here " +"for enhanced security." +msgstr "" +"Falls der Lizenzserver signierte Antworten verwendet, geben Sie hier das " +"gemeinsame Secret für erhöhte Sicherheit ein." + +#: src/Admin/SettingsController.php:170 +msgid "Default License Settings" +msgstr "Standard Lizenz-Einstellungen" + +#: src/Admin/SettingsController.php:172 +msgid "" +"These settings serve as defaults for new licensed products. Individual " +"product settings override these defaults." +msgstr "" +"Diese Einstellungen dienen als Standard für neue lizensierte Produkte. " +"Individuelle Produkteinstellungen überschreiben diese Standards." + +#: src/Admin/SettingsController.php:176 +msgid "Default Max Activations" +msgstr "Standard Max. Aktivierungen" + +#: src/Admin/SettingsController.php:178 +msgid "Default maximum number of domain activations per license." +msgstr "Standard maximale Anzahl der Domain-Aktivierungen pro Lizenz." + +#: src/Admin/SettingsController.php:187 +msgid "Default License Validity (Days)" +msgstr "Standard Lizenz-Gültigkeit (Tage)" + +#: src/Admin/SettingsController.php:189 +msgid "" +"Default number of days a license is valid. Leave empty or set to 0 for " +"lifetime licenses." +msgstr "" +"Standard Anzahl Tage, die eine Lizenz gültig ist. Leer lassen oder auf 0 " +"setzen für lebenslange Lizenzen." + +#: src/Admin/SettingsController.php:199 +msgid "Default Bind to Major Version" +msgstr "Standard An Hauptversion binden" + +#: src/Admin/SettingsController.php:201 +msgid "" +"If enabled, licenses are bound to the major version at purchase time by " +"default." +msgstr "" +"Falls aktiviert, werden Lizenzen standardmässig an die Hauptversion zum " +"Kaufzeitpunkt gebunden." + +#: src/Admin/SettingsController.php:219 +msgid "Expiration Warning Schedule" +msgstr "Ablaufwarnung Zeitplan" + +#: src/Admin/SettingsController.php:223 +#, php-format +msgid "" +"Configure when expiration warning emails are sent. To customize the email " +"template, enable/disable, or change the subject, go to %s." +msgstr "" +"Konfigurieren Sie, wann Ablaufwarnungs-E-Mails gesendet werden. Um die E-" +"Mail-Vorlage anzupassen, zu aktivieren/deaktivieren oder den Betreff zu " +"ändern, gehen Sie zu %s." + +#: src/Admin/SettingsController.php:225 +msgid "WooCommerce > Settings > Emails > License Expiration Warning" +msgstr "WooCommerce > Einstellungen > E-Mails > Lizenzablauf-Warnung" + +#: src/Admin/SettingsController.php:230 +msgid "First Warning (Days Before)" +msgstr "Erste Warnung (Tage vorher)" + +#: src/Admin/SettingsController.php:232 +msgid "Days before expiration to send the first warning email." +msgstr "Tage vor Ablauf, um die erste Warn-E-Mail zu senden." + +#: src/Admin/SettingsController.php:241 +msgid "Second Warning (Days Before)" +msgstr "Zweite Warnung (Tage vorher)" + +#: src/Admin/SettingsController.php:243 +msgid "" +"Days before expiration to send the second warning email. Set to 0 to disable." +msgstr "" +"Tage vor Ablauf, um die zweite Warn-E-Mail zu senden. Setzen Sie auf 0, um " +"sie zu deaktivieren." + +#: src/Admin/SettingsController.php:283 +msgid "Running on localhost - license validation bypassed." +msgstr "Läuft auf localhost - Lizenzvalidierung übersprungen." + +#: src/Admin/SettingsController.php:291 +msgid "License is valid and active." +msgstr "Lizenz ist gültig und aktiv." + +#: src/Admin/SettingsController.php:297 +msgid "License is not valid. Frontend features are disabled." +msgstr "Lizenz ist ungültig. Frontend-Funktionen sind deaktiviert." + +#: src/Admin/SettingsController.php:308 src/Admin/SettingsController.php:344 +msgid "Verify License" +msgstr "Lizenz überprüfen" + +#: src/Admin/SettingsController.php:322 +msgid "Verifying..." +msgstr "Überprüfe..." + +#: src/Admin/SettingsController.php:341 +msgid "Request failed." +msgstr "Anfrage fehlgeschlagen." + +#: src/Admin/SettingsController.php:458 +msgid "Insufficient permissions." +msgstr "Unzureichende Berechtigungen." + +#: src/Admin/SettingsController.php:467 +msgid "License verified successfully!" +msgstr "Lizenz erfolgreich überprüft!" + +#: src/Admin/SettingsController.php:469 +msgid "License validation failed." +msgstr "Lizenzvalidierung fehlgeschlagen." + +#: src/Admin/VersionAdminController.php:58 +msgid "Product Versions" +msgstr "Produktversionen" + +#: src/Admin/VersionAdminController.php:78 +msgid "Add New Version" +msgstr "Neue Version hinzufügen" + +#: src/Admin/VersionAdminController.php:84 +msgid "Use semantic versioning (e.g., 1.0.0)" +msgstr "Verwenden Sie semantische Versionierung (z.B. 1.0.0)" + +#: src/Admin/VersionAdminController.php:88 +#: src/Admin/VersionAdminController.php:137 +msgid "Download File" +msgstr "Download-Datei" + +#: src/Admin/VersionAdminController.php:93 +msgid "Select File" +msgstr "Datei auswählen" + +#: src/Admin/VersionAdminController.php:96 +#: src/Admin/VersionAdminController.php:110 +msgid "Remove" +msgstr "Entfernen" + +#: src/Admin/VersionAdminController.php:98 +msgid "" +"Upload or select a file from the media library. Version will be auto-" +"detected from filename (e.g., plugin-v1.2.3.zip)." +msgstr "" +"Laden Sie eine Datei hoch oder wählen Sie eine aus der Mediathek. Die " +"Version wird automatisch aus dem Dateinamen erkannt (z.B. plugin-v1.2.3.zip)." + +#: src/Admin/VersionAdminController.php:102 +msgid "Checksum File" +msgstr "Prüfsummendatei" + +#: src/Admin/VersionAdminController.php:107 +msgid "Select Checksum File" +msgstr "Prüfsummendatei auswählen" + +#: src/Admin/VersionAdminController.php:112 +msgid "" +"Upload a SHA256 checksum file (.sha256 or .txt) to verify file integrity." +msgstr "" +"Laden Sie eine SHA256-Prüfsummendatei (.sha256 oder .txt) hoch, um die " +"Dateiintegrität zu überprüfen." + +#: src/Admin/VersionAdminController.php:116 +#: src/Admin/VersionAdminController.php:139 +msgid "Release Notes" +msgstr "Versionshinweise" + +#: src/Admin/VersionAdminController.php:124 +msgid "Add Version" +msgstr "Version hinzufügen" + +#: src/Admin/VersionAdminController.php:132 +msgid "Existing Versions" +msgstr "Vorhandene Versionen" + +#: src/Admin/VersionAdminController.php:138 +msgid "SHA256" +msgstr "SHA256" + +#: src/Admin/VersionAdminController.php:141 +msgid "Released" +msgstr "Veröffentlicht" + +#: src/Admin/VersionAdminController.php:148 +msgid "No versions found. Add your first version above." +msgstr "Keine Versionen gefunden. Fügen Sie Ihre erste Version oben hinzu." + +#: src/Admin/VersionAdminController.php:165 +#: src/Admin/VersionAdminController.php:396 +msgid "Uploaded file" +msgstr "Hochgeladene Datei" + +#: src/Admin/VersionAdminController.php:169 +#: src/Admin/VersionAdminController.php:400 +msgid "No download file" +msgstr "Keine Download-Datei" + +#: src/Admin/VersionAdminController.php:232 +msgid "Are you sure you want to delete this version?" +msgstr "Sind Sie sicher, dass Sie diese Version löschen möchten?" + +#: src/Admin/VersionAdminController.php:233 +msgid "Please enter a version number." +msgstr "Bitte geben Sie eine Versionsnummer ein." + +#: src/Admin/VersionAdminController.php:234 +msgid "Please enter a valid version number (e.g., 1.0.0)." +msgstr "Bitte geben Sie eine gültige Versionsnummer ein (z.B. 1.0.0)." + +#: src/Admin/VersionAdminController.php:235 +msgid "An error occurred. Please try again." +msgstr "Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut." + +#: src/Admin/VersionAdminController.php:236 +msgid "Select Download File" +msgstr "Download-Datei auswählen" + +#: src/Admin/VersionAdminController.php:237 +msgid "Use this file" +msgstr "Diese Datei verwenden" + +#: src/Admin/VersionAdminController.php:238 +msgid "" +"Invalid checksum file format. File must contain a 64-character SHA256 hash." +msgstr "" +"Ungültiges Prüfsummendateiformat. Die Datei muss einen 64-stelligen SHA256-" +"Hash enthalten." + +#: src/Admin/VersionAdminController.php:239 +msgid "Failed to read checksum file." +msgstr "Prüfsummendatei konnte nicht gelesen werden." + +#: src/Admin/VersionAdminController.php:269 +msgid "Product ID and version are required." +msgstr "Produkt-ID und Version sind erforderlich." + +#: src/Admin/VersionAdminController.php:274 +msgid "Invalid version format. Use semantic versioning (e.g., 1.0.0)." +msgstr "" +"Ungültiges Versionsformat. Verwenden Sie semantische Versionierung (z.B. " +"1.0.0)." + +#: src/Admin/VersionAdminController.php:279 +msgid "This version already exists." +msgstr "Diese Version existiert bereits." + +#: src/Admin/VersionAdminController.php:285 +msgid "Product not found." +msgstr "Produkt nicht gefunden." + +#: src/Admin/VersionAdminController.php:289 +msgid "This product is not a licensed product." +msgstr "Dieses Produkt ist kein lizensiertes Produkt." + +#: src/Admin/VersionAdminController.php:306 +msgid "Failed to create version." +msgstr "Version konnte nicht erstellt werden." + +#: src/Admin/VersionAdminController.php:314 +msgid "Version added successfully." +msgstr "Version erfolgreich hinzugefügt." + +#: src/Admin/VersionAdminController.php:334 +#: src/Admin/VersionAdminController.php:361 +msgid "Version ID is required." +msgstr "Versions-ID ist erforderlich." + +#: src/Admin/VersionAdminController.php:340 +msgid "Failed to delete version." +msgstr "Version konnte nicht gelöscht werden." + +#: src/Admin/VersionAdminController.php:343 +msgid "Version deleted successfully." +msgstr "Version erfolgreich gelöscht." + +#: src/Admin/VersionAdminController.php:367 +msgid "Failed to update version." +msgstr "Version konnte nicht aktualisiert werden." + +#: src/Admin/VersionAdminController.php:371 +msgid "Version updated successfully." +msgstr "Version erfolgreich aktualisiert." + #: src/Api/RestApiController.php:84 msgid "Too many requests. Please try again later." msgstr "Zu viele Anfragen. Bitte versuchen Sie es später erneut." @@ -1270,28 +1277,32 @@ msgstr "Lizenz konnte nicht aktiviert werden." msgid "License activated successfully." msgstr "Lizenz erfolgreich aktiviert." -#: src/Checkout/CheckoutController.php:78 -#: src/Checkout/CheckoutBlocksIntegration.php:104 -msgid "License Domain" -msgstr "Lizenz-Domain" - -#: src/Checkout/CheckoutController.php:81 #: src/Checkout/CheckoutBlocksIntegration.php:101 +#: src/Checkout/CheckoutController.php:81 msgid "Domain for License Activation" msgstr "Domain für Lizenz-Aktivierung" -#: src/Checkout/CheckoutController.php:82 -msgid "required" -msgstr "erforderlich" - -#: src/Checkout/CheckoutController.php:93 #: src/Checkout/CheckoutBlocksIntegration.php:103 +#: src/Checkout/CheckoutController.php:93 msgid "" "Enter the domain where you will use this license (without http:// or www)." msgstr "" "Geben Sie die Domain ein, auf der Sie diese Lizenz verwenden möchten (ohne " "http:// oder www)." +#: src/Checkout/CheckoutBlocksIntegration.php:104 +#: src/Checkout/CheckoutController.php:78 +msgid "License Domain" +msgstr "Lizenz-Domain" + +#: src/Checkout/CheckoutBlocksIntegration.php:105 +msgid "Please enter a valid domain for your license activation." +msgstr "Bitte geben Sie eine gültige Domain für Ihre Lizenz-Aktivierung ein." + +#: src/Checkout/CheckoutController.php:82 +msgid "required" +msgstr "erforderlich" + #: src/Checkout/CheckoutController.php:115 msgid "Please enter a domain for your license activation." msgstr "Bitte geben Sie eine Domain für Ihre Lizenz-Aktivierung ein." @@ -1306,118 +1317,225 @@ msgstr "Bitte geben Sie einen gültigen Domain-Namen ein." msgid "License Domain:" msgstr "Lizenz-Domain:" -#: src/Checkout/CheckoutBlocksIntegration.php:105 -msgid "Please enter a valid domain for your license activation." -msgstr "Bitte geben Sie eine gültige Domain für Ihre Lizenz-Aktivierung ein." - #: src/Checkout/StoreApiExtension.php:85 msgid "Domain for license activation" msgstr "Domain für Lizenz-Aktivierung" -#: src/License/PluginLicenseChecker.php:117 -msgid "License settings not configured." -msgstr "Lizenzeinstellungen nicht konfiguriert." +#: src/Email/LicenseEmailController.php:212 +#: src/Email/LicenseEmailController.php:216 +#: src/Email/LicenseEmailController.php:320 +#: src/Email/LicenseExpirationEmail.php:207 +#: src/Email/LicenseExpirationEmail.php:270 +#: src/Email/LicenseExpiredEmail.php:191 src/Email/LicenseExpiredEmail.php:256 +#: src/Frontend/AccountController.php:190 +msgid "License Key:" +msgstr "Lizenzschlüssel:" -#: src/License/PluginLicenseChecker.php:153 -msgid "Could not connect to license server." -msgstr "Verbindung zum Lizenzserver konnte nicht hergestellt werden." +#: src/Email/LicenseEmailController.php:256 +msgid "Your License Keys" +msgstr "Ihre Lizenzschlüssel" -#: src/License/LicenseManager.php:366 -msgid "This license has been revoked." -msgstr "Diese Lizenz wurde widerrufen." +#: src/Email/LicenseEmailController.php:260 +#: src/Email/LicenseEmailController.php:315 +msgid "Licensed Domain:" +msgstr "Lizensierte Domain:" -#: src/License/LicenseManager.php:376 -msgid "This license has expired." -msgstr "Diese Lizenz ist abgelaufen." +#: src/Email/LicenseEmailController.php:287 +#: src/Email/LicenseEmailController.php:326 +#: src/Frontend/AccountController.php:218 +msgid "Never" +msgstr "Nie" -#: src/License/LicenseManager.php:384 -msgid "This license is inactive." -msgstr "Diese Lizenz ist inaktiv." +#: src/Email/LicenseEmailController.php:296 +#: src/Email/LicenseEmailController.php:330 +msgid "You can also view your licenses in your account under \"Licenses\"." +msgstr "" +"Sie können Ihre Lizenzen auch in Ihrem Konto unter \"Lizenzen\" einsehen." -#: src/License/LicenseManager.php:394 -msgid "This license is not valid for this domain." -msgstr "Diese Lizenz ist für diese Domain nicht gültig." +#: src/Email/LicenseEmailController.php:311 +msgid "YOUR LICENSE KEYS" +msgstr "IHRE LIZENZSCHLÜSSEL" + +#: src/Email/LicenseEmailController.php:323 +#: src/Email/LicenseExpirationEmail.php:219 +#: src/Email/LicenseExpirationEmail.php:272 +#: src/Frontend/AccountController.php:213 +msgid "Expires:" +msgstr "Läuft ab:" + +#: src/Email/LicenseExpirationEmail.php:55 +msgid "License Expiration Warning" +msgstr "Lizenzablauf-Warnung" + +#: src/Email/LicenseExpirationEmail.php:56 +msgid "" +"License expiration warning emails are sent to customers when their licenses " +"are about to expire." +msgstr "" +"Lizenzablauf-Warnungs-E-Mails werden an Kunden gesendet, wenn ihre Lizenzen " +"bald ablaufen." + +#: src/Email/LicenseExpirationEmail.php:74 +msgid "" +"[{site_title}] Your license for {product_name} expires in {days_remaining} " +"days" +msgstr "" +"[{site_title}] Ihre Lizenz für {product_name} läuft in {days_remaining} " +"Tagen ab" + +#: src/Email/LicenseExpirationEmail.php:82 +msgid "License Expiration Notice" +msgstr "Lizenzablauf-Benachrichtigung" -#: src/License/LicenseManager.php:760 src/Product/VersionManager.php:349 -#: src/Product/VersionManager.php:361 src/Frontend/AccountController.php:140 #: src/Email/LicenseExpirationEmail.php:107 -#: src/Email/LicenseExpiredEmail.php:99 +#: src/Email/LicenseExpiredEmail.php:99 src/Frontend/AccountController.php:140 +#: src/License/LicenseManager.php:760 src/Product/VersionManager.php:349 +#: src/Product/VersionManager.php:361 msgid "Unknown Product" msgstr "Unbekanntes Produkt" -#: src/Product/LicensedProductType.php:61 -msgid "Licensed Product" -msgstr "Lizensiertes Produkt" - -#: src/Product/LicensedProductType.php:82 -msgid "License Settings" -msgstr "Lizenz-Einstellungen" - -#: src/Product/LicensedProductType.php:109 +#: src/Email/LicenseExpirationEmail.php:176 +#: src/Email/LicenseExpirationEmail.php:246 +#: src/Email/LicenseExpiredEmail.php:167 src/Email/LicenseExpiredEmail.php:238 #, php-format -msgid "%d days" -msgstr "%d Tage" +msgid "Hello %s," +msgstr "Guten Tag %s," -#: src/Product/LicensedProductType.php:119 +#: src/Email/LicenseExpirationEmail.php:181 +#: src/Email/LicenseExpirationEmail.php:251 #, php-format -msgid "Leave fields empty to use default settings from %s." -msgstr "Felder leer lassen, um Standardeinstellungen von %s zu verwenden." +msgid "Your license for %s will expire tomorrow (%s)." +msgstr "Ihre Lizenz für %s läuft morgen ab (%s)." -#: src/Product/LicensedProductType.php:121 -msgid "WooCommerce > Settings > Licensed Products" -msgstr "WooCommerce > Einstellungen > Lizensierte Produkte" - -#: src/Product/LicensedProductType.php:128 -msgid "Max Activations" -msgstr "Max. Aktivierungen" - -#: src/Product/LicensedProductType.php:131 +#: src/Email/LicenseExpirationEmail.php:189 +#: src/Email/LicenseExpirationEmail.php:257 #, php-format -msgid "Maximum number of domain activations per license. Default: %d" -msgstr "Maximale Anzahl der Domain-Aktivierungen pro Lizenz. Standard: %d" +msgid "Your license for %1$s will expire in %2$d days (%3$s)." +msgstr "Ihre Lizenz für %1$s läuft in %2$d Tagen ab (%3$s)." -#: src/Product/LicensedProductType.php:146 -msgid "License Validity (Days)" -msgstr "Lizenz-Gültigkeit (Tage)" +#: src/Email/LicenseExpirationEmail.php:197 +#: src/Email/LicenseExpirationEmail.php:266 +msgid "License Details" +msgstr "Lizenzdetails" -#: src/Product/LicensedProductType.php:149 -#, php-format -msgid "Number of days the license is valid. Leave empty for default (%s)." -msgstr "Anzahl Tage, die die Lizenz gültig ist. Leer lassen für Standard (%s)." +#: src/Email/LicenseExpirationEmail.php:203 +#: src/Email/LicenseExpirationEmail.php:269 +#: src/Email/LicenseExpiredEmail.php:187 src/Email/LicenseExpiredEmail.php:255 +msgid "Product:" +msgstr "Produkt:" -#: src/Product/LicensedProductType.php:164 -msgid "Bind to Major Version" -msgstr "An Hauptversion binden" +#: src/Email/LicenseExpirationEmail.php:215 +#: src/Email/LicenseExpirationEmail.php:271 +#: src/Email/LicenseExpiredEmail.php:199 src/Email/LicenseExpiredEmail.php:257 +#: src/Frontend/AccountController.php:201 +msgid "Domain:" +msgstr "Domain:" -#: src/Product/LicensedProductType.php:167 -#, php-format +#: src/Email/LicenseExpirationEmail.php:235 +#: src/Email/LicenseExpirationEmail.php:281 +#: src/Email/LicenseExpiredEmail.php:227 src/Email/LicenseExpiredEmail.php:268 +msgid "View My Licenses" +msgstr "Meine Lizenzen anzeigen" + +#: src/Email/LicenseExpirationEmail.php:291 msgid "" -"If enabled, licenses are bound to the major version at purchase time. " -"Default: %s" +"To continue using this product, please renew your license before the " +"expiration date." msgstr "" -"Falls aktiviert, werden Lizenzen an die Hauptversion zum Kaufzeitpunkt " -"gebunden. Standard: %s" +"Um dieses Produkt weiterhin zu nutzen, verlängern Sie bitte Ihre Lizenz vor " +"dem Ablaufdatum." -#: src/Product/LicensedProductType.php:168 -msgid "Yes" -msgstr "Ja" - -#: src/Product/LicensedProductType.php:168 -msgid "No" -msgstr "Nein" - -#: src/Product/LicensedProductType.php:288 -msgid "Version:" -msgstr "Version:" - -#: src/Product/VersionManager.php:166 -msgid "Attachment file not found." -msgstr "Anhangs-Datei nicht gefunden." - -#: src/Product/VersionManager.php:177 +#: src/Email/LicenseExpirationEmail.php:301 +#: src/Email/LicenseExpiredEmail.php:288 #, php-format -msgid "File checksum does not match. Expected: %1$s, Got: %2$s" -msgstr "Datei-Prüfsumme stimmt nicht überein. Erwartet: %1$s, Erhalten: %2$s" +msgid "Available placeholders: %s" +msgstr "Verfügbare Platzhalter: %s" + +#: src/Email/LicenseExpirationEmail.php:307 +#: src/Email/LicenseExpiredEmail.php:294 +msgid "Enable/Disable" +msgstr "Aktivieren/Deaktivieren" + +#: src/Email/LicenseExpirationEmail.php:309 +#: src/Email/LicenseExpiredEmail.php:296 +msgid "Enable this email notification" +msgstr "Diese E-Mail-Benachrichtigung aktivieren" + +#: src/Email/LicenseExpirationEmail.php:313 +#: src/Email/LicenseExpiredEmail.php:300 +msgid "Subject" +msgstr "Betreff" + +#: src/Email/LicenseExpirationEmail.php:321 +#: src/Email/LicenseExpiredEmail.php:308 +msgid "Email heading" +msgstr "E-Mail-Überschrift" + +#: src/Email/LicenseExpirationEmail.php:329 +#: src/Email/LicenseExpiredEmail.php:316 +msgid "Additional content" +msgstr "Zusätzlicher Inhalt" + +#: src/Email/LicenseExpirationEmail.php:330 +#: src/Email/LicenseExpiredEmail.php:317 +msgid "Text to appear below the main email content." +msgstr "Text, der unter dem Haupt-E-Mail-Inhalt erscheinen soll." + +#: src/Email/LicenseExpirationEmail.php:338 +#: src/Email/LicenseExpiredEmail.php:325 +msgid "Email type" +msgstr "E-Mail-Typ" + +#: src/Email/LicenseExpirationEmail.php:340 +#: src/Email/LicenseExpiredEmail.php:327 +msgid "Choose which format of email to send." +msgstr "Wählen Sie, welches E-Mail-Format gesendet werden soll." + +#: src/Email/LicenseExpiredEmail.php:50 src/Email/LicenseExpiredEmail.php:76 +msgid "License Expired" +msgstr "Lizenz abgelaufen" + +#: src/Email/LicenseExpiredEmail.php:51 +msgid "" +"License expired emails are sent to customers when their licenses have " +"expired." +msgstr "" +"Lizenzablauf-E-Mails werden an Kunden gesendet, wenn ihre Lizenzen " +"abgelaufen sind." + +#: src/Email/LicenseExpiredEmail.php:68 +msgid "[{site_title}] Your license for {product_name} has expired" +msgstr "[{site_title}] Ihre Lizenz für {product_name} ist abgelaufen" + +#: src/Email/LicenseExpiredEmail.php:171 src/Email/LicenseExpiredEmail.php:242 +#, php-format +msgid "Your license for %1$s has expired on %2$s." +msgstr "Ihre Lizenz für %1$s ist am %2$s abgelaufen." + +#: src/Email/LicenseExpiredEmail.php:178 src/Email/LicenseExpiredEmail.php:248 +msgid "" +"Your license is no longer valid and the product will stop working until you " +"renew." +msgstr "" +"Ihre Lizenz ist nicht mehr gültig und das Produkt wird nicht mehr " +"funktionieren, bis Sie verlängern." + +#: src/Email/LicenseExpiredEmail.php:181 src/Email/LicenseExpiredEmail.php:252 +msgid "Expired License Details" +msgstr "Details der abgelaufenen Lizenz" + +#: src/Email/LicenseExpiredEmail.php:203 src/Email/LicenseExpiredEmail.php:258 +msgid "Expired on:" +msgstr "Abgelaufen am:" + +#: src/Email/LicenseExpiredEmail.php:207 src/Email/LicenseExpiredEmail.php:259 +msgid "Status:" +msgstr "Status:" + +#: src/Email/LicenseExpiredEmail.php:278 +msgid "To continue using this product, please renew your license." +msgstr "" +"Um dieses Produkt weiterhin zu nutzen, verlängern Sie bitte Ihre Lizenz." #: src/Frontend/AccountController.php:104 msgid "Please log in to view your licenses." @@ -1427,36 +1545,6 @@ msgstr "Bitte melden Sie sich an, um Ihre Lizenzen zu sehen." msgid "You have no licenses yet." msgstr "Sie haben noch keine Lizenzen." -#: src/Frontend/AccountController.php:190 -#: src/Email/LicenseExpirationEmail.php:207 -#: src/Email/LicenseExpirationEmail.php:270 -#: src/Email/LicenseEmailController.php:212 -#: src/Email/LicenseEmailController.php:216 -#: src/Email/LicenseEmailController.php:320 -#: src/Email/LicenseExpiredEmail.php:191 src/Email/LicenseExpiredEmail.php:256 -msgid "License Key:" -msgstr "Lizenzschlüssel:" - -#: src/Frontend/AccountController.php:201 -#: src/Email/LicenseExpirationEmail.php:215 -#: src/Email/LicenseExpirationEmail.php:271 -#: src/Email/LicenseExpiredEmail.php:199 src/Email/LicenseExpiredEmail.php:257 -msgid "Domain:" -msgstr "Domain:" - -#: src/Frontend/AccountController.php:213 -#: src/Email/LicenseExpirationEmail.php:219 -#: src/Email/LicenseExpirationEmail.php:272 -#: src/Email/LicenseEmailController.php:323 -msgid "Expires:" -msgstr "Läuft ab:" - -#: src/Frontend/AccountController.php:218 -#: src/Email/LicenseEmailController.php:287 -#: src/Email/LicenseEmailController.php:326 -msgid "Never" -msgstr "Nie" - #: src/Frontend/AccountController.php:226 msgid "Available Downloads" msgstr "Verfügbare Downloads" @@ -1562,184 +1650,29 @@ msgstr "Keine Download-Datei für diese Version verfügbar." msgid "Download file not found." msgstr "Download-Datei nicht gefunden." -#: src/Email/LicenseExpirationEmail.php:55 -msgid "License Expiration Warning" -msgstr "Lizenzablauf-Warnung" +#: src/License/LicenseManager.php:366 +msgid "This license has been revoked." +msgstr "Diese Lizenz wurde widerrufen." -#: src/Email/LicenseExpirationEmail.php:56 -msgid "" -"License expiration warning emails are sent to customers when their licenses " -"are about to expire." -msgstr "" -"Lizenzablauf-Warnungs-E-Mails werden an Kunden gesendet, wenn ihre Lizenzen " -"bald ablaufen." +#: src/License/LicenseManager.php:376 +msgid "This license has expired." +msgstr "Diese Lizenz ist abgelaufen." -#: src/Email/LicenseExpirationEmail.php:74 -msgid "" -"[{site_title}] Your license for {product_name} expires in {days_remaining} " -"days" -msgstr "" -"[{site_title}] Ihre Lizenz für {product_name} läuft in {days_remaining} " -"Tagen ab" +#: src/License/LicenseManager.php:384 +msgid "This license is inactive." +msgstr "Diese Lizenz ist inaktiv." -#: src/Email/LicenseExpirationEmail.php:82 -msgid "License Expiration Notice" -msgstr "Lizenzablauf-Benachrichtigung" +#: src/License/LicenseManager.php:394 +msgid "This license is not valid for this domain." +msgstr "Diese Lizenz ist für diese Domain nicht gültig." -#: src/Email/LicenseExpirationEmail.php:176 -#: src/Email/LicenseExpirationEmail.php:246 -#: src/Email/LicenseExpiredEmail.php:167 src/Email/LicenseExpiredEmail.php:238 -#, php-format -msgid "Hello %s," -msgstr "Guten Tag %s," +#: src/License/PluginLicenseChecker.php:132 +msgid "License settings not configured." +msgstr "Lizenzeinstellungen nicht konfiguriert." -#: src/Email/LicenseExpirationEmail.php:181 -#: src/Email/LicenseExpirationEmail.php:251 -#, php-format -msgid "Your license for %s will expire tomorrow (%s)." -msgstr "Ihre Lizenz für %s läuft morgen ab (%s)." - -#: src/Email/LicenseExpirationEmail.php:189 -#: src/Email/LicenseExpirationEmail.php:257 -#, php-format -msgid "Your license for %1$s will expire in %2$d days (%3$s)." -msgstr "Ihre Lizenz für %1$s läuft in %2$d Tagen ab (%3$s)." - -#: src/Email/LicenseExpirationEmail.php:197 -#: src/Email/LicenseExpirationEmail.php:266 -msgid "License Details" -msgstr "Lizenzdetails" - -#: src/Email/LicenseExpirationEmail.php:203 -#: src/Email/LicenseExpirationEmail.php:269 -#: src/Email/LicenseExpiredEmail.php:187 src/Email/LicenseExpiredEmail.php:255 -msgid "Product:" -msgstr "Produkt:" - -#: src/Email/LicenseExpirationEmail.php:235 -#: src/Email/LicenseExpirationEmail.php:281 -#: src/Email/LicenseExpiredEmail.php:227 src/Email/LicenseExpiredEmail.php:268 -msgid "View My Licenses" -msgstr "Meine Lizenzen anzeigen" - -#: src/Email/LicenseExpirationEmail.php:291 -msgid "" -"To continue using this product, please renew your license before the " -"expiration date." -msgstr "" -"Um dieses Produkt weiterhin zu nutzen, verlängern Sie bitte Ihre Lizenz vor " -"dem Ablaufdatum." - -#: src/Email/LicenseExpirationEmail.php:301 -#: src/Email/LicenseExpiredEmail.php:288 -#, php-format -msgid "Available placeholders: %s" -msgstr "Verfügbare Platzhalter: %s" - -#: src/Email/LicenseExpirationEmail.php:307 -#: src/Email/LicenseExpiredEmail.php:294 -msgid "Enable/Disable" -msgstr "Aktivieren/Deaktivieren" - -#: src/Email/LicenseExpirationEmail.php:309 -#: src/Email/LicenseExpiredEmail.php:296 -msgid "Enable this email notification" -msgstr "Diese E-Mail-Benachrichtigung aktivieren" - -#: src/Email/LicenseExpirationEmail.php:313 -#: src/Email/LicenseExpiredEmail.php:300 -msgid "Subject" -msgstr "Betreff" - -#: src/Email/LicenseExpirationEmail.php:321 -#: src/Email/LicenseExpiredEmail.php:308 -msgid "Email heading" -msgstr "E-Mail-Überschrift" - -#: src/Email/LicenseExpirationEmail.php:329 -#: src/Email/LicenseExpiredEmail.php:316 -msgid "Additional content" -msgstr "Zusätzlicher Inhalt" - -#: src/Email/LicenseExpirationEmail.php:330 -#: src/Email/LicenseExpiredEmail.php:317 -msgid "Text to appear below the main email content." -msgstr "Text, der unter dem Haupt-E-Mail-Inhalt erscheinen soll." - -#: src/Email/LicenseExpirationEmail.php:338 -#: src/Email/LicenseExpiredEmail.php:325 -msgid "Email type" -msgstr "E-Mail-Typ" - -#: src/Email/LicenseExpirationEmail.php:340 -#: src/Email/LicenseExpiredEmail.php:327 -msgid "Choose which format of email to send." -msgstr "Wählen Sie, welches E-Mail-Format gesendet werden soll." - -#: src/Email/LicenseEmailController.php:256 -msgid "Your License Keys" -msgstr "Ihre Lizenzschlüssel" - -#: src/Email/LicenseEmailController.php:260 -#: src/Email/LicenseEmailController.php:315 -msgid "Licensed Domain:" -msgstr "Lizensierte Domain:" - -#: src/Email/LicenseEmailController.php:296 -#: src/Email/LicenseEmailController.php:330 -msgid "You can also view your licenses in your account under \"Licenses\"." -msgstr "" -"Sie können Ihre Lizenzen auch in Ihrem Konto unter \"Lizenzen\" einsehen." - -#: src/Email/LicenseEmailController.php:311 -msgid "YOUR LICENSE KEYS" -msgstr "IHRE LIZENZSCHLÜSSEL" - -#: src/Email/LicenseExpiredEmail.php:50 src/Email/LicenseExpiredEmail.php:76 -msgid "License Expired" -msgstr "Lizenz abgelaufen" - -#: src/Email/LicenseExpiredEmail.php:51 -msgid "" -"License expired emails are sent to customers when their licenses have " -"expired." -msgstr "" -"Lizenzablauf-E-Mails werden an Kunden gesendet, wenn ihre Lizenzen " -"abgelaufen sind." - -#: src/Email/LicenseExpiredEmail.php:68 -msgid "[{site_title}] Your license for {product_name} has expired" -msgstr "[{site_title}] Ihre Lizenz für {product_name} ist abgelaufen" - -#: src/Email/LicenseExpiredEmail.php:171 src/Email/LicenseExpiredEmail.php:242 -#, php-format -msgid "Your license for %1$s has expired on %2$s." -msgstr "Ihre Lizenz für %1$s ist am %2$s abgelaufen." - -#: src/Email/LicenseExpiredEmail.php:178 src/Email/LicenseExpiredEmail.php:248 -msgid "" -"Your license is no longer valid and the product will stop working until you " -"renew." -msgstr "" -"Ihre Lizenz ist nicht mehr gültig und das Produkt wird nicht mehr " -"funktionieren, bis Sie verlängern." - -#: src/Email/LicenseExpiredEmail.php:181 src/Email/LicenseExpiredEmail.php:252 -msgid "Expired License Details" -msgstr "Details der abgelaufenen Lizenz" - -#: src/Email/LicenseExpiredEmail.php:203 src/Email/LicenseExpiredEmail.php:258 -msgid "Expired on:" -msgstr "Abgelaufen am:" - -#: src/Email/LicenseExpiredEmail.php:207 src/Email/LicenseExpiredEmail.php:259 -msgid "Status:" -msgstr "Status:" - -#: src/Email/LicenseExpiredEmail.php:278 -msgid "To continue using this product, please renew your license." -msgstr "" -"Um dieses Produkt weiterhin zu nutzen, verlängern Sie bitte Ihre Lizenz." +#: src/License/PluginLicenseChecker.php:168 +msgid "Could not connect to license server." +msgstr "Verbindung zum Lizenzserver konnte nicht hergestellt werden." #: src/Plugin.php:260 msgid "WC Licensed Product" @@ -1756,6 +1689,80 @@ msgstr "" msgid "Configure License" msgstr "Lizenz konfigurieren" +#: src/Product/LicensedProductType.php:61 +msgid "Licensed Product" +msgstr "Lizensiertes Produkt" + +#: src/Product/LicensedProductType.php:82 +msgid "License Settings" +msgstr "Lizenz-Einstellungen" + +#: src/Product/LicensedProductType.php:109 +#, php-format +msgid "%d days" +msgstr "%d Tage" + +#: src/Product/LicensedProductType.php:119 +#, php-format +msgid "Leave fields empty to use default settings from %s." +msgstr "Felder leer lassen, um Standardeinstellungen von %s zu verwenden." + +#: src/Product/LicensedProductType.php:121 +msgid "WooCommerce > Settings > Licensed Products" +msgstr "WooCommerce > Einstellungen > Lizensierte Produkte" + +#: src/Product/LicensedProductType.php:128 +msgid "Max Activations" +msgstr "Max. Aktivierungen" + +#: src/Product/LicensedProductType.php:131 +#, php-format +msgid "Maximum number of domain activations per license. Default: %d" +msgstr "Maximale Anzahl der Domain-Aktivierungen pro Lizenz. Standard: %d" + +#: src/Product/LicensedProductType.php:146 +msgid "License Validity (Days)" +msgstr "Lizenz-Gültigkeit (Tage)" + +#: src/Product/LicensedProductType.php:149 +#, php-format +msgid "Number of days the license is valid. Leave empty for default (%s)." +msgstr "Anzahl Tage, die die Lizenz gültig ist. Leer lassen für Standard (%s)." + +#: src/Product/LicensedProductType.php:164 +msgid "Bind to Major Version" +msgstr "An Hauptversion binden" + +#: src/Product/LicensedProductType.php:167 +#, php-format +msgid "" +"If enabled, licenses are bound to the major version at purchase time. " +"Default: %s" +msgstr "" +"Falls aktiviert, werden Lizenzen an die Hauptversion zum Kaufzeitpunkt " +"gebunden. Standard: %s" + +#: src/Product/LicensedProductType.php:168 +msgid "Yes" +msgstr "Ja" + +#: src/Product/LicensedProductType.php:168 +msgid "No" +msgstr "Nein" + +#: src/Product/LicensedProductType.php:288 +msgid "Version:" +msgstr "Version:" + +#: src/Product/VersionManager.php:166 +msgid "Attachment file not found." +msgstr "Anhangs-Datei nicht gefunden." + +#: src/Product/VersionManager.php:177 +#, php-format +msgid "File checksum does not match. Expected: %1$s, Got: %2$s" +msgstr "Datei-Prüfsumme stimmt nicht überein. Erwartet: %1$s, Erhalten: %2$s" + #: wc-licensed-product.php:61 #, php-format msgid "%s requires WooCommerce to be installed and active." diff --git a/languages/wc-licensed-product.pot b/languages/wc-licensed-product.pot index 71d7d1c..cfedc49 100644 --- a/languages/wc-licensed-product.pot +++ b/languages/wc-licensed-product.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: WC Licensed Product 0.3.8\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-24 16:06+0100\n" +"Project-Id-Version: WC Licensed Product 0.4.0\n" +"Report-Msgid-Bugs-To: magdev3.0@gmail.com\n" +"POT-Creation-Date: 2026-01-24 16:39+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,604 +18,14 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: src/Admin/OrderLicenseController.php:57 -msgid "Product Licenses" -msgstr "" - -#: src/Admin/OrderLicenseController.php:78 -#: src/Admin/OrderLicenseController.php:367 -#: src/Admin/OrderLicenseController.php:469 -msgid "Order not found." -msgstr "" - -#: src/Admin/OrderLicenseController.php:93 -msgid "This order does not contain licensed products." -msgstr "" - -#: src/Admin/OrderLicenseController.php:107 -msgid "Order Domain" -msgstr "" - -#: src/Admin/OrderLicenseController.php:109 -msgid "" -"The domain specified during checkout. Changing this will not automatically " -"update existing license domains." -msgstr "" - -#: src/Admin/OrderLicenseController.php:117 -#: src/Checkout/CheckoutController.php:89 -#: src/Checkout/CheckoutBlocksIntegration.php:102 -msgid "example.com" -msgstr "" - -#: src/Admin/OrderLicenseController.php:119 -#: src/Admin/OrderLicenseController.php:209 src/Admin/AdminController.php:150 -#: src/Admin/AdminController.php:1340 src/Admin/AdminController.php:1360 -#: src/Admin/AdminController.php:1381 -msgid "Save" -msgstr "" - +#: src/Admin/AdminController.php:76 src/Admin/AdminController.php:77 +#: src/Admin/AdminController.php:90 src/Admin/AdminController.php:1200 #: src/Admin/OrderLicenseController.php:128 -#: src/Admin/OrderLicenseController.php:249 src/Admin/AdminController.php:76 -#: src/Admin/AdminController.php:77 src/Admin/AdminController.php:90 -#: src/Admin/AdminController.php:1200 src/Frontend/AccountController.php:90 +#: src/Admin/OrderLicenseController.php:249 +#: src/Frontend/AccountController.php:90 msgid "Licenses" msgstr "" -#: src/Admin/OrderLicenseController.php:144 -msgid "No licenses have been generated for this order yet." -msgstr "" - -#: src/Admin/OrderLicenseController.php:147 -msgid "" -"Licenses should be generated automatically when an order is paid. If " -"missing, check that a domain was specified during checkout." -msgstr "" - -#: src/Admin/OrderLicenseController.php:150 -msgid "Licenses will be generated when the order is marked as paid/completed." -msgstr "" - -#: src/Admin/OrderLicenseController.php:156 -msgid "Generate Licenses" -msgstr "" - -#: src/Admin/OrderLicenseController.php:164 -msgid "Please set the order domain above before generating licenses." -msgstr "" - -#: src/Admin/OrderLicenseController.php:171 -#: src/Admin/SettingsController.php:142 src/Admin/AdminController.php:1291 -#: src/Admin/AdminController.php:1442 src/Admin/AdminController.php:1491 -#: src/Email/LicenseEmailController.php:269 -msgid "License Key" -msgstr "" - -#: src/Admin/OrderLicenseController.php:172 src/Admin/AdminController.php:1292 -#: src/Admin/AdminController.php:1443 src/Admin/AdminController.php:1608 -#: src/Email/LicenseEmailController.php:268 -msgid "Product" -msgstr "" - -#: src/Admin/OrderLicenseController.php:173 src/Admin/AdminController.php:1294 -#: src/Admin/AdminController.php:1445 src/Admin/AdminController.php:1495 -msgid "Domain" -msgstr "" - -#: src/Admin/OrderLicenseController.php:174 -#: src/Admin/VersionAdminController.php:140 src/Admin/AdminController.php:1295 -#: src/Admin/AdminController.php:1446 -msgid "Status" -msgstr "" - -#: src/Admin/OrderLicenseController.php:175 src/Admin/AdminController.php:1297 -#: src/Admin/AdminController.php:1448 src/Admin/AdminController.php:1611 -#: src/Admin/AdminController.php:1613 src/Email/LicenseEmailController.php:270 -msgid "Expires" -msgstr "" - -#: src/Admin/OrderLicenseController.php:176 -#: src/Admin/VersionAdminController.php:142 src/Admin/AdminController.php:1298 -#: src/Admin/AdminController.php:1449 -msgid "Actions" -msgstr "" - -#: src/Admin/OrderLicenseController.php:195 src/Admin/AdminController.php:195 -#: src/Admin/AdminController.php:1019 -msgid "Unknown" -msgstr "" - -#: src/Admin/OrderLicenseController.php:205 -msgid "Edit domain" -msgstr "" - -#: src/Admin/OrderLicenseController.php:212 src/Admin/AdminController.php:149 -#: src/Admin/AdminController.php:1341 src/Admin/AdminController.php:1361 -#: src/Admin/AdminController.php:1382 src/Admin/AdminController.php:1537 -#: src/Frontend/AccountController.php:271 -msgid "Cancel" -msgstr "" - -#: src/Admin/OrderLicenseController.php:228 -#: src/Admin/SettingsController.php:192 src/Admin/AdminController.php:151 -#: src/Admin/AdminController.php:266 src/Admin/AdminController.php:1373 -#: src/Admin/AdminController.php:1613 -#: src/Admin/DashboardWidgetController.php:136 -#: src/Product/LicensedProductType.php:110 -#: src/Product/LicensedProductType.php:158 -msgid "Lifetime" -msgstr "" - -#: src/Admin/OrderLicenseController.php:235 -msgid "View in Licenses" -msgstr "" - -#: src/Admin/OrderLicenseController.php:248 -#, php-format -msgid "For more actions (revoke, extend, delete), go to the %s page." -msgstr "" - -#: src/Admin/OrderLicenseController.php:261 -#, php-format -msgid "%d licensed product is missing a license." -msgid_plural "%d licensed products are missing licenses." -msgstr[0] "" -msgstr[1] "" - -#: src/Admin/OrderLicenseController.php:270 -msgid "Generate Missing Licenses" -msgstr "" - -#: src/Admin/OrderLicenseController.php:338 src/Admin/AdminController.php:144 -msgid "Saving..." -msgstr "" - -#: src/Admin/OrderLicenseController.php:339 -msgid "Saved!" -msgstr "" - -#: src/Admin/OrderLicenseController.php:340 -msgid "Error. Please try again." -msgstr "" - -#: src/Admin/OrderLicenseController.php:341 -#: src/Frontend/AccountController.php:314 -#: src/Frontend/AccountController.php:346 -msgid "Please enter a valid domain." -msgstr "" - -#: src/Admin/OrderLicenseController.php:342 -msgid "Generating..." -msgstr "" - -#: src/Admin/OrderLicenseController.php:355 -#: src/Admin/OrderLicenseController.php:394 -#: src/Admin/OrderLicenseController.php:458 -#: src/Admin/VersionAdminController.php:259 -#: src/Admin/VersionAdminController.php:328 -#: src/Admin/VersionAdminController.php:354 src/Admin/AdminController.php:173 -#: src/Admin/AdminController.php:213 src/Admin/AdminController.php:249 -#: src/Admin/AdminController.php:301 src/Admin/AdminController.php:339 -#: src/Admin/AdminController.php:369 -msgid "Permission denied." -msgstr "" - -#: src/Admin/OrderLicenseController.php:362 -#: src/Admin/OrderLicenseController.php:464 -msgid "Invalid order ID." -msgstr "" - -#: src/Admin/OrderLicenseController.php:373 -#: src/Admin/OrderLicenseController.php:411 -msgid "Invalid domain format." -msgstr "" - -#: src/Admin/OrderLicenseController.php:381 -msgid "Order domain updated." -msgstr "" - -#: src/Admin/OrderLicenseController.php:401 src/Admin/AdminController.php:220 -#: src/Admin/AdminController.php:256 src/Admin/AdminController.php:308 -#: src/Admin/AdminController.php:345 -msgid "Invalid license ID." -msgstr "" - -#: src/Admin/OrderLicenseController.php:405 src/Admin/AdminController.php:312 -msgid "Domain cannot be empty." -msgstr "" - -#: src/Admin/OrderLicenseController.php:417 -#: src/Frontend/AccountController.php:352 -#: src/Frontend/DownloadController.php:117 -msgid "License not found." -msgstr "" - -#: src/Admin/OrderLicenseController.php:425 -msgid "License domain updated." -msgstr "" - -#: src/Admin/OrderLicenseController.php:429 -msgid "Failed to update license domain." -msgstr "" - -#: src/Admin/OrderLicenseController.php:474 -msgid "Order must be paid before licenses can be generated." -msgstr "" - -#: src/Admin/OrderLicenseController.php:480 -msgid "Please set the order domain before generating licenses." -msgstr "" - -#: src/Admin/OrderLicenseController.php:521 -#, php-format -msgid "%d license generated successfully." -msgid_plural "%d licenses generated successfully." -msgstr[0] "" -msgstr[1] "" - -#: src/Admin/OrderLicenseController.php:534 -msgid "All licenses already exist for this order." -msgstr "" - -#: src/Admin/SettingsController.php:54 -msgid "Licensed Products" -msgstr "" - -#: src/Admin/SettingsController.php:64 src/Admin/SettingsController.php:128 -msgid "Plugin License" -msgstr "" - -#: src/Admin/SettingsController.php:65 -msgid "Default Settings" -msgstr "" - -#: src/Admin/SettingsController.php:66 -msgid "Notifications" -msgstr "" - -#: src/Admin/SettingsController.php:130 -msgid "" -"Configure the license for this plugin. A valid license is required for " -"frontend features to work." -msgstr "" - -#: src/Admin/SettingsController.php:134 -msgid "License Server URL" -msgstr "" - -#: src/Admin/SettingsController.php:136 -msgid "The URL of the license server (e.g., https://shop.example.com)." -msgstr "" - -#: src/Admin/SettingsController.php:144 -msgid "Your license key in XXXX-XXXX-XXXX-XXXX format." -msgstr "" - -#: src/Admin/SettingsController.php:150 -msgid "Server Secret (Optional)" -msgstr "" - -#: src/Admin/SettingsController.php:152 -msgid "" -"If the license server uses signed responses, enter the shared secret here " -"for enhanced security." -msgstr "" - -#: src/Admin/SettingsController.php:170 -msgid "Default License Settings" -msgstr "" - -#: src/Admin/SettingsController.php:172 -msgid "" -"These settings serve as defaults for new licensed products. Individual " -"product settings override these defaults." -msgstr "" - -#: src/Admin/SettingsController.php:176 -msgid "Default Max Activations" -msgstr "" - -#: src/Admin/SettingsController.php:178 -msgid "Default maximum number of domain activations per license." -msgstr "" - -#: src/Admin/SettingsController.php:187 -msgid "Default License Validity (Days)" -msgstr "" - -#: src/Admin/SettingsController.php:189 -msgid "" -"Default number of days a license is valid. Leave empty or set to 0 for " -"lifetime licenses." -msgstr "" - -#: src/Admin/SettingsController.php:199 -msgid "Default Bind to Major Version" -msgstr "" - -#: src/Admin/SettingsController.php:201 -msgid "" -"If enabled, licenses are bound to the major version at purchase time by " -"default." -msgstr "" - -#: src/Admin/SettingsController.php:219 -msgid "Expiration Warning Schedule" -msgstr "" - -#: src/Admin/SettingsController.php:223 -#, php-format -msgid "" -"Configure when expiration warning emails are sent. To customize the email " -"template, enable/disable, or change the subject, go to %s." -msgstr "" - -#: src/Admin/SettingsController.php:225 -msgid "WooCommerce > Settings > Emails > License Expiration Warning" -msgstr "" - -#: src/Admin/SettingsController.php:230 -msgid "First Warning (Days Before)" -msgstr "" - -#: src/Admin/SettingsController.php:232 -msgid "Days before expiration to send the first warning email." -msgstr "" - -#: src/Admin/SettingsController.php:241 -msgid "Second Warning (Days Before)" -msgstr "" - -#: src/Admin/SettingsController.php:243 -msgid "" -"Days before expiration to send the second warning email. Set to 0 to disable." -msgstr "" - -#: src/Admin/SettingsController.php:283 -msgid "Running on localhost - license validation bypassed." -msgstr "" - -#: src/Admin/SettingsController.php:291 -msgid "License is valid and active." -msgstr "" - -#: src/Admin/SettingsController.php:297 -msgid "License is not valid. Frontend features are disabled." -msgstr "" - -#: src/Admin/SettingsController.php:308 src/Admin/SettingsController.php:344 -msgid "Verify License" -msgstr "" - -#: src/Admin/SettingsController.php:322 -msgid "Verifying..." -msgstr "" - -#: src/Admin/SettingsController.php:341 -msgid "Request failed." -msgstr "" - -#: src/Admin/SettingsController.php:454 src/Admin/AdminController.php:455 -#: src/Admin/AdminController.php:475 src/Admin/AdminController.php:493 -#: src/Admin/AdminController.php:511 src/Admin/AdminController.php:531 -#: src/Admin/AdminController.php:549 src/Admin/AdminController.php:577 -#: src/Admin/AdminController.php:621 src/Admin/AdminController.php:811 -#: src/Frontend/AccountController.php:326 -msgid "Security check failed." -msgstr "" - -#: src/Admin/SettingsController.php:458 -msgid "Insufficient permissions." -msgstr "" - -#: src/Admin/SettingsController.php:467 -msgid "License verified successfully!" -msgstr "" - -#: src/Admin/SettingsController.php:469 -msgid "License validation failed." -msgstr "" - -#: src/Admin/VersionAdminController.php:58 -msgid "Product Versions" -msgstr "" - -#: src/Admin/VersionAdminController.php:78 -msgid "Add New Version" -msgstr "" - -#: src/Admin/VersionAdminController.php:81 -#: src/Admin/VersionAdminController.php:136 src/Admin/AdminController.php:1609 -msgid "Version" -msgstr "" - -#: src/Admin/VersionAdminController.php:84 -msgid "Use semantic versioning (e.g., 1.0.0)" -msgstr "" - -#: src/Admin/VersionAdminController.php:88 -#: src/Admin/VersionAdminController.php:137 -msgid "Download File" -msgstr "" - -#: src/Admin/VersionAdminController.php:93 -msgid "Select File" -msgstr "" - -#: src/Admin/VersionAdminController.php:96 -#: src/Admin/VersionAdminController.php:110 -msgid "Remove" -msgstr "" - -#: src/Admin/VersionAdminController.php:98 -msgid "" -"Upload or select a file from the media library. Version will be auto-" -"detected from filename (e.g., plugin-v1.2.3.zip)." -msgstr "" - -#: src/Admin/VersionAdminController.php:102 -msgid "Checksum File" -msgstr "" - -#: src/Admin/VersionAdminController.php:107 -msgid "Select Checksum File" -msgstr "" - -#: src/Admin/VersionAdminController.php:112 -msgid "" -"Upload a SHA256 checksum file (.sha256 or .txt) to verify file integrity." -msgstr "" - -#: src/Admin/VersionAdminController.php:116 -#: src/Admin/VersionAdminController.php:139 -msgid "Release Notes" -msgstr "" - -#: src/Admin/VersionAdminController.php:124 -msgid "Add Version" -msgstr "" - -#: src/Admin/VersionAdminController.php:132 -msgid "Existing Versions" -msgstr "" - -#: src/Admin/VersionAdminController.php:138 -msgid "SHA256" -msgstr "" - -#: src/Admin/VersionAdminController.php:141 -msgid "Released" -msgstr "" - -#: src/Admin/VersionAdminController.php:148 -msgid "No versions found. Add your first version above." -msgstr "" - -#: src/Admin/VersionAdminController.php:165 -#: src/Admin/VersionAdminController.php:396 -msgid "Uploaded file" -msgstr "" - -#: src/Admin/VersionAdminController.php:169 -#: src/Admin/VersionAdminController.php:400 -msgid "No download file" -msgstr "" - -#: src/Admin/VersionAdminController.php:182 -#: src/Admin/VersionAdminController.php:413 src/Admin/AdminController.php:156 -#: src/Admin/AdminController.php:907 src/Admin/AdminController.php:1232 -#: src/Admin/AdminController.php:1355 -#: src/Admin/DashboardWidgetController.php:117 -msgid "Active" -msgstr "" - -#: src/Admin/VersionAdminController.php:182 -#: src/Admin/VersionAdminController.php:413 src/Admin/AdminController.php:157 -#: src/Admin/AdminController.php:914 src/Admin/AdminController.php:1233 -#: src/Admin/AdminController.php:1356 -msgid "Inactive" -msgstr "" - -#: src/Admin/VersionAdminController.php:188 -#: src/Admin/VersionAdminController.php:419 src/Admin/AdminController.php:1274 -#: src/Admin/AdminController.php:1459 -msgid "Deactivate" -msgstr "" - -#: src/Admin/VersionAdminController.php:188 -#: src/Admin/VersionAdminController.php:419 src/Admin/AdminController.php:1273 -#: src/Admin/AdminController.php:1458 -msgid "Activate" -msgstr "" - -#: src/Admin/VersionAdminController.php:191 -#: src/Admin/VersionAdminController.php:422 src/Admin/AdminController.php:1279 -#: src/Admin/AdminController.php:1428 src/Admin/AdminController.php:1464 -msgid "Delete" -msgstr "" - -#: src/Admin/VersionAdminController.php:232 -msgid "Are you sure you want to delete this version?" -msgstr "" - -#: src/Admin/VersionAdminController.php:233 -msgid "Please enter a version number." -msgstr "" - -#: src/Admin/VersionAdminController.php:234 -msgid "Please enter a valid version number (e.g., 1.0.0)." -msgstr "" - -#: src/Admin/VersionAdminController.php:235 -msgid "An error occurred. Please try again." -msgstr "" - -#: src/Admin/VersionAdminController.php:236 -msgid "Select Download File" -msgstr "" - -#: src/Admin/VersionAdminController.php:237 -msgid "Use this file" -msgstr "" - -#: src/Admin/VersionAdminController.php:238 -msgid "" -"Invalid checksum file format. File must contain a 64-character SHA256 hash." -msgstr "" - -#: src/Admin/VersionAdminController.php:239 -msgid "Failed to read checksum file." -msgstr "" - -#: src/Admin/VersionAdminController.php:269 -msgid "Product ID and version are required." -msgstr "" - -#: src/Admin/VersionAdminController.php:274 -msgid "Invalid version format. Use semantic versioning (e.g., 1.0.0)." -msgstr "" - -#: src/Admin/VersionAdminController.php:279 -msgid "This version already exists." -msgstr "" - -#: src/Admin/VersionAdminController.php:285 -msgid "Product not found." -msgstr "" - -#: src/Admin/VersionAdminController.php:289 -msgid "This product is not a licensed product." -msgstr "" - -#: src/Admin/VersionAdminController.php:306 -msgid "Failed to create version." -msgstr "" - -#: src/Admin/VersionAdminController.php:314 -msgid "Version added successfully." -msgstr "" - -#: src/Admin/VersionAdminController.php:334 -#: src/Admin/VersionAdminController.php:361 -msgid "Version ID is required." -msgstr "" - -#: src/Admin/VersionAdminController.php:340 -msgid "Failed to delete version." -msgstr "" - -#: src/Admin/VersionAdminController.php:343 -msgid "Version deleted successfully." -msgstr "" - -#: src/Admin/VersionAdminController.php:367 -msgid "Failed to update version." -msgstr "" - -#: src/Admin/VersionAdminController.php:371 -msgid "Version updated successfully." -msgstr "" - #: src/Admin/AdminController.php:93 msgid "Overview" msgstr "" @@ -632,6 +42,10 @@ msgstr "" msgid "Search failed" msgstr "" +#: src/Admin/AdminController.php:144 src/Admin/OrderLicenseController.php:338 +msgid "Saving..." +msgstr "" + #: src/Admin/AdminController.php:145 msgid "Saved" msgstr "" @@ -650,6 +64,29 @@ msgstr "" msgid "Edit" msgstr "" +#: src/Admin/AdminController.php:149 src/Admin/AdminController.php:1341 +#: src/Admin/AdminController.php:1361 src/Admin/AdminController.php:1382 +#: src/Admin/AdminController.php:1537 src/Admin/OrderLicenseController.php:212 +#: src/Frontend/AccountController.php:271 +msgid "Cancel" +msgstr "" + +#: src/Admin/AdminController.php:150 src/Admin/AdminController.php:1340 +#: src/Admin/AdminController.php:1360 src/Admin/AdminController.php:1381 +#: src/Admin/OrderLicenseController.php:119 +#: src/Admin/OrderLicenseController.php:209 +msgid "Save" +msgstr "" + +#: src/Admin/AdminController.php:151 src/Admin/AdminController.php:266 +#: src/Admin/AdminController.php:1373 src/Admin/AdminController.php:1613 +#: src/Admin/DashboardWidgetController.php:136 +#: src/Admin/OrderLicenseController.php:228 +#: src/Admin/SettingsController.php:192 src/Product/LicensedProductType.php:110 +#: src/Product/LicensedProductType.php:158 +msgid "Lifetime" +msgstr "" + #: src/Admin/AdminController.php:152 src/Frontend/AccountController.php:309 msgid "Copied!" msgstr "" @@ -658,6 +95,21 @@ msgstr "" msgid "Copy failed" msgstr "" +#: src/Admin/AdminController.php:156 src/Admin/AdminController.php:907 +#: src/Admin/AdminController.php:1232 src/Admin/AdminController.php:1355 +#: src/Admin/DashboardWidgetController.php:117 +#: src/Admin/VersionAdminController.php:182 +#: src/Admin/VersionAdminController.php:413 +msgid "Active" +msgstr "" + +#: src/Admin/AdminController.php:157 src/Admin/AdminController.php:914 +#: src/Admin/AdminController.php:1233 src/Admin/AdminController.php:1356 +#: src/Admin/VersionAdminController.php:182 +#: src/Admin/VersionAdminController.php:413 +msgid "Inactive" +msgstr "" + #: src/Admin/AdminController.php:158 src/Admin/AdminController.php:921 #: src/Admin/AdminController.php:1234 src/Admin/AdminController.php:1357 #: src/Admin/DashboardWidgetController.php:125 @@ -670,10 +122,33 @@ msgstr "" msgid "Revoked" msgstr "" +#: src/Admin/AdminController.php:173 src/Admin/AdminController.php:213 +#: src/Admin/AdminController.php:249 src/Admin/AdminController.php:301 +#: src/Admin/AdminController.php:339 src/Admin/AdminController.php:369 +#: src/Admin/OrderLicenseController.php:355 +#: src/Admin/OrderLicenseController.php:394 +#: src/Admin/OrderLicenseController.php:458 +#: src/Admin/VersionAdminController.php:259 +#: src/Admin/VersionAdminController.php:328 +#: src/Admin/VersionAdminController.php:354 +msgid "Permission denied." +msgstr "" + +#: src/Admin/AdminController.php:195 src/Admin/AdminController.php:1019 +#: src/Admin/OrderLicenseController.php:195 +msgid "Unknown" +msgstr "" + #: src/Admin/AdminController.php:196 src/Admin/AdminController.php:1023 msgid "Guest" msgstr "" +#: src/Admin/AdminController.php:220 src/Admin/AdminController.php:256 +#: src/Admin/AdminController.php:308 src/Admin/AdminController.php:345 +#: src/Admin/OrderLicenseController.php:401 +msgid "Invalid license ID." +msgstr "" + #: src/Admin/AdminController.php:225 msgid "Invalid status." msgstr "" @@ -702,6 +177,10 @@ msgstr "" msgid "Invalid date format." msgstr "" +#: src/Admin/AdminController.php:312 src/Admin/OrderLicenseController.php:405 +msgid "Domain cannot be empty." +msgstr "" + #: src/Admin/AdminController.php:323 msgid "Domain updated successfully." msgstr "" @@ -722,6 +201,15 @@ msgstr "" msgid "License key and domain are required." msgstr "" +#: src/Admin/AdminController.php:455 src/Admin/AdminController.php:475 +#: src/Admin/AdminController.php:493 src/Admin/AdminController.php:511 +#: src/Admin/AdminController.php:531 src/Admin/AdminController.php:549 +#: src/Admin/AdminController.php:577 src/Admin/AdminController.php:621 +#: src/Admin/AdminController.php:811 src/Admin/SettingsController.php:454 +#: src/Frontend/AccountController.php:326 +msgid "Security check failed." +msgstr "" + #: src/Admin/AdminController.php:581 msgid "You do not have permission to export licenses." msgstr "" @@ -942,6 +430,18 @@ msgstr "" msgid "Bulk Actions" msgstr "" +#: src/Admin/AdminController.php:1273 src/Admin/AdminController.php:1458 +#: src/Admin/VersionAdminController.php:188 +#: src/Admin/VersionAdminController.php:419 +msgid "Activate" +msgstr "" + +#: src/Admin/AdminController.php:1274 src/Admin/AdminController.php:1459 +#: src/Admin/VersionAdminController.php:188 +#: src/Admin/VersionAdminController.php:419 +msgid "Deactivate" +msgstr "" + #: src/Admin/AdminController.php:1275 src/Admin/AdminController.php:1419 #: src/Admin/AdminController.php:1460 msgid "Revoke" @@ -959,20 +459,63 @@ msgstr "" msgid "Extend 1 year" msgstr "" +#: src/Admin/AdminController.php:1279 src/Admin/AdminController.php:1428 +#: src/Admin/AdminController.php:1464 src/Admin/VersionAdminController.php:191 +#: src/Admin/VersionAdminController.php:422 +msgid "Delete" +msgstr "" + #: src/Admin/AdminController.php:1281 src/Admin/AdminController.php:1466 msgid "Apply" msgstr "" +#: src/Admin/AdminController.php:1291 src/Admin/AdminController.php:1442 +#: src/Admin/AdminController.php:1491 src/Admin/OrderLicenseController.php:171 +#: src/Admin/SettingsController.php:142 +#: src/Email/LicenseEmailController.php:269 +msgid "License Key" +msgstr "" + +#: src/Admin/AdminController.php:1292 src/Admin/AdminController.php:1443 +#: src/Admin/AdminController.php:1608 src/Admin/OrderLicenseController.php:172 +#: src/Email/LicenseEmailController.php:268 +msgid "Product" +msgstr "" + #: src/Admin/AdminController.php:1293 src/Admin/AdminController.php:1444 #: src/Email/LicenseExpirationEmail.php:104 #: src/Email/LicenseExpiredEmail.php:96 msgid "Customer" msgstr "" +#: src/Admin/AdminController.php:1294 src/Admin/AdminController.php:1445 +#: src/Admin/AdminController.php:1495 src/Admin/OrderLicenseController.php:173 +msgid "Domain" +msgstr "" + +#: src/Admin/AdminController.php:1295 src/Admin/AdminController.php:1446 +#: src/Admin/OrderLicenseController.php:174 +#: src/Admin/VersionAdminController.php:140 +msgid "Status" +msgstr "" + #: src/Admin/AdminController.php:1296 src/Admin/AdminController.php:1447 msgid "Created" msgstr "" +#: src/Admin/AdminController.php:1297 src/Admin/AdminController.php:1448 +#: src/Admin/AdminController.php:1611 src/Admin/AdminController.php:1613 +#: src/Admin/OrderLicenseController.php:175 +#: src/Email/LicenseEmailController.php:270 +msgid "Expires" +msgstr "" + +#: src/Admin/AdminController.php:1298 src/Admin/AdminController.php:1449 +#: src/Admin/OrderLicenseController.php:176 +#: src/Admin/VersionAdminController.php:142 +msgid "Actions" +msgstr "" + #: src/Admin/AdminController.php:1304 msgid "No licenses found." msgstr "" @@ -1053,6 +596,11 @@ msgstr "" msgid "License is VALID" msgstr "" +#: src/Admin/AdminController.php:1609 src/Admin/VersionAdminController.php:81 +#: src/Admin/VersionAdminController.php:136 +msgid "Version" +msgstr "" + #: src/Admin/AdminController.php:1617 msgid "License is INVALID" msgstr "" @@ -1205,6 +753,459 @@ msgstr "" msgid "Top Versions" msgstr "" +#: src/Admin/OrderLicenseController.php:57 +msgid "Product Licenses" +msgstr "" + +#: src/Admin/OrderLicenseController.php:78 +#: src/Admin/OrderLicenseController.php:367 +#: src/Admin/OrderLicenseController.php:469 +msgid "Order not found." +msgstr "" + +#: src/Admin/OrderLicenseController.php:93 +msgid "This order does not contain licensed products." +msgstr "" + +#: src/Admin/OrderLicenseController.php:107 +msgid "Order Domain" +msgstr "" + +#: src/Admin/OrderLicenseController.php:109 +msgid "" +"The domain specified during checkout. Changing this will not automatically " +"update existing license domains." +msgstr "" + +#: src/Admin/OrderLicenseController.php:117 +#: src/Checkout/CheckoutBlocksIntegration.php:102 +#: src/Checkout/CheckoutController.php:89 +msgid "example.com" +msgstr "" + +#: src/Admin/OrderLicenseController.php:144 +msgid "No licenses have been generated for this order yet." +msgstr "" + +#: src/Admin/OrderLicenseController.php:147 +msgid "" +"Licenses should be generated automatically when an order is paid. If " +"missing, check that a domain was specified during checkout." +msgstr "" + +#: src/Admin/OrderLicenseController.php:150 +msgid "Licenses will be generated when the order is marked as paid/completed." +msgstr "" + +#: src/Admin/OrderLicenseController.php:156 +msgid "Generate Licenses" +msgstr "" + +#: src/Admin/OrderLicenseController.php:164 +msgid "Please set the order domain above before generating licenses." +msgstr "" + +#: src/Admin/OrderLicenseController.php:205 +msgid "Edit domain" +msgstr "" + +#: src/Admin/OrderLicenseController.php:235 +msgid "View in Licenses" +msgstr "" + +#: src/Admin/OrderLicenseController.php:248 +#, php-format +msgid "For more actions (revoke, extend, delete), go to the %s page." +msgstr "" + +#: src/Admin/OrderLicenseController.php:261 +#, php-format +msgid "%d licensed product is missing a license." +msgid_plural "%d licensed products are missing licenses." +msgstr[0] "" +msgstr[1] "" + +#: src/Admin/OrderLicenseController.php:270 +msgid "Generate Missing Licenses" +msgstr "" + +#: src/Admin/OrderLicenseController.php:339 +msgid "Saved!" +msgstr "" + +#: src/Admin/OrderLicenseController.php:340 +msgid "Error. Please try again." +msgstr "" + +#: src/Admin/OrderLicenseController.php:341 +#: src/Frontend/AccountController.php:314 +#: src/Frontend/AccountController.php:346 +msgid "Please enter a valid domain." +msgstr "" + +#: src/Admin/OrderLicenseController.php:342 +msgid "Generating..." +msgstr "" + +#: src/Admin/OrderLicenseController.php:362 +#: src/Admin/OrderLicenseController.php:464 +msgid "Invalid order ID." +msgstr "" + +#: src/Admin/OrderLicenseController.php:373 +#: src/Admin/OrderLicenseController.php:411 +msgid "Invalid domain format." +msgstr "" + +#: src/Admin/OrderLicenseController.php:381 +msgid "Order domain updated." +msgstr "" + +#: src/Admin/OrderLicenseController.php:417 +#: src/Frontend/AccountController.php:352 +#: src/Frontend/DownloadController.php:117 +msgid "License not found." +msgstr "" + +#: src/Admin/OrderLicenseController.php:425 +msgid "License domain updated." +msgstr "" + +#: src/Admin/OrderLicenseController.php:429 +msgid "Failed to update license domain." +msgstr "" + +#: src/Admin/OrderLicenseController.php:474 +msgid "Order must be paid before licenses can be generated." +msgstr "" + +#: src/Admin/OrderLicenseController.php:480 +msgid "Please set the order domain before generating licenses." +msgstr "" + +#: src/Admin/OrderLicenseController.php:521 +#, php-format +msgid "%d license generated successfully." +msgid_plural "%d licenses generated successfully." +msgstr[0] "" +msgstr[1] "" + +#: src/Admin/OrderLicenseController.php:534 +msgid "All licenses already exist for this order." +msgstr "" + +#: src/Admin/SettingsController.php:54 +msgid "Licensed Products" +msgstr "" + +#: src/Admin/SettingsController.php:64 src/Admin/SettingsController.php:128 +msgid "Plugin License" +msgstr "" + +#: src/Admin/SettingsController.php:65 +msgid "Default Settings" +msgstr "" + +#: src/Admin/SettingsController.php:66 +msgid "Notifications" +msgstr "" + +#: src/Admin/SettingsController.php:130 +msgid "" +"Configure the license for this plugin. A valid license is required for " +"frontend features to work." +msgstr "" + +#: src/Admin/SettingsController.php:134 +msgid "License Server URL" +msgstr "" + +#: src/Admin/SettingsController.php:136 +msgid "The URL of the license server (e.g., https://shop.example.com)." +msgstr "" + +#: src/Admin/SettingsController.php:144 +msgid "Your license key in XXXX-XXXX-XXXX-XXXX format." +msgstr "" + +#: src/Admin/SettingsController.php:150 +msgid "Server Secret (Optional)" +msgstr "" + +#: src/Admin/SettingsController.php:152 +msgid "" +"If the license server uses signed responses, enter the shared secret here " +"for enhanced security." +msgstr "" + +#: src/Admin/SettingsController.php:170 +msgid "Default License Settings" +msgstr "" + +#: src/Admin/SettingsController.php:172 +msgid "" +"These settings serve as defaults for new licensed products. Individual " +"product settings override these defaults." +msgstr "" + +#: src/Admin/SettingsController.php:176 +msgid "Default Max Activations" +msgstr "" + +#: src/Admin/SettingsController.php:178 +msgid "Default maximum number of domain activations per license." +msgstr "" + +#: src/Admin/SettingsController.php:187 +msgid "Default License Validity (Days)" +msgstr "" + +#: src/Admin/SettingsController.php:189 +msgid "" +"Default number of days a license is valid. Leave empty or set to 0 for " +"lifetime licenses." +msgstr "" + +#: src/Admin/SettingsController.php:199 +msgid "Default Bind to Major Version" +msgstr "" + +#: src/Admin/SettingsController.php:201 +msgid "" +"If enabled, licenses are bound to the major version at purchase time by " +"default." +msgstr "" + +#: src/Admin/SettingsController.php:219 +msgid "Expiration Warning Schedule" +msgstr "" + +#: src/Admin/SettingsController.php:223 +#, php-format +msgid "" +"Configure when expiration warning emails are sent. To customize the email " +"template, enable/disable, or change the subject, go to %s." +msgstr "" + +#: src/Admin/SettingsController.php:225 +msgid "WooCommerce > Settings > Emails > License Expiration Warning" +msgstr "" + +#: src/Admin/SettingsController.php:230 +msgid "First Warning (Days Before)" +msgstr "" + +#: src/Admin/SettingsController.php:232 +msgid "Days before expiration to send the first warning email." +msgstr "" + +#: src/Admin/SettingsController.php:241 +msgid "Second Warning (Days Before)" +msgstr "" + +#: src/Admin/SettingsController.php:243 +msgid "" +"Days before expiration to send the second warning email. Set to 0 to disable." +msgstr "" + +#: src/Admin/SettingsController.php:283 +msgid "Running on localhost - license validation bypassed." +msgstr "" + +#: src/Admin/SettingsController.php:291 +msgid "License is valid and active." +msgstr "" + +#: src/Admin/SettingsController.php:297 +msgid "License is not valid. Frontend features are disabled." +msgstr "" + +#: src/Admin/SettingsController.php:308 src/Admin/SettingsController.php:344 +msgid "Verify License" +msgstr "" + +#: src/Admin/SettingsController.php:322 +msgid "Verifying..." +msgstr "" + +#: src/Admin/SettingsController.php:341 +msgid "Request failed." +msgstr "" + +#: src/Admin/SettingsController.php:458 +msgid "Insufficient permissions." +msgstr "" + +#: src/Admin/SettingsController.php:467 +msgid "License verified successfully!" +msgstr "" + +#: src/Admin/SettingsController.php:469 +msgid "License validation failed." +msgstr "" + +#: src/Admin/VersionAdminController.php:58 +msgid "Product Versions" +msgstr "" + +#: src/Admin/VersionAdminController.php:78 +msgid "Add New Version" +msgstr "" + +#: src/Admin/VersionAdminController.php:84 +msgid "Use semantic versioning (e.g., 1.0.0)" +msgstr "" + +#: src/Admin/VersionAdminController.php:88 +#: src/Admin/VersionAdminController.php:137 +msgid "Download File" +msgstr "" + +#: src/Admin/VersionAdminController.php:93 +msgid "Select File" +msgstr "" + +#: src/Admin/VersionAdminController.php:96 +#: src/Admin/VersionAdminController.php:110 +msgid "Remove" +msgstr "" + +#: src/Admin/VersionAdminController.php:98 +msgid "" +"Upload or select a file from the media library. Version will be auto-" +"detected from filename (e.g., plugin-v1.2.3.zip)." +msgstr "" + +#: src/Admin/VersionAdminController.php:102 +msgid "Checksum File" +msgstr "" + +#: src/Admin/VersionAdminController.php:107 +msgid "Select Checksum File" +msgstr "" + +#: src/Admin/VersionAdminController.php:112 +msgid "" +"Upload a SHA256 checksum file (.sha256 or .txt) to verify file integrity." +msgstr "" + +#: src/Admin/VersionAdminController.php:116 +#: src/Admin/VersionAdminController.php:139 +msgid "Release Notes" +msgstr "" + +#: src/Admin/VersionAdminController.php:124 +msgid "Add Version" +msgstr "" + +#: src/Admin/VersionAdminController.php:132 +msgid "Existing Versions" +msgstr "" + +#: src/Admin/VersionAdminController.php:138 +msgid "SHA256" +msgstr "" + +#: src/Admin/VersionAdminController.php:141 +msgid "Released" +msgstr "" + +#: src/Admin/VersionAdminController.php:148 +msgid "No versions found. Add your first version above." +msgstr "" + +#: src/Admin/VersionAdminController.php:165 +#: src/Admin/VersionAdminController.php:396 +msgid "Uploaded file" +msgstr "" + +#: src/Admin/VersionAdminController.php:169 +#: src/Admin/VersionAdminController.php:400 +msgid "No download file" +msgstr "" + +#: src/Admin/VersionAdminController.php:232 +msgid "Are you sure you want to delete this version?" +msgstr "" + +#: src/Admin/VersionAdminController.php:233 +msgid "Please enter a version number." +msgstr "" + +#: src/Admin/VersionAdminController.php:234 +msgid "Please enter a valid version number (e.g., 1.0.0)." +msgstr "" + +#: src/Admin/VersionAdminController.php:235 +msgid "An error occurred. Please try again." +msgstr "" + +#: src/Admin/VersionAdminController.php:236 +msgid "Select Download File" +msgstr "" + +#: src/Admin/VersionAdminController.php:237 +msgid "Use this file" +msgstr "" + +#: src/Admin/VersionAdminController.php:238 +msgid "" +"Invalid checksum file format. File must contain a 64-character SHA256 hash." +msgstr "" + +#: src/Admin/VersionAdminController.php:239 +msgid "Failed to read checksum file." +msgstr "" + +#: src/Admin/VersionAdminController.php:269 +msgid "Product ID and version are required." +msgstr "" + +#: src/Admin/VersionAdminController.php:274 +msgid "Invalid version format. Use semantic versioning (e.g., 1.0.0)." +msgstr "" + +#: src/Admin/VersionAdminController.php:279 +msgid "This version already exists." +msgstr "" + +#: src/Admin/VersionAdminController.php:285 +msgid "Product not found." +msgstr "" + +#: src/Admin/VersionAdminController.php:289 +msgid "This product is not a licensed product." +msgstr "" + +#: src/Admin/VersionAdminController.php:306 +msgid "Failed to create version." +msgstr "" + +#: src/Admin/VersionAdminController.php:314 +msgid "Version added successfully." +msgstr "" + +#: src/Admin/VersionAdminController.php:334 +#: src/Admin/VersionAdminController.php:361 +msgid "Version ID is required." +msgstr "" + +#: src/Admin/VersionAdminController.php:340 +msgid "Failed to delete version." +msgstr "" + +#: src/Admin/VersionAdminController.php:343 +msgid "Version deleted successfully." +msgstr "" + +#: src/Admin/VersionAdminController.php:367 +msgid "Failed to update version." +msgstr "" + +#: src/Admin/VersionAdminController.php:371 +msgid "Version updated successfully." +msgstr "" + #: src/Api/RestApiController.php:84 msgid "Too many requests. Please try again later." msgstr "" @@ -1234,26 +1235,30 @@ msgstr "" msgid "License activated successfully." msgstr "" -#: src/Checkout/CheckoutController.php:78 +#: src/Checkout/CheckoutBlocksIntegration.php:101 +#: src/Checkout/CheckoutController.php:81 +msgid "Domain for License Activation" +msgstr "" + +#: src/Checkout/CheckoutBlocksIntegration.php:103 +#: src/Checkout/CheckoutController.php:93 +msgid "" +"Enter the domain where you will use this license (without http:// or www)." +msgstr "" + #: src/Checkout/CheckoutBlocksIntegration.php:104 +#: src/Checkout/CheckoutController.php:78 msgid "License Domain" msgstr "" -#: src/Checkout/CheckoutController.php:81 -#: src/Checkout/CheckoutBlocksIntegration.php:101 -msgid "Domain for License Activation" +#: src/Checkout/CheckoutBlocksIntegration.php:105 +msgid "Please enter a valid domain for your license activation." msgstr "" #: src/Checkout/CheckoutController.php:82 msgid "required" msgstr "" -#: src/Checkout/CheckoutController.php:93 -#: src/Checkout/CheckoutBlocksIntegration.php:103 -msgid "" -"Enter the domain where you will use this license (without http:// or www)." -msgstr "" - #: src/Checkout/CheckoutController.php:115 msgid "Please enter a domain for your license activation." msgstr "" @@ -1268,115 +1273,212 @@ msgstr "" msgid "License Domain:" msgstr "" -#: src/Checkout/CheckoutBlocksIntegration.php:105 -msgid "Please enter a valid domain for your license activation." -msgstr "" - #: src/Checkout/StoreApiExtension.php:85 msgid "Domain for license activation" msgstr "" -#: src/License/PluginLicenseChecker.php:117 -msgid "License settings not configured." +#: src/Email/LicenseEmailController.php:212 +#: src/Email/LicenseEmailController.php:216 +#: src/Email/LicenseEmailController.php:320 +#: src/Email/LicenseExpirationEmail.php:207 +#: src/Email/LicenseExpirationEmail.php:270 +#: src/Email/LicenseExpiredEmail.php:191 src/Email/LicenseExpiredEmail.php:256 +#: src/Frontend/AccountController.php:190 +msgid "License Key:" msgstr "" -#: src/License/PluginLicenseChecker.php:153 -msgid "Could not connect to license server." +#: src/Email/LicenseEmailController.php:256 +msgid "Your License Keys" msgstr "" -#: src/License/LicenseManager.php:366 -msgid "This license has been revoked." +#: src/Email/LicenseEmailController.php:260 +#: src/Email/LicenseEmailController.php:315 +msgid "Licensed Domain:" msgstr "" -#: src/License/LicenseManager.php:376 -msgid "This license has expired." +#: src/Email/LicenseEmailController.php:287 +#: src/Email/LicenseEmailController.php:326 +#: src/Frontend/AccountController.php:218 +msgid "Never" msgstr "" -#: src/License/LicenseManager.php:384 -msgid "This license is inactive." +#: src/Email/LicenseEmailController.php:296 +#: src/Email/LicenseEmailController.php:330 +msgid "You can also view your licenses in your account under \"Licenses\"." msgstr "" -#: src/License/LicenseManager.php:394 -msgid "This license is not valid for this domain." +#: src/Email/LicenseEmailController.php:311 +msgid "YOUR LICENSE KEYS" +msgstr "" + +#: src/Email/LicenseEmailController.php:323 +#: src/Email/LicenseExpirationEmail.php:219 +#: src/Email/LicenseExpirationEmail.php:272 +#: src/Frontend/AccountController.php:213 +msgid "Expires:" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:55 +msgid "License Expiration Warning" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:56 +msgid "" +"License expiration warning emails are sent to customers when their licenses " +"are about to expire." +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:74 +msgid "" +"[{site_title}] Your license for {product_name} expires in {days_remaining} " +"days" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:82 +msgid "License Expiration Notice" msgstr "" -#: src/License/LicenseManager.php:760 src/Product/VersionManager.php:349 -#: src/Product/VersionManager.php:361 src/Frontend/AccountController.php:140 #: src/Email/LicenseExpirationEmail.php:107 -#: src/Email/LicenseExpiredEmail.php:99 +#: src/Email/LicenseExpiredEmail.php:99 src/Frontend/AccountController.php:140 +#: src/License/LicenseManager.php:760 src/Product/VersionManager.php:349 +#: src/Product/VersionManager.php:361 msgid "Unknown Product" msgstr "" -#: src/Product/LicensedProductType.php:61 -msgid "Licensed Product" -msgstr "" - -#: src/Product/LicensedProductType.php:82 -msgid "License Settings" -msgstr "" - -#: src/Product/LicensedProductType.php:109 +#: src/Email/LicenseExpirationEmail.php:176 +#: src/Email/LicenseExpirationEmail.php:246 +#: src/Email/LicenseExpiredEmail.php:167 src/Email/LicenseExpiredEmail.php:238 #, php-format -msgid "%d days" +msgid "Hello %s," msgstr "" -#: src/Product/LicensedProductType.php:119 +#: src/Email/LicenseExpirationEmail.php:181 +#: src/Email/LicenseExpirationEmail.php:251 #, php-format -msgid "Leave fields empty to use default settings from %s." +msgid "Your license for %s will expire tomorrow (%s)." msgstr "" -#: src/Product/LicensedProductType.php:121 -msgid "WooCommerce > Settings > Licensed Products" -msgstr "" - -#: src/Product/LicensedProductType.php:128 -msgid "Max Activations" -msgstr "" - -#: src/Product/LicensedProductType.php:131 +#: src/Email/LicenseExpirationEmail.php:189 +#: src/Email/LicenseExpirationEmail.php:257 #, php-format -msgid "Maximum number of domain activations per license. Default: %d" +msgid "Your license for %1$s will expire in %2$d days (%3$s)." msgstr "" -#: src/Product/LicensedProductType.php:146 -msgid "License Validity (Days)" +#: src/Email/LicenseExpirationEmail.php:197 +#: src/Email/LicenseExpirationEmail.php:266 +msgid "License Details" msgstr "" -#: src/Product/LicensedProductType.php:149 -#, php-format -msgid "Number of days the license is valid. Leave empty for default (%s)." +#: src/Email/LicenseExpirationEmail.php:203 +#: src/Email/LicenseExpirationEmail.php:269 +#: src/Email/LicenseExpiredEmail.php:187 src/Email/LicenseExpiredEmail.php:255 +msgid "Product:" msgstr "" -#: src/Product/LicensedProductType.php:164 -msgid "Bind to Major Version" +#: src/Email/LicenseExpirationEmail.php:215 +#: src/Email/LicenseExpirationEmail.php:271 +#: src/Email/LicenseExpiredEmail.php:199 src/Email/LicenseExpiredEmail.php:257 +#: src/Frontend/AccountController.php:201 +msgid "Domain:" msgstr "" -#: src/Product/LicensedProductType.php:167 -#, php-format +#: src/Email/LicenseExpirationEmail.php:235 +#: src/Email/LicenseExpirationEmail.php:281 +#: src/Email/LicenseExpiredEmail.php:227 src/Email/LicenseExpiredEmail.php:268 +msgid "View My Licenses" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:291 msgid "" -"If enabled, licenses are bound to the major version at purchase time. " -"Default: %s" +"To continue using this product, please renew your license before the " +"expiration date." msgstr "" -#: src/Product/LicensedProductType.php:168 -msgid "Yes" -msgstr "" - -#: src/Product/LicensedProductType.php:168 -msgid "No" -msgstr "" - -#: src/Product/LicensedProductType.php:288 -msgid "Version:" -msgstr "" - -#: src/Product/VersionManager.php:166 -msgid "Attachment file not found." -msgstr "" - -#: src/Product/VersionManager.php:177 +#: src/Email/LicenseExpirationEmail.php:301 +#: src/Email/LicenseExpiredEmail.php:288 #, php-format -msgid "File checksum does not match. Expected: %1$s, Got: %2$s" +msgid "Available placeholders: %s" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:307 +#: src/Email/LicenseExpiredEmail.php:294 +msgid "Enable/Disable" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:309 +#: src/Email/LicenseExpiredEmail.php:296 +msgid "Enable this email notification" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:313 +#: src/Email/LicenseExpiredEmail.php:300 +msgid "Subject" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:321 +#: src/Email/LicenseExpiredEmail.php:308 +msgid "Email heading" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:329 +#: src/Email/LicenseExpiredEmail.php:316 +msgid "Additional content" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:330 +#: src/Email/LicenseExpiredEmail.php:317 +msgid "Text to appear below the main email content." +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:338 +#: src/Email/LicenseExpiredEmail.php:325 +msgid "Email type" +msgstr "" + +#: src/Email/LicenseExpirationEmail.php:340 +#: src/Email/LicenseExpiredEmail.php:327 +msgid "Choose which format of email to send." +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:50 src/Email/LicenseExpiredEmail.php:76 +msgid "License Expired" +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:51 +msgid "" +"License expired emails are sent to customers when their licenses have " +"expired." +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:68 +msgid "[{site_title}] Your license for {product_name} has expired" +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:171 src/Email/LicenseExpiredEmail.php:242 +#, php-format +msgid "Your license for %1$s has expired on %2$s." +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:178 src/Email/LicenseExpiredEmail.php:248 +msgid "" +"Your license is no longer valid and the product will stop working until you " +"renew." +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:181 src/Email/LicenseExpiredEmail.php:252 +msgid "Expired License Details" +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:203 src/Email/LicenseExpiredEmail.php:258 +msgid "Expired on:" +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:207 src/Email/LicenseExpiredEmail.php:259 +msgid "Status:" +msgstr "" + +#: src/Email/LicenseExpiredEmail.php:278 +msgid "To continue using this product, please renew your license." msgstr "" #: src/Frontend/AccountController.php:104 @@ -1387,36 +1489,6 @@ msgstr "" msgid "You have no licenses yet." msgstr "" -#: src/Frontend/AccountController.php:190 -#: src/Email/LicenseExpirationEmail.php:207 -#: src/Email/LicenseExpirationEmail.php:270 -#: src/Email/LicenseEmailController.php:212 -#: src/Email/LicenseEmailController.php:216 -#: src/Email/LicenseEmailController.php:320 -#: src/Email/LicenseExpiredEmail.php:191 src/Email/LicenseExpiredEmail.php:256 -msgid "License Key:" -msgstr "" - -#: src/Frontend/AccountController.php:201 -#: src/Email/LicenseExpirationEmail.php:215 -#: src/Email/LicenseExpirationEmail.php:271 -#: src/Email/LicenseExpiredEmail.php:199 src/Email/LicenseExpiredEmail.php:257 -msgid "Domain:" -msgstr "" - -#: src/Frontend/AccountController.php:213 -#: src/Email/LicenseExpirationEmail.php:219 -#: src/Email/LicenseExpirationEmail.php:272 -#: src/Email/LicenseEmailController.php:323 -msgid "Expires:" -msgstr "" - -#: src/Frontend/AccountController.php:218 -#: src/Email/LicenseEmailController.php:287 -#: src/Email/LicenseEmailController.php:326 -msgid "Never" -msgstr "" - #: src/Frontend/AccountController.php:226 msgid "Available Downloads" msgstr "" @@ -1520,171 +1592,28 @@ msgstr "" msgid "Download file not found." msgstr "" -#: src/Email/LicenseExpirationEmail.php:55 -msgid "License Expiration Warning" +#: src/License/LicenseManager.php:366 +msgid "This license has been revoked." msgstr "" -#: src/Email/LicenseExpirationEmail.php:56 -msgid "" -"License expiration warning emails are sent to customers when their licenses " -"are about to expire." +#: src/License/LicenseManager.php:376 +msgid "This license has expired." msgstr "" -#: src/Email/LicenseExpirationEmail.php:74 -msgid "" -"[{site_title}] Your license for {product_name} expires in {days_remaining} " -"days" +#: src/License/LicenseManager.php:384 +msgid "This license is inactive." msgstr "" -#: src/Email/LicenseExpirationEmail.php:82 -msgid "License Expiration Notice" +#: src/License/LicenseManager.php:394 +msgid "This license is not valid for this domain." msgstr "" -#: src/Email/LicenseExpirationEmail.php:176 -#: src/Email/LicenseExpirationEmail.php:246 -#: src/Email/LicenseExpiredEmail.php:167 src/Email/LicenseExpiredEmail.php:238 -#, php-format -msgid "Hello %s," +#: src/License/PluginLicenseChecker.php:132 +msgid "License settings not configured." msgstr "" -#: src/Email/LicenseExpirationEmail.php:181 -#: src/Email/LicenseExpirationEmail.php:251 -#, php-format -msgid "Your license for %s will expire tomorrow (%s)." -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:189 -#: src/Email/LicenseExpirationEmail.php:257 -#, php-format -msgid "Your license for %1$s will expire in %2$d days (%3$s)." -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:197 -#: src/Email/LicenseExpirationEmail.php:266 -msgid "License Details" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:203 -#: src/Email/LicenseExpirationEmail.php:269 -#: src/Email/LicenseExpiredEmail.php:187 src/Email/LicenseExpiredEmail.php:255 -msgid "Product:" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:235 -#: src/Email/LicenseExpirationEmail.php:281 -#: src/Email/LicenseExpiredEmail.php:227 src/Email/LicenseExpiredEmail.php:268 -msgid "View My Licenses" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:291 -msgid "" -"To continue using this product, please renew your license before the " -"expiration date." -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:301 -#: src/Email/LicenseExpiredEmail.php:288 -#, php-format -msgid "Available placeholders: %s" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:307 -#: src/Email/LicenseExpiredEmail.php:294 -msgid "Enable/Disable" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:309 -#: src/Email/LicenseExpiredEmail.php:296 -msgid "Enable this email notification" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:313 -#: src/Email/LicenseExpiredEmail.php:300 -msgid "Subject" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:321 -#: src/Email/LicenseExpiredEmail.php:308 -msgid "Email heading" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:329 -#: src/Email/LicenseExpiredEmail.php:316 -msgid "Additional content" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:330 -#: src/Email/LicenseExpiredEmail.php:317 -msgid "Text to appear below the main email content." -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:338 -#: src/Email/LicenseExpiredEmail.php:325 -msgid "Email type" -msgstr "" - -#: src/Email/LicenseExpirationEmail.php:340 -#: src/Email/LicenseExpiredEmail.php:327 -msgid "Choose which format of email to send." -msgstr "" - -#: src/Email/LicenseEmailController.php:256 -msgid "Your License Keys" -msgstr "" - -#: src/Email/LicenseEmailController.php:260 -#: src/Email/LicenseEmailController.php:315 -msgid "Licensed Domain:" -msgstr "" - -#: src/Email/LicenseEmailController.php:296 -#: src/Email/LicenseEmailController.php:330 -msgid "You can also view your licenses in your account under \"Licenses\"." -msgstr "" - -#: src/Email/LicenseEmailController.php:311 -msgid "YOUR LICENSE KEYS" -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:50 src/Email/LicenseExpiredEmail.php:76 -msgid "License Expired" -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:51 -msgid "" -"License expired emails are sent to customers when their licenses have " -"expired." -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:68 -msgid "[{site_title}] Your license for {product_name} has expired" -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:171 src/Email/LicenseExpiredEmail.php:242 -#, php-format -msgid "Your license for %1$s has expired on %2$s." -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:178 src/Email/LicenseExpiredEmail.php:248 -msgid "" -"Your license is no longer valid and the product will stop working until you " -"renew." -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:181 src/Email/LicenseExpiredEmail.php:252 -msgid "Expired License Details" -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:203 src/Email/LicenseExpiredEmail.php:258 -msgid "Expired on:" -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:207 src/Email/LicenseExpiredEmail.php:259 -msgid "Status:" -msgstr "" - -#: src/Email/LicenseExpiredEmail.php:278 -msgid "To continue using this product, please renew your license." +#: src/License/PluginLicenseChecker.php:168 +msgid "Could not connect to license server." msgstr "" #: src/Plugin.php:260 @@ -1700,6 +1629,78 @@ msgstr "" msgid "Configure License" msgstr "" +#: src/Product/LicensedProductType.php:61 +msgid "Licensed Product" +msgstr "" + +#: src/Product/LicensedProductType.php:82 +msgid "License Settings" +msgstr "" + +#: src/Product/LicensedProductType.php:109 +#, php-format +msgid "%d days" +msgstr "" + +#: src/Product/LicensedProductType.php:119 +#, php-format +msgid "Leave fields empty to use default settings from %s." +msgstr "" + +#: src/Product/LicensedProductType.php:121 +msgid "WooCommerce > Settings > Licensed Products" +msgstr "" + +#: src/Product/LicensedProductType.php:128 +msgid "Max Activations" +msgstr "" + +#: src/Product/LicensedProductType.php:131 +#, php-format +msgid "Maximum number of domain activations per license. Default: %d" +msgstr "" + +#: src/Product/LicensedProductType.php:146 +msgid "License Validity (Days)" +msgstr "" + +#: src/Product/LicensedProductType.php:149 +#, php-format +msgid "Number of days the license is valid. Leave empty for default (%s)." +msgstr "" + +#: src/Product/LicensedProductType.php:164 +msgid "Bind to Major Version" +msgstr "" + +#: src/Product/LicensedProductType.php:167 +#, php-format +msgid "" +"If enabled, licenses are bound to the major version at purchase time. " +"Default: %s" +msgstr "" + +#: src/Product/LicensedProductType.php:168 +msgid "Yes" +msgstr "" + +#: src/Product/LicensedProductType.php:168 +msgid "No" +msgstr "" + +#: src/Product/LicensedProductType.php:288 +msgid "Version:" +msgstr "" + +#: src/Product/VersionManager.php:166 +msgid "Attachment file not found." +msgstr "" + +#: src/Product/VersionManager.php:177 +#, php-format +msgid "File checksum does not match. Expected: %1$s, Got: %2$s" +msgstr "" + #: wc-licensed-product.php:61 #, php-format msgid "%s requires WooCommerce to be installed and active." diff --git a/src/License/PluginLicenseChecker.php b/src/License/PluginLicenseChecker.php index 0193f4f..ee5bc3d 100644 --- a/src/License/PluginLicenseChecker.php +++ b/src/License/PluginLicenseChecker.php @@ -52,6 +52,11 @@ final class PluginLicenseChecker */ private ?bool $isLocalhostCached = null; + /** + * Cached self-licensing check result + */ + private ?bool $isSelfLicensingCached = null; + /** * Get singleton instance */ @@ -84,6 +89,11 @@ final class PluginLicenseChecker return true; } + // Always valid when self-licensing (server URL points to this installation) + if ($this->isSelfLicensing()) { + return true; + } + // Check cache first $cached = get_transient(self::CACHE_KEY); if ($cached !== false) { @@ -107,6 +117,11 @@ final class PluginLicenseChecker return true; } + // Always valid when self-licensing (server URL points to this installation) + if ($this->isSelfLicensing()) { + return true; + } + // Check settings are configured $serverUrl = $this->getLicenseServerUrl(); $licenseKey = $this->getLicenseKey(); @@ -176,6 +191,7 @@ final class PluginLicenseChecker delete_transient(self::CACHE_KEY); delete_transient(self::ERROR_CACHE_KEY); $this->isLocalhostCached = null; + $this->isSelfLicensingCached = null; } /** @@ -215,6 +231,60 @@ final class PluginLicenseChecker return false; } + /** + * Check if self-licensing (license server URL points to this installation) + * + * Prevents circular dependency where plugin tries to validate against itself. + * Plugins can only be validated against the original store from which they were obtained. + */ + public function isSelfLicensing(): bool + { + if ($this->isSelfLicensingCached !== null) { + return $this->isSelfLicensingCached; + } + + $serverUrl = $this->getLicenseServerUrl(); + + // No server URL configured - not self-licensing + if (empty($serverUrl)) { + $this->isSelfLicensingCached = false; + return false; + } + + // Parse both URLs to compare domains + $serverParsed = parse_url($serverUrl); + $siteUrl = get_site_url(); + $siteParsed = parse_url($siteUrl); + + // Get normalized domains (lowercase, no www prefix) + $serverDomain = $this->normalizeDomain($serverParsed['host'] ?? ''); + $siteDomain = $this->normalizeDomain($siteParsed['host'] ?? ''); + + // If domains match, this is self-licensing + if ($serverDomain === $siteDomain) { + $this->isSelfLicensingCached = true; + return true; + } + + $this->isSelfLicensingCached = false; + return false; + } + + /** + * Normalize a domain for comparison (lowercase, strip www) + */ + private function normalizeDomain(string $domain): string + { + $domain = strtolower(trim($domain)); + + // Strip www. prefix + if (str_starts_with($domain, 'www.')) { + $domain = substr($domain, 4); + } + + return $domain; + } + /** * Get the current domain from the site URL */