05. juli 2006 - 10:14Der er
12 kommentarer og 1 løsning
flere sprog i applikation
opretter igen: Hej
Jeg har en applikation der skal kunne håndtere flere sprog...
Jeg har lavet det tidligere ved at have een language-fil, eksempelvis: <% if lan = "DA" then txt_about = "OM" end if if lan = "EN" then txt_about = "ABOUT" end if %>
Jeg ville egentlig gerne at jeg bare bruge flere forskellige filer, såsom da.lan og en.lan
Men er det muligt??
Eller er der en hel anden, og bedre måde, at gøre det på???
Nu kunne evt. lege med tekstfiler til at placere alt teksten i, på den måde har du også kun en kode at vedligeholde i sidste ende, og ikke en række forskellige ASP eller INC filer...
Så loade filen op i den en gang, og hente de nødvendige values ud på keys... Noget INI-Fil alike...
En mere elegant løsning i dag vil dog måske være XML, men er pænt lang tid siden jeg har arbejdet med ASP, så ved ikke hvordan man evt. sammensætter det...
Du kunne jo hægte en database på og så have al teksten liggende i to versioner. Så sætter du pladsholdere ind hvor der skal være tekst og henter teksten ud af databasen side for side. Det kræver så at du har en side hvor du kan skrive tekst ned i databasen.
Dictionary er en Collection type, hvis du er bekendt med HashTables så er det ca. det samme... så ikke noget includeri der... din XML og/eller text fil loader du så dynamisk ind, kigger du i det første link er det en string type, der smider du bare en variable der indeholder din string istedet...
Således loader du kun en sprogfil, og har ikke noget med den anden at gøre... I Princippet er det samme taktik som ffsoft referer til, forskellen er bare at en Fil vil være en "flad database" som man kalder de, dvs. ingen former for smart indexering eller travasering, men bare simpel linie for linie gennemløb...
Du skal naturligvis have en stump kode der processer din textfil i forhold til din dictionary... Man kunne evt. gemme den i ens session derefter for at spare tid for hver load, omvendt så betyder det jo narturligvis at hver session kommer til at kræve mere hukommelse...
og sådan er der så mange muligheder... en INI fil ser typisk således ud:
[Section2] KeyX=ValueX and more KeyY=ValueY more more more --------------------------------------------
Som det kan ses, baseret på at hver linie indeholder enten en Section betegnelse, en et Key / Value par eller en tom linie...
Dette "Et linies" system, kan være mindre hensigtsmessigt i denne forbindelse, hvilket er derfor XML kommer ind i billedet... men man kan ofc lave sin text fil på en måde også så man kan lave flere linier per key... (i prinsippet lave sin egen XML Wannabee version) og så fortolke den... (øhhh.. but why?, fordi det kunne være nemmere at kode fortolkningen...)... Eller man kunne bruge XML og lave sin egen XML læser...
Mja... mulighederne er mange som du kan se... Desvære er som sagt rusty i ASP... (Laver jeg endelig en hjæmmeside, hvilket sker sjældent, så foretrækker jeg ASP.NET)
Kommer da an på hvilke resourcer du snakker om... XML kræver typisk mere diskplads end INI filer, grundet tags osv, XML kræver mindre diskplads end databaser, XML er ikke hurtigere at læse igennem end andre text baserede filer, tværtimod som oftest (minimal forskel dog)...
En indexeret fil ville kunne være meget hurtigere end en XML fil fx... Og så igen, ville man evt. kunne indexere sin XML fil, kræver dog modsat at man igen overholder XML og jeg tror også man bliver nød til at implementere sin egen reader...
XML har sådan set kun den fordel i forhold til alm. text, at det er en standardt som der allerede er implementeret, man kunne nemt efterligne... Og platformsuafhængigt... altså det er jo ren text så det kan jo ligsom svært at argumentere for andet... så vil jeg mene er lidt nonsens at snakke om, XML readerne er ikke platformsuafhængige altid... fx den i ASP nok ikke...
Lifeweb ->
Text/XML er klart bedst når vi snakker statisk informationer, dvs. hjemmeside tekster der ikke ændres ofte og fra mange sider... Hvorimod databaser egner sig bedre til sider hvor tekster ændres meget hyppigt og af mange bruger, som fx det forum her, det ville XML slet ikke kunne håndtere ud fra hvor lang tid det ville tage at kigge sådan en XML fil igennem...
Yderligere vil jeg foreslå du splitter dine XML filer op i mere end en, dette skaber efter min mening bedre overskuelighed... og så vil det kræve mindre resourcer...
Synes godt om
Ny brugerNybegynder
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.