mirror of
https://github.com/24eme/signaturepdf
synced 2024-05-19 14:16:37 +02:00
Better language detection and take server language otherwise
This commit is contained in:
parent
54b39bb6fc
commit
e165f152b0
40
app.php
40
app.php
|
@ -1,14 +1,19 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
setlocale(LC_ALL, "");
|
||||||
|
|
||||||
$f3 = require(__DIR__.'/vendor/fatfree/base.php');
|
$f3 = require(__DIR__.'/vendor/fatfree/base.php');
|
||||||
|
|
||||||
|
$f3->set('FALLBACK', null);
|
||||||
|
$f3->language($f3->get('HEADERS')['Accept-Language']);
|
||||||
|
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
if(getenv("DEBUG")) {
|
if(getenv("DEBUG")) {
|
||||||
$f3->set('DEBUG', getenv("DEBUG"));
|
$f3->set('DEBUG', getenv("DEBUG"));
|
||||||
}
|
}
|
||||||
|
|
||||||
$f3->set('LANGUAGES',
|
$f3->set('SUPPORTED_LANGUAGES',
|
||||||
['fr' => 'Français',
|
['fr' => 'Français',
|
||||||
'en' => 'English',
|
'en' => 'English',
|
||||||
'ar' => 'العربية']);
|
'ar' => 'العربية']);
|
||||||
|
@ -34,12 +39,11 @@ if($f3->get('DISABLE_ORGANIZATION')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($f3->get('GET.lang')) {
|
if ($f3->get('GET.lang')) {
|
||||||
$lang = $f3->get('GET.lang');
|
selectLanguage($f3->get('GET.lang'), $f3, true);
|
||||||
changeLanguage($lang, $f3);
|
|
||||||
} elseif (isset($_SESSION['LANGUAGE'])) {
|
|
||||||
changeLanguage($_SESSION['LANGUAGE'], $f3);
|
|
||||||
} elseif (isset($_COOKIE['LANGUAGE'])) {
|
} elseif (isset($_COOKIE['LANGUAGE'])) {
|
||||||
changeLanguage($_COOKIE['LANGUAGE'], $f3);
|
selectLanguage($_COOKIE['LANGUAGE'], $f3, true);
|
||||||
|
} else {
|
||||||
|
selectLanguage($f3->get('LANGUAGE'), $f3);
|
||||||
}
|
}
|
||||||
|
|
||||||
$domain = basename(glob($f3->get('ROOT')."/locale/application_*.pot")[0], '.pot');
|
$domain = basename(glob($f3->get('ROOT')."/locale/application_*.pot")[0], '.pot');
|
||||||
|
@ -47,13 +51,6 @@ $domain = basename(glob($f3->get('ROOT')."/locale/application_*.pot")[0], '.pot'
|
||||||
bindtextdomain($domain, $f3->get('ROOT')."/locale");
|
bindtextdomain($domain, $f3->get('ROOT')."/locale");
|
||||||
textdomain($domain);
|
textdomain($domain);
|
||||||
|
|
||||||
function changeLanguage($lang, $f3) {
|
|
||||||
$_SESSION['LANGUAGE'] = $lang;
|
|
||||||
setcookie("LANGUAGE", $lang, strtotime('+1 year'));
|
|
||||||
putenv("LANGUAGE=$lang");
|
|
||||||
$f3->set('LANGUAGE', $lang);
|
|
||||||
}
|
|
||||||
|
|
||||||
$f3->set('TRANSLATION_LANGUAGE', _("en"));
|
$f3->set('TRANSLATION_LANGUAGE', _("en"));
|
||||||
$f3->set('DIRECTION_LANGUAGE', 'ltr');
|
$f3->set('DIRECTION_LANGUAGE', 'ltr');
|
||||||
if($f3->get('TRANSLATION_LANGUAGE') == "ar") {
|
if($f3->get('TRANSLATION_LANGUAGE') == "ar") {
|
||||||
|
@ -474,6 +471,23 @@ function getCommit() {
|
||||||
return substr($commit, 0, 7);
|
return substr($commit, 0, 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function selectLanguage($lang, $f3, $putCookie = false) {
|
||||||
|
$langSupported = null;
|
||||||
|
foreach(explode(',', $lang) as $l) {
|
||||||
|
if(array_key_exists($l, $f3->get('SUPPORTED_LANGUAGES'))) {
|
||||||
|
$langSupported = $l;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!$langSupported) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if($putCookie) {
|
||||||
|
setcookie("LANGUAGE", $langSupported, strtotime('+1 year'));
|
||||||
|
}
|
||||||
|
putenv("LANGUAGE=$langSupported");
|
||||||
|
}
|
||||||
|
|
||||||
function convertPHPSizeToBytes($sSize)
|
function convertPHPSizeToBytes($sSize)
|
||||||
{
|
{
|
||||||
$sSuffix = strtoupper(substr($sSize, -1));
|
$sSuffix = strtoupper(substr($sSize, -1));
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<span class="d-md-none"><i class="bi bi-translate"></i></span>
|
<span class="d-md-none"><i class="bi bi-translate"></i></span>
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
|
<ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1">
|
||||||
<?php foreach ($LANGUAGES as $key => $langue):?>
|
<?php foreach ($SUPPORTED_LANGUAGES as $key => $langue):?>
|
||||||
<li><a class="dropdown-item" href="?lang=<?php echo $key ?>"><?php echo $langue ?></a></li>
|
<li><a class="dropdown-item" href="?lang=<?php echo $key ?>"><?php echo $langue ?></a></li>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
Loading…
Reference in a new issue