%
'*****************************************************************************
' 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 = "
"
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
%> |