2004-04-04 11:26:29 +00:00
|
|
|
|
<?php
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* @package MediaWiki
|
|
|
|
|
|
* @subpackage Language
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
2004-08-22 17:42:53 +00:00
|
|
|
|
if( defined( 'MEDIAWIKI' ) ) {
|
2004-08-06 21:19:24 +00:00
|
|
|
|
|
2004-04-02 04:43:20 +00:00
|
|
|
|
#
|
|
|
|
|
|
# In general you should not make customizations in these language files
|
|
|
|
|
|
# directly, but should use the MediaWiki: special namespace to customize
|
|
|
|
|
|
# user interface messages through the wiki.
|
|
|
|
|
|
# See http://meta.wikipedia.org/wiki/MediaWiki_namespace
|
|
|
|
|
|
#
|
|
|
|
|
|
# NOTE TO TRANSLATORS: Do not copy this whole file when making translations!
|
2006-01-08 01:08:16 +00:00
|
|
|
|
# A lot of common constants and a base class with inheritable methods are
|
2004-04-02 04:43:20 +00:00
|
|
|
|
# defined here, which should not be redefined. See the other LanguageXx.php
|
|
|
|
|
|
# files for examples.
|
|
|
|
|
|
#
|
|
|
|
|
|
|
2003-08-31 09:46:37 +00:00
|
|
|
|
#--------------------------------------------------------------------------
|
|
|
|
|
|
# Language-specific text
|
|
|
|
|
|
#--------------------------------------------------------------------------
|
|
|
|
|
|
|
2003-11-24 03:52:43 +00:00
|
|
|
|
if($wgMetaNamespace === FALSE)
|
2004-06-08 19:23:19 +00:00
|
|
|
|
$wgMetaNamespace = str_replace( ' ', '_', $wgSitename );
|
2003-11-24 03:52:43 +00:00
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
/* private */ $wgNamespaceNamesEn = array(
|
2004-06-08 19:23:19 +00:00
|
|
|
|
NS_MEDIA => 'Media',
|
|
|
|
|
|
NS_SPECIAL => 'Special',
|
|
|
|
|
|
NS_MAIN => '',
|
|
|
|
|
|
NS_TALK => 'Talk',
|
|
|
|
|
|
NS_USER => 'User',
|
|
|
|
|
|
NS_USER_TALK => 'User_talk',
|
2004-08-28 17:53:12 +00:00
|
|
|
|
NS_PROJECT => $wgMetaNamespace,
|
|
|
|
|
|
NS_PROJECT_TALK => $wgMetaNamespace . '_talk',
|
2004-06-08 19:23:19 +00:00
|
|
|
|
NS_IMAGE => 'Image',
|
|
|
|
|
|
NS_IMAGE_TALK => 'Image_talk',
|
|
|
|
|
|
NS_MEDIAWIKI => 'MediaWiki',
|
|
|
|
|
|
NS_MEDIAWIKI_TALK => 'MediaWiki_talk',
|
|
|
|
|
|
NS_TEMPLATE => 'Template',
|
|
|
|
|
|
NS_TEMPLATE_TALK => 'Template_talk',
|
|
|
|
|
|
NS_HELP => 'Help',
|
|
|
|
|
|
NS_HELP_TALK => 'Help_talk',
|
2004-08-12 14:32:31 +00:00
|
|
|
|
NS_CATEGORY => 'Category',
|
2005-01-31 03:01:27 +00:00
|
|
|
|
NS_CATEGORY_TALK => 'Category_talk',
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
2004-08-31 10:23:55 +00:00
|
|
|
|
if(isset($wgExtraNamespaces)) {
|
|
|
|
|
|
$wgNamespaceNamesEn=$wgNamespaceNamesEn+$wgExtraNamespaces;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
/* private */ $wgDefaultUserOptionsEn = array(
|
2004-12-18 03:47:11 +00:00
|
|
|
|
'quickbar' => 1,
|
2005-07-05 19:33:44 +00:00
|
|
|
|
'underline' => 2,
|
2004-12-18 03:47:11 +00:00
|
|
|
|
'cols' => 80,
|
|
|
|
|
|
'rows' => 25,
|
|
|
|
|
|
'searchlimit' => 20,
|
|
|
|
|
|
'contextlines' => 5,
|
|
|
|
|
|
'contextchars' => 50,
|
|
|
|
|
|
'skin' => $wgDefaultSkin,
|
|
|
|
|
|
'math' => 1,
|
|
|
|
|
|
'rcdays' => 7,
|
|
|
|
|
|
'rclimit' => 50,
|
2006-04-18 11:47:09 +00:00
|
|
|
|
'wllimit' => 250,
|
2004-12-18 03:47:11 +00:00
|
|
|
|
'highlightbroken' => 1,
|
|
|
|
|
|
'stubthreshold' => 0,
|
|
|
|
|
|
'previewontop' => 1,
|
|
|
|
|
|
'editsection' => 1,
|
|
|
|
|
|
'editsectiononrightclick'=> 0,
|
|
|
|
|
|
'showtoc' => 1,
|
|
|
|
|
|
'showtoolbar' => 1,
|
|
|
|
|
|
'date' => 0,
|
|
|
|
|
|
'imagesize' => 2,
|
2005-04-12 00:37:45 +00:00
|
|
|
|
'thumbsize' => 2,
|
2004-12-18 03:47:11 +00:00
|
|
|
|
'rememberpassword' => 0,
|
2005-05-14 17:55:04 +00:00
|
|
|
|
'enotifwatchlistpages' => 0,
|
2004-12-18 03:47:11 +00:00
|
|
|
|
'enotifusertalkpages' => 1,
|
|
|
|
|
|
'enotifminoredits' => 0,
|
|
|
|
|
|
'enotifrevealaddr' => 0,
|
|
|
|
|
|
'shownumberswatching' => 1,
|
2005-04-12 03:36:20 +00:00
|
|
|
|
'fancysig' => 0,
|
|
|
|
|
|
'externaleditor' => 0,
|
|
|
|
|
|
'externaldiff' => 0,
|
2005-11-16 15:15:23 +00:00
|
|
|
|
'showjumplinks' => 1,
|
|
|
|
|
|
'numberheadings' => 0,
|
2006-02-23 20:03:51 +00:00
|
|
|
|
'uselivepreview' => 0,
|
2006-04-17 23:53:54 +00:00
|
|
|
|
'watchlistdays' => 3.0,
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/* private */ $wgQuickbarSettingsEn = array(
|
2005-07-05 18:26:34 +00:00
|
|
|
|
'None', 'Fixed left', 'Fixed right', 'Floating left', 'Floating right'
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/* private */ $wgSkinNamesEn = array(
|
2004-06-28 20:59:01 +00:00
|
|
|
|
'standard' => 'Classic',
|
2004-06-08 19:23:19 +00:00
|
|
|
|
'nostalgia' => 'Nostalgia',
|
|
|
|
|
|
'cologneblue' => 'Cologne Blue',
|
|
|
|
|
|
'davinci' => 'DaVinci',
|
|
|
|
|
|
'mono' => 'Mono',
|
|
|
|
|
|
'monobook' => 'MonoBook',
|
2004-08-14 22:30:10 +00:00
|
|
|
|
'myskin' => 'MySkin',
|
|
|
|
|
|
'chick' => 'Chick'
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/* private */ $wgMathNamesEn = array(
|
2004-07-13 18:18:34 +00:00
|
|
|
|
MW_MATH_PNG => 'mw_math_png',
|
|
|
|
|
|
MW_MATH_SIMPLE => 'mw_math_simple',
|
|
|
|
|
|
MW_MATH_HTML => 'mw_math_html',
|
|
|
|
|
|
MW_MATH_SOURCE => 'mw_math_source',
|
|
|
|
|
|
MW_MATH_MODERN => 'mw_math_modern',
|
|
|
|
|
|
MW_MATH_MATHML => 'mw_math_mathml'
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
2005-11-08 00:57:09 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Whether to use user or default setting in Language::date()
|
|
|
|
|
|
*
|
|
|
|
|
|
* NOTE: the array string values are no longer important!
|
|
|
|
|
|
* The actual date format functions are now called for the selection in
|
|
|
|
|
|
* Special:Preferences, and the 'datedefault' message for MW_DATE_DEFAULT.
|
|
|
|
|
|
*
|
|
|
|
|
|
* The array keys make up the set of formats which this language allows
|
|
|
|
|
|
* the user to select. It's exposed via Language::getDateFormats().
|
|
|
|
|
|
*
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @private
|
2005-11-08 00:57:09 +00:00
|
|
|
|
*/
|
|
|
|
|
|
$wgDateFormatsEn = array(
|
2005-09-13 06:55:43 +00:00
|
|
|
|
MW_DATE_DEFAULT => 'No preference',
|
|
|
|
|
|
MW_DATE_DMY => '16:12, 15 January 2001',
|
2005-11-08 00:57:09 +00:00
|
|
|
|
MW_DATE_MDY => '16:12, January 15, 2001',
|
2005-09-13 06:55:43 +00:00
|
|
|
|
MW_DATE_YMD => '16:12, 2001 January 15',
|
|
|
|
|
|
MW_DATE_ISO => '2001-01-15 16:12:34'
|
2003-07-01 12:56:55 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
/* private */ $wgUserTogglesEn = array(
|
2004-07-23 07:03:52 +00:00
|
|
|
|
'highlightbroken',
|
|
|
|
|
|
'justify',
|
|
|
|
|
|
'hideminor',
|
2006-04-18 11:47:09 +00:00
|
|
|
|
'extendwatchlist',
|
2004-07-23 07:03:52 +00:00
|
|
|
|
'usenewrc',
|
|
|
|
|
|
'numberheadings',
|
|
|
|
|
|
'showtoolbar',
|
|
|
|
|
|
'editondblclick',
|
|
|
|
|
|
'editsection',
|
|
|
|
|
|
'editsectiononrightclick',
|
|
|
|
|
|
'showtoc',
|
|
|
|
|
|
'rememberpassword',
|
|
|
|
|
|
'editwidth',
|
2006-03-18 19:22:33 +00:00
|
|
|
|
'watchcreations',
|
2004-07-23 07:03:52 +00:00
|
|
|
|
'watchdefault',
|
|
|
|
|
|
'minordefault',
|
|
|
|
|
|
'previewontop',
|
2004-09-19 17:09:12 +00:00
|
|
|
|
'previewonfirst',
|
2004-07-23 07:03:52 +00:00
|
|
|
|
'nocache',
|
2004-12-18 03:47:11 +00:00
|
|
|
|
'enotifwatchlistpages',
|
|
|
|
|
|
'enotifusertalkpages',
|
|
|
|
|
|
'enotifminoredits',
|
|
|
|
|
|
'enotifrevealaddr',
|
|
|
|
|
|
'shownumberswatching',
|
2005-03-24 13:18:16 +00:00
|
|
|
|
'fancysig',
|
2005-04-12 03:36:20 +00:00
|
|
|
|
'externaleditor',
|
|
|
|
|
|
'externaldiff',
|
2005-10-27 00:11:41 +00:00
|
|
|
|
'showjumplinks',
|
2006-02-23 20:03:51 +00:00
|
|
|
|
'uselivepreview',
|
2006-03-18 22:47:40 +00:00
|
|
|
|
'autopatrol',
|
2006-03-25 00:57:14 +00:00
|
|
|
|
'forceeditsummary',
|
2006-04-17 23:53:54 +00:00
|
|
|
|
'watchlisthideown',
|
2006-04-18 00:37:40 +00:00
|
|
|
|
'watchlisthidebots',
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
/* private */ $wgBookstoreListEn = array(
|
2004-08-22 17:42:53 +00:00
|
|
|
|
'AddALL' => 'http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN',
|
|
|
|
|
|
'PriceSCAN' => 'http://www.pricescan.com/books/bookDetail.asp?isbn=$1',
|
2006-01-07 13:18:32 +00:00
|
|
|
|
'Barnes & Noble' => 'http://search.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1',
|
2004-08-22 17:42:53 +00:00
|
|
|
|
'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1'
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
2004-06-11 04:50:29 +00:00
|
|
|
|
# Read language names
|
2004-05-29 13:48:41 +00:00
|
|
|
|
global $wgLanguageNames;
|
2005-07-05 21:22:25 +00:00
|
|
|
|
/** */
|
2004-08-22 17:42:53 +00:00
|
|
|
|
require_once( 'Names.php' );
|
2003-04-14 23:10:40 +00:00
|
|
|
|
|
2004-02-28 00:53:12 +00:00
|
|
|
|
$wgLanguageNamesEn =& $wgLanguageNames;
|
|
|
|
|
|
|
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
/* private */ $wgWeekdayNamesEn = array(
|
2004-07-17 15:46:22 +00:00
|
|
|
|
'sunday', 'monday', 'tuesday', 'wednesday', 'thursday',
|
|
|
|
|
|
'friday', 'saturday'
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
2004-07-17 15:46:22 +00:00
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
/* private */ $wgMonthNamesEn = array(
|
2004-07-17 17:08:06 +00:00
|
|
|
|
'january', 'february', 'march', 'april', 'may_long', 'june',
|
2004-07-17 15:46:22 +00:00
|
|
|
|
'july', 'august', 'september', 'october', 'november',
|
|
|
|
|
|
'december'
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
2004-07-17 17:41:43 +00:00
|
|
|
|
/* private */ $wgMonthNamesGenEn = array(
|
|
|
|
|
|
'january-gen', 'february-gen', 'march-gen', 'april-gen', 'may-gen', 'june-gen',
|
|
|
|
|
|
'july-gen', 'august-gen', 'september-gen', 'october-gen', 'november-gen',
|
|
|
|
|
|
'december-gen'
|
|
|
|
|
|
);
|
2003-04-14 23:10:40 +00:00
|
|
|
|
|
|
|
|
|
|
/* private */ $wgMonthAbbreviationsEn = array(
|
2004-07-17 15:46:22 +00:00
|
|
|
|
'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug',
|
|
|
|
|
|
'sep', 'oct', 'nov', 'dec'
|
2003-04-14 23:10:40 +00:00
|
|
|
|
);
|
|
|
|
|
|
|
2004-07-08 15:40:27 +00:00
|
|
|
|
# Note to translators:
|
|
|
|
|
|
# Please include the English words as synonyms. This allows people
|
2004-03-20 15:03:26 +00:00
|
|
|
|
# from other wikis to contribute more easily.
|
2004-07-08 15:40:27 +00:00
|
|
|
|
#
|
2003-08-31 09:46:37 +00:00
|
|
|
|
/* private */ $wgMagicWordsEn = array(
|
|
|
|
|
|
# ID CASE SYNONYMS
|
2005-10-08 23:34:02 +00:00
|
|
|
|
MAG_REDIRECT => array( 0, '#REDIRECT' ),
|
2004-08-12 14:32:31 +00:00
|
|
|
|
MAG_NOTOC => array( 0, '__NOTOC__' ),
|
2006-06-13 11:37:09 +00:00
|
|
|
|
MAG_NOGALLERY => array( 0, '__NOGALLERY__' ),
|
2004-08-12 14:32:31 +00:00
|
|
|
|
MAG_FORCETOC => array( 0, '__FORCETOC__' ),
|
|
|
|
|
|
MAG_TOC => array( 0, '__TOC__' ),
|
|
|
|
|
|
MAG_NOEDITSECTION => array( 0, '__NOEDITSECTION__' ),
|
|
|
|
|
|
MAG_START => array( 0, '__START__' ),
|
|
|
|
|
|
MAG_CURRENTMONTH => array( 1, 'CURRENTMONTH' ),
|
|
|
|
|
|
MAG_CURRENTMONTHNAME => array( 1, 'CURRENTMONTHNAME' ),
|
2005-03-24 03:00:06 +00:00
|
|
|
|
MAG_CURRENTMONTHNAMEGEN => array( 1, 'CURRENTMONTHNAMEGEN' ),
|
|
|
|
|
|
MAG_CURRENTMONTHABBREV => array( 1, 'CURRENTMONTHABBREV' ),
|
2004-08-12 14:32:31 +00:00
|
|
|
|
MAG_CURRENTDAY => array( 1, 'CURRENTDAY' ),
|
2006-01-07 22:33:54 +00:00
|
|
|
|
MAG_CURRENTDAY2 => array( 1, 'CURRENTDAY2' ),
|
2004-08-12 14:32:31 +00:00
|
|
|
|
MAG_CURRENTDAYNAME => array( 1, 'CURRENTDAYNAME' ),
|
|
|
|
|
|
MAG_CURRENTYEAR => array( 1, 'CURRENTYEAR' ),
|
|
|
|
|
|
MAG_CURRENTTIME => array( 1, 'CURRENTTIME' ),
|
2006-05-29 20:24:37 +00:00
|
|
|
|
MAG_NUMBEROFPAGES => array( 1, 'NUMBEROFPAGES' ),
|
2004-08-12 14:32:31 +00:00
|
|
|
|
MAG_NUMBEROFARTICLES => array( 1, 'NUMBEROFARTICLES' ),
|
2005-06-26 03:23:24 +00:00
|
|
|
|
MAG_NUMBEROFFILES => array( 1, 'NUMBEROFFILES' ),
|
2006-05-29 20:24:37 +00:00
|
|
|
|
MAG_NUMBEROFUSERS => array( 1, 'NUMBEROFUSERS' ),
|
2004-08-12 13:32:04 +00:00
|
|
|
|
MAG_PAGENAME => array( 1, 'PAGENAME' ),
|
|
|
|
|
|
MAG_PAGENAMEE => array( 1, 'PAGENAMEE' ),
|
|
|
|
|
|
MAG_NAMESPACE => array( 1, 'NAMESPACE' ),
|
2005-11-21 17:50:10 +00:00
|
|
|
|
MAG_NAMESPACEE => array( 1, 'NAMESPACEE' ),
|
2006-05-29 20:24:37 +00:00
|
|
|
|
MAG_TALKSPACE => array( 1, 'TALKSPACE' ),
|
|
|
|
|
|
MAG_TALKSPACEE => array( 1, 'TALKSPACEE' ),
|
|
|
|
|
|
MAG_SUBJECTSPACE => array( 1, 'SUBJECTSPACE', 'ARTICLESPACE' ),
|
|
|
|
|
|
MAG_SUBJECTSPACEE => array( 1, 'SUBJECTSPACEE', 'ARTICLESPACEE' ),
|
2005-11-21 17:50:10 +00:00
|
|
|
|
MAG_FULLPAGENAME => array( 1, 'FULLPAGENAME' ),
|
|
|
|
|
|
MAG_FULLPAGENAMEE => array( 1, 'FULLPAGENAMEE' ),
|
2006-05-29 20:24:37 +00:00
|
|
|
|
MAG_SUBPAGENAME => array( 1, 'SUBPAGENAME' ),
|
|
|
|
|
|
MAG_SUBPAGENAMEE => array( 1, 'SUBPAGENAMEE' ),
|
|
|
|
|
|
MAG_BASEPAGENAME => array( 1, 'BASEPAGENAME' ),
|
|
|
|
|
|
MAG_BASEPAGENAMEE => array( 1, 'BASEPAGENAMEE' ),
|
|
|
|
|
|
MAG_TALKPAGENAME => array( 1, 'TALKPAGENAME' ),
|
|
|
|
|
|
MAG_TALKPAGENAMEE => array( 1, 'TALKPAGENAMEE' ),
|
|
|
|
|
|
MAG_SUBJECTPAGENAME => array( 1, 'SUBJECTPAGENAME', 'ARTICLEPAGENAME' ),
|
|
|
|
|
|
MAG_SUBJECTPAGENAMEE => array( 1, 'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE' ),
|
2005-05-23 23:25:43 +00:00
|
|
|
|
MAG_MSG => array( 0, 'MSG:' ),
|
2004-06-08 19:23:19 +00:00
|
|
|
|
MAG_SUBST => array( 0, 'SUBST:' ),
|
2004-08-12 14:32:31 +00:00
|
|
|
|
MAG_MSGNW => array( 0, 'MSGNW:' ),
|
2004-06-08 19:23:19 +00:00
|
|
|
|
MAG_END => array( 0, '__END__' ),
|
2004-08-12 14:32:31 +00:00
|
|
|
|
MAG_IMG_THUMBNAIL => array( 1, 'thumbnail', 'thumb' ),
|
2005-08-20 13:27:21 +00:00
|
|
|
|
MAG_IMG_MANUALTHUMB => array( 1, 'thumbnail=$1', 'thumb=$1'),
|
2004-08-12 14:32:31 +00:00
|
|
|
|
MAG_IMG_RIGHT => array( 1, 'right' ),
|
|
|
|
|
|
MAG_IMG_LEFT => array( 1, 'left' ),
|
|
|
|
|
|
MAG_IMG_NONE => array( 1, 'none' ),
|
|
|
|
|
|
MAG_IMG_WIDTH => array( 1, '$1px' ),
|
|
|
|
|
|
MAG_IMG_CENTER => array( 1, 'center', 'centre' ),
|
|
|
|
|
|
MAG_IMG_FRAMED => array( 1, 'framed', 'enframed', 'frame' ),
|
|
|
|
|
|
MAG_INT => array( 0, 'INT:' ),
|
|
|
|
|
|
MAG_SITENAME => array( 1, 'SITENAME' ),
|
|
|
|
|
|
MAG_NS => array( 0, 'NS:' ),
|
2004-06-08 19:23:19 +00:00
|
|
|
|
MAG_LOCALURL => array( 0, 'LOCALURL:' ),
|
|
|
|
|
|
MAG_LOCALURLE => array( 0, 'LOCALURLE:' ),
|
2004-08-27 14:55:41 +00:00
|
|
|
|
MAG_SERVER => array( 0, 'SERVER' ),
|
2005-06-24 02:54:52 +00:00
|
|
|
|
MAG_SERVERNAME => array( 0, 'SERVERNAME' ),
|
2005-06-20 11:06:33 +00:00
|
|
|
|
MAG_SCRIPTPATH => array( 0, 'SCRIPTPATH' ),
|
2004-12-29 02:47:33 +00:00
|
|
|
|
MAG_GRAMMAR => array( 0, 'GRAMMAR:' ),
|
|
|
|
|
|
MAG_NOTITLECONVERT => array( 0, '__NOTITLECONVERT__', '__NOTC__'),
|
2005-01-22 03:22:16 +00:00
|
|
|
|
MAG_NOCONTENTCONVERT => array( 0, '__NOCONTENTCONVERT__', '__NOCC__'),
|
2005-01-11 01:30:13 +00:00
|
|
|
|
MAG_CURRENTWEEK => array( 1, 'CURRENTWEEK' ),
|
|
|
|
|
|
MAG_CURRENTDOW => array( 1, 'CURRENTDOW' ),
|
2005-07-03 07:15:53 +00:00
|
|
|
|
MAG_REVISIONID => array( 1, 'REVISIONID' ),
|
2005-09-06 17:02:19 +00:00
|
|
|
|
MAG_PLURAL => array( 0, 'PLURAL:' ),
|
2005-09-23 12:10:39 +00:00
|
|
|
|
MAG_FULLURL => array( 0, 'FULLURL:' ),
|
|
|
|
|
|
MAG_FULLURLE => array( 0, 'FULLURLE:' ),
|
2006-02-01 04:41:53 +00:00
|
|
|
|
MAG_LCFIRST => array( 0, 'LCFIRST:' ),
|
|
|
|
|
|
MAG_UCFIRST => array( 0, 'UCFIRST:' ),
|
|
|
|
|
|
MAG_LC => array( 0, 'LC:' ),
|
|
|
|
|
|
MAG_UC => array( 0, 'UC:' ),
|
|
|
|
|
|
MAG_RAW => array( 0, 'RAW:' ),
|
2006-04-11 10:16:27 +00:00
|
|
|
|
MAG_DISPLAYTITLE => array( 1, 'DISPLAYTITLE' ),
|
2006-05-29 20:24:37 +00:00
|
|
|
|
MAG_RAWSUFFIX => array( 1, 'R' ),
|
|
|
|
|
|
MAG_NEWSECTIONLINK => array( 1, '__NEWSECTIONLINK__' ),
|
|
|
|
|
|
MAG_CURRENTVERSION => array( 1, 'CURRENTVERSION' ),
|
|
|
|
|
|
MAG_URLENCODE => array( 0, 'URLENCODE:' ),
|
|
|
|
|
|
MAG_CURRENTTIMESTAMP => array( 1, 'CURRENTTIMESTAMP' ),
|
|
|
|
|
|
MAG_DIRECTIONMARK => array( 1, 'DIRECTIONMARK', 'DIRMARK' ),
|
2006-05-31 01:41:36 +00:00
|
|
|
|
MAG_LANGUAGE => array( 0, '#LANGUAGE:' ),
|
2006-06-08 13:30:35 +00:00
|
|
|
|
MAG_CONTENTLANGUAGE => array( 1, 'CONTENTLANGUAGE', 'CONTENTLANG' ),
|
2006-06-12 12:38:41 +00:00
|
|
|
|
MAG_PAGESINNAMESPACE => array( 1, 'PAGESINNAMESPACE:', 'PAGESINNS:' ),
|
2006-06-16 13:58:42 +00:00
|
|
|
|
MAG_NUMBEROFADMINS => array( 1, 'NUMBEROFADMINS' ),
|
2003-08-31 09:46:37 +00:00
|
|
|
|
);
|
New edit toolbar for bold, italic, links, headlines, math, images, media,
sigs, horizontal lines (more can be added easily). Select text and click
to apply, or just click to see an example. Mouseover should show speedtips.
Also, access keys for the edit window (ALT+P=Preview, ALT+S=Save) -> Moz+IE
2004-01-11 04:11:43 +00:00
|
|
|
|
|
2006-01-22 00:49:58 +00:00
|
|
|
|
if (!$wgCachedMessageArrays) {
|
|
|
|
|
|
require_once('Messages.php');
|
|
|
|
|
|
}
|
2003-04-14 23:10:40 +00:00
|
|
|
|
|
2005-04-15 14:12:39 +00:00
|
|
|
|
/* a fake language converter */
|
|
|
|
|
|
class fakeConverter {
|
2006-05-11 22:40:38 +00:00
|
|
|
|
var $mLang;
|
2005-04-15 14:12:39 +00:00
|
|
|
|
function fakeConverter($langobj) {$this->mLang = $langobj;}
|
|
|
|
|
|
function convert($t, $i) {return $t;}
|
2006-03-01 01:57:53 +00:00
|
|
|
|
function parserConvert($t, $p) {return $t;}
|
2005-07-06 07:53:51 +00:00
|
|
|
|
function getVariants() { return array( $this->mLang->getCode() ); }
|
|
|
|
|
|
function getPreferredVariant() {return $this->mLang->getCode(); }
|
2005-04-15 14:12:39 +00:00
|
|
|
|
function findVariantLink(&$l, &$n) {}
|
|
|
|
|
|
function getExtraHashOptions() {return '';}
|
|
|
|
|
|
function getParsedTitle() {return '';}
|
|
|
|
|
|
function markNoConversion($text) {return $text;}
|
2005-04-28 03:33:54 +00:00
|
|
|
|
function convertCategoryKey( $key ) {return $key; }
|
|
|
|
|
|
|
2005-04-15 14:12:39 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2003-08-31 09:46:37 +00:00
|
|
|
|
#--------------------------------------------------------------------------
|
|
|
|
|
|
# Internationalisation code
|
|
|
|
|
|
#--------------------------------------------------------------------------
|
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
class Language {
|
2006-05-11 22:40:38 +00:00
|
|
|
|
var $mConverter;
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
function Language() {
|
2005-04-15 14:12:39 +00:00
|
|
|
|
$this->mConverter = new fakeConverter($this);
|
2004-02-01 22:00:06 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Exports the default user options as defined in
|
|
|
|
|
|
* $wgDefaultUserOptionsEn, user preferences can override some of these
|
|
|
|
|
|
* depending on what's in (Local|Default)Settings.php and some defines.
|
2005-07-03 07:15:53 +00:00
|
|
|
|
*
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* @return array
|
|
|
|
|
|
*/
|
|
|
|
|
|
function getDefaultUserOptions() {
|
2003-04-14 23:10:40 +00:00
|
|
|
|
global $wgDefaultUserOptionsEn ;
|
|
|
|
|
|
return $wgDefaultUserOptionsEn ;
|
2004-02-29 08:51:15 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Exports $wgBookstoreListEn
|
|
|
|
|
|
* @return array
|
|
|
|
|
|
*/
|
|
|
|
|
|
function getBookstoreList() {
|
2003-04-14 23:10:40 +00:00
|
|
|
|
global $wgBookstoreListEn ;
|
|
|
|
|
|
return $wgBookstoreListEn ;
|
|
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-04-07 19:05:42 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* @return array
|
|
|
|
|
|
*/
|
2003-04-14 23:10:40 +00:00
|
|
|
|
function getNamespaces() {
|
|
|
|
|
|
global $wgNamespaceNamesEn;
|
|
|
|
|
|
return $wgNamespaceNamesEn;
|
|
|
|
|
|
}
|
2005-05-03 12:27:30 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* A convenience function that returns the same thing as
|
|
|
|
|
|
* getNamespaces() except with the array values changed to ' '
|
|
|
|
|
|
* where it found '_', useful for producing output to be displayed
|
|
|
|
|
|
* e.g. in <select> forms.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return array
|
|
|
|
|
|
*/
|
|
|
|
|
|
function getFormattedNamespaces() {
|
|
|
|
|
|
$ns = $this->getNamespaces();
|
|
|
|
|
|
foreach($ns as $k => $v) {
|
|
|
|
|
|
$ns[$k] = strtr($v, '_', ' ');
|
|
|
|
|
|
}
|
|
|
|
|
|
return $ns;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Get a namespace value by key
|
|
|
|
|
|
* <code>
|
|
|
|
|
|
* $mw_ns = $wgContLang->getNsText( NS_MEDIAWIKI );
|
|
|
|
|
|
* echo $mw_ns; // prints 'MediaWiki'
|
|
|
|
|
|
* </code>
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param int $index the array key of the namespace to return
|
2005-06-18 04:06:54 +00:00
|
|
|
|
* @return mixed, string if the namespace value exists, otherwise false
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
*/
|
2003-04-14 23:10:40 +00:00
|
|
|
|
function getNsText( $index ) {
|
2005-06-18 04:06:54 +00:00
|
|
|
|
$ns = $this->getNamespaces();
|
|
|
|
|
|
return isset( $ns[$index] ) ? $ns[$index] : false;
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-05-03 12:27:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* A convenience function that returns the same thing as
|
|
|
|
|
|
* getNsText() except with '_' changed to ' ', useful for
|
|
|
|
|
|
* producing output.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return array
|
|
|
|
|
|
*/
|
|
|
|
|
|
function getFormattedNsText( $index ) {
|
|
|
|
|
|
$ns = $this->getNsText( $index );
|
|
|
|
|
|
return strtr($ns, '_', ' ');
|
|
|
|
|
|
}
|
|
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
2005-06-18 04:06:54 +00:00
|
|
|
|
* Get a namespace key by value, case insensetive.
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
*
|
|
|
|
|
|
* @param string $text
|
|
|
|
|
|
* @return mixed An integer if $text is a valid value otherwise false
|
|
|
|
|
|
*/
|
2003-04-14 23:10:40 +00:00
|
|
|
|
function getNsIndex( $text ) {
|
2005-06-18 04:06:54 +00:00
|
|
|
|
$ns = $this->getNamespaces();
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-06-18 04:06:54 +00:00
|
|
|
|
foreach ( $ns as $i => $n ) {
|
|
|
|
|
|
if ( strcasecmp( $n, $text ) == 0)
|
|
|
|
|
|
return $i;
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
2005-07-03 07:15:53 +00:00
|
|
|
|
* short names for language variants used for language conversion links.
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
*
|
|
|
|
|
|
* @param string $code
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2004-12-24 02:47:38 +00:00
|
|
|
|
function getVariantname( $code ) {
|
2005-05-03 12:27:30 +00:00
|
|
|
|
return wfMsg( "variantname-$code" );
|
2004-12-24 02:47:38 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
function specialPage( $name ) {
|
2004-09-24 18:31:16 +00:00
|
|
|
|
return $this->getNsText(NS_SPECIAL) . ':' . $name;
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function getQuickbarSettings() {
|
|
|
|
|
|
global $wgQuickbarSettingsEn;
|
|
|
|
|
|
return $wgQuickbarSettingsEn;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function getSkinNames() {
|
|
|
|
|
|
global $wgSkinNamesEn;
|
|
|
|
|
|
return $wgSkinNamesEn;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function getMathNames() {
|
|
|
|
|
|
global $wgMathNamesEn;
|
|
|
|
|
|
return $wgMathNamesEn;
|
|
|
|
|
|
}
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2003-07-01 12:56:55 +00:00
|
|
|
|
function getDateFormats() {
|
|
|
|
|
|
global $wgDateFormatsEn;
|
|
|
|
|
|
return $wgDateFormatsEn;
|
|
|
|
|
|
}
|
2003-04-14 23:10:40 +00:00
|
|
|
|
|
|
|
|
|
|
function getUserToggles() {
|
|
|
|
|
|
global $wgUserTogglesEn;
|
|
|
|
|
|
return $wgUserTogglesEn;
|
|
|
|
|
|
}
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2004-04-09 08:27:00 +00:00
|
|
|
|
function getUserToggle( $tog ) {
|
2005-05-03 12:27:30 +00:00
|
|
|
|
return wfMsg( "tog-$tog" );
|
2004-04-09 08:27:00 +00:00
|
|
|
|
}
|
2003-04-14 23:10:40 +00:00
|
|
|
|
|
|
|
|
|
|
function getLanguageNames() {
|
|
|
|
|
|
global $wgLanguageNamesEn;
|
|
|
|
|
|
return $wgLanguageNamesEn;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function getLanguageName( $code ) {
|
|
|
|
|
|
global $wgLanguageNamesEn;
|
|
|
|
|
|
if ( ! array_key_exists( $code, $wgLanguageNamesEn ) ) {
|
2005-06-27 02:20:50 +00:00
|
|
|
|
return '';
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
return $wgLanguageNamesEn[$code];
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function getMonthName( $key ) {
|
2004-12-13 02:14:31 +00:00
|
|
|
|
global $wgMonthNamesEn, $wgContLang;
|
2004-12-24 02:47:38 +00:00
|
|
|
|
// see who called us and use the correct message function
|
|
|
|
|
|
if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
|
2004-12-13 02:14:31 +00:00
|
|
|
|
return wfMsgForContent($wgMonthNamesEn[$key-1]);
|
|
|
|
|
|
else
|
|
|
|
|
|
return wfMsg($wgMonthNamesEn[$key-1]);
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
/* by default we just return base form */
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function getMonthNameGen( $key ) {
|
2003-12-25 08:49:36 +00:00
|
|
|
|
return $this->getMonthName( $key );
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function getMonthAbbreviation( $key ) {
|
2004-12-13 02:14:31 +00:00
|
|
|
|
global $wgMonthAbbreviationsEn, $wgContLang;
|
2004-12-24 02:47:38 +00:00
|
|
|
|
// see who called us and use the correct message function
|
|
|
|
|
|
if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
|
2004-12-13 02:14:31 +00:00
|
|
|
|
return wfMsgForContent(@$wgMonthAbbreviationsEn[$key-1]);
|
|
|
|
|
|
else
|
|
|
|
|
|
return wfMsg(@$wgMonthAbbreviationsEn[$key-1]);
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function getWeekdayName( $key ) {
|
2004-12-24 02:47:38 +00:00
|
|
|
|
global $wgWeekdayNamesEn, $wgContLang;
|
|
|
|
|
|
// see who called us and use the correct message function
|
|
|
|
|
|
if( get_class( $wgContLang->getLangObj() ) == get_class( $this ) )
|
2004-12-13 02:14:31 +00:00
|
|
|
|
return wfMsgForContent($wgWeekdayNamesEn[$key-1]);
|
|
|
|
|
|
else
|
|
|
|
|
|
return wfMsg($wgWeekdayNamesEn[$key-1]);
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2005-04-04 22:58:18 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Used by date() and time() to adjust the time output.
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @public
|
2005-04-04 22:58:18 +00:00
|
|
|
|
* @param int $ts the time in date('YmdHis') format
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @param mixed $tz adjust the time by this amount (default false,
|
|
|
|
|
|
* mean we get user timecorrection setting)
|
2005-04-04 22:58:18 +00:00
|
|
|
|
* @return int
|
2005-12-30 09:33:11 +00:00
|
|
|
|
|
2005-04-04 22:58:18 +00:00
|
|
|
|
*/
|
2004-12-18 03:47:11 +00:00
|
|
|
|
function userAdjust( $ts, $tz = false ) {
|
2003-04-14 23:10:40 +00:00
|
|
|
|
global $wgUser, $wgLocalTZoffset;
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2004-12-18 03:47:11 +00:00
|
|
|
|
if (!$tz) {
|
2005-04-01 11:09:47 +00:00
|
|
|
|
$tz = $wgUser->getOption( 'timecorrection' );
|
2004-12-18 03:47:11 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2006-04-19 17:57:15 +00:00
|
|
|
|
# minutes and hours differences:
|
|
|
|
|
|
$minDiff = 0;
|
|
|
|
|
|
$hrDiff = 0;
|
|
|
|
|
|
|
2004-06-08 19:23:19 +00:00
|
|
|
|
if ( $tz === '' ) {
|
2006-04-30 12:20:20 +00:00
|
|
|
|
# Global offset in minutes.
|
|
|
|
|
|
if( isset($wgLocalTZoffset) ) {
|
|
|
|
|
|
$hrDiff = $wgLocalTZoffset % 60;
|
|
|
|
|
|
$minDiff = $wgLocalTZoffset - ($hrDiff * 60);
|
|
|
|
|
|
}
|
2004-08-22 17:42:53 +00:00
|
|
|
|
} elseif ( strpos( $tz, ':' ) !== false ) {
|
|
|
|
|
|
$tzArray = explode( ':', $tz );
|
2004-01-26 02:55:07 +00:00
|
|
|
|
$hrDiff = intval($tzArray[0]);
|
|
|
|
|
|
$minDiff = intval($hrDiff < 0 ? -$tzArray[1] : $tzArray[1]);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$hrDiff = intval( $tz );
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
2006-04-19 17:57:15 +00:00
|
|
|
|
|
|
|
|
|
|
# No difference ? Return time unchanged
|
2004-01-26 02:55:07 +00:00
|
|
|
|
if ( 0 == $hrDiff && 0 == $minDiff ) { return $ts; }
|
|
|
|
|
|
|
2006-04-19 17:57:15 +00:00
|
|
|
|
# Generate an adjusted date
|
2004-07-08 15:40:27 +00:00
|
|
|
|
$t = mktime( (
|
2004-01-26 02:55:07 +00:00
|
|
|
|
(int)substr( $ts, 8, 2) ) + $hrDiff, # Hours
|
|
|
|
|
|
(int)substr( $ts, 10, 2 ) + $minDiff, # Minutes
|
|
|
|
|
|
(int)substr( $ts, 12, 2 ), # Seconds
|
|
|
|
|
|
(int)substr( $ts, 4, 2 ), # Month
|
|
|
|
|
|
(int)substr( $ts, 6, 2 ), # Day
|
|
|
|
|
|
(int)substr( $ts, 0, 4 ) ); #Year
|
2004-06-08 19:23:19 +00:00
|
|
|
|
return date( 'YmdHis', $t );
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-04-07 19:05:42 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
*
|
|
|
|
|
|
*<code>
|
2005-09-13 06:55:43 +00:00
|
|
|
|
* function timeanddate([...], $format = true) {
|
2005-04-07 19:05:42 +00:00
|
|
|
|
* $datePreference = $this->dateFormat($format);
|
|
|
|
|
|
* [...]
|
|
|
|
|
|
*</code>
|
|
|
|
|
|
*
|
2005-11-08 00:57:09 +00:00
|
|
|
|
* @param mixed $usePrefs: if true, the user's preference is used
|
|
|
|
|
|
* if false, the site/language default is used
|
|
|
|
|
|
* if int/string, assumed to be a format.
|
2005-04-07 19:05:42 +00:00
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2005-09-13 06:55:43 +00:00
|
|
|
|
function dateFormat( $usePrefs = true ) {
|
2006-01-10 17:46:23 +00:00
|
|
|
|
global $wgUser;
|
2005-04-13 08:37:03 +00:00
|
|
|
|
|
2005-11-08 00:57:09 +00:00
|
|
|
|
if( is_bool( $usePrefs ) ) {
|
|
|
|
|
|
if( $usePrefs ) {
|
|
|
|
|
|
$datePreference = $wgUser->getOption( 'date' );
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$options = $this->getDefaultUserOptions();
|
|
|
|
|
|
$datePreference = (string)$options['date'];
|
|
|
|
|
|
}
|
2005-04-13 08:37:03 +00:00
|
|
|
|
} else {
|
2005-11-08 00:57:09 +00:00
|
|
|
|
$datePreference = (string)$usePrefs;
|
2005-04-07 19:05:42 +00:00
|
|
|
|
}
|
2005-09-13 06:55:43 +00:00
|
|
|
|
|
2006-01-10 12:22:58 +00:00
|
|
|
|
// return int
|
|
|
|
|
|
if( $datePreference == '' ) {
|
|
|
|
|
|
return MW_DATE_DEFAULT;
|
2005-09-13 06:55:43 +00:00
|
|
|
|
}
|
2006-01-10 12:22:58 +00:00
|
|
|
|
|
2005-09-13 06:55:43 +00:00
|
|
|
|
return $datePreference;
|
2005-04-07 19:05:42 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-04-04 22:58:18 +00:00
|
|
|
|
/**
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @public
|
2005-04-04 22:58:18 +00:00
|
|
|
|
* @param mixed $ts the time format which needs to be turned into a
|
|
|
|
|
|
* date('YmdHis') format with wfTimestamp(TS_MW,$ts)
|
|
|
|
|
|
* @param bool $adj whether to adjust the time output according to the
|
|
|
|
|
|
* user configured offset ($timecorrection)
|
2005-11-08 00:57:09 +00:00
|
|
|
|
* @param mixed $format true to use user's date format preference
|
2005-04-04 22:58:18 +00:00
|
|
|
|
* @param string $timecorrection the time offset as returned by
|
|
|
|
|
|
* validateTimeZone() in Special:Preferences
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2005-05-08 15:58:52 +00:00
|
|
|
|
function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
|
2006-01-10 14:44:50 +00:00
|
|
|
|
global $wgUser, $wgAmericanDates;
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2004-12-18 03:47:11 +00:00
|
|
|
|
if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-09-13 06:55:43 +00:00
|
|
|
|
$datePreference = $this->dateFormat( $format );
|
2006-01-10 12:22:58 +00:00
|
|
|
|
if( $datePreference == MW_DATE_DEFAULT ) {
|
2006-01-10 19:53:29 +00:00
|
|
|
|
$datePreference = $wgAmericanDates ? MW_DATE_MDY : MW_DATE_DMY;
|
2006-01-10 12:22:58 +00:00
|
|
|
|
}
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2005-11-08 00:57:09 +00:00
|
|
|
|
$month = $this->formatMonth( substr( $ts, 4, 2 ), $datePreference );
|
|
|
|
|
|
$day = $this->formatDay( substr( $ts, 6, 2 ), $datePreference );
|
2005-04-13 08:37:03 +00:00
|
|
|
|
$year = $this->formatNum( substr( $ts, 0, 4 ), true );
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2004-03-06 03:03:14 +00:00
|
|
|
|
switch( $datePreference ) {
|
2005-09-13 06:55:43 +00:00
|
|
|
|
case MW_DATE_DMY: return "$day $month $year";
|
|
|
|
|
|
case MW_DATE_YMD: return "$year $month $day";
|
|
|
|
|
|
case MW_DATE_ISO: return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
|
2005-03-26 01:28:33 +00:00
|
|
|
|
default: return "$month $day, $year";
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2005-04-04 22:58:18 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @public
|
2005-04-04 22:58:18 +00:00
|
|
|
|
* @param mixed $ts the time format which needs to be turned into a
|
|
|
|
|
|
* date('YmdHis') format with wfTimestamp(TS_MW,$ts)
|
|
|
|
|
|
* @param bool $adj whether to adjust the time output according to the
|
|
|
|
|
|
* user configured offset ($timecorrection)
|
2005-11-08 00:57:09 +00:00
|
|
|
|
* @param mixed $format true to use user's date format preference
|
2005-04-04 22:58:18 +00:00
|
|
|
|
* @param string $timecorrection the time offset as returned by
|
|
|
|
|
|
* validateTimeZone() in Special:Preferences
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2005-05-08 11:03:13 +00:00
|
|
|
|
function time( $ts, $adj = false, $format = true, $timecorrection = false ) {
|
2005-09-13 06:55:43 +00:00
|
|
|
|
global $wgUser;
|
2004-09-01 14:10:42 +00:00
|
|
|
|
|
2004-12-18 03:47:11 +00:00
|
|
|
|
if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
|
2005-09-13 06:55:43 +00:00
|
|
|
|
$datePreference = $this->dateFormat( $format );
|
2006-01-07 13:31:29 +00:00
|
|
|
|
|
2006-05-01 20:55:26 +00:00
|
|
|
|
$sep = $this->timeSeparator( $format );
|
2006-01-07 13:31:29 +00:00
|
|
|
|
|
2006-05-01 20:55:26 +00:00
|
|
|
|
$hh = substr( $ts, 8, 2 );
|
|
|
|
|
|
$mm = substr( $ts, 10, 2 );
|
|
|
|
|
|
$ss = substr( $ts, 12, 2 );
|
2006-04-29 22:43:16 +00:00
|
|
|
|
|
2006-05-01 20:55:26 +00:00
|
|
|
|
if ( $datePreference != MW_DATE_ISO ) {
|
|
|
|
|
|
$hh = $this->formatNum( $hh, true );
|
|
|
|
|
|
$mm = $this->formatNum( $mm, true );
|
|
|
|
|
|
//$ss = $this->formatNum( $ss, true );
|
|
|
|
|
|
return $hh . $sep . $mm;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return $hh . ':' . $mm . ':' . $ss;
|
2004-04-03 00:53:17 +00:00
|
|
|
|
}
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
2006-01-07 13:31:29 +00:00
|
|
|
|
|
2005-11-08 00:57:09 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Default separator character between hours, minutes, and seconds.
|
|
|
|
|
|
* Will be used by Language::time() for non-ISO formats.
|
|
|
|
|
|
* (ISO will always use a colon.)
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
|
|
|
|
|
function timeSeparator( $format ) {
|
|
|
|
|
|
return ':';
|
|
|
|
|
|
}
|
2006-01-07 13:31:29 +00:00
|
|
|
|
|
2005-11-08 00:57:09 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* String to insert between the time and the date in a combined
|
|
|
|
|
|
* string. Should include any relevant whitespace.
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
|
|
|
|
|
function timeDateSeparator( $format ) {
|
|
|
|
|
|
return ', ';
|
|
|
|
|
|
}
|
2006-01-07 13:31:29 +00:00
|
|
|
|
|
2005-11-08 00:57:09 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Return true if the time should display before the date.
|
|
|
|
|
|
* @return bool
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @private
|
2005-11-08 00:57:09 +00:00
|
|
|
|
*/
|
|
|
|
|
|
function timeBeforeDate() {
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function formatMonth( $month, $format ) {
|
|
|
|
|
|
return $this->getMonthName( $month );
|
|
|
|
|
|
}
|
2006-01-07 13:31:29 +00:00
|
|
|
|
|
2005-11-08 00:57:09 +00:00
|
|
|
|
function formatDay( $day, $format ) {
|
2006-04-29 21:44:57 +00:00
|
|
|
|
return $this->formatNum( 0 + $day, true );
|
2005-11-08 00:57:09 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-04-04 22:58:18 +00:00
|
|
|
|
/**
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @public
|
2005-04-04 22:58:18 +00:00
|
|
|
|
* @param mixed $ts the time format which needs to be turned into a
|
|
|
|
|
|
* date('YmdHis') format with wfTimestamp(TS_MW,$ts)
|
|
|
|
|
|
* @param bool $adj whether to adjust the time output according to the
|
|
|
|
|
|
* user configured offset ($timecorrection)
|
2005-12-30 09:33:11 +00:00
|
|
|
|
|
|
|
|
|
|
* @param mixed $format what format to return, if it's false output the
|
|
|
|
|
|
* default one (default true)
|
2005-04-04 22:58:18 +00:00
|
|
|
|
* @param string $timecorrection the time offset as returned by
|
|
|
|
|
|
* validateTimeZone() in Special:Preferences
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2005-05-08 16:02:07 +00:00
|
|
|
|
function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false) {
|
2005-09-13 06:55:43 +00:00
|
|
|
|
global $wgUser;
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-04-07 19:05:42 +00:00
|
|
|
|
$datePreference = $this->dateFormat($format);
|
2005-04-03 16:43:43 +00:00
|
|
|
|
switch ( $datePreference ) {
|
2005-09-13 06:55:43 +00:00
|
|
|
|
case MW_DATE_ISO: return $this->date( $ts, $adj, $format, $timecorrection ) . ' ' .
|
|
|
|
|
|
$this->time( $ts, $adj, $format, $timecorrection );
|
2005-11-08 00:57:09 +00:00
|
|
|
|
default:
|
|
|
|
|
|
$time = $this->time( $ts, $adj, $format, $timecorrection );
|
|
|
|
|
|
$sep = $this->timeDateSeparator( $datePreference );
|
|
|
|
|
|
$date = $this->date( $ts, $adj, $format, $timecorrection );
|
|
|
|
|
|
return $this->timeBeforeDate( $datePreference )
|
|
|
|
|
|
? $time . $sep . $date
|
|
|
|
|
|
: $date . $sep . $time;
|
2004-12-18 03:47:11 +00:00
|
|
|
|
}
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function getMessage( $key ) {
|
2003-04-14 23:10:40 +00:00
|
|
|
|
global $wgAllMessagesEn;
|
2004-05-29 01:41:00 +00:00
|
|
|
|
return @$wgAllMessagesEn[$key];
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function getAllMessages() {
|
2003-09-21 13:10:10 +00:00
|
|
|
|
global $wgAllMessagesEn;
|
|
|
|
|
|
return $wgAllMessagesEn;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
function iconv( $in, $out, $string ) {
|
|
|
|
|
|
# For most languages, this is a wrapper for iconv
|
|
|
|
|
|
return iconv( $in, $out, $string );
|
|
|
|
|
|
}
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2006-06-09 23:23:37 +00:00
|
|
|
|
function ucfirst( $string ) {
|
|
|
|
|
|
# For most languages, this is a wrapper for ucfirst()
|
|
|
|
|
|
return ucfirst( $string );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function uc( $str ) {
|
|
|
|
|
|
return strtoupper( $str );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function lcfirst( $s ) {
|
|
|
|
|
|
return strtolower( $s{0} ). substr( $s, 1 );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function lc( $str ) {
|
|
|
|
|
|
return strtolower( $str );
|
2005-10-22 19:39:51 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
function checkTitleEncoding( $s ) {
|
2004-08-14 22:30:10 +00:00
|
|
|
|
global $wgInputEncoding;
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2006-06-09 23:23:37 +00:00
|
|
|
|
# Check for UTF-8 URLs; Internet Explorer produces these if you
|
|
|
|
|
|
# type non-ASCII chars in the URL bar or follow unescaped links.
|
2004-08-14 22:30:10 +00:00
|
|
|
|
$ishigh = preg_match( '/[\x80-\xff]/', $s);
|
2006-06-09 23:23:37 +00:00
|
|
|
|
$isutf = ($ishigh ? preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
|
|
|
|
|
|
'[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s ) : true );
|
2003-04-14 23:10:40 +00:00
|
|
|
|
|
2006-06-09 23:23:37 +00:00
|
|
|
|
if( ($wgInputEncoding != 'utf-8') and $ishigh and $isutf )
|
|
|
|
|
|
return @iconv( 'UTF-8', $wgInputEncoding, $s );
|
2004-07-08 15:40:27 +00:00
|
|
|
|
|
2006-06-09 23:23:37 +00:00
|
|
|
|
if( ($wgInputEncoding == 'utf-8') and $ishigh and !$isutf )
|
|
|
|
|
|
return utf8_encode( $s );
|
|
|
|
|
|
|
|
|
|
|
|
# Other languages can safely leave this function, or replace
|
|
|
|
|
|
# it with one to detect and convert another legacy encoding.
|
|
|
|
|
|
return $s;
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Some languages have special punctuation to strip out
|
|
|
|
|
|
* or characters which need to be converted for MySQL's
|
|
|
|
|
|
* indexing to grok it correctly. Make such changes here.
|
|
|
|
|
|
*
|
2006-06-09 23:23:37 +00:00
|
|
|
|
* @param string $in
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2006-06-09 23:23:37 +00:00
|
|
|
|
function stripForSearch( $in ) {
|
|
|
|
|
|
return strtolower( $in );
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2004-11-29 01:22:44 +00:00
|
|
|
|
function convertForSearchResult( $termsArray ) {
|
|
|
|
|
|
# some languages, e.g. Chinese, need to do a conversion
|
|
|
|
|
|
# in order for search results to be displayed correctly
|
|
|
|
|
|
return $termsArray;
|
2005-07-03 07:15:53 +00:00
|
|
|
|
}
|
2004-11-29 01:22:44 +00:00
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Get the first character of a string. In ASCII, return
|
|
|
|
|
|
* first byte of the string. UTF8 and others have to
|
|
|
|
|
|
* overload this.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param string $s
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2004-06-05 08:31:41 +00:00
|
|
|
|
function firstChar( $s ) {
|
2006-06-09 23:23:37 +00:00
|
|
|
|
return $s[0];
|
2004-06-05 08:31:41 +00:00
|
|
|
|
}
|
2003-04-14 23:10:40 +00:00
|
|
|
|
|
2005-03-14 02:00:53 +00:00
|
|
|
|
function initEncoding() {
|
|
|
|
|
|
# Some languages may have an alternate char encoding option
|
|
|
|
|
|
# (Esperanto X-coding, Japanese furigana conversion, etc)
|
|
|
|
|
|
# If this language is used as the primary content language,
|
|
|
|
|
|
# an override to the defaults can be set here on startup.
|
|
|
|
|
|
#global $wgInputEncoding, $wgOutputEncoding, $wgEditEncoding;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
function setAltEncoding() {
|
|
|
|
|
|
# Some languages may have an alternate char encoding option
|
|
|
|
|
|
# (Esperanto X-coding, Japanese furigana conversion, etc)
|
|
|
|
|
|
# If 'altencoding' is checked in user prefs, this gives a
|
|
|
|
|
|
# chance to swap out the default encoding settings.
|
|
|
|
|
|
#global $wgInputEncoding, $wgOutputEncoding, $wgEditEncoding;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function recodeForEdit( $s ) {
|
|
|
|
|
|
# For some languages we'll want to explicitly specify
|
|
|
|
|
|
# which characters make it into the edit box raw
|
|
|
|
|
|
# or are converted in some way or another.
|
|
|
|
|
|
# Note that if wgOutputEncoding is different from
|
|
|
|
|
|
# wgInputEncoding, this text will be further converted
|
|
|
|
|
|
# to wgOutputEncoding.
|
|
|
|
|
|
global $wgInputEncoding, $wgEditEncoding;
|
2004-06-08 19:23:19 +00:00
|
|
|
|
if( $wgEditEncoding == '' or
|
2003-04-14 23:10:40 +00:00
|
|
|
|
$wgEditEncoding == $wgInputEncoding ) {
|
|
|
|
|
|
return $s;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return $this->iconv( $wgInputEncoding, $wgEditEncoding, $s );
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function recodeInput( $s ) {
|
|
|
|
|
|
# Take the previous into account.
|
|
|
|
|
|
global $wgInputEncoding, $wgOutputEncoding, $wgEditEncoding;
|
|
|
|
|
|
if($wgEditEncoding != "") {
|
|
|
|
|
|
$enc = $wgEditEncoding;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$enc = $wgOutputEncoding;
|
|
|
|
|
|
}
|
|
|
|
|
|
if( $enc == $wgInputEncoding ) {
|
|
|
|
|
|
return $s;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return $this->iconv( $enc, $wgInputEncoding, $s );
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* For right-to-left language support
|
2005-05-03 12:27:30 +00:00
|
|
|
|
*
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* @return bool
|
|
|
|
|
|
*/
|
2003-07-08 20:17:36 +00:00
|
|
|
|
function isRTL() { return false; }
|
2006-06-20 08:11:56 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* A hidden direction mark (LRM or RLM), depending on the language direction
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
|
|
|
|
|
function getDirMark() { return $this->isRTL() ? '' : ''; }
|
2003-08-31 09:46:37 +00:00
|
|
|
|
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* To allow "foo[[bar]]" to extend the link over the whole word "foobar"
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return bool
|
|
|
|
|
|
*/
|
2004-02-15 10:05:52 +00:00
|
|
|
|
function linkPrefixExtension() { return false; }
|
|
|
|
|
|
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function &getMagicWords() {
|
2003-08-31 09:46:37 +00:00
|
|
|
|
global $wgMagicWordsEn;
|
|
|
|
|
|
return $wgMagicWordsEn;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Fill a MagicWord object with data from here
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function getMagic( &$mw ) {
|
2005-07-30 19:47:39 +00:00
|
|
|
|
$raw = $this->getMagicWords();
|
2005-11-25 06:53:20 +00:00
|
|
|
|
|
|
|
|
|
|
wfRunHooks( 'LanguageGetMagic', array( &$raw ) );
|
2006-01-07 13:31:29 +00:00
|
|
|
|
|
2004-05-29 01:41:00 +00:00
|
|
|
|
if( !isset( $raw[$mw->mId] ) ) {
|
2004-05-28 21:20:51 +00:00
|
|
|
|
# Fall back to English if local list is incomplete
|
|
|
|
|
|
$raw =& Language::getMagicWords();
|
|
|
|
|
|
}
|
2004-06-05 08:31:41 +00:00
|
|
|
|
$rawEntry = $raw[$mw->mId];
|
2003-08-31 09:46:37 +00:00
|
|
|
|
$mw->mCaseSensitive = $rawEntry[0];
|
|
|
|
|
|
$mw->mSynonyms = array_slice( $rawEntry, 1 );
|
|
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
|
|
|
|
|
/**
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* Italic is unsuitable for some languages
|
|
|
|
|
|
*
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @public
|
2005-05-03 12:27:30 +00:00
|
|
|
|
*
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* @param string $text The text to be emphasized.
|
2005-05-03 12:27:30 +00:00
|
|
|
|
* @return string
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
*/
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function emphasize( $text ) {
|
2005-05-03 12:27:30 +00:00
|
|
|
|
return "<em>$text</em>";
|
2004-01-30 14:50:26 +00:00
|
|
|
|
}
|
2004-03-02 20:23:56 +00:00
|
|
|
|
|
2006-04-29 20:07:14 +00:00
|
|
|
|
/**
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* Normally we output all numbers in plain en_US style, that is
|
|
|
|
|
|
* 293,291.235 for twohundredninetythreethousand-twohundredninetyone
|
|
|
|
|
|
* point twohundredthirtyfive. However this is not sutable for all
|
|
|
|
|
|
* languages, some such as Pakaran want ੨੯੩,੨੯੫.੨੩੫ and others such as
|
|
|
|
|
|
* Icelandic just want to use commas instead of dots, and dots instead
|
|
|
|
|
|
* of commas like "293.291,235".
|
2005-07-03 07:15:53 +00:00
|
|
|
|
*
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* An example of this function being called:
|
|
|
|
|
|
* <code>
|
|
|
|
|
|
* wfMsg( 'message', $wgLang->formatNum( $num ) )
|
|
|
|
|
|
* </code>
|
2005-07-03 07:15:53 +00:00
|
|
|
|
*
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* See LanguageGu.php for the Gujarati implementation and
|
|
|
|
|
|
* LanguageIs.php for the , => . and . => , implementation.
|
2005-07-03 07:15:53 +00:00
|
|
|
|
*
|
2005-04-05 13:39:43 +00:00
|
|
|
|
* @todo check if it's viable to use localeconv() for the decimal
|
|
|
|
|
|
* seperator thing.
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @public
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
* @param mixed $number the string to be formatted, should be an integer or
|
2005-07-03 07:15:53 +00:00
|
|
|
|
* a floating point number.
|
2006-04-29 21:44:57 +00:00
|
|
|
|
* @param bool $nocommafy Set to true for special numbers like dates
|
2006-04-29 20:07:14 +00:00
|
|
|
|
* @return string
|
* @package MediaWiki and @subpackage Language
* Documented getDefaultUserOptions(), getBookstoreList(), getNsText(),
getNsIndex(), getVariantname(), stripForSearch(), firstChar(), isRTL(),
linkPrefixExtension(), emphasize(), formatNum()
2005-04-05 11:12:30 +00:00
|
|
|
|
*/
|
2006-04-29 21:44:57 +00:00
|
|
|
|
function formatNum( $number, $nocommafy = false ) {
|
2006-04-29 20:07:14 +00:00
|
|
|
|
global $wgTranslateNumerals;
|
2006-04-29 21:44:57 +00:00
|
|
|
|
if (!$nocommafy) {
|
2006-04-29 20:07:14 +00:00
|
|
|
|
$number = $this->commafy($number);
|
|
|
|
|
|
$s = $this->separatorTransformTable();
|
|
|
|
|
|
if (!is_null($s)) { $number = strtr($number, $s); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ($wgTranslateNumerals) {
|
|
|
|
|
|
$s = $this->digitTransformTable();
|
|
|
|
|
|
if (!is_null($s)) { $number = strtr($number, $s); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return $number;
|
2004-03-06 03:03:14 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-04-12 23:21:59 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Adds commas to a given number
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param mixed $_
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
|
|
|
|
|
function commafy($_) {
|
|
|
|
|
|
return strrev((string)preg_replace('/(\d{3})(?=\d)(?!\d*\.)/','$1,',strrev($_)));
|
|
|
|
|
|
}
|
2005-04-13 08:37:03 +00:00
|
|
|
|
|
2006-04-29 20:07:14 +00:00
|
|
|
|
function digitTransformTable() {
|
|
|
|
|
|
return null;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function separatorTransformTable() {
|
|
|
|
|
|
return null;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-13 08:37:03 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* For the credit list in includes/Credits.php (action=credits)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param array $l
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2004-08-01 20:43:54 +00:00
|
|
|
|
function listToText( $l ) {
|
|
|
|
|
|
$s = '';
|
|
|
|
|
|
$m = count($l) - 1;
|
|
|
|
|
|
for ($i = $m; $i >= 0; $i--) {
|
|
|
|
|
|
if ($i == $m) {
|
|
|
|
|
|
$s = $l[$i];
|
|
|
|
|
|
} else if ($i == $m - 1) {
|
2005-08-29 16:43:48 +00:00
|
|
|
|
$s = $l[$i] . ' ' . wfMsg('and') . ' ' . $s;
|
2004-08-01 20:43:54 +00:00
|
|
|
|
} else {
|
|
|
|
|
|
$s = $l[$i] . ', ' . $s;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return $s;
|
|
|
|
|
|
}
|
2004-08-09 05:38:11 +00:00
|
|
|
|
|
2004-08-01 20:43:54 +00:00
|
|
|
|
# Crop a string from the beginning or end to a certain number of bytes.
|
|
|
|
|
|
# (Bytes are used because our storage has limited byte lengths for some
|
|
|
|
|
|
# columns in the database.) Multibyte charsets will need to make sure that
|
|
|
|
|
|
# only whole characters are included!
|
|
|
|
|
|
#
|
|
|
|
|
|
# $length does not include the optional ellipsis.
|
|
|
|
|
|
# If $length is negative, snip from the beginning
|
2006-06-09 23:23:37 +00:00
|
|
|
|
function truncate( $string, $length, $ellipsis = '' ) {
|
2004-08-01 20:43:54 +00:00
|
|
|
|
if( $length == 0 ) {
|
|
|
|
|
|
return $ellipsis;
|
|
|
|
|
|
}
|
|
|
|
|
|
if ( strlen( $string ) <= abs( $length ) ) {
|
|
|
|
|
|
return $string;
|
|
|
|
|
|
}
|
|
|
|
|
|
if( $length > 0 ) {
|
|
|
|
|
|
$string = substr( $string, 0, $length );
|
|
|
|
|
|
return $string . $ellipsis;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$string = substr( $string, $length );
|
|
|
|
|
|
return $ellipsis . $string;
|
2004-04-26 05:14:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2004-08-27 14:55:41 +00:00
|
|
|
|
|
2005-04-13 08:37:03 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Grammatical transformations, needed for inflected languages
|
|
|
|
|
|
* Invoked by putting {{grammar:case|word}} in a message
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param string $word
|
|
|
|
|
|
* @param string $case
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2004-08-27 14:55:41 +00:00
|
|
|
|
function convertGrammar( $word, $case ) {
|
2006-05-25 14:21:45 +00:00
|
|
|
|
global $wgGrammarForms;
|
2006-05-25 20:52:45 +00:00
|
|
|
|
if ( isset($wgGrammarForms['en'][$case][$word]) ) {
|
|
|
|
|
|
return $wgGrammarForms['en'][$case][$word];
|
2006-05-25 14:21:45 +00:00
|
|
|
|
}
|
2004-08-27 14:55:41 +00:00
|
|
|
|
return $word;
|
|
|
|
|
|
}
|
2004-09-17 05:51:03 +00:00
|
|
|
|
|
2005-09-05 19:22:09 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Plural form transformations, needed for some languages.
|
|
|
|
|
|
* For example, where are 3 form of plural in Russian and Polish,
|
|
|
|
|
|
* depending on "count mod 10". See [[w:Plural]]
|
|
|
|
|
|
* For English it is pretty simple.
|
|
|
|
|
|
*
|
2005-09-06 17:02:19 +00:00
|
|
|
|
* Invoked by putting {{plural:count|wordform1|wordform2}}
|
|
|
|
|
|
* or {{plural:count|wordform1|wordform2|wordform3}}
|
2005-09-05 19:22:09 +00:00
|
|
|
|
*
|
2006-01-07 13:09:30 +00:00
|
|
|
|
* Example: {{plural:{{NUMBEROFARTICLES}}|article|articles}}
|
2005-09-05 19:22:09 +00:00
|
|
|
|
*
|
2005-09-17 21:57:29 +00:00
|
|
|
|
* @param integer $count
|
2005-09-05 19:22:09 +00:00
|
|
|
|
* @param string $wordform1
|
|
|
|
|
|
* @param string $wordform2
|
|
|
|
|
|
* @param string $wordform3 (optional)
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2005-09-06 17:02:19 +00:00
|
|
|
|
function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
|
2006-01-03 13:19:44 +00:00
|
|
|
|
return $count == '1' ? $wordform1 : $wordform2;
|
2005-09-05 19:22:09 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2005-08-27 16:35:10 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* For translaing of expiry times
|
|
|
|
|
|
* @param string The validated block time in English
|
|
|
|
|
|
* @return Somehow translated block time
|
|
|
|
|
|
* @see LanguageFi.php for example implementation
|
|
|
|
|
|
*/
|
|
|
|
|
|
function translateBlockExpiry( $str ) {
|
2006-01-03 20:59:19 +00:00
|
|
|
|
|
|
|
|
|
|
$scBlockExpiryOptions = wfMsg( 'ipboptions' );
|
|
|
|
|
|
|
|
|
|
|
|
if ( $scBlockExpiryOptions == '-') {
|
|
|
|
|
|
return $str;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
foreach (explode(',', $scBlockExpiryOptions) as $option) {
|
|
|
|
|
|
if ( strpos($option, ":") === false )
|
|
|
|
|
|
continue;
|
|
|
|
|
|
list($show, $value) = explode(":", $option);
|
|
|
|
|
|
if ( strcmp ( $str, $value) == 0 )
|
|
|
|
|
|
return '<span title="' . htmlspecialchars($str). '">' .
|
|
|
|
|
|
htmlspecialchars( trim( $show ) ) . '</span>';
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2005-08-27 16:35:10 +00:00
|
|
|
|
return $str;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2005-04-13 08:37:03 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* languages like Chinese need to be segmented in order for the diff
|
|
|
|
|
|
* to be of any use
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param string $text
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2004-12-05 02:17:21 +00:00
|
|
|
|
function segmentForDiff( $text ) {
|
|
|
|
|
|
return $text;
|
|
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-04-13 08:37:03 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* and unsegment to show the result
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param string $text
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
2004-12-05 02:17:21 +00:00
|
|
|
|
function unsegmentForDiff( $text ) {
|
|
|
|
|
|
return $text;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2004-12-24 02:47:38 +00:00
|
|
|
|
# convert text to different variants of a language.
|
2005-05-03 12:27:30 +00:00
|
|
|
|
function convert( $text, $isTitle = false) {
|
2005-04-15 14:12:39 +00:00
|
|
|
|
return $this->mConverter->convert($text, $isTitle);
|
2004-10-19 18:02:44 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2006-03-01 01:57:53 +00:00
|
|
|
|
# Convert text from within Parser
|
|
|
|
|
|
function parserConvert( $text, &$parser ) {
|
|
|
|
|
|
return $this->mConverter->parserConvert( $text, $parser );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2005-06-28 19:56:17 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Perform output conversion on a string, and encode for safe HTML output.
|
|
|
|
|
|
* @param string $text
|
|
|
|
|
|
* @param bool $isTitle -- wtf?
|
|
|
|
|
|
* @return string
|
|
|
|
|
|
* @todo this should get integrated somewhere sane
|
|
|
|
|
|
*/
|
|
|
|
|
|
function convertHtml( $text, $isTitle = false ) {
|
|
|
|
|
|
return htmlspecialchars( $this->convert( $text, $isTitle ) );
|
|
|
|
|
|
}
|
2004-10-19 18:02:44 +00:00
|
|
|
|
|
2005-04-28 03:33:54 +00:00
|
|
|
|
function convertCategoryKey( $key ) {
|
|
|
|
|
|
return $this->mConverter->convertCategoryKey( $key );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2005-04-08 16:31:32 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* get the list of variants supported by this langauge
|
|
|
|
|
|
* see sample implementation in LanguageZh.php
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return array an array of language codes
|
|
|
|
|
|
*/
|
2004-09-24 18:37:33 +00:00
|
|
|
|
function getVariants() {
|
2005-04-15 14:12:39 +00:00
|
|
|
|
return $this->mConverter->getVariants();
|
2004-09-24 18:37:33 +00:00
|
|
|
|
}
|
2005-04-08 16:31:32 +00:00
|
|
|
|
|
2004-10-08 13:57:01 +00:00
|
|
|
|
|
2004-09-24 18:37:33 +00:00
|
|
|
|
function getPreferredVariant() {
|
2005-04-15 14:12:39 +00:00
|
|
|
|
return $this->mConverter->getPreferredVariant();
|
2004-09-24 18:37:33 +00:00
|
|
|
|
}
|
2004-10-21 02:47:51 +00:00
|
|
|
|
|
2005-04-08 16:31:32 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* if a language supports multiple variants, it is
|
2005-04-07 21:59:02 +00:00
|
|
|
|
* possible that non-existing link in one variant
|
2005-07-03 07:15:53 +00:00
|
|
|
|
* actually exists in another variant. this function
|
2005-04-07 21:59:02 +00:00
|
|
|
|
* tries to find it. See e.g. LanguageZh.php
|
2005-04-08 16:31:32 +00:00
|
|
|
|
*
|
|
|
|
|
|
* @param string $link the name of the link
|
|
|
|
|
|
* @param mixed $nt the title object of the link
|
|
|
|
|
|
* @return null the input parameters may be modified upon return
|
2005-04-07 21:59:02 +00:00
|
|
|
|
*/
|
2004-11-21 07:36:46 +00:00
|
|
|
|
function findVariantLink( &$link, &$nt ) {
|
2005-04-15 14:12:39 +00:00
|
|
|
|
$this->mConverter->findVariantLink($link, $nt);
|
2004-10-21 02:47:51 +00:00
|
|
|
|
}
|
2004-12-07 22:23:21 +00:00
|
|
|
|
|
2005-04-08 16:31:32 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* returns language specific options used by User::getPageRenderHash()
|
|
|
|
|
|
* for example, the preferred language variant
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return string
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @public
|
2005-04-07 21:59:02 +00:00
|
|
|
|
*/
|
2004-12-07 22:23:21 +00:00
|
|
|
|
function getExtraHashOptions() {
|
2005-04-15 14:12:39 +00:00
|
|
|
|
return $this->mConverter->getExtraHashOptions();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* for languages that support multiple variants, the title of an
|
|
|
|
|
|
* article may be displayed differently in different variants. this
|
|
|
|
|
|
* function returns the apporiate title defined in the body of the article.
|
2005-07-03 07:15:53 +00:00
|
|
|
|
*
|
2005-04-15 14:12:39 +00:00
|
|
|
|
* @return string
|
|
|
|
|
|
*/
|
|
|
|
|
|
function getParsedTitle() {
|
|
|
|
|
|
return $this->mConverter->getParsedTitle();
|
2004-12-07 22:23:21 +00:00
|
|
|
|
}
|
2005-07-03 07:15:53 +00:00
|
|
|
|
|
2005-04-15 14:12:39 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Enclose a string with the "no conversion" tag. This is used by
|
|
|
|
|
|
* various functions in the Parser
|
2005-07-03 07:15:53 +00:00
|
|
|
|
*
|
2005-04-15 14:12:39 +00:00
|
|
|
|
* @param string $text text to be tagged for no conversion
|
|
|
|
|
|
* @return string the tagged text
|
|
|
|
|
|
*/
|
|
|
|
|
|
function markNoConversion( $text ) {
|
|
|
|
|
|
return $this->mConverter->markNoConversion( $text );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2004-12-09 05:51:20 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* A regular expression to match legal word-trailing characters
|
|
|
|
|
|
* which should be merged onto a link of the form [[foo]]bar.
|
|
|
|
|
|
*
|
|
|
|
|
|
* @return string
|
2006-04-19 17:57:15 +00:00
|
|
|
|
* @public
|
2004-12-09 05:51:20 +00:00
|
|
|
|
*/
|
|
|
|
|
|
function linkTrail() {
|
2005-06-22 06:28:29 +00:00
|
|
|
|
return $this->getMessage( 'linktrail' );
|
2004-12-09 05:51:20 +00:00
|
|
|
|
}
|
2004-12-07 22:23:21 +00:00
|
|
|
|
|
2004-12-24 02:47:38 +00:00
|
|
|
|
function getLangObj() {
|
|
|
|
|
|
return $this;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2005-07-06 07:53:51 +00:00
|
|
|
|
/**
|
|
|
|
|
|
* Get the RFC 3066 code for this language object
|
|
|
|
|
|
*/
|
|
|
|
|
|
function getCode() {
|
|
|
|
|
|
return str_replace( '_', '-', strtolower( substr( get_class( $this ), 8 ) ) );
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2005-04-07 23:04:08 +00:00
|
|
|
|
|
2003-04-14 23:10:40 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
2006-06-09 23:23:37 +00:00
|
|
|
|
# FIXME: Merge all UTF-8 support code into Language base class.
|
|
|
|
|
|
# We no longer support Latin-1 charset.
|
|
|
|
|
|
require_once( 'LanguageUtf8.php' );
|
2006-01-17 23:43:15 +00:00
|
|
|
|
|
2004-05-08 02:15:50 +00:00
|
|
|
|
# This should fail gracefully if there's not a localization available
|
2004-10-23 10:24:13 +00:00
|
|
|
|
wfSuppressWarnings();
|
2006-01-17 23:43:15 +00:00
|
|
|
|
// Preload base classes to work around APC/PHP5 bug
|
|
|
|
|
|
include_once( 'Language' . str_replace( '-', '_', ucfirst( $wgLanguageCode ) ) . '.deps.php' );
|
2004-10-23 10:24:13 +00:00
|
|
|
|
include_once( 'Language' . str_replace( '-', '_', ucfirst( $wgLanguageCode ) ) . '.php' );
|
|
|
|
|
|
wfRestoreWarnings();
|
2004-08-06 21:19:24 +00:00
|
|
|
|
|
|
|
|
|
|
}
|
2003-04-14 23:10:40 +00:00
|
|
|
|
?>
|