Index: data/LibsDB/OscadaLibs.sql
===================================================================
--- data/LibsDB/OscadaLibs.sql	(revision 3044)
+++ data/LibsDB/OscadaLibs.sql	(working copy)
@@ -8937,6 +8937,7 @@
 	inPrcArgs = new Object();
 	inPrcArgs.this = this;
 	inPrcArgs.ctx = new Object();
+	inPrcArgs.ctx.arguments = arguments;
 	return;
 }
 if(f_stop) return;
@@ -9293,6 +9294,7 @@
 	inPrcArgs = new Object();
 	inPrcArgs.this = this;
 	inPrcArgs.ctx = new Object();
+	inPrcArgs.ctx.arguments = arguments;
 	inPrcArgs.toSave = false;
 	return;
 }
@@ -9557,6 +9559,7 @@
 	inPrcArgs = new Object();
 	inPrcArgs.this = this;
 	inPrcArgs.ctx = new Object();
+	inPrcArgs.ctx.arguments = arguments;
 	return;
 }
 if(f_stop) return;
@@ -9960,6 +9963,7 @@
 	inPrcArgs = new Object();
 	inPrcArgs.this = this;
 	inPrcArgs.ctx = new Object();
+	inPrcArgs.ctx.arguments = arguments;
 	return;
 }
 if(f_stop) return;
Index: data/LibsDB/vcaBase.sql
===================================================================
--- data/LibsDB/vcaBase.sql	(revision 3046)
+++ data/LibsDB/vcaBase.sql	(working copy)
@@ -29699,7 +29699,10 @@
 INSERT INTO wlb_Main_uio VALUES('ImgLab','st_close','Parameter: status-close',131072,'0',10,'Parameter|st_close','','','Параметр: статус-закрито','','','Параметр: статус-закрыт','','','','','','');
 INSERT INTO wlb_Main_uio VALUES('ImgLab','st_open','Parameter: status-open',131072,'0',10,'Parameter|st_open','','','Параметр: статус-відкрито','','','Параметр: статус-открыто','','','','','Параметар: статус-опен','');
 INSERT INTO wlb_Main_uio VALUES('ImgLab','stop','Parameter: stop',131072,'0',14,'Parameter|stop','','','Параметр: зупинка','','','Параметр: останов','','','','','Параметар: стоп','');
-INSERT INTO wlb_Main_uio VALUES('ImgLab','imgs','Images, for "{openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}"',131077,'',9,'','','','Зображення, для "{openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}"','','','Изображение, для "{openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}"','','','','','','');
+INSERT INTO wlb_Main_uio VALUES('ImgLab','imgs','Images
+For "{openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}"',131077,'',9,'','','','Зображення
+Для "{openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}"','','','Изображение
+Для "{openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}"','','','','','','');
 INSERT INTO wlb_Main_uio VALUES('ImgLab','st_img','Parameter: status "{img}:{bCol}:{blink}"',131077,'',10,'Parameter|st_text','','','Параметр: статус "{img}:{bCol}:{blink}"','','','Параметр: статус "{img}:{bCol}:{blink}"','','','','','Параметар: статус "{img}:{bCol}:{blink}"','');
 INSERT INTO wlb_Main_uio VALUES('userManager','denyGroups','Deny to control: groups, separated by '';''',131077,'root;users;Archive;BD;DAQ;ModSched;Protocol;Security;Special;Transport;UI;',9,'','','','Заборонене до контролю: групи, поділені '';''','','','Запрещённые для редактирования: группы, разделённые '';''','','','','','','');
 INSERT INTO wlb_Main_uio VALUES('userManager','denyUsers','Deny to control: users, separated by '';''',131077,'root;',9,'','','','Заборонене до контролю: користувачі, поділені '';''','','','Запрещённые для редактирования: пользователи, разделённые '';''','','','','','','');
Index: src/moduls/daq/JavaLikeCalc/freefunc.cpp
===================================================================
--- src/moduls/daq/JavaLikeCalc/freefunc.cpp	(revision 3044)
+++ src/moduls/daq/JavaLikeCalc/freefunc.cpp	(working copy)
@@ -2998,7 +2998,7 @@
 		if(nType) nType->childAdd("el")->setText(i2s(io(id)->type()|((io(id)->flg()&(IO::FullText|IO::TransltText))<<8)));
 		if(nMode) nMode->childAdd("el")->setText(i2s(io(id)->flg()&(IO::Output|IO::Return)));
 		if(nHide) nHide->childAdd("el")->setText(io(id)->hide()?"1":"0");
-		if(nDef)  nDef->childAdd("el")->setText(io(id)->def());
+		if(nDef)  nDef->childAdd("el")->setText(trD(io(id)->def()));
 	    }
 	}
 	if(ctrChkNode2(opt,"add",SEC_WR)) {
@@ -3034,7 +3034,7 @@
 		    break;
 		case 3:	io(row)->setFlg(io(row)->flg()^((io(row)->flg()^s2i(opt->text()))&(IO::Output|IO::Return)));	break;
 		case 4:	io(row)->setHide(s2i(opt->text()));	break;
-		case 5:	io(row)->setDef(opt->text());	break;
+		case 5:	io(row)->setDef(trDSet(io(row)->def(),opt->text()));	break;
 	    }
 	    if(!owner().DB().empty()) modif();
 	}
