/* This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute it * and/or modify it under the terms of the Do What The Fuck You Want * To Public License, Version 2, as published by Sam Hocevar. See * http://www.wtfpl.net/ for more details. */ // ==UserScript== // @name Twitter Settings sub-menu // @namespace http://userscripts.org/users/12 // @description Add sub-menu for Twitter settings for quick access. // @version 2.0 // @author LouCypher // @license WTFPL http://www.wtfpl.net/ // @resource license https://raw.github.com/LouCypher/userscripts/master/licenses/WTFPL/LICENSE.txt // @include http://twitter.com/* // @include https://twitter.com/* // @grant GM_addStyle // @downloadURL https://update.greasyfork.icu/scripts/5/Twitter%20Settings%20sub-menu.user.js // @updateURL https://update.greasyfork.icu/scripts/5/Twitter%20Settings%20sub-menu.meta.js // ==/UserScript== (function() { var setting = document.querySelector('.dropdown-menu li > a.js-nav[data-nav="settings"]'); if (!setting) return; var text; var lang = document.documentElement.lang; switch (lang) { case "template": text = { account: "", password: "", devices: "", notifications: "", profile: "", design: "", applications: "", widgets: "" } break; case "ar": // العربية text = { account: "\u0627\u0644\u062D\u0633\u0627\u0628", password: "\u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631", devices: "\u0627\u0644\u0647\u0627\u062A\u0641 \u0627\u0644\u0645\u062D\u0645\u0648\u0644", notifications: "\u062A\u0646\u0628\u064A\u0647\u0627\u062A \u0627\u0644\u0628\u0631\u064A\u062F \u0627\u0644\u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A", profile: "\u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0634\u062E\u0635\u064A", design: "\u0627\u0644\u062A\u0635\u0645\u064A\u0645", applications: "\u0627\u0644\u062A\u0637\u0628\u064A\u0642\u0627\u062A", widgets: "\u0627\u0644\u062A\u0637\u0628\u064A\u0642\u0627\u062A \u0627\u0644\u0645\u0635\u063A\u0651\u0631\u0629" } break; case "ca": // Català text = { account: "Account", password: "Password", devices: "M\u00F2bil", notifications: "Notificacions per correu electr\u00F2nic", profile: "Profile", design: "Design", applications: "Aplicacions", widgets: "Widgets" } break; case "cs": // Čeština text = { account: "\u00DA\u010Det", password: "Heslo", devices: "Mobil", notifications: "E-mailov\u00E9 upozorn\u011Bn\u00ED", profile: "Profil", design: "Vzhled", applications: "Aplikace", widgets: "Widgety" } break; case "da": // Dansk text = { account: "Konto", password: "Adgangskode", devices: "Mobil", notifications: "E-mail-meddelelser", profile: "Profil", design: "Design", applications: "Apps", widgets: "Widgets" } break; case "de": // Deutsch text = { account: "Account", password: "Passwort", devices: "Mobiltelefon", notifications: "E-Mail-Benachrichtigungen", profile: "Profil", design: "Design", applications: "Apps", widgets: "Widgets" } break; case "es": // Español text = { account: "Cuenta", password: "Contrase\u00F1a", devices: "M\u00F3vil", notifications: "Notificaciones por correo electr\u00F3nico", profile: "Perfil", design: "Dise\u00F1o", applications: "Aplicaciones", widgets: "Widgets" } break; case "eu": // Euskara text = { account: "Kontua", password: "Password", devices: "Mugikorra", notifications: "E-posta bidezko jakinarazpenak", profile: "Profila", design: "Diseinua", applications: "Aplikazioak", widgets: "Tresnak" } break; case "fa": // فارسی text = { account: "\u062D\u0633\u0627\u0628 \u06A9\u0627\u0631\u0628\u0631\u06CC", password: "\u06AF\u0630\u0631\u0648\u0627\u0698\u0647 - \u0631\u0645\u0632 \u0639\u0628\u0648\u0631", devices: "\u06AF\u0648\u0634\u06CC \u0647\u0645\u0631\u0627\u0647", notifications: "\u0622\u06AF\u0627\u0647\u200C\u0633\u0627\u0632\u06CC\u200C\u0647\u0627\u06CC \u0627\u06CC\u0645\u06CC\u0644\u06CC", profile: "\u0646\u0645\u0627\u06CC\u0647", design: "\u0637\u0631\u0627\u062D\u06CC", applications: "\u0628\u0631\u0646\u0627\u0645\u0647\u200C\u0647\u0627", widgets: "\u0627\u0628\u0632\u0627\u0631\u06A9\u200C\u0647\u0627" } break; case "fi": // Suomi text = { account: "Tili", password: "Salasana", devices: "Mobili", notifications: "S\u00E4hk\u00F6posti-ilmoitukset", profile: "Profili", design: "Ulkoasu", applications: "Sovellukset", widgets: "Pienoisohjelmat" } break; case "fil": // Filipino text = { account: "Account", password: "Password", devices: "Mobile", notifications: "Mga abiso sa email", profile: "Profile", design: "Disenyo", applications: "Mga App", widgets: "Mga Widget" } break; case "fr": // Français text = { account: "Compte", password: "Mot de passe", devices: "Mobile", notifications: "Notifications par email", profile: "Profil", design: "Th\u00E8me", applications: "Applications", widgets: "Widgets" } break; case "gl": // Galego text = { account: "Conta", password: "Contrasinal", devices: "M\u00F3bil", notifications: "Notificaci\u00F3ns por correo electr\u00F3nico", profile: "Profile", design: "Dese\u00F1o", applications: "Aplicaci\u00F3ns", widgets: "Widgets" } break; case "he": // עִבְרִית text = { account: "\u05D7\u05E9\u05D1\u05D5\u05DF", password: "\u05E1\u05E1\u05DE\u05D4", devices: "\u05D8\u05DC\u05E4\u05D5\u05DF \u05E0\u05D9\u05D9\u05D3", notifications: "\u05D4\u05EA\u05E8\u05E2\u05D5\u05EA \u05D1\u05D3\u05D5\u05D0\u05F4\u05DC", profile: "\u05E4\u05E8\u05D5\u05E4\u05D9\u05DC", design: "\u05E2\u05D9\u05E6\u05D5\u05D1", applications: "\u05D9\u05D9\u05E9\u05D5\u05DE\u05D9\u05DD", widgets: "\u05D5\u05D9\u05D3\u05D2\u05F3\u05D8\u05D9\u05DD" } break; case "hi": // हिन्दी text = { account: "\u0916\u093E\u0924\u093E", password: "\u092A\u093E\u0938\u0935\u0930\u094D\u0921", devices: "\u092E\u094B\u092C\u093E\u0907\u0932", notifications: "\u0908\u092E\u0947\u0932 \u0905\u0927\u093F\u0938\u0942\u091A\u0928\u093E\u090F\u0902", profile: "\u092A\u094D\u0930\u094B\u092B\u093C\u093E\u0907\u0932", design: "\u0921\u093F\u091C\u093C\u093E\u0907\u0928", applications: "\u090F\u092A\u094D\u092A\u094D\u0938", widgets: "\u0935\u093F\u091C\u0947\u091F\u094D\u0938" } break; case "hu": // Magyar text = { account: "Fi\u00F3k", password: "Jelsz\u00F3", devices: "Mobil", notifications: "E-mail \u00E9rtes\u00EDt\u00E9sek", profile: "Profil", design: "Kin\u00E9zet", applications: "Alkalmaz\u00E1sok", widgets: "Modulok" } break; case "id": // Bahasa Indonesia text = { account: "Akun", password: "Kata sandi", devices: "Ponsel", notifications: "Notifikasi email", profile: "Profil", design: "Desain", applications: "Applikasi", widgets: "Widget" } break; case "it": // Italiano text = { account: "Account", password: "Password", devices: "Cellulare", notifications: "Notifiche email", profile: "Profilo", design: "Aspetto", applications: "Applicazioni", widgets: "Widget" } break; case "ja": // 日本語 text = { account: "\u30E6\u30FC\u30B6\u30FC\u60C5\u5831", password: "\u30D1\u30B9\u30EF\u30FC\u30C9", devices: "\u30E2\u30D0\u30A4\u30EB", notifications: "\u30E1\u30FC\u30EB\u901A\u77E5", profile: "\u30D7\u30ED\u30D5\u30A3\u30FC\u30EB", design: "\u30C7\u30B6\u30A4\u30F3", applications: "\u30A2\u30D7\u30EA\u9023\u643A", widgets: "\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8" } break; case "ko": // 한국어 text = { account: "\uACC4\uC815", password: "\uBE44\uBC00\uBC88\uD638", devices: "\uBAA8\uBC14\uC77C", notifications: "\uC774\uBA54\uC77C \uC54C\uB9BC", profile: "\uD504\uB85C\uD544", design: "\uB514\uC790\uC778", applications: "\uC560\uD50C\uB9AC\uCF00\uC774\uC158", widgets: "\uC704\uC82F" } break; case "msa": // Bahasa Melayu text = { account: "Akaun", password: "Kata laluan", devices: "Mudah alih", notifications: "E-mel pemberitahuan", profile: "Profil", design: "Reka Bentuk", applications: "Aplikasi", widgets: "Widget" } break; case "pl": // Polski text = { account: "Konto", password: "Has\u0142o", devices: "Telefon kom\u00F3rkowy", notifications: "Powiadomienia e-mail", profile: "Profil", design: "Wygl\u0105d", applications: "Aplikacje", widgets: "Wid\u017Cety" } break; case "nl": // Nederlands text = { account: "Account", password: "Wachtwoord", devices: "Mobiel", notifications: "E-mailmeldingen", profile: "Profiel", design: "Ontwerp", applications: "Applicaties", widgets: "Widgets" } break; case "ro": // Română text = { account: "Account", password: "Parol\u0103", devices: "Mobil", notifications: "Notific\u0103ri prin email", profile: "Profil", design: "Design", applications: "Aplica\u0163ii", widgets: "Widgets" } break; case "ru": // Русский text = { account: "\u0423\u0447\u0451\u0442\u043D\u0430\u044F \u0437\u0430\u043F\u0438\u0441\u044C", password: "\u041F\u0430\u0440\u043E\u043B\u044C", devices: "\u0422\u0435\u043B\u0435\u0444\u043E\u043D", notifications: "\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043F\u043E \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u0435", profile: "\u041F\u0440\u043E\u0444\u0438\u043B\u044C", design: "\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435", applications: "\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F", widgets: "\u0412\u0438\u0434\u0436\u0435\u0442\u044B" } break; case "tr": // Türkçe text = { account: "Hesap", password: "\u015Eifre", devices: "Mobil", notifications: "E-posta bildirimleri", profile: "Profil", design: "Tasar\u0131m", applications: "Uygulamalar", widgets: "Bile\u015Fenler" } break; case "uk": // Українська мова text = { account: "Account", password: "\u041F\u0430\u0440\u043E\u043B\u044C", devices: "\u041C\u043E\u0431\u0456\u043B\u044C\u043D\u0438\u0439", notifications: "\u0421\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F \u0435\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u044E \u043F\u043E\u0448\u0442\u043E\u044E", profile: "\u041F\u0440\u043E\u0444\u0456\u043B\u044C", design: "\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u043D\u044F", applications: "\u0414\u043E\u0434\u0430\u0442\u043A\u0438", widgets: "\u0412\u0456\u0434\u0436\u0435\u0442\u0438" } break; case "xx-lc": // LOLCATZ text = { account: "Account", password: "PASSWORD", devices: "MOBILE. KTHXBYE!", notifications: "EMAIL NOTIFICASHUNS", profile: "PROFILE", design: "DESIGN", applications: "APPS", widgets: "Widgets" } break; case "zh-cn": // 简体中文 text = { account: "\u8D26\u53F7", password: "\u5BC6\u7801", devices: "\u79FB\u52A8\u8BBE\u5907", notifications: "\u7535\u5B50\u90AE\u4EF6\u901A\u77E5", profile: "\u4E2A\u4EBA\u8D44\u6599", design: "\u4E3B\u9898", applications: "\u5E94\u7528", widgets: "\u5C0F\u5DE5\u5177" } break; case "zh-tw": // 繁體中文 text = { account: "\u5E33\u6236", password: "\u5BC6\u78BC", devices: "\u884C\u52D5\u96FB\u8A71", notifications: "\u96FB\u5B50\u90F5\u4EF6\u901A\u77E5", profile: "\u500B\u4EBA\u6A94\u6848", design: "\u8A2D\u8A08", applications: "\u61C9\u7528\u7A0B\u5F0F", widgets: "\u5C0F\u5DE5\u5177" } break; default: // English text = { account: "Account", password: "Password", devices: "Mobile", notifications: "Email notifications", profile: "Profile", design: "Design", applications: "Apps", widgets: "Widgets" } } var submenu = setting.parentNode.insertBefore(document.createElement("ul"), setting); submenu.id = "sub-menu"; submenu.className = "dropdown-menu"; submenu.innerHTML = '
  • ' + text.account + '
  • ' + '
  • ' + text.password + '
  • ' + '
  • ' + text.devices + '
  • ' + '
  • ' + text.notifications + '
  • ' + '
  • ' + text.profile + '
  • ' + '
  • ' + text.design + '
  • ' + '
  • ' + text.applications + '
  • ' + '
  • ' + text.widgets + '
  • '; var css = "#sub-menu {\n\ display: none;\n\ min-width: 237px;\n\ background-color: white;\n\ position: absolute;\n\ margin: -2.3em " + (document.body.dir == "rtl" ? "0 0 -227px" : "-227px 0 0") + ";\n\ padding: .5em 0;\n\ }\n\ li:hover > #sub-menu { display: block; }"; if (typeof GM_addStyle === "function") return GM_addStyle(css); var style = document.head.appendChild(document.createElement("style")); style.type = "text/css"; style.textContent = css; })()