Current File : /home/jvzmxxx/wiki1/extensions/Wikibase/repo/includes/Parsers/MediaWikiMonthNameProvider.php
<?php

namespace Wikibase\Repo\Parsers;

use Language;
use ValueParsers\MonthNameProvider;

/**
 * A MonthNameProvider using MediaWiki's localization infrastructure.
 *
 * @since 0.5
 *
 * @license GPL-2.0+
 * @author Thiemo Mättig
 */
class MediaWikiMonthNameProvider implements MonthNameProvider {

	/**
	 * @see MonthNameProvider::getLocalizedMonthNames
	 *
	 * @param string $languageCode
	 *
	 * @return string[] Array mapping month numbers (1 to 12) to localized month names.
	 */
	public function getLocalizedMonthNames( $languageCode ) {
		$language = Language::factory( $languageCode );
		$monthNames = array();

		for ( $i = 1; $i <= 12; $i++ ) {
			$monthNames[$i] = $language->getMonthName( $i );
		}

		return $monthNames;
	}

	/**
	 * Creates a replacements array using information retrieved via MediaWiki's Language object.
	 * Takes full month names, genitive names and abbreviations into account.
	 *
	 * @see MonthNameProvider::getMonthNumbers
	 *
	 * @param string $languageCode
	 *
	 * @return int[] Array mapping localized month names (including full month names, genitive names
	 * and abbreviations) to month numbers (1 to 12).
	 */
	public function getMonthNumbers( $languageCode ) {
		$language = Language::factory( $languageCode );
		$numbers = array();

		for ( $i = 1; $i <= 12; $i++ ) {
			$numbers[$language->getMonthName( $i )] = $i;
			$numbers[$language->getMonthNameGen( $i )] = $i;
			$numbers[$language->getMonthAbbreviation( $i )] = $i;
		}

		return $numbers;
	}

}