The load_script_translation_file WordPress PHP Filter allows you to modify the file path for loading script translations for a given script handle and text domain.
Usage
add_filter( 'load_script_translation_file', 'your_custom_function', 10, 3 ); function your_custom_function( $file, $handle, $domain ) { // your custom code here return $file; }
Parameters
$file
(string|false): Path to the translation file to load. False if there isn’t one.$handle
(string): Name of the script to register a translation domain to.$domain
(string): The text domain.
More information
See WordPress Developer Resources: load_script_translation_file
Examples
Change the translation file path
Change the translation file path for a specific script handle and domain:
add_filter( 'load_script_translation_file', 'change_translation_file_path', 10, 3 ); function change_translation_file_path( $file, $handle, $domain ) { if ( 'my-script-handle' === $handle && 'my-text-domain' === $domain ) { $file = '/path/to/your/translation/file'; } return $file; }
Disable translations for a specific script
Disable translations for a specific script handle:
add_filter( 'load_script_translation_file', 'disable_script_translations', 10, 3 ); function disable_script_translations( $file, $handle, $domain ) { if ( 'my-script-handle' === $handle ) { return false; } return $file; }
Load a fallback translation file
Load a fallback translation file if the original file is not found:
add_filter( 'load_script_translation_file', 'load_fallback_translation_file', 10, 3 ); function load_fallback_translation_file( $file, $handle, $domain ) { if ( false === $file ) { $file = '/path/to/your/fallback/translation/file'; } return $file; }
Change translation file path based on language
Change the translation file path based on the current site language:
add_filter( 'load_script_translation_file', 'change_translation_file_based_on_language', 10, 3 ); function change_translation_file_based_on_language( $file, $handle, $domain ) { $language = get_locale(); if ( 'my-script-handle' === $handle && 'fr_FR' === $language ) { $file = '/path/to/your/french/translation/file'; } return $file; }
Add a custom translation file for a third-party script
Add a custom translation file for a third-party script:
add_filter( 'load_script_translation_file', 'add_custom_translation_file', 10, 3 ); function add_custom_translation_file( $file, $handle, $domain ) { if ( 'third-party-script-handle' === $handle && 'third-party-text-domain' === $domain ) { $file = '/path/to/your/custom/translation/file'; } return $file; }