Jag undrar hur man skall bygga upp en kommersiell hemsida på som skall vara på flera språk, Svenska, Engelska, Tyska och ev. Finska.
Hur skall jag gå till väga, har funderat på att bygga upp flera exemplar av den svenska sidan för att sedan översätta den, men det känns alldeles för jobbigt vid uppdateringar av sidan.
Så då beslutade jag mig för att bygga upp den med ASP mot Access Databas eller MS SQL.
Känns som att det blir lättare att uppdatera, men ett tidkrävande jobb innan man når sitt mål, någon som kan ge lite vägledning på hur jag skall bygga upp sidan resp. databasen.
Du kan ju använda cookies tillsammans med databasen. Du har kanske en tabell som heter tbl_lang med bland annat kolumnerna sve, eng, ger, fin och för varje ny text du skriver in i databasen så skriver du samma på resterande språk. När användaren väljer ett språk på sidan sätter du en cookie på dennes dator, en cookie med ex. värdet sve för svenska, eng för engelska etc. I SQL-strängen när du ska presentera text för användaren skriver du något liknande:
SQL="SELECT falt1,falt2 FROM tbl_lang WHERE lang=" & Request.Cookies("vilket") & ""
Troligtvis blir dina SQL-strängar lite mer avancerade, men bygg på. Förhoppningsvis kommer en del andra med bra föreslag också!
Satt och funderade på hur jag skall bygga upp menyn, kom fram till en fast meny, alltså inte databas kopplad.
Jag stör mig i bland på ASP, om man jämför med PHP. I php kan man inkludera t ex. en språk-fil som inkluderas beroende på vilket språk besökaren väljer:
Jag gör min i databas kopplad med request.querystring("language") men om du inte känner för det och vill köra som du vill med include:
<%
Set Obj = CreateObject("Scripting.FileSystemObject")
If Obj.FileExists(Server.MapPath("include/" & Trim(LCase(Request.QueryString("link"))) & ".asp")) Then
Server.Execute "" & Trim(LCase(Request.QueryString("language"))) & ".asp"
Else
Server.execute "english.asp"
End if
Set Obj = Nothing
%>
Fredde Mannen: Kom ihåg om du inte använder den kod jag postade är att man måste ha en querystring alltid.. :e fast det går ju att lösa på många andra sätt också:
dim language
language = request.querystring("language")
if language = "" then
language = "english"
end if
Server.Execute("/spf-filer/<%=language))
Tänk bara på att använder man Server.Execute så exekveras filen, som namnet antyder. Det är alltså inte tal om någon inkludering.
Vad betyder det i vidare bemärkning?
Vad det betyder? Jo, när du använder SSI och Server Side Includes inkluderas en sida på den befintliga sidan och finns liksom kvar i minnet. Med Server.Execute exekverar man en sida och sen är det inte så mycket mer med det. Server.Execute är skonsammare mot servern. (eller hyn, om ni så vill :e )..
251 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9