Changeset 13936
- Timestamp:
- 06/24/2024 02:05:55 AM (6 months ago)
- Location:
- trunk/src/bp-core
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-core/bp-core-functions.php
r13909 r13936 2485 2485 2486 2486 /** 2487 * Load the buddypress translation file for current language. 2488 * 2489 * @since 1.0.2 2490 * 2491 * @see load_textdomain() for a description of return values. 2492 * 2493 * @return bool 2494 */ 2495 function bp_core_load_buddypress_textdomain() { 2496 $domain = 'buddypress'; 2497 2498 /** 2499 * Filters the locale to be loaded for the language files. 2500 * 2501 * @since 1.0.2 2502 * 2503 * @param string $value Current locale for the install. 2504 */ 2505 $mofile_custom = sprintf( '%s-%s.mo', $domain, apply_filters( 'buddypress_locale', get_locale() ) ); 2506 2507 /** 2508 * Filters the locations to load language files from. 2509 * 2510 * @since 2.2.0 2511 * 2512 * @param array $value Array of directories to check for language files in. 2513 */ 2514 $locations = apply_filters( 'buddypress_locale_locations', array( 2515 trailingslashit( WP_LANG_DIR . '/' . $domain ), 2516 trailingslashit( WP_LANG_DIR ), 2517 ) ); 2518 2519 // Try custom locations in WP_LANG_DIR. 2520 foreach ( $locations as $location ) { 2521 if ( load_textdomain( 'buddypress', $location . $mofile_custom ) ) { 2522 return true; 2523 } 2524 } 2525 2526 // Default to WP and glotpress. 2527 return load_plugin_textdomain( $domain ); 2528 } 2529 add_action( 'bp_core_loaded', 'bp_core_load_buddypress_textdomain' ); 2487 * Looks for the requested file name into a list of custom language locations. 2488 * 2489 * @since 14.0.0 2490 * 2491 * @param string $file_name The file name. 2492 * @return string A file path or an empty string if no files were found into custom language locations. 2493 */ 2494 function bp_get_custom_translation_file( $file_name = '' ) { 2495 $file_path = ''; 2496 2497 if ( $file_name ) { 2498 /** 2499 * Filters the locations to load language files from. 2500 * 2501 * Custom translation files can be put in: 2502 * 1. `/wp-content/languages/plugins/buddypress` 2503 * 2. `/wp-content/languages/buddypress` 2504 * 3. `/wp-content/languages` 2505 * 2506 * @since 2.2.0 2507 * @since 14.0.0 Adds a new location. 2508 * 2509 * @param array $value Array of directories to check for language files in. 2510 */ 2511 $locations = apply_filters( 'buddypress_locale_locations', 2512 array( 2513 trailingslashit( WP_LANG_DIR . '/plugins/buddypress' ), 2514 trailingslashit( WP_LANG_DIR . '/buddypress' ), 2515 trailingslashit( WP_LANG_DIR ), 2516 ) 2517 ); 2518 2519 // Try custom locations in WP_LANG_DIR. 2520 foreach ( $locations as $location ) { 2521 $custom_file = $location . $file_name; 2522 2523 // Use the first found. 2524 if ( file_exists( $custom_file ) ) { 2525 $file_path = $custom_file; 2526 break; 2527 } 2528 } 2529 } 2530 2531 return $file_path; 2532 } 2533 2534 /** 2535 * Override translation file for current language. 2536 * 2537 * @since 14.0.0 2538 * 2539 * @param string $file Absolut path to the translation file to use. 2540 * @param string $domain The text domain to check against `buddypress`. 2541 * @param string $locale The current locale for the WordPress site. 2542 * @return string Absolut path to the translation file to use. 2543 */ 2544 function bp_load_custom_translation_file( $file, $domain, $locale = '' ) { 2545 $bp_domain = 'buddypress'; 2546 2547 if ( $domain !== $bp_domain ) { 2548 return $file; 2549 } 2550 2551 if ( ! $locale ) { 2552 $locale = determine_locale(); 2553 } 2554 2555 $mofile_custom = bp_get_custom_translation_file( 2556 /** 2557 * Filters the locale to be loaded for the language files. 2558 * 2559 * @since 1.0.2 2560 * 2561 * @param string $locale Current locale. 2562 */ 2563 sprintf( '%s-%s.mo', $domain, apply_filters( 'buddypress_locale', $locale ) ) 2564 ); 2565 2566 if ( $mofile_custom ) { 2567 $file = $mofile_custom; 2568 } 2569 2570 // Returns the translation file to use. 2571 return $file; 2572 } 2573 add_filter( 'load_translation_file', 'bp_load_custom_translation_file', 10, 3 ); 2574 2575 /** 2576 * Override script translation file for current language. 2577 * 2578 * @since 14.0.0 2579 * 2580 * @param string|false $file Path to the translation file to load. False if there isn't one. 2581 * @param string $handle Name of the script to register a translation domain to. 2582 * @param string $domain The text domain. 2583 * @return string Path to the translation file to load. 2584 */ 2585 function bp_load_custom_script_translation_file( $file, $handle, $domain ) { 2586 $bp_domain = 'buddypress'; 2587 2588 if ( $domain !== $bp_domain ) { 2589 return $file; 2590 } 2591 2592 $file_name = wp_basename( $file ); 2593 $custom_file = bp_get_custom_translation_file( $file_name ); 2594 2595 if ( $custom_file ) { 2596 $file = $custom_file; 2597 } 2598 2599 // Returns the translation file to use. 2600 return $file; 2601 } 2602 add_filter( 'load_script_translation_file', 'bp_load_custom_script_translation_file', 10, 3 ); 2530 2603 2531 2604 /** -
trunk/src/bp-core/deprecated/14.0.php
r13877 r13936 85 85 ); 86 86 } 87 88 /** 89 * Load the buddypress translation file for current language. 90 * 91 * @since 1.0.2 92 * @deprecated 14.0.0 93 * 94 * @return bool 95 */ 96 function bp_core_load_buddypress_textdomain() { 97 _deprecated_function( __FUNCTION__, '14.0.0' ); 98 99 return false; 100 }
Note: See TracChangeset
for help on using the changeset viewer.