From: Niklas Laxström Date: Wed, 17 Aug 2005 22:31:01 +0000 (+0000) Subject: Finnish date formats.. X-Git-Tag: 1.6.0~1906 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/banques/ajouter.php?a=commitdiff_plain;h=571c802286510bef1e3811d5a8b2d1405a8fdfce;p=lhc%2Fweb%2Fwiklou.git Finnish date formats.. --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 379393f928..5f1f39f945 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -31,7 +31,7 @@ Misc work going on..... * (bug 3177) Estonian date formats not implemented in LanguageEt.php * Add ability to break off certain debug topics into additional log files; use $wgDebugLogGroups to configure and wfDebugLog() to log. - +* Finnish date format was hardcoded, now implemented properly === Caveats === diff --git a/languages/LanguageFi.php b/languages/LanguageFi.php index 2b21fd1b51..40ed488665 100644 --- a/languages/LanguageFi.php +++ b/languages/LanguageFi.php @@ -41,6 +41,14 @@ require_once( 'LanguageUtf8.php' ); 'myskin' => 'Oma tyylisivu' ) + $wgSkinNamesEn; +/* private */ $wgDateFormatsFi = array( + 'Ei valintaa', + '15. tammikuuta 2001 kello 16.12', + '15. tammikuuta 2001 kello 16:12:34', + '15.1.2001 16.12', + 'ISO 8601' => '2001-01-15 16:12:34' +); + /* private */ $wgBookstoreListFi = array( 'Akateeminen kirjakauppa' => 'http://www.akateeminen.com/search/tuotetieto.asp?tuotenro=$1', 'Bookplus' => 'http://www.bookplus.fi/product.php?isbn=$1', @@ -1348,26 +1356,90 @@ class LanguageFi extends LanguageUtf8 { return $wgSkinNamesFi; } - function date( $ts, $adj = false ) { - if ( $adj ) { $ts = $this->userAdjust( $ts ); } - - $d = (0 + substr( $ts, 6, 2 )) . '. ' . - $this->getMonthName( substr( $ts, 4, 2 ) ) . 'ta ' . substr( $ts, 0, 4 ); - return $d; + function getDateFormats() { + global $wgDateFormatsFi; + return $wgDateFormatsFi; } - function time( $ts, $adj = false, $seconds = true ) { - if ( $adj ) { $ts = $this->userAdjust( $ts ); } + /** + * @access public + * @param mixed $ts the time format which needs to be turned into a + * date('YmdHis') format with wfTimestamp(TS_MW,$ts) + * @param bool $adj whether to adjust the time output according to the + * user configured offset ($timecorrection) + * @param mixed $format what format to return, if it's false output the + * default one. + * @param string $timecorrection the time offset as returned by + * validateTimeZone() in Special:Preferences + * @return string + */ + function date( $ts, $adj = false, $format = true, $timecorrection = false ) { + if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); } + + $yyyy = substr( $ts, 0, 4 ); + $mm = substr( $ts, 4, 2 ); + $m = 0 + $mm; + $mmmm = $this->getMonthName( $mm ) . 'ta'; + $dd = substr( $ts, 6, 2 ); + $d = 0 + $dd; + + $datePreference = $this->dateFormat($format); + switch( $datePreference ) { + case '3': return "$d.$m.$yyyy"; + case 'ISO 8601': return "$yyyy-$mm-$dd"; + default: return "$d. $mmmm $yyyy"; + } + } - $t = substr( $ts, 8, 2 ) . ':' . substr( $ts, 10, 2 ); - if ( $seconds ) { - $t .= ':' . substr( $ts, 12, 2 ); + /** + * @access public + * @param mixed $ts the time format which needs to be turned into a + * date('YmdHis') format with wfTimestamp(TS_MW,$ts) + * @param bool $adj whether to adjust the time output according to the + * user configured offset ($timecorrection) + * @param mixed $format what format to return, if it's false output the + * default one (default true) + * @param string $timecorrection the time offset as returned by + * validateTimeZone() in Special:Preferences + * @return string + */ + function time( $ts, $adj = false, $format = true, $timecorrection = false ) { + if ( $adj ) { $ts = $this->userAdjust( $ts, $timecorrection ); } + + $hh = substr( $ts, 8, 2 ); + $mm = substr( $ts, 10, 2 ); + $ss = substr( $ts, 12, 2 ); + + $datePreference = $this->dateFormat($format); + switch( $datePreference ) { + case '2': + case 'ISO 8601': return "$hh:$mm:$ss"; + default: return "$hh.$mm"; } - return $t; } - function timeanddate( $ts, $adj = false ) { - return $this->date( $ts, $adj ) . ' kello ' . $this->time( $ts, $adj ); + /** + * @access public + * @param mixed $ts the time format which needs to be turned into a + * date('YmdHis') format with wfTimestamp(TS_MW,$ts) + * @param bool $adj whether to adjust the time output according to the + * user configured offset ($timecorrection) + * @param mixed $format what format to return, if it's false output the + * default one (default true) + * @param string $timecorrection the time offset as returned by + * validateTimeZone() in Special:Preferences + * @return string + */ + function timeanddate( $ts, $adj = false, $format = true, $timecorrection = false) { + $date = $this->date( $ts, $adj, $format, $timecorrection ); + $time = $this->time( $ts, $adj, $format, $timecorrection ); + + $datePreference = $this->dateFormat($format); + switch( $datePreference ) { + case '3': + case 'ISO 8601': return "$date $time"; + default: return "$date kello $time"; + } } function getMessage( $key ) {