Browse Source

studiou-wc-mandatory-products: add localizations, but some text are not translated

Dalibor Votruba 1 year ago
parent
commit
e3b5ff4b27

+ 3 - 0
studiou-wc-mandatory-products/directory-structure.txt

@@ -7,5 +7,8 @@ studiou-wc-mandatory-products/
 ├── includes/
 │   ├── class-studiou-wcmp-admin.php
 │   └── class-studiou-wcmp-frontend.php
+├── languages/
+│   ├── studiou-wc-mandatory-products-cs_CZ.po
+│   └── studiou-wc-mandatory-products-cs_CZ.mo
 ├── readme.md
 └── studiou-wc-mandatory-products.php

BIN
studiou-wc-mandatory-products/languages/studiou-wc-mandatory-products-cs_CZ.mo


+ 114 - 0
studiou-wc-mandatory-products/languages/studiou-wc-mandatory-products-cs_CZ.po

@@ -0,0 +1,114 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: QDR - Studiou WC Mandatory Products 1.0.0\n"
+"Report-Msgid-Bugs-To: https://www.quadarax.com\n"
+"POT-Creation-Date: 2025-04-08 10:00:00+0000\n"
+"PO-Revision-Date: 2025-04-08 10:00:00+0000\n"
+"Last-Translator: \n"
+"Language-Team: Czech\n"
+"Language: cs_CZ\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Claude 3.7\n"
+"X-Domain: studiou-wc-mandatory-products\n"
+
+#: studiou-wc-mandatory-products.php:154
+msgid "This product includes the following mandatory items:"
+msgstr "Tento produkt zahrnuje následující povinné položky:"
+
+#: studiou-wc-mandatory-products.php:164
+msgid "One per cart"
+msgstr "Jeden do košíku"
+
+#: studiou-wc-mandatory-products.php:164
+msgid "One per product"
+msgstr "Jeden na produkt"
+
+#: includes/class-studiou-wcmp-admin.php:46
+#: includes/class-studiou-wcmp-admin.php:193
+msgid "Mandatory Products"
+msgstr "Povinné produkty"
+
+#: includes/class-studiou-wcmp-admin.php:56
+#: includes/class-studiou-wcmp-admin.php:204
+msgid "Product:"
+msgstr "Produkt:"
+
+#: includes/class-studiou-wcmp-admin.php:61
+#: includes/class-studiou-wcmp-admin.php:209
+msgid "Search for a product&hellip;"
+msgstr "Vyhledat produkt&hellip;"
+
+#: includes/class-studiou-wcmp-admin.php:71
+#: includes/class-studiou-wcmp-admin.php:219
+msgid "Quantity:"
+msgstr "Množství:"
+
+#: includes/class-studiou-wcmp-admin.php:75
+#: includes/class-studiou-wcmp-admin.php:223
+msgid "Type:"
+msgstr "Typ:"
+
+#: includes/class-studiou-wcmp-admin.php:77
+#: includes/class-studiou-wcmp-admin.php:225
+msgid "One Per Cart"
+msgstr "Jeden do košíku"
+
+#: includes/class-studiou-wcmp-admin.php:78
+#: includes/class-studiou-wcmp-admin.php:226
+msgid "One Per Product"
+msgstr "Jeden na produkt"
+
+#: includes/class-studiou-wcmp-admin.php:82
+#: includes/class-studiou-wcmp-admin.php:230
+msgid "Remove"
+msgstr "Odstranit"
+
+#: includes/class-studiou-wcmp-admin.php:90
+#: includes/class-studiou-wcmp-admin.php:198
+msgid "Add Mandatory Product"
+msgstr "Přidat povinný produkt"
+
+#: includes/class-studiou-wcmp-admin.php:93
+#: includes/class-studiou-wcmp-admin.php:201
+msgid "These products will be automatically added to the cart when a product from this category is added."
+msgstr "Tyto produkty budou automaticky přidány do košíku, když bude přidán produkt z této kategorie."
+
+#: includes/class-studiou-wcmp-admin.php:95
+#: includes/class-studiou-wcmp-admin.php:203
+msgid "Note: Child categories will inherit these settings."
+msgstr "Poznámka: Podkategorie zdědí tato nastavení."
+
+#: includes/class-studiou-wcmp-admin.php:315
+msgid "Mandatory Products Info"
+msgstr "Informace o povinných produktech"
+
+#: includes/class-studiou-wcmp-admin.php:331
+msgid "No mandatory products set for this product's categories."
+msgstr "Pro kategorie tohoto produktu nejsou nastaveny žádné povinné produkty."
+
+#: includes/class-studiou-wcmp-admin.php:335
+msgid "This product has mandatory products set in its categories:"
+msgstr "Tento produkt má v kategoriích nastaveny povinné produkty:"
+
+#: includes/class-studiou-wcmp-admin.php:356
+msgid "These products will be automatically added to the customer's cart when this product is added."
+msgstr "Tyto produkty budou automaticky přidány do košíku zákazníka, když bude přidán tento produkt."
+
+#: includes/class-studiou-wcmp-frontend.php:54
+msgid "Mandatory Item"
+msgstr "Povinná položka"
+
+#: includes/class-studiou-wcmp-frontend.php:55
+msgid "This item was automatically added"
+msgstr "Tato položka byla automaticky přidána"
+
+#: includes/class-studiou-wcmp-frontend.php:101
+msgid "This is a mandatory product and cannot be removed directly"
+msgstr "Toto je povinný produkt a nelze jej přímo odstranit"
+
+#: includes/class-studiou-wcmp-frontend.php:235
+msgid "%s has been automatically added to your cart as it is required."
+msgstr "%s byl automaticky přidán do vašeho košíku, protože je vyžadován."

