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

The default directory is WP_LANG_DIR.

Signature

get_available_languages( $dir = null )
dir
 (string) A directory to search for language files. Default WP_LANG_DIR.
Default: 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

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 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 );
}
WP Trac GitHub

Link here