Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm starting a new company, and our software will be a SaaS solution offered to municipalities around the world. Their interface will be web-based. I am trying to figure our which software development frameworks and which software platforms would be able to support a fully multi-lingual system. In this I mean that I need to be able to have the same screens operate in different native languages (including right-to-left), both for display and data-entry. I want to be able to maintain a single application for all languages. I need to be able to add new languages pretty quickly (= no development) once the system is set up.
Since I am starting from scratch, I have the privilege to research and choose in advance, and not force a solution into an existing application.
Also, I have experience in leading development on Java, .NET, C++ and C, so I am open to use any technology that will meet my business needs. I would appreciate recommendations with pros and cons.

share|improve this question

3 Answers

Being easily implemented in other (spoken) languages is really an element of the design itself rather than a feature in a framework. Most mature web frameworks can read XML files and use them to localize labels, character sets, date formats ... etc.

share|improve this answer

If you start from the ground up with internationalization/localization in mind, ASP.NET* handles the problem pretty well. I was involved in a web application about 5 years ago that supported nine languages (including Hebrew, which meant we also supported RTL). Honestly, of all the challenges in that project, internationalization/localization ended up being the easiest part.

That said, System Down is correct - the hardest part isn't the implementation, it's really understanding the problem. Layout becomes a big issue (especially in headers and dropdowns) because the lengths of words vary wildly. LTR/RTL is tough; you can get 90% of the way there by setting some flags, then struggle with the last 10%. Handling input properly is a big issue (make sure you understand the difference between CurrentCulture, CurrentUICulture, and InvariantCulture). And if you don't understand Unicode, may God have mercy on your soul.

  • This was old-school 'postback' ASP.NET - I can't vouch for ASP.NET MVC in this area.
share|improve this answer

Since you are familiar with Java and are looking to create a web-based application, I would suggest using the Spring Framework. It offers good internationalization support.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.