+ 27 - 12
studiou-wc-mandatory-products/studiou-wc-mandatory-products.php

@@ -14,7 +14,12 @@
  * Domain Path: /languages
  * WC requires at least: 3.0
  * WC tested up to: 8.0
- * Woo: 12345:a123b456c789d0
+ * 
+ * Woo: 12345:342928dfsfhsf8429842374wdf4234sfd
+ * WC requires at least: 3.0
+ * WC tested up to: 8.0
+ * 
+ * @package StudioU_WC_Mandatory_Products
  */
 
 // Exit if accessed directly
@@ -22,22 +27,18 @@ if (!defined('ABSPATH')) {
     exit;
 }
 
-// Check if WooCommerce is active
-if (!in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
-    return;
-}
-
 // Declare HPOS compatibility
 add_action('before_woocommerce_init', function() {
-    if (class_exists('\Automattic\WooCommerce\Utilities\FeaturesUtil')) {
-        \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility(
-            'custom_order_tables',
-            __FILE__,
-            true
-        );
+    if (class_exists(\Automattic\WooCommerce\Utilities\FeaturesUtil::class)) {
+        \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility('custom_order_tables', __FILE__, true);
     }
 });
 
+// Check if WooCommerce is active
+if (!in_array('woocommerce/woocommerce.php', apply_filters('active_plugins', get_option('active_plugins')))) {
+    return;
+}
+
 if (!class_exists('StudioU_WC_Mandatory_Products')) {
 
     class StudioU_WC_Mandatory_Products {
@@ -54,6 +55,9 @@ if (!class_exists('StudioU_WC_Mandatory_Products')) {
 
             // Initialize hooks
             $this->init_hooks();
+            
+            // Load text domain for translations
+            add_action('plugins_loaded', array($this, 'load_textdomain'));
         }
 
         /**
@@ -98,6 +102,17 @@ if (!class_exists('StudioU_WC_Mandatory_Products')) {
             add_action('woocommerce_before_add_to_cart_button', array($this, 'display_mandatory_products_info'), 10);
         }
         
+        /**
+         * Load plugin text domain for translations
+         */
+        public function load_textdomain() {
+            load_plugin_textdomain(
+                'studiou-wc-mandatory-products',
+                false,
+                dirname(plugin_basename(__FILE__)) . '/languages'
+            );
+        }
+        
         /**
          * Plugin activation
          */