Jirafeau/lib/lang.php
Jerome Jutteau dc8ebc6884 enable Italian language
Signed-off-by: Jerome Jutteau <mojo@couak.net>
2015-04-26 15:29:32 +02:00

67 lines
2.1 KiB
PHP

<?php
/*
* Jirafeau, your web file repository
* Copyright (C) 2015 Jerome Jutteau <j.jutteau@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
global $languages_list;
$languages_list = array ('auto' => 'Automatic',
'de' => 'Deutsch',
'en' => 'English',
'fr' => 'Français',
'it' => 'Italian');
/* Translation */
function t ($text)
{
$cfg = $GLOBALS['cfg'];
$languages_list = $GLOBALS['languages_list'];
/* Detect user's langage if we are in automatic mode. */
if (strcmp ($cfg['lang'], 'auto') == 0)
$l = substr ($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
else
$l = $cfg['lang'];
/* Is the langage in the list ? */
$found = false;
foreach ($languages_list as $key => $v)
if (strcmp ($l, $key) == 0)
$found = true;
/* Don't translate english. */
if (!($found && strcmp ($l, "en")))
return $text;
/* Open translation file. */
$trans_j = file_get_contents (JIRAFEAU_ROOT . "lib/locales/$l.json");
if ($trans_j === FALSE)
return $text;
/* Decode JSON. */
$trans = json_decode ($trans_j, true);
if ($trans === NULL)
return $text;
/* Try to find translation. */
if (!array_key_exists ($text, $trans))
return $text;
return $trans[$text];
}
?>