summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorPhilip Häusler <msquare@notrademark.de>2013-11-25 19:12:19 +0100
committerPhilip Häusler <msquare@notrademark.de>2013-11-25 19:12:19 +0100
commit96a263f7129fbcf01ef644c531cdcc0a0be59085 (patch)
tree1dcb780aad3926e308a7daae9db5d88ca4d459f6 /includes
parent33b97e3ad3f4baa82bb754c46134554c90b30346 (diff)
initial gettext integration
Diffstat (limited to 'includes')
-rw-r--r--includes/helper/internationalization_helper.php43
-rw-r--r--includes/pages/guest_login.php2
-rw-r--r--includes/sys_menu.php54
3 files changed, 66 insertions, 33 deletions
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 @@
+<?php
+$locales = array(
+ 'de_DE.UTF-8' => "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 = '<p class="content">';
+ foreach ($locales as $locale => $name)
+ $html .= '<a class="sprache" href="' . htmlspecialchars($URL) . $locale . '"><img src="pic/flag/' . $locale . '.png" alt="' . $name . '" title="' . $name . '"></a>';
+ $html .= '</p>';
+ return '<nav class="container"><h4>' . _("Language") . '</h4>' . $html . '</nav>';
+}
+
+?> \ 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 .= '<li' . ($page == $p ? ' class="selected"' : '') . '><a href="' . page_link_to($page) . '">' . Get_Text($page) . '</a></li>';
-
+
return '<nav><ul>' . $menu . '</ul></nav>';
}
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 .= '<li' . ($page == $p ? ' class="selected"' : '') . '><a href="' . page_link_to($page) . '">' . Get_Text($page) . '</a></li>';
-
+
if ($menu != "")
$menu = '<nav class="container"><h4>' . $name . '</h4><ul class="content">' . $menu . '</ul></nav>';
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 = '<p class="content"><a class="sprache" href="' . htmlspecialchars($URL) . 'DE"><img src="pic/flag/de.png" alt="DE" title="Deutsch"></a>';
- $html .= '<a class="sprache" href="' . htmlspecialchars($URL) . 'EN"><img src="pic/flag/en.png" alt="EN" title="English"></a></p>';
- return '<nav class="container"><h4>' . Get_Text("Sprache") . '</h4>' . $html . '</nav>';
-}
?>