diff options
Diffstat (limited to 'includes/helper/internationalization_helper.php')
-rw-r--r-- | includes/helper/internationalization_helper.php | 87 |
1 files changed, 46 insertions, 41 deletions
diff --git a/includes/helper/internationalization_helper.php b/includes/helper/internationalization_helper.php index a537ef3d..ed16de15 100644 --- a/includes/helper/internationalization_helper.php +++ b/includes/helper/internationalization_helper.php @@ -1,71 +1,76 @@ <?php -$locales = [ - 'de_DE.UTF-8' => "Deutsch", - 'en_US.UTF-8' => "English" -]; - -$default_locale = 'en_US.UTF-8'; /** * Return currently active locale + * + * @return string */ -function locale() { - return $_SESSION['locale']; +function locale() +{ + return $_SESSION['locale']; } /** * Returns two letter language code from currently active locale + * + * @return string */ -function locale_short() { - return substr(locale(), 0, 2); +function locale_short() +{ + return substr(locale(), 0, 2); } /** * Initializes gettext for internationalization and updates the sessions locale to use for translation. */ -function gettext_init() { - global $locales, $default_locale; +function gettext_init() +{ + $locales = config('locales'); + $default_locale = config('default_locale'); - if (isset($_REQUEST['set_locale']) && isset($locales[$_REQUEST['set_locale']])) { - $_SESSION['locale'] = $_REQUEST['set_locale']; - } elseif (! isset($_SESSION['locale'])) { - $_SESSION['locale'] = $default_locale; - } + if (isset($_REQUEST['set_locale']) && isset($locales[$_REQUEST['set_locale']])) { + $_SESSION['locale'] = $_REQUEST['set_locale']; + } elseif (!isset($_SESSION['locale'])) { + $_SESSION['locale'] = $default_locale; + } - gettext_locale(); - bindtextdomain('default', realpath(__DIR__ . '/../../locale')); - bind_textdomain_codeset('default', 'UTF-8'); - textdomain('default'); + gettext_locale(); + bindtextdomain('default', realpath(__DIR__ . '/../../locale')); + bind_textdomain_codeset('default', 'UTF-8'); + textdomain('default'); } /** * Swich gettext locale. * - * @param string $locale + * @param string $locale */ -function gettext_locale($locale = null) { - if ($locale == null) { - $locale = $_SESSION['locale']; - } - - putenv('LC_ALL=' . $locale); - setlocale(LC_ALL, $locale); +function gettext_locale($locale = null) +{ + if ($locale == null) { + $locale = $_SESSION['locale']; + } + + putenv('LC_ALL=' . $locale); + setlocale(LC_ALL, $locale); } /** * Renders language selection. * - * @return string + * @return array */ -function make_langselect() { - global $locales; - $URL = $_SERVER["REQUEST_URI"] . (strpos($_SERVER["REQUEST_URI"], "?") > 0 ? '&' : '?') . "set_locale="; - - $items = []; - foreach ($locales as $locale => $name) { - $items[] = toolbar_item_link(htmlspecialchars($URL) . $locale, '', '<img src="pic/flag/' . $locale . '.png" alt="' . $name . '" title="' . $name . '"> ' . $name); - } - return $items; -} +function make_langselect() +{ + $url = $_SERVER['REQUEST_URI'] . (strpos($_SERVER['REQUEST_URI'], '?') > 0 ? '&' : '?') . 'set_locale='; -?>
\ No newline at end of file + $items = []; + foreach (config('locales') as $locale => $name) { + $items[] = toolbar_item_link( + htmlspecialchars($url) . $locale, + '', + '<img src="pic/flag/' . $locale . '.png" alt="' . $name . '" title="' . $name . '"> ' . $name + ); + } + return $items; +} |