mirror of
https://github.com/YunoHost-Apps/hotspot_ynh.git
synced 2024-09-03 19:25:53 +02:00
Fix controller for gettext
This commit is contained in:
parent
3cc40acff0
commit
285b02fd3f
2 changed files with 44 additions and 60 deletions
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/* Wifi Hotspot app for YunoHost
|
/* Wifi Hotspot app for YunoHost
|
||||||
|
@ -19,9 +18,7 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Framework configuration
|
||||||
|
|
||||||
// Limonade configuration
|
|
||||||
function configure() {
|
function configure() {
|
||||||
option('env', ENV_PRODUCTION);
|
option('env', ENV_PRODUCTION);
|
||||||
option('debug', false);
|
option('debug', false);
|
||||||
|
@ -30,12 +27,7 @@ function configure() {
|
||||||
define('PUBLIC_DIR', '<TPL:NGINX_LOCATION>/public');
|
define('PUBLIC_DIR', '<TPL:NGINX_LOCATION>/public');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Not found page
|
// Gettext function
|
||||||
function not_found($errno, $errstr, $errfile=null, $errline=null) {
|
|
||||||
$msg = h(rawurldecode($errstr));
|
|
||||||
return render($msg, 'error_layout.html.php');
|
|
||||||
}
|
|
||||||
|
|
||||||
function T_($string) {
|
function T_($string) {
|
||||||
return gettext($string);
|
return gettext($string);
|
||||||
}
|
}
|
||||||
|
@ -46,43 +38,39 @@ function before($route) {
|
||||||
'fr' => 'fr_FR'
|
'fr' => 'fr_FR'
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
if(!isset($_SESSION['locale'])) {
|
||||||
* * Locale
|
$locale = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
||||||
* */
|
$_SESSION['locale'] = strtolower(substr(chop($locale[0]), 0, 2));
|
||||||
if (!isset($_SESSION['locale'])) {
|
|
||||||
$locale = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
|
||||||
$_SESSION['locale'] = strtolower(substr(chop($locale[0]),0,2));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$lang = $_SESSION['locale'];
|
$lang = $_SESSION['locale'];
|
||||||
|
|
||||||
// Convert simple language code into full language code
|
// Convert simple language code into full language code
|
||||||
if (array_key_exists($lang, $lang_mapping)) {
|
if(array_key_exists($lang, $lang_mapping)) {
|
||||||
$lang = $lang_mapping[$lang];
|
$lang = $lang_mapping[$lang];
|
||||||
}
|
}
|
||||||
$lang = $lang.'.utf8';
|
|
||||||
$textdomain="localization";
|
|
||||||
|
|
||||||
putenv('LANGUAGE='.$lang);
|
$lang = "$lang.utf8";
|
||||||
putenv('LANG='.$lang);
|
$textdomain = "localization";
|
||||||
putenv('LC_ALL='.$lang);
|
|
||||||
putenv('LC_MESSAGES='.$lang);
|
putenv("LANGUAGE=$lang");
|
||||||
setlocale(LC_ALL,$lang);
|
putenv("LANG=$lang");
|
||||||
setlocale(LC_CTYPE,$lang);
|
putenv("LC_ALL=$lang");
|
||||||
|
putenv("LC_MESSAGES=$lang");
|
||||||
|
|
||||||
|
setlocale(LC_ALL, $lang);
|
||||||
|
setlocale(LC_CTYPE, $lang);
|
||||||
|
|
||||||
$locales_dir = dirname(__FILE__).'/i18n';
|
$locales_dir = dirname(__FILE__).'/i18n';
|
||||||
bindtextdomain($textdomain,$locales_dir);
|
|
||||||
|
bindtextdomain($textdomain, $locales_dir);
|
||||||
bind_textdomain_codeset($textdomain, 'UTF-8');
|
bind_textdomain_codeset($textdomain, 'UTF-8');
|
||||||
textdomain($textdomain);
|
textdomain($textdomain);
|
||||||
// Set the $locale variable in template
|
|
||||||
set('locale', $lang);
|
set('locale', $lang);
|
||||||
}
|
}
|
||||||
|
|
||||||
// After routing
|
// After routing
|
||||||
function after($output, $route) {
|
function after($output, $route) {
|
||||||
/*
|
|
||||||
$time = number_format( (float)substr(microtime(), 0, 10) - LIM_START_MICROTIME, 6);
|
|
||||||
$output .= "\n<!-- page rendered in $time sec., on ".date(DATE_RFC822)." -->\n";
|
|
||||||
$output .= "<!-- for route\n";
|
|
||||||
$output .= print_r($route, true);
|
|
||||||
$output .= "-->";
|
|
||||||
*/
|
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
|
@ -335,7 +335,7 @@ dispatch('/status', function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
dispatch('/lang/:locale', function($locale = 'en') {
|
dispatch('/lang/:locale', function($locale = 'en') {
|
||||||
switch ($locale) {
|
switch($locale) {
|
||||||
case 'fr':
|
case 'fr':
|
||||||
$_SESSION['locale'] = 'fr';
|
$_SESSION['locale'] = 'fr';
|
||||||
break;
|
break;
|
||||||
|
@ -344,9 +344,5 @@ dispatch('/lang/:locale', function($locale = 'en') {
|
||||||
$_SESSION['locale'] = 'en';
|
$_SESSION['locale'] = 'en';
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($_GET['redirect_to'])) {
|
|
||||||
redirect_to($_GET['redirect_to']);
|
|
||||||
} else {
|
|
||||||
redirect_to('/');
|
redirect_to('/');
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue