Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

We're looking at internationalisation for our application and are looking for any good resources please can recommend to help us out.

Books, blog posts, articles, you name it, I'd be interested.

The application is Java / SQL Server / Oracle with both web (HTML / JavaScript) and Java forms user interfaces. Internals include XML / XSL-T.

Anything from high level "these are things to think about" pieces to detailed assessments of character sets, sort orders and date formats would be appreciated.

share|improve this question

closed as not constructive by gnat, Martijn Pieters, Kilian Foth, Jalayn, MichaelT Mar 28 '13 at 13:52

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

After you used Google, you must have found a mountain of resources. Which of those confused you? Can you tell what you've already looked at and what confused you? –  S.Lott Jan 26 '11 at 18:53
@S.Lott - the fact that there are a mountain of resouces and that Google rankings are increasingly a poor judge of quality which is why I'm asking for recommendations. –  Jon Hopkins Jan 26 '11 at 20:52
If we recommend the things you already read, then this question is a total waste of time. If, on the other hand, you identify the resources you've found, we can comment on them. –  S.Lott Jan 26 '11 at 20:55
@S.Lott - I disagree. It might aid someone else or it might cause me to revisit something I'd seen in a new light and look at it again. If you disagree with that please feel free not to post an answer. –  Jon Hopkins Jan 26 '11 at 22:53

3 Answers 3

up vote 3 down vote accepted

Internationalization (i18n) and Localization (l10n) are two aspects of the same problem. Essentially, i18n deals with translating your site and resources to other languages, while l10n deals with representing non-text elements in the most common format for that area. The top things to consider are (considering the Java stack):

  • Unicode. It's the only character encoding that handles every script in computer land from English and Japanese to Klingon and Wingdings. (why klingon is included is beyond me)
  • The Locale object handles most l10n needs
  • ResourceBundle object handles most i18n needs

Check out these resources for internationalization and localization in Java:

The idea behind ResourceBundle and similar approaches in other programming languages is to be able to come up with a bunch of resource keys that represent a concept to the program. These keys are resolved to the appropriate language based on the current locale. The approach makes it easier to give these resource files to a translation company so that they can work their magic.

The other side of the problem is dealing with languages that use a different reading direction. You may have to toggle layouts and stylesheets for those languages.

share|improve this answer
SoH ngIl tIch tlhIngan Hol! –  jonathan Apr 18 '12 at 22:16

I'll start with one on Unicode (which I'm assuming you'll have to support):

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) by Joel Spolsky.

In this article I'll fill you in on exactly what every working programmer should know. All that stuff about "plain text = ascii = characters are 8 bits" is not only wrong, it's hopelessly wrong, and if you're still programming that way, you're not much better than a medical doctor who doesn't believe in germs. Please do not write another line of code until you finish reading this article.

...I'm really just trying to set a minimum bar here so that everyone can understand what's going on and can write code that has a hope of working with text in any language other than the subset of English that doesn't include words with accents...

share|improve this answer

I18N guy - - contains a huge amount of information, have a look there.

The I18n Guy web site is about regional and cultural differences, internationalization (i18n), localization (l10n), globalization (g11n), translation and software engineering...

share|improve this answer

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