* Restructured
[lhc/web/wiklou.git] / languages / LanguageGa.php
1 <?php
2 /** Irish (Gaeilge)
3 *
4 * @package MediaWiki
5 * @subpackage Language
6 */
7
8 require_once( 'LanguageUtf8.php' );
9
10 if (!$wgCachedMessageArrays) {
11 require_once('MessagesGa.php');
12 }
13
14 class LanguageGa extends LanguageUtf8 {
15 private $mMessagesGa, $mNamespaceNamesGa = null;
16
17 private $mQuickbarSettingsGa = array(
18 'Faic', 'Greamaithe ar chlé', 'Greamaithe ar dheis', 'Ag faoileáil ar chlé', 'Ag faoileáil ar dheis'
19 );
20
21 private $mSkinNamesGa = array(
22 'standard' => 'Gnáth',
23 'nostalgia' => 'Sean-nós',
24 'cologneblue' => 'Gorm na Colóna',
25 'smarty' => 'Paddington',
26 'montparnasse' => 'Montparnasse',
27 'davinci' => 'DaVinci',
28 'mono' => 'Mono',
29 'monobook' => 'MonoBook',
30 'myskin' => 'MySkin',
31 'chick' => 'Chick'
32 );
33
34 private $mDateFormatsGa = array(
35 'Is cuma liom',
36 '16:12, Eanáir 15, 2001',
37 '16:12, 15 Eanáir 2001',
38 '16:12, 2001 Eanáir 15',
39 'ISO 8601' => '2001-01-15 16:12:34'
40 );
41
42 private $mMagicWordsGa = array(
43 # ID CASE SYNONYMS
44 MAG_REDIRECT => array( 0, '#redirect', '#athsheoladh' ),
45 MAG_NOTOC => array( 0, '__NOTOC__', '__GANCÁ__' ),
46 MAG_FORCETOC => array( 0, '__FORCETOC__', '__CÁGACHUAIR__' ),
47 MAG_TOC => array( 0, '__TOC__', '__CÁ__' ),
48 MAG_NOEDITSECTION => array( 0, '__NOEDITSECTION__', '__GANMHÍRATHRÚ__' ),
49 MAG_START => array( 0, '__START__', '__TÚS__' ),
50 MAG_CURRENTMONTH => array( 1, 'CURRENTMONTH', 'MÍLÁITHREACH' ),
51 MAG_CURRENTMONTHNAME => array( 1, 'CURRENTMONTHNAME', 'AINMNAMÍOSALÁITHREAÍ' ),
52 MAG_CURRENTMONTHNAMEGEN => array( 1, 'CURRENTMONTHNAMEGEN', 'GINAINMNAMÍOSALÁITHREAÍ' ),
53 MAG_CURRENTMONTHABBREV => array( 1, 'CURRENTMONTHABBREV', 'GIORRÚNAMÍOSALÁITHREAÍ' ),
54 MAG_CURRENTDAY => array( 1, 'CURRENTDAY', 'LÁLÁITHREACH' ),
55 MAG_CURRENTDAYNAME => array( 1, 'CURRENTDAYNAME', 'AINMANLAELÁITHRIGH' ),
56 MAG_CURRENTYEAR => array( 1, 'CURRENTYEAR', 'BLIAINLÁITHREACH' ),
57 MAG_CURRENTTIME => array( 1, 'CURRENTTIME', 'AMLÁITHREACH' ),
58 MAG_NUMBEROFARTICLES => array( 1, 'NUMBEROFARTICLES', 'LÍONNANALT' ),
59 MAG_NUMBEROFFILES => array( 1, 'NUMBEROFFILES', 'LÍONNAGCOMHAD' ),
60 MAG_PAGENAME => array( 1, 'PAGENAME', 'AINMANLGH' ),
61 MAG_PAGENAMEE => array( 1, 'PAGENAMEE', 'AINMANLGHB' ),
62 MAG_NAMESPACE => array( 1, 'NAMESPACE', 'AINMSPÁS' ),
63 MAG_MSG => array( 0, 'MSG:', 'TCHT:' ),
64 MAG_SUBST => array( 0, 'SUBST:', 'IONAD:' ),
65 MAG_MSGNW => array( 0, 'MSGNW:', 'TCHTFS:' ),
66 MAG_END => array( 0, '__END__', '__DEIREADH__' ),
67 MAG_IMG_THUMBNAIL => array( 1, 'thumbnail', 'thumb', 'mionsamhail', 'mion' ),
68 MAG_IMG_RIGHT => array( 1, 'right', 'deas' ),
69 MAG_IMG_LEFT => array( 1, 'left', 'clé' ),
70 MAG_IMG_NONE => array( 1, 'none', 'faic' ),
71 MAG_IMG_WIDTH => array( 1, '$1px' ),
72 MAG_IMG_CENTER => array( 1, 'center', 'centre', 'lár' ),
73 MAG_IMG_FRAMED => array( 1, 'framed', 'enframed', 'frame', 'fráma', 'frámaithe' ),
74 MAG_INT => array( 0, 'INT:', 'INMH:' ),
75 MAG_SITENAME => array( 1, 'SITENAME', 'AINMANTSUÍMH' ),
76 MAG_NS => array( 0, 'NS:', 'AS:' ),
77 MAG_LOCALURL => array( 0, 'LOCALURL:', 'URLÁITIÚIL' ),
78 MAG_LOCALURLE => array( 0, 'LOCALURLE:', 'URLÁITIÚILB' ),
79 MAG_SERVER => array( 0, 'SERVER', 'FREASTALAÍ' ),
80 MAG_SERVERNAME => array( 0, 'SERVERNAME', 'AINMANFHREASTALAÍ' ),
81 MAG_SCRIPTPATH => array( 0, 'SCRIPTPATH', 'SCRIPTCHOSÁN' ),
82 MAG_GRAMMAR => array( 0, 'GRAMMAR:', 'GRAMADACH:' ),
83 MAG_NOTITLECONVERT => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__GANTIONTÚNADTEIDEAL__', '__GANTT__'),
84 MAG_NOCONTENTCONVERT => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__GANTIONTÚNANÁBHAIR__', '__GANTA__' ),
85 MAG_CURRENTWEEK => array( 1, 'CURRENTWEEK', 'SEACHTAINLÁITHREACH' ),
86 MAG_CURRENTDOW => array( 1, 'CURRENTDOW', 'LÁLÁITHREACHNAS' ),
87 MAG_REVISIONID => array( 1, 'REVISIONID', 'IDANLEASAITHE' ),
88 );
89
90 function __construct() {
91 parent::__construct();
92
93 global $wgAllMessagesGa;
94 $this->mMessagesGa =& $wgAllMessagesGa;
95
96 global $wgMetaNamespace;
97 $this->mNamespaceNamesGa = array(
98 NS_MEDIA => 'Meán',
99 NS_SPECIAL => 'Speisialta',
100 NS_MAIN => '',
101 NS_TALK => 'Plé',
102 NS_USER => 'Úsáideoir',
103 NS_USER_TALK => 'Plé_úsáideora',
104 NS_PROJECT => $wgMetaNamespace,
105 NS_PROJECT_TALK => 'Plé_' . $this->convertGrammar( $wgMetaNamespace, 'genitive' ),
106 NS_IMAGE => 'Íomhá',
107 NS_IMAGE_TALK => 'Plé_íomhá',
108 NS_MEDIAWIKI => 'MediaWiki',
109 NS_MEDIAWIKI_TALK => 'Plé_MediaWiki',
110 NS_TEMPLATE => 'Teimpléad',
111 NS_TEMPLATE_TALK => 'Plé_teimpléid',
112 NS_HELP => 'Cabhair',
113 NS_HELP_TALK => 'Plé_cabhrach',
114 NS_CATEGORY => 'Catagóir',
115 NS_CATEGORY_TALK => 'Plé_catagóire'
116 );
117
118 }
119
120 function getNamespaces() {
121 return $this->mNamespaceNamesGa + parent::getNamespaces();
122 }
123
124 function getQuickbarSettings() {
125 return $this->mQuickbarSettingsGa;
126 }
127
128 function getSkinNames() {
129 return $this->mSkinNamesGa + parent::getSkinNames();
130 }
131
132 function getDateFormats() {
133 return $this->mDateFormatsGa;
134 }
135
136 function &getMagicWords() {
137 $t = $this->mMagicWordsGa + parent::getMagicWords();
138 return $t;
139 }
140
141 function getMessage( $key ) {
142 if( isset( $this->mMessagesGa[$key] ) ) {
143 return $this->mMessagesGa[$key];
144 } else {
145 return parent::getMessage( $key );
146 }
147 }
148
149 function getAllMessages() {
150 return $this->mMessagesGa;
151 }
152
153
154 /**
155 * Get a namespace key by value, case insensetive.
156 *
157 * @param string $text
158 * @return mixed An integer if $text is a valid value otherwise false
159 */
160 function getNsIndex( $text ) {
161 $ns = $this->getNamespaces();
162
163 foreach ( $ns as $i => $n ) {
164 if ( strcasecmp( $n, $text ) == 0)
165 return $i;
166 }
167
168 if ( strcasecmp( 'Plé_í­omhá', $text) == 0) return NS_IMAGE_TALK;
169 if ( strcasecmp( 'Múnla', $text) == 0) return NS_TEMPLATE;
170 if ( strcasecmp( 'Plé_múnla', $text) == 0) return NS_TEMPLATE_TALK;
171 if ( strcasecmp( 'Rang', $text) == 0) return NS_CATEGORY;
172
173 return false;
174 }
175
176 # Convert day names
177 # Invoked with {{GRAMMAR:transformation|word}}
178 function convertGrammar( $word, $case ) {
179 global $wgGrammarForms;
180 if ( isset($wgGrammarForms['ga'][$case][$word]) ) {
181 return $wgGrammarForms['ga'][$case][$word];
182 }
183
184 switch ( $case ) {
185 case 'genitive':
186 switch ($word) {
187 case 'Vicipéid': $word = 'Vicipéide'; break;
188 case 'Vicífhoclóir': $word = 'Vicífhoclóra'; break;
189 case 'Vicíleabhair': $word = 'Vicíleabhar'; break;
190 case 'Vicíshliocht': $word = 'Vicíshleachta'; break;
191 case 'Vicífhoinse': $word = 'Vicífhoinse'; break;
192 case 'Vicíghnéithe': $word = 'Vicíghnéithe'; break;
193 case 'Vicínuacht': $word = 'Vicínuachta'; break;
194 }
195
196 case 'ainmlae':
197 switch ($word) {
198 case 'an Domhnach':
199 $word = 'Dé Domhnaigh'; break;
200 case 'an Luan':
201 $word = 'Dé Luain'; break;
202 case 'an Mháirt':
203 $word = 'Dé Mháirt'; break;
204 case 'an Chéadaoin':
205 $word = 'Dé Chéadaoin'; break;
206 case 'an Déardaoin':
207 $word = 'Déardaoin'; break;
208 case 'an Aoine':
209 $word = 'Dé hAoine'; break;
210 case 'an Satharn':
211 $word = 'Dé Sathairn'; break;
212 }
213 }
214 return $word;
215 }
216
217 }
218
219 ?>