LLMS_Assets::set_script_translations( array $script )
Load JSON format localization files for a registered script
Description Description
This method mimics the behavior of PO/MO pot files loaded for PHP localization.
Language files can be found in the following locations (The first loaded file takes priority):
-
wp-content/languages/{$textdomain}/{$textdomain}-{$locale}-{$file_md5_hash}.json
This is recommended "safe" location where custom language files can be stored. A file stored in this directory will never be automatically overwritten.
-
wp-content/languages/plugins/{$textdomain}-{$locale}-{$file_md5_hash}.json
This is the default directory where WordPress will download language files from the WordPress GlotPress server during updates. If you store a custom language file in this directory it will be overwritten during updates.
-
wp-content/plugins/{$textdomain}/languages/{$textdomain}-{$locale}-{$file_md5_hash}.json
This is the the LifterLMS plugin directory. A language file stored in this directory will be removed from the server during a LifterLMS plugin update.
Parameters Parameters
- $script
-
(array) (Required) An asset definition array from the return of
LLMS_Assets::get()
.
Return Return
(void)
Source Source
File: includes/class-llms-assets.php
* @return void */ protected function set_script_translations( $script ) { $plugin_data = get_plugin_data( $script['base_file'], false, false ); $domain = $plugin_data['TextDomain']; // Setup the script's filename based on the md5 of it's relative path. $relative_path = sprintf( '%1$s/%2$s%3$s', $script['path'], $script['file_name'], $script['extension'] ); $file = sprintf( '%1$s-%2$s-%3$s.json', $domain, llms_get_locale(), md5( $relative_path ) ); // Possible directories where the language files may be found. $dirs = array( llms_l10n_get_safe_directory(), WP_LANG_DIR . '/plugins', // Default language directory. trailingslashit( plugin_dir_path( $script['base_file'] ) ) . untrailingslashit( ltrim( $plugin_data['DomainPath'], '/' ) ), // Language directory within the plugin. ); foreach ( $dirs as $dir ) { // If the file exists, set the script translations. if ( file_exists( sprintf( '%1$s/%2$s', $dir, $file ) ) ) { wp_set_script_translations( $script['handle'], $domain, $dir ); break; } }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
4.9.0 | Introduced. |