Nú er ég búin að fara í gegnum öll skjöl í kerfinu og setja inn þýðingarkerfið þannig að hægt er að þýða kerfið á önnur tungumál. Þetta þýðir í raun að nú getum við byrjað að dæla út vefum á öðrum tungumálum.
Þetta er tvímælalaust eitt það leiðinlegasta verkefni sem ég hef gert. Mjög mikið Copy-Paste og ég er að drepastí litla putt og vísifingri út af Ctrl-C og Ctrl-P. Verst var dagbók barnsins, því það þarf að hafa input, textarea og select box inní miðri setningu. Þetta er t.d. í dagbókinni.
Ég vó <input class="babyDiary" name="thyngd" value="<%= thyngd %>" size="4" /> grömm
og var <input class="babyDiary" name="lengd" value="<%= lengd %>" size="4" /> cm á lengd.
Notandinn skráir svo inn þyngdina og lengdina á barninu. Vandamálið er að tungumál eru með mismunandi setningarfræði, þannig að maður getur ekki stólað á að input boxin séu alltaf á sama stað. Þá er það þýðandans að velja hvar boxin eiga að vera svo þau passi í málfræðina.
Lausning gæti verið að setja input boxinn í þýðingarnar sjálfar, það hinsvegar gengur ekki alveg þar sem það þarf að fylla í boxin þegar notandinn fer inn og vill sjá sínar tölur í boxunum. Ég hef
talað um þýðingarkerfið sem ég nota áður, þannig að endilega kíkja á það áður en lengra er haldið.
TMX skjalið lýtur svona út
...
<tu tuid="MyWeightAndHeight">
<tuv xml:lang="is">
<seg>Ég vó {0} grömm og var {1} cm á lengd.</seg>
</tuv>
</tu>
...
Kóðin lítur svo svona út, það skemmtilegasta er að gera alla back-slashið
string input1 = "<input class=\"babyDiary\" name=\"thyngd\" value=\"" + thyngd "\" size=\"4\" />
string input2 = "<input class=\"babyDiary\" name=\"lengd\" value=\"" + lengd "\" size=\"4\" />
string output = string.Format(t["WeightAndLengthAtBirth"], input1, input2);
Response.Write(output);
Þegar maður vill svo reyna að halda í xhtml staðalinn þá verður maður að hafa gæsalappir utan um öll attribute sem eru í elementunum og það eitt skapar fimmföld vandræði. Þannig að þegar maður þarf að fara í gegnum 300 svona input, textarea og select box(og þetta var einfallt dæmi) þá verður maður ansi leiður á því og vill helst gera eitthvað annað.
Eftir að hafa gert þetta einu sinni, þá sá ég í hillingum hvað ég ætti mikið eftir. Þannig ég bjó til nokkur föll sem flýta fyrir.
string createInput(string name, string value, int size) {...}
string createRadio(string name, int value, int choose) {...}
string createTextarea(string name, string value) {...}
string createSelect(string name, string[] optionText, int choose) {...}
Þessi föll skiluðu kóðanum sem ég vildi, það tók ekki nema 4 tíma að klára dagbókina, nokkuð sáttur.
string input1 = createInput("thyngd", thyngd, 10);
string input2 = createInput("lengd", lengd, 10);
string output = string.Format(t["WeightAndLengthAtBirth"], input1, input2);
Response.Write(output);
Niðurstaða: babyverden.dk opnar 1. febrúar.
Næst á dagskrá: Killer heimasíðukerfi.
Annars er random á winampinum og Vanilla Ice með Ice Ice Baby er alveg að gera það núna :)