/* 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
// ==/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 = '<li><a data-nav="settings" href="/settings/account">'
+ text.account + '</a></li>'
+ '<li><a data-nav="settings" href="/settings/password">'
+ text.password + '</a></li>'
+ '<li><a data-nav="settings" href="/settings/devices">'
+ text.devices + '</a></li>'
+ '<li><a data-nav="settings" href="/settings/notifications">'
+ text.notifications + '</a></li>'
+ '<li><a data-nav="settings" href="/settings/profile">'
+ text.profile + '</a></li>'
+ '<li><a data-nav="settings" href="/settings/design">'
+ text.design + '</a></li>'
+ '<li><a data-nav="settings" href="/settings/applications">'
+ text.applications + '</a></li>'
+ '<li><a data-nav="settings" href="/settings/widgets">'
+ text.widgets + '</a></li>';
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;
})()