ingig.net

Ideas, problems and development of Fronturs websites

Að þýða stutt orð => keywords

clock November 25, 2004 21:58 by author ingig
Í fyrra þegar ég var að vinna PeoManager verkefninu hjá Peocon þá bjó ég til lítið forrit sem notaði BabelFish vefþjónustuna hjá AltaVista til að þýða kerfið. Þetta var meira gert til að leika sér og sjá hvernig þetta virkaði.

Ég var einmitt að útvega mér þetta litla sniðuga forrit og fór þá að prófa að þýða heimasíður barnanna, þ.e. öll orðin sem eru í þýðingarkerfinu eins og Nafn, Netfang, Heimasíða, Skilaboð osfrv. Það hafa komið nokkrar fyrirspurnir til okkar þar sem spurt er hvort hlutar af síðunni geti verið á öðru tungumáli, meirað segja rússnesku :) en margir notendur eiga ættingja erlendis og þeir eiga t.d. í vandræðum þegar síðan biður um lykilorð.

BabelFish er mjög sniðugur fyrir keyword. Byrjum á því að sækja WSDL skránna og búa til kóðan. Slóðin er http://www.xmethods.net/sd/BabelFishService.wsdl

Næst er að búa til console forritið, fyrst með smá útskýringu.
[STAThread] public static void Main(string[] Args) { if (Args.Length != 2) { Console.WriteLine("\n\nUsage: Translator pathToTmxFile language"); Console.WriteLine("Example:"); Console.WriteLine(@" Translator c:\temp\lang.tmx en_fr"); Console.WriteLine("\n\nTranslation translationmode"); Console.WriteLine("----------- ----------------"); Console.WriteLine("English -> French \"en_fr\""); Console.WriteLine("English -> German \"en_de\""); Console.WriteLine("English -> Italian \"en_it\""); Console.WriteLine("English -> Portugese \"en_pt\""); Console.WriteLine("English -> Spanish \"en_es\""); } else { new Translator(Args[0], Args[1]); } }
Þetta lýsir því hvaða parametra maður á að senda inn í forritið.

Næst er það kóðin til að þýða. Þeir sem vita ekki hvernig TMX skrá lítur út þá geturðu fundið það hérna til að skilja eitthvað í kóðanum.
public Translator(string path, string lang) { XmlDocument doc = new XmlDocument(); doc.Load(path); XmlNodeList tuList = doc.GetElementsByTagName("tu"); Console.WriteLine("Total keywords:" + tuList.Count); string englishText = ""; ArrayList keywords = new ArrayList(); for (int i=0;i< tuvList.Count;b++) { XmlNode tuv = tuvList[b]; if (tuv.Attributes["xml:lang"].Value == "en") { englishText = tuv.FirstChild.InnerText; } else if (tuv.Attributes["xml:lang"].Value == lang.Replace("en_", "")) { langExists = true; } } if (!langExists) keywords.Add(new String[] {keyword, englishText}); } BabelFishService bf = new BabelFishService(); for (int i=0;i<30 && i < keywords.Count;i++) { string[] ble = (string[]) keywords[i]; Console.Write(ble[0] + ": English:" + ble[1]); string trans = bf.BabelFish(lang, ble[1]); if (Char.IsUpper(ble[1], 0)) { trans = trans.Substring(0, 1).ToUpper() + trans.Substring(1, trans.Length-1); } Console.WriteLine(" DestLang:" + trans); for (int b=0;b < tuList.Count;b++) { XmlNode tu = tuList[b]; if (tu.Attributes["tuid"].Value == ble[0]) { XmlNode newTuv = doc.CreateElement("tuv"); XmlAttribute attr = doc.CreateAttribute("xml", "lang", "http://www.w3.org/2000/xml/"); attr.Prefix = "xml"; attr.Value = lang.Replace("en_", ""); newTuv.Attributes.Append(attr); XmlNode newSeg = doc.CreateElement("seg"); newSeg.InnerText = trans.Trim(); newTuv.AppendChild(newSeg); tu.AppendChild(newTuv); b++; } } } doc.Save(path); }
Ástæðan fyrir því að ég læt kerfið bara þýða 30 orð í einu er að BabelFish segir að maður megi ekki nota þetta of mikið(annars verður þetta lokað) og þegar maður er kannski með 1.000 þýðingar þá er betra að taka því rólega.

