r173 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r172‎ | r173 | r174 >
Date:07:33, 20 February 2002
Author:vibber
Status:old
Tags:
Comment:
i18n fixes - customizable case-conversion functions, removed some hardcoded English strings
Modified paths:
  • /trunk/phpwiki/fpw/basicFunctions.php (modified) (history)
  • /trunk/phpwiki/fpw/special_lonelypages.php (modified) (history)
  • /trunk/phpwiki/fpw/special_longpages.php (modified) (history)
  • /trunk/phpwiki/fpw/special_shortpages.php (modified) (history)
  • /trunk/phpwiki/fpw/special_statistics.php (modified) (history)
  • /trunk/phpwiki/fpw/special_userlogin.php (modified) (history)
  • /trunk/phpwiki/fpw/utf8Case.php (added) (history)
  • /trunk/phpwiki/fpw/wiki.phtml (modified) (history)
  • /trunk/phpwiki/fpw/wikiPage.php (modified) (history)
  • /trunk/phpwiki/fpw/wikiTextEn.php (modified) (history)
  • /trunk/phpwiki/fpw/wikiTextEo.php (modified) (history)
  • /trunk/phpwiki/fpw/wikiTitle.php (modified) (history)

Diff [purge]

Index: trunk/phpwiki/fpw/special_shortpages.php
@@ -13,7 +13,7 @@
1414 }
1515
1616 function ShortPages () {
17 - global $THESCRIPT , $user , $vpage , $startat , $wikiStubTitle , $wikiStubText , $showLinksThere , $wikiStubShowLinks ;
 17+ global $THESCRIPT , $user , $vpage , $startat , $wikiStubTitle , $wikiStubText , $showLinksThere , $wikiStubShowLinks , $wikiShowLinks ;
1818 if ( !isset ( $startat ) ) $startat = 1 ;
1919 $perpage = $user->options["resultsPerPage"] ;
2020 if ( $perpage == 0 ) $perpage = 20 ;
@@ -23,7 +23,7 @@
2424 if ( $showLinksThere == 1 ) $sLT2 = 0 ;
2525 else $sLT2 = 1 ;
2626 $ret = $wikiStubText ;
27 - $ret .= str_replace ( "$1" , $sLT2 , $wikiStubShowLinks ) ;
 27+ $ret .= "<nowiki><a href=\"$THESCRIPT?title=special:ShortPages&showLinksThere=$sLT2\">$wikiStubShowLinks</a><br></nowiki>\n";
2828 $connection = getDBconnection () ;
2929 $sql = "SELECT COUNT(*) AS number FROM cur WHERE cur_title NOT LIKE \"%:%\" AND cur_text NOT LIKE \"#redirect%\"" ;
3030 $result = mysql_query ( $sql , $connection ) ;
@@ -70,7 +70,7 @@
7171 $lf .= ")</font>" ;
7272 }
7373 $ret .= "<td$color width=\"100%\" valign=top>".str_replace("$1",count($lh),$wikiStubLinkHere)."$lf</td>\n";
74 - } else $ret .= "<td$color valign=top><nowiki><a href=\"".wikiLink("special:whatlinkshere&target=$k->url")."\">Show pages that link to \"".$k->getNiceTitle()."\"</a></nowiki></td>\n" ;
 74+ } else $ret .= "<td$color valign=top><nowiki><a href=\"".wikiLink("special:whatlinkshere&target=$k->url")."\">" . str_replace ( "$1" , $k->getNiceTitle() , $wikiShowLinks ) . "\"</a></nowiki></td>\n" ;
