Lingo Ringo
May 10th, 2007 by lafnlabSo, this project I’m working on, which I’m tentatively calling Lingo, seems to be moving along nicely. I have the page structure more or less where I want it. Since I don’t have a wireless device of my own, I’ve been doing some research into them, in anticipation of buying one at my next paycheck. I’m mainly looking at a Palm T|X, which is the latest of the Tungsten line. IIRC, it has a screen 320 pixels wide by 480 pixels tall. However, this is a big screen compared to some other mobile devices. I think most cell phones have screens that are 240 pixels wide by 320 tall, or somewhere around there. Right now, the pages are set (using CSS) to 320 pixels wide, so may alter that to fit smaller screens better.
HTTP has a protocol where it can pass a bunch of information to the webpage if requested. I think it’s called the HTTP User Agent, which will pass the name and version of the browser being used, and the OS. I think it can also pass the language being used (e.g English, Japanese, etc) and possibly the screen resolution, though I’m not sure. Still, if I can detect what language is being used, I can send the user to a customized page for their language. No sense mucking about with English if you don’t know it. If I can detect the OS and/or browser type, I might be able to have separate pages for optimal screen resolution.
The next big step for coding will be to set it up so people can actually browse the dictionaries. Right now, I have two bilingual and bidirectional dictionaries, each one in a separate table in MySQL (so there are two tables). However, I see at least one or two difficulties. As an example, I have one dictionary that is Russian-English and English-Russian. For Stardict bidirectional dictionaries work well, but I think for a webpage it would be different. Since I origiinally started the dictionary for Stardict, I didn’t give a lot of thought to how it would sort on a website. I just thought about how it would work with Stardict. Now that I am getting more into the website, I want to have one page where Russian words can be translated into English, and another where English terms can be translated into Russian. To me, the easiest way to do this is to have two separate tables. Another part of the problem is I want to have separate pages for browsing and searching. Searching is a simple interface like Google – Enter a term and click on a button. Browsing just presents a long list of words and their translations. Each is quite usefull, but since this intended to be on cell phones and such, I figured it would be better to have them on separate pages (it doesn’t take a lot to clutter up a small screen). Anyway, getting the dictionaries going is the next big step.
Following the dictionaries, I guess the loose roadmap would be: user login page, add/edit new terms page (a user function), links (can be done anytime), phrasebooks, add/edit phrases, and options. On the main Lingo page, I also have a section called Lessons, though I’m not quite sure what the lessons would be yet. I suppose it could be vocabulary terms, with more information than a straight translation. But I’m not sure what to do with it at the moment. Another thing is making the code available for download. The code is a long way from that, but I should try to develop it with the idea that other people may use it at some point, which means making certain choices in when coding it. Something to think about, at least.
Related posts: