wp_get_installed_translations() – Gets installed translations.

You appear to be a bot. Output may be restricted

Description

Gets installed translations.

Looks in the wp-content/languages directory for translations of plugins or themes.

Usage

$array = wp_get_installed_translations( $type );

Parameters

$type
( string ) required – What to search for. Accepts 'plugins', 'themes', 'core'.

Returns

array Array of language data.

Source

File name: wordpress/wp-includes/l10n.php


Lines:

1 to 45 of 45
function wp_get_installed_translations( $type ) {
  if ( 'themes' !== $type && 'plugins' !== $type && 'core' !== $type ) {
    return array();
  }

  $dir = 'core' === $type ? '' : "/$type";

  if ( ! is_dir( WP_LANG_DIR ) ) {
    return array();
  }

  if ( $dir && ! is_dir( WP_LANG_DIR . $dir ) ) {
    return array();
  }

  $files = scandir( WP_LANG_DIR . $dir );
  if ( ! $files ) {
    return array();
  }

  $language_data = array();

  foreach ( $files as $file ) {
    if ( '.' === $file[0] || is_dir( WP_LANG_DIR . "$dir/$file" ) ) {
      continue;
    }
    if ( ! str_ends_with( $file, '.po' ) ) {
      continue;
    }
    if ( ! preg_match( '/(?:(.+)-)?([a-z]{2,3}(?:_[A-Z]{2})?(?:_[a-z0-9]+)?).po/', $file, $match ) ) {
      continue;
    }
    if ( ! in_array( substr( $file, 0, -3 ) . '.mo', $files, true ) ) {
      continue;
    }

    list( , $textdomain, $language ) = $match;
    if ( '' === $textdomain ) {
      $textdomain = 'default';
    }
    $language_data[ $textdomain ][ $language ] = wp_get_pomo_file_data( WP_LANG_DIR . "$dir/$file" );
  }
  return $language_data;
}
 

 View on GitHub View on Trac