Archive for September, 2006

Localization

Thursday, September 21st, 2006

I am dictating this blog using Microsoft Vista’s built in speech recognition. I have been using speech recognition for over five years now, and I’m very excited about the quality I’m seeing. Back to WeSay…

It’s obviously important that people can easily change the user interface of WeSay to use a national or regional language that the user understands. Internationalization is an involved in topic, and it’s easy to get bogged down in all of the potential complexities. Following my personal adage”if it’s worth doing, it’s worth doing poorly”, we’ve done something pretty simple to get our localization ball rolling.

The first decision we made was that we don’t want people to have to buy special or complicated tools in order to produce a localized version of WeSay. We want them to be able to just edit a text file, or use a simple free tool. Of course, po/gettext files fit this bill.

The next decision was how to actually use that file… I tried getting the relevant gnu libraries for .net, but I just kept running into problems. Eric convinced me that I should just to write a little parser for it myself, and even though that felt so terribly wrong, I did have the parser going in a fraction of the time I had spent trying to locate/use standard libraries.

Anyhow, Eric provided some Portuguese for a few labels, and we produced the following:

Screen shot

We get this simply by adding /ui:br to the shortcut that launches WeSay (’br’ is for Brazil). This causes WeSay to go looking for a file named br.po, first in the user’s project directory, and then in the WeSay common directory. Users will be able to submit po files that they have localized and are willing to include in the next distribution of WeSay. But no one needs to wait for a new distribution… they can simply make their own po file or share the file with colleagues in the area.

Still alive

Friday, September 8th, 2006

No, we haven’t expired, just gotten lazy about blogging. Maybe it would help if we ever got comments (hint hint).

Anyways, here is a five-minute blog just to list some of what we should have been blogging about:

  • We have switched, for the time being, from GTK# to Windows Forms. That was a very difficult, very long decision-making process, which could consume many blog entries by itself.  Actually we spent half the time making the decision, and half of the rebuilding the friendships which were endangered by the decision ;-)
  • A new web-site skin. Thanks Cathy in NZ!

Here’s what I can remember us implementing:

  • The beginnings of writing system support (specify which font and size goes with each writing system)
  • Rudimentary, PO-format localization. You can choose your local via a commandline argument. Po-format is a simple text file… we aren’t bothering with any kind of compiled format of it… so you can localize the user interface with one of special free tools, or with any text editor.
  • Import and Export to LIFt (Lexical Interchange Format) xml. From there it should be a short XSLT hop to whatever, including MDF. We will also be updating our FieldWorks Linguistics Explorer import/export to support our minimal LIFt files
  • A task which lets us drop jpgs in in order to mockup what things will look like.

Since our last blog, the majority of Eric’s time has been spent doing hard stuff like trying to find out why GTK# was crashing all the time, why db4o can’t optimize our simple queries, etc. He is finishing up a major new piece, a task which guides the user through filling in a single field for all records that are missing it.

We are up to 487 unit tests (5 are yellow).