Svona leit TMX skráin út fyrir þýðingu
<tu tuid="Message"> <tuv xml:lang="is"> <seg>Skilaboð</seg> </tuv> <tuv xml:lang="en"> <seg>Message</seg> </tuv> </tu> <tu tuid="RequestAccess"> <tuv xml:lang="is"> <seg>Óska eftir aðgangi</seg> </tuv> <tuv xml:lang="en"> <seg>Request access</seg> </tuv> </tu> <tu tuid="EmailSentToUserWhichDesides"> <tuv xml:lang="is"> <seg>Póstur er sendur til eiganda síðunnar sem ákveður það sjálfur hvort gefa eigi aðgang að síðunni.</seg> </tuv> <tuv xml:lang="en"> <seg>Email is sent to the owner of the website which then desides if he grants access.</seg> </tuv> </tu>
Eftir þýðingu leit hún svona út
<tu tuid="Message"> <tuv xml:lang="is"> <seg>Skilaboð</seg> </tuv> <tuv xml:lang="en"> <seg>Message</seg> </tuv> <tuv xml:lang="fr"> <seg>Message</seg> </tuv> <tuv xml:lang="de"> <seg>Anzeige</seg> </tuv> </tu> <tu tuid="RequestAccess"> <tuv xml:lang="is"> <seg>Óska eftir aðgangi</seg> </tuv> <tuv xml:lang="en"> <seg>Request access</seg> </tuv> <tuv xml:lang="fr"> <seg>Accs de demande</seg> </tuv> <tuv xml:lang="de"> <seg>Antragzugang</seg> </tuv> </tu> <tu tuid="EmailSentToUserWhichDesides"> <tuv xml:lang="is"> <seg>Póstur er sendur til eiganda síðunnar sem ákveður það sjálfur hvort gefa eigi aðgang að síðunni.</seg> </tuv> <tuv xml:lang="en"> <seg>Email is sent to the owner of the website which then desides if he grants access.</seg> </tuv> <tuv xml:lang="fr"> <seg>L'email est envoy au propritaire du site Web qui puis des desides s'il accorde l'accs</seg> </tuv> <tuv xml:lang="de"> <seg>Dem Inhaber der Web site email wird die dann desides geschickt, wenn er Zugang bewilligt</seg> </tuv> </tu>
Því miður þá virkar þetta eiginlega bara fyrir stutt orð, ég gæti trúað því að einhverjir brosa útí annað við að lesa setningarnar á frönsku og þýsku þar sem líklegast er málfræðin sjálfsagt eitthvað vitlaus(án þess að ég hafi hugmynd um það en ég svaf of mikið í þýskutímum :).

En gefum okkur það að allar þýðingarnar eru réttar þá er hægt að búa til vef á fjölda tungumálum á nokkrum sekúndum. Algjör snilld.

Niðurstaðan geturðu prófað svo hérna:
http://dyraland.is/dyr/22721 - (default íslenska)
http://dyraland.is/dyr/22721/en - (enska)
http://dyraland.is/dyr/22721/fr - (franska)
http://dyraland.is/dyr/22721/de - (þýska)

Ef þú ferð í Vefdagbókina eða Gestabókina þá er notandinn spurður um lykilorð. Þarna reynir á þýðingarnar því textinn er langur. Sjálfsagt eitthvað skrítinn þar sem ég hef ekki fengið þýðanda til að lesa þetta yfir. Lykilorðið á síðuna er: 12

