<?php
/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 5.2.4 or newer
 *
 * NOTICE OF LICENSE
 *
 * Licensed under the Open Software License version 3.0
 *
 * This source file is subject to the Open Software License (OSL 3.0) that is
 * bundled with this package in the files license.txt / license.rst.  It is
 * also available through the world wide web at this URL:
 * http://opensource.org/licenses/OSL-3.0
 * If you did not receive a copy of the license and are unable to obtain it
 * through the world wide web, please send an email to
 * licensing@ellislab.com so we can send you a copy immediately.
 *
 * @package		CodeIgniter
 * @author		EllisLab Dev Team
 * @copyright	Copyright (c) 2008 - 2012, EllisLab, Inc. (http://ellislab.com/)
 * @license		http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
 * @link		http://codeigniter.com
 * @since		Version 1.0
 * @filesource
 */

$lang['cal_su']			= "Su";
$lang['cal_mo']			= "Mo";
$lang['cal_tu']			= "Tu";
$lang['cal_we']			= "We";
$lang['cal_th']			= "Th";
$lang['cal_fr']			= "Fr";
$lang['cal_sa']			= "Sa";
$lang['cal_sun']		= "Sun";
$lang['cal_mon']		= "Mon";
$lang['cal_tue']		= "Tue";
$lang['cal_wed']		= "Wed";
$lang['cal_thu']		= "Thu";
$lang['cal_fri']		= "Fri";
$lang['cal_sat']		= "Sat";
$lang['cal_sunday']		= "Sunday";
$lang['cal_monday']		= "Monday";
$lang['cal_tuesday']	= "Tuesday";
$lang['cal_wednesday']	= "Wednesday";
$lang['cal_thursday']	= "Thursday";
$lang['cal_friday']		= "Friday";
$lang['cal_saturday']	= "Saturday";
$lang['cal_jan']		= "Jan";
$lang['cal_feb']		= "Feb";
$lang['cal_mar']		= "Mar";
$lang['cal_apr']		= "Apr";
$lang['cal_may']		= "May";
$lang['cal_jun']		= "Jun";
$lang['cal_jul']		= "Jul";
$lang['cal_aug']		= "Aug";
$lang['cal_sep']		= "Sep";
$lang['cal_oct']		= "Oct";
$lang['cal_nov']		= "Nov";
$lang['cal_dec']		= "Dec";
$lang['cal_january']	= "January";
$lang['cal_february']	= "February";
$lang['cal_march']		= "March";
$lang['cal_april']		= "April";
$lang['cal_mayl']		= "May";
$lang['cal_june']		= "June";
$lang['cal_july']		= "July";
$lang['cal_august']		= "August";
$lang['cal_september']	= "September";
$lang['cal_october']	= "October";
$lang['cal_november']	= "November";
$lang['cal_december']	= "December";


/* End of file calendar_lang.php */
/* Location: ./system/language/english/calendar_lang.php */