Stylish(Userstyles.org)美化

隐藏广告,页面汉化(部分完成)

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Stylish(Userstyles.org)美化
// @namespace    http://tampermonkey.net/
// @version      0.4.4
// @description  隐藏广告,页面汉化(部分完成)
// @author       AN drew
// @match        https://userstyles.org/*
// @require      https://lib.baomitu.com/jquery/3.5.0/jquery.min.js
// @grant        GM_addStyle
// ==/UserScript==

function getUTC8 (datetime) {
    let month = (datetime.getMonth() + 1) < 10 ? "0" + (datetime.getMonth() + 1) : (datetime.getMonth() + 1);
    let date = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();
    return (datetime.getFullYear() + "/" + month + "/" + date );
}

function conversion(installs){
    let f = parseFloat(installs);
    if(installs.indexOf('k') > -1 || installs.indexOf('K') > -1)
    {
        if(f>0 && f<10)
            return f*1000;
        else
            return new Number(f*0.1).toFixed(2)+'万';
    }
    else if(installs.indexOf('m') > -1 || installs.indexOf('M') > -1)
    {
        if(f>0 && f<100)
            return new Number(f*100).toFixed(2)+'万';
        else if(f>=100 && f<1000)
            return new Number(f*0.01).toFixed(2)+'亿';
    }
    else return installs;
}

