Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@simme
Created November 24, 2010 15:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save simme/713801 to your computer and use it in GitHub Desktop.
Save simme/713801 to your computer and use it in GitHub Desktop.
Client side language switching
var language = (function ($) {
var current = 'en'
, languages = { sv: {}
, da: {}
, en: {}
}
, self = {};
/**
* Set the language strings
*/
function init() {
// Swedish strings
languages.sv = {
'#eat-link': 'ät'
, '#events-link': 'evenemang'
, '#sights-link': 'sevärdheter'
, '#stay-link': 'bo'
, '#travel-link': 'resa'
, '#menu-link': 'meny'
};
// English strings
languages.en = {
'#eat-link': 'eat'
, '#events-link': 'events'
, '#sights-link': 'sights'
, '#stay-link': 'stay'
, '#travel-link': 'travel'
, '#menu-link': 'menu'
};
// Danish stirngs
languages.da = {
'#eat-link': 'spis'
, '#events-link': 'events'
, '#sights-link': 'sights'
, '#stay-link': 'stay'
, '#travel-link': 'travel'
, '#menu-link': 'menu'
};
};
/**
* Changes the language
* @param string language
*/
self.setLanguage = function (language) {
// Don't need to do anything
if (language == current) {
return;
}
// Validate language trying to be set
if (language == 'sv' || language == 'en' || language == 'da') {
for (key in languages[language]) {
$(key).text(languages[language][key]);
console.log(languages[language][key]);
}
current = language;
}
};
init();
return self;
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment