diff --git a/src/static/js/html10n.js b/src/static/js/html10n.js
index 9769272f9..3c4e5450c 100644
--- a/src/static/js/html10n.js
+++ b/src/static/js/html10n.js
@@ -122,7 +122,7 @@ window.html10n = (function(window, document, undefined) {
return
}
- if (!data[lang]) lang = lang.substr(0,2)
+ if (!data[lang]) lang = lang.substr(0, lang.indexOf('-') == -1? lang.length : lang.indexOf('-'))
if (!data[lang]) {
cb(new Error('Couldn\'t find translations for '+lang))
return
diff --git a/src/static/js/l10n.js b/src/static/js/l10n.js
index 0bd060fe1..7556b7404 100644
--- a/src/static/js/l10n.js
+++ b/src/static/js/l10n.js
@@ -1,6 +1,6 @@
(function(document) {
// Set language for l10n
- var language = document.cookie.match(/language=(\w{2})/);
+ var language = document.cookie.match(/language=(\w{2,3})(-w+)?/);
if(language) language = language[1];
html10n.bind('indexed', function() {