webForumDet fria alternativet

olika språk

ASP

13 svar · 1 568 visningar · startad av roady

Medlem sedan jan. 2002473 inlägg
Frågan#1

Frågan har varit uppe några gånger, men det jag undrar är vilket är snabbast och som inte är för tidskrävande ifall man skall ändra något som ex. design!,,,

  • Att ha all text i en databas
  • Att ha all text i en enda XML-fil
  • Att skapa en include-fil för varje språk
  • Att ha en egen ASP-fil för varje språk
  • Att lägga all text i Global ASA (Application)

Eller någon som har andra förslag?

Medlem sedan mars 2002777 inlägg
#2

Beror ju helt på vilka dynamiska funktioner du va ha, tex sökning, sortering mm. Ska allting vara statiskt kan du lika gärna göra statiska sidor. Vill man ha dynamiska funktioner är databas och templates att föredra, sedan kommer väl XML.

Medlem sedan juni 20019 024 inlägg
#3

De två översta.

Medlem sedan jan. 2002473 inlägg
#4

hmm, svårt sådant här...

tror jag skall testa xml, roligt att lära sig något nytt :)

Medlem sedan jan. 2002473 inlägg
#5

svårt svårt det här... sitter och knåpar som en galning. Finns lite info om ASP och XML men inte så mycket om hur jag plockar ut saker och skriver ut dem på min sida!!!

Exempel: Detta är xml-filen Language.xml och jag vill skriva ut den röda texten!

<?xml version="1.0"?>
<language>
	<mainsite>
[red]		<swe>Hej på svenska</swe>[/red]
		<no>Hello på norske</no>
		<fin>hejhej på finska</fin>
	</mainsite>
	<usersite>
		<swe>Någon fin text på svenska</swe>
		<no>En kämpegla text på norske</no>
		<fin>ett litet mumintroll från Finland!!!</fin>
	</usersite>
</language>

Och detta är asp-sidan:

<!-- METADATA TYPE="typelib" FILE="C:\windows\system32\msxml.dll" -->

<%
Dim strSourceFile, objXML, objText, strText
	strSourceFile = Server.MapPath("script") & "\language.xml"
	Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
	objXML.Load(strSourceFile)

	Set objText = objXML.documentElement.selectSingleNode("mainsite")
	strText = objText.childNodes.item(0)
%>

[b]....en massa html.....[/b]

<p><%=strText%></p>

Men det som jag får är:

Objekt krävs.: 'documentElement'
/nordicportfolio/main.asp, line 10

line 10. Set objText = objXML.documentElement.selectSingleNode("mainsite")

Medlem sedan maj 200010 687 inlägg
#6

Vad man kan göra är att längst upp på varje sida från databasen spotta ut alla strängar, för den sidan, i ett Dictionary där varje Key heter typ "s1", "s2", "s5" o.s.v.

Då är det enkelt att bygga en webbaserad översättare där en norrman eller finne kan sitta och översätta.

Har jobbat ganska mycket språk i stora system och tycker det sättet är smidigt! :)

Medlem sedan mars 2002777 inlägg
#7

En bra XML guide är denna: (finns även annat nyttigt)

http://www.bet.puv.fi/anders.enges/xml/default.asp

Medlem sedan jan. 2002473 inlägg
#8

Kan du förklara lite mer Erik, förstår inte 100%-igt vad du menar... skall jag hämta alla språken varje gång så slöar det ner jättemycket !

Medlem sedan jan. 2002473 inlägg
#9

tackar lamp... skall lusläsa sajten lite

Medlem sedan maj 200010 687 inlägg
#10

Du hämtar strängarna för den sidan på just det språket som ligger i sessionen. :)

Medlem sedan jan. 2002473 inlägg
#11

Jo, det är en tanke. Men helst vill jag slippa att göra en massa databas frågningar, men får jag inte XML att funka så får jag göra så ändå!

Men...!!!
Alltså jag vill inte använda XSL, jag vill ha en XML-fil och plocka ut enbart vissa texter, se åvan på det som jag skickade!!!

Medlem sedan maj 200010 687 inlägg
#12

Gör du så, så blir det bara en databashämtning per sida. :)
Och det blir som sagt mycket enklare att administrera. :)

Medlem sedan jan. 2002473 inlägg
#13

jo, det blir mycket lättare att administrera...

Men det kommer att bli flera databashämtningar eftersom sajten skall bli en portfolio-sajt...
Annars funkar det kanon, men jag får nog göra sådär ändå!!!

Medlem sedan juni 20008 205 inlägg
#14

Re: olika språk

roady skrev:

Eller någon som har andra förslag?

Ett XML-dokument för varje språk? Då blir det mindre skyffling av onödiga data fram och tillbaka.

[i]se.xml[/i]
<?xml version="1.0"?>
<language>
	<phrase id="hello">Hej!</phrase>
	<phrase id="goodbye">Ajöss!</phrase>
</language>

[i]no.xml[/i]
<?xml version="1.0"?>
<language>
	<phrase id="hello">Hej [på norska]!</phrase>
	<phrase id="goodbye">Ajöss [på norska]!</phrase>
</language>

Sen kan du fippla till en DTD, ange att attributet ID är en identifierare, och plocka fram noderna med exempelvis xmlobjektet.getElementById("hello") (eller hur?)

265 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)