Finns det fler sätt att göra en språk väljare på en stor sida. Alltså: Man får välja typ Svenska eller Engelska. Då har jag funderat på att köra Javascript sen bara skriva ut en viss text om en variabel är Sve och en annan då den är Eng. Annars kan man ju köra igenom databasen. Men vilket sätt är bäst? Finns det andra lösningar som gör sidan så snabb som möjligt. Nackdelen med en javascript-lösning är ju att du skickar alla texterna på alla språk till klienten, alltså blir sidorna dubbelt så tunga som de behöver vara. Så det snabbaste sättet är att bara köra if satser. Eller går det lika snabbt att köra allt från en mySQL databas? Hur mycket snabbare det är beror ju på om du öppnar databasen enbart för att hämta texterna. Ifall du ändå öppnar databasen, så blir ju inte skillnaden så stor. I vårat system har vil lagt alla språken i en fil. Sedan använder vi en Sessions variabel som innehåller vilken språkkod som skall visas.Språk
//Tacksam för svarSv: Språk
Den snabbaste lösningen är att använda If-satser i ASP för att välja vilken text som skrivs ut. Koden blir dock lång och jobbig att arbeta med.
Till min sida har jag alla texter i databasen.Sv: Språk
Sv: Språk
Sv: Språk
På varje sida som den skall kunna visas med olika språk så gör vi en include med språkfilen. Sedan ligger det variablar där översättningarna skall göras
ex:
När kunden väljer språk sparar vi språkkoden motsv "ENG" i session("Language")
Sedan öppnar vi ex en sida "om företaget". Men användaren vill se den på engelska. På "om företagssidan" ligger det en includesträng till filen language.asp <code><!-- #include virtual="Languages/Language.asp" --></code>
Det som händer är att när "om företaget.asp" laddas så kommer även language.asp att läsas. I den har vi på ett enkelt sätt bara använt Select case stasen ex:
<code>
Select case session("Language")
Case "ENGE
strWelcomeMsg = "Welcome to us"
Case "SWE"
strWelcomeMsg = "Välkommen till oss"
end select
</code>
Om vi fortsätter på sidan "om företaget" så lägger vi ut variabeln 'strWelcomeMsg' där vi vill att översättningen skall göras...
Vi har varit inne på en databasdriven översättning, men insåg att det skulle bli mer kod än vad vi har nu samt att vi inte skulle tjäna något i vare sig administration eller prestanda
Hoppas det kan vara till hjälp
/phinala