Index: src/moduls/protocol/HTTP/http.cpp
===================================================================
--- src/moduls/protocol/HTTP/http.cpp	(revision 3044)
+++ src/moduls/protocol/HTTP/http.cpp	(working copy)
@@ -586,8 +586,7 @@
 		if(authSessTbl().size())
 		    ctrMkNode("fld",opt,-1,"/prm/cfg/spaceUID",_("Authentication UID generation space"),RWRWR_,"root",SPRT_ID,3,"tp","dec", "min","0", "max","100");
 		ctrMkNode("fld",opt,-1,"/prm/cfg/lf_tm",_("Life time of the authentication, minutes"),RWRWR_,"root",SPRT_ID,1,"tp","dec");
-		if(allowUsersAuth().size())
-		    ctrMkNode("fld",opt,-1,"/prm/cfg/aUsers",_("List of users allowed for authentication, separated by ';'"),RWRWR_,"root",SPRT_ID,1,"tp","str");
+		ctrMkNode("fld",opt,-1,"/prm/cfg/aUsers",_("List of users allowed for authentication, separated by ';'"),RWRWR_,"root",SPRT_ID,1,"tp","str");
 		if(ctrMkNode("table",opt,-1,"/prm/cfg/alog",_("Auto login"),RWRWR_,"root",SPRT_ID,3, "s_com","add,ins,del", "rows","3",
 		    "help",_("A list of address templates can be used for the address field, for example \"192.168.1.*;192.168.2.*\".")))
 		{
Index: src/moduls/protocol/HTTP/http.h
===================================================================
--- src/moduls/protocol/HTTP/http.h	(revision 3044)
+++ src/moduls/protocol/HTTP/http.h	(working copy)
@@ -170,7 +170,7 @@
 
 	//Attributes
 	MtxString	mDeny, mAllow, mTmpl, mTmplMainPage,
-			mAllowUsersAuth,	//????[v1.0] Remove, due to replacing by {User}.allowUsersAuth()
+			mAllowUsersAuth,
 			mAuthSessDB;
 	TElem		elAuth;		//Elements of the external authentication sessions
 	map<int, SAuth>	mAuth;
Index: src/moduls/ui/Vision/vis_widgs.cpp
===================================================================
--- src/moduls/ui/Vision/vis_widgs.cpp	(revision 3046)
+++ src/moduls/ui/Vision/vis_widgs.cpp	(working copy)
@@ -376,8 +376,8 @@
 
 bool UserStBar::event( QEvent *event )
 {
-    //!!!!: Can change user only at local or direct connection
-    if(event->type() == QEvent::MouseButtonDblClick && VCAStation().find(".") == string::npos)
+    //!!!!: Can change user only at local or direct connection, at empty second part
+    if(event->type() == QEvent::MouseButtonDblClick && TSYS::strParse(VCAStation(),1,".").empty())
 	userSel();
     else if(event->type() == QEvent::PaletteChange)
 	setUser(user());
Index: src/moduls/ui/WebUser/web_user.cpp
===================================================================
--- src/moduls/ui/WebUser/web_user.cpp	(revision 3044)
+++ src/moduls/ui/WebUser/web_user.cpp	(working copy)
@@ -253,7 +253,7 @@
 			" <tr><td class='content'><ul>\n";
 		for(unsigned iP = 0; iP < upLs.size(); iP++)
 		    if(uPgAt(upLs[iP]).at().enableStat() && pgAccess(prt,sender+"/" MOD_ID "/"+upLs[iP]+"/"))
-			page += "   <li><a href='"+upLs[iP]+"/'>"+trD(uPgAt(upLs[iP]).at().name())+"</a></li>\n";
+			page += "   <li><a href='/" MOD_ID "/"+upLs[iP]+"/'>"+trD(uPgAt(upLs[iP]).at().name())+"</a></li>\n";
 		page += "</ul></td></tr></table>\n";
 
 		page = pgCreator(prt, page, "200 OK", "", "", "", ses.lang);
Index: src/tfunction.cpp
===================================================================
--- src/tfunction.cpp	(revision 3044)
+++ src/tfunction.cpp	(working copy)
@@ -63,7 +63,7 @@
 	int dst_io = ioId(func.io(iIO)->id());
 	if(dst_io < 0)
 	    dst_io = ioIns(new IO(func.io(iIO)->id().c_str(),func.io(iIO)->name(),func.io(iIO)->type(),func.io(iIO)->flg(),
-		func.io(iIO)->def().c_str(),func.io(iIO)->hide(),func.io(iIO)->rez().c_str()), iIO);
+		func.io(iIO)->def(),func.io(iIO)->hide(),func.io(iIO)->rez().c_str()), iIO);
 	else *io(dst_io) = *func.io(iIO);
 	if(dst_io != iIO && !use()) {
 	    if(iIO >= ioSize())
@@ -411,7 +411,7 @@
 //*************************************************
 //* IO                                            *
 //*************************************************
-IO::IO( const char *iid, const string &iname, IO::Type itype,  unsigned iflgs, const char *idef, bool ihide, const char *irez ) :
+IO::IO( const char *iid, const string &iname, IO::Type itype,  unsigned iflgs, const string &idef, bool ihide, const char *irez ) :
     mId(iid), mName(iname), mType(itype), mFlg(iflgs), mDef(idef), mHide(ihide), mRez(irez), owner(NULL)
 {
 
Index: src/tfunction.h
===================================================================
--- src/tfunction.h	(revision 3044)
+++ src/tfunction.h	(working copy)
@@ -55,7 +55,7 @@
 	};
 
 	//Methods
-	IO( const char *id, const string &name, IO::Type type, unsigned flgs, const char *def = "",
+	IO( const char *id, const string &name, IO::Type type, unsigned flgs, const string &def = "",
 		bool hide = false, const char *rez = "" );
 	IO( const IO &src );
 
Index: src/tprmtmpl.cpp
===================================================================
--- src/tprmtmpl.cpp	(revision 3046)
+++ src/tprmtmpl.cpp	(working copy)
@@ -331,8 +331,10 @@
 		if(n_mode)	n_mode->childAdd("el")->setText(i2s(io(id)->flg()&(IO::Output|IO::Return)));
 		if(n_attr)	n_attr->childAdd("el")->setText(i2s(io(id)->flg()&(TPrmTempl::AttrRead|TPrmTempl::AttrFull)));
 		if(n_accs)	n_accs->childAdd("el")->setText(i2s(io(id)->flg()&(TPrmTempl::CfgConst|TPrmTempl::CfgLink)));
-		if(n_val)	n_val->childAdd("el")->setText(((io(id)->type()==IO::String && io(id)->flg()&IO::TransltText) ||
-								    io(id)->flg()&(TPrmTempl::CfgLink|IO::Selectable)) ? trD(io(id)->def()) : io(id)->def());
+		if(n_val)	n_val->childAdd("el")->setText(((io(id)->type()==IO::String && (io(id)->flg()&IO::TransltText)) ||
+								io(id)->flg()&(TPrmTempl::CfgLink|IO::Selectable))
+								    ? trD(io(id)->def())
+								    : io(id)->def());
 	    }
 	}
 	if(ctrChkNode3(opt,"add",RWRWR_,SEC_WR)) {
@@ -341,7 +343,7 @@
 		string ioID = TSYS::strLabEnum(ioPrev->id());
 		while(ioId(ioID) >= 0) ioID = TSYS::strLabEnum(ioID);
 		ioAdd(new IO(ioID.c_str(),TSYS::strLabEnum(trD(ioPrev->name())).c_str(),
-				ioPrev->type(),ioPrev->flg()&(~LockAttr),ioPrev->def().c_str()));
+				ioPrev->type(),ioPrev->flg()&(~LockAttr),trD(ioPrev->def()).c_str()));
 	    } else ioAdd(new IO("new",trDSet("",_("New IO")),IO::Real,IO::Default));
 	    modif();
 	}
