get_available_languages( string $dir = null )

Get all available languages based on the presence of *.mo files in a given directory.


Description

The default directory is WP_LANG_DIR.


Parameters

$dir

(string) (Optional) A directory to search for language files. Default WP_LANG_DIR.

Default value: null


Return

(array) An array of language codes or an empty array if no languages are present. Language codes are formed by stripping the .mo extension from the language file names.


Source

File: wp-includes/l10n.php

function get_available_languages( $dir = null ) {
	$languages = array();

	$lang_files = glob( ( is_null( $dir ) ? WP_LANG_DIR : $dir ) . '/*.mo' );
	if ( $lang_files ) {
		foreach ( $lang_files as $lang_file ) {
			$lang_file = basename( $lang_file, '.mo' );
			if ( 0 !== strpos( $lang_file, 'continents-cities' ) && 0 !== strpos( $lang_file, 'ms-' ) &&
				0 !== strpos( $lang_file, 'admin-' ) ) {
				$languages[] = $lang_file;
			}
		}
	}

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


Changelog

Changelog
Version Description
WP-4.7.0 The results are now filterable with the 'get_available_languages' filter.
WP-3.0.0 Introduced.