本文整理匯總了PHP中Piwik\Common::extractLanguageCodeFromBrowserLanguage方法的典型用法代碼示例。如果您正苦於以下問題:PHP Common::extractLanguageCodeFromBrowserLanguage方法的具體用法?PHP Common::extractLanguageCodeFromBrowserLanguage怎麽用?PHP Common::extractLanguageCodeFromBrowserLanguage使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Piwik\Common
的用法示例。
在下文中一共展示了Common::extractLanguageCodeFromBrowserLanguage方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: aggregateByLanguage
protected function aggregateByLanguage()
{
/** @var RegionDataProvider $regionDataProvider */
$regionDataProvider = StaticContainer::get('Piwik\\Intl\\Data\\Provider\\RegionDataProvider');
$query = $this->getLogAggregator()->queryVisitsByDimension(array("label" => self::LANGUAGE_DIMENSION));
$countryCodes = $regionDataProvider->getCountryList($includeInternalCodes = true);
$metricsByLanguage = new DataArray();
while ($row = $query->fetch()) {
$langCode = Common::extractLanguageCodeFromBrowserLanguage($row['label']);
$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);
}
示例2: testExtractLanguageCodeFromBrowserLanguage
/**
* @dataProvider getLanguageDataToExtractLanguageCode
*/
public function testExtractLanguageCodeFromBrowserLanguage($browserLanguage, $validLanguages, $expected)
{
$this->assertEquals($expected, Common::extractLanguageCodeFromBrowserLanguage($browserLanguage, $validLanguages), "test with {$browserLanguage} failed, expected {$expected}");
}
示例3: getLanguageCodeForCurrentUser
/**
* @return string Two letters language code, eg. "fr"
*/
public static function getLanguageCodeForCurrentUser()
{
$languageCode = self::getLanguageFromPreferences();
if (!API::getInstance()->isLanguageAvailable($languageCode)) {
$languageCode = Common::extractLanguageCodeFromBrowserLanguage(Common::getBrowserLanguage(), API::getInstance()->getAvailableLanguages());
}
if (!API::getInstance()->isLanguageAvailable($languageCode)) {
$languageCode = Translate::getLanguageDefault();
}
return $languageCode;
}
示例4: 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);
}
示例5: 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);
}