Set the locale and load the default text domain after plugins are loaded so that plugins can manipulate the locale. Bug 765.

git-svn-id: http://svn.automattic.com/wordpress/trunk@2161 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
rboren 2005-01-29 23:17:10 +00:00
parent 7f793c6cfe
commit 0e73b09de1
2 changed files with 30 additions and 20 deletions

View File

@ -1,5 +1,12 @@
<?php
$locale = '';
require_once(ABSPATH . 'wp-includes/streams.php');
require_once(ABSPATH . 'wp-includes/gettext.php');
function get_locale() {
global $locale;
if (isset($locale))
return $locale;
// WPLANG is defined in wp-config.
if (defined('WPLANG')) {
@ -12,8 +19,8 @@ if (empty($locale)) {
$locale = apply_filters('locale', $locale);
require_once(ABSPATH . 'wp-includes/streams.php');
require_once(ABSPATH . 'wp-includes/gettext.php');
return $locale;
}
// Return a translated string.
function __($text, $domain = 'default') {
@ -65,29 +72,26 @@ function load_textdomain($domain, $mofile) {
}
function load_default_textdomain() {
global $l10n, $locale;
global $l10n;
$locale = get_locale();
$mofile = ABSPATH . "wp-includes/languages/$locale.mo";
load_textdomain('default', $mofile);
}
function load_plugin_textdomain($domain) {
global $locale;
$locale = get_locale();
$mofile = ABSPATH . "wp-content/plugins/$domain-$locale.mo";
load_textdomain($domain, $mofile);
}
function load_theme_textdomain($domain) {
global $locale;
$locale = get_locale();
$mofile = get_template_directory() . "/$locale.mo";
load_textdomain($domain, $mofile);
}
// Load the default domain.
load_default_textdomain();
require_once(ABSPATH . WPINC . '/locale.php');
?>

View File

@ -101,6 +101,12 @@ if ( get_settings('active_plugins') ) {
define('TEMPLATEPATH', get_template_directory());
// Load the default text localization domain.
load_default_textdomain();
// Pull in locale data after loading text domain.
require_once(ABSPATH . WPINC . '/locale.php');
if ( !get_magic_quotes_gpc() ) {
$_GET = add_magic_quotes($_GET );
$_POST = add_magic_quotes($_POST );