Add custom page template for composable products, bump to v1.3.2
All checks were successful
Create Release Package / PHP Lint (push) Successful in 48s
Create Release Package / PHP CodeSniffer (push) Successful in 1m0s
Create Release Package / PHP Unit (push) Successful in 59s
Create Release Package / build-release (push) Successful in 1m4s

- Custom WooCommerce template with compact header + full-width selector
- Twig layout template (single-product-composable.html.twig) + PHP loader
- Body class 'single-product-composable' for CSS scoping
- Renamed *.twig to *.html.twig (proper naming convention)
- Refreshed .pot with accurate file refs, merged all .po files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-01 14:08:44 +01:00
parent 8877ce976a
commit 3ac1e0d6f7
15 changed files with 2145 additions and 1568 deletions

View File

@@ -4,8 +4,9 @@
msgid ""
msgstr ""
"Project-Id-Version: WooCommerce Composable Products 1.0.0\n"
"Report-Msgid-Bugs-To: https://github.com/magdev/wc-composable-product/issues\n"
"POT-Creation-Date: 2024-12-31 00:00+0000\n"
"Report-Msgid-Bugs-To: https://github.com/magdev/wc-composable-product/"
"issues\n"
"POT-Creation-Date: 2026-03-01 13:47+0100\n"
"PO-Revision-Date: 2024-12-31 00:00+0000\n"
"Last-Translator: Claude AI\n"
"Language-Team: German (Switzerland)\n"
@@ -15,250 +16,300 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: wc-composable-product.php
msgid "WooCommerce Composable Products requires WooCommerce to be installed and active."
msgstr "WooCommerce Composable Products erfordert eine installierte und aktive WooCommerce-Installation."
#: wc-composable-product.php:44
msgid ""
"WooCommerce Composable Products requires WooCommerce to be installed and "
"active."
msgstr ""
"WooCommerce Composable Products erfordert eine installierte und aktive "
"WooCommerce-Installation."
#: wc-composable-product.php
#: wc-composable-product.php:90
msgid "This plugin requires WooCommerce to be installed and active."
msgstr "Dieses Plugin erfordert eine installierte und aktive WooCommerce-Installation."
msgstr ""
"Dieses Plugin erfordert eine installierte und aktive WooCommerce-"
"Installation."
#: wc-composable-product.php
#: wc-composable-product.php:91
msgid "Plugin Activation Error"
msgstr "Plugin-Aktivierungsfehler"
#: includes/Admin/Settings.php
msgid "Composable Products"
msgstr "Zusammenstellbare Produkte"
#: includes/Admin/Settings.php
msgid "Composable Products Settings"
msgstr "Einstellungen für zusammenstellbare Produkte"
#: includes/Admin/Settings.php
msgid "Configure default settings for composable products."
msgstr "Konfiguriere die Standardeinstellungen für zusammenstellbare Produkte."
#: includes/Admin/Settings.php
msgid "Default Selection Limit"
msgstr "Standard-Auswahllimit"
#: includes/Admin/Settings.php
msgid "Default number of items customers can select."
msgstr "Standardanzahl der Artikel, die Kunden auswählen können (z.B. 5 Sticker für CHF 50.-)."
#: includes/Admin/Settings.php
msgid "Default Pricing Mode"
msgstr "Standard-Preismodus"
#: includes/Admin/Settings.php
msgid "How to calculate the price of composable products."
msgstr "Wie der Preis für zusammenstellbare Produkte berechnet wird (z.B. Festpreis CHF 50.- oder Summe)."
#: includes/Admin/Settings.php
msgid "Sum of selected products"
msgstr "Summe der ausgewählten Produkte"
#: includes/Admin/Settings.php
msgid "Fixed price"
msgstr "Festpreis"
#: includes/Admin/Settings.php
msgid "Show Product Images"
msgstr "Produktbilder anzeigen"
#: includes/Admin/Settings.php
msgid "Display product images in the selection interface."
msgstr "Produktbilder in der Auswahlschnittstelle anzeigen."
#: includes/Admin/Settings.php
msgid "Show Product Prices"
msgstr "Produktpreise anzeigen"
#: includes/Admin/Settings.php
msgid "Display individual product prices in the selection interface."
msgstr "Einzelne Produktpreise in der Auswahlschnittstelle anzeigen."
#: includes/Admin/Settings.php
msgid "Show Total Price"
msgstr "Gesamtpreis anzeigen"
#: includes/Admin/Settings.php
msgid "Display the total price as customers make selections."
msgstr "Den Gesamtpreis anzeigen, während Kunden Auswahlen treffen."
#: includes/Plugin.php
msgid "Composable product"
msgstr "Zusammenstellbares Produkt"
#: includes/ProductSelector.php, templates/product-selector.twig
msgid "Select Your Products"
msgstr "Wähle deine Produkte"
#: templates/product-selector.twig
msgid "Choose up to"
msgstr "Wähle bis zu"
#: templates/product-selector.twig
msgid "items from the selection below."
msgstr "Artikel aus der untenstehenden Auswahl."
#: templates/product-selector.twig
msgid "Total Price:"
msgstr "Gesamtpreis:"
#: templates/product-selector.twig
msgid "Add to Cart"
msgstr "In den Warenkorb"
#: includes/CartHandler.php
msgid "Please select at least one product."
msgstr "Bitte wähle mindestens ein Produkt aus."
#: includes/CartHandler.php
msgid "You can select a maximum of %d products."
msgstr "Du kannst maximal %d Produkte auswählen."
#: includes/CartHandler.php
msgid "One or more selected products are not available."
msgstr "Ein oder mehrere ausgewählte Produkte sind nicht verfügbar."
#: includes/CartHandler.php
msgid "Selected Products"
msgstr "Ausgewählte Produkte"
#: includes/Admin/ProductData.php
msgid "Composable Options"
msgstr "Zusammenstellungsoptionen"
#: includes/Admin/ProductData.php
msgid "Selection Limit"
msgstr "Auswahllimit"
#: includes/Admin/ProductData.php
msgid "Maximum number of items customers can select. Leave empty to use global default."
msgstr "Maximale Anzahl der Artikel, die Kunden auswählen können. Leer lassen, um den globalen Standard zu verwenden."
#: includes/Admin/ProductData.php
msgid "Pricing Mode"
msgstr "Preismodus"
#: includes/Admin/ProductData.php
msgid "How to calculate the price."
msgstr "Wie der Preis berechnet wird."
#: includes/Admin/ProductData.php
msgid "Fixed Price"
msgstr "Festpreis"
#: includes/Admin/ProductData.php
msgid "Enter the fixed price for this composable product."
msgstr "Gib den Festpreis für dieses zusammenstellbare Produkt ein."
#: includes/Admin/ProductData.php
msgid "Use global default"
msgstr "Globalen Standard verwenden"
#: includes/Admin/ProductData.php
msgid "Selection Criteria"
msgstr "Auswahlkriterien"
#: includes/Admin/ProductData.php
msgid "How to select available products."
msgstr "Wie verfügbare Produkte ausgewählt werden."
#: includes/Admin/ProductData.php
msgid "By Category"
msgstr "Nach Kategorie"
#: includes/Admin/ProductData.php
msgid "By Tag"
msgstr "Nach Schlagwort"
#: includes/Admin/ProductData.php
msgid "By SKU"
msgstr "Nach Artikelnummer"
#: includes/Admin/ProductData.php
msgid "Select Categories"
msgstr "Kategorien auswählen"
#: includes/Admin/ProductData.php
msgid "Select product categories to include."
msgstr "Produktkategorien auswählen, die einbezogen werden sollen."
#: includes/Admin/ProductData.php
msgid "Select Tags"
msgstr "Schlagwörter auswählen"
#: includes/Admin/ProductData.php
msgid "Select product tags to include."
msgstr "Produkt-Schlagwörter auswählen, die einbezogen werden sollen."
#: includes/Admin/ProductData.php
msgid "Product SKUs"
msgstr "Produkt-Artikelnummern"
#: includes/Admin/ProductData.php
msgid "Enter product SKUs separated by commas."
msgstr "Gib Produkt-Artikelnummern durch Kommas getrennt ein."
#: includes/Admin/ProductData.php
msgid "SKU-1, SKU-2, SKU-3"
msgstr "ART-1, ART-2, ART-3"
#: includes/StockManager.php
#. translators: %s: product name
#: includes/StockManager.php:60
#, php-format
msgid "\"%s\" is out of stock and cannot be selected."
msgstr "\"%s\" ist nicht an Lager und kann nicht ausgewählt werden."
#: includes/StockManager.php
msgid "Only %2$d of \"%1$s\" are available in stock."
msgstr "Nur %2$d von \"%1$s\" sind an Lager verfügbar."
#: templates/product-selector.html.twig
msgid "Add to Cart"
msgstr "In den Warenkorb"
#: includes/StockManager.php
msgid "Stock reduced for \"%1$s\": -%2$d (remaining: %3$d)"
msgstr "Lagerbestand reduziert für \"%1$s\": -%2$d (verbleibend: %3$d)"
#: includes/Admin/ProductData.php:108
msgid ""
"Allow draft and private products in the selection. Useful when products "
"should only be sold as part of a composition."
msgstr ""
"Entwürfe und private Produkte in der Auswahl zulassen. Nützlich, wenn "
"Produkte nur als Teil einer Zusammenstellung verkauft werden sollen."
#: includes/StockManager.php
msgid "Stock restored for \"%1$s\": +%2$d (total: %3$d)"
msgstr "Lagerbestand wiederhergestellt für \"%1$s\": +%2$d (gesamt: %3$d)"
#: includes/Admin/Settings.php:65
msgid ""
"Allow draft and private products to appear in composable product selections. "
"Useful when products should only be sold as part of a composition, not "
"individually."
msgstr ""
"Entwürfe und private Produkte in der Auswahl zusammenstellbarer Produkte "
"anzeigen. Nützlich, wenn Produkte nur als Teil einer Zusammenstellung "
"verkauft werden sollen, nicht einzeln."
#: templates/product-selector.twig
msgid "Out of stock"
msgstr "Nicht an Lager"
#: includes/Admin/ProductData.php:126
msgid "By Category"
msgstr "Nach Kategorie"
#: templates/product-selector.twig
msgid "Only"
msgstr "Nur"
#: includes/Admin/ProductData.php:128
msgid "By SKU"
msgstr "Nach Artikelnummer"
#: templates/product-selector.twig
msgid "left"
msgstr "übrig"
#: includes/Admin/ProductData.php:127
msgid "By Tag"
msgstr "Nach Schlagwort"
#: templates/product-selector.twig
#: templates/product-selector.html.twig
msgid "Choose up to"
msgstr "Wähle bis zu"
#: includes/Admin/ProductData.php:34
msgid "Composable Options"
msgstr "Zusammenstellungsoptionen"
#: includes/Plugin.php:132
msgid "Composable product"
msgstr "Zusammenstellbares Produkt"
#: includes/Admin/Settings.php:21
msgid "Composable Products"
msgstr "Zusammenstellbare Produkte"
#: includes/Admin/Settings.php:34
msgid "Composable Products Settings"
msgstr "Einstellungen für zusammenstellbare Produkte"
#: includes/Admin/Settings.php:36
msgid "Configure default settings for composable products."
msgstr "Konfiguriere die Standardeinstellungen für zusammenstellbare Produkte."
#: includes/Admin/Settings.php:52
msgid "Default Pricing Mode"
msgstr "Standard-Preismodus"
#: includes/Admin/Settings.php:40
msgid "Default Selection Limit"
msgstr "Standard-Auswahllimit"
#: includes/Admin/Settings.php:41
msgid "Default number of items customers can select."
msgstr ""
"Standardanzahl der Artikel, die Kunden auswählen können (z.B. 5 Sticker für "
"CHF 50.-)."
#: includes/Admin/Settings.php:79
msgid "Display individual product prices in the selection interface."
msgstr "Einzelne Produktpreise in der Auswahlschnittstelle anzeigen."
#: includes/Admin/Settings.php:72
msgid "Display product images in the selection interface."
msgstr "Produktbilder in der Auswahlschnittstelle anzeigen."
#: includes/Admin/Settings.php:86
msgid "Display the total price as customers make selections."
msgstr "Den Gesamtpreis anzeigen, während Kunden Auswahlen treffen."
#: includes/Admin/ProductData.php:196
msgid "Enter product SKUs separated by commas."
msgstr "Gib Produkt-Artikelnummern durch Kommas getrennt ein."
#: includes/Admin/ProductData.php:83
msgid "Enter the fixed price for this composable product."
msgstr "Gib den Festpreis für dieses zusammenstellbare Produkt ein."
#: includes/Admin/ProductData.php:82
msgid "Fixed Price"
msgstr "Festpreis"
#: includes/Admin/ProductData.php:74 includes/Admin/Settings.php:59
msgid "Fixed price"
msgstr "Festpreis"
#: includes/Admin/Settings.php:53
msgid "How to calculate the price of composable products."
msgstr ""
"Wie der Preis für zusammenstellbare Produkte berechnet wird (z.B. Festpreis "
"CHF 50.- oder Summe)."
#: includes/Admin/ProductData.php:69
msgid "How to calculate the price."
msgstr "Wie der Preis berechnet wird."
#: includes/Admin/ProductData.php:123
msgid "How to select available products."
msgstr "Wie verfügbare Produkte ausgewählt werden."
#: templates/product-selector.html.twig
msgid "In stock"
msgstr "An Lager"
#: templates/product-selector.twig
msgid "No products available for selection. Please configure the product criteria in the admin panel."
msgstr "Keine Produkte zur Auswahl verfügbar. Bitte konfiguriere die Produktkriterien im Admin-Bereich."
#: includes/Admin/Settings.php, includes/Admin/ProductData.php
#: includes/Admin/ProductData.php:107 includes/Admin/Settings.php:64
msgid "Include Non-Public Products"
msgstr "Nicht-öffentliche Produkte einbeziehen"
#: includes/Admin/Settings.php
msgid "Allow draft and private products to appear in composable product selections. Useful when products should only be sold as part of a composition, not individually."
msgstr "Entwürfe und private Produkte in der Auswahl zusammenstellbarer Produkte anzeigen. Nützlich, wenn Produkte nur als Teil einer Zusammenstellung verkauft werden sollen, nicht einzeln."
#: templates/product-selector.html.twig
msgid "items from the selection below."
msgstr "Artikel aus der untenstehenden Auswahl."
#: includes/Admin/ProductData.php
msgid "Allow draft and private products in the selection. Useful when products should only be sold as part of a composition."
msgstr "Entwürfe und private Produkte in der Auswahl zulassen. Nützlich, wenn Produkte nur als Teil einer Zusammenstellung verkauft werden sollen."
#: includes/Plugin.php:178
msgid "Maximum items selected"
msgstr ""
#: includes/Admin/ProductData.php
#: includes/Admin/ProductData.php:55
msgid ""
"Maximum number of items customers can select. Leave empty to use global "
"default."
msgstr ""
"Maximale Anzahl der Artikel, die Kunden auswählen können. Leer lassen, um "
"den globalen Standard zu verwenden."
#: includes/Admin/ProductData.php:113
msgid "No"
msgstr "Nein"
#: templates/product-selector.html.twig
msgid ""
"No products available for selection. Please configure the product criteria "
"in the admin panel."
msgstr ""
"Keine Produkte zur Auswahl verfügbar. Bitte konfiguriere die "
"Produktkriterien im Admin-Bereich."
#: includes/CartHandler.php:115
msgid "One or more selected products are not available."
msgstr "Ein oder mehrere ausgewählte Produkte sind nicht verfügbar."
#: templates/product-selector.html.twig
msgid "Only"
msgstr "Nur"
#. translators: 1: product name, 2: stock quantity
#: includes/StockManager.php:69
#, php-format
msgid "Only %2$d of \"%1$s\" are available in stock."
msgstr "Nur %2$d von \"%1$s\" sind an Lager verfügbar."
#: templates/product-selector.html.twig
msgid "Out of stock"
msgstr "Nicht an Lager"
#: includes/CartHandler.php:84 includes/CartHandler.php:100
msgid "Please select at least one product."
msgstr "Bitte wähle mindestens ein Produkt aus."
#: includes/Plugin.php:179
msgid "Please select at least one item"
msgstr ""
#: includes/Plugin.php:177
msgid "Please select items"
msgstr ""
#: includes/Admin/ProductData.php:68
msgid "Pricing Mode"
msgstr "Preismodus"
#: includes/Admin/ProductData.php:195
msgid "Product SKUs"
msgstr "Produkt-Artikelnummern"
#: includes/Admin/ProductData.php:198
msgid "SKU-1, SKU-2, SKU-3"
msgstr "ART-1, ART-2, ART-3"
#: templates/product-selector.html.twig
msgid "Select Your Products"
msgstr "Wähle deine Produkte"
#: includes/Admin/ProductData.php:138
msgid "Select Categories"
msgstr "Kategorien auswählen"
#: includes/Admin/ProductData.php:165
msgid "Select Tags"
msgstr "Schlagwörter auswählen"
#: includes/Admin/ProductData.php:159
msgid "Select product categories to include."
msgstr "Produktkategorien auswählen, die einbezogen werden sollen."
#: includes/Admin/ProductData.php:186
msgid "Select product tags to include."
msgstr "Produkt-Schlagwörter auswählen, die einbezogen werden sollen."
#: includes/CartHandler.php:191
msgid "Selected Products"
msgstr "Ausgewählte Produkte"
#: includes/Admin/ProductData.php:122
msgid "Selection Criteria"
msgstr "Auswahlkriterien"
#: includes/Admin/ProductData.php:54
msgid "Selection Limit"
msgstr "Auswahllimit"
#: includes/Admin/Settings.php:71
msgid "Show Product Images"
msgstr "Produktbilder anzeigen"
#: includes/Admin/Settings.php:78
msgid "Show Product Prices"
msgstr "Produktpreise anzeigen"
#: includes/Admin/Settings.php:85
msgid "Show Total Price"
msgstr "Gesamtpreis anzeigen"
#. translators: 1: product name, 2: quantity, 3: remaining stock
#: includes/StockManager.php:168
#, php-format
msgid "Stock reduced for \"%1$s\": -%2$d (remaining: %3$d)"
msgstr "Lagerbestand reduziert für \"%1$s\": -%2$d (verbleibend: %3$d)"
#. translators: 1: product name, 2: quantity, 3: new stock
#: includes/StockManager.php:235
#, php-format
msgid "Stock restored for \"%1$s\": +%2$d (total: %3$d)"
msgstr "Lagerbestand wiederhergestellt für \"%1$s\": +%2$d (gesamt: %3$d)"
#: includes/Admin/ProductData.php:73 includes/Admin/Settings.php:58
msgid "Sum of selected products"
msgstr "Summe der ausgewählten Produkte"
#: templates/product-selector.html.twig
msgid "Total Price:"
msgstr "Gesamtpreis:"
#: includes/Admin/ProductData.php:72 includes/Admin/ProductData.php:111
msgid "Use global default"
msgstr "Globalen Standard verwenden"
#: includes/Admin/ProductData.php:112
msgid "Yes"
msgstr "Ja"
#: includes/Admin/ProductData.php
msgid "No"
msgstr "Nein"
#. translators: %d: selection limit
#: includes/CartHandler.php:95
#, php-format
msgid "You can select a maximum of %d products."
msgstr "Du kannst maximal %d Produkte auswählen."
#: templates/product-selector.html.twig
msgid "left"
msgstr "übrig"