@@ -352,7 +354,7 @@
 		string ioID = TSYS::strLabEnum(ioPrev->id());
 		while(ioId(ioID) >= 0) ioID = TSYS::strLabEnum(ioID);
 		ioIns(new IO(ioID.c_str(),TSYS::strLabEnum(trD(ioPrev->name())).c_str(),
-				ioPrev->type(),ioPrev->flg()&(~LockAttr),ioPrev->def().c_str()), row);
+				ioPrev->type(),ioPrev->flg()&(~LockAttr),trD(ioPrev->def()).c_str()), row);
 	    } else ioIns(new IO("new",trDSet("",_("New IO")),IO::Real,IO::Default), row);
 	    modif();
 	}
@@ -725,12 +727,12 @@
 		    continue;
 		// Check the selected param
 		bool is_lnk = func()->io(iIO)->flg()&TPrmTempl::CfgLink;
-		if(is_lnk && TSYS::strLine(func()->io(iIO)->def(),0).size() &&
+		if(is_lnk && TSYS::strLine(trD(func()->io(iIO)->def()),0).size() &&
 		    !s2i(TBDS::genPrmGet((pC?pC->owner().nodePath():obj->nodePath())+"onlAttr",DEF_onlAttr,opt->attr("user"))))
 		{
 		    string nprm = TSYS::strLine(TSYS::strSepParse(TSYS::strLine(trD(func()->io(iIO)->def()),0),0,'|'), 0);
 
-		    // Check already to present parameters
+		    // Checking for already present parameters
 		    bool f_ok = false;
 		    for(unsigned iL = 0; iL < list.size() && !f_ok; iL++)
 			if(list[iL] == nprm) f_ok = true;
@@ -787,7 +789,7 @@
 	    else opt->setText(lnk_val);
 	}
 	if(obj->ctrChkNode2(opt,"set",SEC_WR)) {
-	    string p_nm = TSYS::strSepParse(TSYS::strLine(func()->io(s2i(a_path.substr(8)))->def(),0),0,'|');
+	    string p_nm = TSYS::strSepParse(TSYS::strLine(trD(func()->io(s2i(a_path.substr(8)))->def()),0),0,'|');
 	    string p_vl = TSYS::strParse(opt->text(), 0, " ");
 	    bool isPath = (p_vl.find("prm:") == 0);
 	    if(pC && p_vl == (isPath?TSYS::path2sepstr(pC->DAQPath(),'.'):pC->DAQPath()))
@@ -795,9 +797,9 @@
 	    AutoHD<TValue> prm = SYS->daq().at().prmAt(isPath?p_vl.substr(4):p_vl, isPath?0:'.', true, obj);
 
 	    for(map<int,SLnk>::iterator iL = lnks.begin(); iL != lnks.end(); ++iL)
-		if(p_nm == TSYS::strSepParse(TSYS::strLine(func()->io(iL->first)->def(),0),0,'|')) {
+		if(p_nm == TSYS::strSepParse(TSYS::strLine(trD(func()->io(iL->first)->def()),0),0,'|')) {
 		    lnkAddrSet(iL->first, p_vl);
-		    string p_attr = TSYS::strSepParse(TSYS::strLine(func()->io(iL->first)->def(),0),1,'|');
+		    string p_attr = TSYS::strSepParse(TSYS::strLine(trD(func()->io(iL->first)->def()),0),1,'|');
 		    if(!prm.freeStat() && prm.at().vlPresent(p_attr))
 			lnkAddrSet(iL->first, p_vl+(isPath?"/":".")+p_attr);
 		}
