diff --git a/bitaddress.org.html b/bitaddress.org.html
index 2de6df5..aa58b91 100644
--- a/bitaddress.org.html
+++ b/bitaddress.org.html
@@ -6895,6 +6895,17 @@ ninja.foreachSerialized = function (collection, whatToDo, onComplete) {
 ninja.translator = {
 	currentCulture: "en",
 
+	autodetectTranslation: function() {
+		// window.navigator.language for Firefox / Chrome / Opera Safari
+		// window.navigator.userLanguage for IE
+		var language = window.navigator.language || window.navigator.userLanguage;
+		if (!ninja.translator.translate(language)) {
+			// Try to remove part after dash, for example cs-CZ -> cs
+			language = language.substr(0, language.indexOf('-'));
+			ninja.translator.translate(language);
+		}
+	},
+
 	translate: function (culture) {
 		var dict = ninja.translator.translations[culture];
 		if (dict) {
@@ -6914,6 +6925,9 @@ ninja.translator = {
 					document.getElementById(id).innerHTML = dict[id];
 				}
 			}
+			return true;
+		} else {
+			return false;
 		}
 	},
 
@@ -9084,6 +9098,8 @@ if (ninja.getQueryString()["asyncunittests"] == "true" || ninja.getQueryString()
 // change language
 if (ninja.getQueryString()["culture"] != undefined) {
 	ninja.translator.translate(ninja.getQueryString()["culture"]);
+} else {
+	ninja.translator.autodetectTranslation();
 }
 // testnet, check if testnet edition should be activated
 if (ninja.getQueryString()["testnet"] == "true" || ninja.getQueryString()["testnet"] == "1") {
diff --git a/src/ninja.onload.js b/src/ninja.onload.js
index 2372b8e..07b53f2 100644
--- a/src/ninja.onload.js
+++ b/src/ninja.onload.js
@@ -10,6 +10,8 @@ if (ninja.getQueryString()["asyncunittests"] == "true" || ninja.getQueryString()
 // change language
 if (ninja.getQueryString()["culture"] != undefined) {
 	ninja.translator.translate(ninja.getQueryString()["culture"]);
+} else {
+	ninja.translator.autodetectTranslation();
 }
 // testnet, check if testnet edition should be activated
 if (ninja.getQueryString()["testnet"] == "true" || ninja.getQueryString()["testnet"] == "1") {
diff --git a/src/ninja.translator.js b/src/ninja.translator.js
index 46c255a..3760950 100644
--- a/src/ninja.translator.js
+++ b/src/ninja.translator.js
@@ -1,6 +1,17 @@
 ninja.translator = {
 	currentCulture: "en",
 
+	autodetectTranslation: function() {
+		// window.navigator.language for Firefox / Chrome / Opera Safari
+		// window.navigator.userLanguage for IE
+		var language = window.navigator.language || window.navigator.userLanguage;
+		if (!ninja.translator.translate(language)) {
+			// Try to remove part after dash, for example cs-CZ -> cs
+			language = language.substr(0, language.indexOf('-'));
+			ninja.translator.translate(language);
+		}
+	},
+
 	translate: function (culture) {
 		var dict = ninja.translator.translations[culture];
 		if (dict) {
@@ -20,6 +31,9 @@ ninja.translator = {
 					document.getElementById(id).innerHTML = dict[id];
 				}
 			}
+			return true;
+		} else {
+			return false;
 		}
 	},