- // ==UserScript==
- // @name Steam - Default language
- // @version 1.4
- // @description Make sure you always see the steam page in your preferred language. You can configure the language in the language variable.
- // @author Royalgamer06
- // @include /^https?\:\/\/(store\.steampowered|steamcommunity)\.com.*/
- // @run-at document-start
- // @grant none
- // @namespace https://greasyfork.org/users/13642
- // @require http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.js
- // ==/UserScript==
-
- //SET YOUR LANGUAGE HERE
- const strTargetLanguage = "english"; //bulgarian, czech, danish, dutch, finnish, french, greek, german, hungarian, italian, japanese, koreana, norwegian, polish, portuguese, brazilian, russian, romanian, schinese, spanish, swedish, tchinese, thai, turkish, ukrainian
- const bStayOnPage = false; //true, false
-
- //DO NOT TOUCH BELOW
- this.$ = this.jQuery = jQuery.noConflict(true);
- if (getURIParam("l") !== strTargetLanguage && !!getURIParam("l")) {
- window.location.search = setURIParam("l", strTargetLanguage);
- } else {
- var cookie = document.cookie;
- var language;
- $("script[src]").each(function() {
- var match = this.src.match(/(?:\?|&(?:amp;)?)l=([^&]+)/);
- if (match) {
- language = match[1];
- return false;
- }
- });
- if (language === undefined) {
- language = (cookie.match(/steam_language=([a-z]+)/i) || [])[1] || "english";
- }
- if (language.toLowerCase() !== strTargetLanguage.toLowerCase()) {
- //ChangeLanguage(strTargetLanguage, bStayOnPage);
- $.post((location.hostname == "steamcommunity.com" ? "/actions/SetLanguage" : "/account/setlanguage"), { language: strTargetLanguage, sessionid: g_sessionID }, function() {
- if (location.hostname == "store.steampowered.com") {
- $.post("//store.steampowered.com/account/savelanguagepreferences", {"primary_language": strTargetLanguage, "secondary_languages[]": strTargetLanguage, "sessionid": g_sessionID }, function() {
- if (!bStayOnPage) location.href = location.href.replace(/l\=[a-zA-Z]+&?/, "");
- });
- } else {
- if (!bStayOnPage) location.href = location.href.replace(/l\=[a-zA-Z]+&?/, "");
- }
- });
- }
- }
- function getURIParam(sParam) {
- var sPageURL = decodeURIComponent(window.location.search.substring(1).toLowerCase()),
- sURLVariables = sPageURL.split("&"),
- sParameterName,
- i;
- for (i = 0; i < sURLVariables.length; i++) {
- sParameterName = sURLVariables[i].split("=");
- if (sParameterName[0] === sParam) {
- return sParameterName[1] === undefined ? true : sParameterName[1];
- }
- }
- }
- function setURIParam(keyString, replaceString) {
- var query = decodeURIComponent(window.location.search.substring(1).toLowerCase()),
- vars = query.split("&"),
- replaced = false,
- i;
- for (i = 0; i < vars.length; i++) {
- var pair = vars[i].split("=");
- if (pair[0] == keyString) {
- vars[i] = pair[0] + "="+ replaceString.toLowerCase();
- replaced = true;
- }
- }
- if (!replaced) vars.push(keyString.toLowerCase() + "=" + replaceString.toLowerCase());
- return vars.join("&");
- }