diff --git a/CHANGELOG.md b/CHANGELOG.md index 035e1c9..77bf76f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 1.5.0 +* Feat: Add `More Plugins` options page. +* Fix: Added missing translations for existing languages. + ## 1.4.3 * Tested up to WP 7.0. diff --git a/composer.json b/composer.json index 73fc6ce..729c282 100644 --- a/composer.json +++ b/composer.json @@ -15,6 +15,9 @@ "email": "badasswpdev@gmail.com" } ], + "require": { + "badasswp/pluginate": "^1.0" + }, "require-dev": { "phpunit/phpunit": "^9.6", "mockery/mockery": "^1.6", @@ -40,4 +43,4 @@ "analyse": "vendor/bin/phpstan analyse --memory-limit=2048M", "coverage": "XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-cobertura cobertura.xml && coveralls --repo-token=lo7lxZfU7gVcSJwU7oXEx6qPZW8F9p7wt --file=cobertura.xml" } -} \ No newline at end of file +} diff --git a/inc/Services/Admin.php b/inc/Services/Admin.php index 192f530..d05ad5f 100644 --- a/inc/Services/Admin.php +++ b/inc/Services/Admin.php @@ -13,7 +13,27 @@ use SqlToCpt\Abstracts\Service; use SqlToCpt\Interfaces\Kernel; +use Pluginate\Admin as Pluginate; + class Admin extends Service implements Kernel { + /** + * Pluginate instance. + * + * @since 1.5.0 + * + * @var Pluginate + */ + public Pluginate $pluginate; + + /** + * Admin constructor. + * + * @since 1.5.0 + */ + public function __construct() { + $this->pluginate = new Pluginate( 'sql-to-cpt' ); + } + /** * Bind to WP. * @@ -23,6 +43,7 @@ class Admin extends Service implements Kernel { */ public function register(): void { add_action( 'admin_menu', [ $this, 'register_admin_menu' ] ); + add_action( 'admin_init', [ $this->pluginate, 'init' ] ); } /** @@ -44,6 +65,15 @@ public function register_admin_menu(): void { 'dashicons-database', 90 ); + + add_submenu_page( + 'sql-to-cpt', + __( 'More Plugins', 'sql-to-cpt' ), + __( 'More Plugins', 'sql-to-cpt' ), + 'manage_options', + sprintf( '%s-more-plugins', 'sql-to-cpt' ), + [ $this, 'register_more_plugins' ] + ); } /** @@ -69,4 +99,33 @@ public function register_admin_page(): void { ] ); } + + /** + * Register More Plugins. + * + * This controls the display of the + * "More Plugins" submenu page. + * + * @since 1.5.0 + * + * @return void + */ + public function register_more_plugins(): void { + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped + vprintf( + '
+

%s

+

%s