7575
7676 $ret .= "</tr>" ;
7777 if ( $color == $color1 ) $color = $color2 ;
Index: trunk/phpwiki/fpw/utf8Case.php
@@ -0,0 +1,1490 @@
 2+<?
 3+# Simple 1:1 upper/lowercase switching arrays for utf-8 text
 4+# Won't get context-sensitive things yet
 5+
 6+$wikiUpperChars = array(
 7+ "a" => "A",
 8+ "b" => "B",
 9+ "c" => "C",
 10+ "d" => "D",
 11+ "e" => "E",
 12+ "f" => "F",
 13+ "g" => "G",
 14+ "h" => "H",
 15+ "i" => "I",
 16+ "j" => "J",
 17+ "k" => "K",
 18+ "l" => "L",
 19+ "m" => "M",
 20+ "n" => "N",
 21+ "o" => "O",
 22+ "p" => "P",
 23+ "q" => "Q",
 24+ "r" => "R",
 25+ "s" => "S",
 26+ "t" => "T",
 27+ "u" => "U",
 28+ "v" => "V",
 29+ "w" => "W",
 30+ "x" => "X",
 31+ "y" => "Y",
 32+ "z" => "Z",
 33+ "\xc2\xb5" => "\xce\x9c",
 34+ "\xc3\xa0" => "\xc3\x80",
 35+ "\xc3\xa1" => "\xc3\x81",
 36+ "\xc3\xa2" => "\xc3\x82",
 37+ "\xc3\xa3" => "\xc3\x83",
 38+ "\xc3\xa4" => "\xc3\x84",
 39+ "\xc3\xa5" => "\xc3\x85",
 40+ "\xc3\xa6" => "\xc3\x86",
 41+ "\xc3\xa7" => "\xc3\x87",
 42+ "\xc3\xa8" => "\xc3\x88",
 43+ "\xc3\xa9" => "\xc3\x89",
 44+ "\xc3\xaa" => "\xc3\x8a",
 45+ "\xc3\xab" => "\xc3\x8b",
 46+ "\xc3\xac" => "\xc3\x8c",
 47+ "\xc3\xad" => "\xc3\x8d",
 48+ "\xc3\xae" => "\xc3\x8e",
 49+ "\xc3\xaf" => "\xc3\x8f",
 50+ "\xc3\xb0" => "\xc3\x90",
 51+ "\xc3\xb1" => "\xc3\x91",
 52+ "\xc3\xb2" => "\xc3\x92",
 53+ "\xc3\xb3" => "\xc3\x93",
 54+ "\xc3\xb4" => "\xc3\x94",
 55+ "\xc3\xb5" => "\xc3\x95",
 56+ "\xc3\xb6" => "\xc3\x96",
 57+ "\xc3\xb8" => "\xc3\x98",
 58+ "\xc3\xb9" => "\xc3\x99",
 59+ "\xc3\xba" => "\xc3\x9a",
 60+ "\xc3\xbb" => "\xc3\x9b",
 61+ "\xc3\xbc" => "\xc3\x9c",
 62+ "\xc3\xbd" => "\xc3\x9d",
 63+ "\xc3\xbe" => "\xc3\x9e",
 64+ "\xc3\xbf" => "\xc5\xb8",
 65+ "\xc4\x81" => "\xc4\x80",
 66+ "\xc4\x83" => "\xc4\x82",
 67+ "\xc4\x85" => "\xc4\x84",
 68+ "\xc4\x87" => "\xc4\x86",
 69+ "\xc4\x89" => "\xc4\x88",
 70+ "\xc4\x8b" => "\xc4\x8a",
 71+ "\xc4\x8d" => "\xc4\x8c",
 72+ "\xc4\x8f" => "\xc4\x8e",
 73+ "\xc4\x91" => "\xc4\x90",
 74+ "\xc4\x93" => "\xc4\x92",
 75+ "\xc4\x95" => "\xc4\x94",
 76+ "\xc4\x97" => "\xc4\x96",
 77+ "\xc4\x99" => "\xc4\x98",
 78+ "\xc4\x9b" => "\xc4\x9a",
 79+ "\xc4\x9d" => "\xc4\x9c",
 80+ "\xc4\x9f" => "\xc4\x9e",
 81+ "\xc4\xa1" => "\xc4\xa0",
 82+ "\xc4\xa3" => "\xc4\xa2",
 83+ "\xc4\xa5" => "\xc4\xa4",
 84+ "\xc4\xa7" => "\xc4\xa6",
 85+ "\xc4\xa9" => "\xc4\xa8",
 86+ "\xc4\xab" => "\xc4\xaa",
 87+ "\xc4\xad" => "\xc4\xac",
 88+ "\xc4\xaf" => "\xc4\xae",
 89+ "\xc4\xb1" => "I",
 90+ "\xc4\xb3" => "\xc4\xb2",
 91+ "\xc4\xb5" => "\xc4\xb4",
 92+ "\xc4\xb7" => "\xc4\xb6",
 93+ "\xc4\xba" => "\xc4\xb9",
 94+ "\xc4\xbc" => "\xc4\xbb",
 95+ "\xc4\xbe" => "\xc4\xbd",
 96+ "\xc5\x80" => "\xc4\xbf",
 97+ "\xc5\x82" => "\xc5\x81",
 98+ "\xc5\x84" => "\xc5\x83",
 99+ "\xc5\x86" => "\xc5\x85",
 100+ "\xc5\x88" => "\xc5\x87",
 101+ "\xc5\x8b" => "\xc5\x8a",
 102+ "\xc5\x8d" => "\xc5\x8c",
 103+ "\xc5\x8f" => "\xc5\x8e",
 104+ "\xc5\x91" => "\xc5\x90",
 105+ "\xc5\x93" => "\xc5\x92",
 106+ "\xc5\x95" => "\xc5\x94",
 107+ "\xc5\x97" => "\xc5\x96",
 108+ "\xc5\x99" => "\xc5\x98",
 109+ "\xc5\x9b" => "\xc5\x9a",
 110+ "\xc5\x9d" => "\xc5\x9c",
 111+ "\xc5\x9f" => "\xc5\x9e",
 112+ "\xc5\xa1" => "\xc5\xa0",
 113+ "\xc5\xa3" => "\xc5\xa2",
 114+ "\xc5\xa5" => "\xc5\xa4",
 115+ "\xc5\xa7" => "\xc5\xa6",
 116+ "\xc5\xa9" => "\xc5\xa8",
 117+ "\xc5\xab" => "\xc5\xaa",
 118+ "\xc5\xad" => "\xc5\xac",
 119+ "\xc5\xaf" => "\xc5\xae",
 120+ "\xc5\xb1" => "\xc5\xb0",
 121+ "\xc5\xb3" => "\xc5\xb2",
 122+ "\xc5\xb5" => "\xc5\xb4",
 123+ "\xc5\xb7" => "\xc5\xb6",
 124+ "\xc5\xba" => "\xc5\xb9",
 125+ "\xc5\xbc" => "\xc5\xbb",
 126+ "\xc5\xbe" => "\xc5\xbd",
 127+ "\xc5\xbf" => "S",
 128+ "\xc6\x83" => "\xc6\x82",
 129+ "\xc6\x85" => "\xc6\x84",
 130+ "\xc6\x88" => "\xc6\x87",
 131+ "\xc6\x8c" => "\xc6\x8b",
 132+ "\xc6\x92" => "\xc6\x91",
 133+ "\xc6\x95" => "\xc7\xb6",
 134+ "\xc6\x99" => "\xc6\x98",
 135+ "\xc6\xa1" => "\xc6\xa0",
 136+ "\xc6\xa3" => "\xc6\xa2",
 137+ "\xc6\xa5" => "\xc6\xa4",
 138+ "\xc6\xa8" => "\xc6\xa7",
 139+ "\xc6\xad" => "\xc6\xac",
 140+ "\xc6\xb0" => "\xc6\xaf",
 141+ "\xc6\xb4" => "\xc6\xb3",
 142+ "\xc6\xb6" => "\xc6\xb5",
 143+ "\xc6\xb9" => "\xc6\xb8",
 144+ "\xc6\xbd" => "\xc6\xbc",
 145+ "\xc6\xbf" => "\xc7\xb7",
 146+ "\xc7\x85" => "\xc7\x84",
 147+ "\xc7\x86" => "\xc7\x84",
 148+ "\xc7\x88" => "\xc7\x87",
 149+ "\xc7\x89" => "\xc7\x87",
 150+ "\xc7\x8b" => "\xc7\x8a",
 151+ "\xc7\x8c" => "\xc7\x8a",
 152+ "\xc7\x8e" => "\xc7\x8d",
 153+ "\xc7\x90" => "\xc7\x8f",
 154+ "\xc7\x92" => "\xc7\x91",
 155+ "\xc7\x94" => "\xc7\x93",
 156+ "\xc7\x96" => "\xc7\x95",
 157+ "\xc7\x98" => "\xc7\x97",
 158+ "\xc7\x9a" => "\xc7\x99",
 159+ "\xc7\x9c" => "\xc7\x9b",
 160+ "\xc7\x9d" => "\xc6\x8e",
 161+ "\xc7\x9f" => "\xc7\x9e",
 162+ "\xc7\xa1" => "\xc7\xa0",
 163+ "\xc7\xa3" => "\xc7\xa2",
 164+ "\xc7\xa5" => "\xc7\xa4",
 165+ "\xc7\xa7" => "\xc7\xa6",
 166+ "\xc7\xa9" => "\xc7\xa8",
 167+ "\xc7\xab" => "\xc7\xaa",
 168+ "\xc7\xad" => "\xc7\xac",
 169+ "\xc7\xaf" => "\xc7\xae",
 170+ "\xc7\xb2" => "\xc7\xb1",
 171+ "\xc7\xb3" => "\xc7\xb1",
 172+ "\xc7\xb5" => "\xc7\xb4",
 173+ "\xc7\xb9" => "\xc7\xb8",
 174+ "\xc7\xbb" => "\xc7\xba",
 175+ "\xc7\xbd" => "\xc7\xbc",
 176+ "\xc7\xbf" => "\xc7\xbe",
 177+ "\xc8\x81" => "\xc8\x80",
 178+ "\xc8\x83" => "\xc8\x82",
 179+ "\xc8\x85" => "\xc8\x84",
 180+ "\xc8\x87" => "\xc8\x86",
 181+ "\xc8\x89" => "\xc8\x88",
 182+ "\xc8\x8b" => "\xc8\x8a",
 183+ "\xc8\x8d" => "\xc8\x8c",
 184+ "\xc8\x8f" => "\xc8\x8e",
 185+ "\xc8\x91" => "\xc8\x90",
 186+ "\xc8\x93" => "\xc8\x92",
 187+ "\xc8\x95" => "\xc8\x94",
 188+ "\xc8\x97" => "\xc8\x96",
 189+ "\xc8\x99" => "\xc8\x98",
 190+ "\xc8\x9b" => "\xc8\x9a",
 191+ "\xc8\x9d" => "\xc8\x9c",
 192+ "\xc8\x9f" => "\xc8\x9e",
 193+ "\xc8\xa3" => "\xc8\xa2",
 194+ "\xc8\xa5" => "\xc8\xa4",
 195+ "\xc8\xa7" => "\xc8\xa6",
 196+ "\xc8\xa9" => "\xc8\xa8",
 197+ "\xc8\xab" => "\xc8\xaa",
 198+ "\xc8\xad" => "\xc8\xac",
 199+ "\xc8\xaf" => "\xc8\xae",
 200+ "\xc8\xb1" => "\xc8\xb0",
 201+ "\xc8\xb3" => "\xc8\xb2",
 202+ "\xc9\x93" => "\xc6\x81",
 203+ "\xc9\x94" => "\xc6\x86",
 204+ "\xc9\x96" => "\xc6\x89",
 205+ "\xc9\x97" => "\xc6\x8a",
 206+ "\xc9\x99" => "\xc6\x8f",
 207+ "\xc9\x9b" => "\xc6\x90",
 208+ "\xc9\xa0" => "\xc6\x93",
 209+ "\xc9\xa3" => "\xc6\x94",
 210+ "\xc9\xa8" => "\xc6\x97",
 211+ "\xc9\xa9" => "\xc6\x96",
 212+ "\xc9\xaf" => "\xc6\x9c",
 213+ "\xc9\xb2" => "\xc6\x9d",
 214+ "\xc9\xb5" => "\xc6\x9f",
 215+ "\xca\x80" => "\xc6\xa6",
 216+ "\xca\x83" => "\xc6\xa9",
 217+ "\xca\x88" => "\xc6\xae",
 218+ "\xca\x8a" => "\xc6\xb1",
 219+ "\xca\x8b" => "\xc6\xb2",
 220+ "\xca\x92" => "\xc6\xb7",
 221+ "\xcd\x85" => "\xce\x99",
 222+ "\xce\xac" => "\xce\x86",
 223+ "\xce\xad" => "\xce\x88",
 224+ "\xce\xae" => "\xce\x89",
 225+ "\xce\xaf" => "\xce\x8a",
 226+ "\xce\xb1" => "\xce\x91",
 227+ "\xce\xb2" => "\xce\x92",
 228+ "\xce\xb3" => "\xce\x93",
 229+ "\xce\xb4" => "\xce\x94",
 230+ "\xce\xb5" => "\xce\x95",
 231+ "\xce\xb6" => "\xce\x96",
 232+ "\xce\xb7" => "\xce\x97",
 233+ "\xce\xb8" => "\xce\x98",
 234+ "\xce\xb9" => "\xce\x99",
 235+ "\xce\xba" => "\xce\x9a",
 236+ "\xce\xbb" => "\xce\x9b",
 237+ "\xce\xbc" => "\xce\x9c",
 238+ "\xce\xbd" => "\xce\x9d",
 239+ "\xce\xbe" => "\xce\x9e",
 240+ "\xce\xbf" => "\xce\x9f",
 241+ "\xcf\x80" => "\xce\xa0",
 242+ "\xcf\x81" => "\xce\xa1",
 243+ "\xcf\x82" => "\xce\xa3",
 244+ "\xcf\x83" => "\xce\xa3",
 245+ "\xcf\x84" => "\xce\xa4",
 246+ "\xcf\x85" => "\xce\xa5",
 247+ "\xcf\x86" => "\xce\xa6",
 248+ "\xcf\x87" => "\xce\xa7",
 249+ "\xcf\x88" => "\xce\xa8",
 250+ "\xcf\x89" => "\xce\xa9",
 251+ "\xcf\x8a" => "\xce\xaa",
 252+ "\xcf\x8b" => "\xce\xab",
 253+ "\xcf\x8c" => "\xce\x8c",
 254+ "\xcf\x8d" => "\xce\x8e",
 255+ "\xcf\x8e" => "\xce\x8f",
 256+ "\xcf\x90" => "\xce\x92",
 257+ "\xcf\x91" => "\xce\x98",
 258+ "\xcf\x95" => "\xce\xa6",
 259+ "\xcf\x96" => "\xce\xa0",
 260+ "\xcf\x9b" => "\xcf\x9a",
 261+ "\xcf\x9d" => "\xcf\x9c",
 262+ "\xcf\x9f" => "\xcf\x9e",
 263+ "\xcf\xa1" => "\xcf\xa0",
 264+ "\xcf\xa3" => "\xcf\xa2",
 265+ "\xcf\xa5" => "\xcf\xa4",
 266+ "\xcf\xa7" => "\xcf\xa6",
 267+ "\xcf\xa9" => "\xcf\xa8",
 268+ "\xcf\xab" => "\xcf\xaa",
 269+ "\xcf\xad" => "\xcf\xac",
 270+ "\xcf\xaf" => "\xcf\xae",
 271+ "\xcf\xb0" => "\xce\x9a",
 272+ "\xcf\xb1" => "\xce\xa1",
 273+ "\xcf\xb2" => "\xce\xa3",
 274+ "\xcf\xb5" => "\xce\x95",
 275+ "\xd0\xb0" => "\xd0\x90",
 276+ "\xd0\xb1" => "\xd0\x91",
 277+ "\xd0\xb2" => "\xd0\x92",
 278+ "\xd0\xb3" => "\xd0\x93",
 279+ "\xd0\xb4" => "\xd0\x94",
 280+ "\xd0\xb5" => "\xd0\x95",
 281+ "\xd0\xb6" => "\xd0\x96",
 282+ "\xd0\xb7" => "\xd0\x97",
 283+ "\xd0\xb8" => "\xd0\x98",
 284+ "\xd0\xb9" => "\xd0\x99",
 285+ "\xd0\xba" => "\xd0\x9a",
 286+ "\xd0\xbb" => "\xd0\x9b",
 287+ "\xd0\xbc" => "\xd0\x9c",
 288+ "\xd0\xbd" => "\xd0\x9d",
 289+ "\xd0\xbe" => "\xd0\x9e",
 290+ "\xd0\xbf" => "\xd0\x9f",
 291+ "\xd1\x80" => "\xd0\xa0",
 292+ "\xd1\x81" => "\xd0\xa1",
 293+ "\xd1\x82" => "\xd0\xa2",
 294+ "\xd1\x83" => "\xd0\xa3",
 295+ "\xd1\x84" => "\xd0\xa4",
 296+ "\xd1\x85" => "\xd0\xa5",
 297+ "\xd1\x86" => "\xd0\xa6",
 298+ "\xd1\x87" => "\xd0\xa7",
 299+ "\xd1\x88" => "\xd0\xa8",
 300+ "\xd1\x89" => "\xd0\xa9",
 301+ "\xd1\x8a" => "\xd0\xaa",
 302+ "\xd1\x8b" => "\xd0\xab",
 303+ "\xd1\x8c" => "\xd0\xac",
 304+ "\xd1\x8d" => "\xd0\xad",
 305+ "\xd1\x8e" => "\xd0\xae",
 306+ "\xd1\x8f" => "\xd0\xaf",
 307+ "\xd1\x90" => "\xd0\x80",
 308+ "\xd1\x91" => "\xd0\x81",
 309+ "\xd1\x92" => "\xd0\x82",
 310+ "\xd1\x93" => "\xd0\x83",
 311+ "\xd1\x94" => "\xd0\x84",
 312+ "\xd1\x95" => "\xd0\x85",
 313+ "\xd1\x96" => "\xd0\x86",
 314+ "\xd1\x97" => "\xd0\x87",
 315+ "\xd1\x98" => "\xd0\x88",
 316+ "\xd1\x99" => "\xd0\x89",
 317+ "\xd1\x9a" => "\xd0\x8a",
 318+ "\xd1\x9b" => "\xd0\x8b",
 319+ "\xd1\x9c" => "\xd0\x8c",
 320+ "\xd1\x9d" => "\xd0\x8d",
 321+ "\xd1\x9e" => "\xd0\x8e",
 322+ "\xd1\x9f" => "\xd0\x8f",
 323+ "\xd1\xa1" => "\xd1\xa0",
 324+ "\xd1\xa3" => "\xd1\xa2",
 325+ "\xd1\xa5" => "\xd1\xa4",
 326+ "\xd1\xa7" => "\xd1\xa6",
 327+ "\xd1\xa9" => "\xd1\xa8",
 328+ "\xd1\xab" => "\xd1\xaa",
 329+ "\xd1\xad" => "\xd1\xac",
 330+ "\xd1\xaf" => "\xd1\xae",
 331+ "\xd1\xb1" => "\xd1\xb0",
 332+ "\xd1\xb3" => "\xd1\xb2",
 333+ "\xd1\xb5" => "\xd1\xb4",
 334+ "\xd1\xb7" => "\xd1\xb6",
 335+ "\xd1\xb9" => "\xd1\xb8",
 336+ "\xd1\xbb" => "\xd1\xba",
 337+ "\xd1\xbd" => "\xd1\xbc",
 338+ "\xd1\xbf" => "\xd1\xbe",
 339+ "\xd2\x81" => "\xd2\x80",
 340+ "\xd2\x8d" => "\xd2\x8c",
 341+ "\xd2\x8f" => "\xd2\x8e",
 342+ "\xd2\x91" => "\xd2\x90",
 343+ "\xd2\x93" => "\xd2\x92",
 344+ "\xd2\x95" => "\xd2\x94",
 345+ "\xd2\x97" => "\xd2\x96",
 346+ "\xd2\x99" => "\xd2\x98",
 347+ "\xd2\x9b" => "\xd2\x9a",
 348+ "\xd2\x9d" => "\xd2\x9c",
 349+ "\xd2\x9f" => "\xd2\x9e",
 350+ "\xd2\xa1" => "\xd2\xa0",
 351+ "\xd2\xa3" => "\xd2\xa2",
 352+ "\xd2\xa5" => "\xd2\xa4",
 353+ "\xd2\xa7" => "\xd2\xa6",
 354+ "\xd2\xa9" => "\xd2\xa8",
 355+ "\xd2\xab" => "\xd2\xaa",
 356+ "\xd2\xad" => "\xd2\xac",
 357+ "\xd2\xaf" => "\xd2\xae",
 358+ "\xd2\xb1" => "\xd2\xb0",
 359+ "\xd2\xb3" => "\xd2\xb2",
 360+ "\xd2\xb5" => "\xd2\xb4",
 361+ "\xd2\xb7" => "\xd2\xb6",
 362+ "\xd2\xb9" => "\xd2\xb8",
 363+ "\xd2\xbb" => "\xd2\xba",
 364+ "\xd2\xbd" => "\xd2\xbc",
 365+ "\xd2\xbf" => "\xd2\xbe",
 366+ "\xd3\x82" => "\xd3\x81",
 367+ "\xd3\x84" => "\xd3\x83",
 368+ "\xd3\x88" => "\xd3\x87",
 369+ "\xd3\x8c" => "\xd3\x8b",
 370+ "\xd3\x91" => "\xd3\x90",
 371+ "\xd3\x93" => "\xd3\x92",
 372+ "\xd3\x95" => "\xd3\x94",
 373+ "\xd3\x97" => "\xd3\x96",
 374+ "\xd3\x99" => "\xd3\x98",
 375+ "\xd3\x9b" => "\xd3\x9a",
 376+ "\xd3\x9d" => "\xd3\x9c",
 377+ "\xd3\x9f" => "\xd3\x9e",
 378+ "\xd3\xa1" => "\xd3\xa0",
 379+ "\xd3\xa3" => "\xd3\xa2",
 380+ "\xd3\xa5" => "\xd3\xa4",
 381+ "\xd3\xa7" => "\xd3\xa6",
 382+ "\xd3\xa9" => "\xd3\xa8",
 383+ "\xd3\xab" => "\xd3\xaa",
 384+ "\xd3\xad" => "\xd3\xac",
 385+ "\xd3\xaf" => "\xd3\xae",
 386+ "\xd3\xb1" => "\xd3\xb0",
 387+ "\xd3\xb3" => "\xd3\xb2",
 388+ "\xd3\xb5" => "\xd3\xb4",
 389+ "\xd3\xb9" => "\xd3\xb8",
 390+ "\xd5\xa1" => "\xd4\xb1",
 391+ "\xd5\xa2" => "\xd4\xb2",
 392+ "\xd5\xa3" => "\xd4\xb3",
 393+ "\xd5\xa4" => "\xd4\xb4",
 394+ "\xd5\xa5" => "\xd4\xb5",
 395+ "\xd5\xa6" => "\xd4\xb6",
 396+ "\xd5\xa7" => "\xd4\xb7",
 397+ "\xd5\xa8" => "\xd4\xb8",
 398+ "\xd5\xa9" => "\xd4\xb9",
 399+ "\xd5\xaa" => "\xd4\xba",
 400+ "\xd5\xab" => "\xd4\xbb",
 401+ "\xd5\xac" => "\xd4\xbc",
 402+ "\xd5\xad" => "\xd4\xbd",
 403+ "\xd5\xae" => "\xd4\xbe",
 404+ "\xd5\xaf" => "\xd4\xbf",
 405+ "\xd5\xb0" => "\xd5\x80",
 406+ "\xd5\xb1" => "\xd5\x81",
 407+ "\xd5\xb2" => "\xd5\x82",
 408+ "\xd5\xb3" => "\xd5\x83",
 409+ "\xd5\xb4" => "\xd5\x84",
 410+ "\xd5\xb5" => "\xd5\x85",
 411+ "\xd5\xb6" => "\xd5\x86",
 412+ "\xd5\xb7" => "\xd5\x87",
 413+ "\xd5\xb8" => "\xd5\x88",
 414+ "\xd5\xb9" => "\xd5\x89",
 415+ "\xd5\xba" => "\xd5\x8a",
 416+ "\xd5\xbb" => "\xd5\x8b",
 417+ "\xd5\xbc" => "\xd5\x8c",
 418+ "\xd5\xbd" => "\xd5\x8d",
 419+ "\xd5\xbe" => "\xd5\x8e",
 420+ "\xd5\xbf" => "\xd5\x8f",
 421+ "\xd6\x80" => "\xd5\x90",
 422+ "\xd6\x81" => "\xd5\x91",
 423+ "\xd6\x82" => "\xd5\x92",
 424+ "\xd6\x83" => "\xd5\x93",
 425+ "\xd6\x84" => "\xd5\x94",
 426+ "\xd6\x85" => "\xd5\x95",
 427+ "\xd6\x86" => "\xd5\x96",
 428+ "\xe1\xb8\x81" => "\xe1\xb8\x80",
 429+ "\xe1\xb8\x83" => "\xe1\xb8\x82",
 430+ "\xe1\xb8\x85" => "\xe1\xb8\x84",
 431+ "\xe1\xb8\x87" => "\xe1\xb8\x86",
 432+ "\xe1\xb8\x89" => "\xe1\xb8\x88",
 433+ "\xe1\xb8\x8b" => "\xe1\xb8\x8a",
 434+ "\xe1\xb8\x8d" => "\xe1\xb8\x8c",
 435+ "\xe1\xb8\x8f" => "\xe1\xb8\x8e",
 436+ "\xe1\xb8\x91" => "\xe1\xb8\x90",
 437+ "\xe1\xb8\x93" => "\xe1\xb8\x92",
 438+ "\xe1\xb8\x95" => "\xe1\xb8\x94",
 439+ "\xe1\xb8\x97" => "\xe1\xb8\x96",
 440+ "\xe1\xb8\x99" => "\xe1\xb8\x98",
 441+ "\xe1\xb8\x9b" => "\xe1\xb8\x9a",
 442+ "\xe1\xb8\x9d" => "\xe1\xb8\x9c",
 443+ "\xe1\xb8\x9f" => "\xe1\xb8\x9e",
 444+ "\xe1\xb8\xa1" => "\xe1\xb8\xa0",
 445+ "\xe1\xb8\xa3" => "\xe1\xb8\xa2",
 446+ "\xe1\xb8\xa5" => "\xe1\xb8\xa4",
 447+ "\xe1\xb8\xa7" => "\xe1\xb8\xa6",
 448+ "\xe1\xb8\xa9" => "\xe1\xb8\xa8",
 449+ "\xe1\xb8\xab" => "\xe1\xb8\xaa",
 450+ "\xe1\xb8\xad" => "\xe1\xb8\xac",
 451+ "\xe1\xb8\xaf" => "\xe1\xb8\xae",
 452+ "\xe1\xb8\xb1" => "\xe1\xb8\xb0",
 453+ "\xe1\xb8\xb3" => "\xe1\xb8\xb2",
 454+ "\xe1\xb8\xb5" => "\xe1\xb8\xb4",
 455+ "\xe1\xb8\xb7" => "\xe1\xb8\xb6",
 456+ "\xe1\xb8\xb9" => "\xe1\xb8\xb8",
 457+ "\xe1\xb8\xbb" => "\xe1\xb8\xba",
 458+ "\xe1\xb8\xbd" => "\xe1\xb8\xbc",
 459+ "\xe1\xb8\xbf" => "\xe1\xb8\xbe",
 460+ "\xe1\xb9\x81" => "\xe1\xb9\x80",
 461+ "\xe1\xb9\x83" => "\xe1\xb9\x82",
 462+ "\xe1\xb9\x85" => "\xe1\xb9\x84",
 463+ "\xe1\xb9\x87" => "\xe1\xb9\x86",
 464+ "\xe1\xb9\x89" => "\xe1\xb9\x88",
 465+ "\xe1\xb9\x8b" => "\xe1\xb9\x8a",
 466+ "\xe1\xb9\x8d" => "\xe1\xb9\x8c",
 467+ "\xe1\xb9\x8f" => "\xe1\xb9\x8e",
 468+ "\xe1\xb9\x91" => "\xe1\xb9\x90",
 469+ "\xe1\xb9\x93" => "\xe1\xb9\x92",
 470+ "\xe1\xb9\x95" => "\xe1\xb9\x94",
 471+ "\xe1\xb9\x97" => "\xe1\xb9\x96",
 472+ "\xe1\xb9\x99" => "\xe1\xb9\x98",
 473+ "\xe1\xb9\x9b" => "\xe1\xb9\x9a",
 474+ "\xe1\xb9\x9d" => "\xe1\xb9\x9c",
 475+ "\xe1\xb9\x9f" => "\xe1\xb9\x9e",
 476+ "\xe1\xb9\xa1" => "\xe1\xb9\xa0",
 477+ "\xe1\xb9\xa3" => "\xe1\xb9\xa2",
 478+ "\xe1\xb9\xa5" => "\xe1\xb9\xa4",
 479+ "\xe1\xb9\xa7" => "\xe1\xb9\xa6",
 480+ "\xe1\xb9\xa9" => "\xe1\xb9\xa8",
 481+ "\xe1\xb9\xab" => "\xe1\xb9\xaa",
 482+ "\xe1\xb9\xad" => "\xe1\xb9\xac",
 483+ "\xe1\xb9\xaf" => "\xe1\xb9\xae",
 484+ "\xe1\xb9\xb1" => "\xe1\xb9\xb0",
 485+ "\xe1\xb9\xb3" => "\xe1\xb9\xb2",
 486+ "\xe1\xb9\xb5" => "\xe1\xb9\xb4",
 487+ "\xe1\xb9\xb7" => "\xe1\xb9\xb6",
 488+ "\xe1\xb9\xb9" => "\xe1\xb9\xb8",
 489+ "\xe1\xb9\xbb" => "\xe1\xb9\xba",
 490+ "\xe1\xb9\xbd" => "\xe1\xb9\xbc",
 491+ "\xe1\xb9\xbf" => "\xe1\xb9\xbe",
 492+ "\xe1\xba\x81" => "\xe1\xba\x80",
 493+ "\xe1\xba\x83" => "\xe1\xba\x82",
 494+ "\xe1\xba\x85" => "\xe1\xba\x84",
 495+ "\xe1\xba\x87" => "\xe1\xba\x86",
 496+ "\xe1\xba\x89" => "\xe1\xba\x88",
 497+ "\xe1\xba\x8b" => "\xe1\xba\x8a",
 498+ "\xe1\xba\x8d" => "\xe1\xba\x8c",
 499+ "\xe1\xba\x8f" => "\xe1\xba\x8e",
 500+ "\xe1\xba\x91" => "\xe1\xba\x90",
 501+ "\xe1\xba\x93" => "\xe1\xba\x92",
 502+ "\xe1\xba\x95" => "\xe1\xba\x94",
 503+ "\xe1\xba\x9b" => "\xe1\xb9\xa0",
 504+ "\xe1\xba\xa1" => "\xe1\xba\xa0",
 505+ "\xe1\xba\xa3" => "\xe1\xba\xa2",
 506+ "\xe1\xba\xa5" => "\xe1\xba\xa4",
 507+ "\xe1\xba\xa7" => "\xe1\xba\xa6",
 508+ "\xe1\xba\xa9" => "\xe1\xba\xa8",
 509+ "\xe1\xba\xab" => "\xe1\xba\xaa",
 510+ "\xe1\xba\xad" => "\xe1\xba\xac",
 511+ "\xe1\xba\xaf" => "\xe1\xba\xae",
 512+ "\xe1\xba\xb1" => "\xe1\xba\xb0",
 513+ "\xe1\xba\xb3" => "\xe1\xba\xb2",
 514+ "\xe1\xba\xb5" => "\xe1\xba\xb4",
 515+ "\xe1\xba\xb7" => "\xe1\xba\xb6",
 516+ "\xe1\xba\xb9" => "\xe1\xba\xb8",
 517+ "\xe1\xba\xbb" => "\xe1\xba\xba",
 518+ "\xe1\xba\xbd" => "\xe1\xba\xbc",
 519+ "\xe1\xba\xbf" => "\xe1\xba\xbe",
 520+ "\xe1\xbb\x81" => "\xe1\xbb\x80",
 521+ "\xe1\xbb\x83" => "\xe1\xbb\x82",
 522+ "\xe1\xbb\x85" => "\xe1\xbb\x84",
 523+ "\xe1\xbb\x87" => "\xe1\xbb\x86",
 524+ "\xe1\xbb\x89" => "\xe1\xbb\x88",
 525+ "\xe1\xbb\x8b" => "\xe1\xbb\x8a",
 526+ "\xe1\xbb\x8d" => "\xe1\xbb\x8c",
 527+ "\xe1\xbb\x8f" => "\xe1\xbb\x8e",
 528+ "\xe1\xbb\x91" => "\xe1\xbb\x90",
 529+ "\xe1\xbb\x93" => "\xe1\xbb\x92",
 530+ "\xe1\xbb\x95" => "\xe1\xbb\x94",
 531+ "\xe1\xbb\x97" => "\xe1\xbb\x96",
 532+ "\xe1\xbb\x99" => "\xe1\xbb\x98",
 533+ "\xe1\xbb\x9b" => "\xe1\xbb\x9a",
 534+ "\xe1\xbb\x9d" => "\xe1\xbb\x9c",
 535+ "\xe1\xbb\x9f" => "\xe1\xbb\x9e",
 536+ "\xe1\xbb\xa1" => "\xe1\xbb\xa0",
 537+ "\xe1\xbb\xa3" => "\xe1\xbb\xa2",
 538+ "\xe1\xbb\xa5" => "\xe1\xbb\xa4",
 539+ "\xe1\xbb\xa7" => "\xe1\xbb\xa6",
 540+ "\xe1\xbb\xa9" => "\xe1\xbb\xa8",
 541+ "\xe1\xbb\xab" => "\xe1\xbb\xaa",
 542+ "\xe1\xbb\xad" => "\xe1\xbb\xac",
 543+ "\xe1\xbb\xaf" => "\xe1\xbb\xae",
 544+ "\xe1\xbb\xb1" => "\xe1\xbb\xb0",
 545+ "\xe1\xbb\xb3" => "\xe1\xbb\xb2",
 546+ "\xe1\xbb\xb5" => "\xe1\xbb\xb4",
 547+ "\xe1\xbb\xb7" => "\xe1\xbb\xb6",
 548+ "\xe1\xbb\xb9" => "\xe1\xbb\xb8",
 549+ "\xe1\xbc\x80" => "\xe1\xbc\x88",
 550+ "\xe1\xbc\x81" => "\xe1\xbc\x89",
 551+ "\xe1\xbc\x82" => "\xe1\xbc\x8a",
 552+ "\xe1\xbc\x83" => "\xe1\xbc\x8b",
 553+ "\xe1\xbc\x84" => "\xe1\xbc\x8c",
 554+ "\xe1\xbc\x85" => "\xe1\xbc\x8d",
 555+ "\xe1\xbc\x86" => "\xe1\xbc\x8e",
 556+ "\xe1\xbc\x87" => "\xe1\xbc\x8f",
 557+ "\xe1\xbc\x90" => "\xe1\xbc\x98",
 558+ "\xe1\xbc\x91" => "\xe1\xbc\x99",
 559+ "\xe1\xbc\x92" => "\xe1\xbc\x9a",
 560+ "\xe1\xbc\x93" => "\xe1\xbc\x9b",
 561+ "\xe1\xbc\x94" => "\xe1\xbc\x9c",
 562+ "\xe1\xbc\x95" => "\xe1\xbc\x9d",
 563+ "\xe1\xbc\xa0" => "\xe1\xbc\xa8",
 564+ "\xe1\xbc\xa1" => "\xe1\xbc\xa9",
 565+ "\xe1\xbc\xa2" => "\xe1\xbc\xaa",
 566+ "\xe1\xbc\xa3" => "\xe1\xbc\xab",
 567+ "\xe1\xbc\xa4" => "\xe1\xbc\xac",
 568+ "\xe1\xbc\xa5" => "\xe1\xbc\xad",
 569+ "\xe1\xbc\xa6" => "\xe1\xbc\xae",
 570+ "\xe1\xbc\xa7" => "\xe1\xbc\xaf",
 571+ "\xe1\xbc\xb0" => "\xe1\xbc\xb8",
 572+ "\xe1\xbc\xb1" => "\xe1\xbc\xb9",
 573+ "\xe1\xbc\xb2" => "\xe1\xbc\xba",
 574+ "\xe1\xbc\xb3" => "\xe1\xbc\xbb",
 575+ "\xe1\xbc\xb4" => "\xe1\xbc\xbc",
 576+ "\xe1\xbc\xb5" => "\xe1\xbc\xbd",
 577+ "\xe1\xbc\xb6" => "\xe1\xbc\xbe",
 578+ "\xe1\xbc\xb7" => "\xe1\xbc\xbf",
 579+ "\xe1\xbd\x80" => "\xe1\xbd\x88",
 580+ "\xe1\xbd\x81" => "\xe1\xbd\x89",
 581+ "\xe1\xbd\x82" => "\xe1\xbd\x8a",
 582+ "\xe1\xbd\x83" => "\xe1\xbd\x8b",
 583+ "\xe1\xbd\x84" => "\xe1\xbd\x8c",
 584+ "\xe1\xbd\x85" => "\xe1\xbd\x8d",
 585+ "\xe1\xbd\x91" => "\xe1\xbd\x99",
 586+ "\xe1\xbd\x93" => "\xe1\xbd\x9b",
 587+ "\xe1\xbd\x95" => "\xe1\xbd\x9d",
 588+ "\xe1\xbd\x97" => "\xe1\xbd\x9f",
 589+ "\xe1\xbd\xa0" => "\xe1\xbd\xa8",
 590+ "\xe1\xbd\xa1" => "\xe1\xbd\xa9",
 591+ "\xe1\xbd\xa2" => "\xe1\xbd\xaa",
 592+ "\xe1\xbd\xa3" => "\xe1\xbd\xab",
 593+ "\xe1\xbd\xa4" => "\xe1\xbd\xac",
 594+ "\xe1\xbd\xa5" => "\xe1\xbd\xad",
 595+ "\xe1\xbd\xa6" => "\xe1\xbd\xae",
 596+ "\xe1\xbd\xa7" => "\xe1\xbd\xaf",
 597+ "\xe1\xbd\xb0" => "\xe1\xbe\xba",
 598+ "\xe1\xbd\xb1" => "\xe1\xbe\xbb",
 599+ "\xe1\xbd\xb2" => "\xe1\xbf\x88",
 600+ "\xe1\xbd\xb3" => "\xe1\xbf\x89",
 601+ "\xe1\xbd\xb4" => "\xe1\xbf\x8a",
 602+ "\xe1\xbd\xb5" => "\xe1\xbf\x8b",
 603+ "\xe1\xbd\xb6" => "\xe1\xbf\x9a",
 604+ "\xe1\xbd\xb7" => "\xe1\xbf\x9b",
 605+ "\xe1\xbd\xb8" => "\xe1\xbf\xb8",
 606+ "\xe1\xbd\xb9" => "\xe1\xbf\xb9",
 607+ "\xe1\xbd\xba" => "\xe1\xbf\xaa",
 608+ "\xe1\xbd\xbb" => "\xe1\xbf\xab",
 609+ "\xe1\xbd\xbc" => "\xe1\xbf\xba",
 610+ "\xe1\xbd\xbd" => "\xe1\xbf\xbb",
 611+ "\xe1\xbe\x80" => "\xe1\xbe\x88",
 612+ "\xe1\xbe\x81" => "\xe1\xbe\x89",
 613+ "\xe1\xbe\x82" => "\xe1\xbe\x8a",
 614+ "\xe1\xbe\x83" => "\xe1\xbe\x8b",
 615+ "\xe1\xbe\x84" => "\xe1\xbe\x8c",
 616+ "\xe1\xbe\x85" => "\xe1\xbe\x8d",
 617+ "\xe1\xbe\x86" => "\xe1\xbe\x8e",
 618+ "\xe1\xbe\x87" => "\xe1\xbe\x8f",
 619+ "\xe1\xbe\x90" => "\xe1\xbe\x98",
 620+ "\xe1\xbe\x91" => "\xe1\xbe\x99",
 621+ "\xe1\xbe\x92" => "\xe1\xbe\x9a",
 622+ "\xe1\xbe\x93" => "\xe1\xbe\x9b",
 623+ "\xe1\xbe\x94" => "\xe1\xbe\x9c",
 624+ "\xe1\xbe\x95" => "\xe1\xbe\x9d",
 625+ "\xe1\xbe\x96" => "\xe1\xbe\x9e",
 626+ "\xe1\xbe\x97" => "\xe1\xbe\x9f",
 627+ "\xe1\xbe\xa0" => "\xe1\xbe\xa8",
 628+ "\xe1\xbe\xa1" => "\xe1\xbe\xa9",
 629+ "\xe1\xbe\xa2" => "\xe1\xbe\xaa",
 630+ "\xe1\xbe\xa3" => "\xe1\xbe\xab",
 631+ "\xe1\xbe\xa4" => "\xe1\xbe\xac",
 632+ "\xe1\xbe\xa5" => "\xe1\xbe\xad",
 633+ "\xe1\xbe\xa6" => "\xe1\xbe\xae",
 634+ "\xe1\xbe\xa7" => "\xe1\xbe\xaf",
 635+ "\xe1\xbe\xb0" => "\xe1\xbe\xb8",
 636+ "\xe1\xbe\xb1" => "\xe1\xbe\xb9",
 637+ "\xe1\xbe\xb3" => "\xe1\xbe\xbc",
 638+ "\xe1\xbe\xbe" => "\xce\x99",
 639+ "\xe1\xbf\x83" => "\xe1\xbf\x8c",
 640+ "\xe1\xbf\x90" => "\xe1\xbf\x98",
 641+ "\xe1\xbf\x91" => "\xe1\xbf\x99",
 642+ "\xe1\xbf\xa0" => "\xe1\xbf\xa8",
 643+ "\xe1\xbf\xa1" => "\xe1\xbf\xa9",
 644+ "\xe1\xbf\xa5" => "\xe1\xbf\xac",
 645+ "\xe1\xbf\xb3" => "\xe1\xbf\xbc",
 646+ "\xe2\x85\xb0" => "\xe2\x85\xa0",
 647+ "\xe2\x85\xb1" => "\xe2\x85\xa1",
 648+ "\xe2\x85\xb2" => "\xe2\x85\xa2",
 649+ "\xe2\x85\xb3" => "\xe2\x85\xa3",
 650+ "\xe2\x85\xb4" => "\xe2\x85\xa4",
 651+ "\xe2\x85\xb5" => "\xe2\x85\xa5",
 652+ "\xe2\x85\xb6" => "\xe2\x85\xa6",
 653+ "\xe2\x85\xb7" => "\xe2\x85\xa7",
 654+ "\xe2\x85\xb8" => "\xe2\x85\xa8",
 655+ "\xe2\x85\xb9" => "\xe2\x85\xa9",
 656+ "\xe2\x85\xba" => "\xe2\x85\xaa",
 657+ "\xe2\x85\xbb" => "\xe2\x85\xab",
 658+ "\xe2\x85\xbc" => "\xe2\x85\xac",
 659+ "\xe2\x85\xbd" => "\xe2\x85\xad",
 660+ "\xe2\x85\xbe" => "\xe2\x85\xae",
 661+ "\xe2\x85\xbf" => "\xe2\x85\xaf",
 662+ "\xe2\x93\x90" => "\xe2\x92\xb6",
 663+ "\xe2\x93\x91" => "\xe2\x92\xb7",
 664+ "\xe2\x93\x92" => "\xe2\x92\xb8",
 665+ "\xe2\x93\x93" => "\xe2\x92\xb9",
 666+ "\xe2\x93\x94" => "\xe2\x92\xba",
 667+ "\xe2\x93\x95" => "\xe2\x92\xbb",
 668+ "\xe2\x93\x96" => "\xe2\x92\xbc",
 669+ "\xe2\x93\x97" => "\xe2\x92\xbd",
 670+ "\xe2\x93\x98" => "\xe2\x92\xbe",
 671+ "\xe2\x93\x99" => "\xe2\x92\xbf",
 672+ "\xe2\x93\x9a" => "\xe2\x93\x80",
 673+ "\xe2\x93\x9b" => "\xe2\x93\x81",
 674+ "\xe2\x93\x9c" => "\xe2\x93\x82",
 675+ "\xe2\x93\x9d" => "\xe2\x93\x83",
 676+ "\xe2\x93\x9e" => "\xe2\x93\x84",
 677+ "\xe2\x93\x9f" => "\xe2\x93\x85",
 678+ "\xe2\x93\xa0" => "\xe2\x93\x86",
 679+ "\xe2\x93\xa1" => "\xe2\x93\x87",
 680+ "\xe2\x93\xa2" => "\xe2\x93\x88",
 681+ "\xe2\x93\xa3" => "\xe2\x93\x89",
 682+ "\xe2\x93\xa4" => "\xe2\x93\x8a",
 683+ "\xe2\x93\xa5" => "\xe2\x93\x8b",
 684+ "\xe2\x93\xa6" => "\xe2\x93\x8c",
 685+ "\xe2\x93\xa7" => "\xe2\x93\x8d",
 686+ "\xe2\x93\xa8" => "\xe2\x93\x8e",
 687+ "\xe2\x93\xa9" => "\xe2\x93\x8f",
 688+ "\xef\xbd\x81" => "\xef\xbc\xa1",
 689+ "\xef\xbd\x82" => "\xef\xbc\xa2",
 690+ "\xef\xbd\x83" => "\xef\xbc\xa3",
 691+ "\xef\xbd\x84" => "\xef\xbc\xa4",
 692+ "\xef\xbd\x85" => "\xef\xbc\xa5",
 693+ "\xef\xbd\x86" => "\xef\xbc\xa6",
 694+ "\xef\xbd\x87" => "\xef\xbc\xa7",
 695+ "\xef\xbd\x88" => "\xef\xbc\xa8",
 696+ "\xef\xbd\x89" => "\xef\xbc\xa9",
 697+ "\xef\xbd\x8a" => "\xef\xbc\xaa",
 698+ "\xef\xbd\x8b" => "\xef\xbc\xab",
 699+ "\xef\xbd\x8c" => "\xef\xbc\xac",
 700+ "\xef\xbd\x8d" => "\xef\xbc\xad",
 701+ "\xef\xbd\x8e" => "\xef\xbc\xae",
 702+ "\xef\xbd\x8f" => "\xef\xbc\xaf",
 703+ "\xef\xbd\x90" => "\xef\xbc\xb0",
 704+ "\xef\xbd\x91" => "\xef\xbc\xb1",
 705+ "\xef\xbd\x92" => "\xef\xbc\xb2",
 706+ "\xef\xbd\x93" => "\xef\xbc\xb3",
 707+ "\xef\xbd\x94" => "\xef\xbc\xb4",
 708+ "\xef\xbd\x95" => "\xef\xbc\xb5",
 709+ "\xef\xbd\x96" => "\xef\xbc\xb6",
 710+ "\xef\xbd\x97" => "\xef\xbc\xb7",
 711+ "\xef\xbd\x98" => "\xef\xbc\xb8",
 712+ "\xef\xbd\x99" => "\xef\xbc\xb9",
 713+ "\xef\xbd\x9a" => "\xef\xbc\xba",
 714+ "\xf0\x90\x90\xa8" => "\xf0\x90\x90\x80",
 715+ "\xf0\x90\x90\xa9" => "\xf0\x90\x90\x81",
 716+ "\xf0\x90\x90\xaa" => "\xf0\x90\x90\x82",
 717+ "\xf0\x90\x90\xab" => "\xf0\x90\x90\x83",
 718+ "\xf0\x90\x90\xac" => "\xf0\x90\x90\x84",
 719+ "\xf0\x90\x90\xad" => "\xf0\x90\x90\x85",
 720+ "\xf0\x90\x90\xae" => "\xf0\x90\x90\x86",
 721+ "\xf0\x90\x90\xaf" => "\xf0\x90\x90\x87",
 722+ "\xf0\x90\x90\xb0" => "\xf0\x90\x90\x88",
 723+ "\xf0\x90\x90\xb1" => "\xf0\x90\x90\x89",
 724+ "\xf0\x90\x90\xb2" => "\xf0\x90\x90\x8a",
 725+ "\xf0\x90\x90\xb3" => "\xf0\x90\x90\x8b",
 726+ "\xf0\x90\x90\xb4" => "\xf0\x90\x90\x8c",
 727+ "\xf0\x90\x90\xb5" => "\xf0\x90\x90\x8d",
 728+ "\xf0\x90\x90\xb6" => "\xf0\x90\x90\x8e",
 729+ "\xf0\x90\x90\xb7" => "\xf0\x90\x90\x8f",
 730+ "\xf0\x90\x90\xb8" => "\xf0\x90\x90\x90",
 731+ "\xf0\x90\x90\xb9" => "\xf0\x90\x90\x91",
 732+ "\xf0\x90\x90\xba" => "\xf0\x90\x90\x92",
 733+ "\xf0\x90\x90\xbb" => "\xf0\x90\x90\x93",
 734+ "\xf0\x90\x90\xbc" => "\xf0\x90\x90\x94",
 735+ "\xf0\x90\x90\xbd" => "\xf0\x90\x90\x95",
 736+ "\xf0\x90\x90\xbe" => "\xf0\x90\x90\x96",
 737+ "\xf0\x90\x90\xbf" => "\xf0\x90\x90\x97",
 738+ "\xf0\x90\x91\x80" => "\xf0\x90\x90\x98",
 739+ "\xf0\x90\x91\x81" => "\xf0\x90\x90\x99",
 740+ "\xf0\x90\x91\x82" => "\xf0\x90\x90\x9a",
 741+ "\xf0\x90\x91\x83" => "\xf0\x90\x90\x9b",
 742+ "\xf0\x90\x91\x84" => "\xf0\x90\x90\x9c",
 743+ "\xf0\x90\x91\x85" => "\xf0\x90\x90\x9d",
 744+ "\xf0\x90\x91\x86" => "\xf0\x90\x90\x9e",
 745+ "\xf0\x90\x91\x87" => "\xf0\x90\x90\x9f",
 746+ "\xf0\x90\x91\x88" => "\xf0\x90\x90\xa0",
 747+ "\xf0\x90\x91\x89" => "\xf0\x90\x90\xa1",
 748+ "\xf0\x90\x91\x8a" => "\xf0\x90\x90\xa2",
 749+ "\xf0\x90\x91\x8b" => "\xf0\x90\x90\xa3",
 750+ "\xf0\x90\x91\x8c" => "\xf0\x90\x90\xa4",
 751+ "\xf0\x90\x91\x8d" => "\xf0\x90\x90\xa5"
 752+);
 753+
 754+$wikiLowerChars = array (
 755+ "A" => "a",
 756+ "B" => "b",
 757+ "C" => "c",
 758+ "D" => "d",
 759+ "E" => "e",
 760+ "F" => "f",
 761+ "G" => "g",
 762+ "H" => "h",
 763+ "I" => "i",
 764+ "J" => "j",
 765+ "K" => "k",
 766+ "L" => "l",
 767+ "M" => "m",
 768+ "N" => "n",
 769+ "O" => "o",
 770+ "P" => "p",
 771+ "Q" => "q",
 772+ "R" => "r",
 773+ "S" => "s",
 774+ "T" => "t",
 775+ "U" => "u",
 776+ "V" => "v",
 777+ "W" => "w",
 778+ "X" => "x",
 779+ "Y" => "y",
 780+ "Z" => "z",
 781+ "\xc3\x80" => "\xc3\xa0",
 782+ "\xc3\x81" => "\xc3\xa1",
 783+ "\xc3\x82" => "\xc3\xa2",
 784+ "\xc3\x83" => "\xc3\xa3",
 785+ "\xc3\x84" => "\xc3\xa4",
 786+ "\xc3\x85" => "\xc3\xa5",
 787+ "\xc3\x86" => "\xc3\xa6",
 788+ "\xc3\x87" => "\xc3\xa7",
 789+ "\xc3\x88" => "\xc3\xa8",
 790+ "\xc3\x89" => "\xc3\xa9",
 791+ "\xc3\x8a" => "\xc3\xaa",
 792+ "\xc3\x8b" => "\xc3\xab",
 793+ "\xc3\x8c" => "\xc3\xac",
 794+ "\xc3\x8d" => "\xc3\xad",
 795+ "\xc3\x8e" => "\xc3\xae",
 796+ "\xc3\x8f" => "\xc3\xaf",
 797+ "\xc3\x90" => "\xc3\xb0",
 798+ "\xc3\x91" => "\xc3\xb1",
 799+ "\xc3\x92" => "\xc3\xb2",
 800+ "\xc3\x93" => "\xc3\xb3",
 801+ "\xc3\x94" => "\xc3\xb4",
 802+ "\xc3\x95" => "\xc3\xb5",
 803+ "\xc3\x96" => "\xc3\xb6",
 804+ "\xc3\x98" => "\xc3\xb8",
 805+ "\xc3\x99" => "\xc3\xb9",
 806+ "\xc3\x9a" => "\xc3\xba",
 807+ "\xc3\x9b" => "\xc3\xbb",
 808+ "\xc3\x9c" => "\xc3\xbc",
 809+ "\xc3\x9d" => "\xc3\xbd",
 810+ "\xc3\x9e" => "\xc3\xbe",
 811+ "\xc4\x80" => "\xc4\x81",
 812+ "\xc4\x82" => "\xc4\x83",
 813+ "\xc4\x84" => "\xc4\x85",
 814+ "\xc4\x86" => "\xc4\x87",
 815+ "\xc4\x88" => "\xc4\x89",
 816+ "\xc4\x8a" => "\xc4\x8b",
 817+ "\xc4\x8c" => "\xc4\x8d",
 818+ "\xc4\x8e" => "\xc4\x8f",
 819+ "\xc4\x90" => "\xc4\x91",
 820+ "\xc4\x92" => "\xc4\x93",
 821+ "\xc4\x94" => "\xc4\x95",
 822+ "\xc4\x96" => "\xc4\x97",
 823+ "\xc4\x98" => "\xc4\x99",
 824+ "\xc4\x9a" => "\xc4\x9b",
 825+ "\xc4\x9c" => "\xc4\x9d",
 826+ "\xc4\x9e" => "\xc4\x9f",
 827+ "\xc4\xa0" => "\xc4\xa1",
 828+ "\xc4\xa2" => "\xc4\xa3",
 829+ "\xc4\xa4" => "\xc4\xa5",
 830+ "\xc4\xa6" => "\xc4\xa7",
 831+ "\xc4\xa8" => "\xc4\xa9",
 832+ "\xc4\xaa" => "\xc4\xab",
 833+ "\xc4\xac" => "\xc4\xad",
 834+ "\xc4\xae" => "\xc4\xaf",
 835+ "\xc4\xb0" => "i",
 836+ "\xc4\xb2" => "\xc4\xb3",
 837+ "\xc4\xb4" => "\xc4\xb5",
 838+ "\xc4\xb6" => "\xc4\xb7",
 839+ "\xc4\xb9" => "\xc4\xba",
 840+ "\xc4\xbb" => "\xc4\xbc",
 841+ "\xc4\xbd" => "\xc4\xbe",
 842+ "\xc4\xbf" => "\xc5\x80",
 843+ "\xc5\x81" => "\xc5\x82",
 844+ "\xc5\x83" => "\xc5\x84",
 845+ "\xc5\x85" => "\xc5\x86",
 846+ "\xc5\x87" => "\xc5\x88",
 847+ "\xc5\x8a" => "\xc5\x8b",
 848+ "\xc5\x8c" => "\xc5\x8d",
 849+ "\xc5\x8e" => "\xc5\x8f",
 850+ "\xc5\x90" => "\xc5\x91",
 851+ "\xc5\x92" => "\xc5\x93",
 852+ "\xc5\x94" => "\xc5\x95",
 853+ "\xc5\x96" => "\xc5\x97",
 854+ "\xc5\x98" => "\xc5\x99",
 855+ "\xc5\x9a" => "\xc5\x9b",
 856+ "\xc5\x9c" => "\xc5\x9d",
 857+ "\xc5\x9e" => "\xc5\x9f",
 858+ "\xc5\xa0" => "\xc5\xa1",
 859+ "\xc5\xa2" => "\xc5\xa3",
 860+ "\xc5\xa4" => "\xc5\xa5",
 861+ "\xc5\xa6" => "\xc5\xa7",
 862+ "\xc5\xa8" => "\xc5\xa9",
 863+ "\xc5\xaa" => "\xc5\xab",
 864+ "\xc5\xac" => "\xc5\xad",
 865+ "\xc5\xae" => "\xc5\xaf",
 866+ "\xc5\xb0" => "\xc5\xb1",
 867+ "\xc5\xb2" => "\xc5\xb3",
 868+ "\xc5\xb4" => "\xc5\xb5",
 869+ "\xc5\xb6" => "\xc5\xb7",
 870+ "\xc5\xb8" => "\xc3\xbf",
 871+ "\xc5\xb9" => "\xc5\xba",
 872+ "\xc5\xbb" => "\xc5\xbc",
 873+ "\xc5\xbd" => "\xc5\xbe",
 874+ "\xc6\x81" => "\xc9\x93",
 875+ "\xc6\x82" => "\xc6\x83",
 876+ "\xc6\x84" => "\xc6\x85",
 877+ "\xc6\x86" => "\xc9\x94",
 878+ "\xc6\x87" => "\xc6\x88",
 879+ "\xc6\x89" => "\xc9\x96",
 880+ "\xc6\x8a" => "\xc9\x97",
 881+ "\xc6\x8b" => "\xc6\x8c",
 882+ "\xc6\x8e" => "\xc7\x9d",
 883+ "\xc6\x8f" => "\xc9\x99",
 884+ "\xc6\x90" => "\xc9\x9b",
 885+ "\xc6\x91" => "\xc6\x92",
 886+ "\xc6\x93" => "\xc9\xa0",
 887+ "\xc6\x94" => "\xc9\xa3",
 888+ "\xc6\x96" => "\xc9\xa9",
 889+ "\xc6\x97" => "\xc9\xa8",
 890+ "\xc6\x98" => "\xc6\x99",
 891+ "\xc6\x9c" => "\xc9\xaf",
 892+ "\xc6\x9d" => "\xc9\xb2",
 893+ "\xc6\x9f" => "\xc9\xb5",
 894+ "\xc6\xa0" => "\xc6\xa1",
 895+ "\xc6\xa2" => "\xc6\xa3",
 896+ "\xc6\xa4" => "\xc6\xa5",
 897+ "\xc6\xa6" => "\xca\x80",
 898+ "\xc6\xa7" => "\xc6\xa8",
 899+ "\xc6\xa9" => "\xca\x83",
 900+ "\xc6\xac" => "\xc6\xad",
 901+ "\xc6\xae" => "\xca\x88",
 902+ "\xc6\xaf" => "\xc6\xb0",
 903+ "\xc6\xb1" => "\xca\x8a",
 904+ "\xc6\xb2" => "\xca\x8b",
 905+ "\xc6\xb3" => "\xc6\xb4",
 906+ "\xc6\xb5" => "\xc6\xb6",
 907+ "\xc6\xb7" => "\xca\x92",
 908+ "\xc6\xb8" => "\xc6\xb9",
 909+ "\xc6\xbc" => "\xc6\xbd",
 910+ "\xc7\x84" => "\xc7\x86",
 911+ "\xc7\x85" => "\xc7\x86",
 912+ "\xc7\x87" => "\xc7\x89",
 913+ "\xc7\x88" => "\xc7\x89",
 914+ "\xc7\x8a" => "\xc7\x8c",
 915+ "\xc7\x8b" => "\xc7\x8c",
 916+ "\xc7\x8d" => "\xc7\x8e",
 917+ "\xc7\x8f" => "\xc7\x90",
 918+ "\xc7\x91" => "\xc7\x92",
 919+ "\xc7\x93" => "\xc7\x94",
 920+ "\xc7\x95" => "\xc7\x96",
 921+ "\xc7\x97" => "\xc7\x98",
 922+ "\xc7\x99" => "\xc7\x9a",
 923+ "\xc7\x9b" => "\xc7\x9c",
 924+ "\xc7\x9e" => "\xc7\x9f",
 925+ "\xc7\xa0" => "\xc7\xa1",
 926+ "\xc7\xa2" => "\xc7\xa3",
 927+ "\xc7\xa4" => "\xc7\xa5",
 928+ "\xc7\xa6" => "\xc7\xa7",
 929+ "\xc7\xa8" => "\xc7\xa9",
 930+ "\xc7\xaa" => "\xc7\xab",
 931+ "\xc7\xac" => "\xc7\xad",
 932+ "\xc7\xae" => "\xc7\xaf",
 933+ "\xc7\xb1" => "\xc7\xb3",
 934+ "\xc7\xb2" => "\xc7\xb3",
 935+ "\xc7\xb4" => "\xc7\xb5",
 936+ "\xc7\xb6" => "\xc6\x95",
 937+ "\xc7\xb7" => "\xc6\xbf",
 938+ "\xc7\xb8" => "\xc7\xb9",
 939+ "\xc7\xba" => "\xc7\xbb",
 940+ "\xc7\xbc" => "\xc7\xbd",
 941+ "\xc7\xbe" => "\xc7\xbf",
 942+ "\xc8\x80" => "\xc8\x81",
 943+ "\xc8\x82" => "\xc8\x83",
 944+ "\xc8\x84" => "\xc8\x85",
 945+ "\xc8\x86" => "\xc8\x87",
 946+ "\xc8\x88" => "\xc8\x89",
 947+ "\xc8\x8a" => "\xc8\x8b",
 948+ "\xc8\x8c" => "\xc8\x8d",
 949+ "\xc8\x8e" => "\xc8\x8f",
 950+ "\xc8\x90" => "\xc8\x91",
 951+ "\xc8\x92" => "\xc8\x93",
 952+ "\xc8\x94" => "\xc8\x95",
 953+ "\xc8\x96" => "\xc8\x97",
 954+ "\xc8\x98" => "\xc8\x99",
 955+ "\xc8\x9a" => "\xc8\x9b",
 956+ "\xc8\x9c" => "\xc8\x9d",
 957+ "\xc8\x9e" => "\xc8\x9f",
 958+ "\xc8\xa2" => "\xc8\xa3",
 959+ "\xc8\xa4" => "\xc8\xa5",
 960+ "\xc8\xa6" => "\xc8\xa7",
 961+ "\xc8\xa8" => "\xc8\xa9",
 962+ "\xc8\xaa" => "\xc8\xab",
 963+ "\xc8\xac" => "\xc8\xad",
 964+ "\xc8\xae" => "\xc8\xaf",
 965+ "\xc8\xb0" => "\xc8\xb1",
 966+ "\xc8\xb2" => "\xc8\xb3",
 967+ "\xce\x86" => "\xce\xac",
 968+ "\xce\x88" => "\xce\xad",
 969+ "\xce\x89" => "\xce\xae",
 970+ "\xce\x8a" => "\xce\xaf",
 971+ "\xce\x8c" => "\xcf\x8c",
 972+ "\xce\x8e" => "\xcf\x8d",
 973+ "\xce\x8f" => "\xcf\x8e",
 974+ "\xce\x91" => "\xce\xb1",
 975+ "\xce\x92" => "\xce\xb2",
 976+ "\xce\x93" => "\xce\xb3",
 977+ "\xce\x94" => "\xce\xb4",
 978+ "\xce\x95" => "\xce\xb5",
 979+ "\xce\x96" => "\xce\xb6",
 980+ "\xce\x97" => "\xce\xb7",
 981+ "\xce\x98" => "\xce\xb8",
 982+ "\xce\x99" => "\xce\xb9",
 983+ "\xce\x9a" => "\xce\xba",
 984+ "\xce\x9b" => "\xce\xbb",
 985+ "\xce\x9c" => "\xce\xbc",
 986+ "\xce\x9d" => "\xce\xbd",
 987+ "\xce\x9e" => "\xce\xbe",
 988+ "\xce\x9f" => "\xce\xbf",
 989+ "\xce\xa0" => "\xcf\x80",
 990+ "\xce\xa1" => "\xcf\x81",
 991+ "\xce\xa3" => "\xcf\x83",
 992+ "\xce\xa4" => "\xcf\x84",
 993+ "\xce\xa5" => "\xcf\x85",
 994+ "\xce\xa6" => "\xcf\x86",
 995+ "\xce\xa7" => "\xcf\x87",
 996+ "\xce\xa8" => "\xcf\x88",
 997+ "\xce\xa9" => "\xcf\x89",
 998+ "\xce\xaa" => "\xcf\x8a",
 999+ "\xce\xab" => "\xcf\x8b",
 1000+ "\xcf\x9a" => "\xcf\x9b",
 1001+ "\xcf\x9c" => "\xcf\x9d",
 1002+ "\xcf\x9e" => "\xcf\x9f",
 1003+ "\xcf\xa0" => "\xcf\xa1",
 1004+ "\xcf\xa2" => "\xcf\xa3",
 1005+ "\xcf\xa4" => "\xcf\xa5",
 1006+ "\xcf\xa6" => "\xcf\xa7",
 1007+ "\xcf\xa8" => "\xcf\xa9",
 1008+ "\xcf\xaa" => "\xcf\xab",
 1009+ "\xcf\xac" => "\xcf\xad",
 1010+ "\xcf\xae" => "\xcf\xaf",
 1011+ "\xcf\xb4" => "\xce\xb8",
 1012+ "\xd0\x80" => "\xd1\x90",
 1013+ "\xd0\x81" => "\xd1\x91",
 1014+ "\xd0\x82" => "\xd1\x92",
 1015+ "\xd0\x83" => "\xd1\x93",
 1016+ "\xd0\x84" => "\xd1\x94",
 1017+ "\xd0\x85" => "\xd1\x95",
 1018+ "\xd0\x86" => "\xd1\x96",
 1019+ "\xd0\x87" => "\xd1\x97",
 1020+ "\xd0\x88" => "\xd1\x98",
 1021+ "\xd0\x89" => "\xd1\x99",
 1022+ "\xd0\x8a" => "\xd1\x9a",
 1023+ "\xd0\x8b" => "\xd1\x9b",
 1024+ "\xd0\x8c" => "\xd1\x9c",
 1025+ "\xd0\x8d" => "\xd1\x9d",
 1026+ "\xd0\x8e" => "\xd1\x9e",
 1027+ "\xd0\x8f" => "\xd1\x9f",
 1028+ "\xd0\x90" => "\xd0\xb0",
 1029+ "\xd0\x91" => "\xd0\xb1",
 1030+ "\xd0\x92" => "\xd0\xb2",
 1031+ "\xd0\x93" => "\xd0\xb3",
 1032+ "\xd0\x94" => "\xd0\xb4",
 1033+ "\xd0\x95" => "\xd0\xb5",
 1034+ "\xd0\x96" => "\xd0\xb6",
 1035+ "\xd0\x97" => "\xd0\xb7",
 1036+ "\xd0\x98" => "\xd0\xb8",
 1037+ "\xd0\x99" => "\xd0\xb9",
 1038+ "\xd0\x9a" => "\xd0\xba",
 1039+ "\xd0\x9b" => "\xd0\xbb",
 1040+ "\xd0\x9c" => "\xd0\xbc",
 1041+ "\xd0\x9d" => "\xd0\xbd",
 1042+ "\xd0\x9e" => "\xd0\xbe",
 1043+ "\xd0\x9f" => "\xd0\xbf",
 1044+ "\xd0\xa0" => "\xd1\x80",
 1045+ "\xd0\xa1" => "\xd1\x81",
 1046+ "\xd0\xa2" => "\xd1\x82",
 1047+ "\xd0\xa3" => "\xd1\x83",
 1048+ "\xd0\xa4" => "\xd1\x84",
 1049+ "\xd0\xa5" => "\xd1\x85",
 1050+ "\xd0\xa6" => "\xd1\x86",
 1051+ "\xd0\xa7" => "\xd1\x87",
 1052+ "\xd0\xa8" => "\xd1\x88",
 1053+ "\xd0\xa9" => "\xd1\x89",
 1054+ "\xd0\xaa" => "\xd1\x8a",
 1055+ "\xd0\xab" => "\xd1\x8b",
 1056+ "\xd0\xac" => "\xd1\x8c",
 1057+ "\xd0\xad" => "\xd1\x8d",
 1058+ "\xd0\xae" => "\xd1\x8e",
 1059+ "\xd0\xaf" => "\xd1\x8f",
 1060+ "\xd1\xa0" => "\xd1\xa1",
 1061+ "\xd1\xa2" => "\xd1\xa3",
 1062+ "\xd1\xa4" => "\xd1\xa5",
 1063+ "\xd1\xa6" => "\xd1\xa7",
 1064+ "\xd1\xa8" => "\xd1\xa9",
 1065+ "\xd1\xaa" => "\xd1\xab",
 1066+ "\xd1\xac" => "\xd1\xad",
 1067+ "\xd1\xae" => "\xd1\xaf",
 1068+ "\xd1\xb0" => "\xd1\xb1",
 1069+ "\xd1\xb2" => "\xd1\xb3",
 1070+ "\xd1\xb4" => "\xd1\xb5",
 1071+ "\xd1\xb6" => "\xd1\xb7",
 1072+ "\xd1\xb8" => "\xd1\xb9",
 1073+ "\xd1\xba" => "\xd1\xbb",
 1074+ "\xd1\xbc" => "\xd1\xbd",
 1075+ "\xd1\xbe" => "\xd1\xbf",
 1076+ "\xd2\x80" => "\xd2\x81",
 1077+ "\xd2\x8c" => "\xd2\x8d",
 1078+ "\xd2\x8e" => "\xd2\x8f",
 1079+ "\xd2\x90" => "\xd2\x91",
 1080+ "\xd2\x92" => "\xd2\x93",
 1081+ "\xd2\x94" => "\xd2\x95",
 1082+ "\xd2\x96" => "\xd2\x97",
 1083+ "\xd2\x98" => "\xd2\x99",
 1084+ "\xd2\x9a" => "\xd2\x9b",
 1085+ "\xd2\x9c" => "\xd2\x9d",
 1086+ "\xd2\x9e" => "\xd2\x9f",
 1087+ "\xd2\xa0" => "\xd2\xa1",
 1088+ "\xd2\xa2" => "\xd2\xa3",
 1089+ "\xd2\xa4" => "\xd2\xa5",
 1090+ "\xd2\xa6" => "\xd2\xa7",
 1091+ "\xd2\xa8" => "\xd2\xa9",
 1092+ "\xd2\xaa" => "\xd2\xab",
 1093+ "\xd2\xac" => "\xd2\xad",
 1094+ "\xd2\xae" => "\xd2\xaf",
 1095+ "\xd2\xb0" => "\xd2\xb1",
 1096+ "\xd2\xb2" => "\xd2\xb3",
 1097+ "\xd2\xb4" => "\xd2\xb5",
 1098+ "\xd2\xb6" => "\xd2\xb7",
 1099+ "\xd2\xb8" => "\xd2\xb9",
 1100+ "\xd2\xba" => "\xd2\xbb",
 1101+ "\xd2\xbc" => "\xd2\xbd",
 1102+ "\xd2\xbe" => "\xd2\xbf",
 1103+ "\xd3\x81" => "\xd3\x82",
 1104+ "\xd3\x83" => "\xd3\x84",
 1105+ "\xd3\x87" => "\xd3\x88",
 1106+ "\xd3\x8b" => "\xd3\x8c",
 1107+ "\xd3\x90" => "\xd3\x91",
 1108+ "\xd3\x92" => "\xd3\x93",
 1109+ "\xd3\x94" => "\xd3\x95",
 1110+ "\xd3\x96" => "\xd3\x97",
 1111+ "\xd3\x98" => "\xd3\x99",
 1112+ "\xd3\x9a" => "\xd3\x9b",
 1113+ "\xd3\x9c" => "\xd3\x9d",
 1114+ "\xd3\x9e" => "\xd3\x9f",
 1115+ "\xd3\xa0" => "\xd3\xa1",
 1116+ "\xd3\xa2" => "\xd3\xa3",
 1117+ "\xd3\xa4" => "\xd3\xa5",
 1118+ "\xd3\xa6" => "\xd3\xa7",
 1119+ "\xd3\xa8" => "\xd3\xa9",
 1120+ "\xd3\xaa" => "\xd3\xab",
 1121+ "\xd3\xac" => "\xd3\xad",
 1122+ "\xd3\xae" => "\xd3\xaf",
 1123+ "\xd3\xb0" => "\xd3\xb1",
 1124+ "\xd3\xb2" => "\xd3\xb3",
 1125+ "\xd3\xb4" => "\xd3\xb5",
 1126+ "\xd3\xb8" => "\xd3\xb9",
 1127+ "\xd4\xb1" => "\xd5\xa1",
 1128+ "\xd4\xb2" => "\xd5\xa2",
 1129+ "\xd4\xb3" => "\xd5\xa3",
 1130+ "\xd4\xb4" => "\xd5\xa4",
 1131+ "\xd4\xb5" => "\xd5\xa5",
 1132+ "\xd4\xb6" => "\xd5\xa6",
 1133+ "\xd4\xb7" => "\xd5\xa7",
 1134+ "\xd4\xb8" => "\xd5\xa8",
 1135+ "\xd4\xb9" => "\xd5\xa9",
 1136+ "\xd4\xba" => "\xd5\xaa",
 1137+ "\xd4\xbb" => "\xd5\xab",
 1138+ "\xd4\xbc" => "\xd5\xac",
 1139+ "\xd4\xbd" => "\xd5\xad",
 1140+ "\xd4\xbe" => "\xd5\xae",
 1141+ "\xd4\xbf" => "\xd5\xaf",
 1142+ "\xd5\x80" => "\xd5\xb0",
 1143+ "\xd5\x81" => "\xd5\xb1",
 1144+ "\xd5\x82" => "\xd5\xb2",
 1145+ "\xd5\x83" => "\xd5\xb3",
 1146+ "\xd5\x84" => "\xd5\xb4",
 1147+ "\xd5\x85" => "\xd5\xb5",
 1148+ "\xd5\x86" => "\xd5\xb6",
 1149+ "\xd5\x87" => "\xd5\xb7",
 1150+ "\xd5\x88" => "\xd5\xb8",
 1151+ "\xd5\x89" => "\xd5\xb9",
 1152+ "\xd5\x8a" => "\xd5\xba",
 1153+ "\xd5\x8b" => "\xd5\xbb",
 1154+ "\xd5\x8c" => "\xd5\xbc",
 1155+ "\xd5\x8d" => "\xd5\xbd",
 1156+ "\xd5\x8e" => "\xd5\xbe",
 1157+ "\xd5\x8f" => "\xd5\xbf",
 1158+ "\xd5\x90" => "\xd6\x80",
 1159+ "\xd5\x91" => "\xd6\x81",
 1160+ "\xd5\x92" => "\xd6\x82",
 1161+ "\xd5\x93" => "\xd6\x83",
 1162+ "\xd5\x94" => "\xd6\x84",
 1163+ "\xd5\x95" => "\xd6\x85",
 1164+ "\xd5\x96" => "\xd6\x86",
 1165+ "\xe1\xb8\x80" => "\xe1\xb8\x81",
 1166+ "\xe1\xb8\x82" => "\xe1\xb8\x83",
 1167+ "\xe1\xb8\x84" => "\xe1\xb8\x85",
 1168+ "\xe1\xb8\x86" => "\xe1\xb8\x87",
 1169+ "\xe1\xb8\x88" => "\xe1\xb8\x89",
 1170+ "\xe1\xb8\x8a" => "\xe1\xb8\x8b",
 1171+ "\xe1\xb8\x8c" => "\xe1\xb8\x8d",
 1172+ "\xe1\xb8\x8e" => "\xe1\xb8\x8f",
 1173+ "\xe1\xb8\x90" => "\xe1\xb8\x91",
 1174+ "\xe1\xb8\x92" => "\xe1\xb8\x93",
 1175+ "\xe1\xb8\x94" => "\xe1\xb8\x95",
 1176+ "\xe1\xb8\x96" => "\xe1\xb8\x97",
 1177+ "\xe1\xb8\x98" => "\xe1\xb8\x99",
 1178+ "\xe1\xb8\x9a" => "\xe1\xb8\x9b",
 1179+ "\xe1\xb8\x9c" => "\xe1\xb8\x9d",
 1180+ "\xe1\xb8\x9e" => "\xe1\xb8\x9f",
 1181+ "\xe1\xb8\xa0" => "\xe1\xb8\xa1",
 1182+ "\xe1\xb8\xa2" => "\xe1\xb8\xa3",
 1183+ "\xe1\xb8\xa4" => "\xe1\xb8\xa5",
 1184+ "\xe1\xb8\xa6" => "\xe1\xb8\xa7",
 1185+ "\xe1\xb8\xa8" => "\xe1\xb8\xa9",
 1186+ "\xe1\xb8\xaa" => "\xe1\xb8\xab",
 1187+ "\xe1\xb8\xac" => "\xe1\xb8\xad",
 1188+ "\xe1\xb8\xae" => "\xe1\xb8\xaf",
 1189+ "\xe1\xb8\xb0" => "\xe1\xb8\xb1",
 1190+ "\xe1\xb8\xb2" => "\xe1\xb8\xb3",
 1191+ "\xe1\xb8\xb4" => "\xe1\xb8\xb5",
 1192+ "\xe1\xb8\xb6" => "\xe1\xb8\xb7",
 1193+ "\xe1\xb8\xb8" => "\xe1\xb8\xb9",
 1194+ "\xe1\xb8\xba" => "\xe1\xb8\xbb",
 1195+ "\xe1\xb8\xbc" => "\xe1\xb8\xbd",
 1196+ "\xe1\xb8\xbe" => "\xe1\xb8\xbf",
 1197+ "\xe1\xb9\x80" => "\xe1\xb9\x81",
 1198+ "\xe1\xb9\x82" => "\xe1\xb9\x83",
 1199+ "\xe1\xb9\x84" => "\xe1\xb9\x85",
 1200+ "\xe1\xb9\x86" => "\xe1\xb9\x87",
 1201+ "\xe1\xb9\x88" => "\xe1\xb9\x89",
 1202+ "\xe1\xb9\x8a" => "\xe1\xb9\x8b",
 1203+ "\xe1\xb9\x8c" => "\xe1\xb9\x8d",
 1204+ "\xe1\xb9\x8e" => "\xe1\xb9\x8f",
 1205+ "\xe1\xb9\x90" => "\xe1\xb9\x91",
 1206+ "\xe1\xb9\x92" => "\xe1\xb9\x93",
 1207+ "\xe1\xb9\x94" => "\xe1\xb9\x95",
 1208+ "\xe1\xb9\x96" => "\xe1\xb9\x97",
 1209+ "\xe1\xb9\x98" => "\xe1\xb9\x99",
 1210+ "\xe1\xb9\x9a" => "\xe1\xb9\x9b",
 1211+ "\xe1\xb9\x9c" => "\xe1\xb9\x9d",
 1212+ "\xe1\xb9\x9e" => "\xe1\xb9\x9f",
 1213+ "\xe1\xb9\xa0" => "\xe1\xb9\xa1",
 1214+ "\xe1\xb9\xa2" => "\xe1\xb9\xa3",
 1215+ "\xe1\xb9\xa4" => "\xe1\xb9\xa5",
 1216+ "\xe1\xb9\xa6" => "\xe1\xb9\xa7",
 1217+ "\xe1\xb9\xa8" => "\xe1\xb9\xa9",
 1218+ "\xe1\xb9\xaa" => "\xe1\xb9\xab",
 1219+ "\xe1\xb9\xac" => "\xe1\xb9\xad",
 1220+ "\xe1\xb9\xae" => "\xe1\xb9\xaf",
 1221+ "\xe1\xb9\xb0" => "\xe1\xb9\xb1",
 1222+ "\xe1\xb9\xb2" => "\xe1\xb9\xb3",
 1223+ "\xe1\xb9\xb4" => "\xe1\xb9\xb5",
 1224+ "\xe1\xb9\xb6" => "\xe1\xb9\xb7",
 1225+ "\xe1\xb9\xb8" => "\xe1\xb9\xb9",
 1226+ "\xe1\xb9\xba" => "\xe1\xb9\xbb",
 1227+ "\xe1\xb9\xbc" => "\xe1\xb9\xbd",
 1228+ "\xe1\xb9\xbe" => "\xe1\xb9\xbf",
 1229+ "\xe1\xba\x80" => "\xe1\xba\x81",
 1230+ "\xe1\xba\x82" => "\xe1\xba\x83",
 1231+ "\xe1\xba\x84" => "\xe1\xba\x85",
 1232+ "\xe1\xba\x86" => "\xe1\xba\x87",
 1233+ "\xe1\xba\x88" => "\xe1\xba\x89",
 1234+ "\xe1\xba\x8a" => "\xe1\xba\x8b",
 1235+ "\xe1\xba\x8c" => "\xe1\xba\x8d",
 1236+ "\xe1\xba\x8e" => "\xe1\xba\x8f",
 1237+ "\xe1\xba\x90" => "\xe1\xba\x91",
 1238+ "\xe1\xba\x92" => "\xe1\xba\x93",
 1239+ "\xe1\xba\x94" => "\xe1\xba\x95",
 1240+ "\xe1\xba\xa0" => "\xe1\xba\xa1",
 1241+ "\xe1\xba\xa2" => "\xe1\xba\xa3",
 1242+ "\xe1\xba\xa4" => "\xe1\xba\xa5",
 1243+ "\xe1\xba\xa6" => "\xe1\xba\xa7",
 1244+ "\xe1\xba\xa8" => "\xe1\xba\xa9",
 1245+ "\xe1\xba\xaa" => "\xe1\xba\xab",
 1246+ "\xe1\xba\xac" => "\xe1\xba\xad",
 1247+ "\xe1\xba\xae" => "\xe1\xba\xaf",
 1248+ "\xe1\xba\xb0" => "\xe1\xba\xb1",
 1249+ "\xe1\xba\xb2" => "\xe1\xba\xb3",
 1250+ "\xe1\xba\xb4" => "\xe1\xba\xb5",
 1251+ "\xe1\xba\xb6" => "\xe1\xba\xb7",
 1252+ "\xe1\xba\xb8" => "\xe1\xba\xb9",
 1253+ "\xe1\xba\xba" => "\xe1\xba\xbb",
 1254+ "\xe1\xba\xbc" => "\xe1\xba\xbd",
 1255+ "\xe1\xba\xbe" => "\xe1\xba\xbf",
 1256+ "\xe1\xbb\x80" => "\xe1\xbb\x81",
 1257+ "\xe1\xbb\x82" => "\xe1\xbb\x83",
 1258+ "\xe1\xbb\x84" => "\xe1\xbb\x85",
 1259+ "\xe1\xbb\x86" => "\xe1\xbb\x87",
 1260+ "\xe1\xbb\x88" => "\xe1\xbb\x89",
 1261+ "\xe1\xbb\x8a" => "\xe1\xbb\x8b",
 1262+ "\xe1\xbb\x8c" => "\xe1\xbb\x8d",
 1263+ "\xe1\xbb\x8e" => "\xe1\xbb\x8f",
 1264+ "\xe1\xbb\x90" => "\xe1\xbb\x91",
 1265+ "\xe1\xbb\x92" => "\xe1\xbb\x93",
 1266+ "\xe1\xbb\x94" => "\xe1\xbb\x95",
 1267+ "\xe1\xbb\x96" => "\xe1\xbb\x97",
 1268+ "\xe1\xbb\x98" => "\xe1\xbb\x99",
 1269+ "\xe1\xbb\x9a" => "\xe1\xbb\x9b",
 1270+ "\xe1\xbb\x9c" => "\xe1\xbb\x9d",
 1271+ "\xe1\xbb\x9e" => "\xe1\xbb\x9f",
 1272+ "\xe1\xbb\xa0" => "\xe1\xbb\xa1",
 1273+ "\xe1\xbb\xa2" => "\xe1\xbb\xa3",
 1274+ "\xe1\xbb\xa4" => "\xe1\xbb\xa5",
 1275+ "\xe1\xbb\xa6" => "\xe1\xbb\xa7",
 1276+ "\xe1\xbb\xa8" => "\xe1\xbb\xa9",
 1277+ "\xe1\xbb\xaa" => "\xe1\xbb\xab",
 1278+ "\xe1\xbb\xac" => "\xe1\xbb\xad",
 1279+ "\xe1\xbb\xae" => "\xe1\xbb\xaf",
 1280+ "\xe1\xbb\xb0" => "\xe1\xbb\xb1",
 1281+ "\xe1\xbb\xb2" => "\xe1\xbb\xb3",
 1282+ "\xe1\xbb\xb4" => "\xe1\xbb\xb5",
 1283+ "\xe1\xbb\xb6" => "\xe1\xbb\xb7",
 1284+ "\xe1\xbb\xb8" => "\xe1\xbb\xb9",
 1285+ "\xe1\xbc\x88" => "\xe1\xbc\x80",
 1286+ "\xe1\xbc\x89" => "\xe1\xbc\x81",
 1287+ "\xe1\xbc\x8a" => "\xe1\xbc\x82",
 1288+ "\xe1\xbc\x8b" => "\xe1\xbc\x83",
 1289+ "\xe1\xbc\x8c" => "\xe1\xbc\x84",
 1290+ "\xe1\xbc\x8d" => "\xe1\xbc\x85",
 1291+ "\xe1\xbc\x8e" => "\xe1\xbc\x86",
 1292+ "\xe1\xbc\x8f" => "\xe1\xbc\x87",
 1293+ "\xe1\xbc\x98" => "\xe1\xbc\x90",
 1294+ "\xe1\xbc\x99" => "\xe1\xbc\x91",
 1295+ "\xe1\xbc\x9a" => "\xe1\xbc\x92",
 1296+ "\xe1\xbc\x9b" => "\xe1\xbc\x93",
 1297+ "\xe1\xbc\x9c" => "\xe1\xbc\x94",
 1298+ "\xe1\xbc\x9d" => "\xe1\xbc\x95",
 1299+ "\xe1\xbc\xa8" => "\xe1\xbc\xa0",
 1300+ "\xe1\xbc\xa9" => "\xe1\xbc\xa1",
 1301+ "\xe1\xbc\xaa" => "\xe1\xbc\xa2",
 1302+ "\xe1\xbc\xab" => "\xe1\xbc\xa3",
 1303+ "\xe1\xbc\xac" => "\xe1\xbc\xa4",
 1304+ "\xe1\xbc\xad" => "\xe1\xbc\xa5",
 1305+ "\xe1\xbc\xae" => "\xe1\xbc\xa6",
 1306+ "\xe1\xbc\xaf" => "\xe1\xbc\xa7",
 1307+ "\xe1\xbc\xb8" => "\xe1\xbc\xb0",
 1308+ "\xe1\xbc\xb9" => "\xe1\xbc\xb1",
 1309+ "\xe1\xbc\xba" => "\xe1\xbc\xb2",
 1310+ "\xe1\xbc\xbb" => "\xe1\xbc\xb3",
 1311+ "\xe1\xbc\xbc" => "\xe1\xbc\xb4",
 1312+ "\xe1\xbc\xbd" => "\xe1\xbc\xb5",
 1313+ "\xe1\xbc\xbe" => "\xe1\xbc\xb6",
 1314+ "\xe1\xbc\xbf" => "\xe1\xbc\xb7",
 1315+ "\xe1\xbd\x88" => "\xe1\xbd\x80",
 1316+ "\xe1\xbd\x89" => "\xe1\xbd\x81",
 1317+ "\xe1\xbd\x8a" => "\xe1\xbd\x82",
 1318+ "\xe1\xbd\x8b" => "\xe1\xbd\x83",
 1319+ "\xe1\xbd\x8c" => "\xe1\xbd\x84",
 1320+ "\xe1\xbd\x8d" => "\xe1\xbd\x85",
 1321+ "\xe1\xbd\x99" => "\xe1\xbd\x91",
 1322+ "\xe1\xbd\x9b" => "\xe1\xbd\x93",
 1323+ "\xe1\xbd\x9d" => "\xe1\xbd\x95",
 1324+ "\xe1\xbd\x9f" => "\xe1\xbd\x97",
 1325+ "\xe1\xbd\xa8" => "\xe1\xbd\xa0",
 1326+ "\xe1\xbd\xa9" => "\xe1\xbd\xa1",
 1327+ "\xe1\xbd\xaa" => "\xe1\xbd\xa2",
 1328+ "\xe1\xbd\xab" => "\xe1\xbd\xa3",
 1329+ "\xe1\xbd\xac" => "\xe1\xbd\xa4",
 1330+ "\xe1\xbd\xad" => "\xe1\xbd\xa5",
 1331+ "\xe1\xbd\xae" => "\xe1\xbd\xa6",
 1332+ "\xe1\xbd\xaf" => "\xe1\xbd\xa7",
 1333+ "\xe1\xbe\x88" => "\xe1\xbe\x80",
 1334+ "\xe1\xbe\x89" => "\xe1\xbe\x81",
 1335+ "\xe1\xbe\x8a" => "\xe1\xbe\x82",
 1336+ "\xe1\xbe\x8b" => "\xe1\xbe\x83",
 1337+ "\xe1\xbe\x8c" => "\xe1\xbe\x84",
 1338+ "\xe1\xbe\x8d" => "\xe1\xbe\x85",
 1339+ "\xe1\xbe\x8e" => "\xe1\xbe\x86",
 1340+ "\xe1\xbe\x8f" => "\xe1\xbe\x87",
 1341+ "\xe1\xbe\x98" => "\xe1\xbe\x90",
 1342+ "\xe1\xbe\x99" => "\xe1\xbe\x91",
 1343+ "\xe1\xbe\x9a" => "\xe1\xbe\x92",
 1344+ "\xe1\xbe\x9b" => "\xe1\xbe\x93",
 1345+ "\xe1\xbe\x9c" => "\xe1\xbe\x94",
 1346+ "\xe1\xbe\x9d" => "\xe1\xbe\x95",
 1347+ "\xe1\xbe\x9e" => "\xe1\xbe\x96",
 1348+ "\xe1\xbe\x9f" => "\xe1\xbe\x97",
 1349+ "\xe1\xbe\xa8" => "\xe1\xbe\xa0",
 1350+ "\xe1\xbe\xa9" => "\xe1\xbe\xa1",
 1351+ "\xe1\xbe\xaa" => "\xe1\xbe\xa2",
 1352+ "\xe1\xbe\xab" => "\xe1\xbe\xa3",
 1353+ "\xe1\xbe\xac" => "\xe1\xbe\xa4",
 1354+ "\xe1\xbe\xad" => "\xe1\xbe\xa5",
 1355+ "\xe1\xbe\xae" => "\xe1\xbe\xa6",
 1356+ "\xe1\xbe\xaf" => "\xe1\xbe\xa7",
 1357+ "\xe1\xbe\xb8" => "\xe1\xbe\xb0",
 1358+ "\xe1\xbe\xb9" => "\xe1\xbe\xb1",
 1359+ "\xe1\xbe\xba" => "\xe1\xbd\xb0",
 1360+ "\xe1\xbe\xbb" => "\xe1\xbd\xb1",
 1361+ "\xe1\xbe\xbc" => "\xe1\xbe\xb3",
 1362+ "\xe1\xbf\x88" => "\xe1\xbd\xb2",
 1363+ "\xe1\xbf\x89" => "\xe1\xbd\xb3",
 1364+ "\xe1\xbf\x8a" => "\xe1\xbd\xb4",
 1365+ "\xe1\xbf\x8b" => "\xe1\xbd\xb5",
 1366+ "\xe1\xbf\x8c" => "\xe1\xbf\x83",
 1367+ "\xe1\xbf\x98" => "\xe1\xbf\x90",
 1368+ "\xe1\xbf\x99" => "\xe1\xbf\x91",
 1369+ "\xe1\xbf\x9a" => "\xe1\xbd\xb6",
 1370+ "\xe1\xbf\x9b" => "\xe1\xbd\xb7",
 1371+ "\xe1\xbf\xa8" => "\xe1\xbf\xa0",
 1372+ "\xe1\xbf\xa9" => "\xe1\xbf\xa1",
 1373+ "\xe1\xbf\xaa" => "\xe1\xbd\xba",
 1374+ "\xe1\xbf\xab" => "\xe1\xbd\xbb",
 1375+ "\xe1\xbf\xac" => "\xe1\xbf\xa5",
 1376+ "\xe1\xbf\xb8" => "\xe1\xbd\xb8",
 1377+ "\xe1\xbf\xb9" => "\xe1\xbd\xb9",
 1378+ "\xe1\xbf\xba" => "\xe1\xbd\xbc",
 1379+ "\xe1\xbf\xbb" => "\xe1\xbd\xbd",
 1380+ "\xe1\xbf\xbc" => "\xe1\xbf\xb3",
 1381+ "\xe2\x84\xa6" => "\xcf\x89",
 1382+ "\xe2\x84\xaa" => "k",
 1383+ "\xe2\x84\xab" => "\xc3\xa5",
 1384+ "\xe2\x85\xa0" => "\xe2\x85\xb0",
 1385+ "\xe2\x85\xa1" => "\xe2\x85\xb1",
 1386+ "\xe2\x85\xa2" => "\xe2\x85\xb2",
 1387+ "\xe2\x85\xa3" => "\xe2\x85\xb3",
 1388+ "\xe2\x85\xa4" => "\xe2\x85\xb4",
 1389+ "\xe2\x85\xa5" => "\xe2\x85\xb5",
 1390+ "\xe2\x85\xa6" => "\xe2\x85\xb6",
 1391+ "\xe2\x85\xa7" => "\xe2\x85\xb7",
 1392+ "\xe2\x85\xa8" => "\xe2\x85\xb8",
 1393+ "\xe2\x85\xa9" => "\xe2\x85\xb9",
 1394+ "\xe2\x85\xaa" => "\xe2\x85\xba",
 1395+ "\xe2\x85\xab" => "\xe2\x85\xbb",
 1396+ "\xe2\x85\xac" => "\xe2\x85\xbc",
 1397+ "\xe2\x85\xad" => "\xe2\x85\xbd",
 1398+ "\xe2\x85\xae" => "\xe2\x85\xbe",
 1399+ "\xe2\x85\xaf" => "\xe2\x85\xbf",
 1400+ "\xe2\x92\xb6" => "\xe2\x93\x90",
 1401+ "\xe2\x92\xb7" => "\xe2\x93\x91",
 1402+ "\xe2\x92\xb8" => "\xe2\x93\x92",
 1403+ "\xe2\x92\xb9" => "\xe2\x93\x93",
 1404+ "\xe2\x92\xba" => "\xe2\x93\x94",
 1405+ "\xe2\x92\xbb" => "\xe2\x93\x95",
 1406+ "\xe2\x92\xbc" => "\xe2\x93\x96",
 1407+ "\xe2\x92\xbd" => "\xe2\x93\x97",
 1408+ "\xe2\x92\xbe" => "\xe2\x93\x98",
 1409+ "\xe2\x92\xbf" => "\xe2\x93\x99",
 1410+ "\xe2\x93\x80" => "\xe2\x93\x9a",
 1411+ "\xe2\x93\x81" => "\xe2\x93\x9b",
 1412+ "\xe2\x93\x82" => "\xe2\x93\x9c",
 1413+ "\xe2\x93\x83" => "\xe2\x93\x9d",
 1414+ "\xe2\x93\x84" => "\xe2\x93\x9e",
 1415+ "\xe2\x93\x85" => "\xe2\x93\x9f",
 1416+ "\xe2\x93\x86" => "\xe2\x93\xa0",
 1417+ "\xe2\x93\x87" => "\xe2\x93\xa1",
 1418+ "\xe2\x93\x88" => "\xe2\x93\xa2",
 1419+ "\xe2\x93\x89" => "\xe2\x93\xa3",
 1420+ "\xe2\x93\x8a" => "\xe2\x93\xa4",
 1421+ "\xe2\x93\x8b" => "\xe2\x93\xa5",
 1422+ "\xe2\x93\x8c" => "\xe2\x93\xa6",
 1423+ "\xe2\x93\x8d" => "\xe2\x93\xa7",
 1424+ "\xe2\x93\x8e" => "\xe2\x93\xa8",
 1425+ "\xe2\x93\x8f" => "\xe2\x93\xa9",
 1426+ "\xef\xbc\xa1" => "\xef\xbd\x81",
 1427+ "\xef\xbc\xa2" => "\xef\xbd\x82",
 1428+ "\xef\xbc\xa3" => "\xef\xbd\x83",
 1429+ "\xef\xbc\xa4" => "\xef\xbd\x84",
 1430+ "\xef\xbc\xa5" => "\xef\xbd\x85",
 1431+ "\xef\xbc\xa6" => "\xef\xbd\x86",
 1432+ "\xef\xbc\xa7" => "\xef\xbd\x87",
 1433+ "\xef\xbc\xa8" => "\xef\xbd\x88",
 1434+ "\xef\xbc\xa9" => "\xef\xbd\x89",
 1435+ "\xef\xbc\xaa" => "\xef\xbd\x8a",
 1436+ "\xef\xbc\xab" => "\xef\xbd\x8b",
 1437+ "\xef\xbc\xac" => "\xef\xbd\x8c",
 1438+ "\xef\xbc\xad" => "\xef\xbd\x8d",
 1439+ "\xef\xbc\xae" => "\xef\xbd\x8e",
 1440+ "\xef\xbc\xaf" => "\xef\xbd\x8f",
 1441+ "\xef\xbc\xb0" => "\xef\xbd\x90",
 1442+ "\xef\xbc\xb1" => "\xef\xbd\x91",
 1443+ "\xef\xbc\xb2" => "\xef\xbd\x92",
 1444+ "\xef\xbc\xb3" => "\xef\xbd\x93",
 1445+ "\xef\xbc\xb4" => "\xef\xbd\x94",
 1446+ "\xef\xbc\xb5" => "\xef\xbd\x95",
 1447+ "\xef\xbc\xb6" => "\xef\xbd\x96",
 1448+ "\xef\xbc\xb7" => "\xef\xbd\x97",
 1449+ "\xef\xbc\xb8" => "\xef\xbd\x98",
 1450+ "\xef\xbc\xb9" => "\xef\xbd\x99",
 1451+ "\xef\xbc\xba" => "\xef\xbd\x9a",
 1452+ "\xf0\x90\x90\x80" => "\xf0\x90\x90\xa8",
 1453+ "\xf0\x90\x90\x81" => "\xf0\x90\x90\xa9",
 1454+ "\xf0\x90\x90\x82" => "\xf0\x90\x90\xaa",
 1455+ "\xf0\x90\x90\x83" => "\xf0\x90\x90\xab",
 1456+ "\xf0\x90\x90\x84" => "\xf0\x90\x90\xac",
 1457+ "\xf0\x90\x90\x85" => "\xf0\x90\x90\xad",
 1458+ "\xf0\x90\x90\x86" => "\xf0\x90\x90\xae",
 1459+ "\xf0\x90\x90\x87" => "\xf0\x90\x90\xaf",
 1460+ "\xf0\x90\x90\x88" => "\xf0\x90\x90\xb0",
 1461+ "\xf0\x90\x90\x89" => "\xf0\x90\x90\xb1",
 1462+ "\xf0\x90\x90\x8a" => "\xf0\x90\x90\xb2",
 1463+ "\xf0\x90\x90\x8b" => "\xf0\x90\x90\xb3",
 1464+ "\xf0\x90\x90\x8c" => "\xf0\x90\x90\xb4",
 1465+ "\xf0\x90\x90\x8d" => "\xf0\x90\x90\xb5",
 1466+ "\xf0\x90\x90\x8e" => "\xf0\x90\x90\xb6",
 1467+ "\xf0\x90\x90\x8f" => "\xf0\x90\x90\xb7",
 1468+ "\xf0\x90\x90\x90" => "\xf0\x90\x90\xb8",
 1469+ "\xf0\x90\x90\x91" => "\xf0\x90\x90\xb9",
 1470+ "\xf0\x90\x90\x92" => "\xf0\x90\x90\xba",
 1471+ "\xf0\x90\x90\x93" => "\xf0\x90\x90\xbb",
 1472+ "\xf0\x90\x90\x94" => "\xf0\x90\x90\xbc",
 1473+ "\xf0\x90\x90\x95" => "\xf0\x90\x90\xbd",
 1474+ "\xf0\x90\x90\x96" => "\xf0\x90\x90\xbe",
 1475+ "\xf0\x90\x90\x97" => "\xf0\x90\x90\xbf",
 1476+ "\xf0\x90\x90\x98" => "\xf0\x90\x91\x80",
 1477+ "\xf0\x90\x90\x99" => "\xf0\x90\x91\x81",
 1478+ "\xf0\x90\x90\x9a" => "\xf0\x90\x91\x82",
 1479+ "\xf0\x90\x90\x9b" => "\xf0\x90\x91\x83",
 1480+ "\xf0\x90\x90\x9c" => "\xf0\x90\x91\x84",
 1481+ "\xf0\x90\x90\x9d" => "\xf0\x90\x91\x85",
 1482+ "\xf0\x90\x90\x9e" => "\xf0\x90\x91\x86",
 1483+ "\xf0\x90\x90\x9f" => "\xf0\x90\x91\x87",
 1484+ "\xf0\x90\x90\xa0" => "\xf0\x90\x91\x88",
 1485+ "\xf0\x90\x90\xa1" => "\xf0\x90\x91\x89",
 1486+ "\xf0\x90\x90\xa2" => "\xf0\x90\x91\x8a",
 1487+ "\xf0\x90\x90\xa3" => "\xf0\x90\x91\x8b",
 1488+ "\xf0\x90\x90\xa4" => "\xf0\x90\x91\x8c",
 1489+ "\xf0\x90\x90\xa5" => "\xf0\x90\x91\x8d"
 1490+);
 1491+?>
