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
|
||||
|
||||
/* Wifi Hotspot app for YunoHost
|
||||
|
@ -19,70 +18,59 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
// Limonade configuration
|
||||
// Framework configuration
|
||||
function configure() {
|
||||
option('env', ENV_PRODUCTION);
|
||||
option('debug', false);
|
||||
option('base_uri', '<TPL:NGINX_LOCATION>/');
|
||||
layout("layout.html.php");
|
||||
define('PUBLIC_DIR', '<TPL:NGINX_LOCATION>/public');
|
||||
}
|
||||
|
||||
// Not found page
|
||||
function not_found($errno, $errstr, $errfile=null, $errline=null) {
|
||||
$msg = h(rawurldecode($errstr));
|
||||
return render($msg, 'error_layout.html.php');
|
||||
option('env', ENV_PRODUCTION);
|
||||
option('debug', false);
|
||||
option('base_uri', '<TPL:NGINX_LOCATION>/');
|
||||
layout("layout.html.php");
|
||||
define('PUBLIC_DIR', '<TPL:NGINX_LOCATION>/public');
|
||||
}
|
||||
|
||||
// Gettext function
|
||||
function T_($string) {
|
||||
return gettext($string);
|
||||
return gettext($string);
|
||||
}
|
||||
|
||||
// Before routing
|
||||
function before($route) {
|
||||
$lang_mapping = array(
|
||||
'fr' => 'fr_FR'
|
||||
);
|
||||
$lang_mapping = array(
|
||||
'fr' => 'fr_FR'
|
||||
);
|
||||
|
||||
/**
|
||||
* * Locale
|
||||
* */
|
||||
if (!isset($_SESSION['locale'])) {
|
||||
$locale = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
||||
$_SESSION['locale'] = strtolower(substr(chop($locale[0]),0,2));
|
||||
}
|
||||
$lang = $_SESSION['locale'];
|
||||
// Convert simple language code into full language code
|
||||
if (array_key_exists($lang, $lang_mapping)) {
|
||||
$lang = $lang_mapping[$lang];
|
||||
}
|
||||
$lang = $lang.'.utf8';
|
||||
$textdomain="localization";
|
||||
if(!isset($_SESSION['locale'])) {
|
||||
$locale = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
|
||||
$_SESSION['locale'] = strtolower(substr(chop($locale[0]), 0, 2));
|
||||
}
|
||||
|
||||
putenv('LANGUAGE='.$lang);
|
||||
putenv('LANG='.$lang);
|
||||
putenv('LC_ALL='.$lang);
|
||||
putenv('LC_MESSAGES='.$lang);
|
||||
setlocale(LC_ALL,$lang);
|
||||
setlocale(LC_CTYPE,$lang);
|
||||
$locales_dir = dirname(__FILE__).'/i18n';
|
||||
bindtextdomain($textdomain,$locales_dir);
|
||||
bind_textdomain_codeset($textdomain, 'UTF-8');
|
||||
textdomain($textdomain);
|
||||
// Set the $locale variable in template
|
||||
set('locale', $lang);
|
||||
$lang = $_SESSION['locale'];
|
||||
|
||||
// Convert simple language code into full language code
|
||||
if(array_key_exists($lang, $lang_mapping)) {
|
||||
$lang = $lang_mapping[$lang];
|
||||
}
|
||||
|
||||
$lang = "$lang.utf8";
|
||||
$textdomain = "localization";
|
||||
|
||||
putenv("LANGUAGE=$lang");
|
||||
putenv("LANG=$lang");
|
||||
putenv("LC_ALL=$lang");
|
||||
putenv("LC_MESSAGES=$lang");
|
||||
|
||||
setlocale(LC_ALL, $lang);
|
||||
setlocale(LC_CTYPE, $lang);
|
||||
|
||||
$locales_dir = dirname(__FILE__).'/i18n';
|
||||
|
||||
bindtextdomain($textdomain, $locales_dir);
|
||||
bind_textdomain_codeset($textdomain, 'UTF-8');
|
||||
textdomain($textdomain);
|
||||
|
||||
set('locale', $lang);
|
||||
}
|
||||
|
||||
// After routing
|
||||
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,18 +335,14 @@ dispatch('/status', function() {
|
|||
});
|
||||
|
||||
dispatch('/lang/:locale', function($locale = 'en') {
|
||||
switch ($locale) {
|
||||
switch($locale) {
|
||||
case 'fr':
|
||||
$_SESSION['locale'] = 'fr';
|
||||
break;
|
||||
break;
|
||||
|
||||
default:
|
||||
$_SESSION['locale'] = 'en';
|
||||
}
|
||||
|
||||
if(!empty($_GET['redirect_to'])) {
|
||||
redirect_to($_GET['redirect_to']);
|
||||
} else {
|
||||
redirect_to('/');
|
||||
}
|
||||
redirect_to('/');
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue