Ramble on Internalization
Internalization is a tricky subject. It requires quite a lot of work to prepare product to be fully internalizationable. Translating text is the easiest part of the internalization process. Conforming to cultural norms is a tricky part. Unfortunately I have no prior experience with developing products available for example in arabic or asian countries but this seems like interesting challenge. Even though I haven’t done it I can notice that it requires a lot of work to test user interfaces across different languagues and keep them consistent. Having a graphic theme also may not be trivial task. But it’s not all about presentation. Having appropriate domain model which takes into account for example currency is important as well. That’s why it is important to think about these cases even though product is not going to be available worldwide at first. Otherwise adding dollars to yens might yield interesting results.
I18n in estimation
Internationalization is one of these things that I completely forgot when I try to give an estimation of time for particular task. It so happens that doing i18n is very tedious job which adds a lot of time for rest of the development time. During last project we left i18n as the last thing to do. I don’t know if that was a good choice because it requires a lot of time to go through every screen and translate all the labels. It’s also quite error prone. However when it can be done by less people and there are higher chances that key codes for labels are more consistent.