Piwik\Common::getLanguagesList PHP Method

getLanguagesList() public static method

See also: Piwik\Intl\Data\Provider\LanguageDataProvider::getLanguageList()
Deprecation: Use Piwik\Intl\Data\Provider\LanguageDataProvider instead.
public static getLanguagesList ( ) : array
return array Array of two letter ISO codes mapped with their associated language names (in English). E.g. `array('en' => 'English', 'ja' => 'Japanese')`.
    public static function getLanguagesList()
    {
        /** @var LanguageDataProvider $dataProvider */
        $dataProvider = StaticContainer::get('Piwik\\Intl\\Data\\Provider\\LanguageDataProvider');
        return $dataProvider->getLanguageList();
    }

Usage Example

 /**
  * Validates the given translations
  *  * There need to be more than 250 translations presen
  *  * Locale, TranslatorName and TranslatorEmail needs to be set in plugin General
  *  * LayoutDirection needs to be ltr or rtl if present
  *  * Locale must be valid (format, language & country)
  *
  * @param array $translations
  *
  * @return boolean
  */
 public function isValid($translations)
 {
     $this->message = null;
     if (250 > count($translations, COUNT_RECURSIVE)) {
         $this->message = self::ERRORSTATE_MINIMUMTRANSLATIONS;
         return false;
     }
     if (empty($translations['General']['Locale'])) {
         $this->message = self::ERRORSTATE_LOCALEREQUIRED;
         return false;
     }
     if (empty($translations['General']['TranslatorName'])) {
         $this->message = self::ERRORSTATE_TRANSLATORINFOREQUIRED;
         return false;
     }
     if (empty($translations['General']['TranslatorEmail'])) {
         $this->message = self::ERRORSTATE_TRANSLATOREMAILREQUIRED;
         return false;
     }
     if (!empty($translations['General']['LayoutDirection']) && !in_array($translations['General']['LayoutDirection'], array('ltr', 'rtl'))) {
         $this->message = self::ERRORSTATE_LAYOUTDIRECTIONINVALID;
         return false;
     }
     $allLanguages = Common::getLanguagesList();
     $allCountries = Common::getCountriesList();
     if (!preg_match('/^([a-z]{2})_([A-Z]{2})\\.UTF-8$/', $translations['General']['Locale'], $matches)) {
         $this->message = self::ERRORSTATE_LOCALEINVALID;
         return false;
     } else {
         if (!array_key_exists($matches[1], $allLanguages)) {
             $this->message = self::ERRORSTATE_LOCALEINVALIDLANGUAGE;
             return false;
         } else {
             if (!array_key_exists(strtolower($matches[2]), $allCountries)) {
                 $this->message = self::ERRORSTATE_LOCALEINVALIDCOUNTRY;
                 return false;
             }
         }
     }
     return true;
 }
All Usage Examples Of Piwik\Common::getLanguagesList