Avatar billede humlebien Novice
05. november 2003 - 09:08 Der 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.
Avatar billede medions Nybegynder
05. november 2003 - 09:22 #1
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.:

strSQL = "SELECT " + Session["Language"].Text + "_Text"

//>Rune
Avatar billede repsak Nybegynder
05. november 2003 - 09:57 #2
medions -> med den metoder bliver det da meget vanskeligt at ændre/tilføje/slette sprog. Kan man ikke lave noget med en extern ressourcefil?
Avatar billede medions Nybegynder
05. november 2003 - 10:03 #3
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..!

//>Rune

//>Rune
Avatar billede humlebien Novice
05. november 2003 - 15:05 #4
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??
Avatar billede repsak Nybegynder
05. november 2003 - 15:10 #5
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 :-)
Avatar billede odegaard Nybegynder
05. november 2003 - 16:48 #6
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.
Avatar billede midas_dk Nybegynder
05. november 2003 - 18:02 #7
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.
Avatar billede christian Nybegynder
10. november 2003 - 13:14 #8
Det som som midas beskriver kan du læse meget mere om her
Developing multilingual applications in ASP.NET (Part - I)
http://www.dotnetbips.com/displayarticle.aspx?id=214

Developing multilingual applications in ASP.NET (Part - II)
http://www.dotnetbips.com/displayarticle.aspx?id=217

Developing multilingual applications in ASP.NET (Part - III)
http://www.dotnetbips.com/displayarticle.aspx?id=218
Avatar billede midas_dk Nybegynder
22. januar 2004 - 16:05 #9
Svar?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester