|
Some languages such as russian (where are cyrillic characters used) and chinese (with their special characters), and many others, don't display correctly in module headers, page title, meta tags and etc.
This only happens in Joomla! that are not originaly installed in those "problematic" languages.
This is the case because Joomla! automaticly upon input through administration interface converts special characters into HTML special characters (e.g. К) and whenthat sam content it's displayed in frontend Joomla! uses PHP function "htmlspecialchars(var $string);" that then converts "&" character into "&" character and then our example is no longer "К" but "К" and your browser can't recognize it as some special character. It only recognize "&" as "&" and rest of the character recognizes as normal text so it is displayed on your screen as normal text "К".
The solution is to edit your modules_html class in includes/frontend.html.php file.
In modoutput_table and modoutput_xhtml functions change the following line:
echo htmlspecialchars( $module->title );
into
if($mosConfig_lang != "russian")
echo htmlspecialchars( $module->title );
else
echo $module->title;
In modoutput_rounded function change the following line:
echo "<h3>" . htmlspecialchars( $module->title ) . "</h3>" ;
into
if($mosConfig_lang != "russian")
echo "<h3>" . htmlspecialchars( $module->title ) . "</h3>";
else
echo <h3>" . $module->title . "</h3>";
Now we still need to take care of page title. You need to edit your includes/joomla.php file.
In setPageTitle function change the following line:
$title = trim( htmlspecialchars( $title ) );
into
iif($_REQUEST["lang"] != "ru")
$title = trim( htmlspecialchars( $title ) );
NOTE: these examples are for
Russian language only. If you need to apply it for saome other
language then you need to put that language name.
|