Property changes on: trunk/phpwiki/fpw/utf8Case.php
___________________________________________________________________
Added: svn:eol-style
11492 + native
Added: svn:keywords
21493 + Author Date Id Revision
Index: trunk/phpwiki/fpw/special_statistics.php
@@ -11,7 +11,7 @@
1212 $nf1 = "<font color=red><b>" ;
1313 $nf2 = "</b></font>" ;
1414
15 - $Talk = ucfirst ( $wikiTalk ) ;
 15+ $Talk = ucfirstIntl ( $wikiTalk ) ;
1616 $talk = $wikiTalk ;
1717
1818 # TOTAL
Index: trunk/phpwiki/fpw/wikiTextEn.php
@@ -9,6 +9,8 @@
1010
1111 # Basic character set and locale settings
1212 $wikiCharset = "iso-8859-1" ;
 13+$wikiUpperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ������������������������������";
 14+$wikiLowerChars = "abcdefghijklmnopqrstuvwxyz������������������������������";
1315
1416 # Misc stuff
1517 $wikiMainPage = "Main Page" ; # This is actual the title of the article in the database
@@ -331,7 +333,8 @@
332334 $wikiAskSQLtext = "This function is available for sysops only.<br>''Please, do not press return/enter, '''always''' click on the ask button!''" ;
333335 $wikiStubDelete = "<b>Delete this page!</b>" ;
334336 $wikiStubLinkHere = "$1 articles link here." ;
335 -$wikiStubShowLinks = "<nowiki><a href=\"$THESCRIPT?title=special:ShortPages&showLinksThere=$1\">Toggle \"show links\" option</a><br></nowiki>\n" ;
 337+$wikiStubShowLinks = "Toggle \"show links\" option" ;
 338+$wikiShowLinks = "Show pages that link to $1" ;
