r10810 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r10809‎ | r10810 | r10811 >
Date:16:35, 27 August 2005
Author:nikerabbit
Status:old
Tags:
Comment:
+* Experimental feature to allow translation of block expiry times
Modified paths:
  • /trunk/phase3/RELEASE-NOTES (modified) (history)
  • /trunk/phase3/includes/LogPage.php (modified) (history)
  • /trunk/phase3/languages/Language.php (modified) (history)
  • /trunk/phase3/languages/LanguageFi.php (modified) (history)

Diff [purge]

Index: trunk/phase3/includes/LogPage.php
@@ -156,6 +156,7 @@
157157 * @static
158158 */
159159 function actionText( $type, $action, $title = NULL, $skin = NULL, $params = array(), $filterWikilinks=false ) {
 160+ global $wgLang;
160161 static $actions = array(
161162 'block/block' => 'blocklogentry',
162163 'block/unblock' => 'unblocklogentry',
@@ -193,6 +194,9 @@
194195 $rv = wfMsg( $actions[$key], $titleLink );
195196 } else {
196197 array_unshift( $params, $titleLink );
 198+ if ( $key == 'block/block' ) {
 199+ $params[1] = $wgLang->translateBlockExpiry($params[1]);
 200+ }
197201 $rv = wfMsgReal( $actions[$key], $params, true, false );
198202 }
199203 }
Index: trunk/phase3/RELEASE-NOTES
@@ -63,6 +63,8 @@
6464 * (bug 3280) Respect 'move' group permission on page moves
6565 * (bug 2613) Clear saved passwords from the form
6666 * Finally dropped MySQL 3.23.x support
 67+* Experimental feature to allow translation of block expiry times
 68+ Implementation only for Finnish currently
6769
6870
6971 === Caveats ===
Index: trunk/phase3/languages/LanguageFi.php
@@ -521,7 +521,7 @@
522522 'notextmatches' => 'Hakusanaa ei löytynyt sivujen teksteistä',
523523 'prevn' => '← $1 edellistä',
524524 'nextn' => '$1 seuraavaa →',
525 -'viewprevnext' => 'Näytä [$3] kerralla.<br />$1 | $2',
 525+'viewprevnext' => "Näytä [$3] kerralla.\n\n$1 | $2",
526526 'showingresults' => '<b>$1</b> tulosta tuloksesta <b>$2</b> alkaen.',
527527 'showingresultsnum' => 'Alla on <b>$3</b> hakutulosta alkaen <b>$2.</b> tuloksesta.',
528528 'nonefound' => '\'\'\'Huomautus\'\'\': Epäonnistuneet haut johtuvat usein hyvin yleisten sanojen, kuten \'\'on\'\' ja \'\'ei\'\', etsimisestä tai useamman kuin yhden hakutermin määrittelemisestä. Vain sivut, joilla on kaikki hakutermin sanat, näkyvät tuloksissa.',
@@ -983,7 +983,7 @@
984984 # Block/unblock IP
985985 #
986986 'blockip' => 'Aseta muokkausesto',
987 -'blockiptext' => 'Tällä lomakkeella voit estää käyttäjän tai IP-osoitteen muokkausoikeudet. Muokkausoikeuksien poistamiseen pitää olla syy, esimerkiksi sivujen vandalisointi. Kirjoita syy siihen varattuun kenttään.<br />Vanhenemisajat noudattavat GNUn standardimuotoa, joka on kuvattu tar-manuaalissa ([http://www.gnu.org/software/tar/manual/html_chapter/tar_7.html] [EN]), esimerkiksi ”1 hour”, ”2 days”, ”next Wednesday”, ”1 January 2017”. Esto voi olla myös ”indefinite” tai ”infinite”, joka kestää siihen asti, että se poistetaan.',
 987+'blockiptext' => 'Tällä lomakkeella voit estää käyttäjän tai IP-osoitteen muokkausoikeudet. Muokkausoikeuksien poistamiseen pitää olla syy, esimerkiksi sivujen vandalisointi. Kirjoita syy siihen varattuun kenttään.<br />Vanhenemisajat noudattavat GNUn standardimuotoa, joka on kuvattu tar-manuaalissa ([http://www.gnu.org/software/tar/manual/html_chapter/tar_7.html] [EN]), esimerkiksi ”1 hour”, ”2 days”, ”next Wednesday”, 2005-08-29”. Esto voi olla myös ”indefinite” tai ”infinite”, joka kestää kunnes se poistetaan.',
