<?php
+/**
+ * @package MediaWiki
+ * @subpackage Language
+ */
-require_once( "LanguageUtf8.php" );
-
-# The names of the namespaces can be set here, but the numbers
-# are magical, so don't change or move them! The Namespace class
-# encapsulates some of the magic-ness.
-#
+# Navajo language file
+# No messages at the moment, just all the other stuff
-if($wgMetaNamespace === FALSE)
- $wgMetaNamespace = str_replace( ' ', '_', $wgSitename );
+require_once( "LanguageUtf8.php" );
-/* private */ $wgNamespaceNamesnv = array(
+/* private */ $wgNamespaceNamesNv = array(
NS_MEDIA => 'Media',
NS_SPECIAL => 'Special',
NS_MAIN => '',
NS_TALK => 'Naaltsoos_baa_yinísht\'į́',
NS_USER => 'Choinish\'įįhí',
NS_USER_TALK => 'Choinish\'įįhí_baa_yinísht\'į́',
- NS_WIKIPEDIA => 'Wikiibíídiiya',
- NS_WIKIPEDIA_TALK => 'Wikiibíídiiya_baa_yinísht\'į́',
+ NS_PROJECT => $wgMetaNamespace,
+ NS_PROJECT_TALK => $wgMetaNamespace.'_baa_yinísht\'į́',
NS_IMAGE => 'E\'elyaaígíí',
NS_IMAGE_TALK => 'E\'elyaaígíí_baa_yinísht\'į́',
NS_MEDIAWIKI => 'MediaWiki',
NS_CATEGORY_TALK => 'T\'ááłáhági_át\'éego_baa_yinísht\'į́'
);
-/* private */ $wgDefaultUserOptionsnv = array(
- 'quickbar' => 1, 'underline' => 1, 'hover' => 1,
- 'cols' => 80, 'rows' => 25, 'searchlimit' => 20,
- 'contextlines' => 5, 'contextchars' => 50,
- 'skin' => $wgDefaultSkin, 'math' => 1, 'rcdays' => 7, 'rclimit' => 50,
- 'highlightbroken' => 1, 'stubthreshold' => 0,
- 'previewontop' => 1, 'editsection'=>1,'editsectiononrightclick'=>0, 'showtoc'=>1,
- 'showtoolbar' =>1,
- 'date' => 0
-);
-/* private */ $wgQuickbarSettingsnv = array(
- 'None', 'Fixed left', 'Fixed right', 'Floating left'
-);
-
-/* private */ $wgSkinNamesnv = array(
- 'standard' => 'Standard',
- 'nostalgia' => 'Nostalgia',
- 'cologneblue' => 'Cologne Blue',
- 'davinci' => 'DaVinci',
+/* private */ $wgSkinNamesNv = array(
'mono' => 'Łáa\'ígíí',
- 'monobook' => 'NaaltsoosŁáa\'ígíí',
- 'myskin' => 'MySkin'
-);
+ 'monobook' => 'NaaltsoosŁáa\'ígíí'
+) + $wgSkinNamesEn;
-define( "MW_MATH_PNG", 0 );
-define( "MW_MATH_SIMPLE", 1 );
-define( "MW_MATH_HTML", 2 );
-define( "MW_MATH_SOURCE", 3 );
-define( "MW_MATH_MODERN", 4 );
-define( "MW_MATH_MATHML", 5 );
-/* private */ $wgMathNamesnv = array(
- MW_MATH_PNG => 'Always render PNG',
- MW_MATH_SIMPLE => 'HTML if very simple or else PNG',
- MW_MATH_HTML => 'HTML if possible or else PNG',
- MW_MATH_SOURCE => 'Leave it as TeX (for text browsers)',
- MW_MATH_MODERN => 'Recommended for modern browsers',
- MW_MATH_MATHML => 'MathML if possible (experimental)',
+/* private */ $wgDateFormatsNv = array(
+# 'No preference',
);
-/* private */ $wgDateFormatsnv = array(
- 'No preference',
- 'Yas Niłt\'ees 15, 2001',
- '15 Yas Niłt\'ees 2001',
- '2001 Yas Niłt\'ees 15',
- '2001-01-15'
-);
-
-/* private */ $wgUserTogglesnv = array(
- 'hover' => 'Show hoverbox over wiki links',
- 'underline' => 'Biyaadi iissoh',
- 'highlightbroken' => 'Format broken links <a href="" class="new">like
-this</a> (alternative: like this<a href="" class="internal">?</a>).',
- 'justify' => 'Justify paragraphs',
- 'hideminor' => 'Hide minor edits in recent changes',
- 'usenewrc' => 'Enhanced recent changes (not for all browsers)',
- 'numberheadings' => 'Auto-number headings',
- 'showtoolbar'=>'Show edit toolbar',
- 'editondblclick' => 'Edit pages on double click (JavaScript)',
- 'editsection'=>'Enable section editing via [edit] links',
- 'editsectiononrightclick'=>'Enable section editing by right clicking<br /> on section titles (JavaScript)',
- 'showtoc'=>'Hián-sī bo̍k-lo̍k<br />(3 ê piau-tê í-siōng ê ia̍h)',
- 'rememberpassword' => 'Kì tiâu góa ê bi̍t-bé (across sessions)',
- 'editwidth' => 'Pian-chi̍p keh-á thián hō· khui',
- 'watchdefault' => 'Kā lí pian-chi̍p ê ia̍h ka-ji̍p kàm-sī-toaⁿ',
- 'minordefault' => 'Siat-sú só·-ū ê pian-chi̍p lóng sió siu-kái',
- 'previewontop' => 'Show preview before edit box and not after it',
- 'nocache' => 'Naaltsoos doo nooh yishchí da'
-);
-
-/* private */ $wgBookstoreListnv = array(
- "AddALL" => "http://www.addall.com/New/Partner.cgi?query=$1&type=ISBN",
- "PriceSCAN" => "http://www.pricescan.com/books/bookDetail.asp?isbn=$1",
- "Barnes & Noble" => "http://shop.barnesandnoble.com/bookSearch/isbnInquiry.asp?isbn=$1",
- "Amazon.com" => "http://www.amazon.com/exec/obidos/ISBN=$1",
- //"ISBN" => "$1"
-);
-
-# Read language names
-global $wgLanguageNames;
-require_once( "Names.php" );
-
-$wgLanguageNamesnv =& $wgLanguageNames;
-
-
-/* private */ $wgWeekdayNamesnv = array(
+/* private */ $wgWeekdayNamesNv = array(
'Damóogo', 'Damóo biiskání', 'Damóodóó naakiską́o', 'Damóodóó tágí jį́', 'Damóodóó dį́į́\' yiską́o',
'Nda\'iiníísh', 'Yiską́ damóo'
);
-/* private */ $wgWeekdayAbbreviationsJa = array(
- "Dam", "Dm1", "Dm2", "Dm3", "Dm4", "Nda", "Ysk"
-);
-
-/* private */ $wgMonthNamesnv = array(
+/* private */ $wgMonthNamesNv = array(
'Yas Niłt\'ees', 'Atsá Biyáázh', 'Wóózhch\'į́į́d', 'T\'ą́ą́chil', 'T\'ą́ą́tsoh', 'Ya\'iishjááshchilí',
'Ya\'iishjáástsoh', 'Bini\'ant\'ą́ą́ts\'ózí', 'Bini\'ant\'ą́ą́tsoh', 'Ghąąjį', 'Níłch\'its\'ósí',
'Níłch\'itsoh'
);
-/* private */ $wgMonthAbbreviationsnv = array(
+/* private */ $wgMonthAbbreviationsNv = array(
'Ynts', 'Atsb', 'Wozh', 'Tchi', 'Ttso', 'Yjsh', 'Yjts', 'Btsz',
'Btsx', 'Ghąj', 'Ntss', 'Ntsx'
);
-# Note to translators:
-# Please include the English words as synonyms. This allows people
-# from other wikis to contribute more easily.
-#
-/* private */ $wgMagicWordsnv = array(
-# ID CASE SYNONYMS
- MAG_REDIRECT => array( 0, '#redirect' ),
- MAG_NOTOC => array( 0, '__NOTOC__' ),
- MAG_FORCETOC => array( 0, '__FORCETOC__' ),
- MAG_NOEDITSECTION => array( 0, '__NOEDITSECTION__' ),
- MAG_START => array( 0, '__START__' ),
- MAG_CURRENTMONTH => array( 1, 'CURRENTMONTH' ),
- MAG_CURRENTMONTHNAME => array( 1, 'CURRENTMONTHNAME' ),
- MAG_CURRENTDAY => array( 1, 'CURRENTDAY' ),
- MAG_CURRENTDAYNAME => array( 1, 'CURRENTDAYNAME' ),
- MAG_CURRENTYEAR => array( 1, 'CURRENTYEAR' ),
- MAG_CURRENTTIME => array( 1, 'CURRENTTIME' ),
- MAG_NUMBEROFARTICLES => array( 1, 'NUMBEROFARTICLES' ),
- MAG_CURRENTMONTHNAMEGEN => array( 1, 'CURRENTMONTHNAMEGEN' ),
- MAG_PAGENAME => array( 1, 'PAGENAME' ),
- MAG_NAMESPACE => array( 1, 'NAMESPACE' ),
- MAG_MSG => array( 0, 'MSG:' ),
- MAG_SUBST => array( 0, 'SUBST:' ),
- MAG_MSGNW => array( 0, 'MSGNW:' ),
- MAG_END => array( 0, '__END__' ),
- MAG_IMG_THUMBNAIL => array( 1, 'thumbnail', 'thumb' ),
- 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:' ),
- MAG_LOCALURL => array( 0, 'LOCALURL:' ),
- MAG_LOCALURLE => array( 0, 'LOCALURLE:' ),
- MAG_SERVER => array( 0, 'SERVER' )
-);
-
-#-------------------------------------------------------------------
-# Default messages
-#-------------------------------------------------------------------
-# Allowed characters in keys are: A-Z, a-z, 0-9, underscore (_) and
-# hyphen (-). If you need more characters, you may be able to change
-# the regex in MagicWord::initRegex
-
-# NOTE: To turn off "Current Events" in the sidebar,
-# set "currentevents" => ""
-
-# NOTE: To turn off "Disclaimers" in the title links,
-# set "disclaimers" => ""
-
-# NOTE: To turn off "Community portal" in the title links,
-# set "portal" => ""
-
#--------------------------------------------------------------------------
# Internationalisation code
#--------------------------------------------------------------------------
-class Language {
- function Language(){
- # Copies any missing values in the specified arrays from En to the current language
- $fillin = array( 'wgSysopSpecialPages', 'wgValidSpecialPages', 'wgDeveloperSpecialPages' );
- $name = get_class( $this );
- if( strpos( $name, 'language' ) == 0){
- $lang = ucfirst( substr( $name, 8 ) );
- foreach( $fillin as $arrname ){
- $langver = "{$arrname}{$lang}";
- $enver = "{$arrname}En";
- if( ! isset( $GLOBALS[$langver] ) || ! isset( $GLOBALS[$enver] ))
- continue;
- foreach($GLOBALS[$enver] as $spage => $text){
- if( ! isset( $GLOBALS[$langver][$spage] ) )
- $GLOBALS[$langver][$spage] = $text;
- }
- }
- }
- }
-
- function getDefaultUserOptions () {
- global $wgDefaultUserOptionsnv ;
- return $wgDefaultUserOptionsnv ;
- }
-
- function getBookstoreList () {
- global $wgBookstoreListnv ;
- return $wgBookstoreListnv ;
- }
+class LanguageNv extends LanguageUtf8 {
function getNamespaces() {
- global $wgNamespaceNamesnv;
- return $wgNamespaceNamesnv;
- }
-
- function getNsText( $index ) {
- global $wgNamespaceNamesnv;
- return $wgNamespaceNamesnv[$index];
- }
-
- function getNsIndex( $text ) {
- global $wgNamespaceNamesnv;
-
- foreach ( $wgNamespaceNamesnv as $i => $n ) {
- if ( 0 == strcasecmp( $n, $text ) ) { return $i; }
- }
- return false;
- }
-
- function specialPage( $name ) {
- return $this->getNsText( Namespace::getSpecial() ) . ':' . $name;
- }
-
- function getQuickbarSettings() {
- global $wgQuickbarSettingsnv;
- return $wgQuickbarSettingsnv;
+ global $wgNamespaceNamesNv;
+ return $wgNamespaceNamesNv;
}
function getSkinNames() {
- global $wgSkinNamesnv;
- return $wgSkinNamesnv;
- }
-
- function getMathNames() {
- global $wgMathNamesnv;
- return $wgMathNamesnv;
+ global $wgSkinNamesNv;
+ return $wgSkinNamesNv;
}
function getDateFormats() {
- global $wgDateFormatsnv;
- return $wgDateFormatsnv;
- }
-
- function getUserToggles() {
- global $wgUserTogglesnv;
- return $wgUserTogglesnv;
+ global $wgDateFormatsNv;
+ return $wgDateFormatsNv;
}
- function getUserToggle( $tog ) {
- $togs =& $this->getUserToggles();
- return $togs[$tog];
- }
-
- function getLanguageNames() {
- global $wgLanguageNamesnv;
- return $wgLanguageNamesnv;
- }
-
- function getLanguageName( $code ) {
- global $wgLanguageNamesnv;
- if ( ! array_key_exists( $code, $wgLanguageNamesnv ) ) {
- return "";
- }
- return $wgLanguageNamesnv[$code];
- }
-
- function getMonthName( $key )
- {
- global $wgMonthNamesnv;
- return $wgMonthNamesnv[$key-1];
+ function getMonthName( $key ) {
+ global $wgMonthNamesNv;
+ return $wgMonthNamesNv[$key-1];
}
/* by default we just return base form */
- function getMonthNameGen( $key )
- {
+ function getMonthNameGen( $key ) {
return $this->getMonthName( $key );
}
- function getMonthAbbreviation( $key )
- {
- global $wgMonthAbbreviationsnv;
- return @$wgMonthAbbreviationsnv[$key-1];
- }
-
- function getWeekdayName( $key )
- {
- global $wgWeekdayNamesnv;
- return $wgWeekdayNamesnv[$key-1];
- }
-
- function userAdjust( $ts )
- {
- global $wgUser, $wgLocalTZoffset;
-
- $tz = $wgUser->getOption( 'timecorrection' );
- if ( $tz === '' ) {
- $hrDiff = isset( $wgLocalTZoffset ) ? $wgLocalTZoffset : 0;
- $minDiff = 0;
- } elseif ( strpos( $tz, ":" ) !== false ) {
- $tzArray = explode( ":", $tz );
- $hrDiff = intval($tzArray[0]);
- $minDiff = intval($hrDiff < 0 ? -$tzArray[1] : $tzArray[1]);
- } else {
- $hrDiff = intval( $tz );
- }
- if ( 0 == $hrDiff && 0 == $minDiff ) { return $ts; }
-
- $t = mktime( (
- (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
- return date( 'YmdHis', $t );
- }
-
- function date( $ts, $adj = false )
- {
- global $wgAmericanDates, $wgUser, $wgUseDynamicDates;
-
- if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
- if ( $wgUseDynamicDates ) {
- $datePreference = $wgUser->getOption( 'date' );
- if ( $datePreference == 0 ) {
- $datePreference = $wgAmericanDates ? 1 : 2;
- }
- } else {
- $datePreference = $wgAmericanDates ? 1 : 2;
- }
-
- $month = $this->getMonthAbbreviation( substr( $ts, 4, 2 ) );
- $day = $this->formatNum( 0 + substr( $ts, 6, 2 ) );
- $year = $this->formatNum( substr( $ts, 0, 4 ) );
-
- switch( $datePreference ) {
- case 1: return "$month $day, $year";
- case 2: return "$day $month $year";
- default: return "$year $month $day";
- }
- }
-
- function time( $ts, $adj = false, $seconds = false )
- {
- if ( $adj ) { $ts = $this->userAdjust( $ts ); }
-
- $t = substr( $ts, 8, 2 ) . ':' . substr( $ts, 10, 2 );
- if ( $seconds ) {
- $t .= ':' . substr( $ts, 12, 2 );
- }
- return $this->formatNum( $t );
- }
-
- function timeanddate( $ts, $adj = false )
- {
- return $this->time( $ts, $adj ) . ', ' . $this->date( $ts, $adj );
- }
-
- function rfc1123( $ts )
- {
- return date( 'D, d M Y H:i:s T', $ts );
- }
-
- function getValidSpecialPages()
- {
- global $wgValidSpecialPagesnv;
- return $wgValidSpecialPagesnv;
+ function getMonthAbbreviation( $key ) {
+ global $wgMonthAbbreviationsNv;
+ return @$wgMonthAbbreviationsNv[$key-1];
}
- function getSysopSpecialPages()
- {
- global $wgSysopSpecialPagesnv;
- return $wgSysopSpecialPagesnv;
+ function getWeekdayName( $key ) {
+ global $wgWeekdayNamesNv;
+ return $wgWeekdayNamesNv[$key-1];
}
- function getDeveloperSpecialPages()
- {
- global $wgDeveloperSpecialPagesnv;
- return $wgDeveloperSpecialPagesnv;
- }
-
- function getMessage( $key )
- {
- global $wgAllMessagesnv;
- return @$wgAllMessagesnv[$key];
- }
-
- function getAllMessages()
- {
- global $wgAllMessagesnv;
- return $wgAllMessagesnv;
- }
-
- function iconv( $in, $out, $string ) {
- # For most languages, this is a wrapper for iconv
- return iconv( $in, $out, $string );
- }
-
- function ucfirst( $string ) {
- # For most languages, this is a wrapper for ucfirst()
- return ucfirst( $string );
- }
-
- function lcfirst( $s ) {
- return strtolower( $s{0} ). substr( $s, 1 );
- }
-
- function checkTitleEncoding( $s ) {
- global $wgInputEncoding;
-
- # Check for UTF-8 URLs; Internet Explorer produces these if you
- # type non-ASCII chars in the URL bar or follow unescaped links.
- $ishigh = preg_match( '/[\x80-\xff]/', $s);
- $isutf = ($ishigh ? preg_match( '/^([\x00-\x7f]|[\xc0-\xdf][\x80-\xbf]|' .
- '[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xf7][\x80-\xbf]{3})+$/', $s ) : true );
-
- if( ($wgInputEncoding != 'utf-8') and $ishigh and $isutf )
- return @iconv( 'UTF-8', $wgInputEncoding, $s );
- 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;
- }
-
- function stripForSearch( $in ) {
- # 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.
- return $in;
- }
-
- function firstChar( $s ) {
- # Get the first character of a string. In ASCII, return
- # first byte of the string. UTF8 and others have to
- # overload this.
- return $s[0];
- }
-
- 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;
- if( $wgEditEncoding == '' or
- $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 );
- }
- }
-
- # For right-to-left language support
- function isRTL() { return false; }
-
- # To allow "foo[[bar]]" to extend the link over the whole word "foobar"
- function linkPrefixExtension() { return false; }
-
-
- function &getMagicWords()
- {
- global $wgMagicWordsnv;
- return $wgMagicWordsnv;
- }
-
- # Fill a MagicWord object with data from here
- function getMagic( &$mw )
- {
- $raw =& $this->getMagicWords();
- if( !isset( $raw[$mw->mId] ) ) {
- # Fall back to English if local list is incomplete
- $raw =& Language::getMagicWords();
- }
- $rawEntry = $raw[$mw->mId];
- $mw->mCaseSensitive = $rawEntry[0];
- $mw->mSynonyms = array_slice( $rawEntry, 1 );
- }
-
- # Italic is unsuitable for some languages
- function emphasize( $text )
- {
- return '<em>'.$text.'</em>';
- }
-
-
- # Normally we use the plain ASCII digits. Some languages such as Arabic will
- # want to output numbers using script-appropriate characters: override this
- # function with a translator. See LanguageAr.php for an example.
- function formatNum( $number ) {
- return $number;
- }
-
- 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) {
- $s = $l[$i] . ' ' . $this->getMessage('and') . ' ' . $s;
- } else {
- $s = $l[$i] . ', ' . $s;
- }
- }
- return $s;
- }
}
-# This should fail gracefully if there's not a localization available
-@include_once( 'Language' . ucfirst( $wgLanguageCode ) . '.php' );
?>
-