WordPress.org

Make WordPress Core

Ticket #1550: 1550.diff

File 1550.diff, 2.3 KB (added by whimboo, 14 years ago)

Patch

  • wp-includes/wp-l10n.php

     
    1313
    1414        // WPLANG is defined in wp-config.
    1515        if (defined('WPLANG')) {
    16     $locale = WPLANG;
     16                $locale = WPLANG;
    1717        }
    1818       
    1919        if (empty($locale)) {
    20     $locale = 'en_US';
     20                $locale = 'en_US';
    2121        }
    2222
    2323        $locale = apply_filters('locale', $locale);
     
    2525        return $locale;
    2626}
    2727
     28function set_locale($domain) {
     29        global $l10n;
     30        global $locale;
     31       
     32        if (!isset($l10n[$domain])) {
     33                $mofile = ABSPATH . "wp-includes/languages/$domain.mo";
     34                load_textdomain($domain, $mofile);
     35        }
     36       
     37        if (isset($l10n[$domain])) {
     38                $locale = $domain;
     39        }
     40}
     41
    2842// Return a translated string.   
    29 function __($text, $domain = 'default') {
     43function __($text, $domain = NULL) {
    3044        global $l10n;
     45        global $locale;
    3146
     47        if (is_null($domain)) {
     48                $domain = $locale;
     49        }
     50       
    3251        if (isset($l10n[$domain])) {
    3352                return $l10n[$domain]->translate($text);
    3453        } else {
     
    3756}
    3857
    3958// Echo a translated string.
    40 function _e($text, $domain = 'default') {
     59function _e($text, $domain = NULL) {
    4160        global $l10n;
     61        global $locale;
    4262
     63        if (is_null($domain)) {
     64                $domain = $locale;
     65        }
     66       
    4367        if (isset($l10n[$domain])) {
    4468                echo $l10n[$domain]->translate($text);
    4569        } else {
     
    4872}
    4973
    5074// Return the plural form.
    51 function __ngettext($single, $plural, $number, $domain = 'default') {
     75function __ngettext($single, $plural, $number, $domain = NULL) {
    5276        global $l10n;
    5377
     78        if (is_null($domain)) {
     79                $domain = $locale;
     80        }
     81
    5482        if (isset($l10n[$domain])) {
    5583                return $l10n[$domain]->ngettext($single, $plural, $number);
    5684        } else {
     
    6795        if (isset($l10n[$domain])) {
    6896                return;
    6997        }
    70 
    71         if ( is_readable($mofile)) {
    72     $input = new CachedFileReader($mofile);
    73         }       else {
     98       
     99        if (is_readable($mofile)) {
     100                $input = new CachedFileReader($mofile);
     101        } else {
    74102                return;
    75103        }
    76104
     
    83111        $locale = get_locale();
    84112        $mofile = ABSPATH . "wp-includes/languages/$locale.mo";
    85113       
    86         load_textdomain('default', $mofile);
     114        load_textdomain($locale, $mofile);
    87115}
    88116
    89117function load_plugin_textdomain($domain) {
    90118        $locale = get_locale();
    91        
     119
    92120        $mofile = ABSPATH . "wp-content/plugins/$domain-$locale.mo";
    93121        load_textdomain($domain, $mofile);
    94122}