diff --git a/Zotlabs/Module/Lang.php b/Zotlabs/Module/Lang.php index a32f933a6..1a2f1664e 100644 --- a/Zotlabs/Module/Lang.php +++ b/Zotlabs/Module/Lang.php @@ -7,6 +7,52 @@ use Zotlabs\Web\Controller; class Lang extends Controller { + const MYP = 'ZIN'; + const VERSION = '2.0.0'; + + function post() { + + $re = []; + $isajax = is_ajax(); + $eol = $isajax ? "\n" : EOL; + + if (! Apps::system_app_installed(local_channel(), 'Language')) { + $re['msg'] = 'ZIN0202E, ' . t('Language App') . ' (' . t('Not Installed') . ')' ; + notice( $re['msg'] . EOL); + if ($isajax) { + echo json_encode( $re ); + killme(); + exit; + } else { + return; + } + } + + $lc = x($_POST['zinlc']) && preg_match('/^\?\?|[a-z]{2,2}[x_\-]{0,1}[a-zA-Z]{0,2}$/', $_POST['zinlc']) + ? $_POST['zinlc'] : ''; + $lcs= x($_POST['zinlcs']) && preg_match('/^[a-z,_\-]{0,191}$/', $_POST['zinlcs']) + ? $_POST['zinlcs'] : ''; + + if ($isajax) { + + if ($lc == '??') { + $re['lc'] = get_best_language(); + $re['lcs'] = language_list(); + } else { + $re['lc'] = $lc; + $re['alc'] = App::$language; + $re['slc'] = $_SESSION['language']; + $_SESSION['language'] = $lc; + App::$language = $lc; + load_translation_table($lc, true); + } + + echo json_encode( $re ); + killme(); + exit; + } + } + function get() { if(local_channel()) { diff --git a/app/lang.apd b/app/lang.apd index 65495dd5b..1856336ef 100644 --- a/app/lang.apd +++ b/app/lang.apd @@ -1,4 +1,4 @@ -version: 2 +version: 5.6 url: $baseurl/lang name: Language photo: icon:language diff --git a/view/js/main.js b/view/js/main.js index 6c418b213..11e0f812c 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -78,6 +78,65 @@ $(document).ready(function() { } }); + // @hilmar |-> + if ( typeof(window.tao) == 'undefined' ) { + window.tao = {}; + } + if ( typeof(window.tao.zin) == 'undefined' ) { + tao.zin = { syslc: '', syslcs: {}, htm: '', me: '', debug: '' }; + tao.zin.axim = '