<% '***************************************************************************** ' takes a value and converts it based on current language value ' Session("language") ' language is null returns current value ' if langauge is the default language, it returns current value ' otherwiselookup in table based on table name ' Includes other administrative subroutines ' may 30, 2005 '****************************************************************************** Function translatelanguage(dbc, table, fieldname,idfield, idvalue, currentvalue) dim newvalue, language, sql, rs, dbtable,pdbc language=getsess("language") if idvalue="" then debugwrite "Translating field=" & fieldname & " idfield=" & idfield & " idvalue=" & idvalue & " currentvalue=" & currentvalue end if newvalue=currentvalue if getconfig("xtranslate")<>"Yes" then translatelanguage=newvalue exit function end if If language="" then translatelanguage=newvalue exit function end if If ucase(language)=ucase(getconfig("xlanguage")) then translatelanguage=newvalue exit function end if select case idfield case "contentid" dbtable= "translatecontent" shopopendatabase pdbc case "categoryid" dbtable = "translatecategories" shopopendatabaseP pdbc 'VP-ASP 6.50 - wasn't previously translating features case "id" dbtable = "translateprodfeatures" shopopendatabaseP pdbc case else dbtable = "translateproducts" shopopendatabaseP pdbc end select 'dbtable="translate" & table dbtable=lcase(dbtable) sql="Select * from " & dbtable & " where lang='" & language & "'" sql = sql & " and " & idfield & "=" & idvalue 'debugwrite sql set rs=pdbc.execute(sql) if not rs.eof then newvalue=rs(fieldname) if isnull(newvalue) then newvalue=currentvalue end if end if closerecordset rs shopclosedatabase pdbc translatelanguage=newvalue end function '************************************************************************************ ' Link to shopa_translatelist.asp if the product has been added ' and display current translations '************************************************************************************ Sub AddtranslateLinkMenu (dbc, which, dbtable) dim keyfield, scriptresponder, keytable, viewresponder dim transtable transtable="translate" & dbtable If which="" then exit sub if getconfig("xtranslate")<>"Yes" then exit sub response.write "
" TranslateSetupTableSpecificvalues transtable, keyfield, scriptresponder, keytable, viewresponder dim headerText headerText = "" headertext = headertext & "
" & getlang("LangLanguage") & "" headertext = headertext & "" & "
" GenerateDisplayHeader headerText GenerateDisplayBodyHeader translateTabledisplay dbc, which, dbtable, keyfield, transtable GenerateDisplayBodyFooter end sub '****************************************************************************** ' for a specific record and specific table, generate a list of the translation '****************************************************************************** Sub TranslateTableDisplay (dbc, which, dbtable, keyfield, transtable) dim fieldnames(100), fieldcount, i, fieldname, sql, rs, captions(100) dim scriptresponder, keytable, viewresponder sql="Select * from " & transtable sql= sql & " where " & keyfield & "=" & which sql=sql & " order by lang, " & keyfield set rs=dbc.execute(sql) if rs.eof then closerecordset rs exit sub end if translateSetupTableSpecificvalues transtable, keyfield, scriptresponder, keytable, viewresponder translateSetupTableSpecificCaptions transtable, fieldnames, fieldcount, captions response.write ReportTabledef response.write ReportHeadRow for i = 0 to fieldcount-1 response.write ReportHeadColumn & captions(i) & ReportHeadColumnEnd next response.write ReportHeadColumn & " " & ReportHeadColumnEnd response.write ReportRowEnd do while not rs.eof TranslateDisplayRecorddetails rs, fieldnames, fieldcount, viewresponder, scriptresponder, keyfield, transtable rs.movenext loop closerecordset rs response.write ReportTableEnd end sub Sub TranslateDisplayrecordDetails (rs, fieldnames, fieldcount, viewresponder, scriptresponder, keyfield, transtable) dim i, id, idfield dim fieldvalue, fieldname, my_link, keyid response.write tablerow for i = 0 to fieldcount-1 id=rs(0) fieldname=fieldnames(i) fieldvalue=rs(fieldname) response.write "" & fieldvalue & ReportDetailColumnEnd next keyid=rs(keyfield) idfield="translateid" my_link=scriptresponder & "?table=" & transtable & "&which=" & id & "&idfield=" & idfield fieldvalue="" & getlang("langcommonEDit") & "" response.write "" & fieldvalue & ReportDetailColumnEnd response.write ReportRowEnd end sub '*************************************************************************** ' for translateproducts, translatecontent, translatecategories '*************************************************************************** sub TranslateSetupTableSpecificvalues (dbtable, keyfield, scriptresponder, keytable, viewresponder) select case lcase(dbtable) case "translateproducts" scriptresponder="shopa_edittranslateproducts.asp" keyfield="catalogid" viewresponder="shopa_addproduct.asp" keytable="products" case "translatecategories" scriptresponder="shopa_edittranslatecategories.asp" keyfield="categoryid" keytable="categories" viewresponder="shopa_addcategory.asp" case "translateprodfeatures" scriptresponder="shopa_edittranslateprodfeatures.asp" keyfield="id" keytable="prodfeatures" viewresponder="shopa_editprodfeatures.asp" case "translatecontent" scriptresponder="shopa_edittranslatecontent.asp" keyfield="contentid" keytable="content" viewresponder="shopa_editcontent.asp" end select end sub Sub translateSetupTableSpecificCaptions (transtable, fieldnames, fieldcount, captions) fieldcount=0 select case lcase(transtable) case "translateproducts" translateaddfield fieldnames, fieldcount, captions, "lang",Getlang("langadminlanguages") translateaddfield fieldnames, fieldcount, captions, "cname",Getlang("langproductname") translateaddfield fieldnames, fieldcount, captions, "cdescription",Getlang("langproductdescription") case "translatecategories" translateaddfield fieldnames, fieldcount, captions, "lang",Getlang("langadminlanguages") translateaddfield fieldnames, fieldcount, captions, "catdescription",Getlang("LangProductDescription") case "translateprodfeatures" translateaddfield fieldnames, fieldcount, captions, "lang",Getlang("langadminlanguages") translateaddfield fieldnames, fieldcount, captions, "featurecaption",getlang("langcommoncaption") translateaddfield fieldnames, fieldcount, captions, "featurename",Getlang("langcommonname") case "translatecontent" translateaddfield fieldnames, fieldcount, captions, "lang",Getlang("langadminlanguages") translateaddfield fieldnames, fieldcount, captions, "message",Getlang("langcommonname") end select end sub sub translateaddfield (fieldnames, fieldcount, captions, fieldname,caption) fieldnames(fieldcount)=fieldname captions(fieldcount)=caption fieldcount=fieldcount+1 end sub %>