protected function preTransliterate($str)
{
return preg_replace_callback('/([A-Z]|Ā|Â|Ē|Ê|Ī|Î|Ō|Ô|Ū|Û)([a-z]|ā|â|ē|ê|ī|î|ō|ô|ū|û)/u', function ($matches) {
return mb_strtolower($matches[1], 'UTF-8') . $matches[2];
}, $str);
}