Plugin Directory

Changeset 3462708


Ignore:
Timestamp:
02/16/2026 04:34:58 PM (5 days ago)
Author:
gkanters
Message:

Backport language-switcher fix to 2.2.8 tag: ensure default language is always included in switcher language lists to prevent empty dropdown on translated pages.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ai-translate/tags/2.2.8/ai-translate.php

    r3462482 r3462708  
    965965    $enabled = isset($settings['enabled_languages']) && is_array($settings['enabled_languages']) ? array_values($settings['enabled_languages']) : array();
    966966    $default = isset($settings['default_language']) ? (string)$settings['default_language'] : '';
     967    if ($default !== '' && !in_array($default, $enabled, true)) {
     968        $enabled[] = $default;
     969    }
    967970    if ($default === '' && !empty($enabled)) {
    968971        $default = (string) $enabled[0];
     
    10301033    $enabled = isset($settings['enabled_languages']) && is_array($settings['enabled_languages']) ? array_values($settings['enabled_languages']) : array();
    10311034    $default = isset($settings['default_language']) ? (string)$settings['default_language'] : '';
     1035    if ($default !== '' && !in_array($default, $enabled, true)) {
     1036        $enabled[] = $default;
     1037    }
    10321038    if (empty($enabled) || $default === '') {
    10331039        return;
     
    25002506        array_values($settings['enabled_languages']) : array();
    25012507    $default_language = isset($settings['default_language']) ? (string)$settings['default_language'] : '';
     2508    if ($default_language !== '' && !in_array($default_language, $enabled_languages, true)) {
     2509        $enabled_languages[] = $default_language;
     2510    }
    25022511
    25032512    if (empty($enabled_languages) || empty($default_language)) {
     
    28292838        array_values($settings['enabled_languages']) : array();
    28302839    $default_language = isset($settings['default_language']) ? (string)$settings['default_language'] : '';
     2840    if ($default_language !== '' && !in_array($default_language, $enabled_languages, true)) {
     2841        $enabled_languages[] = $default_language;
     2842    }
    28312843
    28322844    if (empty($enabled_languages) || empty($default_language)) {
     
    29692981        array_values($settings['enabled_languages']) : array();
    29702982    $default_language = isset($settings['default_language']) ? (string)$settings['default_language'] : '';
     2983    if ($default_language !== '' && !in_array($default_language, $enabled_languages, true)) {
     2984        $enabled_languages[] = $default_language;
     2985    }
    29712986
    29722987    if (empty($enabled_languages) || empty($default_language)) {
     
    31403155            array_values($settings['enabled_languages']) : array();
    31413156        $default_language = isset($settings['default_language']) ? (string)$settings['default_language'] : '';
     3157        if ($default_language !== '' && !in_array($default_language, $enabled_languages, true)) {
     3158            $enabled_languages[] = $default_language;
     3159        }
    31423160
    31433161        if (empty($enabled_languages) || empty($default_language)) {
Note: See TracChangeset for help on using the changeset viewer.