Handle nested li in ol or ul. That happens when someone use something like:
[lhc/web/wiklou.git] / languages / LanguageVi.php
1 <?php
2 /**
3 * Based on Language.php 1.645
4 * @package MediaWiki
5 * @subpackage Language
6 * Compatible to MediaWiki 1.5
7 * Initial translation by Trần Thế Trung and Nguyễn Thanh Quang
8 * Last update 28 August 2005 (UTC)
9 */
10
11 require_once( 'LanguageUtf8.php' );
12
13 /* private */ $wgNamespaceNamesVi = array(
14 NS_MEDIA => 'Phương_tiện',
15 NS_SPECIAL => 'Đặc_biệt',
16 NS_MAIN => '',
17 NS_TALK => 'Thảo_luận',
18 NS_USER => 'Thành_viên',
19 NS_USER_TALK => 'Thảo_luận_Thành_viên',
20 NS_PROJECT => $wgMetaNamespace,
21 NS_PROJECT_TALK => 'Thảo_luận_'.$wgMetaNamespace,
22 NS_IMAGE => 'Hình',
23 NS_IMAGE_TALK => 'Thảo_luận_Hình',
24 NS_MEDIAWIKI => 'MediaWiki',
25 NS_MEDIAWIKI_TALK => 'Thảo_luận_MediaWiki',
26 NS_TEMPLATE => 'Tiêu_bản',
27 NS_TEMPLATE_TALK => 'Thảo_luận_Tiêu_bản',
28 NS_HELP => 'Trợ_giúp',
29 NS_HELP_TALK => 'Thảo_luận_Trợ_giúp',
30 NS_CATEGORY => 'Thể_loại',
31 NS_CATEGORY_TALK => 'Thảo_luận_Thể_loại'
32 ) + $wgNamespaceNamesEn;
33
34 /* private */ $wgQuickbarSettingsVi = array(
35 'Không', 'Trái', 'Phải', 'Nổi bên trái'
36 );
37
38 /* private */ $wgSkinNamesVi = array(
39 'standard' => 'Cổ điển',
40 'nostalgia' => 'Vọng cổ',
41 'myskin' => 'Cá nhân'
42 ) + $wgSkinNamesEn;
43
44 /* private */ $wgMagicWordsVi = array(
45 MAG_REDIRECT => array( 0, '#redirect' , '#đổi' ),
46 MAG_NOTOC => array( 0, '__NOTOC__' , '__KHÔNGMỤCMỤC__' ),
47 MAG_FORCETOC => array( 0, '__FORCETOC__', '__LUÔNMỤCLỤC__' ),
48 MAG_TOC => array( 0, '__TOC__' , '__MỤCLỤC__' ),
49 MAG_NOEDITSECTION => array( 0, '__NOEDITSECTION__', '__KHÔNGSỬAMỤC__' ),
50 MAG_START => array( 0, '__START__' , '__BẮTĐẦU__' ),
51 MAG_CURRENTMONTH => array( 1, 'CURRENTMONTH' , 'THÁNGNÀY' ),
52 MAG_CURRENTMONTHNAME => array( 1, 'CURRENTMONTHNAME' , 'TÊNTHÁNGNÀY' ),
53 MAG_CURRENTMONTHNAMEGEN => array( 1, 'CURRENTMONTHNAMEGEN' , 'TÊNDÀITHÁNGNÀY' ),
54 MAG_CURRENTMONTHABBREV => array( 1, 'CURRENTMONTHABBREV' , 'TÊNNGẮNTHÁNGNÀY' ),
55 MAG_CURRENTDAY => array( 1, 'CURRENTDAY' , 'NGÀYNÀY' ),
56 MAG_CURRENTDAYNAME => array( 1, 'CURRENTDAYNAME' , 'TÊNNGÀYNÀY' ),
57 MAG_CURRENTYEAR => array( 1, 'CURRENTYEAR' , 'NĂMNÀY' ),
58 MAG_CURRENTTIME => array( 1, 'CURRENTTIME' , 'GIỜNÀY' ),
59 MAG_NUMBEROFARTICLES => array( 1, 'NUMBEROFARTICLES' , 'SỐBÀI' ),
60 MAG_NUMBEROFFILES => array( 1, 'NUMBEROFFILES' , 'SỐTẬPTIN' ),
61 MAG_PAGENAME => array( 1, 'PAGENAME' , 'TÊNTRANG' ),
62 MAG_PAGENAMEE => array( 1, 'PAGENAMEE' , 'TÊNTRANG2' ),
63 MAG_NAMESPACE => array( 1, 'NAMESPACE' , 'KHÔNGGIANTÊN' ),
64 MAG_MSG => array( 0, 'MSG:' , 'NHẮN:' ),
65 MAG_SUBST => array( 0, 'SUBST:' , 'THẾ:' ),
66 MAG_MSGNW => array( 0, 'MSGNW:' , 'NHẮNMỚI:' ),
67 MAG_END => array( 0, '__END__' , '__KẾT__' ),
68 MAG_IMG_THUMBNAIL => array( 1, 'thumbnail', 'thumb' , 'nhỏ' ),
69 MAG_IMG_RIGHT => array( 1, 'right' , 'phải' ),
70 MAG_IMG_LEFT => array( 1, 'left' , 'trái' ),
71 MAG_IMG_NONE => array( 1, 'none' , 'không' ),
72 MAG_IMG_WIDTH => array( 1, '$1px' ),
73 MAG_IMG_CENTER => array( 1, 'center', 'centre' , 'giữa' ),
74 MAG_IMG_FRAMED => array( 1, 'framed', 'enframed', 'frame' , 'khung'),
75 MAG_INT => array( 0, 'INT:' ),
76 MAG_SITENAME => array( 1, 'SITENAME' , 'TÊNMẠNG' ),
77 MAG_NS => array( 0, 'NS:' ),
78 MAG_LOCALURL => array( 0, 'LOCALURL:' ),
79 MAG_LOCALURLE => array( 0, 'LOCALURLE:' ),
80 MAG_SERVER => array( 0, 'SERVER' , 'MÁYCHỦ' ),
81 MAG_SERVERNAME => array( 0, 'SERVERNAME' , 'TÊNMÁYCHỦ' ),
82 MAG_SCRIPTPATH => array( 0, 'SCRIPTPATH' , '' ),
83 MAG_GRAMMAR => array( 0, 'GRAMMAR:' , 'NGỮPHÁP' ),
84 MAG_NOTITLECONVERT => array( 0, '__NOTITLECONVERT__',
85 '__NOTC__', '__KHÔNGCHUYỂNTÊN__'),
86 MAG_NOCONTENTCONVERT => array( 0, '__NOCONTENTCONVERT__',
87 '__NOCC__', '__KHÔNGCHUYỂNNỘIDUNG__'),
88 MAG_CURRENTWEEK => array( 1, 'CURRENTWEEK' , 'TUẦNNÀY' ),
89 MAG_CURRENTDOW => array( 1, 'CURRENTDOW' ),
90 MAG_REVISIONID => array( 1, 'REVISIONID' , 'SỐBẢN' ),
91 );
92
93 /* private */ $wgDateFormatsVi = array(
94 MW_DATE_DEFAULT => 'Không lựa chọn',
95 1 => '16:12, tháng 1 ngày 15 năm 2001',
96 2 => '16:12, ngày 15 tháng 1 năm 2001',
97 3 => '16:12, năm 2001 tháng 1 ngày 15',
98 4 => '',
99 MW_DATE_ISO => '2001-01-15 16:12:34'
100 );
101 global $wgRightsText;
102
103 if (!$wgCachedMessageArrays) {
104 require_once('MessagesVi.php');
105 }
106
107
108 class LanguageVi extends LanguageUtf8 {
109
110 function getBookstoreList () {
111 global $wgBookstoreListVi ;
112 return $wgBookstoreListVi ;
113 }
114
115 function getNamespaces() {
116 global $wgNamespaceNamesVi;
117 return $wgNamespaceNamesVi;
118 }
119
120 function getQuickbarSettings() {
121 global $wgQuickbarSettingsVi;
122 return $wgQuickbarSettingsVi;
123 }
124
125 function getSkinNames() {
126 global $wgSkinNamesVi;
127 return $wgSkinNamesVi;
128 }
129
130 function date( $ts, $adj = false, $format = true, $timecorrection = false ) {
131 if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); }
132
133 $datePreference = $this->dateFormat( $format );
134
135 $month = $this->formatMonth( substr( $ts, 4, 2 ), $datePreference );
136 $day = $this->formatDay( substr( $ts, 6, 2 ), $datePreference );
137 $year = $this->formatNum( substr( $ts, 0, 4 ), true );
138
139 switch( $datePreference ) {
140 case 3:
141 case 4: return "$day/$month/$year";
142 case MW_DATE_ISO: return substr($ts, 0, 4). '-' . substr($ts, 4, 2). '-' .substr($ts, 6, 2);
143 default: return "$day $month năm $year";
144 }
145 }
146
147 function timeSeparator( $format ) {
148 $datePreference = $this->dateFormat($format);
149 switch ( $datePreference ) {
150 case '4': return 'h';
151 default: return ':';
152 }
153 }
154
155 function timeDateSeparator( $format ) {
156 $datePreference = $this->dateFormat($format);
157 switch ( $datePreference ) {
158 case '0':
159 case '1':
160 case '2': return ', ';
161 default: return ' ';
162 }
163 }
164
165 function formatMonth( $month, $format ) {
166 $datePreference = $this->dateFormat($format);
167 switch ( $datePreference ) {
168 case '0':
169 case '1': return 'tháng ' . ( 0 + $month );
170 case '2': return 'tháng ' . $this->getMonthName( $month );
171 default: return 0 + $month;
172 }
173 return $this->getMonthName( $month );
174 }
175
176 function formatDay( $day, $format ) {
177 $datePreference = $this->dateFormat($format);
178 switch ( $datePreference ) {
179 case '0':
180 case '1':
181 case '2': return 'ngày ' . (0 + $day);
182 default: return 0 + $day;
183 }
184 }
185
186 function getMonthName( $key ) {
187 $names = 'Một, Hai, Ba, Tư, Năm, Sáu, Bảy, Tám, Chín, Mười, Mười một, Mười hai';
188 $names = explode(', ', $names);
189 return $names[$key-1];
190 }
191
192 function getDateFormats() {
193 global $wgDateFormatsVi;
194 return $wgDateFormatsVi;
195 }
196
197 function &getMagicWords() {
198 global $wgMagicWordsVi;
199 return $wgMagicWordsVi;
200 }
201
202 function separatorTransformTable() {
203 return array(',' => '.', '.' => ',' );
204 }
205
206 function getMessage( $key ) {
207 global $wgAllMessagesVi;
208 if( isset( $wgAllMessagesVi[$key] ) ) {
209 return $wgAllMessagesVi[$key];
210 } else {
211 return parent::getMessage( $key );
212 }
213 }
214
215 }
216
217 ?>