Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.2] Upmerge #3233

Closed
jgerman-bot opened this issue Aug 7, 2024 · 1 comment
Closed

[5.2] Upmerge #3233

jgerman-bot opened this issue Aug 7, 2024 · 1 comment

Comments

@jgerman-bot
Copy link

New language relevant PR in upstream repo: joomla/joomla-cms#43885 Here are the upstream changes:

Click to expand the diff!
diff --git a/.drone.yml b/.drone.yml
index 93e1a53c18ee9..e4e841fec44e2 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -162,6 +162,10 @@ steps:
       JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
     commands:
       - bash tests/System/drone-system-run.sh "$(pwd)" cmysqlmax mysqli mysql
+    when:
+      event:
+        exclude:
+          - pull_request
 
   - name: phpnext-system-mysql
     depends_on:
@@ -177,6 +181,10 @@ steps:
       - echo "This test is disabled because php next is not stable yet"
       - exit 1
       - bash tests/System/drone-system-run.sh "$(pwd)" cmysqlnext mysqli mysql
+    when:
+      event:
+        exclude:
+          - pull_request
 
   - name: phpmin-system-postgres
     depends_on:
@@ -189,6 +197,10 @@ steps:
       JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK: 1
     commands:
       - bash tests/System/drone-system-run.sh "$(pwd)" cpostgres pgsql postgres
+    when:
+      event:
+        exclude:
+          - pull_request
 
   - name: phpmax-system-postgres
     depends_on:
@@ -216,6 +228,10 @@ steps:
       - echo "This test is disabled because php next is not stable yet"
       - exit 1
       - bash tests/System/drone-system-run.sh "$(pwd)" cpostgresnext pgsql postgres
+    when:
+      event:
+        exclude:
+          - pull_request
 
   - name: artifacts-system-tests
     image: joomlaprojects/docker-images:packager
@@ -414,6 +430,6 @@ trigger:
 
 ---
 kind: signature
-hmac: bd41423d85abadb875c8fc911f87596ead88b62d26fabf6a283737c5a7b4c5b9
+hmac: 66d331abed02e76707b26cbf12fef3ec4506858cc748acdb5aee2c256e92ba4f
 
 ...
diff --git a/administrator/components/com_actionlogs/src/Controller/DisplayController.php b/administrator/components/com_actionlogs/src/Controller/DisplayController.php
index 7493052e2de1c..999dde7fe4aae 100644
--- a/administrator/components/com_actionlogs/src/Controller/DisplayController.php
+++ b/administrator/components/com_actionlogs/src/Controller/DisplayController.php
@@ -17,7 +17,7 @@
 // phpcs:enable PSR1.Files.SideEffects
 
 /**
- * Plugins display controller.
+ * Actionlogs display controller.
  *
  * @since  4.0.0
  */
