Visa ett inlägg
Oläst 2004-11-04, 11:40 #8
Roberts avatar
Robert Robert är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jan 2004
Inlägg: 2 103
Robert Robert är inte uppkopplad
Klarade millennium-buggen
Roberts avatar
 
Reg.datum: Jan 2004
Inlägg: 2 103
Citat:
Originally posted by Starweb@Nov 4 2004, 11:55
Citat:
Ok, ASP it is then (.Net har inbyggd språkhantering btw) =)
Vill du utveckla? Har jobbat med .NET en del, men aldrig sett/hittat detta... Har iofs. inte letat speciellt, men om du har någon länk/mer information eller annat, så lägg gärna upp den här i forumet.
Oj, finns ju en hel del om hur man tillverkar "languagepacks" för sina applikationer (har inte pysslat med detta i .net själv ännu, men stött på det många gånger):

msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbwlkWalkthroughLocalizingWebForms.asp
msdn.microsoft.com/library/default.asp?url=/library/en-us/cpqstart/html/cpsmpnetsamples-aspnetlocalization.asp

Citat:

Citat:
I en av siterna så tillverkades ett Vb program där man satt och läste in alla ASP filer, markerade den text som skulle bli administrerbar och sedan tryckte man på en knapp. Denna text böts nu ut mot ett databasanrop + att en post skapades i databasen. Alltså först ett initialt jobb att "tagga" upp all htmlkod i ASPkoden, sedan bygga admininterface till detta (+lagra språkval i cookie odyl).
Verkligen ett häftigt projekt! Använde ni javascript för att räkna ut vilken text som var markerad då?
Nja, det var alltså ett fristående VB program vi tillverkade som såg ut som en texteditor. Man läste in ASP filen där, markerade den textmassa som skulle vara dynamisk och tryckte på en knapp. Textmassan som var markerad lades in i databasen som den "svenska" versionen (i detta fall) och byttes ut i ASP koden mot ett funktionsanrop + en unik nyckel(id) för denna chunk av textmassa. Detta går givetvis att göra manuellt direkt i ASP koden, men grejjen var den att vi tog en färdig webapplikation på xxx antal ASP sidor, så vi sparade massor av tid att göra ett litet verktyg i VB för detta.
Givetvis blir prestandan lidande om ASPkodaren har gjort mycket spaghettikod och du måste dela upp sidan i kanske 10 funktionsanrop. Exempel på en sida som måste få 5 funktionsanrop (och anrop mot db):

<aspkod>
textmassa#1
<aspkod>
textmassa#2
<aspkod>
textmassa#3
<aspkod>
textmassa#4
<aspkod>
textmassa#5
<aspkod>
textmassa#6


...är sidan kodad så här istället:

<aspkod>
textmassa#1
<aspkod>

så blir prestandan mycket bättre. Det gäller att koda snyggt och verkligen separera textmassa och ASP kod rent fysiskt i filen för att det ska bli smidigt.

Citat:

Citat:
Är det bara fråga om lite "enkel" översättning så kan du ju bygga dina sidor såsom ett cms-verktyg och anropa db'n på alla ställen där det ska vara text, men som sagt, det tar ju mer prestanda. Includes tar ju i princip ingen prestanda, men underhållet av dessa includer blir lite jobbigare.
Varför skulle underhållet av en include-fil bli "jobbigare" än en databas? Dessutom kan man istället spara include-filen i minnet (session), och hänvisa till minnet istället för till databasen, vilket gör att det inte alls blir prestandakrävande...

Det beror ju på hur man menar. Skulle include-filerna innehålla ASPkod så har du problemet med dubbel administrering om du måste buggrätta/utvekla i koden. Jag menade att man bara skulle ta textbitarna och lägga i include-filer, MEN som du såg på mitt exempel ovan så skulle det kunna röra sig om ett 10tal includefiler PER SIDA och PER språk, dvs 20includes i snitt per sida.

Exempel:

<aspkod/logik>
... <include fil#1, språk1> ...
<aspkod/logik>
... <include fil#2, språk1> ...
<aspkod/logik>
... <include fil#3, språk1> ...
<aspkod/logik>
... <include fil#4, språk1> ...

...etc
Ganska rörigt eller hur?

Och att spara includefilen i minnet är ju inte aktuellt av flera anledningar, dels pga ovanstående (flera includes för att bygga samma sida) och så tar det ju prestanda/minne av servern så det heter duga (beroende på antal besökare och hur mycket text per sida)
Robert är inte uppkopplad   Svara med citatSvara med citat