wiki.techinc.nl/languages/classes/LanguageTr.php
2011-05-29 16:32:05 +00:00

65 lines
1.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Turkish (Türkçe)
*
* Turkish has two different i, one with a dot and another without a dot. They
* are totally different letters in this language, so we have to override the
* ucfirst and lcfirst methods.
* See http://en.wikipedia.org/wiki/Dotted_and_dotless_I
* and @bug 28040
* @ingroup Language
*/
class LanguageTr extends Language {
/**
* @param $string string
* @return string
*/
function ucfirst ( $string ) {
if ( !empty( $string ) && $string[0] == 'i' ) {
return 'İ' . substr( $string, 1 );
} else {
return parent::ucfirst( $string );
}
}
/**
* @param $string string
* @return mixed|string
*/
function lcfirst ( $string ) {
if ( !empty( $string ) && $string[0] == 'I' ) {
return 'ı' . substr( $string, 1 );
} else {
return parent::lcfirst( $string );
}
}
/**
* @see bug 28040
*
* @param $string string
* @param $first string|bool
*
* @return string
*/
function uc( $string, $first = false ) {
$string = preg_replace( '/i/', 'İ', $string );
return parent::uc( $string, $first );
}
/**
* @see bug 28040
*
* @param $string string
* @param $first string|bool
*
* @return string
*/
function lc( $string, $first = false ) {
$string = preg_replace( '/I/', 'ı', $string );
return parent::lc( $string, $first );
}
}