I’ve found myself doing a lot of work with localization & internationalization systems on many of my projects over the past 4 years. For some reason, every project I’ve ended up working on has always had a few requirements that force me to redesign and re-implement the whole concept – all for the seemingly simple task of displaying text on the screen.
Arrgh. No, I’m not trying to talk like a pirate. I don’t even make passable Dread Pirate Roberts. It’s just the sound I make every time I end up sitting in front of a blank code file with the following keywords in the comments at the top of the file: “localization” and “framework”. Each time I end up writing a new localization framework, I end up hoping that this will finally be the last time I write it.
But that’s not how these things work. The language changes; the target environment changes; and most of the time there are some weird little idiosyncrasies that keep it from ever being the same experience twice.
I’m not sure I’d have it any other way.
The reason I can say this: every time I take a journey through what is seemingly a wrote & well trodden section of functionality, I find a new and better way to do something I’ve done in the past. Maybe I’ll correct some long-standing restriction in my older designs, or perhaps I’ll find a way to create legitimate code instead of a messy hack that past-me would have used. At the end of the day, I just need to “get it done”, but that doesn’t prevent me from having my fun while I do it.