aboutsummaryrefslogtreecommitdiffstats
path: root/include/language.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/language.php')
-rw-r--r--include/language.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/include/language.php b/include/language.php
index 96d3e48a9..efe9397fb 100644
--- a/include/language.php
+++ b/include/language.php
@@ -327,3 +327,61 @@ function get_language_name($s, $l = null) {
return $language->getName();
}
+
+
+
+function language_list() {
+
+ $langs = glob('view/*/hstrings.php');
+
+ $lang_options = array();
+ $selected = "";
+
+ if(is_array($langs) && count($langs)) {
+ if(! in_array('view/en/hstrings.php',$langs))
+ $langs[] = 'view/en/';
+ asort($langs);
+ foreach($langs as $l) {
+ $ll = substr($l,5);
+ $ll = substr($ll,0,strrpos($ll,'/'));
+ $lang_options[$ll] = get_language_name($ll, $ll) . " ($ll)";
+ }
+ }
+ return $lang_options;
+}
+
+function lang_selector() {
+
+ $langs = glob('view/*/hstrings.php');
+
+ $lang_options = array();
+ $selected = "";
+
+ if(is_array($langs) && count($langs)) {
+ $langs[] = '';
+ if(! in_array('view/en/hstrings.php',$langs))
+ $langs[] = 'view/en/';
+ asort($langs);
+ foreach($langs as $l) {
+ if($l == '') {
+ $lang_options[""] = t('default');
+ continue;
+ }
+ $ll = substr($l,5);
+ $ll = substr($ll,0,strrpos($ll,'/'));
+ $selected = (($ll === App::$language && (x($_SESSION, 'language'))) ? $ll : $selected);
+ $lang_options[$ll] = get_language_name($ll, $ll) . " ($ll)";
+ }
+ }
+
+ $tpl = get_markup_template('lang_selector.tpl');
+
+ $o = replace_macros($tpl, array(
+ '$title' => t('Select an alternate language'),
+ '$langs' => array($lang_options, $selected),
+
+ ));
+
+ return $o;
+}
+