SimulTrans

your languages - your timeline

 
ISO 639 Language Codes and ISO 3166 Country Codes
Written by Adam Jones — February 22, 2011   

I was just on a conference call with the client and needed to quickly find the two- and three-letter ISO 639 language codes, a list I need to access frequently. I know we all use this information often, so I thought it would be useful to add a link here to the U.S. Library of Congress list of these "official" ISO 639 language codes.

These codes should be used for directory naming and for other project requirements. It is helpful to refer to this list instead of guessing or making up your own codes (for example, Japanese should be ja instead of jp; Swedish should be sv instead of sw; and German should be de not ge, all mistakes I often see made).

You can access this list of codes directly at http://www.loc.gov/standards/iso639-2/php/code_list.php.

The ISO 639 codes define only language, not full locale. For example, they do not differentiate French for France from French for Canada. Some languages vary in vocabulary and syntax from one country to another. They can also have differences in sort order. To identify the target locale, a two-letter country code is often appended after the language code.

These country codes are defined by ISO 3166. For example, French is identified by FR and Canada by CA. Appending the country code to the language code using the standard promoted by Java causes you to have locale IDs like fr_FR (French for France) and fr_CA (French for Canada). Sometimes people represent locale identifiers using a hyphen instead of an underscore, such as en-US (English for the United States).

Latin American Spanish is a tricky language from a locale ID perspective, because ISO 3166 codes identify countries, not regions. Some people choose Mexico for the locale, using es_MX; others choose Argentina with es_AR; and some use the unofficial es_LA (which would actually mean Spanish for Lao People's Democratic Republic).

You can find the 3166 country codes at http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm.

To see more examples of how these codes work together, you may look at a list of Java's supported locales at http://java.sun.com/j2se/1.5.0/docs/guide/intl/locale.doc.html.

 

Add comment


Management Blog Overview

The Management Blog is composed by SimulTrans senior managers who write about interesting questions from clients, topics of conversation during internal meetings, or other insights about localization that we find fascinating.  

Adam Jones, SimulTrans' COO, is the primary author, joined by colleagues who contribute their insights from time to time.

Please take advantage of the comment feature to let us know what you think and to contribute your own ideas.

Share this Information

SimulTrans Blog