(function() {
    'use strict';

    let translation = new Map();
    translation.set('Home','首页');
    translation.set('home','首页');
    translation.set("Editor's Choice",'精选样式');
    translation.set('Most Popular','最热样式');
    translation.set('Most Popular Styles','最热样式');
    translation.set('Newest Styles','最新样式');
    translation.set('Recently Updated','近期更新');
    translation.set('TOP STYLED SITES','样式排行榜');
    translation.set('Baidu','百度');
    translation.set('Baidu Themes & Skins','百度');
    translation.set('Qq','腾讯');
    translation.set('Qq Themes & Skins','腾讯');
    translation.set('Google','谷歌');
    translation.set('Google Themes & Skins','谷歌');
    translation.set('Sina','新浪');
    translation.set('Sina Themes & Skins','新浪');
    translation.set('Weibo','微博');
    translation.set('Weibo Themes & Skins','微博');
    translation.set('Taobao','淘宝');
    translation.set('Taobao Themes & Skins','淘宝');
    translation.set('Youku','优酷');
    translation.set('Youku Themes & Skins','优酷');
    translation.set('Youtube','油管');
    translation.set('Youtube Themes & Skins','油管');
    translation.set('Yahoo','雅虎');
    translation.set('Yahoo Themes & Skins','雅虎');
    translation.set('Wikipedia','维基百科');
    translation.set('Wikipedia Themes & Skins','维基百科');
    translation.set('STYLE TYPES','样式类型');
    translation.set('Site Styles','网页样式');
    translation.set('Website Themes & Skins','网页样式');
    translation.set('Android Styles','手机样式');
    translation.set('Global Styles','全局样式');
    translation.set('Global Themes & Skins','全局样式');
    translation.set('Website','网页');
    translation.set('Android','手机');
    translation.set('Create New Style','新建样式');
    translation.set('Create Style','新建样式');
    translation.set('FORUM','论坛');
    translation.set('My Account','个人中心');
    translation.set('Account','个人中心');
    translation.set('Styles','我的样式');
    translation.set('Create new style','新建样式');
    translation.set('Change details','修改个人信息');
    translation.set('Change login methods','修改密码');
    translation.set('Change login methods','修改密码');
    translation.set('Create a widget displaying my styles','生成展示代码');
    translation.set('Discussions on my styles','我的样式讨论');
    translation.set('Logout','退出');
    translation.set('Edit','编辑');
    translation.set('Delete','删除');
    translation.set('Stats','统计');
    translation.set('Style type','样式类型');
    translation.set('Updated','更新时间');
    translation.set('Installs (week)','周安装量');
    translation.set('Installs (total)','总安装量');
    translation.set('Average rating','平均评分');
    translation.set('Most recent discussion','最近讨论');
    translation.set('EYE PROTECT','护眼模式');
    translation.set('DARK BACKGROUND','夜间模式');
    translation.set('CUSTOM BACKGROUND','自定义背景');
    translation.set('HOT ENTRIES','热门样式');
    translation.set('Customize any website to make it look andfeel anyway you want.','将任意网站变成你想要的样子');
    translation.set('Install for Chrome','安装Chrome插件');
    translation.set('See More','更多');
    translation.set('Weekly Installs','周安装量');
    translation.set('Rating','评分');
    translation.set('Discussions','讨论');
    translation.set('WEB','网页');
    translation.set('Web','网页');
    translation.set('ANDROID','手机');
    translation.set('Contact','联系我们');
    translation.set('Help','帮助');
    translation.set('Terms of use','使用条款');
    translation.set('Privacy Policy','隐私政策');
    translation.set('Copyright Notice','版权声明');
    translation.set('All Categories','所有分类');
    translation.set('by','作者: ');
    translation.set('Share this style','分享:');
    translation.set('Information:','样式简介');
    translation.set('Author','作者');
    translation.set('License','开源协议');
    translation.set('Date Created','创建时间');
    translation.set('Last Updated','更新时间');
    translation.set('Installs this week','周安装量');
    translation.set('Total installs','总安装量');
    translation.set('Applies to:','适配网站');
    translation.set('Description:','样式描述');
    translation.set('Notes from latest update:','更新说明');
    translation.set('Archive this Style','删除样式');
    translation.set('Stats','统计');
    translation.set('Edit','编辑');
    translation.set('Install Style','安装样式');
    translation.set('Please wait...','代码加载中,请稍候...');
    translation.set('Discussion:','讨论');
    translation.set('Send Feedback','发送反馈');
    translation.set('Display name','用户名');
    translation.set('E-mail','邮箱');
    translation.set('Display e-mail?','是否公开邮箱');
    translation.set('About you','个人简介');
    translation.set('Homepage','个人网站');
    translation.set('PayPal e-mail','PayPal支付邮箱');
    translation.set('Default License','默认开源协议');
    translation.set('Which type of style do you want to create?','您想创建哪种类型的样式?');
    translation.set('Web Style','网页样式');
    translation.set('Android Style','手机样式');
    translation.set('Create a style for any website using CSS and share it with the Stylish community.\n','为任意网站创建CSS样式,并与Stylish社区分享。');
    translation.set('Create an Android style using a visual editor and share it with Stylish’s app users.','使用可视化编辑器创建手机样式,并与Stylish APP用户分享。');
    translation.set('Create Web Style','创建网页样式');
    translation.set('Create Android Style','创建手机样式');
    translation.set('Name','样式名称');
    translation.set('Description','样式描述');
    translation.set('Additional Info (Optional)','更新说明(可选)');
    translation.set('CSS','CSS代码');
    translation.set('Example URL (Optional)','示例链接(可选)');
    translation.set('Style Settings (Optional)','样式设置(可选)');
    translation.set('New Drop-Down Setting','下拉式设置');
    translation.set('New Color Setting','颜色设置');
    translation.set('New Text Setting','文本设置');
    translation.set('New Image Setting','图片设置');
    translation.set('Primary Screenshot','封面图片');
    translation.set('Additional Screenshots (Optional)','附加图片(可选)');
    translation.set('Customize Settings','自定义设置');
    translation.set('To customize, click Custom Settings before installing','请先点击左边"自定义设置"按钮进行设置,设置完成后再安装样式');
    translation.set('LOG IN','登录');
    translation.set(' or ',' 或 ');
    translation.set('SIGN UP','注册');
    translation.set('Log in with:','登录方式');
    translation.set('Yahoo!','雅虎');
    translation.set('User name/password','用户名密码登录');
    translation.set('Log in with my userstyles.org user name and password:','请输入用户名和密码');
    translation.set('Log in with my OpenID:','请输入OpenID');
    translation.set('Back','返回');
    translation.set('Create account','注册');
    translation.set('Create a userstyles.org account:','注册');
    translation.set('Lost password','忘记密码');
    translation.set('User name','用户名');
    translation.set('Email','电子邮箱');
    translation.set('Password','密码');
    translation.set('Confirm password','确认密码');
    translation.set('Optional, lets you recover your password','可选填,找回密码时使用');
    translation.set('Enter the e-mail address you used to sign up to reset your password. If you didn\'t provide an e-mail address when signing up, you\'re screwed.','请输入您的电子邮箱以重置密码(如果注册时没有填写电子邮箱,那您的账号凉凉了)');
    translation.set('If you provided that e-mail address when you created your userstyles.org account, you should be receiving an e-mail now.','邮件发送成功,请到您的邮箱重置密码!');
    translation.set('Read tips on making user styles.','提交CSS样式前,请先阅读<a href="https://userstyles.org/help/coding" target="_blank">CSS样式编写指南</a>');
    translation.set(`To specify which URLs will have the style applied, use
    the Mozilla
      @-moz-document format. If you're using Chrome, you can use the "To Mozilla Format" button to generate the
    code.
  `,'请使用Mozilla的<a href="https://github.com/JasonBarnabe/stylish/wiki/Applying-styles-to-specific-sites" target="_blank">@-moz-document</a>规则指定样式应用到哪些URL。如果是Chrome浏览器,可以使用“To Mozilla Format”按钮来生成代码。');
    translation.set('Styles for sites with adult content are not allowed.','禁止为成人网站提交CSS样式');
    translation.set('Styles adding adult content to sites are not allowed.','禁止在CSS样式中添加成人内容');
    translation.set("Do not post other people's content without their permission.",'不得提交他人未授权的CSS样式');




    GM_addStyle(`.PageContent li{ height:30px }
.author-styles tr th:not(:first-child), .author-styles tr td:not(:first-child){width:70px; height:40px; text-align:center}
#middle_install{margin-top: 34px!important;}
.form-controls label{font-size:20px}
b.translate{font-size:18px}
.PageContent ul li{height:50px}
`);

    setInterval(function(){
        $(".overlay_background").hide();
        $(".android_button_button").hide();
        $(".android_button_banner").hide();
        $("#top_android_button").hide();
        $(".fallbackDiv").parent().hide();
        $(".GoogleActiveViewElement").hide();
        $(".walking").hide();
        $(".flags").hide();


        !$('.input_text_search').hasClass('translate') && $('.input_text_search').attr('placeholder','输入关键词搜索样式').addClass('translate');
        !$('.author-styles th:first-child').hasClass('translate') && $('.author-styles th:first-child').text('样式名称').addClass('translate');
        !$('#as_userscript > a').hasClass('translate') && $('#as_userscript > a').text('转换为UserScript脚本安装').addClass('translate');
        !$('#donation_button .bold').hasClass('translate') && $('#donation_button .bold').text('捐赠').addClass('translate');
        !$('#login > p').hasClass('translate') && $('#login > p').html('登录参与讨论,发布你自己的样式。<a href="/login/policy">隐私政策</a>').addClass('translate');
        !$('#remember-openid + label').hasClass('translate') && $('#remember-openid + label').text('记住我').addClass('translate');
        !$('#remember-normal + label').hasClass('translate') && $('#remember-normal + label').text('记住我').addClass('translate');
        !$('#remember-create + label').hasClass('translate') && $('#remember-create + label').text('记住我').addClass('translate');
        !$('#openid+input').hasClass('translate') && $('#openid+input').attr('value','登录').addClass('translate');
        !$('#keep+input').hasClass('translate') && $('#keep+input').attr('value','登录').addClass('translate');
        !$('#password-create > table > tbody > tr:nth-child(6) > td > input[type=submit]:nth-child(2)').hasClass('translate') && $('#password-create > table > tbody > tr:nth-child(6) > td > input[type=submit]:nth-child(2)').attr('value','注册').addClass('translate');
        !$('body > div.PageContent > form > input[type=submit]:nth-child(5)').hasClass('translate') && $('body > div.PageContent > form > input[type=submit]:nth-child(5)').attr('value','提交').addClass('translate');

        if($('#style_info > div.text_style_page > ul >b').length > 0)
        {
            if(!$('#style_info > div.text_style_page > ul > b').hasClass('translate'))
            {
                $('#style_info > div.text_style_page > ul > b').get(0).childNodes[1].textContent='代码贡献者';
            }
            $('#style_info > div.text_style_page > ul > b').addClass('translate')
        }

        if($('#button_middle  div.css_close').length > 0)
        {
            $('#button_middle  div.no-select').text('显示CSS代码');
        }
        else if($('#button_middle  div.css_open').length > 0)
        {
            $('#button_middle  div.no-select').text('隐藏CSS代码');
        }

        $(".adContainer").each(function(){
            if($(this).parent().hasClass("us-stylecard--short") || $(this).parent().hasClass("us-stylecard--long"))
                $(this).parent().hide();
            else
                $(this).hide();
        })

        $('.us-updated').each(function(){
            if( !$(this).hasClass('format'))
            {
                let date1 = $(this).text().substring($(this).text().indexOf('Updated: ')+'Updated: '.length);
                let t = date1.split('/');
                let year =  2000+parseInt(t[2]);
                let month =  t[0];
                let day = t[1];
                $(this).text('更新时间:'+year+'/'+month+'/'+day);
                $(this).addClass('format');
            }
        });
        $('.us-username').each(function(){
            if( !$(this).hasClass('translate'))
            {
                let by = this.childNodes[0];
                by.textContent='作者: ';
                $(this).addClass('translate');
            }
        })
        $('.PageContent ul li a').each(function(){
            if( !$(this).hasClass('translate'))
            {
                $(this).text(translation.get($(this).text()));
                $(this).addClass('translate');
            }
        })
        $('.PageContent ul li').each(function(){
            if( !$(this).hasClass('translate'))
            {
                $(this).html(translation.get($(this).text()));
                $(this).addClass('translate');
            }
        })
        let del_a = $('body > div.PageContent > ul > li:nth-child(6) a');
        if(del_a.text()=='delete it')
        {
            let del_href = del_a.attr('href')
            $('body > div.PageContent > ul > li:nth-child(6)').html('如果您决定不再保留CSS样式,请<a href="'+del_href+'" target="_blank">删除</a>而不是清空它。删除后,样式不会出现在搜索结果中,但已安装用户仍可通过链接访问。')
        }


        $('.navigation-title, .navigation-category, .type_search_option, .PageContent li a, .author-styles td a, .author-styles th,#view-responsive .category_title div, #create_new_style span, #fourm_link a, .loggedIn, .PageContent h2, #middle_install, #install_button_homepage, .see_more span, .StylesCategory h1, .us-downloads .text, .us-rating .text, .us-discussions .text, .fzKkUK, .footer_link a, .by-author, #share_div > div:nth-child(1), #headline, #information_key_left, #information_key, #install_style_button > div:nth-child(2),  #button_middle + div, #send_feedback_button > div:nth-child(2), .author-styles td, .form-controls label, .white_button, .main_title, .subtitle, .cta, #archive_style_button, .customize_button_text, .title_setting, #installStyleButton, #account span, .login-option-explanation, .btn-auth, #password-login p a, #password-create .text-label, #password-create span, .login-navigation, body > div.PageContent > form > p, body > div.PageContent > p, .logIn').each(function(){
            if( !$(this).hasClass('translate'))
            {
                $(this).text(translation.get($(this).text()));
                $(this).addClass('translate');
            }
        })
        $('.type_search_text').each(function(){
            $(this).text(translation.get($(this).text()));
        })
        $('#title_div h1').each(function(){
            if($(this).text().indexOf('Themes & Skins for "') > -1)
            {
                let title = $(this).text();
                let s =title.replace('Themes & Skins for "','');
                s=s.substring(0,s.length-1);
                $(this).text(s);
            }
            if( !$(this).hasClass('translate'))
            {
                $(this).text(translation.get($(this).text()));
                $(this).addClass('translate');
            }
        })
        $('.author-styles td:nth-child(3), #discussions > div  #discussion_date').each(function(){
            if( !$(this).hasClass('format'))
            {
                $(this).text(getUTC8(new Date($(this).text())));
                $(this).addClass('format');
            }
        })
        $('#left_information div:nth-of-type(3) #infomation_value_left,#left_information div:nth-of-type(4) #infomation_value_left').each(function(){
            if( !$(this).hasClass('format'))
            {
                $(this).text(getUTC8(new Date($(this).text())));
                $(this).addClass('format');
            }
        })
        $('#new-setting input').each(function(){
            if( !$(this).hasClass('translate'))
            {
                $(this).attr('value',translation.get($(this).attr('value')));
                $(this).addClass('translate');
            }
        })
        $('#center_information #information_value, #right_information #information_value').each(function(){
            if( !$(this).hasClass('format'))
            {
                $(this).text(conversion(($(this).text())));
                $(this).addClass('format');
            }
        })

        $('#iframe').height(3500);
    },1)
})();