#Opensource #javascript library to help localize your multi-lingual website
When developing a multi-lingual website, there are common elements that can be costly to translate if you are paying per-word, and it’s too risky to resort to automatic translation. How embarassing would it be to have Turkey (the country) translated as Tacchina (a bird)?
However, the folks at Unicode Inc, have a freely downloadable zip file, that contains common translations in every conceiveable language, known as the CLDR, and this is a javascript file that leverages the CLDR, so you don’t have to translate a list of countries (or languages, time zones, etc.)
So, to get to the point, You can clone the repo from github here; https://github.com/infiniteloopltd/LocalizeJS
It’s open source, so feel free to fork, and develop upon this library, as long as you keep the copyright notices in place
The simple example here, is to load the italian localisation file (it.xml), and then use it to display a drop down of countries as follows;
Localize.Load(“it.xml”).then( language => initializeWith(language));
function initializeWith(language)
{
var territories = language.localeDisplayNames.territories.territory;
var countries = territories.filter(country => country.type.length==2
&& country.alt == null);var CountriesSelect = document.getElementById(“countries”);
for(var i in countries)
{
var country= countries[i];
var el = document.createElement(“option”);
el.text = country[“#text”];
el.value = country.type;
CountriesSelect.add(el);
}
CountriesSelect.value=”US”;
}
Of course, if you are interested in creating a multi-lingual website, you should also check out http://www.resxtranslate.com – especially if you have a .NET based website.