988988 'ipaddress' => 'IP-osoite', // TODO bug
989989 'ipadressorusername' => 'IP-osoite tai käyttäjätunnus',
990990 'ipbexpiry' => 'Umpeutuu',
@@ -1548,6 +1548,61 @@
15491549 return $word;
15501550 }
15511551
 1552+ function translateBlockExpiry( $str ) {
 1553+ /*$from = array(
 1554+ 'ago', 'now', 'today', 'this', 'next',
 1555+ 'first', 'third', 'fourth', 'fifth', 'sixth', 'seventh', 'eighth', 'ninth', 'tenth', 'eleventh', 'twelfth',
 1556+ 'tomorrow', 'yesterday',
 1557+ 'infinite', 'indefinite',
 1558+ );
 1559+ $to = array(
 1560+ 'sitten', 'nyt', 'tänään', 'tämä', 'seuraava',
 1561+ 'ensimmäinen', 'kolmas', 'neljäs', 'viides', 'kuudes', 'seitsemäs', 'kahdeksas', 'yhdeksäs', 'kymmenes', 'yhdestoista', 'kahdestoista',
 1562+ 'huomenna', 'eilen',
 1563+ 'ikuisesti', 'ikuisesti',
 1564+ );
 1565+ */
 1566+ $weekds = 'monday:maanantai,tuesday:tiistai,wednesday:keskiviikko,thursay:torstai,friday:perjantai,'.
 1567+ 'saturday:lauantai,sunday:sunnuntai,mon:ma,tue:ti,tues:ti,wed:ke,wednes:ke,thu:to,thur:to,'.
 1568+ 'thurs:to,fri:pe,sat:la,sun:su,next:seuraava,tomorrow:huomenna,ago:sitten,'.
 1569+ 'seconds:sekuntia,second:sekunti,secs:s,sec:s,'.
 1570+ 'minutes:minuuttia,minute:minuutti,mins:min,min:min,'.
 1571+ 'days:päivää,day:päivä,hours:tuntia,hour:tunti,weeks:viikkoa,week:viikko,'.
 1572+ 'fortnights:tuplaviikkoa,fortnight:tuplaviikko,'.
 1573+ 'months:kuukautta,month:kuukausi,years:vuotta,year:vuosi,'.
 1574+ 'infinite:ikuisesti,indefinite:ikuisesti';
 1575+ $months = 'january:tammikuu,february:helmikuu,march:maaliskuu,april:huhtikuu,may:toukokuu,june:kesäkuu,' .
 1576+ 'july:heinäkuu,august:elokuu,september:syyskuu,october:lokakuu,november:marraskuu,december:joulukuu,' .
 1577+ 'jan:tammikuu,feb:helmikuu,mar:maaliskuu,apr:huhtikuu,jun:kesäkuu,jul:heinäkuu,aug:elokuu,sep:syyskuu,'.
 1578+ 'oct:lokakuu,nov:marraskuu,dec:joulukuu,sept:syyskuu';
 1579+ $weekds = explode( ',', $weekds);
 1580+ $final = '';
 1581+ $stop = false;
 1582+ foreach( explode ( ' ', $str) as $item ) {
 1583+ if ( !is_numeric($item) ) {
 1584+ if ( count ( explode( '-', $item ) ) == 3 ) {
 1585+ list( $yyyy, $mm, $dd ) = explode( '-', $item );
 1586+ $final .= ' ' . $this->date( "{$yyyy}{$mm}{$dd}00000000");
 1587+ continue;
 1588+ }
 1589+ foreach( $weekds as $item2 ) {
 1590+ list( $from, $to) = explode( ':', $item2 );
 1591+ if ( strcasecmp( $from, $item ) == 0 ) {
 1592+ $final .= ' ' . $to;
 1593+ $stop = true;
 1594+ break;
 1595+ }
 1596+ }
 1597+ }
 1598+
 1599+ if (!$stop) {
 1600+ $final .= ' ' . $item;
 1601+ } else {
 1602+ $stop = false;
 1603+ }
 1604+ }
 1605+ return '<span class="blockexpiry" title="' . htmlspecialchars($str). '">”' . trim( $final ) . '”</span>';
 1606+ }
15521607 }
15531608
15541609 ?>
Index: trunk/phase3/languages/Language.php
@@ -2777,6 +2777,16 @@
27782778 }
27792779
27802780 /**
 2781+ * For translaing of expiry times
 2782+ * @param string The validated block time in English
 2783+ * @return Somehow translated block time
 2784+ * @see LanguageFi.php for example implementation
 2785+ */
 2786+ function translateBlockExpiry( $str ) {
 2787+ return $str;
 2788+ }
 2789+
 2790+ /**
27812791 * languages like Chinese need to be segmented in order for the diff
27822792 * to be of any use
27832793 *

Follow-up revisions

RevisionCommit summaryAuthorDate
r82836Fix bug that caused "Non-string key given" exception....nikerabbit08:19, 26 February 2011

Status & tagging log