Titta på hur det fungerar i .NET. Otroligt smidigt. Dessutom har west-wind gjort en databaslösning med trevligt gränssnitt till den också.
Jag håller på att labbar med någon sorts lösning på en formulärssida som behöver översättas till en massa språk. Det jag vill åstakomma är att separera översättningstesten från alla övrig kod på sidan. Min första tanke var att labba med en XML fil och det är ungefär så långt jag har kommit. Jag har ingen tidigare erfarenhet av XML.
Hur skulle ni lägga upp det? Så här ser mitt första, fungerande, test ut:
XML filen:
<?xml version="1.0"?>
<language>
<english>
<r0>How would you describe yourself?</r0>
<r1>Job title</r1>
<r2>My industry</r2>
<r3>How would you describe your Personal Goals?</r3>
<r4>I want to advance my career as a professional thermographer</r4>
</english>
…
<swedish>
<r0>Hur skulle du beskriva dig själv</r0>
<r1>Job titel</r1>
<r2>min industri</r2>
<r3>Vad är dina personliga mål?</r3>
<r4>My industry</r4>
<r5>jag vill...</r5>
</swedish>
</language>
ASP sidan:
<%'===== I N P U T =====
sLanguage = lCase(request("language"))%>
<% Dim objXML, objLatlista, objLat, antalLatar, i
'1) - CREATE XML OBJECT...
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
'2) - SELECT FILE...
objXML.Load Server.MapPath("LabelLanguage.xml")
'3) - TEST PARSE FILE CONTENT...
If objXML.parseError.errorCode <> 0 Then
response.write("<li> FOUND ERRORS" &objXML.parseError.errorCode)
End If
'4) - CREATE LIST...
Set objList = objXML.getElementsByTagName(sLanguage)
totalNumberOfObjects = objList.length
'if input language is not found. Use english.
if totalNumberOfObjects = 0 then
Set objList = objXML.getElementsByTagName("english")
end if
response.write("<LI> totalNumberOfObjects = " &totalNumberOfObjects ) %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TEST</title>
</head>
<body>
<%
'1) - GET ALL TEXT LABELS...
Set objRowData = objList.item(0)
txtHowWouldYouLikeToDescribeYourself = objRowData.childNodes(0).text
txtJobTitle = objRowData.childNodes(1).text
txtMyIndustry = objRowData.childNodes(2).text %>
<p> <%=varLanguage%> </p><hr />
<%=txtHowWouldYouLikeToDescribeYourself%> <input type="text" value="" /><p>
<%=txtJobTitle%> <input type="text" value="" /><p>
<%=txtMyIndustry%> <input type="text" value="" /><p>
</body>
</html>
Ovan fungerar utmärkt men jag inser att det blir besvärligt att utöka med fler fält då jag läser childNodes rad för rad.
Har någon annan gjort någon fiffig lösning som ni kan tipsa om? :stud