336339 $wikiDeleteTitle = "Deleting article '$1'" ;
337340 $wikiDeleteDenied = "<font size=\"+3\">You are not allowed to delete this page!</font>" ;
338341 $wikiDeleteSuccess = "'$1' has been removed." ;
@@ -360,6 +363,7 @@
361364 $wikiResourcesWarning = "(Please, do this only when necessary, as this function uses a high amount of system resources)" ;
362365 $wikiNoRefresh = "(The page was last refreshed just $1 minutes ago; please wait another $2 minutes and try again.)" ;
363366 $wikiLastRefreshed = "Last refreshed $1" ;
 367+$wikiValidate = "Validate this page" ;
364368
365369 #---------------------------
366370 #Functions
Index: trunk/phpwiki/fpw/wikiTextEo.php
@@ -5,38 +5,40 @@
66 #
77 #---------------------------------------------------------------
88
9 -$wikiSQLServer = "wikieo" ; # The name of the database, actually...
 9+#$wikiSQLServer = "wikieo" ; # The name of the database, actually...
1010 $wikiLogoFile = "/vikio.png" ;
1111 $wikiCharset = "utf-8" ;
1212 $wikiLanguage = "eo" ; # For Content-Language header, LANG= param, etc.
13 -$wikiLocale = "eo_XX.UTF-8" ; # If it doesn't exist on the local machine, en_US.UTF-8 should do
 13+#$wikiLocale = "eo_X.UTF-8" ; # If it doesn't exist on the local machine, en_US.UTF-8 should do
 14+# For case conversion:
 15+include_once ( "utf8Case.php" ) ;
