So we of course want all the Novacut apps to be fully translated and localized. However, we've put this off for a while so we could see how our UI architecture would shake out.
Originally I took a template-heavy approach to the early Dmedia UI, and my thought was to handle the translations when the templates were executed (say during the build). But the templates were too big an obstacle for UI designers... we lost most of the potential benefit of our HTML5 approach. So I axed the templates, and now we can change the Novacut UI without even restarting the app.
Translating in templates also isn't a full solution. Importantly, it isn't a correct solution for plural forms. Honestly, I'm not sure what the best approach is giving the current capabilities of WebKit and WebKitGTK.
What I'd really like to see is for the gettext() and ngettext() functions to be callable from JavaScript in WebKitGTK. As it stands, we use very little user text inside our HTML... most of these strings are in our JavaScript, and so requiring all our string to be defined in JavaScript is a reasonable constraint for Novacut.
What do people think about this? The Ubuntu Software Center and the Ubuntu installer are two apps that use WebKitGTK, so I'm going to look at how they've approached translation.
But note that having ngettext() in JavaScript is the *only* way we can correctly do plural forms, as we will be displaying things we don't know the count of till run-time (stuff from CouchDB, etc).