Skip to content

Instantly share code, notes, and snippets.

@stchr
Created May 28, 2014 12:12
Show Gist options
  • Save stchr/51d53d548bfda8d90194 to your computer and use it in GitHub Desktop.
Save stchr/51d53d548bfda8d90194 to your computer and use it in GitHub Desktop.
JS i18n
<div class="info">
<p data-localize="_welcomeText">Herzlich willkommen!</p>
<a href="#" data-localize="_showPDF">PDF anzeigen</a>
</div>
{
"en": {
"_customer": "Customer",
"_customers": "Customers",
"_welcomeText": "Welcome!",
"_showPDF": "Show PDF"
},
"de": {
"_customer": "Kunde",
"_customers": "Kunden",
"_welcomeText": "Herzlich willkommen!",
"_showPDF": "PDF anzeigen"
}
}
function getLanguage(lang) {
$.ajax({
type: 'GET',
url: 'js/lang.json',
async: false,
dataType: 'json',
success: function(data) {
if(data[lang]) {
completeTranslate(data[lang]);
}
else {
completeTranslate(data['en']);
}
},
error: function(e) {
genericFailHandler(e);
}
});
}
var dic = new Object();
var browserLang = window.navigator.userLanguage || window.navigator.language;
var lang = "";
function translate() {
lang = localStorage.getItem('language') || browserLang.substr(0, 2);
getLanguage(lang);
}
function completeTranslate(language) {
dic = language;
$("[data-localize]").each(function(){
$(this).text(dic[$(this).attr('data-localize')]);
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment