Hello there,
I have a CMS which I've trying to create localization for. The idea is in the admin area you check a radio button and it changes the language of the entire admin interface. There is a mysql database with a table called nb_settings that has a column called lang. Up to this point I've gotten it to work but am having problems adding additional languages. The localization files have names like lang.nl.php,lang.en.php and so on..
The original code that works is this in a file called settings.php:
PHP Code:...
<?php
if($row['lang'] == nl)
{
echo '<input name="lang" type="radio" value="nl" checked="checked" /> '.($_CONSTANTS['NL']).'
<input name="lang" type="radio" value="en" /> '.($_CONSTANTS['EN']).'
<input name="lang" type="radio" value="de" /> '.($_CONSTANTS['DE']).'';
}
elseif($row['lang'] == en)
{
echo '<input name="lang" type="radio" value="nl" /> '.($_CONSTANTS['NL']).'
<input name="lang" type="radio" value="en" checked="checked" /> '.($_CONSTANTS['EN']).'
<input name="lang" type="radio" value="de" /> '.($_CONSTANTS['DE']).'';
}
elseif($row['lang'] == de)
{
echo '<input name="lang" type="radio" value="nl" /> '.($_CONSTANTS['NL']).'
<input name="lang" type="radio" value="en" /> '.($_CONSTANTS['EN']).'
<input name="lang" type="radio" value="de" checked="checked" /> '.($_CONSTANTS['DE']).'';
}
?>
...
Another file called common.php is used as well and has the following:
PHP Code:<?php
session_start();
header('Cache-control: private'); // IE 6 FIX
$sql = "SELECT * FROM nb_settings";
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);
if($row['lang'] == nl)
{
include('languages/lang.nl.php');
}
elseif($row['lang'] == en)
{
include('languages/lang.en.php');
}
elseif($row['lang'] == de)
{
include('languages/lang.de.php');
}
?>
But I am havng trouble adding more languages and expanding this. There is a folder called languages into which I put the individual localization files.
Just adding similar lines of code as shown below in both common and settings files doesn't do it: ie:
1)modifying settings.php to become:
2)adding in common.php:PHP Code:<?php
if($row['lang'] == nl)
{
echo '<input name="lang" type="radio" value="nl" checked="checked" /> '.($_CONSTANTS['NL']).'
<input name="lang" type="radio" value="en" /> '.($_CONSTANTS['EN']).'
<input name="lang" type="radio" value="de" /> '.($_CONSTANTS['DE']).'
<input name="lang" type="radio" value="fra" /> '.($_CONSTANTS['FRA']).'';
}
elseif($row['lang'] == en)
{
echo '<input name="lang" type="radio" value="nl" /> '.($_CONSTANTS['NL']).'
<input name="lang" type="radio" value="en" checked="checked" /> '.($_CONSTANTS['EN']).'
<input name="lang" type="radio" value="de" /> '.($_CONSTANTS['DE']).'
<input name="lang" type="radio" value="fra" /> '.($_CONSTANTS['FRA']).'';
}
elseif($row['lang'] == de)
{
echo '<input name="lang" type="radio" value="nl" /> '.($_CONSTANTS['NL']).'
<input name="lang" type="radio" value="en" /> '.($_CONSTANTS['EN']).'
<input name="lang" type="radio" value="de" checked="checked" /> '.($_CONSTANTS['DE']).'
<input name="lang" type="radio" value="fra" /> '.($_CONSTANTS['FRA']).'';
}
elseif($row['lang'] == fra)
{
echo '<input name="lang" type="radio" value="nl" /> '.($_CONSTANTS['NL']).'
<input name="lang" type="radio" value="en" /> '.($_CONSTANTS['EN']).'
<input name="lang" type="radio" value="de" /> '.($_CONSTANTS['DE']).'
<input name="lang" type="radio" value="fra" checked="checked" /> '.($_CONSTANTS['FRA']).'';
}
?>
Can anyone help me out with how to add additional languages?PHP Code:elseif($row['lang'] == fra)
{
include('languages/lang.fra.php');
}



Reply With Quote
Bookmarks