Fick det här felet:
Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.
If Session("language")="SV" Then
SQL="Select * From Language"
Set RS=Conn.Execute(SQL)
Do Until RS.EOF
RS("Word")=""& RS("SV") &""
RS.MoveNext
Loop
RS.Close
Set RS=Nothing
End If
rad det blir fel på:
RS("Word")=""& RS("SV") &""
Försöker få det att funka som:
login="Logga in"
så att jag kan kalla på det senare i dokumentet med <%=login%>
If Session("language")="SV" Then
login="Logga in"
Username="Användarnamn:"
Password="Lösenord:"
End If
men det blir många rader för allt innehåll(alla långa texter lägger jag i DB)+ att det är på 4 språk!
Någon som har ett bättre förslag? Vet inte hur man ska lösa det med arrays :(
problemet är att det blir MYCKET text!
Så här har jag gjort i en include:
<% If Request.QueryString("language")<>"" Then
If Request.QueryString("language")="SV" Then
Session("language")="SV"
ElseIf Request.QueryString("language")="EN" Then
Session("language")="EN"
ElseIf Request.QueryString("language")="DK" Then
Session("language")="DK"
ElseIf Request.QueryString("language")="NO" Then
Session("language")="NO"
End IF
Else
If Session("language")="" Then
Session("language")="EN"
Else
Session("language")=Session("language")
End If
End If
If Session("language")="SV" Then
login="Logga in"
Username="Användarnamn:"
Password="Lösenord:"
'bilder och bildtexter
altlogin="Logga in till ditt konto"
piclogin1="pics/login1sv.gif"
piclogin2="pics/login2sv.gif"
altreg="Bli medlem"
picreg1="pics/reg1sv.gif"
picreg2="pics/reg2sv.gif"
altcontads="Läs annonser!"
piccontads1="pics/cont1sv.gif"
piccontads2="pics/cont2sv.gif"
altinfo="Information"
picinfo1="pics/info1sv.gif"
picinfo2="pics/info2sv.gif"
altback="Tillbaka"
picback1="pics/back1sv.gif"
picback2="pics/back2sv.gif"
End If
Ta bort alla If satser och kör Select Case istället som är mer effektivt än if satser.
En annan sak man kan göra är att lägga varje språk i en egen mapp och sedan ha alla dessa variabler endast en ggn i en inkludfil som tex heter languages.asp sedan är det bara att ändra just denna fil för varje katalog/språk
cya,
PatrikB
------------------
*Det tar sig sa han som hade eld i håret*
Det måste ju gå att göra detta genom att lägga in allt i en db, enklare att administrera! Include filen skulle bli många rader annars(är redan uppe i 113 st och har bara börjat, kommer att sluta på några tusen..)!
Några tusen för varje språk eller alla fyra tillsammans?
Kör du på en IIS 5 skulle jag läsa in på detta sätt:
<%
strSprak = Session("language")
Select Case strSprak
Case "EN"
Server.Execute("engelska.asp")
Case "TY"
Server.Execute("tyska.asp")
Case Else
'## -- default språk --
Server.Execute("svenska.asp")
End Select
%>
cya,
PatrikB
------------------
*Det tar sig sa han som hade eld i håret*
Tack patrik, men det är inget bra sätt att lösa mitt problem!
Att administrera det, skulle bli en månads arbete bara att försöka hitta i dom filerna!!!
det går iofs, men om inte annat för att lära sig :e Skulle va bekvämt att ha det i en DB dessutom!
Jag vet att det går i JSP och PHP, är det en miss av Microsoft?
Kan någon hjälpa mig med det här?
Har ett företag som KRÄVER att få ha det i DB, så att dom kan uppdatera enkelt själva, och slipper sitta och leta igenom flera tusen rader kod!!!
<%
If Session("language")="SV" Then
SQL="Select * From Language"
Set sprk=Conn.Execute(SQL)
Set sprak = CreateObject("Scripting.Dictionary")
Do Until sprk.EOF
sprak.Add ""& sprk("Word") &"", ""& sprk("SV") &""
sprk.MoveNext
Loop
sprk.Close
Set sprk=Nothing
%>
osså kalla på det:
<%=sprak.Item("Password") %>
I databasen har jag:
Word = det ord man vill använda i <%=sprak.Item("Password") %>
SV = Word översatt till svenska
EN = Word översatt till engelska
osv för varje språk
Har en session som heter "language" som innehåller valda språket, två bokstäver för varje språk, t ex SV för svenska