diff --git a/administrator/components/com_fields/src/Model/GroupsModel.php b/administrator/components/com_fields/src/Model/GroupsModel.php
index 55c59aa154cb3..105ff8bf04d76 100644
--- a/administrator/components/com_fields/src/Model/GroupsModel.php
+++ b/administrator/components/com_fields/src/Model/GroupsModel.php
@@ -190,7 +190,7 @@ protected function getListQuery()
             if (stripos($search, 'id:') === 0) {
                 $search = (int) substr($search, 3);
                 $query->where($db->quoteName('a.id') . ' = :search')
-                    ->bind(':id', $search, ParameterType::INTEGER);
+                    ->bind(':search', $search, ParameterType::INTEGER);
             } else {
                 $search = '%' . str_replace(' ', '%', trim($search)) . '%';
                 $query->where($db->quoteName('a.title') . ' LIKE :search')
diff --git a/administrator/components/com_menus/src/View/Menu/XmlView.php b/administrator/components/com_menus/src/View/Menu/XmlView.php
index 147531c41657d..10df5a2367ece 100644
--- a/administrator/components/com_menus/src/View/Menu/XmlView.php
+++ b/administrator/components/com_menus/src/View/Menu/XmlView.php
@@ -115,22 +115,22 @@ protected function addXmlChild($xml, $item)
     {
         $node = $xml->addChild('menuitem');
 
-        $node['type'] = $item->type;
-
         if ($item->title) {
             $node['title'] = htmlentities($item->title, ENT_XML1);
         }
 
-        if ($item->link) {
-            $node['link'] = $item->link;
-        }
+        $node['type'] = $item->type;
 
         if ($item->element) {
             $node['element'] = $item->element;
         }
 
-        if (isset($item->class) && $item->class) {
-            $node['class'] = htmlentities($item->class, ENT_XML1);
+        if ($item->link) {
+            $node['link'] = $item->link;
+        }
+
+        if (isset($item->class) && trim($item->class)) {
+            $node['class'] = htmlentities(trim($item->class), ENT_XML1);
         }
 
         if ($item->access) {
@@ -141,6 +141,34 @@ protected function addXmlChild($xml, $item)
             $node['target'] = '_blank';
         }
 
+        if ($item->getParams()->get('ajax-badge')) {
+            $node['ajax-badge'] = $item->getParams()->get('ajax-badge');
+        }
+
+        if ($item->icon) {
+            $node['icon'] = $item->icon;
+        }
+
+        if ($item->getParams()->get('menu-quicktask')) {
+            $node['quicktask']       = $item->getParams()->get('menu-quicktask');
+
+            if ($item->getParams()->get('menu-quicktask-title')) {
+                $node['quicktask-title'] = $item->getParams()->get('menu-quicktask-title');
+            }
+
+            if ($item->getParams()->get('menu-quicktask-icon')) {
+                $node['quicktask-icon'] = $item->getParams()->get('menu-quicktask-icon');
+            }
+
+            if ($item->getParams()->get('menu-quicktask-permission')) {
+                $node['quicktask-permission'] = $item->getParams()->get('menu-quicktask-permission');
+            }
+        }
+
+        if ($item->getParams()->get('dashboard')) {
+            $node['dashboard'] = $item->getParams()->get('dashboard');
+        }
+
         if ($item->getParams() && $hideitems = $item->getParams()->get('hideitems')) {
             $item->getParams()->set('hideitems', $this->getModel('Menu')->getExtensionElementsForMenuItems($hideitems));
 
diff --git a/administrator/components/com_users/src/Model/UserModel.php b/administrator/components/com_users/src/Model/UserModel.php
index 324e3220335f8..d1c19166ea2cf 100644
--- a/administrator/components/com_users/src/Model/UserModel.php
+++ b/administrator/components/com_users/src/Model/UserModel.php
@@ -142,7 +142,7 @@ public function getForm($data = [], $loadData = true)
 
         // When multilanguage is set, a user's default site language should also be a Content Language
         if (Multilanguage::isEnabled()) {
-            $form->setFieldAttribute('language', 'type', 'frontend_language', 'params');
+            $form->setFieldAttribute('language', 'type', 'frontendlanguage', 'params');
         }
 
         $userId = (int) $form->getValue('id');
diff --git a/build/media_source/system/js/fields/modal-content-select-field.es6.js b/build/media_source/system/js/fields/modal-content-select-field.es6.js
index 1d123a1aef913..382662599f648 100644
--- a/build/media_source/system/js/fields/modal-content-select-field.es6.js
+++ b/build/media_source/system/js/fields/modal-content-select-field.es6.js
@@ -113,18 +113,24 @@ const setupField = (container) => {
     const action = button.dataset.buttonAction;
     const dialogConfig = button.dataset.modalConfig ? JSON.parse(button.dataset.modalConfig) : {};
     const keyName = container.dataset.keyName || 'id';
+    const token = Joomla.getOptions('csrf.token', '');
 
     // Handle requested action
     let handle;
     switch (action) {
       case 'select':
-      case 'create':
+      case 'create': {
+        const url = dialogConfig.src.indexOf('http') === 0 ? new URL(dialogConfig.src) : new URL(dialogConfig.src, window.location.origin);
+        url.searchParams.set(token, '1');
+        dialogConfig.src = url.toString();
         handle = doSelect(inputValue, inputTitle, dialogConfig);
         break;
+      }
       case 'edit': {
         // Update current value in the URL
         const url = dialogConfig.src.indexOf('http') === 0 ? new URL(dialogConfig.src) : new URL(dialogConfig.src, window.location.origin);
         url.searchParams.set(keyName, inputValue.value);
+        url.searchParams.set(token, '1');
         dialogConfig.src = url.toString();
 
         handle = doSelect(inputValue, inputTitle, dialogConfig);
diff --git a/build/media_source/system/js/showon.es6.js b/build/media_source/system/js/showon.es6.js
index 95ff1605d8ffd..e7248a6c5f386 100644
--- a/build/media_source/system/js/showon.es6.js
+++ b/build/media_source/system/js/showon.es6.js
@@ -146,7 +146,7 @@ class Showon {
             itemval = Array.from(originField.querySelectorAll('option:checked')).map((el) => el.value);
           } else {
             // Select lists, text-area etc. Note that multiple-select list returns
-            // an Array here s0 we can always treat 'itemval' as an array
+            // an Array here so we can always treat 'itemval' as an array
             itemval = document.getElementById(originId).value;
             // Check data attribute data-global instead of value in <select> for use global
             if (originField.tagName === 'SELECT') {
diff --git a/components/com_users/src/Model/ProfileModel.php b/components/com_users/src/Model/ProfileModel.php
index b3e09c60487bd..2fca64e9986fe 100644
--- a/components/com_users/src/Model/ProfileModel.php
+++ b/components/com_users/src/Model/ProfileModel.php
@@ -149,7 +149,7 @@ public function getForm($data = [], $loadData = true)
 
         // When multilanguage is set, a user's default site language should also be a Content Language
         if (Multilanguage::isEnabled()) {
-            $form->setFieldAttribute('language', 'type', 'frontend_language', 'params');
+            $form->setFieldAttribute('language', 'type', 'frontendlanguage', 'params');
         }
 
         // If the user needs to change their password, mark the password fields as required
diff --git a/components/com_users/src/Model/RegistrationModel.php b/components/com_users/src/Model/RegistrationModel.php
index 673553fe6a916..4b6e2baf5a22a 100644
--- a/components/com_users/src/Model/RegistrationModel.php
+++ b/components/com_users/src/Model/RegistrationModel.php
@@ -339,7 +339,7 @@ public function getForm($data = [], $loadData = true)
 
         // When multilanguage is set, a user's default site language should also be a Content Language
         if (Multilanguage::isEnabled()) {
-            $form->setFieldAttribute('language', 'type', 'frontend_language', 'params');
+            $form->setFieldAttribute('language', 'type', 'frontendlanguage', 'params');
         }
 
         return $form;
diff --git a/installation/language/af-ZA/langmetadata.xml b/installation/language/af-ZA/langmetadata.xml
index 7572eabdbcf79..23645d7bb7e7a 100644
--- a/installation/language/af-ZA/langmetadata.xml
+++ b/installation/language/af-ZA/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Afrikaans (Suid-Afrika)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Afrikaans Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/ar-AA/langmetadata.xml b/installation/language/ar-AA/langmetadata.xml
index 6ada8fbc21fb1..3289e5582a744 100644
--- a/installation/language/ar-AA/langmetadata.xml
+++ b/installation/language/ar-AA/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Arabic (اللغة العربية)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Dr. Ashraf Damra</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/be-BY/langmetadata.xml b/installation/language/be-BY/langmetadata.xml
index 7dd6a6e958746..c12f0e6fe6d44 100644
--- a/installation/language/be-BY/langmetadata.xml
+++ b/installation/language/be-BY/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Belarusian (Belarus)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla Belarus Community</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/bg-BG/langmetadata.xml b/installation/language/bg-BG/langmetadata.xml
index 2560e6f4ddc3d..ad1c53039237f 100644
--- a/installation/language/bg-BG/langmetadata.xml
+++ b/installation/language/bg-BG/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Bulgarian (bg-BG)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Bulgaria</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/ca-ES/langmetadata.xml b/installation/language/ca-ES/langmetadata.xml
index 781b39dbbb145..6d7c7635214b4 100644
--- a/installation/language/ca-ES/langmetadata.xml
+++ b/installation/language/ca-ES/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Catalan (ca-ES)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Catalan [ca-ES] Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/cs-CZ/langmetadata.xml b/installation/language/cs-CZ/langmetadata.xml
index d4ede0bf12ee1..a103cd712a43d 100644
--- a/installation/language/cs-CZ/langmetadata.xml
+++ b/installation/language/cs-CZ/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Czech (Čeština)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Czech Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/cy-GB/langmetadata.xml b/installation/language/cy-GB/langmetadata.xml
index 9a5fb77200d30..1ac2a1c7c2846 100644
--- a/installation/language/cy-GB/langmetadata.xml
+++ b/installation/language/cy-GB/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Welsh (United Kingdom)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project - Welsh Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/da-DK/langmetadata.xml b/installation/language/da-DK/langmetadata.xml
index 110951f8b218e..34d3d4dc78927 100644
--- a/installation/language/da-DK/langmetadata.xml
+++ b/installation/language/da-DK/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Danish (Danmark)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Danish Translation Team (Transl.: Ronny Buelund)</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/de-AT/langmetadata.xml b/installation/language/de-AT/langmetadata.xml
index f657dfdf27142..ecc06ac11159e 100644
--- a/installation/language/de-AT/langmetadata.xml
+++ b/installation/language/de-AT/langmetadata.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>German (Austria)</name>
-	<version>5.1.1</version>
-	<creationDate>2024-05</creationDate>
+	<version>5.1.2</version>
+	<creationDate>2024-07</creationDate>
 	<author>J!German</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
 	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
diff --git a/installation/language/de-CH/langmetadata.xml b/installation/language/de-CH/langmetadata.xml
index dc7885dab3e45..a4887b3a7d545 100644
--- a/installation/language/de-CH/langmetadata.xml
+++ b/installation/language/de-CH/langmetadata.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>German (Switzerland)</name>
-	<version>5.1.1</version>
-	<creationDate>2024-05</creationDate>
+	<version>5.1.2</version>
+	<creationDate>2024-07</creationDate>
 	<author>J!German</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
 	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
diff --git a/installation/language/de-DE/langmetadata.xml b/installation/language/de-DE/langmetadata.xml
index 092e7f45cf8a3..d9b2062e34dab 100644
--- a/installation/language/de-DE/langmetadata.xml
+++ b/installation/language/de-DE/langmetadata.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>German (Germany)</name>
-	<version>5.1.1</version>
-	<creationDate>2024-05</creationDate>
+	<version>5.1.2</version>
+	<creationDate>2024-07</creationDate>
 	<author>J!German</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
 	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
diff --git a/installation/language/de-LI/langmetadata.xml b/installation/language/de-LI/langmetadata.xml
index 6108e4a6f058c..db2eaf22dab6a 100644
--- a/installation/language/de-LI/langmetadata.xml
+++ b/installation/language/de-LI/langmetadata.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>German (Liechtenstein)</name>
-	<version>5.1.1</version>
-	<creationDate>2024-05</creationDate>
+	<version>5.1.2</version>
+	<creationDate>2024-07</creationDate>
 	<author>J!German</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
 	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
diff --git a/installation/language/de-LU/langmetadata.xml b/installation/language/de-LU/langmetadata.xml
index 7de0832c63efd..c8cfaa75f6733 100644
--- a/installation/language/de-LU/langmetadata.xml
+++ b/installation/language/de-LU/langmetadata.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>German (Luxembourg)</name>
-	<version>5.1.1</version>
-	<creationDate>2024-05</creationDate>
+	<version>5.1.2</version>
+	<creationDate>2024-07</creationDate>
 	<author>J!German</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
 	<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
diff --git a/installation/language/el-GR/langmetadata.xml b/installation/language/el-GR/langmetadata.xml
index b22a3faa9c998..fb837b319edc0 100644
--- a/installation/language/el-GR/langmetadata.xml
+++ b/installation/language/el-GR/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Greek (el-GR)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Ομάδα Μετάφρασης: joomla. gr</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/en-AU/langmetadata.xml b/installation/language/en-AU/langmetadata.xml
index e45fe1004d07a..187fdee5c90cb 100644
--- a/installation/language/en-AU/langmetadata.xml
+++ b/installation/language/en-AU/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>English (Australia)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/en-CA/langmetadata.xml b/installation/language/en-CA/langmetadata.xml
index bb8519e7d085a..7d2fed2a6cd5f 100644
--- a/installation/language/en-CA/langmetadata.xml
+++ b/installation/language/en-CA/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>English (Canada)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/en-NZ/langmetadata.xml b/installation/language/en-NZ/langmetadata.xml
index 2813105a747bc..8de5cae77ca2f 100644
--- a/installation/language/en-NZ/langmetadata.xml
+++ b/installation/language/en-NZ/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>English (New Zealand)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/en-US/langmetadata.xml b/installation/language/en-US/langmetadata.xml
index 334174613e44e..ce5cb7fb2b810 100644
--- a/installation/language/en-US/langmetadata.xml
+++ b/installation/language/en-US/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>English (United States)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/es-ES/langmetadata.xml b/installation/language/es-ES/langmetadata.xml
index 232bd9bf45471..e63984d6a7214 100644
--- a/installation/language/es-ES/langmetadata.xml
+++ b/installation/language/es-ES/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Spanish (es-ES)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Spanish [es-ES] Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/et-EE/langmetadata.xml b/installation/language/et-EE/langmetadata.xml
index f01f436567b1c..ec724986994d3 100644
--- a/installation/language/et-EE/langmetadata.xml
+++ b/installation/language/et-EE/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Estonian</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/eu-ES/langmetadata.xml b/installation/language/eu-ES/langmetadata.xml
index 4b2ff50ffa3b2..e5aecf574d4d2 100644
--- a/installation/language/eu-ES/langmetadata.xml
+++ b/installation/language/eu-ES/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Basque</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Basque Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/fa-AF/langmetadata.xml b/installation/language/fa-AF/langmetadata.xml
index 263127bc219a4..5444110184f84 100644
--- a/installation/language/fa-AF/langmetadata.xml
+++ b/installation/language/fa-AF/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>فارسی (دری)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>JoomlaPersian Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/fa-IR/langmetadata.xml b/installation/language/fa-IR/langmetadata.xml
index cba2468b7f13a..c52a2a5e628a2 100644
--- a/installation/language/fa-IR/langmetadata.xml
+++ b/installation/language/fa-IR/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Persian (fa-IR)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Persian Translation Team: joomlafarsi.com</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/fi-FI/langmetadata.xml b/installation/language/fi-FI/langmetadata.xml
index fb83c0bdb51fa..6271d6861bea3 100644
--- a/installation/language/fi-FI/langmetadata.xml
+++ b/installation/language/fi-FI/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Finnish (Finland)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Finnish translation team: Joomla.fi</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/fr-CA/langmetadata.xml b/installation/language/fr-CA/langmetadata.xml
index c65199a822815..58b6832dfb838 100644
--- a/installation/language/fr-CA/langmetadata.xml
+++ b/installation/language/fr-CA/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>French (Canada)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project - French translation team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/fr-FR/langmetadata.xml b/installation/language/fr-FR/langmetadata.xml
index 6b9e9e076f7dc..b79f37df3fbc9 100644
--- a/installation/language/fr-FR/langmetadata.xml
+++ b/installation/language/fr-FR/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>French (fr-FR)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project - French translation team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/he-IL/langmetadata.xml b/installation/language/he-IL/langmetadata.xml
index 370f3cf5eacff..b35a4fae62b3c 100644
--- a/installation/language/he-IL/langmetadata.xml
+++ b/installation/language/he-IL/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Hebrew (Israel)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>פרוייקט ג'ומלה</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/hr-HR/langmetadata.xml b/installation/language/hr-HR/langmetadata.xml
index dc86d1d8a36b9..197434a18560b 100644
--- a/installation/language/hr-HR/langmetadata.xml
+++ b/installation/language/hr-HR/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Croatian (Croatia)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Hrvatska team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/hu-HU/langmetadata.xml b/installation/language/hu-HU/langmetadata.xml
index 202a7675de054..675d04b83f2ba 100644
--- a/installation/language/hu-HU/langmetadata.xml
+++ b/installation/language/hu-HU/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Hungarian (Magyar)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Magyarország</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/id-ID/langmetadata.xml b/installation/language/id-ID/langmetadata.xml
index c25c2819183a8..9ef410398434b 100644
--- a/installation/language/id-ID/langmetadata.xml
+++ b/installation/language/id-ID/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Bahasa Indonesia (id-ID)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Indonesia</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/it-IT/langmetadata.xml b/installation/language/it-IT/langmetadata.xml
index 7610a4239e301..26b5b13f2a6ca 100644
--- a/installation/language/it-IT/langmetadata.xml
+++ b/installation/language/it-IT/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Italiano (it-IT)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project (Italian Translation Team)</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/ja-JP/langmetadata.xml b/installation/language/ja-JP/langmetadata.xml
index 3af88db901010..3b61b147ac066 100644
--- a/installation/language/ja-JP/langmetadata.xml
+++ b/installation/language/ja-JP/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Japanese (Japan)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla!じゃぱん</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/ka-GE/langmetadata.xml b/installation/language/ka-GE/langmetadata.xml
index c4ca918f1cc0b..86ac4cde72203 100644
--- a/installation/language/ka-GE/langmetadata.xml
+++ b/installation/language/ka-GE/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Georgian (Georgia)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Georgian Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/kk-KZ/langmetadata.xml b/installation/language/kk-KZ/langmetadata.xml
index 3a440b82c3775..68c76f6790892 100644
--- a/installation/language/kk-KZ/langmetadata.xml
+++ b/installation/language/kk-KZ/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Kazakh (Kazakhstan)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Sarvarov Akylkerey</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/ko-KR/langmetadata.xml b/installation/language/ko-KR/langmetadata.xml
index 51bbf3327b650..3432b91586729 100644
--- a/installation/language/ko-KR/langmetadata.xml
+++ b/installation/language/ko-KR/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Korean (Republic of Korea)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! 프로젝트</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/lt-LT/langmetadata.xml b/installation/language/lt-LT/langmetadata.xml
index 14c66ae4d25f4..0f7eedfc5b20c 100644
--- a/installation/language/lt-LT/langmetadata.xml
+++ b/installation/language/lt-LT/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Lietuvių (lt-LT)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Oskaras Jankauskas</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/lv-LV/langmetadata.xml b/installation/language/lv-LV/langmetadata.xml
index 6009b71c861ca..d2598bebd0acc 100644
--- a/installation/language/lv-LV/langmetadata.xml
+++ b/installation/language/lv-LV/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Latvian (Latvia)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Projekts</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/mk-MK/langmetadata.xml b/installation/language/mk-MK/langmetadata.xml
index 3039f4a3284f5..d5c2db1ab0e0e 100644
--- a/installation/language/mk-MK/langmetadata.xml
+++ b/installation/language/mk-MK/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Macedonian (mk-MK)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/nl-BE/langmetadata.xml b/installation/language/nl-BE/langmetadata.xml
index 05cb11970a092..ba79c4faef4e1 100644
--- a/installation/language/nl-BE/langmetadata.xml
+++ b/installation/language/nl-BE/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Dutch (Belgium)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Dutch (BE) translation team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/nl-NL/langmetadata.xml b/installation/language/nl-NL/langmetadata.xml
index cc858bda3b539..8d3f01ed07df5 100644
--- a/installation/language/nl-NL/langmetadata.xml
+++ b/installation/language/nl-NL/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Dutch (nl-NL)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Dutch Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/pl-PL/langmetadata.xml b/installation/language/pl-PL/langmetadata.xml
index 5dbca359da994..827a501a3e32f 100644
--- a/installation/language/pl-PL/langmetadata.xml
+++ b/installation/language/pl-PL/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Polski (PL)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Projekt Joomla!</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/pt-BR/joomla.ini b/installation/language/pt-BR/joomla.ini
index 1474608deab71..6715f8218daa8 100644
--- a/installation/language/pt-BR/joomla.ini
+++ b/installation/language/pt-BR/joomla.ini
@@ -213,7 +213,7 @@ JHIDEPASSWORD="Ocultar senha"
 JINVALID_TOKEN="A requisição mais recente foi negada por conter um token de segurança inválido. Recarregue a página e tente novamente."
 JINVALID_TOKEN_NOTICE="O token de segurança não corresponde. A solicitação foi cancelada para evitar qualquer violação de segurança. Tente novamente."
 JNEXT="Próximo"
-JNO="Nunca"
+JNO="Não"
 JNOTICE="Aviso"
 JOFF="Desativado"
 JON="Ativado"
diff --git a/installation/language/pt-BR/langmetadata.xml b/installation/language/pt-BR/langmetadata.xml
index b1c1bee491ae7..1857e42bd7a5a 100644
--- a/installation/language/pt-BR/langmetadata.xml
+++ b/installation/language/pt-BR/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
-	<name>Português do Brasil (pt-BR)</name>
-	<version>5.1.2</version>
+	<name>Portuguese (Brazil)</name>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Projeto Joomla!</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
@@ -11,7 +11,7 @@
 	</files>
 	<metadata>
 		<name>Brazilian Portuguese (pt-BR)</name>
-		<nativeName>Português do Brasil (pt-BR)</nativeName>
+		<nativeName>Portuguese (Brazil)</nativeName>
 		<tag>pt-BR</tag>
 		<rtl>0</rtl>
 	</metadata>
diff --git a/installation/language/pt-PT/langmetadata.xml b/installation/language/pt-PT/langmetadata.xml
index b2a7b6b5c818a..6c880e291e95c 100644
--- a/installation/language/pt-PT/langmetadata.xml
+++ b/installation/language/pt-PT/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Português (Portugal)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Comunidade JoomlaPortugal</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/ro-RO/langmetadata.xml b/installation/language/ro-RO/langmetadata.xml
index da87ee2083fd0..2e3059746a311 100644
--- a/installation/language/ro-RO/langmetadata.xml
+++ b/installation/language/ro-RO/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Română (România)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Horia Negura - Quanta</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/sk-SK/langmetadata.xml b/installation/language/sk-SK/langmetadata.xml
index ba1ed4c1c0f7a..e4bffe1937f6a 100644
--- a/installation/language/sk-SK/langmetadata.xml
+++ b/installation/language/sk-SK/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Slovak (Slovakia)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Slovak translation team : Peter Michnica</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/sl-SI/langmetadata.xml b/installation/language/sl-SI/langmetadata.xml
index 5d6d6ec461aee..6347f0e74915c 100644
--- a/installation/language/sl-SI/langmetadata.xml
+++ b/installation/language/sl-SI/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Slovenščina (Slovenija)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Slovenska prevajalska ekipa</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/sr-YU/langmetadata.xml b/installation/language/sr-YU/langmetadata.xml
index 571bb1f9af950..df4fa58346935 100644
--- a/installation/language/sr-YU/langmetadata.xml
+++ b/installation/language/sr-YU/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Srpski (Republika Srbija)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Goran Nešić - UIX Web Design &amp;  Saša Matić Bardak.RS</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/sv-SE/langmetadata.xml b/installation/language/sv-SE/langmetadata.xml
index ccc86c5cdcbe3..b75446b0e8a84 100644
--- a/installation/language/sv-SE/langmetadata.xml
+++ b/installation/language/sv-SE/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Swedish (Sweden)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Swedish Translation Team - SvenskJoomla</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/ta-IN/langmetadata.xml b/installation/language/ta-IN/langmetadata.xml
index 63b463cbe102e..3eea857034307 100644
--- a/installation/language/ta-IN/langmetadata.xml
+++ b/installation/language/ta-IN/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Tamil (India)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Ilagnayeru 'MIG' Manickam, Elango Samy Manim</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/th-TH/langmetadata.xml b/installation/language/th-TH/langmetadata.xml
index dd075d4fd5958..32df1271696fb 100644
--- a/installation/language/th-TH/langmetadata.xml
+++ b/installation/language/th-TH/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Thai (ภาษาไทย)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Thai Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/tr-TR/langmetadata.xml b/installation/language/tr-TR/langmetadata.xml
index 127fb1c2d2a26..6b4158f9c1787 100644
--- a/installation/language/tr-TR/langmetadata.xml
+++ b/installation/language/tr-TR/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Turkish (Turkey)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Türkiye</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/uk-UA/langmetadata.xml b/installation/language/uk-UA/langmetadata.xml
index d9a96e8ae86ac..8d53ee270b227 100644
--- a/installation/language/uk-UA/langmetadata.xml
+++ b/installation/language/uk-UA/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Ukrainian (uk-UA)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Denys Nosov</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/ur-PK/langmetadata.xml b/installation/language/ur-PK/langmetadata.xml
index 1657b4ea8eca0..87c7e270a3e27 100644
--- a/installation/language/ur-PK/langmetadata.xml
+++ b/installation/language/ur-PK/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>انگریزی (برطانیہ)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>عبدالوحید</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/vi-VN/langmetadata.xml b/installation/language/vi-VN/langmetadata.xml
index 7ce369030b10d..49ec547e65644 100644
--- a/installation/language/vi-VN/langmetadata.xml
+++ b/installation/language/vi-VN/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Vietnamese (Vietnam)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla! Project</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/zh-CN/joomla.ini b/installation/language/zh-CN/joomla.ini
index 3faba9bfc8402..afa57a8ce2b10 100644
--- a/installation/language/zh-CN/joomla.ini
+++ b/installation/language/zh-CN/joomla.ini
@@ -115,10 +115,10 @@ INSTL_COMPLETE_SITE_BTN="完成并打开前台"
 INSTL_COMPLETE_ADMIN_BTN="完成并打开后台"
 INSTL_COMPLETE_FINAL="安装完成"
 INSTL_COMPLETE_FINAL_DESC="网站安装完成,可以使用了。"
-INSTL_COMPLETE_ADD_EXTRA_LANGUAGE="安装其它语言"
+INSTL_COMPLETE_ADD_EXTRA_LANGUAGE="安装本地化语言包(zh-CN为简体中文)"
 INSTL_REMOVE_INST_FOLDER="你确定要删除吗? 确认 将永久删除 \"%s\"文件夹。"
 ; Languages view
-INSTL_LANGUAGES="安装其它语言"
+INSTL_LANGUAGES="安装本地化语言包"
 INSTL_LANGUAGES_COLUMN_HEADER_LANGUAGE="语言"
 INSTL_LANGUAGES_COLUMN_HEADER_LANGUAGE_SELECT="选择安装语言"
 INSTL_LANGUAGES_COLUMN_HEADER_LANGUAGE_TAG="语言标签"
@@ -200,7 +200,7 @@ INSTL_SESSION_AUTO_START="会话自启动(Session Auto Start)"
 INSTL_WRITABLE="没有足够的权限创建 %s"
 INSTL_ZIP_SUPPORT_AVAILABLE="Native ZIP 支持并启用"
 ; Global strings
-JADMINISTRATOR="管理员激活"
+JADMINISTRATOR="管理员"
 JEMAIL="邮件"
 JERROR="错误"
 JERROR_LAYOUT_ERROR_HAS_OCCURRED_WHILE_PROCESSING_YOUR_REQUEST="没有找到你要访问的内容."
diff --git a/installation/language/zh-CN/langmetadata.xml b/installation/language/zh-CN/langmetadata.xml
index 17ec789a8ca94..f9633f8158827 100644
--- a/installation/language/zh-CN/langmetadata.xml
+++ b/installation/language/zh-CN/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>Chinese Simplified (China)</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>Joomla中文网</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/installation/language/zh-TW/langmetadata.xml b/installation/language/zh-TW/langmetadata.xml
index f4139f199e53f..bc39d83ae446f 100644
--- a/installation/language/zh-TW/langmetadata.xml
+++ b/installation/language/zh-TW/langmetadata.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metafile client="installation">
 	<name>正體中文</name>
-	<version>5.1.2</version>
+	<version>5.1.3</version>
 	<creationDate>2024-07</creationDate>
 	<author>正體中文 Translation Team</author>
 	<copyright>(C) 2005 Open Source Matters, Inc.</copyright>
diff --git a/libraries/src/Console/CheckJoomlaUpdatesCommand.php b/libraries/src/Console/CheckJoomlaUpdatesCommand.php
index 12c02ec6ae865..7f31704b74245 100644
--- a/libraries/src/Console/CheckJoomlaUpdatesCommand.php
+++ b/libraries/src/Console/CheckJoomlaUpdatesCommand.php
@@ -152,7 +152,6 @@ protected function doExecute(InputInterface $input, OutputInterface $output): in
         switch ($config->get('updatesource', 'default')) {
             case 'default':
             case 'next':
-            case 'testing':
                 $symfonyStyle->writeln('You are on the ' . $config->get('updatesource', 'default') . ' update channel.');
                 break;
             case 'custom':
diff --git a/libraries/src/Console/CoreUpdateChannelCommand.php b/libraries/src/Console/CoreUpdateChannelCommand.php
index 86a0ac44ac285..31dba413e2490 100644
--- a/libraries/src/Console/CoreUpdateChannelCommand.php
+++ b/libraries/src/Console/CoreUpdateChannelCommand.php
@@ -75,7 +75,7 @@ protected function configure(): void
         $this->setDescription('Manage the update channel for Joomla core updates');
         $this->setHelp($help);
 
-        $this->addArgument('channel', InputArgument::OPTIONAL, 'Name of the update channel [default, next, testing, custom]');
+        $this->addArgument('channel', InputArgument::OPTIONAL, 'Name of the update channel [default, next, custom]');
         $this->addOption('url', null, InputOption::VALUE_OPTIONAL, 'URL to update source. Only for custom update channel');
     }
 
@@ -100,7 +100,6 @@ protected function doExecute(InputInterface $input, OutputInterface $output): in
             switch ($params->get('updatesource', 'default')) {
                 case 'default':
                 case 'next':
-                case 'testing':
                     $symfonyStyle->writeln('You are on the "' . $params->get('updatesource', 'default') . '" update channel.');
                     break;
                 case 'custom':
@@ -114,8 +113,8 @@ protected function doExecute(InputInterface $input, OutputInterface $output): in
             return Command::SUCCESS;
         }
 
-        if (!\in_array($channel, ['default', 'next', 'testing', 'custom'])) {
-            $symfonyStyle->error('The given update channel is invalid. Please only choose from [default, next, testing, custom].');
+        if (!\in_array($channel, ['default', 'next', 'custom'])) {
+            $symfonyStyle->error('The given update channel is invalid. Please only choose from [default, next, custom].');
 
             return Command::FAILURE;
         }
diff --git a/libraries/src/Console/TasksListCommand.php b/libraries/src/Console/TasksListCommand.php
index dfefb3937abe8..217677d8fb7dd 100644
--- a/libraries/src/Console/TasksListCommand.php
+++ b/libraries/src/Console/TasksListCommand.php
@@ -72,15 +72,22 @@ protected function doExecute(InputInterface $input, OutputInterface $output): in
         $tasks = array_map(
             function (\stdClass $task): array {
                 $enabled  = $task->state === 1;
-                $nextExec = Factory::getDate($task->next_execution, 'UTC');
-                $due      = $enabled && $task->taskOption && Factory::getDate('now', 'UTC') > $nextExec;
+                $rule     = json_decode($task->execution_rules);
+
+                if ($rule->{'rule-type'} === 'manual') {
+                    $nextRun = 'Manual';
+                } else {
+                    $nextExec = Factory::getDate($task->next_execution, 'UTC');
+                    $due      = $enabled && $task->taskOption && Factory::getDate('now', 'UTC') > $nextExec;
+                    $nextRun  = $due ? 'DUE!' : $nextExec->toRFC822();
+                }
 
                 return [
                     'id'             => $task->id,
                     'title'          => $task->title,
                     'type'           => $task->safeTypeTitle,
                     'state'          => $task->state === 1 ? 'Enabled' : ($task->state === 0 ? 'Disabled' : 'Trashed'),
-                    'next_execution' => $due ? 'DUE!' : $nextExec->toRFC822(),
+                    'next_execution' => $nextRun,
                 ];
             },
             $this->getTasks()
@@ -105,7 +112,7 @@ private function getTasks(): array
 
         return $scheduler->fetchTaskRecords(
             ['state' => '*'],
-            ['ordering' => 'a.title', 'select' => 'a.id, a.title, a.type, a.state, a.next_execution']
+            ['ordering' => 'a.title', 'select' => 'a.id, a.title, a.type, a.state, a.next_execution, a.execution_rules']
         );
     }
 
diff --git a/libraries/src/Document/Renderer/Html/HeadRenderer.php b/libraries/src/Document/Renderer/Html/HeadRenderer.php
index 62da32d411561..fec504abe520d 100644
--- a/libraries/src/Document/Renderer/Html/HeadRenderer.php
+++ b/libraries/src/Document/Renderer/Html/HeadRenderer.php
@@ -35,11 +35,8 @@ class HeadRenderer extends DocumentRenderer
      */
     public function render($head, $params = [], $content = null)
     {
-        $buffer  = '';
-        $buffer .= $this->_doc->loadRenderer('metas')->render($head, $params, $content);
-        $buffer .= $this->_doc->loadRenderer('styles')->render($head, $params, $content);
-        $buffer .= $this->_doc->loadRenderer('scripts')->render($head, $params, $content);
-
-        return $buffer;
+        return $this->_doc->loadRenderer('metas')->render($head, $params, $content)
+        . $this->_doc->loadRenderer('styles')->render($head, $params, $content)
+        . $this->_doc->loadRenderer('scripts')->render($head, $params, $content);
     }
 }
diff --git a/libraries/src/Service/Provider/Session.php b/libraries/src/Service/Provider/Session.php
index df97bb95196e7..4fe992d9e3589 100644
--- a/libraries/src/Service/Provider/Session.php
+++ b/libraries/src/Service/Provider/Session.php
@@ -86,7 +86,7 @@ function (Container $container) {
                 $options['cookie_path']   = $config->get('cookie_path', '/');
 
                 return new \Joomla\CMS\Session\Session(
-                    new JoomlaStorage($input, $handler),
+                    new JoomlaStorage($input, $handler, $options),
                     $container->get(DispatcherInterface::class),
                     $options
                 );
@@ -133,7 +133,7 @@ function (Container $container) {
                 $options['cookie_path']   = $config->get('cookie_path', '/');
 
                 return new \Joomla\CMS\Session\Session(
-                    new JoomlaStorage($input, $handler),
+                    new JoomlaStorage($input, $handler, $options),
                     $container->get(DispatcherInterface::class),
                     $options
                 );
@@ -174,7 +174,7 @@ function (Container $container) {
                 $options['cookie_path']   = $config->get('cookie_path', '/');
 
                 return new \Joomla\CMS\Session\Session(
-                    new JoomlaStorage($input, $handler),
+                    new JoomlaStorage($input, $handler, $options),
                     $container->get(DispatcherInterface::class),
                     $options
                 );
diff --git a/plugins/content/vote/tmpl/rating.php b/plugins/content/vote/tmpl/rating.php
index 7e5d605ec74b5..aa1afb3b6b798 100644
--- a/plugins/content/vote/tmpl/rating.php
+++ b/plugins/content/vote/tmpl/rating.php
@@ -83,17 +83,17 @@
 ?>
 <div class="content_rating" role="img" aria-label="<?php echo Text::sprintf('PLG_VOTE_STAR_RATING', $rating); ?>">
     <?php if ($rcount) : ?>
-    <div class="visually-hidden" itemscope itemtype="https://schema.org/Product">
-        <span itemprop="name"><?php echo $row->title; ?></span>
-        <p class="visually-hidden" itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating">
-            <?php echo Text::sprintf('PLG_VOTE_USER_RATING', '<span itemprop="ratingValue">' . $rating . '</span>', '<span itemprop="bestRating">5</span>'); ?>
-            <meta itemprop="ratingCount" content="<?php echo $rcount; ?>">
-            <meta itemprop="worstRating" content="1">
-        </p>
+        <div class="visually-hidden" itemscope itemtype="https://schema.org/Product">
+            <span itemprop="name"><?php echo $row->title; ?></span>
+            <p itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating">
+                <?php echo Text::sprintf('PLG_VOTE_USER_RATING', '<span itemprop="ratingValue">' . $rating . '</span>', '<span itemprop="bestRating">5</span>'); ?>
+                <meta itemprop="ratingCount" content="<?php echo $rcount; ?>">
+                <meta itemprop="worstRating" content="1">
+            </p>
+        </div>
         <?php if ($this->params->get('show_total_votes', 0)) : ?>
             <?php echo Text::sprintf('PLG_VOTE_TOTAL_VOTES', $rcount); ?>
         <?php endif; ?>
-    </div>
     <?php endif; ?>
     <ul>
         <?php echo $img; ?>
diff --git a/plugins/system/schemaorg/src/Extension/Schemaorg.php b/plugins/system/schemaorg/src/Extension/Schemaorg.php
index abdb4dbcb3bd2..52ab90394dad0 100644
--- a/plugins/system/schemaorg/src/Extension/Schemaorg.php
+++ b/plugins/system/schemaorg/src/Extension/Schemaorg.php
@@ -61,6 +61,7 @@ public static function getSubscribedEvents(): array
             'onContentPrepareData' => 'onContentPrepareData',
             'onContentPrepareForm' => 'onContentPrepareForm',
             'onContentAfterSave'   => 'onContentAfterSave',
+            'onContentAfterDelete' => 'onContentAfterDelete',
         ];
     }
 
@@ -204,16 +205,7 @@ public function onContentAfterSave(Model\AfterSaveEvent $event)
         $itemId = (int) $table->id;
 
         if (empty($data['schema']) || empty($data['schema']['schemaType']) || $data['schema']['schemaType'] === 'None') {
-            $query = $db->getQuery(true);
-
-            $query->delete($db->quoteName('#__schemaorg'))
-                ->where($db->quoteName('itemId') . '= :itemId')
-                ->bind(':itemId', $itemId, ParameterType::INTEGER)
-                ->where($db->quoteName('context') . '= :context')
-                ->bind(':context', $context, ParameterType::STRING);
-
-            $db->setQuery($query)->execute();
-
+            $this->deleteSchemaOrg($itemId, $context);
             return;
         }
 
@@ -537,4 +529,45 @@ protected function isSupported($context)
 
         return false;
     }
+
+    /**
+     * The delete event.
+     *
+     * @param   Object    $event  The event
+     *
+     * @return  void
+     *
+     * @since   __DEPLOY_VERSION__
+     */
+    public function onContentAfterDelete(Model\AfterDeleteEvent $event)
+    {
+        $context = $event->getContext();
+        $itemId  = $event->getItem()->id;
+
+        $this->deleteSchemaOrg($itemId, $context);
+    }
+
+    /**
+     * Delete SchemaOrg record from Database.
+     *
+     * @param   Integer   $itemId
+     * @param   String    $context
+     *
+     * @return  void
+     *
+     * @since   __DEPLOY_VERSION__
+     */
+    public function deleteSchemaOrg($itemId, $context)
+    {
+        $db    = $this->getDatabase();
+        $query = $db->getQuery(true);
+
+        $query->delete($db->quoteName('#__schemaorg'))
+            ->where($db->quoteName('itemId') . '= :itemId')
+            ->where($db->quoteName('context') . '= :context')
+            ->bind(':itemId', $itemId, ParameterType::INTEGER)
+            ->bind(':context', $context, ParameterType::STRING);
+
+        $db->setQuery($query)->execute();
+    }
 }
diff --git a/tests/System/README.md b/tests/System/README.md
index a0c72946fa8c3..e10172abfe791 100644
--- a/tests/System/README.md
+++ b/tests/System/README.md
@@ -68,13 +68,13 @@ npm run cypress:run
 
 You can execute single test specs, e.g. to run the installation step only.

-npm run cypress:run --spec tests/System/integration/install/Installation.cy.js
+npx cypress run --spec tests/System/integration/install/Installation.cy.js


-You can run multiple test specs separated by commas and use patterns. For example, to execute all the tests from the
-administrator, site, api and plugins specs without the installation step:
+You can run multiple test specs separated by commas and use patterns.
+For example, to run all tests without the installation step:

-npm run cypress:run --spec 'tests/System/integration/{administrator,site,api,plugins}//*.cy.js'
+npx cypress run --spec 'tests/System/integration/{administrator,site,api,plugins}/
/*.cy.js'


> [!NOTE]
@@ -293,7 +293,7 @@ sudo npm run cypress:run

If the `root` user does not have a Cypress installation, you can use the Cypress installation cache of the current user:

-sudo CYPRESS_CACHE_FOLDER=$HOME/.cache/Cypress npm run cypress:run
+CYPRESS_CACHE_FOLDER=$HOME/.cache/Cypress sudo npm run cypress:run



@@ -310,6 +310,8 @@ If the used SMTP server port is already in use you will see an error like:

:point_right: Configure a different, unused port in the `cypress.config.mjs` file as `smtp_port`.

+:point_right: If you use `npx` instead of `npm`, you may see `Your configFile threw an error from: cypress.config.js`,
+but you still need to configure `cypress.config.mjs` file.

### Timeout Error on Slow Machines


@tecpromotion
Copy link
Member

not relevant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants