05. november 2003 - 09:08Der er
8 kommentarer og 1 løsning
Gode råd vedr. flere sprog søges
Jeg skal til at lave en webløsning i ASP.Net / MS SQL. Denne løsning skal kunne kører i flere forskellige sprog (dansk, engelsk, tysk, osv.) - men hvordan gør jeg det smartest...?? jeg har tænkt på flg. muligheder:
- gemme hver sprogversion i en fil med en masse konstanter og så inkluderer den hvor det passer. - gemme alle sprogvarianter i en tabel i databasen.
... men jeg kan ikke rigtig bestemme mig, så hvis du har en mening om det, så hører jeg meget gerne fra dig.
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Det jeg tit har gjordt er at hvis fx. det skal være i 2 forskellige sprog, lad og sige Dansk og Tysk.
Så vil jeg lave en tabel i min database der hed "tblTexts" og lave 2 kolonner, "Danish_Text" og "German_Text".
Idet der så bliver klikke på Fx. Tysk inde på siden, opretter du en Session som hedder Language. Den sætter du ind i dine SQL sætninger som du har til at udskrive din tekst med. Fx.:
repsak> Det gør det bestemt ikke. Det eneste der skal gøres er at tilføje en til Session og så tilføje en mere kolonne for at tilføje et nyt sprog, det er kun 2 steder der skal rettes...!
Man kunne enda oxo lave således at man lagde sprogene i en DB kolonne og så skyde dem ud i linkfor med en QueryString, fx. <a href="ChooseLanguage.aspx?Language=German">German</a>
Med denne metode skulle man kun rette i databasen, men stadigvæk 2 steder..!
medions> resulterer det ikke i en frygtelig masse sql-trækninger? kunne man forestille sig at det var mere "venligt" ved serverne (IIS & SQL) at man brugte includefiler i stedet??
medions -> det kræver jo at du har adgang til db for at tilføje sprog. Det kunne jo være at den som skrev ressourser og den som havde db-access ikke var samme person. Hvis nu eksterna personer ville redigere sproget. Jeg har ikke en bedre løsning, men er ikke glad for denne :-)
repsak: Jo du kan sagtens lave sprog resources i .NET. Faktisk er det ikke så svært, men jeg husker at jeg alligevel endte med at lave det i en database, da brugeren (dvs. administratoren af sitet) selv skulle kunne ændre/tilføje sprog.
Hvis du bruger Threading, kan du gøre det ved at lave en mappe i dit projekt, som du kalder Resources, hvorunder du opretter en resource-fil for hvert sprog, du ønsker. Du skal navngive filerne efter projektnavn.landekode.resx, altså f.eks.
proj.da-DK.resx proj.en-US.resx
og så skal du ha' en default, som bare kaldes proj.resx (dvs. hvis dit default sprog er dansk, skal du ikke lave nogen proj.da-DK.resx).
Derefter kan du sætte sproget (også kaldet Culture) i din init-kode.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.