diff --git a/setup/lang.php b/setup/lang.php
new file mode 100644
index 0000000000..946fef4547
--- /dev/null
+++ b/setup/lang.php
@@ -0,0 +1,127 @@
+ True,
+ 'nonavbar' => True,
+ 'currentapp' => 'home',
+ 'noapi' => True
+ );
+ include('./inc/functions.inc.php');
+ // Authorize the user to use setup app and load the database
+ // Does not return unless user is authorized
+ if (!$GLOBALS['phpgw_setup']->auth('Config') || @$_POST['cancel'])
+ {
+ Header('Location: index.php');
+ exit;
+ }
+ $GLOBALS['phpgw_setup']->loaddb();
+
+ if (@$_POST['submit'])
+ {
+ $GLOBALS['phpgw_setup']->translation->setup_translation_sql();
+ $GLOBALS['phpgw_setup']->translation->sql->install_langs(@$_POST['lang_selected'],@$_POST['upgrademethod']);
+
+
+ if( !$GLOBALS['phpgw_setup']->translation->sql->line_rejected )
+ {
+ Header('Location: index.php');
+ exit;
+ }
+ }
+
+ $tpl_root = $GLOBALS['phpgw_setup']->html->setup_tpl_dir('setup');
+ $setup_tpl = CreateObject('phpgwapi.Template',$tpl_root);
+ $setup_tpl->set_file(array(
+ 'T_head' => 'head.tpl',
+ 'T_footer' => 'footer.tpl',
+ 'T_alert_msg' => 'msg_alert_msg.tpl',
+ 'T_lang_main' => 'lang_main.tpl'
+ ));
+
+ $setup_tpl->set_block('T_lang_main','B_choose_method','V_choose_method');
+
+ $stage_title = lang('Multi-Language support setup');
+ $stage_desc = lang('This program will help you upgrade or install different languages for eGroupWare');
+ $tbl_width = @$newinstall ? '60%' : '80%';
+ $td_colspan = @$newinstall ? '1' : '2';
+ $td_align = @$newinstall ? ' align="center"' : '';
+ $hidden_var1 = @$newinstall ? '' : '';
+
+ if (!@$newinstall && !isset($GLOBALS['phpgw_info']['setup']['installed_langs']))
+ {
+ $GLOBALS['phpgw_setup']->detection->check_lang(false); // get installed langs
+ }
+ $select_box_desc = lang('Select which languages you would like to use');
+ $select_box = '';
+ $languages = get_langs();
+ uasort($languages,create_function('$a,$b','return strcmp(@$a[\'descr\'],@$b[\'descr\']);'));
+ foreach($languages as $id => $data)
+ {
+ $select_box_langs =
+ @$select_box_langs
+ .''
+ ."\n";
+ }
+
+ if (!@$newinstall)
+ {
+ $meth_desc = lang('Select which method of upgrade you would like to do');
+ $blurb_addonlynew = lang('Only add languages that are not in the database already');
+ $blurb_addmissing = lang('Only add new phrases');
+ $blurb_dumpold = lang('Delete all old languages and install new ones');
+
+ $setup_tpl->set_var('meth_desc',$meth_desc);
+ $setup_tpl->set_var('blurb_addonlynew',$blurb_addonlynew);
+ $setup_tpl->set_var('blurb_addmissing',$blurb_addmissing);
+ $setup_tpl->set_var('blurb_dumpold',$blurb_dumpold);
+ $setup_tpl->parse('V_choose_method','B_choose_method');
+ }
+ else
+ {
+ $setup_tpl->set_var('V_choose_method','');
+ }
+
+ // Rejected Lines
+ unset($str);
+ foreach($GLOBALS['phpgw_setup']->translation->sql->line_rejected as $badline)
+ {
+ $_f_buffer = split("/", $badline["appfile"]);
+ $langfile = $_f_buffer[count($_f_buffer)-1] . " " . lang("in") . " " . $_f_buffer[count($_f_buffer)-2] . " " . lang("module");
+
+ $str .= lang("File") . " : " . $langfile . "
";
+ $str .= lang("Line") . " : " . $badline["line"] . "
";
+ }
+ $setup_tpl->set_var('V_alert_word', lang("Rejected lines"));
+ $setup_tpl->set_var('V_alert_msg', $str);
+
+ $setup_tpl->set_var('stage_title',$stage_title);
+ $setup_tpl->set_var('stage_desc',$stage_desc);
+ $setup_tpl->set_var('tbl_width',$tbl_width);
+ $setup_tpl->set_var('td_colspan',$td_colspan);
+ $setup_tpl->set_var('td_align',$td_align);
+ $setup_tpl->set_var('hidden_var1',$hidden_var1);
+ $setup_tpl->set_var('select_box_desc',$select_box_desc);
+ $setup_tpl->set_var('select_box_langs',$select_box_langs);
+
+ $setup_tpl->set_var('lang_install',lang('install'));
+ $setup_tpl->set_var('lang_cancel',lang('cancel'));
+
+ $GLOBALS['phpgw_setup']->html->show_header("$stage_title",False,'config',$GLOBALS['phpgw_setup']->ConfigDomain . '(' . $phpgw_domain[$GLOBALS['phpgw_setup']->ConfigDomain]['db_type'] . ')');
+ $setup_tpl->pparse('out','T_lang_main');
+ $setup_tpl->pparse('out','T_alert_msg');
+ $GLOBALS['phpgw_setup']->html->show_footer();
+?>