[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Armenian (Հայերեն) specific code. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 * http://www.gnu.org/copyleft/gpl.html 19 * 20 * @file 21 * @author Ruben Vardanyan ([email protected]) 22 * @ingroup Language 23 */ 24 25 /** 26 * Armenian (Հայերեն) 27 * 28 * @ingroup Language 29 */ 30 class LanguageHy extends Language { 31 32 /** 33 * Convert from the nominative form of a noun to some other case 34 * Invoked with {{grammar:case|word}} 35 * 36 * @param string $word 37 * @param string $case 38 * @return string 39 */ 40 function convertGrammar( $word, $case ) { 41 global $wgGrammarForms; 42 if ( isset( $wgGrammarForms['hy'][$case][$word] ) ) { 43 return $wgGrammarForms['hy'][$case][$word]; 44 } 45 46 # These rules are not perfect, but they are currently only used for site names so it doesn't 47 # matter if they are wrong sometimes. Just add a special case for your site name if necessary. 48 49 # join and array_slice instead mb_substr 50 $ar = array(); 51 preg_match_all( '/./us', $word, $ar ); 52 if ( !preg_match( "/[a-zA-Z_]/us", $word ) ) { 53 switch ( $case ) { 54 case 'genitive': # սեռական հոլով 55 if ( join( '', array_slice( $ar[0], -1 ) ) == 'ա' ) { 56 $word = join( '', array_slice( $ar[0], 0, -1 ) ) . 'այի'; 57 } elseif ( join( '', array_slice( $ar[0], -1 ) ) == 'ո' ) { 58 $word = join( '', array_slice( $ar[0], 0, -1 ) ) . 'ոյի'; 59 } elseif ( join( '', array_slice( $ar[0], -4 ) ) == 'գիրք' ) { 60 $word = join( '', array_slice( $ar[0], 0, -4 ) ) . 'գրքի'; 61 } else { 62 $word .= 'ի'; 63 } 64 break; 65 case 'dative': # Տրական հոլով 66 # stub 67 break; 68 case 'accusative': # Հայցական հոլով 69 # stub 70 break; 71 case 'instrumental': # 72 # stub 73 break; 74 case 'prepositional': # 75 # stub 76 break; 77 } 78 } 79 return $word; 80 } 81 82 /** 83 * Armenian numeric format is "12 345,67" but "1234,56" 84 * 85 * @param string $_ 86 * 87 * @return string 88 */ 89 function commafy( $_ ) { 90 if ( !preg_match( '/^\d{1,4}$/', $_ ) ) { 91 return strrev( (string)preg_replace( '/(\d{3})(?=\d)(?!\d*\.)/', '$1,', strrev( $_ ) ) ); 92 } else { 93 return $_; 94 } 95 } 96 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |