WordPress.org

Make WordPress Core

Ticket #42574: 42574.diff

File 42574.diff, 2.5 KB (added by blobfolio, 3 months ago)

Improve locale-handling

  • src/wp-includes/js/mediaelement/mediaelement-and-player.js

    diff --git src/wp-includes/js/mediaelement/mediaelement-and-player.js src/wp-includes/js/mediaelement/mediaelement-and-player.js
    index be8e58e966..59869c4b31 100644
    module.exports = win; 
    5656  var setTimeoutFunc = setTimeout; 
    5757 
    5858  function noop() {} 
    59    
     59 
    6060  // Polyfill for Function.prototype.bind 
    6161  function bind(fn, thisArg) { 
    6262    return function () { 
    module.exports = win; 
    274274  Promise._setUnhandledRejectionFn = function _setUnhandledRejectionFn(fn) { 
    275275    Promise._unhandledRejectionFn = fn; 
    276276  }; 
    277    
     277 
    278278  if (typeof module !== 'undefined' && module.exports) { 
    279279    module.exports = Promise; 
    280280  } else if (!root.Promise) { 
    i18n.language = function () { 
    315315                        throw new TypeError('Language code must be a string value'); 
    316316                } 
    317317 
    318                 if (!/^[a-z]{2,3}((\-|_)[a-z]{2})?$/i.test(args[0])) { 
     318                if (!/^[a-z]{2,3}((\-|_)[a-z]{2})?/i.test(args[0])) { 
    319319                        throw new TypeError('Language code must have format 2-3 letters and. optionally, hyphen, underscore followed by 2 more letters'); 
    320320                } 
    321321 
    322322                i18n.lang = args[0]; 
    323323 
     324                // Catch non-conformant locales, e.g. de-de-formal. 
     325                if ((i18n[args[0]] === undefined) && !/^[a-z]{2,3}((\-|_)[a-z]{2})?$/i.test(args[0])) { 
     326                        args[0] = args[0].replace(/^([a-z]{2,3}((\-|_)[a-z]{2})?).*/i, '$1'); 
     327                        i18n.lang = args[0]; 
     328                } 
     329 
    324330                if (i18n[args[0]] === undefined) { 
    325331                        args[1] = args[1] !== null && args[1] !== undefined && _typeof(args[1]) === 'object' ? args[1] : {}; 
    326332                        i18n[args[0]] = !(0, _general.isObjectEmpty)(args[1]) ? args[1] : _en.EN; 
    var MediaElementPlayer = function () { 
    41524158                                                                } 
    41534159                                                        }, 20); 
    41544160                                                } catch (exp) { 
    4155                                                          
     4161 
    41564162                                                } 
    41574163                                        } 
    41584164 
    var PluginDetector = exports.PluginDetector = { 
    58365842                                        version = axDetect(ax); 
    58375843                                } 
    58385844                        } catch (e) { 
    5839                                  
     5845 
    58405846                        } 
    58415847                } 
    58425848                return version; 
    var FlashMediaElementRenderer = { 
    59075913                                        try { 
    59085914                                                flash.flashApi['set_' + propName](value); 
    59095915                                        } catch (e) { 
    5910                                                  
     5916 
    59115917                                        } 
    59125918                                } else { 
    59135919                                        flash.flashApiStack.push({ 
    var FlashMediaElementRenderer = { 
    59325938                                                        try { 
    59335939                                                                flash.flashApi['fire_' + methodName](); 
    59345940                                                        } catch (e) { 
    5935                                                                  
     5941 
    59365942                                                        } 
    59375943                                                } else { 
    5938                                                          
     5944 
    59395945                                                } 
    59405946                                        } else { 
    59415947                                                flash.flashApiStack.push({ 
    var YouTubeIframeRenderer = { 
    71507156                                                        mediaElement.dispatchEvent(event); 
    71517157                                                        break; 
    71527158                                                default: 
    7153                                                          
     7159 
    71547160                                                        break; 
    71557161                                        } 
    71567162                                } else {