get_available_languages()WP 3.0.0

Gets all available languages based on the presence of .mo and .l10n.php files in a given directory.

The default directory is WP_LANG_DIR.

Хуки из функции

Возвращает

Строку[]. An array of language codes or an empty array if no languages are present. Language codes are formed by stripping the file extension from the language file names.

Использование

get_available_languages( $dir );
$dir(строка)
A directory to search for language files.
По умолчанию: WP_LANG_DIR

Заметки

  • Global. WP_Textdomain_Registry. $wp_textdomain_registry WordPress Textdomain Registry.

Список изменений

С версии 3.0.0 Введена.
С версии 4.7.0 The results are now filterable with the get_available_languages filter.
С версии 6.5.0 The initial file list is now cached and also takes into account *.l10n.php files.

Код get_available_languages() WP 6.5.2

function get_available_languages( $dir = null ) {
	global $wp_textdomain_registry;

	$languages = array();

	$path       = is_null( $dir ) ? WP_LANG_DIR : $dir;
	$lang_files = $wp_textdomain_registry->get_language_files_from_path( $path );

	if ( $lang_files ) {
		foreach ( $lang_files as $lang_file ) {
			$lang_file = basename( $lang_file, '.mo' );
			$lang_file = basename( $lang_file, '.l10n.php' );

			if ( ! str_starts_with( $lang_file, 'continents-cities' ) && ! str_starts_with( $lang_file, 'ms-' ) &&
				! str_starts_with( $lang_file, 'admin-' ) ) {
				$languages[] = $lang_file;
			}
		}
	}

	/**
	 * Filters the list of available language codes.
	 *
	 * @since 4.7.0
	 *
	 * @param string[] $languages An array of available language codes.
	 * @param string   $dir       The directory where the language files were found.
	 */
	return apply_filters( 'get_available_languages', array_unique( $languages ), $dir );
}