From 96a263f7129fbcf01ef644c531cdcc0a0be59085 Mon Sep 17 00:00:00 2001 From: Philip Häusler Date: Mon, 25 Nov 2013 19:12:19 +0100 Subject: initial gettext integration --- includes/helper/internationalization_helper.php | 43 ++++++++++++++++++++ includes/pages/guest_login.php | 2 +- includes/sys_menu.php | 54 ++++++++++--------------- 3 files changed, 66 insertions(+), 33 deletions(-) create mode 100644 includes/helper/internationalization_helper.php (limited to 'includes') diff --git a/includes/helper/internationalization_helper.php b/includes/helper/internationalization_helper.php new file mode 100644 index 00000000..ae88eb21 --- /dev/null +++ b/includes/helper/internationalization_helper.php @@ -0,0 +1,43 @@ + "Deutsch", + 'en_US.UTF-8' => "English" +); + +$default_locale = 'en_US.UTF-8'; + +/** + * Initializes gettext for internationalization and updates the sessions locale to use for translation. + */ +function gettext_init() { + global $locales, $default_locale; + + if (isset($_REQUEST['set_locale']) && in_array($_REQUEST['set_locale'], array_keys($locales))) + $_SESSION['locale'] = $_REQUEST['set_locale']; + elseif (! isset($_SESSION['locale'])) + $_SESSION['locale'] = $default_locale; + + putenv('LC_ALL=' . $_SESSION['locale']); + setlocale(LC_ALL, $_SESSION['locale']); + bindtextdomain('default', '../locale'); + bind_textdomain_codeset('default', 'UTF-8'); + textdomain('default'); +} + +/** + * Renders language selection. + * + * @return string + */ +function make_langselect() { + global $locales; + $URL = $_SERVER["REQUEST_URI"] . (strpos($_SERVER["REQUEST_URI"], "?") > 0 ? '&' : '?') . "set_locale="; + + $html = '

'; + foreach ($locales as $locale => $name) + $html .= '' . $name . ''; + $html .= '

'; + return ''; +} + +?> \ No newline at end of file diff --git a/includes/pages/guest_login.php b/includes/pages/guest_login.php index bdd98d33..8c77cce0 100644 --- a/includes/pages/guest_login.php +++ b/includes/pages/guest_login.php @@ -9,7 +9,7 @@ function guest_register() { $nick = ""; $lastname = ""; $prename = ""; - $age = 23; + $age = ""; $tel = ""; $dect = ""; $mobile = ""; diff --git a/includes/sys_menu.php b/includes/sys_menu.php index f2611397..805888e2 100644 --- a/includes/sys_menu.php +++ b/includes/sys_menu.php @@ -13,24 +13,24 @@ function page_link_to_absolute($page) { */ function header_toolbar() { global $p, $privileges, $user; - + $toolbar_items = array(); - - if(in_array('register', $privileges)) + + if (in_array('register', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('register'), 'register', "Register", $p == 'register'); - - if(in_array('user_myshifts', $privileges)) + + if (in_array('user_myshifts', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('user_myshifts'), 'engel', $user['Nick'], $p == 'user_myshifts'); - - if(in_array('user_settings', $privileges)) + + if (in_array('user_settings', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('user_settings'), 'settings', "Settings", $p == 'user_settings'); - - if(in_array('login', $privileges)) + + if (in_array('login', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('login'), 'login', "Login", $p == 'login'); - - if(in_array('logout', $privileges)) + + if (in_array('logout', $privileges)) $toolbar_items[] = toolbar_item_link(page_link_to('logout'), 'logout', "Logout", $p == 'logout'); - + return toolbar($toolbar_items); } @@ -38,11 +38,11 @@ function make_navigation() { global $p; global $privileges; $menu = ""; - + $specials = array( - "faq" + "faq" ); - + $pages = array( "news", "user_meetings", @@ -65,28 +65,28 @@ function make_navigation() { "admin_faq", "admin_language", "admin_import", - "admin_log" + "admin_log" ); - + foreach ($pages as $page) if (in_array($page, $privileges) || in_array($page, $specials)) $menu .= '' . Get_Text($page) . ''; - + return ''; } function make_navigation_for($name, $pages) { global $privileges, $p; - + $specials = array( - "faq" + "faq" ); - + $menu = ""; foreach ($pages as $page) if (in_array($page, $privileges) || in_array($page, $specials)) $menu .= '' . Get_Text($page) . ''; - + if ($menu != "") $menu = ''; return $menu; @@ -96,14 +96,4 @@ function make_menu() { return make_navigation() . make_langselect(); } -function make_langselect() { - if (strpos($_SERVER["REQUEST_URI"], "?") > 0) - $URL = $_SERVER["REQUEST_URI"] . "&SetLanguage="; - else - $URL = $_SERVER["REQUEST_URI"] . "?SetLanguage="; - - $html = '

DE'; - $html .= 'EN

'; - return ''; -} ?> -- cgit v1.2.3-54-g00ecf