1416
1517 # Misc stuff
16 -$wikiMainPage = "Cxefpagxo" ; # This is actual the title of the article in the database
17 -$wikiErrorPageTitle = "Fusx'! Problemo okazis!" ;
18 -$wikiErrorMessage = "<h2>$1!</h2>Revenu al la [[:Main Page|Cxefpagxo]]!" ;
19 -$wikiAllowedSpecialPages = array("userlogin","userlogout","newpages","recentchanges","upload","statistics","lonelypages","popularpages","wantedpages","allpages","randompage","shortpages","listusers","watchlist","special_pages","editusersettings","deletepage","protectpage","contributions","whatlinkshere");
20 -$wikiRecentChangesText = "Sekvu la plej lastaj sxangxoj al Vikipedio per cxi tiu pagxo. [[Bonvenon, novuloj]]!
21 -Bonvolu legi cxi tiuj pagxojn: [[wikipedia:Oftaj demandoj|Oftaj demandoj]], [[wikipedia:Konsiletoj|Konsiletoj]] (aparte [[wikipedia:Nomoj de titoloj|Nomoj de titoloj]]
22 -kaj [[wikipedia:Neuxtrala vidpunkto|Neuxtrala vidpunkto]]), kaj [[wikipedia:Oftaj eraroj|Oftaj eraroj cxe Vikipedio]].<br>
23 -Se vi volas, ke la Vikipedio sukcesu, tre gravas ke vi ne aldonu aferojn limigitaj laux la [[kopirajto]] de aliuloj.
24 -La legxa respondeco vere povus malhelpegi la projekton, do bonvolu ne fari tion.<br>
25 -Ankaux vidu la [http://meta.wikipedia.com/wiki.phtml?title=special:RecentChanges lastatempa pri-vikipedian diskuton] (angle)" ;
26 -$wikiMetaDescription = "$1... Legu pli cxi tie cxe Vikipedio, la libera enciklopedio!" ;
 18+$wikiMainPage = "Ĉefpaĝo" ; # This is actual the title of the article in the database
 19+$wikiErrorPageTitle = "Fuŝ'! Problemo okazis!" ;
 20+$wikiErrorMessage = "<h2>$1!</h2>Revenu al la [[:Main Page|Ĉefpaĝo]]!" ;
 21+#$wikiAllowedSpecialPages = array("userlogin","userlogout","newpages","recentchanges","upload","statistics","lonelypages","popularpages","wantedpages","allpages","randompage","shortpages","listusers","watchlist","special_pages","editusersettings","deletepage","protectpage","contributions","whatlinkshere");
 22+$wikiRecentChangesText = "Sekvu la plej lastaj ŝanĝoj al Vikipedio per ĉi tiu paĝo. [[Bonvenon, novuloj]]!
 23+Bonvolu legi ĉi tiuj paĝojn: [[wikipedia:Oftaj demandoj|Oftaj demandoj]], [[wikipedia:Konsiletoj|Konsiletoj]] (aparte [[wikipedia:Nomoj de titoloj|Nomoj de titoloj]]
 24+kaj [[wikipedia:Neŭtrala vidpunkto|Neŭtrala vidpunkto]]), kaj [[wikipedia:Oftaj eraroj|Oftaj eraroj ĉe Vikipedio]].<br>
 25+Se vi volas, ke la Vikipedio sukcesu, tre gravas ke vi ne aldonu aferojn limigitaj laŭ la [[kopirajto]] de aliuloj.
 26+La leĝa respondeco vere povus malhelpegi la projekton, do bonvolu ne fari tion.<br>
 27+Ankaŭ vidu la [http://meta.wikipedia.com/wiki.phtml?title=special:RecentChanges lastatempan pri-vikipedian diskuton] (angle)" ;
 28+$wikiMetaDescription = "$1... Legu pli ĉi tie ĉe Vikipedio, la libera enciklopedio!" ;
2729
2830 # Used in header/footer
2931 $wikiMainPageTitle = "Wikipedia : La libera enciklopedio" ; # This is the title that is displayed on the main page
30 -$wikiArticleSubtitle = "Cxe Wikipedia, la libera enciklopedio." ;
 32+$wikiArticleSubtitle = "Ĉe Wikipedia, la libera enciklopedio." ;
3133 $wikiPrintable = "Presebla versio" ;
32 -$wikiWatch = "Atentigu min pri sxangxoj en la artikolo" ;
33 -$wikiNoWatch = "Ne atentigu min pri sxangxoj en la artikolo" ;
 34+$wikiWatch = "Atentigu min pri ŝanĝoj en la artikolo" ;
 35+$wikiNoWatch = "Ne atentigu min pri ŝanĝoj en la artikolo" ;
3436 $wikiTitleTag = "$1: enciklopedia artikolo el Wikipedia" ;
3537 $wikiLogIn = "Salutu" ;
36 -$wikiLogOut = "Adiauxu" ;
 38+$wikiLogOut = "Adiaŭu" ;
3739 $wikiHelp = "Helpo" ;
3840 $wikiHelpLink = "Helpo" ; # "special:" is added automatically
3941 $wikiPreferences = "Preferoj" ;
40 -$wikiWhatLinksHere = "Pagxoj kiuj ligas cxi tien" ;
 42+$wikiWhatLinksHere = "Paĝoj kiuj ligas ĉi tien" ;
4143 $wikiPrintLinksMarkup = "i" ; # will be used as <$wikiPrintLinksMarkup> and </$wikiPrintLinksMarkup>
4244 #$wikiAllowedNamespaces = array ( "wikipedia" , "talk" , "user" , "" , "wikipedia talk" , "user talk" ) ;
4345 $wikiTalk = "priparolu" ;
@@ -46,64 +48,66 @@
4749
4850 # Editing
4951 $wikiEditTitle = "Redaktante $1" ;
50 -$wikiCannotEditPage = "<h3>Vi ne rajtas redakti cxi tiun pagxon!</h3>" ;
51 -$wikiEditConflictMessage = "<h1>Redakta konflikto!</h1>\n<b>Iu sxangxis la pagxon post kiam vi ekskribis. La supra tekstujo havas la konservitan tekston. Nur la teksto en la supra tekstujo estos konservita.</b><br>\nRulumu malsupren por vidi vian tekston redaktitan.<br>\n" ;
52 -$wikiPreviewAppend = "<hr>\n<h2>Antauxrigardo :</h2>\n$1<hr><h3>Memoru, cxi tiu estas nur la antauxrigardo kaj ne jam konservita!</h3>" ;
 52+$wikiCannotEditPage = "<h3>Vi ne rajtas redakti ĉi tiun paĝon!</h3>" ;
 53+$wikiEditConflictMessage = "<h1>Redakta konflikto!</h1>\n<b>Iu ŝanĝis la paĝon post kiam vi ekskribis. La supra tekstujo havas la konservitan tekston. Nur la teksto en la supra tekstujo estos konservita.</b><br>\nRulumu malsupren por vidi vian tekston redaktitan.<br>\n" ;
 54+$wikiPreviewAppend = "<hr>\n<h2>Antaŭrigardo :</h2>\n$1<hr><h3>Memoru, ĉi tiu estas nur la antaŭrigardo kaj ne jam konservita!</h3>" ;
5355 $wikiSummary = "Resumo:" ;
54 -$wikiMinorEdit = "Cxi tiu sxangxo estas redakteto." ;
55 -$wikiCopyrightNotice = "Bonvolu noti, ke cxiun kontribuajxon al la Vikipedio estu konsiderata eldonita laux la
 56+$wikiMinorEdit = "Ĉi tiu ŝanĝo estas redakteto." ;
 57+$wikiCopyrightNotice = "Bonvolu noti, ke ĉiun kontribuaĵon al la Vikipedio estu konsiderata eldonita laŭ la
5658 <a href=\"$THESCRIPT?title=GFDL\">GNU Free Documentation License</a>.
57 -Se vi volas, ke via verkajxo ne estu redaktota senkompate kaj disvastigota lauxvole, ne presu \"Konservu\".
58 -Vi ankaux jxuras, ke vi mem verkis cxi tiun, aux ke vi kopiis gxin el fonto senkopirajta. <b>NE UZU KOPIRAJTITAJN VERKOJN SENPERMESE!</b>" ;
 59+Se vi volas, ke via verkaĵo ne estu redaktota senkompate kaj disvastigota laŭvole, ne presu \"Konservu\".
 60+Vi ankaŭ ĵuras, ke vi mem verkis ĉi tiun, aŭ ke vi kopiis ĝin el fonto senkopirajta. <b>NE UZU KOPIRAJTITAJN VERKOJN SENPERMESE!</b>" ;
5961 $wikiSave = "Konservu" ;
60 -$wikiPreview = "Antauxrigardu" ;
 62+$wikiPreview = "Antaŭrigardu" ;
6163 $wikiReset = "Restarigu apriorajn" ;
62 -$wikiDontSaveChanges = "<i>Revenu sen konservi la sxangxojn</i>" ;
63 -$wikiDescribePage = "Priskribu la novan pagxon cxiloke." ;
 64+$wikiDontSaveChanges = "<i>Revenu sen konservi la ŝanĝojn</i>" ;
 65+$wikiDescribePage = "Priskribu la novan paĝon ĉiloke." ;
6466
6567 # wikiUser
6668 $wikiNoSuchUser = "<font color=red>Nekonata uzanto $1!</font>" ;
67 -$wikiWrongPassword = "<font color=red>Malgxusta pasvorto por uzanto $1!</font>" ;
 69+$wikiWrongPassword = "<font color=red>Malĝusta pasvorto por uzanto $1!</font>" ;
6870 $wikiYouAreLoggedIn = "$1, vi estas salutinta!" ;
6971 $wikiUserError = "Eraro okazis pri \"$1\"" ;
7072
7173 # wikiPage
72 -$wikiNoSuchSpecialPage = "<h1>Ne ekzistas speciala pagxo \"$1\"!</h1>" ;
73 -$wikiOldVersion = "<br><font size=-1>Cxi tiu estas la malnova version #$1; vidu la <a href=\"$THESCRIPT?title=$2\">aktualan version</a></font>" ;
 74+$wikiNoSuchSpecialPage = "<h1>Ne ekzistas speciala paĝo \"$1\"!</h1>" ;
 75+$wikiOldVersion = "<br><font size=-1>Ĉi tiu estas la malnova version #$1; vidu la <a href=\"$THESCRIPT?title=$2\">aktualan version</a></font>" ;
7476 $wikiRedirectFrom = "(alidirektita el $1)" ;
75 -$wikiRecentChanges = "Lastaj Sxangxoj" ;
 77+$wikiRecentChanges = "Lastaj Ŝanĝoj" ;
7678 $wikiRecentChangesLink = "RecentChanges" ; # "special:" is added automatically
7779 $wikiSpecialPagesLink = "Special_pages" ; # "special:" is added automatically
78 -$wikiEditThisPage = "Redaktu cxi tiun pagxon" ;
79 -$wikiDeleteThisPage = "Forigu cxi tiun pagxon" ;
80 -$wikiUpload = "Alsxutu dosieron" ;
 80+$wikiEditThisPage = "Redaktu ĉi tiun paĝon" ;
 81+$wikiDeleteThisPage = "Forigu ĉi tiun paĝon" ;
 82+$wikiUpload = "Alŝutu dosieron" ;
8183 $wikiHistory = "Historio" ;
82 -$wikiRandomPage = "Hazarda Pagxo" ;
83 -$wikiSpecialPages = "Specialaj Pagxoj" ;
84 -$wikiEditHelp = "<i>Vi povas legi helptekston cxi tie.</i>" ;
 84+$wikiRandomPage = "Hazarda Paĝo" ;
 85+$wikiSpecialPages = "Specialaj Paĝoj" ;
 86+$wikiEditHelp = "<i>Vi povas legi helptekston ĉi tie.</i>" ;
8587 $wikiStatistics = "Statistiko" ;
86 -$wikiNewPages = "Novaj pagxoj" ;
 88+$wikiNewPages = "Novaj paĝoj" ;
8789 $wikiOrphans = "Orfoj" ;
8890 $wikiMostWanted = "Plej dezirataj" ;
89 -$wikiAllPages = "Cxiu pagxo" ;
 91+$wikiAllPages = "Ĉiu paĝo" ;
9092 $wikiStubs = "Malplenaj artikoloj" ;
 93+$wikiLongPages = "Longaj artikoloj" ;
9194 $wikiListUsers = "Listigu uzantojn" ;
9295 $wikiMyWatchlist = "Mia Atentataro" ;
9396 $wikiBeginDiff = "MALSAMOJ KOMENCAS" ;
9497 $wikiEndDiff = "MALSAMOJ FINAS" ;
95 -$wikiDiffLegend = "<font color=#2AAA2A>Verdan tekston</font> oni aldonis aux sxangxis, <font color=#AAAA00>flavan tekston</font> oni sxangxis aux forigis." ;
96 -$wikiDiffFirstVersion = "Cxi tiu estas la unua versio de la artikolo. Cxiu teksto estas nova!<br>\n" ;
97 -$wikiDiffImpossible = "Cxi tiu estas la unua versio de la artikolo. Cxiu teksto estas nova!<br>\n" ;
98 -$wikiSearch = "Sercxu" ;
 98+$wikiDiffLegend = "<font color=#2AAA2A>Verdan tekston</font> oni aldonis aŭ ŝanĝis, <font color=#AAAA00>flavan tekston</font> oni ŝanĝis aŭ forigis." ;
 99+$wikiDiffFirstVersion = "Ĉi tiu estas la unua versio de la artikolo. Ĉiu teksto estas nova!<br>\n" ;
 100+$wikiDiffImpossible = "Ĉi tiu estas la unua versio de la artikolo. Ĉiu teksto estas nova!<br>\n" ;
 101+$wikiSearch = "Serĉu" ;
99102 $wikiOtherNamespaces = "<b>Aliaj funkcioj :</b> " ; # Not sure what to call these
100103 $wikiCategories = "<b>Kategorioj :</b> " ;
101 -$wikiThisCategory = "Artikoloj en cxi tiu kategorio" ;
 104+$wikiThisCategory = "Artikoloj en ĉi tiu kategorio" ;
 105+$wikiCounter = "$1 foje oni jam legis ĉi tiun paĝon." ;
102106
103107 # Language interwiki names
104108 $wikiLanguageNames = array (
105109 "ar"=>"Araba (Araby)" ,
106110 "ca"=>"Kataluna (Catalá)" ,
107 - "zh"=>"Cxina (Hányǔ)" ,
 111+ "zh"=>"Ĉina (Hányǔ)" ,
108112 "dk"=>"Dana (Dansk)" ,
109113 "nl"=>"Nederlanda (Nederlands)" ,
110114 "de"=>"Germana (Deutsch)" ,
@@ -128,10 +132,10 @@
129133 $wikiDate["monday"] = "lundo" ;
130134 $wikiDate["tuesday"] = "mardo" ;
131135 $wikiDate["wednesday"] = "merkredo" ;
132 -$wikiDate["thursday"] = "jxauxdo" ;
 136+$wikiDate["thursday"] = "ĵaŭdo" ;
133137 $wikiDate["friday"] = "vendredo" ;
134138 $wikiDate["saturday"] = "sabato" ;
135 -$wikiDate["sunday"] = "dimancxo" ;
 139+$wikiDate["sunday"] = "dimanĉo" ;
136140 $wikiDate["january"] = "januaro" ;
137141 $wikiDate["february"] = "februaro" ;
138142 $wikiDate["march"] = "marto" ;
@@ -139,7 +143,7 @@
140144 $wikiDate["may"] = "majo" ;
141145 $wikiDate["june"] = "junio" ;
142146 $wikiDate["july"] = "julio" ;
143 -$wikiDate["august"] = "auxgusto" ;
 147+$wikiDate["august"] = "aŭgusto" ;
144148 $wikiDate["september"] = "septembro" ;
145149 $wikiDate["october"] = "oktobro" ;
146150 $wikiDate["november"] = "novembro" ;
@@ -149,7 +153,7 @@
150154 ## strings for specialFunctions.php
151155
152156 # Log out / log in
153 -$wikiGoodbye = "<h1>Adiaux, $1!</h1>" ;
 157+$wikiGoodbye = "<h1>Adiaŭ, $1!</h1>" ;
154158 $wikiWelcomeCreation = "<h1>Bonvenon, $1!</h1><font color=red>Ne forgesu proprigi viajn Vikipedio-preferojn!</font><br>Via konto estas kreita. Bonvolu alklaku \"Salutu\" refoje por saluti!" ;
155159 $wikiLoginPageTitle = "Salutu uzanton" ;
156160 $wikiYourName = "Via salutnomo&nbsp; : " ;
@@ -160,16 +164,16 @@
161165 $wikiLoginProblem = "<b>Okazis problemon pri via salutado.</b><br>Bonvolu reprovu!" ;
162166 $wikiAlreadyLoggedIn = "<font color=red><b>Uzanto $1, via estas jam salutinta!</b></font><br>\n" ;
163167 $wikiPleaseLogIn = "<h1>Bonvolu saluti:</h1>\n" ;
164 -$wikiAreYouNew = "Se vi estas nove cxe vikipedio kaj volas akiri uzantokonton, bonvolu tajpu salutonomon, pasvorton, kaj refoje pasvorton.<br>\n" ;
 168+$wikiAreYouNew = "Se vi estas nove ĉe vikipedio kaj volas akiri uzantokonton, bonvolu tajpu salutonomon, pasvorton, kaj refoje pasvorton.<br>\n" ;
165169 $wikiLogIn = "Salutu" ;
166170
167171 # User preferences
168 -$wikiUserSettings = "Preferoj laux Uzanto" ;
169 -$wikiUserSettingsError = "Vi ne estas salutinta! Bonvolu [[special:userLogin|saluti]] aux iri al la [[:Main Page|Cxefpagxo]]" ;
170 -$wikiUserSettingsNewPasswordError = "<h1><font color=red>La novaj pasvortoj ne egalas. PASVORTO RESTAS NESXANGXITA!</font></h1>\n" ;
 172+$wikiUserSettings = "Preferoj laŭ Uzanto" ;
 173+$wikiUserSettingsError = "Vi ne estas salutinta! Bonvolu [[special:userLogin|saluti]] aŭ iri al la [[:Main Page|Ĉefpaĝo]]" ;
 174+$wikiUserSettingsNewPasswordError = "<h1><font color=red>La novaj pasvortoj ne egalas. PASVORTO RESTAS NEŜANĜITA!</font></h1>\n" ;
171175 $wikiUserSettingsSaved = "<font color=red size=+1>Viaj preferoj estas konservitaj!</font>" ;
172176 $wikiLoggedInAs = "<b>Vi salutis kiel [[$wikiUser:$1|$1]]. ";
173 -$wikiID_Help = "Via interna identigilo estas $1.</b> Vi povas trovi helpon [[wikipedia:Helpo/Preferoj|cxi tie]]." ;
 177+$wikiID_Help = "Via interna identigilo estas $1.</b> Vi povas trovi helpon [[wikipedia:Helpo/Preferoj|ĉi tie]]." ;
174178 $wikiQuickBarSettings = "Preferoj pri ilobreto :" ;
175179 $wikiSettingsStandard = "norma" ;
176180 $wikiSettingsNone = "Neniu" ;
@@ -179,51 +183,51 @@
180184 $wikiNewPassword = "Nova pasvorto &nbsp; &nbsp; : " ;
181185 $wikiSkin = "Etoso :" ;
182186 $wikiStarTrek = "Star Trek" ;
183 -$wikiShowHoverBox = "Montru sxpruchelpilon super viki-ligiloj" ;
 187+$wikiShowHoverBox = "Montru ŝpruchelpilon super viki-ligiloj" ;
184188 $wikiUnderlineLinks = "Substreku ligilojn" ;
185 -$wikiNewTopicsRed = "Rugxigu novajn pagxnomojn" ;
 189+$wikiNewTopicsRed = "Ruĝigu novajn paĝnomojn" ;
186190 $wikiJustifyParagraphs = "Alkadrigu liniojn" ;
187 -$wikiShowRecentChangesTable = "Montru <i>Lastajn Sxangojn</i> kiel tabelo" ;
188 -$wikiHideMinorEdits = "Kasxu malgrandajn redaktetojn cxe <i>Lastaj Sxangxoj</i>" ;
189 -$wikiDoNumberHeadings = "Auxtomate nombrigu sekciojn" ;
190 -$wikiViewWithFrames = "Montru pagxojn per kadroj <i>(eksperimenta, NUR kun Konkeranto!)</i>" ;
 191+$wikiShowRecentChangesTable = "Montru <i>Lastajn Ŝangojn</i> kiel tabelo" ;
 192+$wikiHideMinorEdits = "Kaŝu malgrandajn redaktetojn ĉe <i>Lastaj Ŝanĝoj</i>" ;
 193+$wikiDoNumberHeadings = "Aŭtomate nombrigu sekciojn" ;
 194+$wikiViewWithFrames = "Montru paĝojn per kadroj <i>(eksperimenta, NUR kun Konkeranto!)</i>" ;
191195 $wikiTurnedOn = "jes" ;
192196 $wikiTurnedOff = "ne" ;
193197 $wikiTextboxDimensions = "Grando de redaktejo :" ;
194198 $wikiCols = "Kolumnoj : " ;
195199 $wikiRows = "Linioj &nbsp; : " ;
196 -$wikiYourEmail = "Via retposxtadreso : " ;
197 -$wikiResultsPerPage = "Montru gxis $1 da sercxrezultoj po unu pagxo" ;
 200+$wikiYourEmail = "Via retpoŝtadreso : " ;
 201+$wikiResultsPerPage = "Montru ĝis $1 da serĉrezultoj po unu paĝo" ;
198202 $wikiTimeDiff = "Horzono : $1 horoj post la servilo" ;
199203 $wikiOutputEncoding = "Montru supersignoj per : ";
200204
201205 # Misc
202206 $wikiLonelyPagesTitle = "La Orfoj" ;
203 -$wikiLonelyPagesText = "'''La jenaj artikoloj ekzistas, sed neniu pagxo ligas al ilin!''' (la unuaj 50)<br>
204 -''Priparolu: pagxoj, malplenaj pagxoj, kaj alidirektoj '''ne''' listigxas cxi tie.''\n\n" ;
205 -$wikiAllPagesTitle = "Indekso de Cxiu Pagxo" ;
206 -$wikiAllPagesText = "'''Jen cxiu artikolo en la datumaro!'''\n\n" ;
207 -$wikiSearchTitle = "Sercxu" ;
208 -$wikiSearchedVoid = "Cxar vi sercxis nenion, vi jxus trovis tion." ;
209 -$wikiNoSearchResult = "Bedauxrinde, ni ne povis trovi artikolon, kiu enhavas \"$1\" en titolo aux enhavo.</h2>" ;
210 -$wikiUnsuccessfulSearch = "Malsukcesa sercxo de $1" ;
211 -$wikiUnsuccessfulSearches = "wikipedia:Malsukcesaj sercxoj ($1)" ; # $1 becomes "YEAR-MONTH"
212 -$wikiFoundHeading = "Artikoloj cxe Vikipedio" ;
213 -$wikiFoundText = "Trovis $1ope ''$2''. Po cxiu artikolo, montrigxas la unua paragrafo, kaj la plej frua paragrafo enhavanta ''$2''." ;
 207+$wikiLonelyPagesText = "'''La jenaj artikoloj ekzistas, sed neniu paĝo ligas al ilin!''' (la unuaj 50)<br>
 208+''Priparolu: paĝoj, malplenaj paĝoj, kaj alidirektoj '''ne''' listiĝas ĉi tie.''\n\n" ;
 209+$wikiAllPagesTitle = "Indekso de Ĉiu Paĝo" ;
 210+$wikiAllPagesText = "'''Jen ĉiu artikolo en la datumaro!'''\n\n" ;
 211+$wikiSearchTitle = "Serĉu" ;
 212+$wikiSearchedVoid = "Ĉar vi serĉis nenion, vi ĵus trovis tion." ;
 213+$wikiNoSearchResult = "Bedaŭrinde, ni ne povis trovi artikolon, kiu enhavas \"$1\" en titolo aŭ enhavo.</h2>" ;
 214+$wikiUnsuccessfulSearch = "Malsukcesa serĉo de $1" ;
 215+$wikiUnsuccessfulSearches = "wikipedia:Malsukcesaj serĉoj ($1)" ; # $1 becomes "YEAR-MONTH"
 216+$wikiFoundHeading = "Artikoloj ĉe Vikipedio" ;
 217+$wikiFoundText = "Trovis $1ope ''$2''. Po ĉiu artikolo, montriĝas la unua paragrafo, kaj la plej frua paragrafo enhavanta ''$2''." ;
214218 $wikiUserlistTitle = "Listo de Uzantoj" ;
215 -$wikiUserlistText = "'''Jen cxiu uzanto de vikipedio (kiu havas konton)!'''" ;
216 -$wikiRecentChangesTitle = "Lastaj Sxangxoj" ;
217 -$wikiRecentChangesLastDays = "Jen la <b>$1</b> lastaj sxangxoj cxe Vikipedio dum la <b>$2</b> lastaj tagoj." ;
218 -$wikiRecentChangesSince = "Jen la <b>$1</b> lastaj sxangxoj cxe Vikipedio ekde <b>$2</b>." ;
 219+$wikiUserlistText = "'''Jen ĉiu uzanto de vikipedio (kiu havas konton)!'''" ;
 220+$wikiRecentChangesTitle = "Lastaj Ŝanĝoj" ;
 221+$wikiRecentChangesLastDays = "Jen la <b>$1</b> lastaj ŝanĝoj ĉe Vikipedio dum la <b>$2</b> lastaj tagoj." ;
 222+$wikiRecentChangesSince = "Jen la <b>$1</b> lastaj ŝanĝoj ĉe Vikipedio ekde <b>$2</b>." ;
219223 $wikiViewLastDays = "Montru la $1 lastajn tagojn" ;
220 -$wikiViewMaxNum = "Montru la $1 lastajn sxangxojn" ;
221 -$wikiListOnlyNewChanges = "Montru nur novajn sxangxojn" ;
222 -$wikiNewPagesTitle = "Novaj Pagxoj" ;
223 -$wikiNewPagesText = "Jen la plej lastaj <b>$1</b> novaj pagxoj cxe Vikipedio dum la <b>$2</b> lastaj tagoj." ;
 224+$wikiViewMaxNum = "Montru la $1 lastajn ŝanĝojn" ;
 225+$wikiListOnlyNewChanges = "Montru nur novajn ŝanĝojn" ;
 226+$wikiNewPagesTitle = "Novaj Paĝoj" ;
 227+$wikiNewPagesText = "Jen la plej lastaj <b>$1</b> novaj paĝoj ĉe Vikipedio dum la <b>$2</b> lastaj tagoj." ;
224228 $wikiRCLegend = " <b>Simboloj :</b> $1=Malgranda redakteto ; $2=Nova artikolo." ;
225229 $wikiDiff = "(malsamoj)" ;
226 -$wikiChange = "sxangxo" ;
227 -$wikiChanges = "sxangxoj" ;
 230+$wikiChange = "ŝanĝo" ;
 231+$wikiChanges = "ŝanĝoj" ;
228232 $wikiWatchYes = "\"$1\" aldonita al via [[special:WatchList|atentejo]]." ;
229233 $wikiWatchNo = "\"$1\" forigita el via [[special:WatchList|atentejo]]." ;
230234 $wikiWatchlistTitle = "Atentejo" ;
@@ -231,95 +235,101 @@
232236
233237 # Statistics
234238 $wikiStatisticsTitle = "Statistiko pri Artikoloj" ;
235 -$wikiStatTotalPages = "Estas $1 pagxoj en la datumaro." ;
236 -$wikiStatTalkPages = "Estas $1 '''Priparolu''' pagxoj." ;
237 -$wikiStatCommaPages = "Estas $1 pagxoj kun komo kiuj ''ne'' estas '''Priparolu''' pagxoj." ;
238 -$wikiStatWikipediaNoTalk = "Estas $1 kiu enhavas \"ikipedia\" en la titolo kaj ''ne'' estas '''Priparolu''' pagxoj." ;
239 -$wikiStatSubNoTalk = "Estas $1 subpagxoj kiuj ''ne'' estas '''Priparolu''' pagxoj." ;
240 -$wikiStatNoTalk = "Estas do proksimume $1 artikoloj, inkluzive de subpagxoj (krom '''Priparolu''')." ;
241 -$wikiStatArticles = "Aux, estas proksimume $1 artikoloj, ignorante cxiun subpagxon!" ;
242 -$wikiStatJunk = "Finfine, estas proksimume $1 forjxetindaj pagxoj :-(" ;
243 -$wikiStatOld = "Kaj, estas $1 malnovaj versioj de pagxoj en la datumaro, do meznombre $2 malnovaj pagxoj po unu aktiva pagxo." ;
 239+$wikiStatTotalPages = "Estas $1 paĝoj en la datumaro." ;
 240+$wikiStatTalkPages = "Estas $1 '''Priparolu''' paĝoj." ;
 241+$wikiStatCommaPages = "Estas $1 paĝoj kun komo kiuj ''ne'' estas '''Priparolu''' paĝoj." ;
 242+$wikiStatWikipediaNoTalk = "Estas $1 kiu enhavas \"ikipedia\" en la titolo kaj ''ne'' estas '''Priparolu''' paĝoj." ;
 243+$wikiStatSubNoTalk = "Estas $1 subpaĝoj kiuj ''ne'' estas '''Priparolu''' paĝoj." ;
 244+$wikiStatNoTalk = "Estas do proksimume $1 artikoloj, inkluzive de subpaĝoj (krom '''Priparolu''')." ;
 245+$wikiStatArticles = "Aŭ, estas proksimume $1 artikoloj, ignorante ĉiun subpaĝon!" ;
 246+$wikiStatJunk = "Finfine, estas proksimume $1 forĵetindaj paĝoj :-(" ;
 247+$wikiStatOld = "Kaj, estas $1 malnovaj versioj de paĝoj en la datumaro, do meznombre $2 malnovaj paĝoj po unu aktiva paĝo." ;
244248 $wikiStatUsers = "Nun estas $1 [[special:ListUsers|uzantoj]] subskribintaj." ;
245249 $wikiStatSysops = "$1 el ili estas sistemestroj." ;
246250
247251 # Upload
248 -$wikiUploadTitle = "Alsxutejo" ;
249 -$wikiUploadDenied = "Vi estas nek editoro nek sistemestro. Revenu al la <a href=\"$THESCRIPT?action=upload\">Alsxutejo</a>" ;
 252+$wikiUploadTitle = "Alŝutejo" ;
 253+$wikiUploadDenied = "Vi estas nek editoro nek sistemestro. Revenu al la <a href=\"$THESCRIPT?action=upload\">Alŝutejo</a>" ;
250254 $wikiUploadDeleted = "Dosiero <b>$1</b> forigita!" ;
251255 $wikiUploadDelMsg1 = "*Je $now, [[$wikiUser:$1|$1]] forigis dosieron '''$2'''\n" ;
252256 $wikiUploadDelMsg2 = "Forigi dosieron $1" ;
253 -$wikiUploadAffirm = "<nowiki>Vi devas aserti, ke la dosiero ne malsekvas kopirajtlegxon. Revenu al la <a href=\"$THESCRIPT?title=special:upload\">Alsxutejo</a></nowiki>" ;
254 -$wikiUploadFull = "Bedauxrinde, nia disko preskaux plenas. Ni ne povas lasi vin alsxuti dosierojn nuntempe." ;
255 -$wikiUploadSuccess = "Dosiero <b>$1</b> estas sukcese alsxutita!" ;
256 -$wikiUploadSuccess1 = "*Je $1, $2 alsxutis dosieron '''$3'''\n" ;
257 -$wikiUploadSuccess2 = "Alsxuto de dosiero $1" ;
 257+$wikiUploadAffirm = "<nowiki>Vi devas aserti, ke la dosiero ne malsekvas kopirajtleĝon. Revenu al la <a href=\"$THESCRIPT?title=special:upload\">Alŝutejo</a></nowiki>" ;
 258+$wikiUploadFull = "Bedaŭrinde, nia disko preskaŭ plenas. Ni ne povas lasi vin alŝuti dosierojn nuntempe." ;
 259+$wikiUploadSuccess = "Dosiero <b>$1</b> estas sukcese alŝutita!" ;
 260+$wikiUploadSuccess1 = "*Je $1, $2 alŝutis dosieron '''$3'''\n" ;
 261+$wikiUploadSuccess2 = "Alŝuto de dosiero $1" ;
258262 #$wikiUploadText = "<h2>Instrukcio:</h2>\n" ;
259 -$wikiUploadText = "<ul><li><strong>Uzu cxi tiun formulon por alsxuti diversajn dosierojn</strong></li>
260 -<li>Por anstatauxigi jam-alsxutitan dosieron (ekz., novan version de la artikolo),
261 -nur re-alsxuti la saman dosieron. Sed antauxe, trarigardu la liston malsupran kaj
262 -certigxu, cxu vi ne sxangxis la nomon.</li>
263 -<li><strong>Jen kiel alsxuti vian dosieron.</strong>Alklaku &quot;Foliumu...&quot; (<i>Browse</i> ktp) por sercxi tiun dosieron,
264 -kiun vi volas alsxuti, en via disko. Cxi tiu malfermigxos &quot;Elektu Dosieron&quot; fenestron.</li>
 263+$wikiUploadText = "<ul><li><strong>Uzu ĉi tiun formulon por alŝuti diversajn dosierojn</strong></li>
 264+<li>Por anstataŭigi jam-alŝutitan dosieron (ekz., novan version de la artikolo),
 265+nur re-alŝuti la saman dosieron. Sed antaŭe, trarigardu la liston malsupran kaj
 266+certiĝu, ĉu vi ne ŝanĝis la nomon.</li>
 267+<li><strong>Jen kiel alŝuti vian dosieron.</strong>Alklaku &quot;Foliumu...&quot; (<i>Browse</i> ktp) por serĉi tiun dosieron,
 268+kiun vi volas alŝuti, en via disko. Ĉi tiu malfermiĝos &quot;Elektu Dosieron&quot; fenestron.</li>
265269 <li>Kiam vi trovis la dosieron, alklaku &quot;Malfermu&quot;.
266 -Cxi tiu elektos la dosieron kaj malfermos la &quot;Elektu Dosieron&quot; fenestron.</li>
 270+Ĉi tiu elektos la dosieron kaj malfermos la &quot;Elektu Dosieron&quot; fenestron.</li>
267271 <li>Ne forgesu, jesi la aserton pri kopirajto!</li>
268 -<li>Tiam, alklaku &quot;Alsxutu&quot;. La dosiero komencos alsxutigxi.
269 -Tio cxi eble dauxros iom, se gxi estas granda dosiero kaj via Interret-konektado estas malrapida.</li>
270 -<li>Mesagxo informos vin, kiam la dosiero estas sukcese alsxutita.</li>
271 -<li>Vi povas alsxuti iom ajn da dosieroj, kiom vi volas. Bonvolu ne provu paneigi nian servilon, ha ha.</li>
272 -<li>Cxiu alsxuto kaj forigo estas registrata en la <a href=\"$THESCRIPT?title=Log:Uploads\">alsxuta loglibro</a>.</li>
 272+<li>Tiam, alklaku &quot;Alŝutu&quot;. La dosiero komencos alŝutiĝi.
 273+Tio ĉi eble daŭros iom, se ĝi estas granda dosiero kaj via Interret-konektado estas malrapida.</li>
 274+<li>Mesaĝo informos vin, kiam la dosiero estas sukcese alŝutita.</li>
 275+<li>Vi povas alŝuti iom ajn da dosieroj, kiom vi volas. Bonvolu ne provu paneigi nian servilon, ha ha.</li>
 276+<li>Ĉiu alŝuto kaj forigo estas registrata en la <a href=\"$THESCRIPT?title=Log:Uploads\">alŝuta loglibro</a>.</li>
273277 </ul>\n";
274 -$wikiUploadAffirmText = "Mi cxi tiel asertas tion, ke cxi tiu dosiero <strong>ne estas kopirajtita</strong>,
275 -aux tion, ke mi propras la kopirajton de cxi tiu dosiero, kaj donas gxian uzrajton laux la permisilo <a href=\"$THESCRIPT?title=GFDL\">GFDL</a>." ;
276 -$wikiUploadButton = "Alsxutu" ;
277 -$wikiUploadPrev = "Jam alsxutitaj dosieroj:" ;
 278+$wikiUploadAffirmText = "Mi ĉi tiel asertas tion, ke ĉi tiu dosiero <strong>ne estas kopirajtita</strong>,
 279+aŭ tion, ke mi propras la kopirajton de ĉi tiu dosiero, kaj donas ĝian uzrajton laŭ la permisilo <a href=\"$THESCRIPT?title=GFDL\">GFDL</a>." ;
 280+$wikiUploadButton = "Alŝutu" ;
 281+$wikiUploadPrev = "Jam alŝutitaj dosieroj:" ;
278282 $wikiUploadSize = "Grando (bitokoj)" ;
279283 $wikiFileRemoval = "Forigado de dosiero" ;
280 -$wikiUploadRemove = "Klaku cxi tie por forigi $1." ;
 284+$wikiUploadRemove = "Klaku ĉi tie por forigi $1." ;
281285
282286 # Misc
283287 $wikiHistoryTitle = "Historio de $1" ;
284288 $wikiHistoryHeader = "Jen la historio de <a href=\"$THESCRIPT?title=$1\">$2</a>" ;
285289 $wikiCurrentVersion = "aktuala" ;
286 -$wikiSpecialTitle = "Specialaj Pagxoj" ;
 290+$wikiSpecialTitle = "Specialaj Paĝoj" ;
287291 $wikiSpecialText = "<b>This is a list of special pages.</b> Some of them are only available if you are logged in. If you are logged in, you can have this list automatically displayed on the right or left of each page as a QuickBar.<br><br>" ;
288292 $wikiStubTitle = "Mallongaj 'stumpartikoloj'" ;
289 -$wikiStubText = "'''Jen cxiuj artikoloj en la datumaro, ordigitaj laux longo.'''<br>''
290 -Alidirektaj pagxoj kaj pagxoj en (namespace) (ekzemple Priparolu:) '''ne''' listigxas cxi tie!''\n\n" ;
 293+$wikiLongPagesTitle = "La plej longaj artikoloj" ;
 294+$wikiStubText = "'''Jen ĉiuj artikoloj en la datumaro, ordigitaj laŭ longo ekde la malplej longa.'''<br>
 295+''Alidirektaj paĝoj kaj flankfunkciaj paĝoj (ekzemple Priparolu:) '''ne''' listiĝas ĉi tie!''\n\n" ;
 296+$wikiLongPagesText = "'''Jen cxiuj artikoloj en la datumaro, ordigitaj laŭ longo ekde la plej longa.'''<br>
 297+''Alidirektaj paĝoj kaj flankfunkciaj paĝoj (ekzemple Priparolu:) '''ne''' listiĝas ĉi tie!''\n\n" ;
291298 $wikiStubChars = "$1 literoj" ;
292 -$wikiStubDelete = "<b>Forigu cxi tiun pagxon!</b>" ;
293 -$wikiStubLinkHere = "$1 artikoloj ligas cxi tien." ;
 299+$wikiStubDelete = "<b>Forigu ĉi tiun paĝon!</b>" ;
 300+$wikiStubLinkHere = "$1 artikoloj ligas ĉi tien." ;
 301+$wikiStubShowLinks = "Sxalti \"montru ligilojn\" opcion" ;
 302+$wikiShowLinks = "Montru paĝojn ligantajn al $1" ;
294303 $wikiDeleteTitle = "Forigante artikolon '$1'" ;
295 -$wikiDeleteDenied = "<font size=+3>Vi ne rajtas forigi cxi tiun pagxon!</font>" ;
 304+$wikiDeleteDenied = "<font size=+3>Vi ne rajtas forigi ĉi tiun paĝon!</font>" ;
296305 $wikiDeleteSuccess = "'$1' estas forigita." ;
297 -$wikiDeleteMsg1 = "*$1, [[$wikiUser:$2|$2]] plene forigis pagxon '''$3'''\n" ;
 306+$wikiDeleteMsg1 = "*$1, [[$wikiUser:$2|$2]] plene forigis paĝon '''$3'''\n" ;
298307 $wikiDeleteMsg2 = "Plena forigo de $1" ;
299 -$wikiDeleteAsk = "Vi forigos la artikolon \"$1\" kaj gxian tutan historion!<br>
300 -Se vi tutkore certas, ke vi volas fari tion, <a href=\"$THESCRIPT?title=special:deletepage&target=$1&iamsure=yes\">klaku cxi tie</a>." ;
 308+$wikiDeleteAsk = "Vi forigos la artikolon \"$1\" kaj ĝian tutan historion!<br>
 309+Se vi tutkore certas, ke vi volas fari tion, <a href=\"$THESCRIPT?title=special:deletepage&target=$1&iamsure=yes\">klaku ĉi tie</a>." ;
301310 $wikiProtectTitle = "Protektante artikolon '$1'" ;
302 -$wikiProtectDenied = "<font size=+3>Vi ne rajtas protekti cxi tiun pagxon!</font>" ;
303 -$wikiProtectNow = "Pagxo '$1' nun estas protektata kiel $2." ;
 311+$wikiProtectDenied = "<font size=+3>Vi ne rajtas protekti ĉi tiun paĝon!</font>" ;
 312+$wikiProtectNow = "Paĝo '$1' nun estas protektata kiel $2." ;
304313 $wikiProtectText = "<font size=+2>Vi nun povas modifi la protektadon de '$target'</font><br>
305 -<i>Ekzemple, enmetu \"is_sysop\" por malebligi iun krom sistemestroj redakti tiun pagxon. Apartigi plurajn permesojn per komo \",\"</i>" ;
 314+<i>Ekzemple, enmetu \"is_sysop\" por malebligi iun krom sistemestroj redakti tiun paĝon. Apartigi plurajn permesojn per komo \",\"</i>" ;
306315 $wikiProtectCurrent = "Aktuala protektado : " ;
307 -$wikiContribTitle = "Kontribuajxoj de $1" ;
308 -$wikiContribText = "<h1>Kontribuajxoj de $1 :</h1>\n(Krom ''priparolu'' kaj ''log'' pagxoj)" ;
 316+$wikiContribTitle = "Kontribuaĵoj de $1" ;
 317+$wikiContribText = "<h1>Kontribuaĵoj de $1 :</h1>\n(Krom ''priparolu'' kaj ''log'' paĝoj)" ;
309318 $wikiContribDenied = "Deklaru uzantonomon!" ;
310 -$wikiLinkhereTitle = "Pagxoj kiuj ligas al $1" ;
311 -$wikiLinkhereBacklink = "Cxi tiuj artikoloj estas ligataj el [[$1]]:" ;
312 -$wikiLinkhereNoBacklink = "Cxi tiuj artikoloj ''ne'' estas ligataj el [[$1]]:" ;
 319+$wikiLinkhereTitle = "Paĝoj kiuj ligas al $1" ;
 320+$wikiLinkhereBacklink = "Ĉi tiuj artikoloj estas ligataj el [[$1]]:" ;
 321+$wikiLinkhereNoBacklink = "Ĉi tiuj artikoloj ''ne'' estas ligataj el [[$1]]:" ;
313322 $wikiBacklinkNolink = "Neniu artikoloj ligas al [[$1]]!" ;
314323 $wikiBacklinkFollowing = "La jenaj artikoloj ligas al [[$1]]:" ;
315324 $wikiWantedText = "'''La jenaj artikoloj ne ekzistas, sed aliaj artikoloj ligas al ili!''' (la unuaj 50)<br>\n" ;
316 -$wikiWantedToggleNumbers = "Klaku cxi tien por sxalti montri pagxtitolojn kiuj komencas per cifroj (aktuale $1)" ;
317 -$wikiWantedLine = "$1 deziras de <b>$2</b> artikoloj <nowiki>(vidu tiuj <a href=\"$3\">pagxojn kiuj ligas al \"$4\"</a></nowiki>)" ;
 325+$wikiWantedToggleNumbers = "Klaku ĉi tien por ŝalti montri paĝtitolojn kiuj komencas per cifroj (aktuale $1)" ;
 326+$wikiWantedLine = "$1 deziras de <b>$2</b> artikoloj <nowiki>(vidu tiuj <a href=\"$3\">paĝojn kiuj ligas al \"$4\"</a></nowiki>)" ;
318327 $wikiLastChange = "Laste redaktita $1" ;
319328 $wikiPopularPages = "Plej vizitataj" ;
320 -$wikiRefreshThisPage = "Rekalkulu cxi tiun liston" ;
321 -$wikiResourcesWarning = "(Bonvolu faru cxi tion nur malofte, cxar tiu funkcio alte taksas la sistemrisorcojn)" ;
322 -$wikiNoRefresh = "(La pagxon estis rekalkulita antaux nur $1 minutoj; bonvolu atendi kaj reprovi post $2 minutoj.)" ;
 329+$wikiRefreshThisPage = "Rekalkulu ĉi tiun liston" ;
 330+$wikiResourcesWarning = "(Bonvolu faru ĉi tion nur malofte, ĉar tiu funkcio alte taksas la sistemrisorcojn)" ;
 331+$wikiNoRefresh = "(La paĝon estis rekalkulita antaŭ nur $1 minutoj; bonvolu atendi kaj reprovi post $2 minutoj.)" ;
323332 $wikiLastRefreshed = "Laste rekalkulita $1" ;
 333+$wikiValidate = "Kontroli la laŭnormecon de ĉi tiu paĝo" ;
324334
325335
326336 #---------------------------
@@ -343,69 +353,58 @@
344354 $wikiEncodingNames = array("Unikodo", "X-Sistemo"); # Local names
345355
346356 # callback function for RecodeOutput
347 -function wikiRecodeOutputRaw($text) {
348 - $x = array(
349 - "Cx", "cx",
350 - "Gx", "gx",
351 - "Hx", "hx",
352 - "Jx", "jx",
353 - "Sx", "sx",
354 - "Ux", "ux",
355 - "CX", "cX",
356 - "GX", "gX",
357 - "HX", "hX",
358 - "JX", "jX",
359 - "SX", "sX",
360 - "UX", "uX");
361 - $u = array(
362 - "\xc4\x88", "\xc4\x89",
363 - "\xc4\x9c", "\xc4\x9d",
364 - "\xc4\xa4", "\xc4\xa5",
365 - "\xc4\xb4", "\xc4\xb5",
366 - "\xc5\x9c", "\xc5\x9d",
367 - "\xc5\xac", "\xc5\xad",
368 - "\xc4\x88", "\xc4\x89",
369 - "\xc4\x9c", "\xc4\x9d",
370 - "\xc4\xa4", "\xc4\xa5",
371 - "\xc4\xb4", "\xc4\xb5",
372 - "\xc5\x9c", "\xc5\x9d",
373 - "\xc5\xac", "\xc5\xad");
374 -
375 - return $text[1] . str_replace($x, $u, $text[2]) . $text[4];
376 -}
 357+function wikiRecodeOutputRaw ( $textregs ) {
 358+ $ux = array (
 359+ "x" => "xx" , "X" => "Xx" ,
 360+ "\xc4\x88" => "Cx" , "\xc4\x89" => "cx" ,
 361+ "\xc4\x9c" => "Gx" , "\xc4\x9d" => "gx" ,
 362+ "\xc4\xa4" => "Hx" , "\xc4\xa5" => "hx" ,
 363+ "\xc4\xb4" => "Jx" , "\xc4\xb5" => "jx" ,
 364+ "\xc5\x9c" => "Sx" , "\xc5\x9d" => "sx" ,
 365+ "\xc5\xac" => "Ux" , "\xc5\xad" => "ux"
 366+ ) ;
 367+ # Double Xs only if they follow cxapelutaj literoj or other Xs. It's not canon, but it's a lot prettier
 368+ $text = strtr ( $textregs[2] , $ux ) ;
 369+ return $textregs[1] . preg_replace ( "/((?:^|[^cghjsux])x)x(?!x)/i" , "\$1" , $text ) ;
 370+ }
377371
378372 function wikiRecodeOutputEo($text) {
379 - # Don't convert anything inside a tag (URLs, etc)
380 - # $pageText =~ s/(^|>)((.|\n)*?)(<|$)/$1.&RecodeOutput($2).$4/ige;
381 - global $user;
382 - if($user->options["encoding"] == 1) {
383 - return $text;
384 - } else {
385 - return preg_replace_callback("/(^|>)((.|\n)*?)(<|$)/", "wikiRecodeOutputRaw", $text);
386 -# return preg_replace ( "/(^|>)((.|\n)*?)(<|$)/e", "\"\$1\".str_replace(\$x,\$u,\"\$3\").\"\$4\"", $text);
387 - }
388 -}
 373+ # Don't convert anything inside a tag (URLs, etc)
 374+ # $pageText =~ s/(^|>)((.|\n)*?)(<|$)/$1.&RecodeOutput($2).$4/ige;
 375+ global $user;
 376+ if ( $user->options["encoding"] == 1 ) {
 377+ return preg_replace_callback ( "/(^|>)((?:.|\n)*?)(?=<|$)/" , "wikiRecodeOutputRaw" , $text ) ;
 378+ } else {
 379+ # We have to escape Xs in <textarea> and <input> to keep the input conversion working
 380+ $fixXs = "\"\$1\" . strtr(\"\$2\" , array ( \"x\" => \"xx\" , \"X\" => \"Xx\", \"\\'\" => \"'\") )" ;
 381+ $text = preg_replace ( "/(<textarea[^>]*>)((?:.|\n)*)(?=<\/textarea)/ie", $fixXs , $text ) ;
 382+ return preg_replace ( "/(<input[^>]+type\=\"?text\"?[^>]+value\=\")([^\"]*)(?=\")/ie", $fixXs , $text ) ;
 383+ }
 384+ return $text;
 385+ }
 386+ $wikiRecodeOutput = wikiRecodeOutputEo ;
389387
390388 function wikiRecodeInputEo($text) {
391 - $x = array(
392 - "Cx", "cx",
393 - "Gx", "gx",
394 - "Hx", "hx",
395 - "Jx", "jx",
396 - "Sx", "sx",
397 - "Ux", "ux");
398 - $u = array(
399 - "\xc4\x88", "\xc4\x89",
400 - "\xc4\x9c", "\xc4\x9d",
401 - "\xc4\xa4", "\xc4\xa5",
402 - "\xc4\xb4", "\xc4\xb5",
403 - "\xc5\x9c", "\xc5\x9d",
404 - "\xc5\xac", "\xc5\xad");
405 -
406 - return $text = str_replace($u, $x, $text);
407 -}
 389+ # Note that we *always* convert double-Xs into single Xs.
 390+ $xu = array (
 391+ "xx" => "x" , "xX" => "x" ,
 392+ "Xx" => "X" , "XX" => "XX" ,
 393+ "Cx" => "\xc4\x88" , "CX" => "\xc4\x88" ,
 394+ "cx" => "\xc4\x89" , "cX" => "\xc4\x89" ,
 395+ "Gx" => "\xc4\x9c" , "GX" => "\xc4\x9c" ,
 396+ "gx" => "\xc4\x9d" , "gX" => "\xc4\x9d" ,
 397+ "Hx" => "\xc4\xa4" , "HX" => "\xc4\xa4" ,
 398+ "hx" => "\xc4\xa5" , "hX" => "\xc4\xa5" ,
 399+ "Jx" => "\xc4\xb4" , "JX" => "\xc4\xb4" ,
 400+ "jx" => "\xc4\xb5" , "jX" => "\xc4\xb5" ,
 401+ "Sx" => "\xc5\x9c" , "SX" => "\xc5\x9c" ,
 402+ "sx" => "\xc5\x9d" , "sX" => "\xc5\x9d" ,
 403+ "Ux" => "\xc5\xac" , "UX" => "\xc5\xac" ,
 404+ "ux" => "\xc5\xad" , "uX" => "\xc5\xad"
 405+ ) ;
408406
409 -$wikiRecodeInput = wikiRecodeInputEo;
410 -$wikiRecodeOutput = wikiRecodeOutputEo;
 407+ return preg_replace ( "/([cghjsux]x)(?=(?:xx)*[^x\$])/ei" , "\$xu[\"\$1\"]" , $text ) ;
 408+ }
 409+ $wikiRecodeInput = wikiRecodeInputEo ;
411410
412411 ?>
Index: trunk/phpwiki/fpw/wiki.phtml
@@ -15,8 +15,8 @@
1616 $sp = explode ( "/" , $title ) ;
1717 $ns = explode ( ":" , $title ) ;
1818 $lsp = array_pop ( $sp ) ;
19 - if ( strtolower ( $lsp ) == $wikiTalk and count ( $sp ) > 0 ) {
20 - if ( count ( $ns ) == 1 or strtolower ( $ns[0] ) == $wikiTalk )
 19+ if ( strtolowerIntl ( $lsp ) == $wikiTalk and count ( $sp ) > 0 ) {
 20+ if ( count ( $ns ) == 1 or strtolowerIntl ( $ns[0] ) == $wikiTalk )
2121 $title = "$wikiTalk:".implode ( "/" , $sp ) ;
2222 }
2323 return $title ;
Index: trunk/phpwiki/fpw/wikiTitle.php
@@ -64,9 +64,9 @@
6565 # Generates a "secure" title
6666 function makeSecureTitle () {
6767 $this->splitTitle () ;
68 - $s = ucfirst ( trim ( $this->namespace ) ) ;
 68+ $s = ucfirstIntl ( trim ( $this->namespace ) ) ;
6969 if ( $s != "" ) $s .= ":" ;
70 - $s .= ucfirst ( trim ( $this->mainTitle ) ) ;
 70+ $s .= ucfirstIntl ( trim ( $this->mainTitle ) ) ;
7171 if ( trim ( $this->subpageTitle ) != "" ) $s .= "/".trim($this->subpageTitle) ;
7272
7373 # Unescape apostrophes (does this always work?)
@@ -105,7 +105,7 @@
106106 $s = str_replace ( "_" , " " , $s ) ;
107107 $s = str_replace ( "\\'" , "'" , $s ) ;
108108 $s = str_replace ( "\\\\" , "\\" , $s ) ;
109 - return ucfirst ( $s ) ;
 109+ return ucfirstIntl ( $s ) ;
110110 }
111111
112112 # Takes apart a title by namespace, subpage...
Index: trunk/phpwiki/fpw/special_userlogin.php
@@ -33,7 +33,7 @@
3434 $user->saveSettings() ;
3535 } else if ( $USERPASSWORD == $RETYPE and !($nu->doesUserExist()) ) {
3636 $user = new wikiUser ;
37 - $nu->name = ucfirst ( $nu->name ) ;
 37+ $nu->name = ucfirstIntl ( $nu->name ) ;
3838 $nu->addToDatabase () ;
3939 $user = $nu ;
4040 global $wikiWelcomeCreation ;
Index: trunk/phpwiki/fpw/special_longpages.php
@@ -1,6 +1,7 @@
22 <?
 3+include_once ( "special_shortpages.php" ) ; # For pagesthatlinkhere()
34 function LongPages () {
4 - global $THESCRIPT , $user , $vpage , $startat , $wikiLongPagesTitle , $wikiLongPagesText , $showLinksThere , $wikiStubShowLinks ;
 5+ global $THESCRIPT , $user , $vpage , $startat , $wikiLongPagesTitle , $wikiLongPagesText , $showLinksThere , $wikiStubShowLinks , $wikiShowLinks ;
56 if ( !isset ( $startat ) ) $startat = 1 ;
67 $perpage = $user->options["resultsPerPage"] ;
78 if ( $perpage == 0 ) $perpage = 20 ;
@@ -10,7 +11,7 @@
1112 if ( $showLinksThere == 1 ) $sLT2 = 0 ;
1213 else $sLT2 = 1 ;
1314 $ret = $wikiLongPagesText ;
14 - $ret .= str_replace ( "$1" , $sLT2 , $wikiStubShowLinks ) ;
 15+ $ret .= "<nowiki><a href=\"$THESCRIPT?title=special:LongPages&showLinksThere=$sLT2\">$wikiStubShowLinks</a><br></nowiki>\n";
1516 $connection = getDBconnection () ;
1617 $sql = "SELECT COUNT(*) AS number FROM cur WHERE cur_title NOT LIKE \"%:%\" AND cur_text NOT LIKE \"#redirect%\"" ;
1718 $result = mysql_query ( $sql , $connection ) ;
@@ -57,7 +58,7 @@
5859 $lf .= ")</font>" ;
5960 }
6061 $ret .= "<td$color width=\"100%\" valign=top>".str_replace("$1",count($lh),$wikiStubLinkHere)."$lf</td>\n";
61 - } else $ret .= "<td$color valign=top><nowiki><a href=\"".wikiLink("special:whatlinkshere&target=$k->url")."\">Show pages that link to \"".$k->getNiceTitle()."\"</a></nowiki></td>\n" ;
 62+ } else $ret .= "<td$color valign=top><nowiki><a href=\"".wikiLink("special:whatlinkshere&target=$k->url")."\">" . str_replace ( "$1" , $k->getNiceTitle() , $wikiShowLinks ) . "\"</a></nowiki></td>\n" ;
6263
6364 $ret .= "</tr>" ;
6465 if ( $color == $color1 ) $color = $color2 ;
Index: trunk/phpwiki/fpw/special_lonelypages.php
@@ -2,19 +2,20 @@
33 function LonelyPages () {
44 global $THESCRIPT ;
55 global $linkedLinks , $unlinkedLinks , $vpage ;
6 - global $wikiLonelyPagesTitle , $wikiLonelyPagesText ;
 6+ global $wikiLonelyPagesTitle , $wikiLonelyPagesText , $wikiTalk , $wikiUser ;
77 $vpage->special ( $wikiLonelyPagesTitle ) ;
88 $vpage->namespace = "" ;
99 $allPages = array () ;
1010 $ret = $wikiLonelyPagesText ;
1111
1212 $connection = getDBconnection () ;
13 - $sql = "SELECT cur_title,cur_linked_links,cur_unlinked_links FROM cur WHERE cur_title NOT LIKE \"User:%\" AND cur_title NOT LIKE \"%alk:%\" AND cur_text NOT LIKE \"#redirect%\" AND cur_text != \"\"" ;
 13+# $sql = "SELECT cur_title,cur_linked_links,cur_unlinked_links FROM cur WHERE cur_title NOT LIKE \"User:%\" AND cur_title NOT LIKE \"%alk:%\" AND cur_text NOT LIKE \"#redirect%\" AND cur_text != \"\"" ;
 14+ $sql = "SELECT cur_title,cur_linked_links,cur_unlinked_links FROM cur WHERE cur_title NOT LIKE \"".ucfirstIntl($wikiUser).":%\" AND cur_title NOT LIKE \"%" . substr($wikiTalk,2) . "%:%\" AND cur_text NOT LIKE \"#redirect%\" AND cur_text != \"\"" ;
1415 $result = mysql_query ( $sql , $connection ) ;
1516 while ( $s = mysql_fetch_object ( $result ) ) {
16 - $allPages[ucfirst($s->cur_title)] = $allPages[ucfirst($s->cur_title)] * 1 ;
17 - $u = explode ( "\n" , $s->cur_linked_links ) ; foreach ( $u as $x ) $allPages[ucfirst($x)] += 1 ;
18 - $u = explode ( "\n" , $s->cur_unlinked_links ) ; foreach ( $u as $x ) $allPages[ucfirst($x)] += 1 ;
 17+ $allPages[ucfirstIntl($s->cur_title)] = $allPages[ucfirstIntl($s->cur_title)] * 1 ;
 18+ $u = explode ( "\n" , $s->cur_linked_links ) ; foreach ( $u as $x ) $allPages[ucfirstIntl($x)] += 1 ;
 19+ $u = explode ( "\n" , $s->cur_unlinked_links ) ; foreach ( $u as $x ) $allPages[ucfirstIntl($x)] += 1 ;
1920 }
2021 if ( $result != false ) mysql_free_result ( $result ) ;
2122
Index: trunk/phpwiki/fpw/wikiPage.php
@@ -122,7 +122,7 @@
123123 # Not in use since we don't have subpages anymore
124124 function getSubpageList () {
125125 $a = array () ;
126 - $t = ucfirst ( $this->namespace ) ;
 126+ $t = ucfirstIntl ( $this->namespace ) ;
127127 if ( $t != "" ) $t .= ":" ;
128128 $t .= $this->mainTitle ;
129129 $mother = $t ;
@@ -164,13 +164,13 @@
165165 }
166166
167167 if ( stristr ( $this->namespace , $wikiTalk ) == false ) {
168 - #$n2 = ucfirst ( $this->namespace ) ;
 168+ #$n2 = ucfirstIntl ( $this->namespace ) ;
169169 #if ( $n2 != "" ) $n2 .= " " ;
170 - #$n2 .= ucfirst ( $wikiTalk ) ;
 170+ #$n2 .= ucfirstIntl ( $wikiTalk ) ;
171171 if ( $this->namespace != "" )
172 - $n2 = str_replace ( "$1" , ucfirst ( $this->namespace ) , $wikiNamespaceTalk ) ;
 172+ $n2 = str_replace ( "$1" , ucfirstIntl ( $this->namespace ) , $wikiNamespaceTalk ) ;
173173 else
174 - $n2 = ucfirst ( $wikiTalk ) ;
 174+ $n2 = ucfirstIntl ( $wikiTalk ) ;
175175 $dummy = new wikiTitle ;
176176 $dummy->setTitle ( $n2.":$n" ) ;
177177 #if ( $dummy->doesTopicExist ( $connection ) ) $style = "color:green;text-decoration:none" ;
@@ -293,7 +293,7 @@
294294 $text = str_replace ( "\"" , "\\\"" , $text ) ;
295295 # $comment = str_replace ( "\"" , "\\\"" , $comment ) ;
296296 $userName = str_replace ( "\"" , "\\\"" , $userName ) ;
297 - $comment = htmlentities ( $comment ) ;
 297+ $comment = htmlspecialchars ( $comment ) ;
298298 $sql = "UPDATE cur SET cur_text=\"$text\",cur_comment=\"$comment\",cur_user=\"$userID\"," ;
299299 $sql .= "cur_user_text=\"$userName\",cur_minor_edit=\"$minorEdit\",";
300300 $sql .= "cur_linked_links=\"$ll\",cur_unlinked_links=\"$ull\",$addCache cur_params=\"$pa\"$addSQL WHERE $cond" ;
@@ -343,13 +343,13 @@
344344 if ( strtolower ( $ii ) == strtolower ( $topic->namespace ) )
345345 $iwl = $wikiInterwiki[$ii] ;
346346 if ( $iwl != "" ) { # Interwiki Link
347 - $tt = ucfirst ( str_replace ( " " , "_" , $topic->mainTitle ) ) ;
 347+ $tt = ucfirstIntl ( str_replace ( " " , "_" , $topic->mainTitle ) ) ;
348348 $iwl = str_replace ( "$1" , $tt , $iwl ) ;
349349 if ( $c[0] == $c[1] ) $text = $topic->getNiceTitle ( $topic->mainTitle ) ;
350350 $linkStyle = "class=\"interwiki\"";
351351 $s .= "<a $linkStyle href=\"$iwl\">$text</a>" ;
352352 } else if ( in_array ( strtolower ( $topic->namespace ) , array_keys ( $wikiOtherLanguages ) ) ) {
353 - $tt = ucfirst ( str_replace ( " " , "_" , $topic->mainTitle ) ) ;
 353+ $tt = ucfirstIntl ( str_replace ( " " , "_" , $topic->mainTitle ) ) ;
354354 $iwl = str_replace ( "$1" , $tt , $wikiOtherLanguages[strtolower($topic->namespace)] ) ;
355355 if ( $c[0] == $c[1] ) $text = $topic->getNiceTitle ( $topic->mainTitle ) ;
356356 $this->otherLanguages[$topic->namespace] = $iwl ;
@@ -562,8 +562,8 @@
563563 $b = spliti ( "</pre>" , $x , 2 ) ;
564564 if ( count ( $b ) == 1 ) $s .= "&lt;pre&gt;$x" ;
565565 else {
566 - #$x = htmlentities ( $b[0] ) ;
567 - $x = str_replace ( array ( "<" , ">" ) , array ( "&lt;" , "&gt;" ) , $b[0] ) ;
 566+ #$x = htmlspecialchars ( $b[0] ) ;
 567+ $x = str_replace ( array ( "<" , ">" ) , array ( "&lt;" , "&gt;" ) , $b[0] ) ;
568568 $s .= "<pre>$x</pre>$b[1]" ;
569569 }
570570 }
@@ -955,7 +955,7 @@
956956
957957 if ( isset ( $framed ) and $framed != "top" ) return "" ;
958958 $t = $this->getNiceTitle ( $this->title ) ;
959 - if ( substr_count ( $t , ":" ) > 0 ) $t = ucfirst ( $t ) ;
 959+ if ( substr_count ( $t , ":" ) > 0 ) $t = ucfirstIntl ( $t ) ;
960960 $ret = "<table ".$user->options["quickBarBackground"]. "width=\"100%\" class=\"topbar\" cellspacing=0>\n<tr>" ;
961961 if ( $user->options["leftImage"] != "" )
962962 $ret .= "<td width=\"1%\" rowspan=2 bgcolor=\"#000000\"><img src=\"".$user->options["leftImage"]."\"></td>" ;
@@ -1116,7 +1116,7 @@
11171117 # This generates the footer with link bar, search box, etc.
11181118 function getFooter () {
11191119 global $wikiSearch , $wikiCategories , $wikiOtherNamespaces , $wikiCounter , $wikiLastChange , $wikiDiff;
1120 - global $wikiGetDate , $framed, $search ;
 1120+ global $wikiGetDate , $framed, $search , $wikiValidate ;
11211121
11221122 if ( isset ( $framed ) ) return "" ;
11231123 $ret = $this->getLinkBar() ;
@@ -1156,7 +1156,7 @@
11571157 */
11581158
11591159 $ret .= "<FORM method=post action=\"".wikiLink("")."\"><INPUT TYPE=text NAME=search SIZE=16 VALUE=\"$search\"><INPUT TYPE=submit value=\"$wikiSearch\">" ;
1160 - $ret .= " &nbsp; &nbsp; <a href=\"http://validator.w3.org/check/referer\" target=blank>Validate this page</a>" ;
 1160+ $ret .= " &nbsp; &nbsp; <a href=\"http://validator.w3.org/check/referer\" target=blank>$wikiValidate</a>" ;
11611161 $ret .= "</FORM>" ;
11621162
11631163 return $ret ;
@@ -1177,16 +1177,16 @@
11781178 $middle = $this->cache ;
11791179 #$middle = "<p>(cached)</p>" . $this->cache ; #FIXME
11801180
1181 - # Need to check for other-language links, which do not appear in the link arrays
1182 - $this->otherLanguages = array () ;
1183 - global $wikiOtherLanguages ;
1184 - preg_replace ( "/\[\[([a-z]{2})\:\s*([^\]]+)\s*\]\]/ie" ,
1185 - "( ( ( \$langurl = \$wikiOtherLanguages[\$lang = strtolower ( \"\$1\" )] ) != '' )
1186 - ? ( \$this->otherLanguages[\$lang] = str_replace ( '\\$1' ,
1187 - ucfirst ( str_replace ( array ( '+' , '%25' ) , array ( '_' , '%' ) , nurlencode ( \"\$2\" ) ) ) ,
1188 - \$langurl ) )
1189 - : '' )" ,
1190 - $this->contents ) ;
 1181+ # Need to check for other-language links, which do not appear in the link arrays
 1182+ $this->otherLanguages = array () ;
 1183+ global $wikiOtherLanguages ;
 1184+ preg_replace ( "/\[\[([a-z]{2})\:\s*([^\]]+)\s*\]\]/ie" ,
 1185+ "( ( ( \$langurl = \$wikiOtherLanguages[\$lang = strtolower ( \"\$1\" )] ) != '' )
 1186+ ? ( \$this->otherLanguages[\$lang] = str_replace ( '\\$1' ,
 1187+ ucfirstIntl ( str_replace ( array ( '+' , '%25' ) , array ( '_' , '%' ) , nurlencode ( \"\$2\" ) ) ) ,
 1188+ \$langurl ) )
 1189+ : '' )" ,
 1190+ $this->contents ) ;
11911191 } else {
11921192 $middle = $this->parseContents($middle) ;
11931193 if ( $this->canBeCached ) { # Generating cache
@@ -1255,8 +1255,8 @@
12561256 $a2 = explode ( "\n" , $s->old_text ) ;
12571257 $nl = array () ;
12581258 $dl = array () ;
1259 - foreach ( $a1 as $x ) if ( !in_array ( $x , $a2 ) ) array_push ( $nl , htmlentities ( $x ) ) ;
1260 - foreach ( $a2 as $x ) if ( !in_array ( $x , $a1 ) ) array_push ( $dl , htmlentities ( $x ) ) ;
 1259+ foreach ( $a1 as $x ) if ( !in_array ( $x , $a2 ) ) array_push ( $nl , htmlspecialchars ( $x ) ) ;
 1260+ foreach ( $a2 as $x ) if ( !in_array ( $x , $a1 ) ) array_push ( $dl , htmlspecialchars ( $x ) ) ;
12611261 # Output
12621262 $ret .= $wikiDiffLegend ;
12631263 $ret .= "<table width=\"100%\" border=1$bc cellspacing=0 cellpadding=2>\n" ;
Index: trunk/phpwiki/fpw/basicFunctions.php
@@ -27,6 +27,40 @@
2828 return mktime ( $hour , $min , $sec , $month , $day , $year ) ;
2929 }
3030
 31+# We unfortunately can't trust the locale functions for now, so we'll roll our own
 32+function ucfirstIntl ( $str ) {
 33+ global $wikiUpperChars , $wikiLowerChars ;
 34+
 35+ if ( $str == "" ) return $str ;
 36+
 37+ if ( is_array ( $wikiUpperChars ) ) {
 38+ # Multi-byte charsets or multi-character letters to be capitalised (eg Dutch ij->IJ)
 39+ # FIXME: For now, assuming UTF-8
 40+ return preg_replace ( "/^([\\x00-\\x7f]|[\\xc0-\\xff][\\x80-\\xbf]*)/e", "strtr ( \"\$1\" , \$wikiUpperChars )" , $str ) ;
 41+ }
 42+
 43+ # Simple single-byte charsets
 44+ return strtr ( substr ( $str , 0 , 1 ) , $wikiLowerChars , $wikiUpperChars ) . substr ( $str , 1 );
 45+ }
 46+
 47+
 48+function strtoupperIntl ( $str ) {
 49+ global $wikiUpperChars , $wikiLowerChars ;
 50+
 51+ if ( is_array ( $wikiUpperChars ) )
 52+ return strtr ( $str, $wikiUpperChars ) ;
 53+ return strtr ( $str , $wikiLowerChars , $wikiUpperChars );
 54+ }
 55+
 56+function strtolowerIntl ( $str ) {
 57+ global $wikiUpperChars , $wikiLowerChars ;
 58+
 59+ if ( is_array ( $wikiUpperChars ) )
 60+ return strtr ( $str, $wikiLowerChars ) ;
 61+ return strtr ( $str , $wikiUpperChars , $wikiLowerChars );
 62+ }
 63+
 64+
3165 # Called when editing/saving a page
3266 function edit ( $title ) {
3367 global $EditBox , $SaveButton , $PreviewButton , $MinorEdit , $FromEditForm ;

Status & tagging log