Index: /trunk/include/constants.php
===================================================================
--- /trunk/include/constants.php	(revision 5340)
+++ /trunk/include/constants.php	(revision 5341)
@@ -105,4 +105,6 @@
 if (!defined('THEMES_TABLE'))
   define('THEMES_TABLE', $prefixeTable.'themes');
+if (!defined('LANGUAGES_TABLE'))
+  define('LANGUAGES_TABLE', $prefixeTable.'languages');
 
 ?>
Index: /trunk/install.php
===================================================================
--- /trunk/install.php	(revision 5340)
+++ /trunk/install.php	(revision 5341)
@@ -274,9 +274,10 @@
       if ($dblayer=='mysql')
       {
-	$install_charset_collate = "DEFAULT CHARACTER SET $pwg_db_charset";
+        $install_charset_collate = "DEFAULT CHARACTER SET $pwg_db_charset";
+        pwg_query('SET NAMES "'.$pwg_db_charset.'"');
       }
       else 
       {
-	$install_charset_collate = '';
+        $install_charset_collate = '';
       }
     }
@@ -373,4 +374,15 @@
    \'a secret key specific to the gallery for internal use\');';
     pwg_query($query);
+
+    // fill languages table
+    $inserts = array();
+    foreach (get_languages('utf-8') as $language_code => $language_name)
+    {
+      $inserts[] = array(
+        'id' => $language_code,
+        'name' => $language_name,
+      );
+    }
+    mass_inserts(LANGUAGES_TABLE, array('id', 'name'), $inserts);
 
     // fill $conf global array
Index: /trunk/install/db/85-database.php
===================================================================
--- /trunk/install/db/85-database.php	(revision 5340)
+++ /trunk/install/db/85-database.php	(revision 5341)
@@ -37,4 +37,9 @@
 )";
 
+if (DB_CHARSET == 'utf8')
+{
+  $query .= " DEFAULT CHARACTER SET utf8";
+}
+
 pwg_query($query);
 
Index: /trunk/install/db/90-database.php
===================================================================
--- /trunk/install/db/90-database.php	(revision 5341)
+++ /trunk/install/db/90-database.php	(revision 5341)
@@ -0,0 +1,62 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2010 Piwigo Team                  http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+
+if (!defined('PHPWG_ROOT_PATH'))
+{
+  die('Hacking attempt!');
+}
+
+$upgrade_description = 'Add a table to manage languages.';
+
+$query = "
+CREATE TABLE ".PREFIX_TABLE."languages (
+  `id` varchar(64) NOT NULL default '',
+  `version` varchar(64) NOT NULL default '0',
+  `name` varchar(64) default NULL,
+  PRIMARY KEY  (`id`)
+)";
+
+if (DB_CHARSET == 'utf8')
+{
+  $query .= " DEFAULT CHARACTER SET utf8";
+}
+
+pwg_query($query);
+
+// Fill table
+$inserts = array();
+foreach (get_languages('utf-8') as $language_code => $language_name)
+{
+  $inserts[] = array(
+    'id' => $language_code,
+    'name' => $language_name,
+  );
+}
+mass_inserts(PREFIX_TABLE.'languages', array('id', 'name'), $inserts);
+
+echo
+"\n"
+. $upgrade_description
+."\n"
+;
+?>
Index: /trunk/install/piwigo_structure-mysql.sql
===================================================================
--- /trunk/install/piwigo_structure-mysql.sql	(revision 5340)
+++ /trunk/install/piwigo_structure-mysql.sql	(revision 5341)
@@ -205,4 +205,16 @@
 
 --
+-- Table structure for table `piwigo_languages`
+--
+
+DROP TABLE IF EXISTS `piwigo_languages`;
+CREATE TABLE `piwigo_languages` (
+  `id` varchar(64) NOT NULL default '',
+  `version` varchar(64) NOT NULL default '0',
+  `name` varchar(64) default NULL,
+  PRIMARY KEY  (`id`)
+) TYPE=MyISAM;
+
+--
 -- Table structure for table `piwigo_old_permalinks`
 --
