Ticket #11012: load_textdomain-hook.2.diff
File load_textdomain-hook.2.diff, 4.7 KB (added by , 15 years ago) |
---|
-
wp-includes/l10n.php
28 28 function get_locale() { 29 29 global $locale; 30 30 31 if ( isset($locale))31 if ( isset( $locale ) ) 32 32 return apply_filters( 'locale', $locale ); 33 33 34 34 // WPLANG is defined in wp-config. 35 if ( defined('WPLANG'))35 if ( defined( 'WPLANG' ) ) 36 36 $locale = WPLANG; 37 37 38 if ( empty($locale))38 if ( empty( $locale ) ) 39 39 $locale = 'en_US'; 40 40 41 return apply_filters( 'locale', $locale);41 return apply_filters( 'locale', $locale ); 42 42 } 43 43 44 44 /** … … 56 56 */ 57 57 function translate( $text, $domain = 'default' ) { 58 58 $translations = &get_translations_for_domain( $domain ); 59 return apply_filters( 'gettext', $translations->translate($text), $text, $domain);59 return apply_filters( 'gettext', $translations->translate( $text ), $text, $domain ); 60 60 } 61 61 62 62 function before_last_bar( $string ) { … … 80 80 */ 81 81 function translate_with_context( $text, $domain = 'default' ) { 82 82 return before_last_bar( translate( $text, $domain ) ); 83 84 83 } 85 84 86 85 function translate_with_gettext_context( $text, $context, $domain = 'default' ) { 87 86 $translations = &get_translations_for_domain( $domain ); 88 return apply_filters( 'gettext_with_context', $translations->translate( $text, $context ), $text, $context, $domain );87 return apply_filters( 'gettext_with_context', $translations->translate( $text, $context ), $text, $context, $domain ); 89 88 } 90 89 91 90 /** … … 195 194 * @param string $domain Optional. Domain to retrieve the translated text 196 195 * @return string Translated context string without pipe 197 196 */ 198 function _c( $text, $domain = 'default') {199 return translate_with_context( $text, $domain);197 function _c( $text, $domain = 'default' ) { 198 return translate_with_context( $text, $domain ); 200 199 } 201 200 202 201 function _x( $single, $context, $domain = 'default' ) { … … 235 234 * @param string $domain Optional. The domain identifier the text should be retrieved in 236 235 * @return string Either $single or $plural translated text 237 236 */ 238 function _n( $single, $plural, $number, $domain = 'default') {237 function _n( $single, $plural, $number, $domain = 'default' ) { 239 238 $translations = &get_translations_for_domain( $domain ); 240 239 $translation = $translations->translate_plural( $single, $plural, $number ); 241 240 return apply_filters( 'ngettext', $translation, $single, $plural, $number, $domain ); … … 316 315 * @param string $mofile Path to the .mo file 317 316 * @return bool true on success, false on failure 318 317 */ 319 function load_textdomain( $domain, $mofile) {318 function load_textdomain( $domain, $mofile ) { 320 319 global $l10n; 320 321 $plugin_override = apply_filters( 'override_load_textdomain', false, $domain, $mofile ); 322 323 if ( true == $plugin_override ) { 324 return true; 325 } 326 327 do_action( 'load_textdomain', $domain, $mofile ); 328 329 $mofile = apply_filters( 'load_textdomain_mofile', $mofile, $domain ); 321 330 322 331 if ( !is_readable( $mofile ) ) return false; 323 332 … … 328 337 $mo->merge_with( $l10n[$domain] ); 329 338 330 339 $l10n[$domain] = &$mo; 340 331 341 return true; 332 342 } 333 343 … … 344 354 345 355 $mofile = WP_LANG_DIR . "/$locale.mo"; 346 356 347 return load_textdomain( 'default', $mofile);357 return load_textdomain( 'default', $mofile ); 348 358 } 349 359 350 360 /** … … 360 370 * where the .mo file resides. Deprecated, but still functional until 2.7 361 371 * @param string $plugin_rel_path Optional. Relative path to WP_PLUGIN_DIR. This is the preferred argument to use. It takes precendence over $abs_rel_path 362 372 */ 363 function load_plugin_textdomain( $domain, $abs_rel_path = false, $plugin_rel_path = false) {373 function load_plugin_textdomain( $domain, $abs_rel_path = false, $plugin_rel_path = false ) { 364 374 $locale = get_locale(); 365 375 366 376 if ( false !== $plugin_rel_path ) 367 $path = WP_PLUGIN_DIR . '/' . trim( $plugin_rel_path, '/' );368 else if ( false !== $abs_rel_path )369 $path = ABSPATH . trim( $abs_rel_path, '/' );377 $path = WP_PLUGIN_DIR . '/' . trim( $plugin_rel_path, '/' ); 378 else if ( false !== $abs_rel_path ) 379 $path = ABSPATH . trim( $abs_rel_path, '/' ); 370 380 else 371 381 $path = WP_PLUGIN_DIR; 372 382 373 383 $mofile = $path . '/'. $domain . '-' . $locale . '.mo'; 374 return load_textdomain( $domain, $mofile);384 return load_textdomain( $domain, $mofile ); 375 385 } 376 386 377 387 /** … … 404 414 */ 405 415 function &get_translations_for_domain( $domain ) { 406 416 global $l10n; 407 if ( !isset( $l10n[$domain]) ) {417 if ( !isset( $l10n[$domain] ) ) { 408 418 $l10n[$domain] = &new NOOP_Translations; 409 419 } 410 420 return $l10n[$domain]; … … 421 431 * won't suffer from that problem. 422 432 */ 423 433 function translate_user_role( $name ) { 424 return translate_with_gettext_context( before_last_bar( $name), 'User role' );425 } 426 ?> 434 return translate_with_gettext_context( before_last_bar( $name ), 'User role' ); 435 } 436 No newline at end of file