Got rid of about 20 regex calls in braceSubstitution() relating to function-like...
[lhc/web/wiklou.git] / languages / LanguageLv.php
1 <?php
2 /** Latvian (Latviešu)
3 *
4 * @package MediaWiki
5 * @subpackage Language
6 *
7 * @author Niklas Laxström
8 *
9 * @copyright Copyright © 2006, Niklas Laxström
10 * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
11 */
12
13 require_once( 'LanguageUtf8.php' );
14
15 if (!$wgCachedMessageArrays) {
16 require_once('MessagesLv.php');
17 }
18
19 class LanguageLv extends LanguageUtf8 {
20 private $mMessagesLv, $mNamespaceNamesLv = null;
21
22 function __construct() {
23 parent::__construct();
24
25 global $wgAllMessagesLv;
26 $this->mMessagesLv =& $wgAllMessagesLv;
27
28 global $wgMetaNamespace;
29 $this->mNamespaceNamesLv = array(
30 NS_MEDIA => 'Media',
31 NS_SPECIAL => 'Special',
32 NS_MAIN => '',
33 NS_TALK => 'Diskusija',
34 NS_USER => 'Lietotājs',
35 NS_USER_TALK => 'Lietotāja_diskusija',
36 NS_PROJECT => $wgMetaNamespace,
37 NS_PROJECT_TALK => $this->convertGrammar( $wgMetaNamespace, 'ģenitīvs' ) . '_diskusija',
38 NS_IMAGE => 'Attēls',
39 NS_IMAGE_TALK => 'Attēla_diskusija',
40 NS_MEDIAWIKI => 'MediaWiki',
41 NS_MEDIAWIKI_TALK => 'MediaWiki_diskusija',
42 NS_TEMPLATE => 'Veidne',
43 NS_TEMPLATE_TALK => 'Veidnes_diskusija',
44 NS_HELP => 'Palīdzība',
45 NS_HELP_TALK => 'Palīdzības_diskusija',
46 NS_CATEGORY => 'Kategorija',
47 NS_CATEGORY_TALK => 'Kategorijas_diskusija',
48 );
49
50 }
51
52 function getNamespaces() {
53 return $this->mNamespaceNamesLv + parent::getNamespaces();
54 }
55
56 function getMessage( $key ) {
57 if( isset( $this->mMessagesLv[$key] ) ) {
58 return $this->mMessagesLv[$key];
59 } else {
60 return parent::getMessage( $key );
61 }
62 }
63
64 function getAllMessages() {
65 return $this->mMessagesLv;
66 }
67
68 /**
69 * Latvian numeric formatting is 123 456,78.
70 */
71 function separatorTransformTable() {
72 return array(',' => "\xc2\xa0", '.' => ',' );
73 }
74
75 /**
76 * Plural form transformations. Using the first form for words with the last digit 1, but not for words with the last digits 11, and the second form for all the others.
77 *
78 * Example: {{plural:{{NUMBEROFARTICLES}}|article|articles}}
79 *
80 * @param integer $count
81 * @param string $wordform1
82 * @param string $wordform2
83 * @param string $wordform3 (not used)
84 * @return string
85 */
86 function convertPlural( $count, $wordform1, $wordform2, $wordform3 ) {
87 return ( ( $count % 10 == 1 ) && ( $count % 100 != 11 ) ) ? $wordform1 : $wordform2;
88 }
89
90 # Convert from the nominative form of a noun to some other case
91 # Invoked with {{GRAMMAR:case|word}}
92 # ģenitīvs - kā, datīvs - kam, akuzatīvs - ko, lokatīvs - kur.
93 /**
94 * Cases: ģenitīvs, datīvs, akuzatīvs, lokatīvs
95 */
96 function convertGrammar( $word, $case ) {
97 global $wgGrammarForms;
98
99 $wgGrammarForms['lv']['ģenitīvs' ]['Vikipēdija'] = 'Vikipēdijas';
100 $wgGrammarForms['lv']['ģenitīvs' ]['Vikivārdnīca'] = 'Vikivārdnīcas';
101 $wgGrammarForms['lv']['datīvs' ]['Vikipēdija'] = 'Vikipēdijai';
102 $wgGrammarForms['lv']['datīvs' ]['Vikivārdnīca'] = 'Vikivārdnīcai';
103 $wgGrammarForms['lv']['akuzatīvs']['Vikipēdija'] = 'Vikipēdiju';
104 $wgGrammarForms['lv']['akuzatīvs']['Vikivārdnīca'] = 'Vikivārdnīcu';
105 $wgGrammarForms['lv']['lokatīvs' ]['Vikipēdija'] = 'Vikipēdijā';
106 $wgGrammarForms['lv']['lokatīvs' ]['Vikivārdnīca'] = 'Vikivārdnīcā';
107
108 if ( isset($wgGrammarForms['lv'][$case][$word]) ) {
109 return $wgGrammarForms['lv'][$case][$word];
110 }
111
112 return $word;
113
114 }
115
116 }
117
118 ?>