d968c13bfd1fb322416ac9fb1ff52c1bacfd2fd0
[lhc/web/wiklou.git] / languages / LanguageBe.php
1 <?php
2 /** Belarusian (Беларуская мова)
3 *
4 * @package MediaWiki
5 * @subpackage Language
6 *
7 * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
8 * @bug 1638, 2135
9 * @link http://be.wikipedia.org/wiki/Talk:LanguageBe.php
10 * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
11 * @license http://www.gnu.org/copyleft/fdl.html GNU Free Documentation License
12 */
13
14 require_once('LanguageUtf8.php');
15
16 if (!$wgCachedMessageArrays) {
17 require_once('MessagesBe.php');
18 }
19
20 class LanguageBe extends LanguageUtf8 {
21 private $mMessagesBe, $mNamespaceNamesBe = null;
22
23 private $mQuickbarSettingsBe = array(
24 'Не паказваць', 'Замацаваная зьлева', 'Замацаваная справа', 'Рухомая зьлева'
25 );
26
27 private $mSkinNamesBe = array(
28 'standard' => 'Клясычны',
29 'nostalgia' => 'Настальгія',
30 'cologneblue' => 'Кёльнскі смутак',
31 'davinci' => 'Да Вінчы',
32 'mono' => 'Мона',
33 'monobook' => 'Монакніга',
34 'myskin' => 'MySkin',
35 'chick' => 'Цыпа'
36 );
37
38 private $mDateFormatsBe = array(
39 MW_DATE_DEFAULT,
40 '16:12, 15.01.2001',
41 MW_DATE_ISO,
42 );
43
44 private $mMagicWordsBe = array(
45 'redirect' => array( 0, '#перанакіраваньне', '#redirect' ),
46 'notoc' => array( 0, '__NOTOC__', '__БЯЗЬ_ЗЬМЕСТУ__' ),
47 'forcetoc' => array( 0, '__FORCETOC__', '__ЗЬМЕСТ_ПРЫМУСАМ__' ),
48 'toc' => array( 0, '__TOC__', '__ЗЬМЕСТ__' ),
49 'noeditsection' => array( 0, '__NOEDITSECTION__', '__БЕЗ_РЭДАГАВАНЬНЯ_СЭКЦЫІ__' ),
50 'start' => array( 0, '__START__', '__ПАЧАТАК__' ),
51 'currentmonth' => array( 1, 'CURRENTMONTH', 'БЯГУЧЫ_МЕСЯЦ' ),
52 'currentmonthname' => array( 1, 'CURRENTMONTHNAME', 'НАЗВА_БЯГУЧАГА_МЕСЯЦА' ),
53 'currentmonthnamegen' => array( 1, 'CURRENTMONTHNAMEGEN', 'НАЗВА_БЯГУЧАГА_МЕСЯЦА_Ў_РОДНЫМ_СКЛОНЕ' ),
54 'currentmonthabbrev' => array( 1, 'CURRENTMONTHABBREV', 'СКАРОЧАНАЯ_НАЗВА_БЯГУЧАГА_МЕСЯЦА' ),
55 'currentday' => array( 1, 'CURRENTDAY', 'БЯГУЧЫ_ДЗЕНЬ' ),
56 'currentday2' => array( 1, 'CURRENTDAY2', 'БЯГУЧЫ_ДЗЕНЬ_2' ),
57 'currentdayname' => array( 1, 'CURRENTDAYNAME', 'НАЗВА_БЯГУЧАГА_ДНЯ' ),
58 'currentyear' => array( 1, 'CURRENTYEAR', 'БЯГУЧЫ_ГОД' ),
59 'currenttime' => array( 1, 'CURRENTTIME', 'БЯГУЧЫ_ЧАС' ),
60 'numberofpages' => array( 1, 'NUMBEROFPAGES', 'КОЛЬКАСЬЦЬ_СТАРОНАК' ),
61 'numberofarticles' => array( 1, 'NUMBEROFARTICLES', 'КОЛЬКАСЬЦЬ_АРТЫКУЛАЎ' ),
62 'numberoffiles' => array( 1, 'NUMBEROFFILES', 'КОЛЬКАСЬЦЬ_ФАЙЛАЎ' ),
63 'numberofusers' => array( 1, 'NUMBEROFUSERS', 'КОЛЬКАСЬЦЬ_УДЗЕЛЬНІКАЎ' ),
64 'pagename' => array( 1, 'PAGENAME', 'НАЗВА_СТАРОНКІ' ),
65 'pagenamee' => array( 1, 'PAGENAMEE', 'НАЗВА_СТАРОНКІ_2' ),
66 'namespace' => array( 1, 'NAMESPACE', 'ПРАСТОРА_НАЗВАЎ' ),
67 'namespacee' => array( 1, 'NAMESPACEE', 'ПРАСТОРА_НАЗВАЎ_2' ),
68 'talkspace' => array( 1, 'TALKSPACE', 'ПРАСТОРА_НАЗВАЎ_АБМЕРКАВАНЬНЯ' ),
69 'talkspacee' => array( 1, 'TALKSPACEE', 'ПРАСТОРА_НАЗВАЎ_АБМЕРКАВАНЬНЯ_2' ),
70 'subjectspace' => array( 1, 'SUBJECTSPACE', 'ARTICLESPACE', 'ПРАСТОРА_НАЗВАЎ_ПРАДМЕТУ', 'ПРАСТОРА_НАЗВАЎ_АРТЫКУЛА' ),
71 'subjectspacee' => array( 1, 'SUBJECTSPACEE', 'ARTICLESPACEE', 'ПРАСТОРА_НАЗВАЎ_ПРАДМЕТУ_2', 'ПРАСТОРА_НАЗВАЎ_АРТЫКУЛА_2' ),
72 'fullpagename' => array( 1, 'FULLPAGENAME', 'ПОЎНАЯ_НАЗВА_СТАРОНКІ' ),
73 'fullpagenamee' => array( 1, 'FULLPAGENAMEE', 'ПОЎНАЯ_НАЗВА_СТАРОНКІ_2' ),
74 'subpagename' => array( 1, 'SUBPAGENAME', 'НАЗВА_ПАДСТАРОНКІ' ),
75 'subpagenamee' => array( 1, 'SUBPAGENAMEE', 'НАЗВА_ПАДСТАРОНКІ_2' ),
76 'basepagename' => array( 1, 'BASEPAGENAME', 'НАЗВА_БАЗАВАЙ_СТАРОНКІ' ),
77 'basepagenamee' => array( 1, 'BASEPAGENAMEE', 'НАЗВА_БАЗАВАЙ_СТАРОНКІ_2' ),
78 'talkpagename' => array( 1, 'TALKPAGENAME', 'НАЗВА_СТАРОНКІ_АБМЕРКАВАНЬНЯ' ),
79 'talkpagenamee' => array( 1, 'TALKPAGENAMEE', 'НАЗВА_СТАРОНКІ_АБМЕРКАВАНЬНЯ_2' ),
80 'subjectpagename' => array( 1, 'SUBJECTPAGENAME', 'ARTICLEPAGENAME', 'НАЗВА_СТАРОНКІ_ПРАДМЕТУ', 'НАЗВА_СТАРОНКІ_АРТЫКУЛА' ),
81 'subjectpagenamee' => array( 1, 'SUBJECTPAGENAMEE', 'ARTICLEPAGENAMEE', 'НАЗВА_СТАРОНКІ_ПРАДМЕТУ_2', 'НАЗВА_СТАРОНКІ_АРТЫКУЛА_2' ),
82 'msg' => array( 0, 'MSG:', 'ПАВЕДАМЛЕНЬНЕ:' ),
83 'subst' => array( 0, 'SUBST:', 'ПАДСТАНОЎКА:' ),
84 'msgnw' => array( 0, 'MSGNW:', 'ПАВЕДАМЛЕНЬНЕ_БЯЗЬ_ВІКІ:' ),
85 'end' => array( 0, '__END__', '__КАНЕЦ__' ),
86 'img_thumbnail' => array( 1, 'thumbnail', 'thumb', 'значак', 'міні' ),
87 'img_manualthumb' => array( 1, 'thumbnail=$1', 'thumb=$1', 'значак=$1', 'міні=$1' ),
88 'img_right' => array( 1, 'right', 'справа' ),
89 'img_left' => array( 1, 'left', 'зьлева' ),
90 'img_none' => array( 1, 'none', 'няма' ),
91 'img_width' => array( 1, '$1px', '$1пкс' ),
92 'img_center' => array( 1, 'center', 'centre', 'цэнтар' ),
93 'img_framed' => array( 1, 'framed', 'enframed', 'frame', 'рамка' ),
94 'int' => array( 0, 'INT:' ),
95 'sitename' => array( 1, 'SITENAME', 'НАЗВА_САЙТУ' ),
96 'ns' => array( 0, 'NS:', 'ПН:' ),
97 'localurl' => array( 0, 'LOCALURL:', 'ЛЯКАЛЬНЫ_АДРАС:' ),
98 'localurle' => array( 0, 'LOCALURLE:', 'ЛЯКАЛЬНЫ_АДРАС_2:' ),
99 'server' => array( 0, 'SERVER', 'СЭРВЭР' ),
100 'servername' => array( 0, 'SERVERNAME', 'НАЗВА_СЭРВЭРА' ),
101 'scriptpath' => array( 0, 'SCRIPTPATH', 'ШЛЯХ_ДА_СКРЫПТА' ),
102 'grammar' => array( 0, 'GRAMMAR:', 'ГРАМАТЫКА:' ),
103 'notitleconvert' => array( 0, '__NOTITLECONVERT__', '__NOTC__', '__БЕЗ_КАНВЭРТАЦЫІ_НАЗВЫ__' ),
104 'nocontentconvert' => array( 0, '__NOCONTENTCONVERT__', '__NOCC__', '__БЕЗ_КАНВЭРТАЦЫІ_ТЭКСТУ__' ),
105 'currentweek' => array( 1, 'CURRENTWEEK', 'БЯГУЧЫ_ТЫДЗЕНЬ' ),
106 'currentdow' => array( 1, 'CURRENTDOW', 'БЯГУЧЫ_ДЗЕНЬ_ТЫДНЯ' ),
107 'revisionid' => array( 1, 'REVISIONID', 'ID_ВЭРСІІ' ),
108 'plural' => array( 0, 'PLURAL:', 'МНОЖНЫ_ЛІК:'),
109 'fullurl' => array( 0, 'FULLURL:', 'ПОЎНЫ_АДРАС:' ),
110 'fullurle' => array( 0, 'FULLURLE:', 'ПОЎНЫ_АДРАС_2:' ),
111 'lcfirst' => array( 0, 'LCFIRST:', 'ПЕРШАЯ_ЛІТАРА_МАЛАЯ:' ),
112 'ucfirst' => array( 0, 'UCFIRST:', 'ПЕРШАЯ_ЛІТАРА_ВЯЛІКАЯ:' ),
113 'lc' => array( 0, 'LC:', 'МАЛЫМІ_ЛІТАРАМІ:' ),
114 'uc' => array( 0, 'UC:', 'ВЯЛІКІМІ_ЛІТАРАМІ:' ),
115 'raw' => array( 0, 'RAW:', 'НЕАПРАЦАВАНЫ' ),
116 'displaytitle' => array( 1, 'DISPLAYTITLE', 'АДЛЮСТРАВАНАЯ_НАЗВА' ),
117 'rawsuffix' => array( 1, 'R', 'Н' ),
118 'newsectionlink' => array( 1, '__NEWSECTIONLINK__', '__СПАСЫЛКА_НА_НОВУЮ_СЭКЦЫЮ__' ),
119 'currentversion' => array( 1, 'CURRENTVERSION', 'БЯГУЧАЯ_ВЭРСІЯ' ),
120 'urlencode' => array( 0, 'URLENCODE:' ),
121 );
122
123 function __construct() {
124 parent::__construct();
125
126 global $wgAllMessagesBe;
127 $this->mMessagesBe =& $wgAllMessagesBe;
128
129 global $wgMetaNamespace;
130 $this->mNamespaceNamesBe = array(
131 NS_MEDIA => 'Мэдыя',
132 NS_SPECIAL => 'Спэцыяльныя',
133 NS_MAIN => '',
134 NS_TALK => 'Абмеркаваньне',
135 NS_USER => 'Удзельнік',
136 NS_USER_TALK => 'Гутаркі_ўдзельніка',
137 NS_PROJECT => $wgMetaNamespace,
138 NS_PROJECT_TALK => 'Абмеркаваньне_' . $wgMetaNamespace,
139 NS_IMAGE => 'Выява',
140 NS_IMAGE_TALK => 'Абмеркаваньне_выявы',
141 NS_MEDIAWIKI => 'MediaWiki',
142 NS_MEDIAWIKI_TALK => 'Абмеркаваньне_MediaWiki',
143 NS_TEMPLATE => 'Шаблён',
144 NS_TEMPLATE_TALK => 'Абмеркаваньне_шаблёну',
145 NS_HELP => 'Дапамога',
146 NS_HELP_TALK => 'Абмеркаваньне_дапамогі',
147 NS_CATEGORY => 'Катэгорыя',
148 NS_CATEGORY_TALK => 'Абмеркаваньне_катэгорыі'
149 );
150
151 }
152
153 function getNamespaces() {
154 return $this->mNamespaceNamesBe + parent::getNamespaces();
155 }
156
157 function getQuickbarSettings() {
158 return $this->mQuickbarSettingsBe;
159 }
160
161 function getSkinNames() {
162 return $this->mSkinNamesBe + parent::getSkinNames();
163 }
164
165 function &getMagicWords() {
166 $t = $this->mMagicWordsBe + parent::getMagicWords();
167 return $t;
168 }
169
170 function getDateFormats() {
171 return $this->mDateFormatsBe;
172 }
173
174 function getMessage( $key ) {
175 if( isset( $this->mMessagesBe[$key] ) ) {
176 return $this->mMessagesBe[$key];
177 } else {
178 return parent::getMessage( $key );
179 }
180 }
181
182 function getAllMessages() {
183 return $this->mMessagesBe;
184 }
185
186 // The date and time format
187 function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
188 $datePreference = $this->dateFormat( $format );
189 if( $datePreference == MW_DATE_ISO ) {
190 return parent::date( $ts, $adj, $datePreference, $timecorrection );
191 } else {
192 if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); } # Adjust based on the timezone setting.
193 // 20050310001506 => 10.03.2005
194 $date = (substr( $ts, 6, 2 )) . '.' . substr( $ts, 4, 2 ) . '.' . substr( $ts, 0, 4 );
195 return $date;
196 }
197 }
198
199 function separatorTransformTable() {
200 return array(',' => '.', '.' => ',' );
201 }
202
203 function convertPlural( $count, $wordform1, $wordform2, $wordform3) {
204 $count = str_replace ('.', '', $count);
205 if ($count > 10 && floor(($count % 100) / 10) == 1) {
206 return $wordform3;
207 } else {
208 switch ($count % 10) {
209 case 1: return $wordform1;
210 case 2:
211 case 3:
212 case 4: return $wordform2;
213 default: return $wordform3;
214 }
215 }
216 }
217
218 # Convert from the nominative form of a noun to some other case
219 # Invoked with {{GRAMMAR:case|word}}
220 /**
221 * Cases: родны, вінавальны, месны
222 */
223 function convertGrammar( $word, $case ) {
224 switch ( $case ) {
225 case 'родны': # genitive
226 if ( $word == 'Вікіпэдыя' ) {
227 $word = 'Вікіпэдыі';
228 } elseif ( $word == 'ВікіСлоўнік' ) {
229 $word = 'ВікіСлоўніка';
230 } elseif ( $word == 'ВікіКнігі' ) {
231 $word = 'ВікіКніг';
232 } elseif ( $word == 'ВікіКрыніца' ) {
233 $word = 'ВікіКрыніцы';
234 } elseif ( $word == 'ВікіНавіны' ) {
235 $word = 'ВікіНавін';
236 } elseif ( $word == 'ВікіВіды' ) {
237 $word = 'ВікіВідаў';
238 }
239 break;
240 case 'вінавальны': # akusative
241 if ( $word == 'Вікіпэдыя' ) {
242 $word = 'Вікіпэдыю';
243 } elseif ( $word == 'ВікіСлоўнік' ) {
244 $word = 'ВікіСлоўнік';
245 } elseif ( $word == 'ВікіКнігі' ) {
246 $word = 'ВікіКнігі';
247 } elseif ( $word == 'ВікіКрыніца' ) {
248 $word = 'ВікіКрыніцу';
249 } elseif ( $word == 'ВікіНавіны' ) {
250 $word = 'ВікіНавіны';
251 } elseif ( $word == 'ВікіВіды' ) {
252 $word = 'ВікіВіды';
253 }
254 break;
255 case 'месны': # prepositional
256 if ( $word == 'Вікіпэдыя' ) {
257 $word = 'Вікіпэдыі';
258 } elseif ( $word == 'ВікіСлоўнік' ) {
259 $word = 'ВікіСлоўніку';
260 } elseif ( $word == 'ВікіКнігі' ) {
261 $word = 'ВікіКнігах';
262 } elseif ( $word == 'ВікіКрыніца' ) {
263 $word = 'ВікіКрыніцы';
264 } elseif ( $word == 'ВікіНавіны' ) {
265 $word = 'ВікіНавінах';
266 } elseif ( $word == 'ВікіВіды' ) {
267 $word = 'ВікіВідах';
268 }
269 break;
270 }
271
272 return $word; # this will return the original value for 'назоўны' (nominative) and all undefined case values
273 }
274
275 }
276
277 ?>