本文整理汇总了PHP中Piwik\Common::getLanguagesList方法的典型用法代码示例。如果您正苦于以下问题:PHP Common::getLanguagesList方法的具体用法?PHP Common::getLanguagesList怎么用?PHP Common::getLanguagesList使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Piwik\Common
的用法示例。
在下文中一共展示了Common::getLanguagesList方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: isValid
/**
* 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;
}
示例2: testGetLanguagesList
/**
* test format of DataFile/Languages.php
*
* @group Plugins
*/
function testGetLanguagesList()
{
$languages = Common::getLanguagesList();
$this->assertTrue(count($languages) > 0);
foreach ($languages as $langCode => $langs) {
$this->assertTrue(strlen($langCode) == 2, "{$langCode} length = 2");
$this->assertTrue(is_array($langs) && count($langs) >= 1, "{$langCode} array(names) >= 1");
}
}
示例3: aggregateByLanguage
protected function aggregateByLanguage()
{
$query = $this->getLogAggregator()->queryVisitsByDimension(array("label" => self::LANGUAGE_DIMENSION));
$languageCodes = array_keys(Common::getLanguagesList());
$metricsByLanguage = new DataArray();
while ($row = $query->fetch()) {
$code = Common::extractLanguageCodeFromBrowserLanguage($row['label'], $languageCodes);
$metricsByLanguage->sumMetricsVisits($code, $row);
}
$report = $metricsByLanguage->asDataTable();
$this->insertTable(self::LANGUAGE_RECORD_NAME, $report);
}
示例4: aggregateByLanguage
protected function aggregateByLanguage()
{
$query = $this->getLogAggregator()->queryVisitsByDimension(array("label" => self::LANGUAGE_DIMENSION));
$languageCodes = array_keys(Common::getLanguagesList());
$countryCodes = Common::getCountriesList($includeInternalCodes = true);
$metricsByLanguage = new DataArray();
while ($row = $query->fetch()) {
$langCode = Common::extractLanguageCodeFromBrowserLanguage($row['label'], $languageCodes);
$countryCode = Common::extractCountryCodeFromBrowserLanguage($row['label'], $countryCodes, $enableLanguageToCountryGuess = true);
if ($countryCode == 'xx' || $countryCode == $langCode) {
$metricsByLanguage->sumMetricsVisits($langCode, $row);
} else {
$metricsByLanguage->sumMetricsVisits($langCode . '-' . $countryCode, $row);
}
}
$report = $metricsByLanguage->asDataTable();
$this->insertTable(self::LANGUAGE_RECORD_NAME, $report);
}