משתמש:DMY/monobook.php

מתוך ויקיפדיה, האנציקלופדיה החופשית

Index: includes/Defines.php

=======================================================[עריכת קוד מקור | עריכה]

--- includes/Defines.php (revision 1) +++ includes/Defines.php (working copy) @@ -171,6 +171,10 @@

define( 'MW_DATE_DMY', 'dmy' );
define( 'MW_DATE_YMD', 'ymd' );
define( 'MW_DATE_ISO', 'ISO 8601' );

+define( 'MW_DATE_JEWISH', 'jewish' ); +define( 'MW_DATE_ISLAMIC', 'islamic' ); +define( 'MW_DATE_PERSIAN', 'persian' ); +define( 'MW_DATE_SAKA', 'saka' );

/**#@-*/

/**#@+

Index: languages/Calendars.php

=======================================================[עריכת קוד מקור | עריכה]

--- languages/Calendars.php (revision 0) +++ languages/Calendars.php (revision 0) @@ -0,0 +1,262 @@ +<?php +/* +Giving support to alternative calendars. +Written by: Yaakov Shoham (beseg7@gmail.com), 24 Dec. 2006 + +Based on: + +- Arabic Calendar +- Gregorian Date => Julian Day + FREE-LICENSE PHP CODE + by Alireza Balvardi (a.balvardi@gmail.com, http://www.mitra.ir) + +- Persian Calendar + FREE-LICENSE PHP CODE + by Rahman Haqparast (haghparast@gmail.com) + +- Indian Calendar +- Some patches + PUBLIC DOMAIN JAVASCRIPT CODE + by John Walker (http://www.fourmilab.ch/documents/calendar/) + +- Jewish Clendar + COPYRIGHTED JS CODE + written e-mail agreement for PHP-translation of rellevant functions and releasing it under GNU FDL + by Abu Mami and Yisrael Hersch (abu-mami@kaluach.net, http://www.kaluach.net) + + +If somebody wants to make support for these calendars: +- Bahai Calendar +- Mayan Calendars +- Julian Calendar +- French Republican Calendar +you can found PUBLIC DOMAIN JAVASCRIPT CODE of all those (and some other things: ISO Week + ISO Day, etc.), here: http://www.fourmilab.ch/documents/calendar/ + +*/ + +/********************* +GREGORIAN & JULIAN DAY +*********************/ + +/* + This function dosen't work B.C. (because there isn't 0 year). + Like as 'GregorianToJD', this function DOESN'T use the Julian-Calendar before 14/10/1582. The original function (of Alireza Balvardi) used Julian-Calendar for dates before 14/10/1582. For the simplicity we deleted it; therefore the Islamic date won't work before 14/10/1582. +*/ + +function gregorian_to_jd($y, $m, $d) +{ + $jd = (int) ( ( 1461 * ( $y + 4800 + (int) ( ( $m - 14 ) / 12 ) ) ) / 4 ) + (int) ( ( 367 * ( $m - 2 - 12 * ( (int) ( ( $m - 14 ) / 12 ) ) ) ) / 12 ) - (int) ( ( 3 * ( (int) ( ( $y + 4900 + (int) ( ( $m - 14 ) / 12 ) ) / 100 ) ) ) / 4 ) + $d - 32075; + return $jd; +} + +/* + Checks if some year is gregorian-leap-year. + Returns 1 if it's leap-year, 0 otherwise. +*/ + +function leap_gregorian($y) { + return (($y % 400 == 0) || ($y % 100 != 0 && $y % 4 == 0)); +} + +/****** +ISLAMIC +******/ + +function gregorian_to_islamic($g_y, $g_m, $g_d) +{ + $jd = gregorian_to_jd($g_y, $g_m, $g_d); + + $l = $jd - 1948440 + 10632; + $n = (int)( ( $l - 1 ) / 10631 ); + $l = $l - ( 10631 * $n ) + 354; + $j = ( (int)( ( 10985 - $l ) / 5316 ) ) * ( (int)( (50 * $l) / 17719 ) ) + ( (int)( $l / 5670 ) ) * ((int)( ( 43 * $l ) / 15238 ) ); + $l = $l - ( (int)( ( 30 - $j ) / 15 ) ) * ( (int)( ( 17719 * $j ) / 50 ) ) - ( (int)( $j / 16 ) ) * ( (int)( ( 15238 * $j ) / 43 ) ) + 29; + + $a_m = (int)( ( 24 * $l ) / 709 ); + $a_d = $l - (int)( ( 709 * $a_m ) / 24 ); + $a_y = 30 * $n + $j - 30; + + return array($a_y, $a_m, $a_d); +} + +/****** +PERSIAN +******/ + +function gregorian_to_persian($g_y, $g_m, $g_d) +{ + $g_days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); + $j_days_in_month = array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29); + + $gy = $g_y-1600; + $gm = $g_m-1; + $gd = $g_d-1; + + $g_day_no = 365 * $gy + (int)(($gy+3) / 4) - (int)(($gy+99) / 100) + (int)(($gy+399) / 400); + + for ($i=0; $i < $gm; ++$i) + $g_day_no += $g_days_in_month[$i]; + if ($gm>1 && (($gy%4==0 && $gy%100!=0) || ($gy%400==0))) + /* leap and after Feb */ + $g_day_no++; + $g_day_no += $gd; + + $j_day_no = $g_day_no-79; + + $j_np = (int)($j_day_no / 12053); /* 12053 = 365*33 + 32/4 */ + $j_day_no = $j_day_no % 12053; + + $jy = 979+33*$j_np+4*(int)($j_day_no / 1461); /* 1461 = 365*4 + 4/4 */ + + $j_day_no %= 1461; + + if ($j_day_no >= 366) { + $jy += (int)(($j_day_no-1) / 365); + $j_day_no = ($j_day_no-1)%365; + } + + for ($i = 0; $i < 11 && $j_day_no >= $j_days_in_month[$i]; ++$i) + $j_day_no -= $j_days_in_month[$i]; + $jm = $i+1; + $jd = $j_day_no+1; + + return array($jy, $jm, $jd); +} + +/***** +JEWISH +*****/ + +/* + Based on Carl Friedrich Gauss algorithm for finding Easter date. +*/ +function Gauss($year) { + $a = (int)( ( 12 * $year + 17 ) % 19 ); + $b = (int)( $year % 4 ); + $m = 32.044093161144 + 1.5542417966212 * $a + $b / 4.0 - 0.0031777940220923 * $year; + if ($m < 0) + $m--; + $Mar = (int)$m; + if ($m < 0) + $m++; + $m -= $Mar; + + $c = (int)( ( $Mar + 3 * $year + 5 * $b + 5 ) % 7); + if($c == 0 && $a > 11 && $m >= 0.89772376543210 ) + $Mar++; + else if($c == 1 && $a > 6 && $m >= 0.63287037037037) + $Mar += 2; + else if($c == 2 || $c == 4 || $c == 6) + $Mar++; + + $Mar += (int)( ( $year - 3760 ) / 100 ) - (int)( ( $year - 3760 ) / 400 ) - 2; + return $Mar; +} + +function gregorian_to_jewish($y, $m, $d) { + $m -= 2; + if ($m <= 0) { // Jan or Feb + $m += 12; + $y -= 1; + } + + $d += (int)(7 * $m / 12 + 30 * ($m - 1)); // day in March + $hy = $y + 3760; // get Hebrew year + $pesach = Gauss($hy); + if ($d <= $pesach - 15) { // before 1 Nisan + $anchor = $pesach; + $d += 365 + leap_gregorian($y); + $y --; + $hy --; + $pesach = Gauss($hy); + } + else + $anchor = Gauss($hy + 1); + + $d -= $pesach - 15; + $anchor -= $pesach - 12; + $y++; + $anchor += leap_gregorian($y); + + for($m = 0; $m < 11; $m++) { + if($m == 7 && $anchor % 30 == 2) + $days = 30; // Cheshvan + else if($m == 8 && $anchor % 30 == 0) + $days = 29; // Kislev + else + $days = 30 - $m % 2; + if($d <= $days) + break; + $d -= $days; + } + + $adarType = 6; // final plain Adar + if ($m == 11 && $anchor >= 30) { + if ($d > 30) { + $adarType = 14; // final Adar 2 + $d -= 30; + } + else + $adarType = 13; // final Adar 1 + } + + if($m >= 6) // Tishrei or after? + $hy++; // then bump up year + + $m = ($m + 6) % 12 + 1; //starting months from Tishrei + + if($m == 6) // Adar? + $m = $adarType; // change for Adars + + return array($hy, $m, $d); +} + +/*** +SAKA +***/ + +function gregorian_to_saka($g_y, $g_m, $g_d) +{ + // Offset in years from Saka era to Gregorian epoch + $Saka = 79 - 1; + + // Day offset between Saka and Gregorian + $start = 80; + + // Is this a leap year? + $leap = leap_gregorian($g_y); + + // Tentative year in Saka era + $year = $g_y - $Saka; + + // Day number (0 based) in Gregorian year + $yday = gregorian_to_jd($g_y, $g_m, $g_d) - gregorian_to_jd($g_y, 1, 1); + + // Days in Caitra this year + $Caitra = $leap ? 31 : 30; + + if ($yday < $start) { + // Day is at the end of the preceding Saka year + $year--; + $yday += $Caitra + (31 * 5) + (30 * 3) + 10 + $start; + } + + $yday -= $start; + if ($yday < $Caitra) { + $month = 1; + $day = $yday + 1; + } else { + $mday = $yday - $Caitra; + if ($mday < (31 * 5)) { + $month = (int)($mday / 31) + 2; + $day = ($mday % 31) + 1; + } else { + $mday -= 31 * 5; + $month = (int)($mday / 30) + 7; + $day = ($mday % 30) + 1; + } + } + + return array($year, $month, $day); +} + +?> \ No newline at end of file Index: languages/Language.php

=======================================================[עריכת קוד מקור | עריכה]

--- languages/Language.php (revision 1) +++ languages/Language.php (working copy) @@ -24,6 +24,7 @@

# Read language names
global $wgLanguageNames;
require_once( 'Names.php' );

+require_once( 'Calendars.php' );

global $wgInputEncoding, $wgOutputEncoding;

@@ -99,6 +100,30 @@

		'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug',
		'sep', 'oct', 'nov', 'dec'
	);

+ static public $mJewishMonthMsgs = array( + 'tishrei', 'cheshvan', 'kislev', 'tevet', 'shevat', 'adar', 'nisan', 'iyar', 'sivan', 'tammuz', 'av', 'elul', 'adar1', 'adar2' + ); + static public $mJewishMonthGenMsgs = array( + 'tishrei-gen', 'cheshvan-gen', 'kislev-gen', 'tevet-gen', 'shevat-gen', 'adar-gen', 'nisan-gen', 'iyar-gen', 'sivan-gen', 'tammuz-gen', 'av-gen', 'elul-gen', 'adar1-gen', 'adar2-gen' + ); + static public $mIslamicMonthMsgs = array( + 'muharram', 'safar', 'rabi1', 'rabi2', 'jumada1', 'jumada2', 'rajab', 'shaaban', 'ramadan', 'shawwal', 'dhu1', 'dhu2' + ); + static public $mIslamicMonthGenMsgs = array( + 'muharram-gen', 'safar-gen', 'rabi1-gen', 'rabi2-gen', 'jumada1-gen', 'jumada2-gen', 'rajab-gen', 'shaaban-gen', 'ramadan-gen', 'shawwal-gen', 'dhu1-gen', 'dhu2-gen' + ); + static public $mPersianMonthMsgs = array( + 'farvardin', 'ordibehesht', 'khordad', 'tir', 'amordad', 'shahrivar', 'mehr', 'aban', 'azar', 'dey', 'bahman', 'esfand' + ); + static public $mPersianMonthGenMsgs = array( + 'farvardin-gen', 'ordibehesht-gen', 'khordad-gen', 'tir-gen', 'amordad-gen', 'shahrivar-gen', 'mehr-gen', 'aban-gen', 'azar-gen', 'dey-gen', 'bahman-gen', 'esfand-gen' + ); + static public $mSakaMonthMsgs = array( + 'chaitra', 'vaisakha', 'jyaistha', 'asadha', 'sravana', 'bhadra', 'asvina', 'kartika', 'agrahayana', 'pausa', 'magha', 'phalguna' + ); + static public $mSakaMonthGenMsgs = array( + 'chaitra-gen', 'vaisakha-gen', 'jyaistha-gen', 'asadha-gen', 'sravana-gen', 'bhadra-gen', 'asvina-gen', 'kartika-gen', 'agrahayana-gen', 'pausa-gen', 'magha-gen', 'phalguna-gen' + );

	/**
	 * Create a language object for a given language code

@@ -370,6 +395,38 @@

		return $this->getMessageFromDB( self::$mWeekdayAbbrevMsgs[$key-1] );
	}

+ function getJewishMonthName( $key ) { + return $this->getMessageFromDB( self::$mJewishMonthMsgs[$key-1] ); + } + + function getJewishMonthNameGen( $key ) { + return $this->getMessageFromDB( self::$mJewishMonthGenMsgs[$key-1] ); + } + + function getIslamicMonthName( $key ) { + return $this->getMessageFromDB( self::$mIslamicMonthMsgs[$key-1] ); + } + + function getIslamicMonthNameGen( $key ) { + return $this->getMessageFromDB( self::$mIslamicMonthGenMsgs[$key-1] ); + } + + function getPersianMonthName( $key ) { + return $this->getMessageFromDB( self::$mPersianMonthMsgs[$key-1] ); + } + + function getPersianMonthNameGen( $key ) { + return $this->getMessageFromDB( self::$mPersianMonthGenMsgs[$key-1] ); + } + + function getSakaMonthName( $key ) { + return $this->getMessageFromDB( self::$mSakaMonthMsgs[$key-1] ); + } + + function getSakaMonthNameGen( $key ) { + return $this->getMessageFromDB( self::$mSakaMonthGenMsgs[$key-1] ); + } +

	/**
	 * Used by date() and time() to adjust the time output.
	 * @public

@@ -428,7 +485,8 @@

	 *
	 *    xn   Do not translate digits of the next numeric format character
	 *    xN   Toggle raw digit (xn) flag, stays set until explicitly unset

- * xr Use roman numerals for the next numeric format character + * xr Use Roman numerals for the next numeric format character + * xh Use Hebrew Gematria for the next numeric format character

	 *    xx   Literal x
	 *    xg   Genitive month name
	 *

@@ -445,17 +503,40 @@

	 * @param string $ts 14-character timestamp
	 *      YYYYMMDDHHMMSS
	 *      01234567890123

+ * + * Another calendars prefixes: + * J - Jewish (Hebrew, Israeli) calendar + * I - Islamic (Muslim, Hijri, Arabic) calendar + * P - Persian (Iranian, Jalāli) calendar + * S - Saka (Indian national) calendar + * + * In those calendars: + * y - Numeric year + * m - Numeric mounth + * M - Month name + * g - Month genitive name + * d - Numeric day (in month)

	 */
	function sprintfDate( $format, $ts ) {
		$s = ;
		$raw = false;
		$roman = false;

+ $hebrew = false;

		$unix = false;
		$rawToggle = false;

+ if ( strpos( $format, "J" ) !== false ) + list( $iJYear, $iJMonth, $iJDay ) = gregorian_to_jewish( substr( $ts, 0, 4 ), substr( $ts, 4, 2 ), substr( $ts, 6, 2 ) ); + if ( strpos( $format, "I" ) !== false ) + list( $iIYear, $iIMonth, $iIDay ) = gregorian_to_islamic( substr( $ts, 0, 4 ), substr( $ts, 4, 2 ), substr( $ts, 6, 2 ) ); + if ( strpos( $format, "P" ) !== false ) + list( $iPYear, $iPMonth, $iPDay ) = gregorian_to_persian( substr( $ts, 0, 4 ), substr( $ts, 4, 2 ), substr( $ts, 6, 2 ) ); + if ( strpos( $format, "S" ) !== false ) + list( $iSYear, $iSMonth, $iSDay ) = gregorian_to_saka( substr( $ts, 0, 4 ), substr( $ts, 4, 2 ), substr( $ts, 6, 2 ) ); +

		for ( $p = 0; $p < strlen( $format ); $p++ ) {
			$num = false;
			$code = $format[$p];

- if ( $code == 'x' && $p < strlen( $format ) - 1 ) { + if ( ( $code == 'x' || $code == 'J' || $code == 'I' || $code == 'P' || $code == 'S' ) && $p < strlen( $format ) - 1 ) {

				$code .= $format[++$p];
			}
			

@@ -472,6 +553,9 @@

				case 'xr':
					$roman = true;
					break;

+ case 'xh': + $hebrew = true; + break;

				case 'xg':
					$s .= $this->getMonthNameGen( substr( $ts, 4, 2 ) );
					break;

@@ -570,6 +654,70 @@

					if ( !$unix ) $unix = wfTimestamp( TS_UNIX, $ts );
					$num = $unix;
					break;

+ #Jewish calendar + case 'Jd': + $num = $iJDay; + break; + case 'Jm': + $num = $iJMonth; + break; + case 'JM': + $num = $this->getJewishMonthName( $iJMonth ); + break; + case 'Jg': + $num = $this->getJewishMonthNameGen( $iJMonth ); + break; + case 'Jy': + $num = $iJYear; + break; + #Islamic calendar + case 'Id': + $num = $iIDay; + break; + case 'Im': + $num = $iIMonth; + break; + case 'IM': + $num = $this->getIslamicMonthName( $iIMonth ); + break; + case 'Ig': + $num = $this->getIslamicMonthNameGen( $iIMonth ); + break; + case 'Iy': + $num = $iIYear; + break; + #Persian calendar + case 'Pd': + $num = $iPDay; + break; + case 'Pm': + $num = $iPMonth; + break; + case 'PM': + $num = $this->getPersianMonthName( $iPMonth ); + break; + case 'Pg': + $num = $this->getPersianMonthNameGen( $iPMonth ); + break; + case 'Py': + $num = $iPYear; + break; + #Saka calendar + case 'Sd': + $num = $iSDay; + break; + case 'Sm': + $num = $iSMonth; + break; + case 'SM': + $num = $this->getSakaMonthName( $iSMonth ); + break; + case 'Sg': + $num = $this->getSakaMonthNameGen( $iSMonth ); + break; + case 'Sy': + $num = $iSYear; + break;

				case '\\':
					# Backslash escaping
					if ( $p < strlen( $format ) - 1 ) {

@@ -604,6 +752,9 @@

				} elseif ( $roman ) {
					$s .= self::romanNumeral( $num );
					$roman = false;

+ } elseif ( $hebrew ) { + $s .= self::hebrewNumeral( $num ); + $hebrew = false;

				} else {
					$s .= $this->formatNum( $num, true );
				}

@@ -640,6 +791,38 @@

	}

	/**

+ * Hebrew Gematria number formatting up to 9999 + */ + static function hebrewNumeral( $num ) { + static $table = array( + array( , 'א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ז', 'ח', 'ט', 'י' ), + array( , 'י', 'כ', 'ל', 'מ', 'נ', 'ס', 'ע', 'פ', 'צ', 'ק' ), + array( , 'ק', 'ר', 'ש', 'ת', 'תק', 'תר', 'תש', 'תת', 'תתק', 'תתר' ), + array( , 'א', 'ב', 'ג', 'ד', 'ה', 'ו', 'ז', 'ח', 'ט', 'י' ) + ); + + $num = intval( $num ); + if ( $num > 9999 || $num <= 0 ) { + return $num; + } + + $s = ; + for ( $pow10 = 1000, $i = 3; $i >= 0; $pow10 /= 10, $i-- ) { + if ( $num >= $pow10 ) { + if ( $num == 15 || $num == 16 ) + { + $s .= $table[0][floor(9)] . $table[0][floor($num - 10)]; + $num = 0; + } + else + $s .= $table[$i][floor($num / $pow10)]; + } + $num = $num % $pow10; + } + return $s; + } + + /**

	 * This is meant to be used by time(), date(), and timeanddate() to get
	 * the date preference they're supposed to use, it should be used in
	 * all children.

Index: languages/messages/MessagesAr.php

=======================================================[עריכת קוד מקור | עריכה]

--- languages/messages/MessagesAr.php (revision 1) +++ languages/messages/MessagesAr.php (working copy) @@ -37,7 +37,37 @@

	NS_CATEGORY_TALK    => 'نقاش_التصنيف'
);

+$datePreferences = array( + 'default', + 'mdy', + 'dmy', + 'ymd', + 'ISO 8601', + 'islamic', +);

+$dateFormats = array( + 'mdy time' => 'H:i', + 'mdy date' => 'xg j, Y', + 'mdy both' => 'H:i, xg j, Y', + + 'dmy time' => 'H:i', + 'dmy date' => 'j xg Y', + 'dmy both' => 'H:i, j xg Y', + + 'ymd time' => 'H:i', + 'ymd date' => 'Y xg j', + 'ymd both' => 'H:i, Y xg j', + + 'ISO 8601 time' => 'xnH:xni:xns', + 'ISO 8601 date' => 'xnY-xnm-xnd', + 'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns', + + 'islamic time' => 'H:i', + 'islamic date' => 'Id Ig Iy', + 'islamic both' => 'H:i Id Ig Iy', +); +

$magicWords = array(
#   ID                                 CASE  SYNONYMS
	'redirect'               => array( 0,    '#REDIRECT'    ,   '#تحويل'                  ),

@@ -145,6 +175,31 @@

'sep' => 'سبتمبر',
'nov' => 'نوفمبر',
'dec' => 'ديسمبر',

+# Islamic monthes +"muharram" => "محرّم", +"safar" => "صفر", +"rabi1" => "ربيع الأول", +"rabi2" => "ربيع الثاني", +"jumada1" => "جمادى الأول", +"jumada2" => "جمادى الثاني", +"rajab" => "رجب", +"shaaban" => "شعبان", +"ramadan" => "رمضان", +"shawwal" => "شوّال", +"dhu1" => "ذو القعدة", +"dhu2" => "ذو الحجة", +"muharram-gen" => "محرّم", +"safar-gen" => "صفر", +"rabi1-gen" => "ربيع الأول", +"rabi2-gen" => "ربيع الثاني", +"jumada1-gen" => "جمادى الأول", +"jumada2-gen" => "جمادى الثاني", +"rajab-gen" => "رجب", +"shaaban-gen" => "شعبان", +"ramadan-gen" => "رمضان", +"shawwal-gen" => "شوّال", +"dhu1-gen" => "ذو القعدة", +"dhu2-gen" => "ذو الحجة",

# Bits of text used by many pages:
#

Index: languages/messages/MessagesEn.php

=======================================================[עריכת קוד מקור | עריכה]

--- languages/messages/MessagesEn.php (revision 1) +++ languages/messages/MessagesEn.php (working copy) @@ -142,6 +142,10 @@

	'dmy',
	'ymd',
	'ISO 8601',

+ 'jewish', + 'islamic', + 'persian', + 'saka',

);

$defaultDateFormat = 'dmy or mdy';

@@ -177,6 +181,22 @@

	'ISO 8601 time' => 'xnH:xni:xns',
	'ISO 8601 date' => 'xnY-xnm-xnd',
	'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns',

+ + 'jewish time' => 'H:i', + 'jewish date' => 'Jd Jg Jy', + 'jewish both' => 'H:i Jd Jg Jy', + + 'islamic time' => 'H:i', + 'islamic date' => 'Id Ig Iy', + 'islamic both' => 'H:i Id Ig Iy', + + 'persian time' => 'H:i', + 'persian date' => 'Pd Pg Py', + 'persian both' => 'H:i Pd Pg Py', + + 'saka time' => 'H:i', + 'saka date' => 'Sd Sg Sy', + 'saka both' => 'H:i Sd Sg Sy',

);

$bookstoreList = array(

@@ -427,6 +447,111 @@

'oct' => 'Oct',
'nov' => 'Nov',
'dec' => 'Dec',

+# Jewish monthes +"tishrei" => "Tishrei", +"cheshvan" => "Cheshvan", +"kislev" => "Kislev", +"tevet" => "Tevet", +"shevat" => "Shevat", +"adar" => "Adar", +"nisan" => "Nisan", +"iyar" => "Iyar", +"sivan" => "Sivan", +"tammuz" => "Tammuz", +"av" => "Av", +"elul" => "Elul", +"adar1" => "Adar I", +"adar2" => "Adar II", +"tishrei-gen" => "Tishrei", +"cheshvan-gen" => "Cheshvan", +"kislev-gen" => "Kislev", +"tevet-gen" => "Tevet", +"shevat-gen" => "Shevat", +"adar-gen" => "Adar", +"nisan-gen" => "Nisan", +"iyar-gen" => "Iyar", +"sivan-gen" => "Sivan", +"tammuz-gen" => "Tammuz", +"av-gen" => "Av", +"elul-gen" => "Elul", +"adar1-gen" => "Adar I", +"adar2-gen" => "Adar II", +# Islamic monthes +"muharram" => "Muharram", +"safar" => "Safar", +"rabi1" => "Rabi' al-awwal", +"rabi2" => "Rabi' al-thani", +"jumada1" => "Jumada al-awwal", +"jumada2" => "Jumada al-thani", +"rajab" => "Rajab", +"shaaban" => "Sha'aban", +"ramadan" => "Ramadan", +"shawwal" => "Shawwal", +"dhu1" => "Dhu al-Qi'dah", +"dhu2" => "Dhu al-Hijjah", +"muharram-gen" => "Muharram", +"safar-gen" => "Safar", +"rabi1-gen" => "Rabi' al-awwal", +"rabi2-gen" => "Rabi' al-thani", +"jumada1-gen" => "Jumada al-awwal", +"jumada2-gen" => "Jumada al-thani", +"rajab-gen" => "Rajab", +"shaaban-gen" => "Sha'aban", +"ramadan-gen" => "Ramadan", +"shawwal-gen" => "Shawwal", +"dhu1-gen" => "Dhu al-Qi'dah", +"dhu2-gen" => "Dhu al-Hijjah", +# Persian monthes +"farvardin" => "Farvardin", +"ordibehesht" => "Ordibehesht", +"khordad" => "Khordad", +"tir" => "Tir", +"amordad" => "Amordad", +"shahrivar" => "Shahrivar", +"mehr" => "Mehr", +"aban" => "Aban", +"azar" => "Azar", +"dey" => "Dey", +"bahman" => "Bahman", +"esfand" => "Esfand", +"farvardin-gen" => "Farvardin", +"ordibehesht-gen" => "Ordibehesht", +"khordad-gen" => "Khordad", +"tir-gen" => "Tir", +"amordad-gen" => "Amordad", +"shahrivar-gen" => "Shahrivar", +"mehr-gen" => "Mehr", +"aban-gen" => "Aban", +"azar-gen" => "Azar", +"dey-gen" => "Dey", +"bahman-gen" => "Bahman", +"esfand-gen" => "Esfand", +# Saka calendar +"chaitra" => "Chaitra", +"vaisakha" => "Vaisakha", +"jyaistha" => "Jyeshta", +"asadha" => "Aashaadha", +"sravana" => "Shraavana", +"bhadra" => "Bhaadra", +"asvina" => "Ashvin", +"kartika" => "Kaartika", +"agrahayana" => "Agrahayana", +"pausa" => "Pausha", +"magha" => "Maagha", +"phalguna" => "Phalguna", +"chaitra-gen" => "Chaitra", +"vaisakha-gen" => "Vaisakha", +"jyaistha-gen" => "Jyeshta", +"asadha-gen" => "Aashaadha", +"sravana-gen" => "Shraavana", +"bhadra-gen" => "Bhaadra", +"asvina-gen" => "Ashvin", +"kartika-gen" => "Kaartika", +"agrahayana-gen" => "Agrahayana", +"pausa-gen" => "Pausha", +"magha-gen" => "Maagha", +"phalguna-gen" => "Phalguna", +

# Bits of text used by many pages:
#
'categories' => 'Categories',

Index: languages/messages/MessagesFa.php

=======================================================[עריכת קוד מקור | עריכה]

--- languages/messages/MessagesFa.php (revision 1) +++ languages/messages/MessagesFa.php (working copy) @@ -36,6 +36,37 @@

	NS_CATEGORY_TALK  => 'بحث_رده'
);

+$datePreferences = array( + 'default', + 'mdy', + 'dmy', + 'ymd', + 'ISO 8601', + 'persian', +); + +$dateFormats = array( + 'mdy time' => 'H:i', + 'mdy date' => 'xg j, Y', + 'mdy both' => 'H:i, xg j, Y', + + 'dmy time' => 'H:i', + 'dmy date' => 'j xg Y', + 'dmy both' => 'H:i, j xg Y', + + 'ymd time' => 'H:i', + 'ymd date' => 'Y xg j', + 'ymd both' => 'H:i, Y xg j', + + 'ISO 8601 time' => 'xnH:xni:xns', + 'ISO 8601 date' => 'xnY-xnm-xnd', + 'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns', + + 'persian time' => 'H:i', + 'persian date' => 'Pd Pg Py', + 'persian both' => 'H:i Pd Pg Py', +); +

$digitTransformTable = array(
	"0" => "۰",
	"1" => "۱",

@@ -114,6 +145,31 @@

'oct' => "اکتبر",
'nov' => "نوامبر",
'dec' => "دسامبر",

+# Persian monthes +"farvardin" => "فروردین", +"ordibehesht" => "اردیبهشت", +"khordad" => "خرداد", +"tir" => "تیر", +"amordad" => "امرداد", +"shahrivar" => "شهریور", +"mehr" => "مهر", +"aban" => "آبان", +"azar" => "آذر", +"dey" => "دی", +"bahman" => "بهمن", +"esfand" => "اسفند", +"farvardin-gen" => "فروردین", +"ordibehesht-gen" => "اردیبهشت", +"khordad-gen" => "خرداد", +"tir-gen" => "تیر", +"amordad-gen" => "امرداد", +"shahrivar-gen" => "شهریور", +"mehr-gen" => "مهر", +"aban-gen" => "آبان", +"azar-gen" => "آذر", +"dey-gen" => "دی", +"bahman-gen" => "بهمن", +"esfand-gen" => "اسفند",

# Bits of text used by many pages:
#

Index: languages/messages/MessagesHe.php

=======================================================[עריכת קוד מקור | עריכה]

--- languages/messages/MessagesHe.php (revision 1) +++ languages/messages/MessagesHe.php (working copy) @@ -33,6 +33,15 @@

	"ללא", "קבוע משמאל", "קבוע מימין", "צף משמאל", "צף מימין"
);

+$datePreferences = array( + 'default', + 'mdy', + 'dmy', + 'ymd', + 'ISO 8601', + 'jewish', +); +

$dateFormats = array(
	'mdy time' => 'H:i',
	'mdy date' => 'xg j, Y',

@@ -49,6 +58,10 @@

	'ISO 8601 time' => 'xnH:xni:xns',
	'ISO 8601 date' => 'xnY-xnm-xnd',
	'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns',

+ + 'jewish time' => 'H:i', + 'jewish date' => 'xhJd Jg xhJy', + 'jewish both' => 'H:i xhJd Jg xhJy',

);

$bookstoreList = array(

@@ -280,6 +293,35 @@

"oct"           => "אוק'",
"nov"           => "נוב'",
"dec"           => "דצמ'",

+# Jewish monthes +"tishrei" => "תשרי", +"cheshvan" => "חשוון", +"kislev" => "כסלו", +"tevet" => "טבת", +"shevat" => "שבט", +"adar" => "אדר", +"nisan" => "ניסן", +"iyar" => "אייר", +"sivan" => "סיון", +"tammuz" => "תמוז", +"av" => "אב", +"elul" => "אלול", +"adar1" => "אדר א", +"adar2" => "אדר ב", +"tishrei-gen" => "בתשרי", +"cheshvan-gen" => "בחשוון", +"kislev-gen" => "בכסלו", +"tevet-gen" => "בטבת", +"shevat-gen" => "בשבט", +"adar-gen" => "באדר", +"nisan-gen" => "בניסן", +"iyar-gen" => "באייר", +"sivan-gen" => "בסיון", +"tammuz-gen" => "בתמוז", +"av-gen" => "באב", +"elul-gen" => "באלול", +"adar1-gen" => "באדר א", +"adar2-gen" => "באדר ב",

# Bits of text used by many pages
"categories"      => "קטגוריות",

Index: languages/messages/MessagesHi.php

=======================================================[עריכת קוד מקור | עריכה]

--- languages/messages/MessagesHi.php (revision 1) +++ languages/messages/MessagesHi.php (working copy) @@ -19,6 +19,37 @@

	NS_CATEGORY_TALK  => 'श्रेणी_वार्ता',
);

+$datePreferences = array( + 'default', + 'mdy', + 'dmy', + 'ymd', + 'ISO 8601', + 'saka', +); + +$dateFormats = array( + 'mdy time' => 'H:i', + 'mdy date' => 'xg j, Y', + 'mdy both' => 'H:i, xg j, Y', + + 'dmy time' => 'H:i', + 'dmy date' => 'j xg Y', + 'dmy both' => 'H:i, j xg Y', + + 'ymd time' => 'H:i', + 'ymd date' => 'Y xg j', + 'ymd both' => 'H:i, Y xg j', + + 'ISO 8601 time' => 'xnH:xni:xns', + 'ISO 8601 date' => 'xnY-xnm-xnd', + 'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns', + + 'saka time' => 'H:i', + 'saka date' => 'Sd Sg Sy', + 'saka both' => 'H:i Sd Sg Sy', +); +

$digitTransformTable = array(
	"0" => "०",
	"1" => "१",

@@ -69,6 +100,31 @@

'oct' => "अक्टूबर",
'nov' => "नवम्बर",
'dec' => "दिसम्बर",

+# Saka calendar +"chaitra" => "चैत्र", +"vaisakha" => "वैशाख", +"jyaistha" => "ज्येष", +"asadha" => "आषाढ", +"sravana" => "श्रावण", +"bhadra" => "भाद्रपद", +"asvina" => "क्वार", +"kartika" => "कार्तिक", +"agrahayana" => "अगहन", +"pausa" => "पौष", +"magha" => "माघ", +"phalguna" => "फाल्गुन", +"chaitra-gen" => "चैत्र", +"vaisakha-gen" => "वैशाख", +"jyaistha-gen" => "ज्येष", +"asadha-gen" => "आषाढ", +"sravana-gen" => "श्रावण", +"bhadra-gen" => "भाद्रपद", +"asvina-gen" => "क्वार", +"kartika-gen" => "कार्तिक", +"agrahayana-gen" => "अगहन", +"pausa-gen" => "पौष", +"magha-gen" => "माघ", +"phalguna-gen" => "फाल्गुन",

# Bits of text used by many pages:
#

Index: languages/messages/MessagesKu.php

=======================================================[עריכת קוד מקור | עריכה]

--- languages/messages/MessagesKu.php (revision 1) +++ languages/messages/MessagesKu.php (working copy) @@ -26,6 +26,37 @@

	NS_CATEGORY_TALK    => 'Kategorî_nîqaş'
);

+$datePreferences = array( + 'default', + 'mdy', + 'dmy', + 'ymd', + 'ISO 8601', + 'persian', +); + +$dateFormats = array( + 'mdy time' => 'H:i', + 'mdy date' => 'xg j, Y', + 'mdy both' => 'H:i, xg j, Y', + + 'dmy time' => 'H:i', + 'dmy date' => 'j xg Y', + 'dmy both' => 'H:i, j xg Y', + + 'ymd time' => 'H:i', + 'ymd date' => 'Y xg j', + 'ymd both' => 'H:i, Y xg j', + + 'ISO 8601 time' => 'xnH:xni:xns', + 'ISO 8601 date' => 'xnY-xnm-xnd', + 'ISO 8601 both' => 'xnY-xnm-xnd"T"xnH:xni:xns', + + 'persian time' => 'H:i', + 'persian date' => 'Pd Pg Py', + 'persian both' => 'H:i Pd Pg Py', +); +

$messages = array(
'skinpreview'           => '(Pêşdîtin)',
'sunday'                => 'yekşem',

@@ -59,6 +90,33 @@

'oct'                   => 'kew',
'nov'                   => 'ser',
'dec'                   => 'ber',

+ +# Persian monthes +"farvardin" => "Xakelêwe", +"ordibehesht" => "Golan", +"khordad" => "Jozerdan", +"tir" => "Poshper", +"amordad" => "Gelawêj", +"shahrivar" => "Xermanan", +"mehr" => "Rezber", +"aban" => "Gelarêzan", +"azar" => "Sermawez", +"dey" => "Befranbar", +"bahman" => "Rêbendan", +"esfand" => "Resheme", +"farvardin-gen" => "Xakelêwe", +"ordibehesht-gen" => "Golan", +"khordad-gen" => "Jozerdan", +"tir-gen" => "Poshper", +"amordad-gen" => "Gelawêj", +"shahrivar-gen" => "Xermanan", +"mehr-gen" => "Rezber", +"aban-gen" => "Gelarêzan", +"azar-gen" => "Sermawez", +"dey-gen" => "Befranbar", +"bahman-gen" => "Rêbendan", +"esfand-gen" => "Resheme", +

'categories'            => 'Kategorî',
'category_header'       => 'Gotarên di kategoriya "$1" de',
'subcategories'         => 'Binkategorî',