Þetta kemur sérstaklega vel út í gestabókinni þar sem mikið af litlum orðum er.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Skrifstofa og 4. ár

clock November 22, 2004 21:56 by author ingig
Barnaland.is varð 4. ára í gær, 20. nóvember. Þetta hafa verið nokkuð skemmtileg ár þar sem ég bjó fyrsta árið útí New York þar sem ég var að vinna fyrir vyre.com þar sem við gerðum magnaðasta CMS kerfið á landinu, þegar ég kom svo heim þá fóru Sigga og Þór til Danmerkur þar sem Sigga var að klára námið í sálfræði. Ég kíkti til þeirra í fyrrahaust þar sem við vorum að leggja fyrir okkur svokallað roadmap.

Þannig að það má segja að við höfum rekið vefinn í 4. ár án þess að hittast allan þann tíma. Allt hefur farið fram í gegnum síma, tölvupóst, messenger og/eða skype núna uppá síðkastið og gengið alveg ótrúlega vel.

Núna er Frontur ehf. (rekur m.a. barnaland.is) orðið "fullgilt" fyrirtæki þar sem við erum komnir með skrifstofu hér í bæ. Skrifstofan er til í húsa í Síðumúla 15 á þriðju hæð með útsýni yfir Esjuna og Bláfjöllinn. Einstaklega björt og gott að vinna á skrifstofunni. Þannig að nú verður sjálfsagt unnið oft frameftir og er ég að pæla að finna vindsængina sem ég á og skella henni hérna á gólfið.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


babyverden.dk

clock November 4, 2004 21:50 by author ingig
Jæja þá er maður búin að vera að setja inn þýðingarkerfið á vefinn þannig að núna er komin upp test útgáfa af babyverden.dk, það er lykilorð á henni eins og er en ég skelli því sennilega hérna í næstu viku þegar fleiri þýðingar eru komnar inn.

Ég geri ráð fyrir að við leyfum vefnum að rúlla í 1-2 mánuði áður en við byrjum að einhverju ráði að auglýsa vefinn í Danmörku. Sigga og Þór þekka einhvern slatta af fólki þarna úti eftir að hafa verið þarna í 3 ár og við ætlum að reyna að nota þau til að prufa vefinn og sína vinum sínum. Eftir það er bara spurning hvernig er best að auglýsa.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Jább, besti afþreyingarvefurinn

clock November 1, 2004 21:49 by author ingig
Síðasta föstudag var barnaland.is valinn besti afþreyingarvefurinn. Gaman að því. Það fór eins og ég spáði að Landsbankinn vann í öllum sínum flokkum. Þeir hafa verið duglegir að auglýsa það.

Það var nokkuð gaman að kíkja á þessa samkomu, það var þó nokkuð af fólki sem maður þekkti og sumir sem ég hef ekki séð í nokkur ár. Það var líka gaman að heilsa uppá femin.is stelpurnar, sjá andlit á samkeppnisaðilann :)

Annars er maður bara að vinna í því á fullu að koma þýðingarkerfinu inní vefinn þannig að við getum farið að opna danska hlutann, hugsa að það verði komið fyrripart þessarar viku. Þá líður væntanlega c.a. 1 vika þar til við opnum í dk og þá er Asía næst(jább Asía). Þá erum við að leita eftir skrifstofu fyrir fyrirtækið, þannig að ef einhver veit um ódýrt skrifstofuhúsnæði þá endilega máttu láta mig vita. Við vorum að pæla í smá herbergi þar sem við erum bara tveir og þá vera með öðrum með kaffistofu og fundarherbergi.

Skemmtilegir tímar framundan.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Search

Twitter Updates

    Myndir

    Er.is

    Calendar

    <<  November 2008  >>
    SuMoTuWeThFrSa
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    Archive

    Tags

    Categories


    Blogroll

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2008

    Sign in