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.
|
|
|||
|
|
|
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. |
|||
|
|
|
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.
|
|||
|
|
|
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. |
|||
|
|