Refresh lang cookie
Language names git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@291 7c3ca157-0c34-0410-bff1-cbf682f78f5c
This commit is contained in:
parent
bba76d8df6
commit
231187df0a
26
lang.inc.php
26
lang.inc.php
|
@ -1,13 +1,13 @@
|
||||||
<?php
|
<?php
|
||||||
static $translations = array(
|
static $langs = array(
|
||||||
'en' => array(),
|
'en' => 'English',
|
||||||
'cs' => array(), // Jakub Vrána - http://php.vrana.cz
|
'cs' => 'Čeština', // Jakub Vrána - http://php.vrana.cz
|
||||||
'sk' => array(), // Ivan Suchy - http://www.ivansuchy.com
|
'sk' => 'Slovenčina', // Ivan Suchy - http://www.ivansuchy.com
|
||||||
);
|
);
|
||||||
|
|
||||||
function lang($idf, $number = null) {
|
function lang($idf, $number = null) {
|
||||||
global $LANG, $translations;
|
global $LANG, $translations;
|
||||||
$translation = $translations[$LANG][$idf];
|
$translation = $translations[$idf];
|
||||||
if (is_array($translation) && $translation) {
|
if (is_array($translation) && $translation) {
|
||||||
switch ($LANG) {
|
switch ($LANG) {
|
||||||
case 'cs': $pos = ($number == 1 ? 0 : (!$number || $number >= 5 ? 2 : 1)); break;
|
case 'cs': $pos = ($number == 1 ? 0 : (!$number || $number >= 5 ? 2 : 1)); break;
|
||||||
|
@ -22,24 +22,24 @@ function lang($idf, $number = null) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function switch_lang() {
|
function switch_lang() {
|
||||||
global $translations;
|
global $langs;
|
||||||
echo "<p>" . lang('Language') . ":";
|
echo "<p>" . lang('Language') . ":";
|
||||||
$base = remove_from_uri("lang");
|
$base = remove_from_uri("lang");
|
||||||
foreach ($translations as $lang => $val) {
|
foreach ($langs as $lang => $val) {
|
||||||
echo ' <a href="' . htmlspecialchars($base . (strpos($base, "?") !== false ? "&" : "?")) . "lang=$lang\">$lang</a>";
|
echo ' <a href="' . htmlspecialchars($base . (strpos($base, "?") !== false ? "&" : "?")) . "lang=$lang\" title='$val'>$lang</a>";
|
||||||
}
|
}
|
||||||
echo "</p>\n";
|
echo "</p>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_GET["lang"])) {
|
if (isset($_GET["lang"])) {
|
||||||
setcookie("lang", $_GET["lang"], strtotime("+1 month"), preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"]));
|
|
||||||
$_COOKIE["lang"] = $_GET["lang"];
|
$_COOKIE["lang"] = $_GET["lang"];
|
||||||
$_SESSION["lang"] = $_GET["lang"];
|
$_SESSION["lang"] = $_GET["lang"];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($translations[$_COOKIE["lang"]])) {
|
if (isset($langs[$_COOKIE["lang"]])) {
|
||||||
|
setcookie("lang", $_GET["lang"], strtotime("+1 month"), preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"]));
|
||||||
$LANG = $_COOKIE["lang"];
|
$LANG = $_COOKIE["lang"];
|
||||||
} elseif (isset($translations[$_SESSION["lang"]])) {
|
} elseif (isset($langs[$_SESSION["lang"]])) {
|
||||||
$LANG = $_SESSION["lang"];
|
$LANG = $_SESSION["lang"];
|
||||||
} else {
|
} else {
|
||||||
$accept_language = array();
|
$accept_language = array();
|
||||||
|
@ -50,12 +50,12 @@ if (isset($translations[$_COOKIE["lang"]])) {
|
||||||
arsort($accept_language);
|
arsort($accept_language);
|
||||||
$LANG = "en";
|
$LANG = "en";
|
||||||
foreach ($accept_language as $lang => $q) {
|
foreach ($accept_language as $lang => $q) {
|
||||||
if (isset($translations[$lang])) {
|
if (isset($langs[$lang])) {
|
||||||
$LANG = $lang;
|
$LANG = $lang;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
$lang = preg_replace('~-.*~', '', $LANG);
|
$lang = preg_replace('~-.*~', '', $LANG);
|
||||||
if (!isset($accept_language[$lang]) && isset($translations[$lang])) {
|
if (!isset($accept_language[$lang]) && isset($langs[$lang])) {
|
||||||
$LANG = $lang;
|
$LANG = $lang;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue