From 183851b06bd6c52f3cae5375f433da720d410447 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Wed, 11 Oct 2006 18:12:39 +0000 Subject: MediaWiki 1.7.1 wiederhergestellt --- languages/LanguageRu.php | 245 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 languages/LanguageRu.php (limited to 'languages/LanguageRu.php') diff --git a/languages/LanguageRu.php b/languages/LanguageRu.php new file mode 100644 index 00000000..4b1b385f --- /dev/null +++ b/languages/LanguageRu.php @@ -0,0 +1,245 @@ + 'Медиа', + NS_SPECIAL => 'Служебная', + NS_MAIN => '', + NS_TALK => 'Обсуждение', + NS_USER => 'Участник', + NS_USER_TALK => 'Обсуждение_участника', + NS_PROJECT => $wgMetaNamespace, + NS_PROJECT_TALK => FALSE, #Set in constructor + NS_IMAGE => 'Изображение', + NS_IMAGE_TALK => 'Обсуждение_изображения', + NS_MEDIAWIKI => 'MediaWiki', + NS_MEDIAWIKI_TALK => 'Обсуждение_MediaWiki', + NS_TEMPLATE => 'Шаблон', + NS_TEMPLATE_TALK => 'Обсуждение_шаблона', + NS_HELP => 'Справка', + NS_HELP_TALK => 'Обсуждение_справки', + NS_CATEGORY => 'Категория', + NS_CATEGORY_TALK => 'Обсуждение_категории', +) + $wgNamespaceNamesEn; + + +/* private */ $wgQuickbarSettingsRu = array( + 'Не показывать', 'Неподвижная слева', 'Неподвижная справа', 'Плавающая слева', 'Плавающая справа' +); + +/* private */ $wgSkinNamesRu = array( + 'standard' => 'Стандартный', + 'nostalgia' => 'Ностальгия', + 'cologneblue' => 'Кёльнская тоска', + 'davinci' => 'Да Винчи', + 'mono' => 'Моно', + 'monobook' => 'Моно-книга', + 'myskin' => 'Своё', + 'chick' => 'Цыпа' +); + + +/* private */ $wgBookstoreListRu = array( + 'ОЗОН' => 'http://www.ozon.ru/?context=advsearch_book&isbn=$1', + 'Books.Ru' => 'http://www.books.ru/shop/search/advanced?as%5Btype%5D=books&as%5Bname%5D=&as%5Bisbn%5D=$1&as%5Bauthor%5D=&as%5Bmaker%5D=&as%5Bcontents%5D=&as%5Binfo%5D=&as%5Bdate_after%5D=&as%5Bdate_before%5D=&as%5Bprice_less%5D=&as%5Bprice_more%5D=&as%5Bstrict%5D=%E4%E0&as%5Bsub%5D=%E8%F1%EA%E0%F2%FC&x=22&y=8', + 'Яндекс.Маркет' => 'http://market.yandex.ru/search.xml?text=$1', + 'Amazon.com' => 'http://www.amazon.com/exec/obidos/ISBN=$1' +); + + +# Note to translators: +# Please include the English words as synonyms. This allows people +# from other wikis to contribute more easily. +# +/* private */ $wgMagicWordsRu = array( +# ID CASE SYNONYMS + MAG_REDIRECT => array( 0, '#REDIRECT', '#ПЕРЕНАПРАВЛЕНИЕ', '#ПЕРЕНАПР'), + MAG_NOTOC => array( 0, '__NOTOC__', '__БЕЗСОДЕРЖАНИЯ__'), + 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','НАЗВАНИЕТЕКУЩЕГОМЕСЯЦА'), + MAG_CURRENTMONTHNAMEGEN => array( 1, 'CURRENTMONTHNAMEGEN','НАЗВАНИЕТЕКУЩЕГОМЕСЯЦАРОД'), + MAG_CURRENTMONTHABBREV => array( 1, 'CURRENTMONTHABBREV', 'НАЗВАНИЕТЕКУЩЕГОМЕСЯЦААБР'), + MAG_CURRENTDAY => array( 1, 'CURRENTDAY','ТЕКУЩИЙДЕНЬ'), + MAG_CURRENTDAY2 => array( 1, 'CURRENTDAY2','ТЕКУЩИЙДЕНЬ2'), + MAG_CURRENTDAYNAME => array( 1, 'CURRENTDAYNAME','НАЗВАНИЕТЕКУЩЕГОДНЯ'), + MAG_CURRENTYEAR => array( 1, 'CURRENTYEAR','ТЕКУЩИЙГОД'), + MAG_CURRENTTIME => array( 1, 'CURRENTTIME','ТЕКУЩЕЕВРЕМЯ'), + MAG_NUMBEROFARTICLES => array( 1, 'NUMBEROFARTICLES','КОЛИЧЕСТВОСТАТЕЙ'), + MAG_NUMBEROFFILES => array( 1, 'NUMBEROFFILES', 'КОЛИЧЕСТВОФАЛОВ'), + MAG_PAGENAME => array( 1, 'PAGENAME','НАЗВАНИЕСТРАНИЦЫ'), + MAG_PAGENAMEE => array( 1, 'PAGENAMEE','НАЗВАНИЕСТРАНИЦЫ2'), + 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_MANUALTHUMB => array( 1, 'thumbnail=$1', 'thumb=$1', 'мини=$1'), + MAG_IMG_RIGHT => array( 1, 'right','справа'), + MAG_IMG_LEFT => array( 1, 'left','слева'), + MAG_IMG_NONE => array( 1, 'none'), + MAG_IMG_WIDTH => array( 1, '$1px','$1пкс'), + 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','СЕРВЕР'), + MAG_SERVERNAME => array( 0, 'SERVERNAME', 'НАЗВАНИЕСЕРВЕРА'), + MAG_SCRIPTPATH => array( 0, 'SCRIPTPATH', 'ПУТЬКСКРИПТУ'), + MAG_GRAMMAR => array( 0, 'GRAMMAR:'), + MAG_NOTITLECONVERT => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__БЕЗПРЕОБРАЗОВАНИЯЗАГОЛОВКА__'), + MAG_NOCONTENTCONVERT => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__БЕЗПРЕОБРАЗОВАНИЯТЕКСТА__'), + MAG_CURRENTWEEK => array( 1, 'CURRENTWEEK','ТЕКУЩАЯНЕДЕЛЯ'), + MAG_CURRENTDOW => array( 1, 'CURRENTDOW','ТЕКУЩИЙДЕНЬНЕДЕЛИ'), + MAG_REVISIONID => array( 1, 'REVISIONID', 'ИДВЕРСИИ'), +); + +if (!$wgCachedMessageArrays) { + require_once('MessagesRu.php'); +} + +/* Please, see Language.php for general function comments */ +class LanguageRu extends LanguageUtf8 { + function __construct() { + global $wgNamespaceNamesRu, $wgMetaNamespace; + parent::__construct(); + $wgNamespaceNamesRu[NS_PROJECT_TALK] = 'Обсуждение_' . $this->convertGrammar( $wgMetaNamespace, 'genitive' ); + } + + function getNamespaces() { + global $wgNamespaceNamesRu; + return $wgNamespaceNamesRu; + } + + function getQuickbarSettings() { + global $wgQuickbarSettingsRu; + return $wgQuickbarSettingsRu; + } + + function getSkinNames() { + global $wgSkinNamesRu; + return $wgSkinNamesRu; + } + + function getDateFormats() { + global $wgDateFormatsRu; + return $wgDateFormatsRu; + } + + function getMessage( $key ) { + global $wgAllMessagesRu; + return isset($wgAllMessagesRu[$key]) ? $wgAllMessagesRu[$key] : parent::getMessage($key); + } + + function fallback8bitEncoding() { + return "windows-1251"; + } + + //only for quotation mark + function linkPrefixExtension() { return true; } + + function getMagicWords() { + global $wgMagicWordsRu; + return $wgMagicWordsRu; + } + + # Convert from the nominative form of a noun to some other case + # Invoked with {{grammar:case|word}} + function convertGrammar( $word, $case ) { + global $wgGrammarForms; + if ( isset($wgGrammarForms['ru'][$case][$word]) ) { + return $wgGrammarForms['ru'][$case][$word]; + } + + # These rules are not perfect, but they are currently only used for site names so it doesn't + # matter if they are wrong sometimes. Just add a special case for your site name if necessary. + + #join and array_slice instead mb_substr + $ar = array(); + preg_match_all( '/./us', $word, $ar ); + if (!preg_match("/[a-zA-Z_]/us", $word)) + switch ( $case ) { + case 'genitive': #родительный падеж + if ((join('',array_slice($ar[0],-4))=='вики') || (join('',array_slice($ar[0],-4))=='Вики')) + {} + elseif (join('',array_slice($ar[0],-1))=='ь') + $word = join('',array_slice($ar[0],0,-1)).'я'; + elseif (join('',array_slice($ar[0],-2))=='ия') + $word=join('',array_slice($ar[0],0,-2)).'ии'; + elseif (join('',array_slice($ar[0],-2))=='ка') + $word=join('',array_slice($ar[0],0,-2)).'ки'; + elseif (join('',array_slice($ar[0],-2))=='ти') + $word=join('',array_slice($ar[0],0,-2)).'тей'; + elseif (join('',array_slice($ar[0],-2))=='ды') + $word=join('',array_slice($ar[0],0,-2)).'дов'; + elseif (join('',array_slice($ar[0],-3))=='ник') + $word=join('',array_slice($ar[0],0,-3)).'ника'; + break; + case 'dative': #дательный падеж + #stub + break; + case 'accusative': #винительный падеж + #stub + break; + case 'instrumental': #творительный падеж + #stub + break; + case 'prepositional': #предложный падеж + #stub + break; + } + return $word; + } + + function convertPlural( $count, $wordform1, $wordform2, $wordform3) { + $count = str_replace (' ', '', $count); + if ($count > 10 && floor(($count % 100) / 10) == 1) { + return $wordform3; + } else { + switch ($count % 10) { + case 1: return $wordform1; + case 2: + case 3: + case 4: return $wordform2; + default: return $wordform3; + } + } + } + + /* + * Russian numeric format is "12 345,67" but "1234,56" + */ + + function commafy($_) { + if (!preg_match('/^\d{1,4}$/',$_)) { + return strrev((string)preg_replace('/(\d{3})(?=\d)(?!\d*\.)/','$1,',strrev($_))); + } else { + return $_; + } + } + + function separatorTransformTable() { + return array( + ',' => "\xc2\xa0", + '.' => ',' + ); + } + +} +?> -- cgit v1.2.2