+ %s +
', + array_map( + '__', + [ + 'More Plugins', + 'Check out some other amazing plugin of ours...', + $this->pluginate->get_more_plugins(), + ] + ) + ); + } } diff --git a/languages/sql-to-cpt-ar-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-ar-78222c691445bffc102076235eac5b16.json similarity index 54% rename from languages/sql-to-cpt-ar-a442c66c97675e8bda3e3b62b3a8c8ec.json rename to languages/sql-to-cpt-ar-78222c691445bffc102076235eac5b16.json index e5a72b6..129f9b7 100644 --- a/languages/sql-to-cpt-ar-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ b/languages/sql-to-cpt-ar-78222c691445bffc102076235eac5b16.json @@ -1,14 +1,13 @@ { - "translation-revision-date": "2024-08-29 02:16+0100", + "translation-revision-date": "2024-10-06 00:17+0100", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", - "domain": "messages", "locale_data": { "messages": { "": { "domain": "messages", - "lang": "ar\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "lang": "ar", + "plural-forms": "nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);" }, "SQL to CPT": [ "SQL إلى CPT" @@ -23,16 +22,25 @@ "استخدام SQL" ], "Table": [ - "جدول" + "الجدول" ], "Columns": [ - "اعمدة" + "الأعمدة" ], "Importing SQL...": [ - "جاري استيراد SQL..." + "جارٍ استيراد SQL..." ], "Import Completed!": [ "اكتمل الاستيراد!" + ], + "Upload SQL File": [ + "رفع ملف SQL" + ], + "Select CPT": [ + "اختر CPT" + ], + "Purge CPT": [ + "حذف CPT" ] } } diff --git a/languages/sql-to-cpt-da_DK-d3edc180b3c6d7928a5594c5580d1bda.json b/languages/sql-to-cpt-da_DK-78222c691445bffc102076235eac5b16.json similarity index 65% rename from languages/sql-to-cpt-da_DK-d3edc180b3c6d7928a5594c5580d1bda.json rename to languages/sql-to-cpt-da_DK-78222c691445bffc102076235eac5b16.json index 71fc30d..b420881 100644 --- a/languages/sql-to-cpt-da_DK-d3edc180b3c6d7928a5594c5580d1bda.json +++ b/languages/sql-to-cpt-da_DK-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-10-06 03:27+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "da_DK\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n != 1);", + "lang": "da_DK" }, - "SQL to CPT": [ - "SQL til CPT" - ], "Import SQL File": [ "Importer SQL-fil" ], @@ -33,7 +30,16 @@ ], "Import Completed!": [ "Import fuldført!" + ], + "Upload SQL File": [ + "Upload SQL-fil" + ], + "Select CPT": [ + "Vælg CPT" + ], + "Purge CPT": [ + "Rens CPT" ] } } -} \ No newline at end of file +} diff --git a/languages/sql-to-cpt-de_DE-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-de_DE-78222c691445bffc102076235eac5b16.json similarity index 59% rename from languages/sql-to-cpt-de_DE-a442c66c97675e8bda3e3b62b3a8c8ec.json rename to languages/sql-to-cpt-de_DE-78222c691445bffc102076235eac5b16.json index 8dab7e4..031ab13 100644 --- a/languages/sql-to-cpt-de_DE-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ b/languages/sql-to-cpt-de_DE-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-08-29 02:16+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "de_DE\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n != 1);", + "lang": "de_DE" }, - "SQL to CPT": [ - "SQL zu CPT" - ], "Import SQL File": [ "SQL-Datei importieren" ], @@ -20,7 +17,7 @@ "SQL-Datei auswählen" ], "Use SQL": [ - "Verwenden von SQL" + "SQL verwenden" ], "Table": [ "Tabelle" @@ -32,7 +29,16 @@ "SQL wird importiert..." ], "Import Completed!": [ - "Import wurde abgeschlossen!" + "Import abgeschlossen!" + ], + "Upload SQL File": [ + "SQL-Datei hochladen" + ], + "Select CPT": [ + "CPT auswählen" + ], + "Purge CPT": [ + "CPT bereinigen" ] } } diff --git a/languages/sql-to-cpt-es_ES-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-es_ES-78222c691445bffc102076235eac5b16.json similarity index 55% rename from languages/sql-to-cpt-es_ES-a442c66c97675e8bda3e3b62b3a8c8ec.json rename to languages/sql-to-cpt-es_ES-78222c691445bffc102076235eac5b16.json index 992a33d..44b3722 100644 --- a/languages/sql-to-cpt-es_ES-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ b/languages/sql-to-cpt-es_ES-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-08-29 02:16+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,17 +7,14 @@ "messages": { "": { "domain": "messages", - "lang": "es_ES\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n != 1);", + "lang": "es_ES" }, - "SQL to CPT": [ - "De SQL a CPT" - ], "Import SQL File": [ "Importar archivo SQL" ], "Select SQL File": [ - "Seleccione Archivo SQL" + "Seleccionar archivo SQL" ], "Use SQL": [ "Usar SQL" @@ -29,10 +26,19 @@ "Columnas" ], "Importing SQL...": [ - "Importación de SQL..." + "Importando SQL..." ], "Import Completed!": [ - "Importación completada!" + "¡Importación completada!" + ], + "Upload SQL File": [ + "Subir archivo SQL" + ], + "Select CPT": [ + "Seleccionar CPT" + ], + "Purge CPT": [ + "Purgar CPT" ] } } diff --git a/languages/sql-to-cpt-fr_FR-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-fr_FR-78222c691445bffc102076235eac5b16.json similarity index 52% rename from languages/sql-to-cpt-fr_FR-a442c66c97675e8bda3e3b62b3a8c8ec.json rename to languages/sql-to-cpt-fr_FR-78222c691445bffc102076235eac5b16.json index 5b07b42..17e154c 100644 --- a/languages/sql-to-cpt-fr_FR-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ b/languages/sql-to-cpt-fr_FR-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-08-29 02:16+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,32 +7,35 @@ "messages": { "": { "domain": "messages", - "lang": "fr_FR\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n > 1);", + "lang": "fr_FR" }, - "SQL to CPT": [ - "SQL vers CPT" - ], "Import SQL File": [ "Importer un fichier SQL" ], "Select SQL File": [ - "Sélectionnez Fichier SQL" + "Sélectionner un fichier SQL" ], "Use SQL": [ "Utiliser SQL" ], - "Table": [ - "Tableau" - ], "Columns": [ "Colonnes" ], "Importing SQL...": [ - "Importer SQL..." + "Importation SQL en cours..." ], "Import Completed!": [ - "Importation terminée avec succès !" + "Importation terminée !" + ], + "Upload SQL File": [ + "Téléverser un fichier SQL" + ], + "Select CPT": [ + "Sélectionner un CPT" + ], + "Purge CPT": [ + "Purger le CPT" ] } } diff --git a/languages/sql-to-cpt-he_IL-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-he_IL-78222c691445bffc102076235eac5b16.json similarity index 56% rename from languages/sql-to-cpt-he_IL-a442c66c97675e8bda3e3b62b3a8c8ec.json rename to languages/sql-to-cpt-he_IL-78222c691445bffc102076235eac5b16.json index 371be84..83b9c11 100644 --- a/languages/sql-to-cpt-he_IL-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ b/languages/sql-to-cpt-he_IL-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-08-29 02:16+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,20 +7,17 @@ "messages": { "": { "domain": "messages", - "lang": "he_IL\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n != 1);", + "lang": "he_IL" }, - "SQL to CPT": [ - "SQL ל CPT" - ], "Import SQL File": [ - "ייבוא קובץ SQL" + "ייבא קובץ SQL" ], "Select SQL File": [ "בחר קובץ SQL" ], "Use SQL": [ - "שימוש ב- SQL" + "השתמש ב-SQL" ], "Table": [ "טבלה" @@ -29,10 +26,19 @@ "עמודות" ], "Importing SQL...": [ - "ייבוא SQL..." + "מייבא SQL..." ], "Import Completed!": [ "הייבוא הושלם!" + ], + "Upload SQL File": [ + "העלה קובץ SQL" + ], + "Select CPT": [ + "בחר CPT" + ], + "Purge CPT": [ + "נקה CPT" ] } } diff --git a/languages/sql-to-cpt-hi_IN-78222c691445bffc102076235eac5b16.json b/languages/sql-to-cpt-hi_IN-78222c691445bffc102076235eac5b16.json new file mode 100644 index 0000000..169cace --- /dev/null +++ b/languages/sql-to-cpt-hi_IN-78222c691445bffc102076235eac5b16.json @@ -0,0 +1,45 @@ +{ + "translation-revision-date": "2026-06-22 20:30+0000", + "generator": "WP-CLI/2.6.0", + "source": "dist/app.js", + "domain": "messages", + "locale_data": { + "messages": { + "": { + "domain": "messages", + "plural-forms": "Plural-Forms: nplurals=2; plural=(n != 1);", + "lang": "hi_IN" + }, + "Import SQL File": [ + "SQL फ़ाइल आयात करें" + ], + "Select SQL File": [ + "SQL फ़ाइल चुनें" + ], + "Use SQL": [ + "SQL उपयोग करें" + ], + "Table": [ + "तालिका" + ], + "Columns": [ + "कॉलम" + ], + "Importing SQL...": [ + "SQL आयात हो रहा है..." + ], + "Import Completed!": [ + "आयात पूर्ण!" + ], + "Upload SQL File": [ + "SQL फ़ाइल अपलोड करें" + ], + "Select CPT": [ + "CPT चुनें" + ], + "Purge CPT": [ + "CPT हटाएं" + ] + } + } +} diff --git a/languages/sql-to-cpt-hi_IN-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-hi_IN-a442c66c97675e8bda3e3b62b3a8c8ec.json deleted file mode 100644 index 812bd42..0000000 --- a/languages/sql-to-cpt-hi_IN-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "translation-revision-date": "2024-08-29 02:16+0100", - "generator": "WP-CLI/2.6.0", - "source": "dist/app.js", - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "lang": "hi_IN\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" - }, - "SQL to CPT": [ - "SQL से CPT" - ], - "Import SQL File": [ - "SQL फ़ाइल आयात करें" - ], - "Select SQL File": [ - "SQL फ़ाइल का चयन करें" - ], - "Use SQL": [ - "SQL का उपयोग करें" - ], - "Table": [ - "सारणी" - ], - "Columns": [ - "स्तंभे" - ], - "Importing SQL...": [ - "SQL आयात कर रहा है..." - ], - "Import Completed!": [ - "आयात पूरा हुआ!" - ] - } - } -} diff --git a/languages/sql-to-cpt-hr-78222c691445bffc102076235eac5b16.json b/languages/sql-to-cpt-hr-78222c691445bffc102076235eac5b16.json new file mode 100644 index 0000000..1ce045a --- /dev/null +++ b/languages/sql-to-cpt-hr-78222c691445bffc102076235eac5b16.json @@ -0,0 +1,45 @@ +{ + "translation-revision-date": "2026-06-22 20:30+0000", + "generator": "WP-CLI/2.6.0", + "source": "dist/app.js", + "domain": "messages", + "locale_data": { + "messages": { + "": { + "domain": "messages", + "plural-forms": "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);", + "lang": "hr" + }, + "Import SQL File": [ + "Uvezi SQL datoteku" + ], + "Select SQL File": [ + "Odaberi SQL datoteku" + ], + "Use SQL": [ + "Koristi SQL" + ], + "Table": [ + "Tablica" + ], + "Columns": [ + "Stupci" + ], + "Importing SQL...": [ + "Uvoz SQL-a..." + ], + "Import Completed!": [ + "Uvoz dovršen!" + ], + "Upload SQL File": [ + "Prenesi SQL datoteku" + ], + "Select CPT": [ + "Odaberi CPT" + ], + "Purge CPT": [ + "Očisti CPT" + ] + } + } +} diff --git a/languages/sql-to-cpt-hr-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-hr-a442c66c97675e8bda3e3b62b3a8c8ec.json deleted file mode 100644 index 08168fb..0000000 --- a/languages/sql-to-cpt-hr-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "translation-revision-date": "2024-08-29 02:16+0100", - "generator": "WP-CLI/2.6.0", - "source": "dist/app.js", - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "lang": "hr\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" - }, - "SQL to CPT": [ - "SQL u CPT" - ], - "Import SQL File": [ - "Uvoz SQL datoteke" - ], - "Select SQL File": [ - "Odaberite SQL datoteku" - ], - "Use SQL": [ - "Koristite SQL" - ], - "Table": [ - "Tablica" - ], - "Columns": [ - "Stupci" - ], - "Importing SQL...": [ - "Uvoz SQL-a..." - ], - "Import Completed!": [ - "Uvoz Završen!" - ] - } - } -} diff --git a/languages/sql-to-cpt-id_ID-d33a3e053913f9fdef162cdfc9d52baa.json b/languages/sql-to-cpt-id_ID-78222c691445bffc102076235eac5b16.json similarity index 65% rename from languages/sql-to-cpt-id_ID-d33a3e053913f9fdef162cdfc9d52baa.json rename to languages/sql-to-cpt-id_ID-78222c691445bffc102076235eac5b16.json index 68f4ae7..c458853 100644 --- a/languages/sql-to-cpt-id_ID-d33a3e053913f9fdef162cdfc9d52baa.json +++ b/languages/sql-to-cpt-id_ID-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-10-06 03:27+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "id_ID\\n", - "plural-forms": "nplurals=1; plural=0;" + "plural-forms": "Plural-Forms: nplurals=1; plural=0;", + "lang": "id_ID" }, - "SQL to CPT": [ - "SQL ke CPT" - ], "Import SQL File": [ "Impor File SQL" ], @@ -33,7 +30,16 @@ ], "Import Completed!": [ "Impor Selesai!" + ], + "Upload SQL File": [ + "Unggah File SQL" + ], + "Select CPT": [ + "Pilih CPT" + ], + "Purge CPT": [ + "Hapus CPT" ] } } -} \ No newline at end of file +} diff --git a/languages/sql-to-cpt-it_IT-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-it_IT-78222c691445bffc102076235eac5b16.json similarity index 56% rename from languages/sql-to-cpt-it_IT-a442c66c97675e8bda3e3b62b3a8c8ec.json rename to languages/sql-to-cpt-it_IT-78222c691445bffc102076235eac5b16.json index 172b220..ef4290e 100644 --- a/languages/sql-to-cpt-it_IT-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ b/languages/sql-to-cpt-it_IT-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-08-29 02:16+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "it_IT\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n != 1);", + "lang": "it_IT" }, - "SQL to CPT": [ - "Da SQL a CPT" - ], "Import SQL File": [ "Importa file SQL" ], @@ -20,7 +17,7 @@ "Seleziona file SQL" ], "Use SQL": [ - "Utilizzo di SQL" + "Usa SQL" ], "Table": [ "Tabella" @@ -29,10 +26,19 @@ "Colonne" ], "Importing SQL...": [ - "Importazione di SQL..." + "Importazione SQL in corso..." ], "Import Completed!": [ - "Importazione Completata!" + "Importazione completata!" + ], + "Upload SQL File": [ + "Carica file SQL" + ], + "Select CPT": [ + "Seleziona CPT" + ], + "Purge CPT": [ + "Elimina CPT" ] } } diff --git a/languages/sql-to-cpt-ja-a78c5bf69b40d464b954ef76815c6fa0.json b/languages/sql-to-cpt-ja-78222c691445bffc102076235eac5b16.json similarity index 51% rename from languages/sql-to-cpt-ja-a78c5bf69b40d464b954ef76815c6fa0.json rename to languages/sql-to-cpt-ja-78222c691445bffc102076235eac5b16.json index 487df2c..10b772d 100644 --- a/languages/sql-to-cpt-ja-a78c5bf69b40d464b954ef76815c6fa0.json +++ b/languages/sql-to-cpt-ja-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-10-06 03:27+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,20 +7,17 @@ "messages": { "": { "domain": "messages", - "lang": "ja\\n", - "plural-forms": "nplurals=1; plural=0;" + "plural-forms": "Plural-Forms: nplurals=1; plural=0;", + "lang": "ja" }, - "SQL to CPT": [ - "SQL から CPT" - ], "Import SQL File": [ - "SQL ファイルをインポート" + "SQLファイルをインポート" ], "Select SQL File": [ - "SQL ファイルを選択" + "SQLファイルを選択" ], "Use SQL": [ - "SQL を使用" + "SQLを使用" ], "Table": [ "テーブル" @@ -29,11 +26,20 @@ "カラム" ], "Importing SQL...": [ - "SQL をインポート中..." + "SQLをインポート中..." ], "Import Completed!": [ "インポート完了!" + ], + "Upload SQL File": [ + "SQLファイルをアップロード" + ], + "Select CPT": [ + "CPTを選択" + ], + "Purge CPT": [ + "CPTを削除" ] } } -} \ No newline at end of file +} diff --git a/languages/sql-to-cpt-nl_NL-e757f4ebe0890256004f5dbae58934f5.json b/languages/sql-to-cpt-nl_NL-78222c691445bffc102076235eac5b16.json similarity index 65% rename from languages/sql-to-cpt-nl_NL-e757f4ebe0890256004f5dbae58934f5.json rename to languages/sql-to-cpt-nl_NL-78222c691445bffc102076235eac5b16.json index 9790a93..64cbb69 100644 --- a/languages/sql-to-cpt-nl_NL-e757f4ebe0890256004f5dbae58934f5.json +++ b/languages/sql-to-cpt-nl_NL-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-10-06 03:27+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "nl_NL\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n != 1);", + "lang": "nl_NL" }, - "SQL to CPT": [ - "SQL naar CPT" - ], "Import SQL File": [ "SQL-bestand importeren" ], @@ -33,6 +30,15 @@ ], "Import Completed!": [ "Import voltooid!" + ], + "Upload SQL File": [ + "SQL-bestand uploaden" + ], + "Select CPT": [ + "CPT selecteren" + ], + "Purge CPT": [ + "CPT verwijderen" ] } } diff --git a/languages/sql-to-cpt-pl_PL-ca7071245f5e419a66ba1cad9bc9c420.json b/languages/sql-to-cpt-pl_PL-78222c691445bffc102076235eac5b16.json similarity index 61% rename from languages/sql-to-cpt-pl_PL-ca7071245f5e419a66ba1cad9bc9c420.json rename to languages/sql-to-cpt-pl_PL-78222c691445bffc102076235eac5b16.json index 63cc5cb..428d2c2 100644 --- a/languages/sql-to-cpt-pl_PL-ca7071245f5e419a66ba1cad9bc9c420.json +++ b/languages/sql-to-cpt-pl_PL-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-10-06 03:27+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "pl_PL\\n", - "plural-forms": "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" + "plural-forms": "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);", + "lang": "pl_PL" }, - "SQL to CPT": [ - "SQL do CPT" - ], "Import SQL File": [ "Importuj plik SQL" ], @@ -33,7 +30,16 @@ ], "Import Completed!": [ "Import zakończony!" + ], + "Upload SQL File": [ + "Prześlij plik SQL" + ], + "Select CPT": [ + "Wybierz CPT" + ], + "Purge CPT": [ + "Wyczyść CPT" ] } } -} \ No newline at end of file +} diff --git a/languages/sql-to-cpt-pt_BR-5008abdc5610a2ee3e71b197bfc15f36.json b/languages/sql-to-cpt-pt_BR-78222c691445bffc102076235eac5b16.json similarity index 65% rename from languages/sql-to-cpt-pt_BR-5008abdc5610a2ee3e71b197bfc15f36.json rename to languages/sql-to-cpt-pt_BR-78222c691445bffc102076235eac5b16.json index abc14ce..e499865 100644 --- a/languages/sql-to-cpt-pt_BR-5008abdc5610a2ee3e71b197bfc15f36.json +++ b/languages/sql-to-cpt-pt_BR-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-10-06 03:27+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "pt_BR\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n > 1);", + "lang": "pt_BR" }, - "SQL to CPT": [ - "SQL para CPT" - ], "Import SQL File": [ "Importar arquivo SQL" ], @@ -33,7 +30,16 @@ ], "Import Completed!": [ "Importação concluída!" + ], + "Upload SQL File": [ + "Enviar arquivo SQL" + ], + "Select CPT": [ + "Selecionar CPT" + ], + "Purge CPT": [ + "Limpar CPT" ] } } -} \ No newline at end of file +} diff --git a/languages/sql-to-cpt-pt_PT-aac789cf7c57d34ab6170917688baeaf.json b/languages/sql-to-cpt-pt_PT-78222c691445bffc102076235eac5b16.json similarity index 63% rename from languages/sql-to-cpt-pt_PT-aac789cf7c57d34ab6170917688baeaf.json rename to languages/sql-to-cpt-pt_PT-78222c691445bffc102076235eac5b16.json index af4e90e..ee49fbf 100644 --- a/languages/sql-to-cpt-pt_PT-aac789cf7c57d34ab6170917688baeaf.json +++ b/languages/sql-to-cpt-pt_PT-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-10-06 03:27+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "pt_PT\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=2; plural=(n != 1);", + "lang": "pt_PT" }, - "SQL to CPT": [ - "SQL para CPT" - ], "Import SQL File": [ "Importar ficheiro SQL" ], @@ -20,7 +17,7 @@ "Selecionar ficheiro SQL" ], "Use SQL": [ - "Usar SQL" + "Utilizar SQL" ], "Table": [ "Tabela" @@ -33,7 +30,16 @@ ], "Import Completed!": [ "Importação concluída!" + ], + "Upload SQL File": [ + "Carregar ficheiro SQL" + ], + "Select CPT": [ + "Selecionar CPT" + ], + "Purge CPT": [ + "Limpar CPT" ] } } -} \ No newline at end of file +} diff --git a/languages/sql-to-cpt-ru_RU-78222c691445bffc102076235eac5b16.json b/languages/sql-to-cpt-ru_RU-78222c691445bffc102076235eac5b16.json new file mode 100644 index 0000000..4bd48ba --- /dev/null +++ b/languages/sql-to-cpt-ru_RU-78222c691445bffc102076235eac5b16.json @@ -0,0 +1,45 @@ +{ + "translation-revision-date": "2026-06-22 20:30+0000", + "generator": "WP-CLI/2.6.0", + "source": "dist/app.js", + "domain": "messages", + "locale_data": { + "messages": { + "": { + "domain": "messages", + "plural-forms": "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);", + "lang": "ru_RU" + }, + "Import SQL File": [ + "Импортировать SQL-файл" + ], + "Select SQL File": [ + "Выбрать SQL-файл" + ], + "Use SQL": [ + "Использовать SQL" + ], + "Table": [ + "Таблица" + ], + "Columns": [ + "Столбцы" + ], + "Importing SQL...": [ + "Импорт SQL..." + ], + "Import Completed!": [ + "Импорт завершён!" + ], + "Upload SQL File": [ + "Загрузить SQL-файл" + ], + "Select CPT": [ + "Выбрать CPT" + ], + "Purge CPT": [ + "Очистить CPT" + ] + } + } +} diff --git a/languages/sql-to-cpt-ru_RU-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-ru_RU-a442c66c97675e8bda3e3b62b3a8c8ec.json deleted file mode 100644 index c7d57a7..0000000 --- a/languages/sql-to-cpt-ru_RU-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "translation-revision-date": "2024-08-29 02:16+0100", - "generator": "WP-CLI/2.6.0", - "source": "dist/app.js", - "domain": "messages", - "locale_data": { - "messages": { - "": { - "domain": "messages", - "lang": "ru_RU\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" - }, - "SQL to CPT": [ - "Из SQL в CPT" - ], - "Import SQL File": [ - "Импорт файла SQL" - ], - "Select SQL File": [ - "Выберите файл SQL" - ], - "Use SQL": [ - "Использование SQL" - ], - "Table": [ - "Таблица" - ], - "Columns": [ - "Колонки" - ], - "Importing SQL...": [ - "Импорт SQL..." - ], - "Import Completed!": [ - "Импорт завершен!" - ] - } - } -} diff --git a/languages/sql-to-cpt-tr_TR-046a447e62e8547f9c224ddbbc065376.json b/languages/sql-to-cpt-tr_TR-78222c691445bffc102076235eac5b16.json similarity index 63% rename from languages/sql-to-cpt-tr_TR-046a447e62e8547f9c224ddbbc065376.json rename to languages/sql-to-cpt-tr_TR-78222c691445bffc102076235eac5b16.json index 2571da5..64f03b4 100644 --- a/languages/sql-to-cpt-tr_TR-046a447e62e8547f9c224ddbbc065376.json +++ b/languages/sql-to-cpt-tr_TR-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-10-06 03:27+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,14 +7,11 @@ "messages": { "": { "domain": "messages", - "lang": "tr_TR\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=1; plural=0;", + "lang": "tr_TR" }, - "SQL to CPT": [ - "SQL'den CPT'ye" - ], "Import SQL File": [ - "SQL Dosyasını İçe Aktar" + "SQL Dosyası İçe Aktar" ], "Select SQL File": [ "SQL Dosyası Seç" @@ -33,7 +30,16 @@ ], "Import Completed!": [ "İçe Aktarma Tamamlandı!" + ], + "Upload SQL File": [ + "SQL Dosyası Yükle" + ], + "Select CPT": [ + "CPT Seç" + ], + "Purge CPT": [ + "CPT Temizle" ] } } -} \ No newline at end of file +} diff --git a/languages/sql-to-cpt-zh_CN-a442c66c97675e8bda3e3b62b3a8c8ec.json b/languages/sql-to-cpt-zh_CN-78222c691445bffc102076235eac5b16.json similarity index 66% rename from languages/sql-to-cpt-zh_CN-a442c66c97675e8bda3e3b62b3a8c8ec.json rename to languages/sql-to-cpt-zh_CN-78222c691445bffc102076235eac5b16.json index 60cb9a5..23476dc 100644 --- a/languages/sql-to-cpt-zh_CN-a442c66c97675e8bda3e3b62b3a8c8ec.json +++ b/languages/sql-to-cpt-zh_CN-78222c691445bffc102076235eac5b16.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2024-08-29 02:16+0100", + "translation-revision-date": "2026-06-22 20:30+0000", "generator": "WP-CLI/2.6.0", "source": "dist/app.js", "domain": "messages", @@ -7,12 +7,9 @@ "messages": { "": { "domain": "messages", - "lang": "zh_CN\\n", - "plural-forms": "nplurals=2; plural=(n != 1);" + "plural-forms": "Plural-Forms: nplurals=1; plural=0;", + "lang": "zh_CN" }, - "SQL to CPT": [ - "SQL 到 CPT" - ], "Import SQL File": [ "导入 SQL 文件" ], @@ -33,6 +30,15 @@ ], "Import Completed!": [ "导入完成!" + ], + "Upload SQL File": [ + "上传 SQL 文件" + ], + "Select CPT": [ + "选择 CPT" + ], + "Purge CPT": [ + "清除 CPT" ] } } diff --git a/package.json b/package.json index b6f11af..d72d995 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sql-to-cpt", - "version": "1.4.3", + "version": "1.5.0", "description": "Import & Convert SQL files to Custom Post Types (CPT).", "author": "badasswp", "license": "GPL-2.0-or-later", @@ -79,4 +79,4 @@ "database", "mysql" ] -} \ No newline at end of file +} diff --git a/readme.txt b/readme.txt index e9fd631..35215d3 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Contributors: badasswp Tags: sql, cpt, post, import, convert. Requires at least: 6.0 Tested up to: 7.0 -Stable tag: 1.4.3 +Stable tag: 1.5.0 Requires PHP: 7.4 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -69,6 +69,10 @@ Want to add your personal touch? All of our documentation can be found [here](ht == Changelog == += 1.5.0 = +* Feat: Add `More Plugins` options page. +* Fix: Added missing translations for existing languages. + = 1.4.3 = * Tested up to WP 7.0. diff --git a/sql-to-cpt.php b/sql-to-cpt.php index a725bd2..ed074c9 100644 --- a/sql-to-cpt.php +++ b/sql-to-cpt.php @@ -3,7 +3,7 @@ * Plugin Name: SQL to CPT * Plugin URI: https://github.com/badasswp/sql-to-cpt * Description: Import & Convert SQL files to Custom Post Types (CPT). - * Version: 1.4.3 + * Version: 1.5.0 * Author: badasswp * Author URI: https://github.com/badasswp * License: GPL v2 or later diff --git a/src/components/Purge.tsx b/src/components/Purge.tsx index 3a2a4ea..3f8a6a2 100644 --- a/src/components/Purge.tsx +++ b/src/components/Purge.tsx @@ -26,7 +26,7 @@ const Purge = (): JSX.Element => { setPostType( e.target.value ); } } > - + { sqlt.postTypes.map( ( item: string, index: number ) => { return ; } ) } diff --git a/tests/unit/php/Core/ContainerTest.php b/tests/unit/php/Core/ContainerTest.php index 4788b84..b67148b 100644 --- a/tests/unit/php/Core/ContainerTest.php +++ b/tests/unit/php/Core/ContainerTest.php @@ -23,6 +23,7 @@ * @covers \SqlToCpt\Services\Post::__construct * @covers \SqlToCpt\Core\Post::__construct * @covers \SqlToCpt\Services\Routes::__construct + * @covers \SqlToCpt\Services\Admin::__construct */ class ContainerTest extends TestCase { public Container $container; @@ -108,6 +109,16 @@ public function test_register() { ] ); + $admin = Service::$services[ Admin::class ]; + + WP_Mock::expectActionAdded( + 'admin_init', + [ + $admin->pluginate, + 'init', + ] + ); + WP_Mock::expectActionAdded( 'init', [ diff --git a/tests/unit/php/Services/AdminTest.php b/tests/unit/php/Services/AdminTest.php index a2b28a0..2686f5d 100644 --- a/tests/unit/php/Services/AdminTest.php +++ b/tests/unit/php/Services/AdminTest.php @@ -10,6 +10,7 @@ * @covers \SqlToCpt\Services\Admin::register * @covers \SqlToCpt\Services\Admin::register_admin_menu * @covers \SqlToCpt\Services\Admin::register_admin_page + * @covers \SqlToCpt\Services\Admin::__construct */ class AdminTest extends TestCase { public Admin $admin; @@ -26,6 +27,7 @@ public function tearDown(): void { public function test_register() { WP_Mock::expectActionAdded( 'admin_menu', [ $this->admin, 'register_admin_menu' ] ); + WP_Mock::expectActionAdded( 'admin_init', [ $this->admin->pluginate, 'init' ] ); $this->admin->register(); @@ -52,6 +54,21 @@ function ( $arg ) { ) ->andReturn( null ); + WP_Mock::userFunction( '__' ) + ->andReturnUsing( fn( $text, $domain ) => $text ); + + WP_Mock::userFunction( 'add_submenu_page' ) + ->once() + ->with( + 'sql-to-cpt', + 'More Plugins', + 'More Plugins', + 'manage_options', + 'sql-to-cpt-more-plugins', + [ $this->admin, 'register_more_plugins' ] + ) + ->andReturn( null ); + $this->admin->register_admin_menu(); $this->assertConditionsMet();