From 8e376f61421c34f63031296bafaa394853f65fd9 Mon Sep 17 00:00:00 2001 From: Anarios Date: Thu, 28 Jul 2022 22:18:42 +0200 Subject: [PATCH 001/136] RoundDown option removed --- Extensions/combined/changelog/changelog.js | 1 - Extensions/combined/manifest-firefox.json | 15 ++++++----- Extensions/combined/popup.html | 16 ++++-------- Extensions/combined/popup.js | 30 +++------------------- Extensions/combined/ryd.background.js | 20 --------------- Extensions/combined/src/events.js | 10 -------- Extensions/combined/src/state.js | 12 --------- Extensions/combined/src/utils.js | 16 +----------- 8 files changed, 17 insertions(+), 103 deletions(-) diff --git a/Extensions/combined/changelog/changelog.js b/Extensions/combined/changelog/changelog.js index 8c9e332a..fbef6c94 100644 --- a/Extensions/combined/changelog/changelog.js +++ b/Extensions/combined/changelog/changelog.js @@ -6,7 +6,6 @@ const config = { coloredBar: false, colorTheme: "classic", numberDisplayFormat: "compactShort", - numberDisplayRoundDown: true, showAdvancedMessage: '', hideAdvancedMessage: diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index 82fd897a..f304c6a1 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -29,11 +29,12 @@ "js": ["ryd.content-script.js"] } ] - // , - // "browser_specific_settings": { - // "gecko": { - // "id": "addon@example.com", - // "strict_min_version": "42.0" - // } - // } + // uncomment this section for local storage to work in firefox locally + , + "browser_specific_settings": { + "gecko": { + "id": "addon@example.com", + "strict_min_version": "42.0" + } + } } diff --git a/Extensions/combined/popup.html b/Extensions/combined/popup.html index aa2e5085..719d082b 100644 --- a/Extensions/combined/popup.html +++ b/Extensions/combined/popup.html @@ -104,21 +104,15 @@


- -

@@ -134,13 +128,13 @@


@@ -184,7 +178,7 @@

data-hover="Display percentage in like/dislike bar tooltip." > - + Percentage in like/dislike bar tooltip.
diff --git a/Extensions/combined/popup.js b/Extensions/combined/popup.js index cf72829d..1c7a8322 100644 --- a/Extensions/combined/popup.js +++ b/Extensions/combined/popup.js @@ -8,7 +8,6 @@ const config = { coloredBar: false, colorTheme: "classic", numberDisplayFormat: "compactShort", - numberDisplayRoundDown: true, showTooltipPercentage: false, tooltipPercentageMode: "dash_like", numberDisplayReformatLikes: false, @@ -81,10 +80,6 @@ document.getElementById("color_theme").addEventListener("click", (ev) => { chrome.storage.sync.set({ colorTheme: ev.target.value }); }); -document.getElementById("number_round_down").addEventListener("click", (ev) => { - chrome.storage.sync.set({ numberDisplayRoundDown: ev.target.checked }); - updateNumberDisplayFormatContent(ev.target.checked); -}); document.getElementById("number_format").addEventListener("change", (ev) => { chrome.storage.sync.set({ numberDisplayFormat: ev.target.value }); @@ -135,7 +130,6 @@ function initConfig() { initializeColoredBar(); initializeColorTheme(); initializeNumberDisplayFormat(); - initializeNumberDisplayRoundDown(); initializeTooltipPercentage(); initializeTooltipPercentageMode(); initializeNumberDisplayReformatLikes(); @@ -203,11 +197,6 @@ function initializeColorTheme() { }); } -function initializeNumberDisplayRoundDown() { - chrome.storage.sync.get(["numberDisplayRoundDown"], (res) => { - handleNumberDisplayRoundDownChangeEvent(res.numberDisplayRoundDown); - }); -} function initializeTooltipPercentage() { chrome.storage.sync.get(["showTooltipPercentage"], (res) => { @@ -228,13 +217,8 @@ function initializeNumberDisplayFormat() { updateNumberDisplayFormatContent(); } -function updateNumberDisplayFormatContent(roundDown) { - let testValue; - if (roundDown) { - testValue = 123000; - } else { - testValue = 123456; - } +function updateNumberDisplayFormatContent() { + let testValue = 123456; document.getElementById("number_format_compactShort").innerHTML = getNumberFormatter("compactShort").format(testValue); document.getElementById("number_format_compactLong").innerHTML = @@ -266,11 +250,6 @@ function storageChangeHandler(changes, area) { if (changes.colorTheme !== undefined) { handleColorThemeChangeEvent(changes.colorTheme.newValue); } - if (changes.numberDisplayRoundDown !== undefined) { - handleNumberDisplayRoundDownChangeEvent( - changes.numberDisplayRoundDown.newValue - ); - } if (changes.numberDisplayFormat !== undefined) { handleNumberDisplayFormatChangeEvent(changes.numberDisplayFormat.newValue); } @@ -319,10 +298,7 @@ function updateColorThemePreviewContent(themeName) { getColorFromTheme(themeName, false); } -function handleNumberDisplayRoundDownChangeEvent(value) { - config.numberDisplayRoundDown = value; - document.getElementById("number_round_down").checked = value; -} + function handleNumberDisplayFormatChangeEvent(value) { config.numberDisplayFormat = value; diff --git a/Extensions/combined/ryd.background.js b/Extensions/combined/ryd.background.js index c416da94..edc5b6f8 100644 --- a/Extensions/combined/ryd.background.js +++ b/Extensions/combined/ryd.background.js @@ -10,7 +10,6 @@ let extConfig = { coloredBar: false, colorTheme: "classic", // classic, accessible, neon numberDisplayFormat: "compactShort", // compactShort, compactLong, standard - numberDisplayRoundDown: true, // locale 'de' shows exact numbers by default numberDisplayReformatLikes: false, // use existing (native) likes number }; @@ -266,11 +265,6 @@ function storageChangeHandler(changes, area) { if (changes.colorTheme !== undefined) { handleColorThemeChangeEvent(changes.colorTheme.newValue); } - if (changes.numberDisplayRoundDown !== undefined) { - handleNumberDisplayRoundDownChangeEvent( - changes.numberDisplayRoundDown.newValue - ); - } if (changes.numberDisplayFormat !== undefined) { handleNumberDisplayFormatChangeEvent(changes.numberDisplayFormat.newValue); } @@ -315,10 +309,6 @@ function handleTooltipPercentageModeChangeEvent(value) { extConfig.tooltipPercentageMode = value; } -function handleNumberDisplayRoundDownChangeEvent(value) { - extConfig.numberDisplayRoundDown = value; -} - function changeIcon(iconName) { if (api.action !== undefined) api.action.setIcon({ path: "/icons/" + iconName }); @@ -354,7 +344,6 @@ function initExtConfig() { initializeColoredBar(); initializeColorTheme(); initializeNumberDisplayFormat(); - initializeNumberDisplayRoundDown(); initializeNumberDisplayReformatLikes(); initializeTooltipPercentage(); initializeTooltipPercentageMode(); @@ -381,15 +370,6 @@ function initializeColoredThumbs() { }); } -function initializeNumberDisplayRoundDown() { - api.storage.sync.get(["numberDisplayRoundDown"], (res) => { - if (res.numberDisplayRoundDown === undefined) { - api.storage.sync.set({ numberDisplayRoundDown: true }); - } else { - extConfig.numberDisplayRoundDown = res.numberDisplayRoundDown; - } - }); -} function initializeColoredBar() { api.storage.sync.get(["coloredBar"], (res) => { diff --git a/Extensions/combined/src/events.js b/Extensions/combined/src/events.js index 9b0e78ae..47d0bce8 100644 --- a/Extensions/combined/src/events.js +++ b/Extensions/combined/src/events.js @@ -108,12 +108,6 @@ function storageChangeHandler(changes, area) { if (changes.colorTheme !== undefined) { handleColorThemeChangeEvent(changes.colorTheme.newValue); } - - if (changes.numberDisplayRoundDown !== undefined) { - handleNumberDisplayRoundDownChangeEvent( - changes.numberDisplayRoundDown.newValue - ); - } if (changes.numberDisplayFormat !== undefined) { handleNumberDisplayFormatChangeEvent(changes.numberDisplayFormat.newValue); } @@ -145,10 +139,6 @@ function handleNumberDisplayFormatChangeEvent(value) { extConfig.numberDisplayFormat = value; } -function handleNumberDisplayRoundDownChangeEvent(value) { - extConfig.numberDisplayRoundDown = value; -} - function handleNumberDisplayReformatLikesChangeEvent(value) { extConfig.numberDisplayReformatLikes = value; } diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index ec2125a5..73eb905b 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -22,7 +22,6 @@ let extConfig = { coloredBar: false, colorTheme: "classic", numberDisplayFormat: "compactShort", - numberDisplayRoundDown: true, showTooltipPercentage: false, tooltipPercentageMode: "dash_like", numberDisplayReformatLikes: false, @@ -260,7 +259,6 @@ function initExtConfig() { initializeColoredBar(); initializeColorTheme(); initializeNumberDisplayFormat(); - initializeNumberDisplayRoundDown(); initializeTooltipPercentage(); initializeTooltipPercentageMode(); initializeNumberDisplayReformatLikes(); @@ -296,16 +294,6 @@ function initializeColoredBar() { }); } -function initializeNumberDisplayRoundDown() { - getBrowser().storage.sync.get(["numberDisplayRoundDown"], (res) => { - if (res.numberDisplayRoundDown === undefined) { - getBrowser().storage.sync.set({ numberDisplayRoundDown: true }); - } else { - extConfig.numberDisplayRoundDown = res.numberDisplayRoundDown; - } - }); -} - function initializeColorTheme() { getBrowser().storage.sync.get(["colorTheme"], (res) => { if (res.colorTheme === undefined) { diff --git a/Extensions/combined/src/utils.js b/Extensions/combined/src/utils.js index 05dafbf0..b92bc0ce 100644 --- a/Extensions/combined/src/utils.js +++ b/Extensions/combined/src/utils.js @@ -1,22 +1,8 @@ import { extConfig } from "./state"; -function roundDown(num) { - if (num < 1000) return num; - const int = Math.floor(Math.log10(num) - 2); - const decimal = int + (int % 3 ? 1 : 0); - const value = Math.floor(num / 10 ** decimal); - return value * 10 ** decimal; -} - function numberFormat(numberState) { - let numberDisplay; - if (extConfig.numberDisplayRoundDown === false) { - numberDisplay = numberState; - } else { - numberDisplay = roundDown(numberState); - } return getNumberFormatter(extConfig.numberDisplayFormat).format( - numberDisplay + numberState ); } From 61c3757d1ffc6aae4be64ba914d8e8410156bd4d Mon Sep 17 00:00:00 2001 From: Anarios Date: Thu, 28 Jul 2022 22:56:32 +0200 Subject: [PATCH 002/136] 3.0.0.3 --- Extensions/combined/manifest-chrome.json | 4 ++-- Extensions/combined/manifest-firefox.json | 15 +++++++-------- Extensions/combined/ryd.background.js | 11 ++++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index d881a756..fc9e0514 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -1,8 +1,8 @@ { - "name": "__MSG_extensionName__", + "name": "__MSG_extensionNameBeta__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.1", + "version": "3.0.0.3", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index f304c6a1..4f7ba040 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.0", + "version": "3.0.0.3", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] @@ -28,13 +28,12 @@ "css": ["content-style.css"], "js": ["ryd.content-script.js"] } - ] + ], // uncomment this section for local storage to work in firefox locally - , - "browser_specific_settings": { - "gecko": { - "id": "addon@example.com", - "strict_min_version": "42.0" - } + "browser_specific_settings": { + "gecko": { + "id": "addon@example.com", + "strict_min_version": "42.0" } + } } diff --git a/Extensions/combined/ryd.background.js b/Extensions/combined/ryd.background.js index edc5b6f8..cc2817ce 100644 --- a/Extensions/combined/ryd.background.js +++ b/Extensions/combined/ryd.background.js @@ -80,11 +80,13 @@ api.runtime.onInstalled.addListener((details) => { details.reason === "chrome_update" || // No need to show changelog if developer just reloaded the extension details.reason === "update" - ) + ) { return; - api.tabs.create({ - url: api.runtime.getURL("/changelog/3/changelog_3.0.html"), - }); + } else if (details.reason == "install") { + api.tabs.create({ + url: api.runtime.getURL("/changelog/3/changelog_3.0.html"), + }); + } }); // api.storage.sync.get(['lastShowChangelogVersion'], (details) => { @@ -370,7 +372,6 @@ function initializeColoredThumbs() { }); } - function initializeColoredBar() { api.storage.sync.get(["coloredBar"], (res) => { if (res.coloredBar === undefined) { From c0ba031eaf1a2f0d399a8031553c3b881133473d Mon Sep 17 00:00:00 2001 From: Dmitrii Selivanov Date: Fri, 29 Jul 2022 01:31:13 +0200 Subject: [PATCH 003/136] Create Privacy Policy --- Docs/Privacy Policy | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Docs/Privacy Policy diff --git a/Docs/Privacy Policy b/Docs/Privacy Policy new file mode 100644 index 00000000..5dfbca3e --- /dev/null +++ b/Docs/Privacy Policy @@ -0,0 +1,7 @@ +The only data collected from users is their likes and dislikes made while the extension is installed. + +No personal info, account name or watch history is collected or saved. + +Users are identified by a random user ID, which is not directly linked to any of their accounts, the only purpose of this user ID is to make voting process possible. + +None of the saved data is shared with any third parties, From dfa541ad1c4a8718705e2bbf2756c216aa8a7d83 Mon Sep 17 00:00:00 2001 From: Dmitrii Selivanov Date: Fri, 29 Jul 2022 16:36:33 +0200 Subject: [PATCH 004/136] Update manifest-chrome.json Updated manifest to prevent extension from showing a wrong update message --- Extensions/combined/manifest-chrome.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index fc9e0514..da2e082e 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionNameBeta__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.3", + "version": "3.0.0.2", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" From 596c0d730c4c77b61452b66230d80531ad3af523 Mon Sep 17 00:00:00 2001 From: sh4dow Date: Mon, 1 Aug 2022 21:49:35 +0200 Subject: [PATCH 005/136] fix dislike text box not being found for some users --- .../UserScript/Return Youtube Dislike.user.js | 19 +++++++++++++++++-- Extensions/combined/src/buttons.js | 17 ++++++++++++++++- Extensions/combined/src/state.js | 9 ++++----- 3 files changed, 37 insertions(+), 8 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index 253344c7..c45efd1d 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -94,10 +94,25 @@ function getLikeButton() { return getButtons().children[0]; } +function getLikeTextContainer() { + return ( + getLikeButton().querySelector("#text") ?? + getLikeButton().getElementsByTagName("yt-formatted-string")[0] + ); +} + function getDislikeButton() { return getButtons().children[1]; } +function getDislikeTextContainer() { + return ( + getDislikeButton().querySelector("#text") ?? + getDislikeButton().getElementsByTagName("yt-formatted-string")[0] + ); +} + + let mutationObserver = new Object(); if (isShorts() && mutationObserver.exists !== true) { @@ -197,7 +212,7 @@ function setLikes(likesCount) { likesCount; return; } - getButtons().children[0].querySelector("#text").innerText = likesCount; + getLikeTextContainer().innerText = likesCount; } function setDislikes(dislikesCount) { @@ -205,7 +220,7 @@ function setDislikes(dislikesCount) { mobileDislikes = dislikesCount; return; } - getButtons().children[1].querySelector("#text").innerText = dislikesCount; + getDislikeTextContainer().innerText = dislikesCount; } function getLikeCountFromButton() { diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 95ba1c63..ffb6137f 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -36,10 +36,25 @@ function getLikeButton() { return getButtons().children[0]; } +function getLikeTextContainer() { + return ( + getLikeButton().querySelector("#text") ?? + getLikeButton().getElementsByTagName("yt-formatted-string")[0] + ); +} + function getDislikeButton() { return getButtons().children[1]; } +function getDislikeTextContainer() { + return ( + getDislikeButton().querySelector("#text") ?? + getDislikeButton().getElementsByTagName("yt-formatted-string")[0] + ); +} + + function checkForSignInButton() { if ( document.querySelector( @@ -52,4 +67,4 @@ function checkForSignInButton() { } } -export { getButtons, getLikeButton, getDislikeButton, checkForSignInButton }; +export { getButtons, getLikeButton, getDislikeButton, getLikeTextContainer, getDislikeTextContainer, checkForSignInButton }; diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 73eb905b..2f3a9565 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -1,4 +1,4 @@ -import { getLikeButton, getDislikeButton, getButtons } from "./buttons"; +import { getLikeButton, getDislikeButton, getButtons, getLikeTextContainer, getDislikeTextContainer } from "./buttons"; import { createRateBar } from "./bar"; import { getBrowser, @@ -127,7 +127,7 @@ function getState(storedData) { //--- Sets The Likes And Dislikes Values ---// function setLikes(likesCount) { - getButtons().children[0].querySelector("#text").innerText = likesCount; + getLikeTextContainer().innerText = likesCount; } function setDislikes(dislikesCount) { @@ -138,7 +138,7 @@ function setDislikes(dislikesCount) { ).innerText = dislikesCount; return; } - getButtons().children[1].querySelector("#text").innerText = dislikesCount; + getDislikeTextContainer().innerText = dislikesCount; } else { cLog("likes count disabled by creator"); if (isMobile()) { @@ -147,8 +147,7 @@ function setDislikes(dislikesCount) { ).innerText = localize("TextLikesDisabled"); return; } - getButtons().children[1].querySelector("#text").innerText = - localize("TextLikesDisabled"); + getDislikeTextContainer().innerText = localize("TextLikesDisabled"); } } From 4e0f633a1478191cb9e7fcce085ff7ffda19405e Mon Sep 17 00:00:00 2001 From: Anarios Date: Tue, 2 Aug 2022 00:03:03 +0200 Subject: [PATCH 006/136] Prettier reformat --- Extensions/UserScript/Return Youtube Dislike.user.js | 1 - Extensions/combined/src/buttons.js | 10 ++++++++-- Extensions/combined/src/state.js | 8 +++++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index c45efd1d..b9ffa27a 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -112,7 +112,6 @@ function getDislikeTextContainer() { ); } - let mutationObserver = new Object(); if (isShorts() && mutationObserver.exists !== true) { diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index ffb6137f..3b8cab4f 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -54,7 +54,6 @@ function getDislikeTextContainer() { ); } - function checkForSignInButton() { if ( document.querySelector( @@ -67,4 +66,11 @@ function checkForSignInButton() { } } -export { getButtons, getLikeButton, getDislikeButton, getLikeTextContainer, getDislikeTextContainer, checkForSignInButton }; +export { + getButtons, + getLikeButton, + getDislikeButton, + getLikeTextContainer, + getDislikeTextContainer, + checkForSignInButton, +}; diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 2f3a9565..24fa4356 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -1,4 +1,10 @@ -import { getLikeButton, getDislikeButton, getButtons, getLikeTextContainer, getDislikeTextContainer } from "./buttons"; +import { + getLikeButton, + getDislikeButton, + getButtons, + getLikeTextContainer, + getDislikeTextContainer, +} from "./buttons"; import { createRateBar } from "./bar"; import { getBrowser, From 3f49b65e813de55e268c85b5ec5945c8ae9cdf7b Mon Sep 17 00:00:00 2001 From: ilyas zan <71350431+ilbailba@users.noreply.github.com> Date: Fri, 5 Aug 2022 19:29:41 +0300 Subject: [PATCH 007/136] Turkish translations and Reference corrections --- CONTRIBUTING.md | 2 +- CONTRIBUTINGfr.md | 2 +- CONTRIBUTINGru.md | 2 +- CONTRIBUTINGtr.md | 67 ++++++++++++++++ Docs/FAQ.md | 2 +- Docs/FAQfr.md | 2 +- Docs/{FAQru.txt => FAQru.md} | 43 +++++----- Docs/FAQtr.md | 61 ++++++++++++++ Docs/SECURITY-FAQ.md | 2 +- Docs/SECURITY-FAQfr.md | 2 +- Docs/SECURITY-FAQru.md | 2 +- Docs/SECURITY-FAQtr.md | 31 +++++++ Docs/readme.md | 2 +- Docs/readmefr.md | 2 +- Docs/readmetr.md | 39 +++++++++ Extensions/combined/_locales/tr/messages.json | 80 ++++++++++++++++++- READMEes.md | 2 +- READMEfr.md | 4 +- READMEja.md | 2 +- READMEtr.md | 14 ++-- Website/_locales/tr.ts | 42 ++++------ 21 files changed, 335 insertions(+), 70 deletions(-) create mode 100644 CONTRIBUTINGtr.md rename Docs/{FAQru.txt => FAQru.md} (96%) create mode 100644 Docs/FAQtr.md create mode 100644 Docs/SECURITY-FAQtr.md create mode 100644 Docs/readmetr.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2a65ac17..8e8da18d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -Read this in other languages: [Français](CONTRIBUTINGfr.md) +Read this in other languages: [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md) # Welcome To Return YouTube Dislikes contributing guide diff --git a/CONTRIBUTINGfr.md b/CONTRIBUTINGfr.md index 95ece722..c9b9e91b 100644 --- a/CONTRIBUTINGfr.md +++ b/CONTRIBUTINGfr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](CONTRIBUTING.md) +Lisez ceci dans d'autres langues : [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Türkçe](CONTRIBUTINGtr.md) # Bienvenue dans le guide de contribution à Return YouTube Dislikes diff --git a/CONTRIBUTINGru.md b/CONTRIBUTINGru.md index 82b7bc1b..0907d33f 100644 --- a/CONTRIBUTINGru.md +++ b/CONTRIBUTINGru.md @@ -1,4 +1,4 @@ -Прочитать на других языках: [English](CONTRIBUTING.md) +Прочитать на других языках: [English](CONTRIBUTING.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md) # Добро пожаловать в руководство по внесению вклада Return YouTube Dislikes diff --git a/CONTRIBUTINGtr.md b/CONTRIBUTINGtr.md new file mode 100644 index 00000000..4a33b15d --- /dev/null +++ b/CONTRIBUTINGtr.md @@ -0,0 +1,67 @@ +Bunu diğer dillerde okuyun: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md) + +# "YouTube Dislike Sayısını Geri Getir"in katkı kılavuzuna Hoş Geldiniz + +Projemize katkıda bulunmak için zaman ayırdığınız için teşekkür ederiz! Tüm değişiklikleriniz, uzantının bir sonraki sürümüne (veya [internet sitesi](https://www.returnyoutubedislike.com/)ne) yansıtılacaktır. + +## Başlarken + +Lütfen formatlama işlemi için, Prettier'i varsayılan ayarlardayken kullanın. + +#### Ön Şartlar + +Kaynağın paketlenmiş sürümünü oluşturmak için node ve npm'nin kurulu olması gerekir. + +Kurulum sırasında kullanılan sürümler: + +- node: 12.18.4 +- npm: 6.14.6 + +Bu uzantının iş mantığının çoğunu içeren `bundled-content-script.js`yi oluşturmak için, önce tüm bağımlılıkları yüklemeniz gerekir. + +1. Deponun köküne gidin ve şu komutu çalıştırın: + +``` +npm install +``` + +2. `manifest.json` içinde kullanılan `bundled-content-script.js` dosyasını oluşturmak için aşağıdaki komutu çalıştırın. + +``` +npm start // derleme dosyasının/dosyalarının oluşturulması ve kaydedilmesi sırasında çalışırken yeniden yüklenen bir dosya izleyicisini başlatmak için + +// ya da + +npm run build // derleme dosyasını/dosyalarını bir kez oluşturmak için +``` + +Tebrikler, artık geliştirmeye hazırsınız! + +Chrome uzantıları geliştirme konusunda yeniyseniz veya fazladan yardıma ihtiyacınız olursa lütfen [bu YouTube öğreticisi](https://www.youtube.com/watch?v=mdOj6HYE3_0)ne bakın. + +### Issue'lar + +#### Yeni bir issue başlatmak + +Uzantıyla ilgili herhangi bir sorununuz varsa, sorunun önceden bildirilmediğinden emin olmak için lütfen arama yapın. Eğer daha önce bildirilmediyse, bir konu açın. Sorun formunu kullanmanız şiddetle tavsiye edilir ancak zorunlu değildir. + +#### Bir issue'yu çözmek + +Çözebileceğinizi düşündüğünüz bir sorun bulduysanız, çekinmeyin. Düzeltmeyi içeren bir PR açın ve düzelttiğiniz sorunu belirttiğinizden emin olun. + +### Özellik Talebi + +#### Yeni bir özellik talebi açmak + +Uzantı hakkında bir fikriniz varsa, bir özellik isteği açmaktan çekinmeyin, ancak özelliğin daha önce önerilmediğinden emin olmak için lütfen önce arama yapın. Özellik formunun kullanılması şiddetle tavsiye edilir ancak zorunlu değildir. + +#### Bir özellik isteğini uygulamak + +Uygulayabileceğinizi düşündüğünüz bir özellik bulduysanız, çekinmeyin. Düzeltmeyi içeren bir PR açın ve uyguladığınız özelliği belirttiğinizden emin olun. + +### Hangi tür PR'leri kabul ediyoruz? + +- Sorun düzeltmeleri. +- Özellik uygulaması. +- Yazım hataları veya daha anlaşılabilir ve kullanımı daha kolay kelimeler. +- Site katkıları. diff --git a/Docs/FAQ.md b/Docs/FAQ.md index d539b4f8..aaa2d520 100644 --- a/Docs/FAQ.md +++ b/Docs/FAQ.md @@ -1,4 +1,4 @@ -Read this in other languages: [Français](FAQfr.md) +Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md) # Frequently Asked Questions diff --git a/Docs/FAQfr.md b/Docs/FAQfr.md index 76b481ec..1ad62d20 100644 --- a/Docs/FAQfr.md +++ b/Docs/FAQfr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](FAQ.md) +Lisez ceci dans d'autres langues : [English](FAQ.md), [русский](FAQru.md), [Türkçe](FAQtr.md) # Foire Aux Questions diff --git a/Docs/FAQru.txt b/Docs/FAQru.md similarity index 96% rename from Docs/FAQru.txt rename to Docs/FAQru.md index 5c770df1..b6ac8f94 100644 --- a/Docs/FAQru.txt +++ b/Docs/FAQru.md @@ -1,21 +1,24 @@ -# Часто задаваемые вопросы -## Прежде чем задать вопрос на GitHub или в Discord, пожалуйста, ознакомьтесь с этим. - -### **1. Откуда это расширение получает данные?** -Комбинация API Google и старых данных. - -Мы сохраняем все имеющиеся данные в нашей базе данных, чтобы они были доступны после того, как Google прекратит подсчёт отметок «Не нравится» в своём API. - -### **2. Количество не понравившихся видео не обновляется** -В настоящее время видео с отметками «Не нравится» кэшируются и обновляются не очень часто. Раз в 2-3 дня, не чаще. - -Да, это не идеально, но это то, что есть. Мы работаем над тем, чтобы улучшить частоту их обновления. - -### **3. Как это работает?** -Расширение собирает идентификатор видео, которое вы смотрите, извлекает данные об отметках «Не нравится» (и другие поля, такие как просмотры, отметки «Нравится» и т.д.) с помощью нашего API, если видео было извлечено нашим API впервые, оно использует YouTube API для получения данных, затем сохраняет данные в базе данных для кэширования (кэшируются около 2-3 дней) и архивирования и возвращает их вам. После этого расширение отображает отметки «Не нравится» вам. - -### **4. Что произойдёт после того, как API YouTube перестанет возвращать данные о количестве отметок «Не нравится»?** -Внутренняя часть нашего сервера переключится на использование комбинации архивных статистик отметок «Не нравится», оценок, экстраполированных из данных о пользователях расширения, и оценок, основанных на соотношении просмотров и отметок «Нравится» для видео, чьи отметки «Не нравится» не были заархивированы, и для устаревших архивов с отметками «Не нравится». - -## Я беспокоюсь о безопасности / конфиденциальности +Read this in other languages: [English](FAQ.md), [Français](FAQfr.md), [Türkçe](FAQtr.md) + +# Часто задаваемые вопросы + +## Прежде чем задать вопрос на GitHub или в Discord, пожалуйста, ознакомьтесь с этим. + +### **1. Откуда это расширение получает данные?** +Комбинация API Google и старых данных. + +Мы сохраняем все имеющиеся данные в нашей базе данных, чтобы они были доступны после того, как Google прекратит подсчёт отметок «Не нравится» в своём API. + +### **2. Количество не понравившихся видео не обновляется** +В настоящее время видео с отметками «Не нравится» кэшируются и обновляются не очень часто. Раз в 2-3 дня, не чаще. + +Да, это не идеально, но это то, что есть. Мы работаем над тем, чтобы улучшить частоту их обновления. + +### **3. Как это работает?** +Расширение собирает идентификатор видео, которое вы смотрите, извлекает данные об отметках «Не нравится» (и другие поля, такие как просмотры, отметки «Нравится» и т.д.) с помощью нашего API, если видео было извлечено нашим API впервые, оно использует YouTube API для получения данных, затем сохраняет данные в базе данных для кэширования (кэшируются около 2-3 дней) и архивирования и возвращает их вам. После этого расширение отображает отметки «Не нравится» вам. + +### **4. Что произойдёт после того, как API YouTube перестанет возвращать данные о количестве отметок «Не нравится»?** +Внутренняя часть нашего сервера переключится на использование комбинации архивных статистик отметок «Не нравится», оценок, экстраполированных из данных о пользователях расширения, и оценок, основанных на соотношении просмотров и отметок «Нравится» для видео, чьи отметки «Не нравится» не были заархивированы, и для устаревших архивов с отметками «Не нравится». + +## Я беспокоюсь о безопасности / конфиденциальности Более подробную информацию смотрите на [этой странице](SECURITY-FAQ.md). \ No newline at end of file diff --git a/Docs/FAQtr.md b/Docs/FAQtr.md new file mode 100644 index 00000000..cfab81f0 --- /dev/null +++ b/Docs/FAQtr.md @@ -0,0 +1,61 @@ +Bunu diğer dillerde okuyun: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md) + +# Sıkça Sorulan Sorular + +## GitHub'da veya Discord'da bir soru sormadan önce, lütfen buraya göz atın. + +
+ +### **1. Bu uzantı verileri nereden alıyor?** + +Google API'lerinin ve kazınmış verilerin bir kombinasyonu. + +Google, API'lerinde dislike sayılarını kapattıktan sonra kullanılabilir olması için mevcut tüm verileri DB'mize kaydederiz. + +
+ +### **2. Video'nun dislike sayısı güncellenmiyor** + +Şu anda video dislike'ları önbelleğe alınır ve çok sık güncellenmez. Her 2-3 günde bir, daha sık değil. + +Evet, ideal değil, ama olan bu. Bunları nasıl daha sık güncelleyebileceğimizi öğrenmeye çalışıyoruz. + +
+ +### **3. Bu uzantı nasıl çalışıyor?** + +Uzantı, izlediğiniz videonun video kimliğini alır, dislike'larını (ve görüntülemeleri, like'ları vb. diğer alanları) API'mizi kullanarak getirir; video, API'miz tarafından ilk kez getiriliyorsa YouTube API'sini kullanır. Verileri almak için, verileri önbelleğe alma (yaklaşık 2-3 gün önbelleğe alınır) ve arşivleme amacıyla bir veritabanında saklanır ve size geri döndürülür. Uzantı daha sonra size dislike'ları gösterir. + +
+ +### **4. YouTube API'si, dislike sayısını döndürmeyi durdurduğunda ne olacak?** + +Backend, arşivlenmiş dislike istatistikleri, uzantı kullanıcı verilerinden tahmin edilen tahminler ve like'ları arşivlenmemiş videolar ve eski dislike arşivleri için izlenme/like oranlarına dayalı tahminlerin bir kombinasyonunu kullanmaya geçecektir. + +
+ +### **5. Dislike sayısı nasıl hesaplanıyor?** + +YDS, dislike sayısını tahmin etmek için kullanıcılarının oylarını kullanır. + +- Video, API kapatıldıktan sonra yüklendiyse: + + $$ \textup{YDS'nin Dislike Sayısı} = \left( \frac{\textup{YDS Kullanıcılarının Like Sayısı}}{\textup{YDS Kullanıcılarının Dislike Sayısı}} \right) \times \textup{Halka Açık Like Sayısı} $$ + +- YDS veritabanı bir şekilde gerçek like ve dislike sayısına sahipse (yükleyici tarafından veya arşivden sağlanır), dislike sayısı hem kullanıcıların oyları hem de arşivlenen değer temelinde hesaplanacaktır. Arşivlenen değer, eskidikçe son sayım üzerinde daha az etkiye sahip olacaktır. + +
+ +--- + +Bu video şeklinde + +[![IReturn YouTube Dislike Explained](https://yt-embed.herokuapp.com/embed?v=GSmmtv-0yYQ)](https://www.youtube.com/watch?v=GSmmtv-0yYQ) + +--- + +
+ +## Gizlilik / güvenlik hakkında endişelerim var + +Daha fazla bilgi için [bu sayfa](SECURITY-FAQtr.md)ya göz atın. diff --git a/Docs/SECURITY-FAQ.md b/Docs/SECURITY-FAQ.md index dfbbbca7..b51bd783 100644 --- a/Docs/SECURITY-FAQ.md +++ b/Docs/SECURITY-FAQ.md @@ -1,4 +1,4 @@ -Read this in other languages: [Français](SECURITY-FAQfr.md) +Read this in other languages: [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md) # Security diff --git a/Docs/SECURITY-FAQfr.md b/Docs/SECURITY-FAQfr.md index 877a95ab..1d10fd68 100644 --- a/Docs/SECURITY-FAQfr.md +++ b/Docs/SECURITY-FAQfr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md) +Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Türkçe](SECURITY-FAQtr.md) # Sécurité diff --git a/Docs/SECURITY-FAQru.md b/Docs/SECURITY-FAQru.md index 34526993..be486e50 100644 --- a/Docs/SECURITY-FAQru.md +++ b/Docs/SECURITY-FAQru.md @@ -1,4 +1,4 @@ -Прочитать на других языках: [English](SECURITY-FAQ.md) +Прочитать на других языках: [English](SECURITY-FAQ.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md) # Безопасность diff --git a/Docs/SECURITY-FAQtr.md b/Docs/SECURITY-FAQtr.md new file mode 100644 index 00000000..5ae14c72 --- /dev/null +++ b/Docs/SECURITY-FAQtr.md @@ -0,0 +1,31 @@ +Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md) + +# Güvenlik + +### İzleme geçmişimi takip ediyor musunuz? + +Hayır. Uzantının kodu herkese açıktır ve kendiniz görebilirsiniz. Gönderilen tek bilgi, videolar için dislike sayısını almak için gereken video kimliğidir. Gönderilen başka bir ek header yoktur. İletişim katmanı üzerinden, genel IP'niz sunucuya ve isteğin yapıldığı zamana maruz kalacaktır. Ancak, bunların hiçbiri sizi hiçbir şekilde benzersiz bir şekilde tanımlamıyor. Sıfır güven ortamını varsayarsak, elde edebileceğimizin en iyisi dinamik bir IP'dir. Ki, bu IP bugün sizin, yarın komşunuzun olabilir. IP'nizin izlenmesinden gerçekten endişeleniyorsanız, muhtemelen zaten bir VPN kullanıyorsunuzdur. + +### Bir videoya dislike atarsam, beni benzersiz bir şekilde tanımlayabilir misiniz? + +Evet. Bir videoya dislike attığınızda, sizin için Google hesabınızla bağlantılı olmayan rastgele oluşturulmuş benzersiz bir kimlik oluştururuz. Bu, bot kullanılmasını önlemek için yapılır. Ancak bu rastgele kimliği, size veya kişisel YouTube hesabınıza bağlamanın bir yolu yoktur. + +### Tam olarak hangi bilgilere sahipsiniz, gerçekten? + +Sadece video ID'si. Yorumlarınızı değil, kullanıcı adınızı değil, videoyu kiminle paylaştığınız değil, ek meta verilerinden hiçbiri değil. Hiç bir şey. Sadece video ID'si. + +### IP adresim nasıl saklanıyor? + +Backend, karma olmayan IP adreslerini yalnızca geçici bellekte (RAM'de) tutar. Bu adresler, bir sabit sürücüde depolanmaz ve bu nedenle günlüğe kaydedilmez. IP adreslerini hash ederiz ve bunun yerine depolanır. Bu, veri tabanı vandalizmini önlemek için yapılır. + +### OAuth üzerinden YouTube hesabıma erişmek konusunda bazı tartışmalar duydum! + +Bu özellik isteğe bağlı olacak ve çok fazla tercih edilecek. Bir YouTube içerik üreticisiyseniz ve dislike istatistiklerinizi bizimle paylaşmak istiyorsanız, bunu yapabilirsiniz. [OAuth](https://en.wikipedia.org/wiki/OAuth#:~:text=but%20without%20giving%20them%20the%20passwords.) yapılandırılma şekli, aslında çok güvenlidir. Hesabınıza erişimi istediğiniz zaman iptal edebilir ve bize çok özel izinler verebilirsiniz. Gerekli olmayan herhangi bir izini istemeyeceğiz. Yalnızca video istatistiklerinizi görüntülemek için izin isteyeceğiz. + +### Bu dislike sayısına nasıl güvenebilirim? + +Bot saldırılarını önlemek için önlemler aldık ve bot önleme sisteminin etkinliğini arttırmak için çalışmaya devam edeceğiz: bu, dislike sayısını gerçek sayının iyi bir temsilcisi olarak tutmamıza yardımcı olacaktır. Tabii ki hiçbir zaman %100 doğru olmayacaktır, bu yüzden sayıma güvenip güvenmemek size kalmıştır. + +### Neden backend kodunu paylaşmıyorsunuz? + +Bir noktada paylaşacağız - ama şu anda paylaşmak için ortada gerçekten gerçek bir sebep yok. Yanlış bir güvenlik hissi verebilir - çünkü sıfır güvenli bir sistemde, bir sürümü ifşa edebilir, ancak bir başkasını devreye alabiliriz. Özellikle spam ile nasıl mücadele ettiğimiz gibi, kodu gizli tutmak için birçok neden vardır. İstenmeyen posta işleme kodunu örtmek/gizlemek oldukça standart bir uygulamadır. diff --git a/Docs/readme.md b/Docs/readme.md index b6949e05..4eac3b4a 100644 --- a/Docs/readme.md +++ b/Docs/readme.md @@ -1,4 +1,4 @@ -Read this in other languages: [Français](readmefr.md) +Read this in other languages: [Français](readmefr.md), [Türkçe](READMEtr.md) **Contents** diff --git a/Docs/readmefr.md b/Docs/readmefr.md index de9280e2..bfb868dd 100644 --- a/Docs/readmefr.md +++ b/Docs/readmefr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](readme.md) +Lisez ceci dans d'autres langues : [English](readme.md), [Türkçe](READMEtr.md) **Contenu** diff --git a/Docs/readmetr.md b/Docs/readmetr.md new file mode 100644 index 00000000..6ddf91e2 --- /dev/null +++ b/Docs/readmetr.md @@ -0,0 +1,39 @@ +Read this in other languages: [English](readme.md), [Français](readmefr.md) + +**İçerikler** + +- [Rehberler](#rehberler) +- [SSS'ler](#sss'ler) + + +
+ +## Rehberler + +- [İndirme, Yükleme ve Kullanma](https://github.com/Anarios/return-youtube-dislike/wiki/Downloading,-Installing-&-Using) +- [Sorun Giderme](https://github.com/Anarios/return-youtube-dislike/wiki/Troubleshooting-Guide) + + + +
+ +## SSS'ler + +- [Genel](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/FAQtr.md) +- [Güvenlik](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/SECURITY-FAQtr.md) + + diff --git a/Extensions/combined/_locales/tr/messages.json b/Extensions/combined/_locales/tr/messages.json index d2b2f899..c7204a76 100644 --- a/Extensions/combined/_locales/tr/messages.json +++ b/Extensions/combined/_locales/tr/messages.json @@ -23,6 +23,9 @@ "linkHelp": { "message": "Yardım" }, + "linkChangelog": { + "message": "Değişim Günlüğü" + }, "legendSettings": { "message": "Ayarlar" }, @@ -30,16 +33,55 @@ "message": "Like/dislike gönderimini devre dışı bırak" }, "textLikesDisabled": { - "message": "sahibi tarafından devre dışı bırakıldı" + "message": "Sahibi tarafından devre dışı bırakıldı" }, "textSettingsHover": { - "message": "Like'larınızı ve dislike'larınızı saymayı bırakır." + "message": "Like ve dislike'larınızı saymayı bırakır." + }, + "textRoundingNumbers": { + "message": "Like/dislike istatisliklerini aşağıya yuvarlar (varsayılan YouTube davranışı)" + }, + "textRoundingNumbersHover": { + "message": "Yuvarlatılmış istatistikleri göster." + }, + "textConsistentFormat": { + "message": "Like ve dislike tarzını tutarlı hâle getirir" + }, + "textConsistentFormatHover": { + "message": "Like sayılarının tarzını yenileştir." + }, + "textNumberFormat": { + "message": "Sayı tarzı:" + }, + "textColorizeRatioBar": { + "message": "Beğeni oranı çubuğunu renklendir" + }, + "textColorizeRatioBarHover": { + "message": "Oran çubuğu için özel renkler kullanın." + }, + "textColorizeThumbs": { + "message": "Butonları renklendir" + }, + "textColorizeThumbsHover": { + "message": "Buton simgeleri için özel renkler kullanın." + }, + "textColorTheme": { + "message": "Renk teması:" + }, + "textColorTheme1": { + "message": "Klasik" + }, + "textColorTheme2": { + "message": "Anlaşılır" + }, + "textColorTheme3": { + "message": "Neon" }, "textTempUnavailable": { - "message": "geçici olarak kullanım dışı" + "message": "Geçici Olarak Kullanım Dışı" }, "textUpdate": { - "message": "şu sürüme güncelle" + "message": "Şu sürüme güncelle" }, "version30installed": { "message": "Sürüm 3.0.0.1 yüklendi" @@ -58,5 +100,35 @@ }, "considerDonating": { "message": "Uzantının var olmasını sağlayan tek şey bağışlarınızdır, lütfen projeyi desteklemeyi düşünün." + }, + "roundNumbers": { + "message": "Aşağı yuvarlanmış sayıları gösterir" + }, + "roundNumbersHover": { + "message": "Sayıları aşağıya yuvarla (varsayılan YouTube davranışı)." + }, + "reformatLikes": { + "message": "Like sayılarının tarzını yenileştir" + }, + "reformatLikesHover": { + "message": "Like ve dislike tarzını tutarlı hâle getirir." + }, + "numberFormat": { + "message": "Sayı tarzı:" + }, + "colorizeRatio": { + "message": "Beğeni oranı çubuğunu renklendir" + }, + "colorizeRatioHover": { + "message": "Beğeni oranı çubuğu için özel renkler kullanın." + }, + "colorizeThumbs": { + "message": "Butonları renklendir" + }, + "colorizeThumbsHover": { + "message": "Buton simgeleri için özel renkler kullan." + }, + "colorTheme": { + "message": "Renk teması:" } } diff --git a/READMEes.md b/READMEes.md index 63704b04..57950c06 100644 --- a/READMEes.md +++ b/READMEes.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Français](READMEfr.md) [日本語](READMEja.md), [Türkçe](READMEtr.md) +Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) # Return YouTube Dislike diff --git a/READMEfr.md b/READMEfr.md index 6915d88c..63a7ee80 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -7,9 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](LICENSE) -# Return YouTube Dislike +Lisez ceci dans d'autres langues : [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) -Lisez ceci dans d'autres langues : [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Türkçe](READMEtr.md) +# Return YouTube Dislike

Return YouTube Dislike est une extension open-source qui ré-affiche les dislikes (pouces rouges) sur YouTube.
diff --git a/READMEja.md b/READMEja.md index 2aba04b7..7b298613 100644 --- a/READMEja.md +++ b/READMEja.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -別の言語: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Türkçe](READMEtr.md) +別の言語: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [Türkçe](READMEtr.md) # Return YouTube Dislike diff --git a/READMEtr.md b/READMEtr.md index 6376d843..a1191238 100644 --- a/READMEtr.md +++ b/READMEtr.md @@ -3,7 +3,7 @@ [![Mozilla oylaması](https://img.shields.io/amo/stars/return-youtube-dislikes?label=Firefox%20Rating&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) [![Mozilla indirmeleri](https://img.shields.io/amo/users/return-youtube-dislikes?label=Firefox%20Users&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) [![Commit sayısı](https://img.shields.io/github/commit-activity/m/Anarios/return-youtube-dislike?label=Commits&style=flat)](https://github.com/Anarios/return-youtube-dislike/commits/main) -[![Issue'ler](https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&label=Issues)](https://github.com/Anarios/return-youtube-dislike/issues) +[![Issue'lar](https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&label=Issues)](https://github.com/Anarios/return-youtube-dislike/issues) [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![Lisans](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) @@ -22,13 +22,13 @@ Bunu diğer dillerde okuyun: [English](README.md), [Español](READMEes.md), [Fra 10 Kasım 2021 tarihinde Google, YouTube dislike sayısının kaldırılacağını [duyurdu](https://blog.youtube/news-and-events/update-to-youtube/). -Ek olarak, YouTube API'sindeki "dislike" alanı 13 Aralık 2021 tarihinde [kaldırıldı](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) ve içeriğin kalitesini izlemeden önce yargılayabilme olanağı ortadan kaldırıldı. +Ek olarak, YouTube API'sindeki `dislike` alanı 13 Aralık 2021 tarihinde [kaldırıldı](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) ve içeriğin kalitesini izlemeden önce yargılayabilme olanağı ortadan kaldırıldı. ## Ne İşe Yarar YouTube API'sinden dislike istatistiklerinin kaldırılmasıyla, backend'imiz, uzantı kullanıcı verilerinden tahmin edilen, toplanmış dislike istatistiklerinin bir birleşimini kullanmaya başladı. -[SSS](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQ.md) +[SSS](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQtr.md) ## Neden Önemlidir @@ -39,12 +39,12 @@ Sitemizden daha fazla bilgi edinebilirsiniz: [returnyoutubedislike.com](https:// Bu açık API'nin üçüncü taraflarca kullanımına, aşağıdaki kısıtlamalarla izin verilir: - **Atfetme**: Bu proje, açık bir biçimde [returnyoutubedislike.com](https://returnyoutubedislike.com/) adresine yönlendirilmelidir. -- **Hız Sınırlaması**: Kullanıcı başına dakikada 100 ve günde 10.000 hız sınırlaması vardır. Bu, uygulamanızın geri çekilmesi gerektiğini belirten 429 durum kodunu döndürür +- **Hız Sınırlaması**: Kullanıcı başına dakikada 100 ve günde 10.000 hız sınırlaması vardır. Bu, uygulamanızın geri çekilmesi gerektiğini belirten _429_ durum kodunu döndürür. API'ye aşağıdaki temel URL üzerinden erişilebilir: https://returnyoutubedislikeapi.com -Kullanılabilir endpoint'lerin listesi burada mevcuttur: +Kullanılabilir endpoint'lerin bir listesi burada mevcuttur: https://returnyoutubedislikeapi.com/swagger/index.html ### Oylamaları Elde Etme @@ -75,13 +75,13 @@ Tüm belgelemeleri sitemizden inceleyebilirsiniz. ## Katkıda Bulunma -Lütfen [katkı kılavuzu](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTING.md)nu okuyun. +Lütfen [katkı kılavuzu](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTINGtr.md)nu okuyun. ## Bu Projeyi Destekle! Aşağıdaki bağlantıdan bize bağış yapabilir ve bu projeye destek olabilirsiniz: -[Bağış Yapın](https://returnyoutubedislike.com/donate) +[Bağış Yap](https://returnyoutubedislike.com/donate) ## Sponsorlar diff --git a/Website/_locales/tr.ts b/Website/_locales/tr.ts index 25f695ba..e01b4634 100644 --- a/Website/_locales/tr.ts +++ b/Website/_locales/tr.ts @@ -5,8 +5,7 @@ export default { home: { name: "Ana Sayfa", title: "YouTube Dislike Sayısını Geri Getir", - subtitle: - "Tarayıcı uzantısı ve bir API, YouTube'daki dislike sayınızı geri getirir", + subtitle: "YouTube'daki dislike sayılarınızı geri getiren bir tarayıcı uzantısı ve API", ukraine: "Ukrayna'ya Destek Ol", sponsors: "Sponsorlar", }, @@ -15,11 +14,9 @@ export default { title: "Platformunuzu Seçin", subtitle: "Firefox ve bütün Chromium tabanlı tarayıcılarda kullanılabilir", title2: "Diğer Platformlar", - subtitle2: - "Tarayıcınız henüz desteklenmiyorsa UserScript yöntemini deneyin", + subtitle2: "Tarayıcınız henüz desteklenmiyorsa UserScript yöntemini deneyin", title3: "Üçüncü Parti Uygulamalar", - subtitle3: - "Riski tamamen size aittir, bizim tarafımızda sorumluluk kabul edilmemektedir", + subtitle3: "Riski tamamen size aittir, bizim tarafımızda sorumluluk kabul edilmemektedir", }, api: { name: "API", @@ -31,10 +28,10 @@ export default { "Herkese açık API'nin üçüncü parti kişilerin kullanımında aşağıdaki kısıtlamalara izin verir:", bullet1: "Atıf: ", bullet1text: - "Bu proje, bu depoya ya da returnyoutubedislike.com sitesine bir bağlantı ile açıkça atfedilmelidir", + "Bu proje, bu depoya ya da returnyoutubedislike.com sitesine bir bağlantı ile açıkça atfedilmelidir.", bullet2: "Hız Sınırlaması: ", bullet2text: - "Kullanıcı başına dakikada 100 ve günde 10.000 hız sınırlaması vardır. Bu, uygulamanızın geri çekilmesi gerektiğini belirten 429 durum kodunu döndürür", + "Kullanıcı başına dakikada 100 ve günde 10.000 hız sınırlaması vardır. Bu, uygulamanızın geri çekilmesi gerektiğini belirten 429 durum kodunu döndürür.", }, url: { title: "URL Bilgisi", @@ -46,16 +43,15 @@ export default { }, fetching: { title: "Temel Veri Alma Eğitimi", - subtitle: - "Belirli bir YouTube ID'sinin oylamalarını elde etmek için bir örnek: ", + subtitle: "Belirli bir YouTube ID'sinin oylamalarını elde etmek için bir örnek: ", title2: "Örnek İstek: ", url: "İstek URL'si: ", method: "İstek Yöntemi: ", headers: "Header'lar: ", response: "Sonuç: ", - error1: 'Geçersiz bir YouTube ID\'si, 404 "Not Found" olarak döndürülür', + error1: 'Geçersiz bir YouTube ID\'si, 404 "Not Found" olarak döndürülür.', error2: - 'Yanlış biçimlendirilmiş bir YouTube ID\'si, 400 "Bad Request" olarak döndürülür', + 'Yanlış biçimlendirilmiş bir YouTube ID\'si, 400 "Bad Request" olarak döndürülür.', }, }, help: { @@ -68,13 +64,11 @@ export default { bullet3: "Şu bağlantıyı açtığınızdan emin olun: ", bullet31: "şöyle bir düz metin görmelisiniz: ", bullet4: "Yukarıdakiler yardımcı olmadıysa - Discord sunucumuzdaki ", - bullet41: - " kanalından problemi bildirin (İngilizce bir şekilde) Discord sunucumuz: ", - bullet4a: - "Bize İşletim Sisteminizi, Tarayıcı Adınızı ve Tarayıcı Sürümünüzü söyleyin", - bullet4b: "Konsol açıkken (açmak için ", - bullet4b1: - " tuşuna basın) sorunu yaşadığınız sayfanın ekran görüntüsünü alın (yani YouTube watch sayfasının) - Ekran görüntüsü örneği aşağıdadır.", + bullet41: " kanalından problemi bildirin (İngilizce bir şekilde) Discord sunucumuz: ", + bullet4a: "Bize İşletim Sisteminizi, Tarayıcı Adınızı ve Tarayıcı Sürümünüzü söyleyin", + bullet4b: + "Konsol açıkken (açmak için ", + bullet4b1: " tuşuna basın) sorunu yaşadığınız sayfanın ekran görüntüsünü alın (yani YouTube watch sayfasının) - Ekran görüntüsü örneği aşağıdadır.", bullet4c: "Uzantı yüklüyken tarayıcınızın uzantılar sayfasının ekran görüntüsünü alın.", bullet4c1: "Uzantıları görmek için şu linki adres çubuğuna yapıştırın: ", @@ -84,8 +78,7 @@ export default { faq: { name: "SSS", title: "Sıkça Sorulan Sorular", - subtitle: - "Hâlâ sorun mu yaşıyorsunuz? Discord sunucumuza katılmaktan çekinmeyin! (İngilizce)", + subtitle: "Hâlâ sorun mu yaşıyorsunuz? Discord sunucumuza katılmaktan çekinmeyin! (İngilizce)", bullet1: "Uzantı, verileri nereden alıyor?", bullet1text: "Resmî YouTube dislike sayısı API'si kapatılmadan önceki arşivlenmiş verilerden ve tahmin edilen uzantı kullanıcısı davranışının bir birleşimiyle.", @@ -101,13 +94,12 @@ export default { bullet5: "Hangi verileri topluyorsunuz ve bunlar nasıl işleniyor?", bullet5text: "Uzantı, yalnızca izlediğiniz videonun IP adresi veya videonun ID'si gibi düzgün çalışması için kesinlikle gerekli olan verileri toplar. Verileriniz asla 3. taraflara satılmayacaktır. Güvenliği ve gizliliği nasıl ele aldığımız hakkında daha fazla bilgi için security FAQ'ya gidin.", - bullet6: "API/Yazılım(Backend) nasıl çalışıyor?", + bullet6: "API/Backend nasıl çalışıyor?", bullet6text: "Yazılım, YouTube API'sinin dislike sayısını ve uzantı kullanıcılarının like/dislike sayısı sonuçların genişletilmesinin döndürmeye devam ettiği zamana ait arşivlenmiş verileri kullanır. Yakın zamanda içerik üreticilerin dislike sayısını kolay ve güvenli bir şekilde göndermelerine izin vereceğiz ve ArchiveTeam'in arşivlenmiş verilerini (4,56 milyar video) veri tabanımıza ekleyeceğiz. Ayrıca konu ile ilgili videoyu da izleyebilirsiniz.", - bullet7: - "Dislike sayısı neden 'DISLIKES DISABLED'(DISLIKE'LAR AKTİF DEĞİL) olarak gözüküyor?", + bullet7: "Dislike sayısı neden 'DISLIKE'LAR KAPALI' olarak gözüküyor?", bullet7text: - "Yazma sırasında like ve dislike sayısını devre dışı bırakan videoların dislike sayılarını göstermiyoruz. Uzantı, bu videolar için 'DISLIKES DISABLED'(DISLIKE'LAR AKTİF DEĞİL) mesajını görüntüler. Yakında tüm videolarda dislike sayısını göstereceğiz. Bu, yalnızca geçici bir çözümdür. Bu nedenle insanlar uzantının bozuk olduğunu düşünmez (zaten iyi çalışmıyor). Bazen yakın zamanda yüklenen bir videoda, içerik üreticisi onu devre dışı bırakmamış olsa bile 'DISLIKES DISABLED' olarak gözükebilir. Bunun nedeni, dislike sayısını devre dışı bırakıp bırakmadığını tespit etmemizdir. Birkaç saat içinde videoyu like ya da dislike atarsanız veya sayfayı yenilerseniz kaybolması gerekir (umarız).", + "Yazma sırasında like ve dislike sayısını devre dışı bırakan videoların dislike sayılarını göstermiyoruz. Uzantı, bu videolar için 'DISLIKE'LAR KAPALI' mesajını görüntüler. Yakında tüm videolarda dislike sayısını göstereceğiz. Bu, yalnızca geçici bir çözümdür. Bu nedenle insanlar uzantının bozuk olduğunu düşünmez (zaten iyi çalışmıyor). Bazen yakın zamanda yüklenen bir videoda, içerik üreticisi onu devre dışı bırakmamış olsa bile 'DISLIKE'LAR KAPALI' olarak gözükebilir. Bunun nedeni, dislike sayısını devre dışı bırakıp bırakmadığını tespit etmemizdir. Birkaç saat içinde videoyu like ya da dislike atarsanız veya sayfayı yenilerseniz kaybolması gerekir (umarız).", }, donate: { name: "Bağış Yap", From 88154c182ec22e996a7d895e00d502d690545ddc Mon Sep 17 00:00:00 2001 From: ilyas zan <71350431+ilbailba@users.noreply.github.com> Date: Fri, 5 Aug 2022 20:45:02 +0300 Subject: [PATCH 008/136] Turkish translation additions --- Website/README.md | 2 + Website/READMEtr.md | 89 +++++++++++++++++++++++++++++++++++++++ Website/_locales/tr.ts | 2 +- Website/store/README.md | 2 + Website/store/READMEtr.md | 12 ++++++ 5 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 Website/READMEtr.md create mode 100644 Website/store/READMEtr.md diff --git a/Website/README.md b/Website/README.md index 05e18612..ee432826 100644 --- a/Website/README.md +++ b/Website/README.md @@ -1,3 +1,5 @@ +Read this in other languages: [Türkçe](READMEtr.md) + # return-youtube-dislike-site ## Build Setup diff --git a/Website/READMEtr.md b/Website/READMEtr.md new file mode 100644 index 00000000..76c86b4b --- /dev/null +++ b/Website/READMEtr.md @@ -0,0 +1,89 @@ +Bunu diğer dillerde okuyun: [English](README.md) + +# youtube-dislike-sayısını-geri-getir-site + +## Yapı Kurulumu + +```bash +# bağımlılıkları yükle +$ npm install + +# localhost:3000'de sıcak yeniden yükleme ile çalıştır +$ npm run dev + +# değişikliklerine lint'i uygula +$ npm run lint + +# üretim için yapıyı oluştur ve sunucuyu başlat +$ npm run build +$ npm run start + +# statik proje oluştur +$ npm run generate +``` + +İşlerin nasıl yürüdüğüyle ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org)ye göz atın. + +## Önerilen VSCode Kurulumu + +- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) `ext install dbaeumer.vscode-eslint` +- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) `ext install esbenp.prettier-vscode` +- [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) + +> `Ctrl(Cmd)` + `Shift` + `P` > Varsayılan Ayarları Aç (JSON) + +``` +"editor.formatOnSave": true, +"editor.codeActionsOnSave": { + "source.fixAll.eslint": true +} +"vetur.validation.template": false, +``` + +## Özel Dizinler + +You can create the following extra directories, some of which have special behaviors. Only `pages` is required; you can delete them if you don't want to use their functionality. + +### `assets` + +Assets dizini, Stylus veya Sass dosyaları, resimler veya yazı tipleri gibi derlenmemiş varlıklarınızı içerir. + +Bu dizinin kullanımı ile ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org/docs/2.x/directory-structure/assets)ye göz atın. + +### `components` + +Components dizini, Vue.js bileşenlerinizi içerir. Component'ler, sayfanızın farklı bölümlerini oluşturur ve yeniden kullanılabilir. Ayrıca sayfalarınıza, mizanpajlarınıza ve hatta diğer component'lerinize de aktarılabilir. + +Bu dizinin kullanımı ile ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org/docs/2.x/directory-structure/components)ye göz atın. + +### `layouts` + +Layouts dizini, Nuxt uygulamanızın görünümünü ve verdiği hissi değiştirmek istediğinizde, bir kenar çubuğu eklemek istediğinizde veya mobil ve masaüstü için farklı düzenlere sahip olmak istediğinizde çok yardımcı olabilir. + +Bu dizinin kullanımı ile ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org/docs/2.x/directory-structure/layouts)ye göz atın. + +### `pages` + +Bu dizin, uygulama görünümlerinizi ve rotalarınızı içerir. Nuxt, bu dizindeki tüm `*.vue` dosyalarını okuyacak ve Vue Router'ı otomatik olarak kuracaktır. + +Bu dizinin kullanımı ile ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org/docs/2.x/get-started/routing)ye göz atın. + +### `plugins` + +Plugins dizini, kök Vue.js Uygulamasını başlatmadan önce çalıştırmak istediğiniz JavaScript eklentilerini içerir. Burası Vue eklentileri eklemek ve işlevler veya sabitler enjekte etmek için kullanılan yerdir. `Vue.use()`u her kullanmanız gerektiğinde, `plugins/` içinde bir dosya oluşturmalı ve yolunu `nuxt.config.js` içinde eklentilere eklemelisiniz. + +Bu dizinin kullanımı ile ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org/docs/2.x/directory-structure/plugins)ye göz atın. + +### `static` + +Bu dizin statik dosyalarınızı içerir. Bu dizindeki her dosya `/` ile eşlenir. + +Örnek: `/static/robots.txt`, `/robots.txt` olarak eşlenir. + +Bu dizinin kullanımı ile ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org/docs/2.x/directory-structure/static)ye göz atın. + +### `store` + +Bu dizin, Vuex mağaza dosyalarınızı içerir. Bu dizinde bir dosya oluşturmak, Vuex'i otomatik olarak etkinleştirecektir. + +Bu dizinin kullanımı ile ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org/docs/2.x/directory-structure/store)ye göz atın. diff --git a/Website/_locales/tr.ts b/Website/_locales/tr.ts index e01b4634..4fc64f2e 100644 --- a/Website/_locales/tr.ts +++ b/Website/_locales/tr.ts @@ -112,7 +112,7 @@ export default { subtitle: "Projeye ve geliştiricilerine bağlantılar", contact: "Bana Ulaşın", translators: "Çevirmenler", - coolProjects: "Hoş Projeler", + coolProjects: "Havalı Projeler", sponsorBlockDescription: "Videolara gömülü reklamları pas geçer", filmotDescription: "YouTube videolarını alt yazılara göre aramanızı sağlar", }, diff --git a/Website/store/README.md b/Website/store/README.md index 1972d277..02733b86 100644 --- a/Website/store/README.md +++ b/Website/store/README.md @@ -1,3 +1,5 @@ +Read this in other languages: [Türkçe](READMEtr.md) + # STORE **This directory is not required, you can delete it if you don't want to use it.** diff --git a/Website/store/READMEtr.md b/Website/store/READMEtr.md new file mode 100644 index 00000000..034a67fc --- /dev/null +++ b/Website/store/READMEtr.md @@ -0,0 +1,12 @@ +Bunu diğer dillerde okuyun: [English](README.md) + +# MAĞAZA + +**Bu dizin gerekli değildir, kullanmak istemiyorsanız silebilirsiniz.** + +Bu dizin, Vuex Store dosyalarınızı içerir. +Vuex Store seçeneği Nuxt.js çerçevesinde uygulanmaktadır. + +Bu dizinde bir dosya oluşturmak, çerçevedeki seçeneği otomatik olarak etkinleştirecektir. + +Bu dizinin kullanımı ile ilgili daha fazla bilgi için [belgeleme](https://nuxtjs.org/guide/vuex-store)ye göz atın. From 63673f308910d52e470884e318cc6931c773c315 Mon Sep 17 00:00:00 2001 From: Anarios Date: Fri, 5 Aug 2022 21:24:05 +0200 Subject: [PATCH 009/136] Prettier reformat --- Extensions/combined/manifest-chrome.json | 4 +- Extensions/combined/manifest-firefox.json | 16 +- Website/_locales/ja.ts | 210 ++++++++++++---------- Website/pages/index.vue | 12 +- 4 files changed, 127 insertions(+), 115 deletions(-) diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index da2e082e..95fe7e9d 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -1,8 +1,8 @@ { - "name": "__MSG_extensionNameBeta__", + "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.2", + "version": "3.0.0.4", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index 4f7ba040..04f51628 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.3", + "version": "3.0.0.4", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] @@ -28,12 +28,12 @@ "css": ["content-style.css"], "js": ["ryd.content-script.js"] } - ], + ] // uncomment this section for local storage to work in firefox locally - "browser_specific_settings": { - "gecko": { - "id": "addon@example.com", - "strict_min_version": "42.0" - } - } +// "browser_specific_settings": { +// "gecko": { +// "id": "addon@example.com", +// "strict_min_version": "42.0" +// } +// } } diff --git a/Website/_locales/ja.ts b/Website/_locales/ja.ts index d68c6065..45029660 100644 --- a/Website/_locales/ja.ts +++ b/Website/_locales/ja.ts @@ -1,101 +1,121 @@ -import { en } from 'vuetify/src/locale' +import { ja } from "vuetify/src/locale"; export default { - ...ja, - home: { - name: 'z[', - title: 'Return YouTube Dislike', - subtitle: 'YouTube̒]̕\𕜌uEUg@\API', - ukraine: 'ENCiT|[g', - sponsors: 'X|T[', + ...ja, + home: { + name: "ホーム", + title: "Return YouTube Dislike", + subtitle: "YouTubeの低評価数の表示を復元するブラウザ拡張機能とAPI", + ukraine: "ウクライナをサポート", + sponsors: "スポンサー", + }, + install: { + name: "インストール", + title: "プラットフォームの選択", + subtitle: "FirefoxとすべてのChromiumブラウザに対応しています。", + title2: "その他のプラットフォーム", + subtitle2: + "未対応のブラウザをお使いの場合は、以下のUserScriptをお試しください。", + title3: "サードパーティーによる実装", + subtitle3: + "開発者では責任を負いかねますので、ご自身の判断にてご利用ください。", + }, + api: { + name: "API", + title: "RYD公式ドキュメントへようこそ!", + subtitle: "まず、メニューからセクションを選択してください。", + rights: { + title: "使用権", + subtitle: + "このオープンAPIを第三者が使用することは、以下の制限付きで許可されています:", + bullet1: "属性:", + bullet1text: + "このレポ、もしくは returnyoutubedislike.com へのリンクのどちらかによって、明確に帰属させる必要があります。", + bullet2: "通信量制限:", + bullet2text: + "クライアントごとに、1分あたり100・1日あたり10,000という通信量制限が設けられています。これを超えた場合には、アプリケーションに通信を控えるよう促すステータスコード 429 を返します。", }, - install: { - name: 'CXg[', - title: 'vbgtH[̑I', - subtitle: 'FirefoxƂׂĂChromiumuEUɑΉĂ܂B', - title2: '̑̃vbgtH[', - subtitle2: 'Ή̃uEUg̏ꍇ́AȉUserScriptB', - title3: 'T[hp[eB[ɂ', - subtitle3: 'J҂ł͐ӔC𕉂˂܂̂ŁAg̔fɂĂpB', + url: { + title: "URL情報", + subtitle: "APIへのアクセスは、以下のベースURLから可能です:", }, - api: { - name: 'API', - title: 'RYDhLgւ悤!', - subtitle: '܂Aj[ZNVIĂB, - rights: { - title: 'gp', - subtitle: '̃I[vAPIO҂gp邱Ƃ́Aȉ̐tŋ‚Ă܂F', - bullet1: 'F', - bullet1text: '̃|A returnyoutubedislike.com ւ̃N̂ǂ炩ɂāAmɋAKv܂B', - bullet2: 'ʐMʐF', - bullet2text: 'NCAgƂɁA1100E110,000ƂʐMʐ݂Ă܂B𒴂ꍇɂ́AAvP[VɒʐMT悤Xe[^XR[h 429 Ԃ܂B', - }, - url: { - title: 'URL', - subtitle: 'APIւ̃ANZX́Aȉ̃x[XURL”\łF', - }, - endpoints: { - title: 'p”\ȃGh|Cg', - subtitle: 'p”\ȃGh|Cg̈ꗗ͂ł܂F', - }, - fetching: { - title: '{IȃtFb`̃`[gA', - subtitle: 'ȉYouTube ID]oꍇ̗łF', - title2: 'NGXgF', - url: 'NGXgURLF', - method: 'NGXg@F', - headers: 'wb_[F', - response: 'X|XF', - error1: 'YouTube IDȏꍇAXe[^XR[h 404 "Not Found" Ԃ܂B', - error2: 'YouTube ID̃tH[}bgȂꍇAXe[^XR[h 400 "Bad Request" Ԃ܂B' - }, + endpoints: { + title: "利用可能なエンドポイント", + subtitle: "利用可能なエンドポイントの一覧はこちらでご覧いただけます:", }, - help: { - name: 'wv', - title: 'guV[eBO', - bullet1: 'ŐVo[W̊g@\', - bullet11: 'CXg[Ă邱ƂmFĂB', - bullet2: 'g@\폜čăCXg[AׂẴEBhE‚ŃuEUċNĂB', - bullet3: 'ȉ̃NJƂmFĂF', - bullet31: 'ȉ̃v[eLXg\܂F', - bullet4: 'LŖ肪ȂꍇAȉ̃`lɂĖ񍐂ĂB', - bullet41: 'QƁF', - bullet4a: 'gOSAuEUƃo[WĂB', - bullet4b: 'R\[Ji', - bullet4b1: 'L[jÂy[WiFYouTube̓y[Wj̃XN[VbgBe܂B', - bullet4c: 'g@\CXg[ĂuEŮg@\y[W̃XN[VbgBe܂B', - bullet4c1: 'g@\y[W\ɂ́Aȉ̂悤ɓ͂ĂF', - firefox: 'FFirefox', - chrome: 'FChrome, Edge, Brave, Opera, Vivaldi', + fetching: { + title: "基本的なフェッチ操作のチュートリアル", + subtitle: "以下のYouTube IDから評価数を取り出した場合の例です:", + title2: "リクエスト例:", + url: "リクエストURL:", + method: "リクエスト方法:", + headers: "ヘッダー:", + response: "レスポンス:", + error1: + 'YouTube IDが無効な場合、ステータスコード 404 "Not Found" が返されます。', + error2: + 'YouTube IDのフォーマットが正しくない場合、ステータスコード 400 "Bad Request" が返されます。', }, - faq: { - name: 'Q&A', - title: '悭鎿', - subtitle: 'ɂ₪܂HXDiscordɂCyɂQB', - bullet1: 'g@\̃f[^͂ǂ擾Ă̂łH', - bullet1text: 'YouTube̒]API~Oɕۑf[^ƁAg@\[U[̍]/]ɂlgݍ킹Ď擾Ă܂B', - bullet2: ']XVȂ̂͂ȂłH', - bullet2text: '݁A]̓f[^x[XĂ邽߁A܂pɂɍXV܂B̍ĐɂĈقȂ܂AXVɂ͐Ԃ琔邱Ƃ܂B', - bullet3: 'ǂ̂悤Ȏdg݂œ삵Ă܂H', - bullet3text: '܂A̓ID WAAPI gpĒ]AĐA]Ȃǂ̍ڂ擾܂BɁAy[Wɒ]Ɣ䗦\܂Bɍ]]ƁAꂪL^ăf[^x[Xɒ~ς邽߁AmȒ]𐄒肷邱Ƃł܂B', - bullet4: ']L邱Ƃ͂ł܂H', - bullet4text: 'ߓɌJ\łB@\̎̂߂ɁAOauth ܂͔͈͂肵ʂ̓ǂݎpAPIgp邱ƂĂ܂B', - bullet5: 'ǂ̂悤ȃf[^WAǂ̂悤Ɏ舵Ă܂H', - bullet5text: '{g@\ł́AIPAhX⎋Ă铮IDȂǁA@\邽߂ɕKvȃf[^݂̂WĂ܂BȂ̃f[^́AO҂ɔ̔邱Ƃ͌Ă܂BZLeBƃvCoV[̎舵ɂ‚Ăƒm肽ꍇɂ́A ZLeBFAQ QƂB ', - bullet6: 'API/obNGh͂ǂ̂悤Ȏdg݂œ삵Ă܂H', - bullet6text: 'obNGh́AYouTube̒]API~Oɕۑf[^Ɗg@\[U[̍]/]ɂlgݍ킹Ď擾Ă܂B߂ARec҂ȒPˆSɒ]񋟂ł悤ɂAArchive Team ̃A[JCuf[^i456000j݂̃f[^x[Xɒlj\łB܂ÃgsbNɊւrfI܂B', - bullet7: ']Ɂue҂ɂ薳vƕ\̂͂ȂłH', - bullet7text: 'ŋߓeꂽł́Ae҂ɂĖɂĂȂĂue҂ɂ薳vƕ\邱Ƃ܂B́A]̕\ɂȂĂ邩ǂoVXeɂ镛pŁAԌA܂͓ɍ]Ȃ]ăy[WXVƏ̂Ǝv܂B', - }, - donate: { - name: 't', - subtitle: 'C^[lbg̎R邽߂̉X̊AtɂĉĂI', - }, - links: { - name: 'N', - title: 'vWFNgNW', - subtitle: 'vWFNgъJ҂ւ̃N', - contact: '₢킹', - translators: '|', - }, -} \ No newline at end of file + }, + help: { + name: "ヘルプ", + title: "トラブルシューティング", + bullet1: "最新バージョンの拡張機能", + bullet11: "がインストールされていることを確認してください。", + bullet2: + "拡張機能を削除して再インストールし、すべてのウィンドウを閉じた上でブラウザを再起動してください。", + bullet3: "以下のリンクが開くことを確認してください:", + bullet31: "以下のプレーンテキストが表示されます:", + bullet4: + "上記で問題が解決しない場合、以下のチャンネルにて問題を報告してください。", + bullet41: "参照:", + bullet4a: "お使いのOS、ブラウザ名とバージョンを教えてください。", + bullet4b: "コンソールを開き(", + bullet4b1: + "キー)、問題のあるページ(例:YouTubeの動画ページ)のスクリーンショットを撮影します。", + bullet4c: + "拡張機能がインストールされているブラウザの拡張機能ページのスクリーンショットを撮影します。", + bullet4c1: "拡張機能ページを表示するには、以下のように入力してください:", + firefox: ":Firefox", + chrome: ":Chrome, Edge, Brave, Opera, Vivaldi", + }, + faq: { + name: "Q&A", + title: "よくある質問", + subtitle: + "他にも何か質問がありますか?我々のDiscordにお気軽にご参加ください。", + bullet1: "拡張機能のデータはどこから取得しているのですか?", + bullet1text: + "YouTube公式の低評価APIが停止する前に保存したデータと、拡張機能ユーザーの高評価/低評価数を元にした推定値を組み合わせて取得しています。", + bullet2: "低評価数が更新されないのはなぜですか?", + bullet2text: + "現在、低評価数はデータベース化されているため、あまり頻繁に更新されません。動画の再生数によって異なりますが、更新には数時間から数日かかることがあります。", + bullet3: "どのような仕組みで動作していますか?", + bullet3text: + "まず、視聴中の動画のID を収集し、API を使用して低評価数、再生数、高評価などの項目を取得します。次に、ページ上に低評価数と比率を表示します。動画に高評価や低評価があると、それが記録されてデータベースに蓄積されるため、正確な低評価数を推定することができます。", + bullet4: "低評価数を共有することはできますか?", + bullet4text: + "近日中に公開予定です。機能の実装のために、Oauth または範囲を限定した別の読み取り専用APIを使用することを検討しています。", + bullet5: "どのようなデータを収集し、どのように取り扱っていますか?", + bullet5text: + '本拡張機能では、IPアドレスや視聴している動画のIDなど、正しく機能するために必要なデータのみを収集しています。あなたのデータは、第三者に販売されることは決してありません。セキュリティとプライバシーの取り扱いについてもっと知りたい場合には、 セキュリティFAQ をご参照ください。 ', + bullet6: "API/バックエンドはどのような仕組みで動作していますか?", + bullet6text: + "バックエンドは、YouTube公式の低評価APIが停止する前に保存したデータと拡張機能ユーザーの高評価/低評価数を元にした推定値を組み合わせて取得しています。近い将来、コンテンツ制作者が簡単かつ安全に低評価数を提供できるようにし、Archive Team のアーカイブデータ(45億6000万動画)も現在のデータベースに追加する予定です。また、このトピックに関するビデオもご覧いただけます。", + bullet7: "低評価数に「投稿者により無効化」と表示されるのはなぜですか?", + bullet7text: + "最近投稿された動画では、投稿者によって無効にされていなくても「投稿者により無効化」と表示されることがあります。これは、評価数の表示が無効になっているかどうかを検出するシステムによる副作用で、数時間後、または動画に高評価ないし低評価をしてページを更新すると消えるものだと思われます。", + }, + donate: { + name: "寄付", + subtitle: + "インターネットの自由を守るための我々の活動を、寄付によって応援してください!", + }, + links: { + name: "リンク", + title: "プロジェクトリンク集", + subtitle: "プロジェクトおよび開発者へのリンク", + contact: "お問い合わせ先", + translators: "翻訳者", + }, +}; diff --git a/Website/pages/index.vue b/Website/pages/index.vue index 3b21ceef..745631fa 100644 --- a/Website/pages/index.vue +++ b/Website/pages/index.vue @@ -63,13 +63,13 @@

-
+

mdi-heart {{ $vuetify.lang.t("$vuetify.home.sponsors") }} @@ -109,14 +109,6 @@ export default { discordLink: "https://discord.gg/mYnESY4Md5", sponsors: [ { name: "Piepacker", link: "https://piepacker.com/" }, - { - name: "Seed4.Me VPN", - link: "https://www.seed4.me/users/register?gift=ReturnYoutubeDislike", - }, - { - name: "PocketTube", - link: "https://yousub.info/?utm_source=returnyoutubedislike", - }, { name: "Become our sponsor", link: "https://www.patreon.com/join/returnyoutubedislike/checkout?rid=8008601", From 2d9809ad3189a286e6d3c5335794435151f601c4 Mon Sep 17 00:00:00 2001 From: Anarios Date: Fri, 5 Aug 2022 22:57:27 +0200 Subject: [PATCH 010/136] New layout fix --- Extensions/combined/manifest-chrome.json | 2 +- Extensions/combined/manifest-firefox.json | 2 +- Extensions/combined/src/buttons.js | 23 ++++++++++++++++++----- Extensions/combined/src/events.js | 11 +++++------ Extensions/combined/src/state.js | 22 ++++++++++++++-------- 5 files changed, 39 insertions(+), 21 deletions(-) diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index 95fe7e9d..3e396a0c 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.4", + "version": "3.0.0.5", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index 04f51628..efb42a49 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.4", + "version": "3.0.0.5", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 3b8cab4f..6b344d99 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -33,7 +33,10 @@ function getButtons() { } function getLikeButton() { - return getButtons().children[0]; + return getButtons().children[0].tagName === + "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" + ? getButtons().children[0].children[0] + : getButtons().children[0]; } function getLikeTextContainer() { @@ -44,14 +47,24 @@ function getLikeTextContainer() { } function getDislikeButton() { - return getButtons().children[1]; + return getButtons().children[0].tagName === + "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" + ? getButtons().children[0].children[1] + : getButtons().children[1]; } function getDislikeTextContainer() { - return ( + let result = getDislikeButton().querySelector("#text") ?? - getDislikeButton().getElementsByTagName("yt-formatted-string")[0] - ); + getDislikeButton().getElementsByTagName("yt-formatted-string")[0]; + if (result == null) { + let textSpan = document.createElement("span"); + textSpan.id = "text"; + getDislikeButton().querySelector("button").appendChild(textSpan); + getDislikeButton().querySelector("button").style.width = "auto"; + result = getDislikeButton().querySelector("#text"); + } + return result; } function checkForSignInButton() { diff --git a/Extensions/combined/src/events.js b/Extensions/combined/src/events.js index 47d0bce8..a7638dc5 100644 --- a/Extensions/combined/src/events.js +++ b/Extensions/combined/src/events.js @@ -1,5 +1,5 @@ import { getBrowser, getVideoId, numberFormat, cLog } from "./utils"; -import { checkForSignInButton, getButtons } from "./buttons"; +import { checkForSignInButton, getButtons, getDislikeButton, getLikeButton } from './buttons'; import { NEUTRAL_STATE, LIKED_STATE, @@ -83,12 +83,11 @@ function dislikeClicked() { } function addLikeDislikeEventListener() { - const buttons = getButtons(); if (!window.returnDislikeButtonlistenersSet) { - buttons.children[0].addEventListener("click", likeClicked); - buttons.children[1].addEventListener("click", dislikeClicked); - buttons.children[0].addEventListener("touchstart", likeClicked); - buttons.children[1].addEventListener("touchstart", dislikeClicked); + getLikeButton().addEventListener("click", likeClicked); + getDislikeButton().addEventListener("click", dislikeClicked); + getLikeButton().addEventListener("touchstart", likeClicked); + getLikeButton().addEventListener("touchstart", dislikeClicked); window.returnDislikeButtonlistenersSet = true; } } diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 24fa4356..cda281b4 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -97,7 +97,7 @@ function isLikesDisabled() { ); } return /^\D*$/.test( - getButtons().children[0].querySelector("#text").innerText + getButtons().children[0].innerText ); } @@ -158,16 +158,22 @@ function setDislikes(dislikesCount) { } function getLikeCountFromButton() { - if (isShorts()) { - //Youtube Shorts don't work with this query. It's not nessecary; we can skip it and still see the results. - //It should be possible to fix this function, but it's not critical to showing the dislike count. - return false; - } - let likesStr = getLikeButton() + try { + if (isShorts()) { + //Youtube Shorts don't work with this query. It's not nessecary; we can skip it and still see the results. + //It should be possible to fix this function, but it's not critical to showing the dislike count. + return false; + } + let likesStr = getLikeButton() .querySelector("yt-formatted-string#text") .getAttribute("aria-label") .replace(/\D/g, ""); - return likesStr.length > 0 ? parseInt(likesStr) : false; + return likesStr.length > 0 ? parseInt(likesStr) : false; + } + catch { + return false; + } + } function processResponse(response, storedData) { From 6be44d9eb94f6dcbb2b5547a5d83d24d1544067d Mon Sep 17 00:00:00 2001 From: Anarios Date: Fri, 5 Aug 2022 23:03:36 +0200 Subject: [PATCH 011/136] New layout fix - bar. --- Extensions/combined/src/bar.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index 55f21ed7..930f0f52 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -1,4 +1,4 @@ -import { getButtons } from "./buttons"; +import { getButtons, getDislikeButton, getLikeButton } from './buttons'; import { extConfig, isMobile, @@ -13,8 +13,8 @@ function createRateBar(likes, dislikes) { let rateBar = document.getElementById("ryd-bar-container"); const widthPx = - getButtons().children[0].clientWidth + - getButtons().children[1].clientWidth + + getLikeButton().clientWidth + + getDislikeButton().clientWidth + 8; const widthPercent = From 6277868ac7d8749df8c8305979dfcb72e2394264 Mon Sep 17 00:00:00 2001 From: Anarios Date: Fri, 5 Aug 2022 23:34:09 +0200 Subject: [PATCH 012/136] Decreased manifest version to prevent "Update your extension" warnings --- Extensions/combined/manifest-chrome.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index 3e396a0c..95fe7e9d 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.5", + "version": "3.0.0.4", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" From d25d10fcf94deb579406b453988b72a61bdee00b Mon Sep 17 00:00:00 2001 From: sy-b <94835959+sy-b@users.noreply.github.com> Date: Thu, 11 Aug 2022 09:15:09 +0100 Subject: [PATCH 013/136] Dislike formula inverted -> Correction resolves Anarios/return-youtube-dislike/issues/725 --- Docs/FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/FAQ.md b/Docs/FAQ.md index d539b4f8..e8b36abc 100644 --- a/Docs/FAQ.md +++ b/Docs/FAQ.md @@ -40,7 +40,7 @@ RYD uses the votes from it's users to extrapolate the dislike count. - If the video was uploaded after the API was shut down: - $$ \textup{RYD Dislike Count} = \left( \frac{\textup{RYD Users Like Count}}{\textup{RYD Users Dislike Count}} \right) \times \textup{Public Like Count} $$ + $$ \textup{RYD Dislike Count} = \left( \frac{\textup{RYD Users Dislike Count}}{\textup{RYD Users Like Count}} \right) \times \textup{Public Like Count} $$ - If the RYD database somehow had the actual like and dislike count (provided by the uploader or from the archive), the dislike count will be calculated based on both - the users' votes and the archived value. The archived value will have less influence on the final count as it ages. From 45f4c3f335a20887b833f72d18e325a578c53450 Mon Sep 17 00:00:00 2001 From: Pavel Moiseenko <19418601+rakleed@users.noreply.github.com> Date: Wed, 17 Aug 2022 18:12:12 +0300 Subject: [PATCH 014/136] Fix typos and writing style --- READMEru.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/READMEru.md b/READMEru.md index 1609f37d..1baa4c0c 100644 --- a/READMEru.md +++ b/READMEru.md @@ -12,9 +12,9 @@ # Return YouTube Dislike

- Return YouTube Dislike - это расширение с открытым исходным кодом, которое возвращает счётчик отметок «Не нравится» на YouTube.
+ Return YouTube Dislike — это расширение с открытым исходным кодом, которое возвращает счётчик отметок «Не нравится» на YouTube.
Доступно для Chrome и Firefox в качестве веб-расширения.
- Также доступен для других браузеров в виде пользовательского скрипта JS.

+ Также доступен для других браузеров в виде пользовательского скрипта.

@@ -22,13 +22,13 @@ 10 ноября 2021 года Google [объявили](https://blog.youtube/news-and-events/update-to-youtube/), что счётчик «Не нравится» на YouTube будет удален. -Кроме того, поле отметок `dislike` в API YouTube было [удалено]](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) 13 декабря 2021 года, удалив любую возможность судить о качестве контента перед просмотром. +Кроме того, поле отметок `dislike` в API YouTube было [удалено](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) 13 декабря 2021 года, убрав любую возможность судить о качестве контента перед просмотром. ## Как оно работает -С удалением статистики отметок из API YouTube наш сервер переключился на использование комбинации собранной статистики отметок «Не нравится», оценок, экстраполированных из пользовательских данных расширения. +С удалением статистики отметок из API YouTube наш сервер переключился на использование комбинации собранной статистики отметок «Не нравится» и оценок, экстраполированных из пользовательских данных расширения. -[ЧаВО](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQru.md) +[FAQ](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQru.md) ## Почему это важно @@ -39,7 +39,7 @@ Стороннее использование этого открытого API разрешено со следующими ограничениями: - **Атрибуция**: Этот проект должен быть чётко описан со ссылкой на [returnyoutubedislike.com](https://returnyoutubedislike.com/). -- **Ограничение**: Существуют ограничения скорости для каждого клиента - 100 в минуту и 10 000 в день. Это выдаст код ошибки _429_, указывающий на то, что ваше приложение должно быть отключено. +- **Ограничение**: Существуют ограничения скорости для каждого клиента — 100 в минуту и 10 000 в день. Это выдаст код ошибки _429_, указывающий на то, что ваше приложение должно быть отключено. API доступен по следующему основному URL-адресу: https://returnyoutubedislikeapi.com @@ -49,7 +49,7 @@ https://returnyoutubedislikeapi.com/swagger/index.html ### Получить голоса -Пример получения голосов за заданный идентификатор видео на YouTube: +Пример получения голосов для заданного идентификатора видео на YouTube: `/votes?videoId=kxOuG8jMIgI` ```json @@ -64,8 +64,8 @@ https://returnyoutubedislikeapi.com/swagger/index.html } ``` -Неверный идентификатор YouTube выдаст код ошибки _404_ "Не найдено". -Неправильно отформатированный идентификатор YouTube выдаст код ошибки _400_ "Неверный запрос". +Неверный идентификатор YouTube выдаст код ошибки _404_ «Не найдено». +Неправильно отформатированный идентификатор YouTube выдаст код ошибки _400_ «Неверный запрос». ${tooltipInnerHTML}

- ` + ` ); - // Add border between info and comments if (isNewDesign()) { + // Add border between info and comments let descriptionAndActionsElement = document.getElementById("top-row"); descriptionAndActionsElement.style.borderBottom = "1px solid var(--yt-spec-10-percent-layer)"; descriptionAndActionsElement.style.paddingBottom = "10px"; + + // Fix bar offset in new UI + document.getElementById("actions-inner").style.width = "revert"; + if (isRoundedDesign()) { + document.getElementById("actions").style.flexDirection = + "row-reverse"; + } } } else { document.getElementById("ryd-bar-container").style.width = diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 0876e106..42dde2be 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -51,6 +51,10 @@ function isNewDesign() { return document.getElementById("comment-teaser") !== null; } +function isRoundedDesign() { + return document.getElementById("segmented-like-button") !== null; +} + let mutationObserver = new Object(); if (isShorts() && mutationObserver.exists !== true) { @@ -96,9 +100,7 @@ function isLikesDisabled() { getButtons().children[0].querySelector(".button-renderer-text").innerText ); } - return /^\D*$/.test( - getButtons().children[0].innerText - ); + return /^\D*$/.test(getButtons().children[0].innerText); } function isVideoLiked() { @@ -137,7 +139,7 @@ function setLikes(likesCount) { } function setDislikes(dislikesCount) { - getDislikeTextContainer()?.removeAttribute('is-empty'); + getDislikeTextContainer()?.removeAttribute("is-empty"); if (!isLikesDisabled()) { if (isMobile()) { getButtons().children[1].querySelector( @@ -166,15 +168,13 @@ function getLikeCountFromButton() { return false; } let likesStr = getLikeButton() - .querySelector("yt-formatted-string#text") - .getAttribute("aria-label") - .replace(/\D/g, ""); + .querySelector("yt-formatted-string#text") + .getAttribute("aria-label") + .replace(/\D/g, ""); return likesStr.length > 0 ? parseInt(likesStr) : false; - } - catch { + } catch { return false; } - } function processResponse(response, storedData) { @@ -362,6 +362,7 @@ export { isVideoDisliked, isVideoLiked, isNewDesign, + isRoundedDesign, getState, setState, setInitialState, From b6bec07368c7241d30638de67f64f038baa2dc29 Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Sun, 9 Oct 2022 01:20:24 +0200 Subject: [PATCH 027/136] Fix comment --- Extensions/combined/src/bar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index 44117030..a3a5e53a 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -91,7 +91,7 @@ function createRateBar(likes, dislikes) { "1px solid var(--yt-spec-10-percent-layer)"; descriptionAndActionsElement.style.paddingBottom = "10px"; - // Fix bar offset in new UI + // Fix like/dislike ratio bar offset in new UI document.getElementById("actions-inner").style.width = "revert"; if (isRoundedDesign()) { document.getElementById("actions").style.flexDirection = From 87e922d41fb2e801df97d6441de330b9512b639d Mon Sep 17 00:00:00 2001 From: hyperstown Date: Tue, 18 Oct 2022 00:39:21 +0200 Subject: [PATCH 028/136] fix like reformat option to work with new design --- .../UserScript/Return Youtube Dislike.user.js | 27 ++++++++++++------- Extensions/combined/src/buttons.js | 5 ++-- Extensions/combined/src/state.js | 14 ++++++---- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index 4dd048c2..f3062fa5 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -100,7 +100,8 @@ function getLikeButton() { function getLikeTextContainer() { return ( getLikeButton().querySelector("#text") ?? - getLikeButton().getElementsByTagName("yt-formatted-string")[0] + getLikeButton().getElementsByTagName("yt-formatted-string")[0] ?? + getLikeButton().querySelector("span[role='text']") ); } @@ -227,16 +228,24 @@ function setDislikes(dislikesCount) { } function getLikeCountFromButton() { - if (isShorts()) { - //Youtube Shorts don't work with this query. It's not nessecary; we can skip it and still see the results. - //It should be possible to fix this function, but it's not critical to showing the dislike count. + try { + if (isShorts()) { + //Youtube Shorts don't work with this query. It's not necessary; we can skip it and still see the results. + //It should be possible to fix this function, but it's not critical to showing the dislike count. + return false; + } + let likeButton = getLikeButton() + .querySelector("yt-formatted-string#text") ?? + getLikeButton().querySelector("button"); + + let likesStr = likeButton.getAttribute("aria-label") + .replace(/\D/g, ""); + return likesStr.length > 0 ? parseInt(likesStr) : false; + } + catch { return false; } - let likesStr = getLikeButton() - .querySelector("yt-formatted-string#text") - .getAttribute("aria-label") - .replace(/\D/g, ""); - return likesStr.length > 0 ? parseInt(likesStr) : false; + } (typeof GM_addStyle != "undefined" diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index ab413a66..b78670c4 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -24,7 +24,7 @@ function getButtons() { //--- If Menu Element Is Displayed: ---// if (document.getElementById("menu-container")?.offsetParent === null) { return document.querySelector("ytd-menu-renderer.ytd-watch-metadata > div"); - //--- If Menu Element Isnt Displayed: ---// + //--- If Menu Element Isn't Displayed: ---// } else { return document .getElementById("menu-container") @@ -42,7 +42,8 @@ function getLikeButton() { function getLikeTextContainer() { return ( getLikeButton().querySelector("#text") ?? - getLikeButton().getElementsByTagName("yt-formatted-string")[0] + getLikeButton().getElementsByTagName("yt-formatted-string")[0] ?? + getLikeButton().querySelector("span[role='text']") ); } diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 0876e106..444a2035 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -133,10 +133,12 @@ function getState(storedData) { //--- Sets The Likes And Dislikes Values ---// function setLikes(likesCount) { + cLog(`SET likes ${likesCount}`) getLikeTextContainer().innerText = likesCount; } function setDislikes(dislikesCount) { + cLog(`SET dislikes ${dislikesCount}`) getDislikeTextContainer()?.removeAttribute('is-empty'); if (!isLikesDisabled()) { if (isMobile()) { @@ -161,13 +163,15 @@ function setDislikes(dislikesCount) { function getLikeCountFromButton() { try { if (isShorts()) { - //Youtube Shorts don't work with this query. It's not nessecary; we can skip it and still see the results. + //Youtube Shorts don't work with this query. It's not necessary; we can skip it and still see the results. //It should be possible to fix this function, but it's not critical to showing the dislike count. return false; } - let likesStr = getLikeButton() - .querySelector("yt-formatted-string#text") - .getAttribute("aria-label") + let likeButton = getLikeButton() + .querySelector("yt-formatted-string#text") ?? + getLikeButton().querySelector("button"); + + let likesStr = likeButton.getAttribute("aria-label") .replace(/\D/g, ""); return likesStr.length > 0 ? parseInt(likesStr) : false; } @@ -191,7 +195,7 @@ function processResponse(response, storedData) { createRateBar(storedData.likes, storedData.dislikes); if (extConfig.coloredThumbs === true) { if (isShorts()) { - // for shorts, leave deactived buttons in default color + // for shorts, leave deactivated buttons in default color let shortLikeButton = getLikeButton().querySelector( "tp-yt-paper-button#button" ); From f1fe41e0776aa7164441da3389394ba07a94f00e Mon Sep 17 00:00:00 2001 From: hyperstown Date: Tue, 18 Oct 2022 00:40:21 +0200 Subject: [PATCH 029/136] bump version --- Extensions/combined/manifest-chrome.json | 2 +- Extensions/combined/manifest-firefox.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index 3e396a0c..dddd2f6b 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.5", + "version": "3.0.0.6", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index 07be68e6..3ce248f8 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.6", + "version": "3.0.0.7", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] From 53a24ec09b86551b9266afc51afcc91a79418455 Mon Sep 17 00:00:00 2001 From: KashBoi7 <77999576+KashBoi7@users.noreply.github.com> Date: Mon, 17 Oct 2022 18:57:27 -0700 Subject: [PATCH 030/136] Update to help page embeds a link into the chrome webstore firefox addon snippets and --- Website/pages/help.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Website/pages/help.vue b/Website/pages/help.vue index 4bfc7a53..d0fbce2c 100644 --- a/Website/pages/help.vue +++ b/Website/pages/help.vue @@ -94,10 +94,10 @@
{{ $vuetify.lang.t("$vuetify.help.bullet4c1") }}
- about:addons + about:addons {{ $vuetify.lang.t("$vuetify.help.firefox") }}
- chrome://extensions + chrome://extensions {{ $vuetify.lang.t("$vuetify.help.chrome") }} From d796fa446056169d14a3438746db3183db3ed1e3 Mon Sep 17 00:00:00 2001 From: KashBoi7 <77999576+KashBoi7@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:37:55 -0700 Subject: [PATCH 031/136] Update Grammar corrections for the Website --- Website/_locales/en.ts | 6 +++--- Website/pages/help.vue | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Website/_locales/en.ts b/Website/_locales/en.ts index 8cc26f66..467481ab 100644 --- a/Website/_locales/en.ts +++ b/Website/_locales/en.ts @@ -67,13 +67,13 @@ export default { bullet41: "in our", bullet4a: "Tell us your Operating System, Browser Name and Browser Version", bullet4b: - "Take screenshot of page with problem (i.e. youtube video page) with console open (press ", + "Take a screenshot of the page with the problem (i.e. youtube video page) with console open (press ", bullet4b1: ") - example screenshot below.", bullet4c: "Take screenshot of extensions page of your browser with extension installed.", bullet4c1: "To see extensions put this into address bar: ", firefox: "for Firefox", - chrome: "for Chrome, Edge, Brave, Opera, Vivaldi", + chrome: "for Chrome, Edge, Brave, Opera, and Vivaldi", }, faq: { name: "FAQ", @@ -87,7 +87,7 @@ export default { "Right now video dislikes are cached and they aren't updated very frequently. It varies depending on a video's popularity but can take anywhere between a few hours and a few days to update.", bullet3: "How does this work?", bullet3text: - "The extension collects the video ID of the video you are watching, and fetches the dislike (and other fields like views, likes etc) using our API. The extension then displays the dislike count and ratio on the page. If you like or dislike a video, that is recorded and sent to the database so an accurate dislike count can be extrapolated.", + "The extension collects the video ID of the video you are watching, and fetches the number of dislikes (and other fields like views, likes etc) using our API. The extension then displays the dislike count and ratio on the page. If you like or dislike a video, that is recorded and sent to the database so an accurate dislike count can be extrapolated.", bullet4: "Can I share my dislike count with you?", bullet4text: "Coming soon. We are looking into using Oauth or a different read only API with a limited scope so creators can share their dislike counts verifiability.", diff --git a/Website/pages/help.vue b/Website/pages/help.vue index d0fbce2c..4bfc7a53 100644 --- a/Website/pages/help.vue +++ b/Website/pages/help.vue @@ -94,10 +94,10 @@
{{ $vuetify.lang.t("$vuetify.help.bullet4c1") }}
- about:addons + about:addons {{ $vuetify.lang.t("$vuetify.help.firefox") }}
- chrome://extensions + chrome://extensions {{ $vuetify.lang.t("$vuetify.help.chrome") }} From a41b0032d67b6c5054d6d66a8142943bdd02de10 Mon Sep 17 00:00:00 2001 From: KashBoi7 <77999576+KashBoi7@users.noreply.github.com> Date: Tue, 18 Oct 2022 16:49:59 -0700 Subject: [PATCH 032/136] Update en.ts --- Website/_locales/en.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Website/_locales/en.ts b/Website/_locales/en.ts index 467481ab..9f6361ad 100644 --- a/Website/_locales/en.ts +++ b/Website/_locales/en.ts @@ -93,7 +93,7 @@ export default { "Coming soon. We are looking into using Oauth or a different read only API with a limited scope so creators can share their dislike counts verifiability.", bullet5: "What data do you collect and how is it treated?", bullet5text: - 'The extension only collects data that is strictly necessary for it to function properly, such as IP address or ID of the video you\'re watching. None of your data will ever be sold to 3rd parties. If you would like to know more about how we handle security and privacy check out our security FAQ.', + 'The extension only collects data that is strictly necessary for it to function properly, such as the IP address or ID of the video you\'re watching. None of your data will ever be sold to 3rd parties. If you would like to know more about how we handle security and privacy check out our security FAQ.', bullet6: "How does the API/Backend work?", bullet6text: "The backend is using archived data from when the youtube api was still returning the dislike count, extension users like/dislike count and extrapolation. In the near future we will be allowing content creators to submit their dislike count easily and safely and we will be adding ArchiveTeam's archived data (4.56 billion videos) into our current database. You can also view a video on the topic.", From 27bdc3256b8d90300154304d0b133bdca81203c0 Mon Sep 17 00:00:00 2001 From: KashBoi7 <77999576+KashBoi7@users.noreply.github.com> Date: Tue, 18 Oct 2022 20:38:42 -0700 Subject: [PATCH 033/136] Update en.ts --- Website/_locales/en.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Website/_locales/en.ts b/Website/_locales/en.ts index 9f6361ad..88938116 100644 --- a/Website/_locales/en.ts +++ b/Website/_locales/en.ts @@ -67,7 +67,7 @@ export default { bullet41: "in our", bullet4a: "Tell us your Operating System, Browser Name and Browser Version", bullet4b: - "Take a screenshot of the page with the problem (i.e. youtube video page) with console open (press ", + "Take a screenshot of the page with the problem (i.e. Youtube video page) with console open (press ", bullet4b1: ") - example screenshot below.", bullet4c: "Take screenshot of extensions page of your browser with extension installed.", From 417f327938dc360dbf0c1fb0e7eed713afb82320 Mon Sep 17 00:00:00 2001 From: KashBoi7 <77999576+KashBoi7@users.noreply.github.com> Date: Tue, 18 Oct 2022 20:40:58 -0700 Subject: [PATCH 034/136] Update en.ts --- Website/_locales/en.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Website/_locales/en.ts b/Website/_locales/en.ts index 88938116..40804437 100644 --- a/Website/_locales/en.ts +++ b/Website/_locales/en.ts @@ -70,7 +70,7 @@ export default { "Take a screenshot of the page with the problem (i.e. Youtube video page) with console open (press ", bullet4b1: ") - example screenshot below.", bullet4c: - "Take screenshot of extensions page of your browser with extension installed.", + "Take a screenshot of the extensions page of your browser with the extension installed.", bullet4c1: "To see extensions put this into address bar: ", firefox: "for Firefox", chrome: "for Chrome, Edge, Brave, Opera, and Vivaldi", From a030e5e54ea8e6e8074416eafe2ace4b2eefae1a Mon Sep 17 00:00:00 2001 From: KashBoi7 <77999576+KashBoi7@users.noreply.github.com> Date: Tue, 18 Oct 2022 20:42:48 -0700 Subject: [PATCH 035/136] Update en.ts --- Website/_locales/en.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Website/_locales/en.ts b/Website/_locales/en.ts index 40804437..81254f72 100644 --- a/Website/_locales/en.ts +++ b/Website/_locales/en.ts @@ -67,7 +67,7 @@ export default { bullet41: "in our", bullet4a: "Tell us your Operating System, Browser Name and Browser Version", bullet4b: - "Take a screenshot of the page with the problem (i.e. Youtube video page) with console open (press ", + "Take a screenshot of the page with the problem (i.e. Youtube video page) with the console open (press ", bullet4b1: ") - example screenshot below.", bullet4c: "Take a screenshot of the extensions page of your browser with the extension installed.", From 51424d11cff64a45d4086ad671c1289927ea5d3f Mon Sep 17 00:00:00 2001 From: Sopor <5789283+Sopor@users.noreply.github.com> Date: Mon, 24 Oct 2022 03:15:29 +0200 Subject: [PATCH 036/136] Add Swedish translation --- .../combined/_locales/sv_SE/messages.json | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 Extensions/combined/_locales/sv_SE/messages.json diff --git a/Extensions/combined/_locales/sv_SE/messages.json b/Extensions/combined/_locales/sv_SE/messages.json new file mode 100644 index 00000000..7ed2ce82 --- /dev/null +++ b/Extensions/combined/_locales/sv_SE/messages.json @@ -0,0 +1,134 @@ +{ + "extensionName": { + "message": "Return YouTube Dislike" + }, + "extensionNameBeta": { + "message": "Return YouTube Dislike Beta" + }, + "extensionDesc": { + "message": "Återställer förmågan att se ogilla" + }, + "textDeveloper": { + "message": "av Dmitry Selivanov & Community" + }, + "linkWebsite": { + "message": "Hemsida" + }, + "linkFAQ": { + "message": "FAQ" + }, + "linkDonate": { + "message": "Donera" + }, + "linkHelp": { + "message": "Hjälp" + }, + "linkChangelog": { + "message": "Ändringslogg" + }, + "legendSettings": { + "message": "Inställningar" + }, + "textSettings": { + "message": "Inaktivera gilla-/ogilla-inskickningar" + }, + "textLikesDisabled": { + "message": "Inaktiverad av ägaren" + }, + "textSettingsHover": { + "message": "Slutar räkna dina gilla och ogilla." + }, + "textRoundingNumbers": { + "message": "Avrunda statistiken neråt för gilla/ogilla (standard YouTube-beteende)" + }, + "textRoundingNumbersHover": { + "message": "Visa avrundad statistik." + }, + "textConsistentFormat": { + "message": "Gör formatet på gilla och ogilla konsekvent" + }, + "textConsistentFormatHover": { + "message": "Omformatera som siffror." + }, + "textNumberFormat": { + "message": "Sifforformat:" + }, + "textColorizeRatioBar": { + "message": "Färgsätt förhållandefältet" + }, + "textColorizeRatioBarHover": { + "message": "Använd anpassade färger för förhållandefältet." + }, + "textColorizeThumbs": { + "message": "Färglägg tummarna" + }, + "textColorizeThumbsHover": { + "message": "Använd anpassade färger för tumikoner." + }, + "textColorTheme": { + "message": "Färgtema:" + }, + "textColorTheme1": { + "message": "Klassisk" + }, + "textColorTheme2": { + "message": "Tillgänglig" + }, + "textColorTheme3": { + "message": "Neon" + }, + "textTempUnavailable": { + "message": "Tillfälligt otillgänglig" + }, + "textUpdate": { + "message": "Uppdatera till" + }, + "version30installed": { + "message": "Version 3.0.0.1 installerad" + }, + "whatsnew": { + "message": "Vad är nytt" + }, + "shortsSupport": { + "message": "YouTube Shorts Support" + }, + "customColors": { + "message": "Anpassade färger för knappar och fältet ogilla" + }, + "customNumberFormats": { + "message": "Anpassade sifforformat" + }, + "considerDonating": { + "message": "Det enda som håller tillägget i gång är dina donationer, överväg att stöda projektet." + }, + "roundNumbers": { + "message": "Visa avrundade siffror" + }, + "roundNumbersHover": { + "message": "Avrunda siffrorna neråt (standard YouTube-beteende)." + }, + "reformatLikes": { + "message": "Omformatera som siffror" + }, + "reformatLikesHover": { + "message": "Gör formatet på gilla och ogilla konsekvent." + }, + "numberFormat": { + "message": "Sifforformat:" + }, + "colorizeRatio": { + "message": "Färgsätt förhållandefältet" + }, + "colorizeRatioHover": { + "message": "Använd anpassade färger för förhållandefältet." + }, + "colorizeThumbs": { + "message": "Färglägg tummarna" + }, + "colorizeThumbsHover": { + "message": "Använd anpassade färger för tumikoner." + }, + "colorTheme": { + "message": "Färgtema:" + } +} From 7e14e6dd9bb2bd18fe8d17a663295b1a7597e6fb Mon Sep 17 00:00:00 2001 From: Sopor <5789283+Sopor@users.noreply.github.com> Date: Mon, 24 Oct 2022 04:46:25 +0200 Subject: [PATCH 037/136] Add Swedish translation for Website --- Website/_locales/sv_SE.ts | 119 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 Website/_locales/sv_SE.ts diff --git a/Website/_locales/sv_SE.ts b/Website/_locales/sv_SE.ts new file mode 100644 index 00000000..ab7d9673 --- /dev/null +++ b/Website/_locales/sv_SE.ts @@ -0,0 +1,119 @@ +import { sv_SE } from "vuetify/src/locale"; + +export default { + ...sv_SE, + home: { + name: "Hem", + title: "Return YouTube Dislike", + subtitle: "Webbläsartillägg och ett API som visar antalet ogilla på Youtube", + ukraine: "Stöd Ukraina", + sponsors: "Sponsorer", + }, + install: { + name: "Installera", + title: "Välj din webbläsare", + subtitle: "Tillgängligt för Firefox och alla Chromium-webbläsare", + title2: "Andra webbläsare", + subtitle2: "Om din webbläsare ännu inte stöds, prova detta UserScript", + title3: "Tredjepartsimplementeringar", + subtitle3: "Inget ansvar från vår sida, använd på egen risk", + }, + api: { + name: "API", + title: "Välkommen till de officiella RYD-dokumenten!", + subtitle: "För att komma igång, välj ett avsnitt från menyn.", + rights: { + title: "Användningsrättigheter", + subtitle: + "Tredjepartsanvändning av detta öppna API är tillåtet med följande begränsningar:", + bullet1: "Tillskrivning: ", + bullet1text: + "Detta projekt bör tydligt tillskrivas med antingen en länk till denna repo eller en länk till returnyoutubedislike.com", + bullet2: "Satsbegränsning: ", + bullet2text: + "Det finns satsbegränsningar per användare med 100 per minut och 10000 per dag. Detta kommer att returnera en statushod 429 som indikerar att din applikation ska hålla sig borta", + }, + url: { + title: "Webbadressinformation", + subtitle: "API:et är tillgängligt via följande baswebbadress: ", + }, + endpoints: { + title: "Tillgängliga slutpunkter", + subtitle: "Lista över tillgängliga slutpunkter finns här: ", + }, + fetching: { + title: "Grundläggande handledning för hämtning", + subtitle: "Exempel för att hämta röster för ett bestämt YouTubevideo-ID: ", + title2: "Example Request: ", + url: "Request URL: ", + method: "Request Method: ", + headers: "Headers: ", + response: "Response: ", + error1: 'Ett ogiltigt YouTube-ID returnerar statuskoden 404 "Not Found"', + error2: + 'Ett felaktigt formaterat YouTube-ID returnerar 400 "Bad Request"', + }, + }, + help: { + name: "Hjälp", + title: "Felsökning", + bullet1: "Se till att du har den senaste versionen av tillägget installerat, ", + bullet11: "just nu", + bullet2: + "Försök att avinstallera tillägget och installera det igen, starta sedan om webbläsaren (alla aktiva fönster, inte bara en flik)", + bullet3: "Se till att den här länken öppnas: ", + bullet31: "du bör se vanlig text: ", + bullet4: "Om inget av ovanstående hjälper - rapportera ditt problem i", + bullet41: "i vår", + bullet4a: "Tala om för oss ditt operativsystem, webbläsarnamn och webbläsarversion", + bullet4b: + "Ta en skärmdump av sidan du har problem med (t.ex en youtube-videosida) med konsolfönstret öppet (tryck ", + bullet4b1: ") - exempel på skärmdump nedan.", + bullet4c: + "Ta en skärmdump av tilläggssidan i din webbläsare med tillägg installerat.", + bullet4c1: "För att se tilläggen skriv in detta i adressfältet: ", + firefox: "för Firefox", + chrome: "för Chrome, Edge, Brave, Opera och Vivaldi", + }, + faq: { + name: "FAQ", + title: "Vanliga frågor", + subtitle: "Har du fortfarande frågor? Gå gärna med i vår Discord!", + bullet1: "Var får tillägget sina data?", + bullet1text: + "En kombination av arkiverad data från innan det officiella YouTube ogilla-API:et stängdes av och och extrapolerat tilläggsanvändarbeteende.", + bullet2: "Varför uppdateras inte antalet ogilla?", + bullet2text: + "Just nu cachelagras ogilla för videoklipp och de uppdateras inte särskilt ofta. Det varierar beroende på en videos popularitet, men det kan ta allt från några timmar till några dagar att uppdatera.", + bullet3: "Hur fungerar detta?", + bullet3text: + "Tillägget samlar in video-ID:t för videon du tittar på och hämtar ogilla (and other fields like views, likes etc) med hjälp av vårt API. Tillägget visar sedan antalet ogilla och förhållandet på sidan. Om du gillar eller ogillar en video, spelas det in och skickas till databasen så att ett korrekt antal ogilla kan extrapoleras.", + bullet4: "Kan jag dela mina antalet ogilla med dig?", + bullet4text: + "Kommer snart. Vi tittar på att använda Oauth eller ett annat skrivskyddat API med ett begränsat omfång så att kreatörer kan dela med sig av verifierbarheten av sina antal ogilla.", + bullet5: "Vilken data samlar du in och hur behandlas den?", + bullet5text: + 'Tillägget samlar bara in data som är absolut nödvändig för att den ska fungera korrekt, som IP-adressen eller ID:t på videon du tittar på. Inga uppgifter kommer någonsin att säljas till tredjepart. Om du vill veta mer om hur vi hanterar säkerhet och integritet läs då vår vanliga frågor om säkerhet.', + bullet6: "Hur fungerar API/Backend?", + bullet6text: + "Backend använder arkiverad data från när YouTubes API fortfarande returnerade antalet ogilla. Inom en snar framtid kommer vi att tillåta innehållsskapare att enkelt och säkert skicka in sina ogilla och vi kommer att lägga till ArchiveTeams arkiverade data (4,56 miljarder videor) i vår nuvarande databas. Du kan också se en video om ämnet.", + bullet7: "Varför visar antalet ogilla "OGILLA ÄR INAKTIVERAT"?", + bullet7text: + "I bland kan en nyligen uppladdad video visa 'OGILLA ÄR INAKTIVERAT' även om ägaren inte har inaktiverat den. Detta beror på hur informationen om ogilla är inaktiverat hämtas ut. Det bör försvinna inom några timmar eller genom att gilla eller ogilla videon och uppdatera sidan (förhoppningsvis).", + }, + donate: { + name: "Donera", + subtitle: + "Du kan stöda våra ansträngningar att hålla internet fritt med en donation!", + }, + links: { + name: "Länkar", + title: "Projektlänkar", + subtitle: "Länkar till projektet och dess utvecklare", + contact: "Kontakta mig", + translators: "Översättare", + coolProjects: "Häftiga projekt", + sponsorBlockDescription: "Hoppar över annonser integrerade i videon", + filmotDescription: "Sök efter YouTube-videor i undertexterna", + }, +}; From 3f56e5ecf0334bb85155732e5c361b444fe69a73 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:37:05 +0300 Subject: [PATCH 038/136] Add Ukrainian translation --- CONTRIBUTINGuk.md | 67 ++++++++++++++++ READMEuk.md | 94 +++++++++++++++++++++++ extension-description-store-ukrainian.txt | 20 +++++ 3 files changed, 181 insertions(+) create mode 100644 CONTRIBUTINGuk.md create mode 100644 READMEuk.md create mode 100644 extension-description-store-ukrainian.txt diff --git a/CONTRIBUTINGuk.md b/CONTRIBUTINGuk.md new file mode 100644 index 00000000..05d2ab4e --- /dev/null +++ b/CONTRIBUTINGuk.md @@ -0,0 +1,67 @@ +Read this in other languages: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md) + +# Вітаємо у посібнику внеску в Return YouTube Dislikes + +Дякуємо, що вкладаєте свій час у розвиток нашого проєкту! Усі ваші зміни буде відображено в наступній версії розширення (або ж [вебсайту](https://www.returnyoutubedislike.com/)). + +## Почнімо працювати + +Будь ласка, використовуйте Prettier із налаштуваннями за замовчуванням для форматування коду. + +#### Заздалегідь + +Вам потрібно встановити node і npm, щоб створити bundled версію джерела. + +Версії, що використовувались при налаштуванні: + +- node: 12.18.4 +- npm: 6.14.6 + +Для створення `bundled-content-script.js`, який містить більшу частину бізнес-логіки цього розширення, спочатку потрібно встановити всі залежності. + +1. Перейдіть в корінь репозиторію та виконайте наступне: + +``` +npm install +``` + +2. Виконайте наступну команду, щоб створити `bundled-content-script.js`, який використовується в `manifest.json` + +``` +npm start // для створення файлу(ів) збірки та запуску спостерігача за файлами, який виконує hot-reload при збереженні + +// або ж + +npm run build // для створення файлу(ів) збірки один раз +``` + +Вітаємо, тепер ви готові до розробки! + +Якщо ви новачок у розробці розширення Chrome або вам потрібна додаткова допомога, перегляньте [це керівництво на YouTube](https://www.youtube.com/watch?v=mdOj6HYE3_0) (англ.) + +### Проблеми + +#### Відкриття нової проблеми + +Якщо у вас виникли проблеми з розширенням, здійсніть пошук і переконайтеся, що про цю проблему ще не повідомляли. Якщо ні, створіть Issue, використання форми проблеми наполегливо рекомендується, але не є обов’язковим. + +#### Вирішення проблеми + +Якщо ви знайшли проблему, і гадаєте, що можете її вирішити, не соромтеся. Створіть Pull Request на вилучення з виправленням і обов'язково вкажіть проблему, яку ви усуваєте. + +### Запит функції + +#### Відкриття запиту на нову функцію + +Якщо у вас є ідея щодо розширення, не соромтеся створіть Pull Request, але, будь ласка, здійсніть пошук і переконайтеся, що ця функція ще не запропонована. Використання форми функції наполегливо рекомендується, але не є обов’язковим. + +#### Реалізація запиту функції + +Якщо ви знайшли функцію, і гадаєте, що можете її реалізувати, не соромтеся. Створіть Pull Request із виправленням і обов’язково вкажіть функцію, яку ви впроваджуєте. + +### Які Pull Request ми приймаємо? + +- Виправлення проблем. +- Впровадження нових функцій. +- Виправлення помилок та спрощення тексту. +- Поліпшення сайту. \ No newline at end of file diff --git a/READMEuk.md b/READMEuk.md new file mode 100644 index 00000000..d296b9c1 --- /dev/null +++ b/READMEuk.md @@ -0,0 +1,94 @@ +[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Rating&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Chrome Web Store Users](https://img.shields.io/chrome-web-store/users/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Users&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Mozilla rating](https://img.shields.io/amo/stars/return-youtube-dislikes?label=Firefox%20Rating&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Mozilla downloads](https://img.shields.io/amo/users/return-youtube-dislikes?label=Firefox%20Users&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Commit rate](https://img.shields.io/github/commit-activity/m/Anarios/return-youtube-dislike?label=Commits&style=flat)](https://github.com/Anarios/return-youtube-dislike/commits/main) +[![Issues](https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&label=Issues)](https://github.com/Anarios/return-youtube-dislike/issues) +[![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) +[![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) + +Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) + +# Return YouTube Dislike + +

+ Return YouTube Dislike - це розширення з відкритим вихідним кодом, яке повертає лічильник відміток «Не подобається» на YouTube.
+ Доступно для Chrome та Firefox як веброзширення.
+ Також доступний для інших браузерів як JS UserScript.

+ +

+ +## Історія + +10 листопада 2021 року Google [оголосили](https://blog.youtube/news-and-events/update-to-youtube/), що лічильник відміток «Не подобається» на YouTube буде видалено. + +Крім того, поле позначок `dislike` у YouTube API було [видалено](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) 13 грудня 2021 року, прибравши єдину можливість оцінити якість вмісту перед переглядом. + +## Як це працює + +Після видаленням статистики відміток з API YouTube наш сервер перейшов на використання комбінації заархівованих статистичних даних відміток «Не подобається» екстрапольованих із даними користувачів розширення. + +[ЧаПи](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQuk.md) + +## Чому це важливо + +Ви можете дізнатися більше на нашому вебсайті: [returnyoutubedislike.com](https://www.returnyoutubedislike.com/) + +## Документація API + +Використання цього відкритого API сторонніми особами дозволено з наступними обмеженнями: + +- **Атрибуція**: Цей проєкт має бути чітко описано, використовуючи посилання на [returnyoutubedislike.com](https://returnyoutubedislike.com/). +- **Обмеження**: Існують обмеження на швидкісті для кожного клієнта - 100 за хвилину і 10 000 за день. Це видасть код помилки 429, який вказує на те, що вашому додатку слід завершити роботу. + +API доступний за наступною URL-адресою: +https://returnyoutubedislikeapi.com + +Перелік доступних «ендпоінтів» можна переглянути тут: +https://returnyoutubedislikeapi.com/swagger/index.html + +### Отримати оцінки + +Приклад отримання оцінок відео на YouTube за ID: +`/votes?videoId=kxOuG8jMIgI` + +```json +{ + "id": "kxOuG8jMIgI", + "dateCreated": "2021-12-20T12:25:54.418014Z", + "likes": 27326, + "dislikes": 498153, + "rating": 1.212014408444885, + "viewCount": 3149885, + "deleted": false +} +``` + +Недійсний YouTube ID видасть код помилки 404 "Not Found". +YouTube ID у невірному форматі видасть код помилки 400 "Bad Request". + + + +## Взяти участь у розробці + +Будь ласка, ознайомтеся із [посібником внеску в проєкт](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTINGuk.md). + +## Підтримайте цей проєкт! + +Ви можете підтримати цей проєкт пожертвою за посиланням нижче: + +[Підтримати](https://returnyoutubedislike.com/donate) + +## Спонсори + +[Piepacker](https://piepacker.com) + +[Seed4.Me VPN](https://www.seed4.me/users/register?gift=ReturnYoutubeDislike) + +[PocketTube](https://yousub.info/?utm_source=returnyoutubedislike) + +[Станьте нашим спонсором](https://www.patreon.com/join/returnyoutubedislike/checkout?rid=8008601) \ No newline at end of file diff --git a/extension-description-store-ukrainian.txt b/extension-description-store-ukrainian.txt new file mode 100644 index 00000000..e5956526 --- /dev/null +++ b/extension-description-store-ukrainian.txt @@ -0,0 +1,20 @@ +Return YouTube Dislike відновлює можливість бачити кількість відміток «Не подобається» на YouTube. + +Якщо не працює: відкрийте вкладку розширень (chrome://extensions/), вимкніть це розширення та увімкніть його знову. Це має вирішити більшість проблем, оскільки в Chromium є помилка, яка в деяких випадках перешкоджає роботі розширення. Сподіваюся, команда Chromium незабаром виправить це. + +Починаючи з 13 грудня 2021 року YouTube видалив можливість бачити відмітки «Не подобається» зі свого API. +Це розширення має намір повернути владу користувачам, використовуючи поєднання архівних даних про кількість відмітко «Подобається» та «Не подобається», а також відмітки «Подобається»/«Не подобається» користувачів розширення, аби показати найточніші рейтинги. + +На разі більше ніж 200 мільйонів даних про відмітки «Подобається»/«Не подобається» збережено до 13 грудня 2021 року + +Активно росте та оновюється новими відео, що завантажені після 13 грудня 2021 року + +Що більше користувачів використовує розширення, то точніше воно буде + +Не надто популярні відео, завантажені після 13 грудня 2021 року, можуть містити менш точні дані, ніж популярні відео. + +Це розширення наразі знаходиться в активній стадії розробки, тому, якщо у вас виникнуть будь-які проблеми, не соромтесь повідомляти про них на нашій сторінці GitHub або на нашому сервері в Discord. + +Більше можливостей з'явиться найближчим часом! + +https://github.com/Anarios/return-youtube-dislike \ No newline at end of file From e33c17970f153d08f301bea9889450745341cc70 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:37:52 +0300 Subject: [PATCH 039/136] Link to the Ukrainian translation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b31aa56b..ff3287b0 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) +Read this in other languages: [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) # Return YouTube Dislike From b5c37fc17ca4c12f335d1245016dc7c53cfddcf5 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:38:12 +0300 Subject: [PATCH 040/136] Link to the Ukrainian translation --- READMEes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/READMEes.md b/READMEes.md index 57950c06..055ab061 100644 --- a/READMEes.md +++ b/READMEes.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) +Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) # Return YouTube Dislike From 2efeb127b0a9bf6fcd48565c00f28a9b54a8ca5d Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:38:42 +0300 Subject: [PATCH 041/136] Link to the Ukrainian translation --- READMEfr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/READMEfr.md b/READMEfr.md index 63a7ee80..14729bf3 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](LICENSE) -Lisez ceci dans d'autres langues : [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) +Lisez ceci dans d'autres langues : [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) # Return YouTube Dislike From ef353ad3830f38ccabcc5398735782eb779e45b2 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:39:09 +0300 Subject: [PATCH 042/136] Link to the Ukrainian translation --- READMEja.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/READMEja.md b/READMEja.md index 7b298613..a4549605 100644 --- a/READMEja.md +++ b/READMEja.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -別の言語: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [Türkçe](READMEtr.md) +別の言語: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) # Return YouTube Dislike From d752904d98ede84cfedc720de8ee1dbfbb71a45d Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:39:32 +0300 Subject: [PATCH 043/136] Link to the Ukrainian translation --- READMEru.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/READMEru.md b/READMEru.md index 1609f37d..dd0b0a52 100644 --- a/READMEru.md +++ b/READMEru.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) +Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) # Return YouTube Dislike From aebc586be8dcab4e969e032f9d7a325b748a654d Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:39:59 +0300 Subject: [PATCH 044/136] Link to the Ukrainian translation --- READMEtr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/READMEtr.md b/READMEtr.md index a1191238..1db1be8e 100644 --- a/READMEtr.md +++ b/READMEtr.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![Lisans](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Bunu diğer dillerde okuyun: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [русский](READMEru.md), [日本語](READMEja.md) +Bunu diğer dillerde okuyun: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [русский](READMEru.md), [日本語](READMEja.md), [українська](READMEuk.md) # YouTube Dislike Sayısını Geri Getir From 1291858a1ef906c996b90023c00a98489be6791d Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:41:03 +0300 Subject: [PATCH 045/136] Link to the Ukrainian translation --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8e8da18d..f7996ebb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -Read this in other languages: [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md) +Read this in other languages: [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md) # Welcome To Return YouTube Dislikes contributing guide From a075f751dcfa5faa4afff2e93837379da221a739 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:41:26 +0300 Subject: [PATCH 046/136] Link to the Ukrainian translation --- CONTRIBUTINGfr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTINGfr.md b/CONTRIBUTINGfr.md index c9b9e91b..b8e9d2c9 100644 --- a/CONTRIBUTINGfr.md +++ b/CONTRIBUTINGfr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Türkçe](CONTRIBUTINGtr.md) +Lisez ceci dans d'autres langues : [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md) # Bienvenue dans le guide de contribution à Return YouTube Dislikes From 1fef9602534a720de8b137a1b69f19edee206688 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:41:47 +0300 Subject: [PATCH 047/136] Link to the Ukrainian translation --- CONTRIBUTINGru.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTINGru.md b/CONTRIBUTINGru.md index 0907d33f..ec2195a8 100644 --- a/CONTRIBUTINGru.md +++ b/CONTRIBUTINGru.md @@ -1,4 +1,4 @@ -Прочитать на других языках: [English](CONTRIBUTING.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md) +Прочитать на других языках: [English](CONTRIBUTING.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md) # Добро пожаловать в руководство по внесению вклада Return YouTube Dislikes From 32a59d4a16db36e6bfaeb66fe035a515caf240a5 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:42:03 +0300 Subject: [PATCH 048/136] Link to the Ukrainian translation --- CONTRIBUTINGtr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTINGtr.md b/CONTRIBUTINGtr.md index 4a33b15d..f4392212 100644 --- a/CONTRIBUTINGtr.md +++ b/CONTRIBUTINGtr.md @@ -1,4 +1,4 @@ -Bunu diğer dillerde okuyun: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md) +Bunu diğer dillerde okuyun: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [українська](CONTRIBUTINGuk.md) # "YouTube Dislike Sayısını Geri Getir"in katkı kılavuzuna Hoş Geldiniz From 3da6ec71a503f0cee3b8ad3d6c674dbf308e8cc7 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:42:37 +0300 Subject: [PATCH 049/136] Add Ukrainian translation --- Website/_locales/uk.ts | 119 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 Website/_locales/uk.ts diff --git a/Website/_locales/uk.ts b/Website/_locales/uk.ts new file mode 100644 index 00000000..17d06abc --- /dev/null +++ b/Website/_locales/uk.ts @@ -0,0 +1,119 @@ +import { uk } from "vuetify/src/locale"; +// By dsty#1614 +export default { + ...uk, + home: { + name: "Головна", + title: "Return YouTube Dislike", + subtitle: "Браузерне розширення та API, що дозволяє вам бачити відмітки «Не подобається» на YouTube", + ukraine: "Підтримати Україну", + sponsors: "Спонсори", + }, + install: { + name: "Завантажити", + title: "Оберіть вашу платформу", + subtitle: "Доступно на Firefox та усіх Chromium браузерах", + title2: "Інші платформи", + subtitle2: "Якщо ваш браузер не підтримується, спробуйте цей UserScript", + title3: "Стороннє ПЗ", + subtitle3: "Ми не маємо відношення до цього, використовуйте на свій страх і ризик", + }, + api: { + name: "API", + title: "Вітаємо у офіційній документації RYD!", + subtitle: "Щоб почати, виберіть розділ у меню.", + rights: { + title: "Права використання", + subtitle: + "Використання цього відкритого API сторонніми особами дозволено з наступними обмеженнями:", + bullet1: "Атрибуція: ", + bullet1text: + "Цей проєкт має бути чітко описано, використовуючи посилання, або ж на цей репозиторій, або ж на returnyoutubedislike.com", + bullet2: "Обмеження: ", + bullet2text: + "Існують обмеження на швидкісті для кожного клієнта - 100 за хвилину і 10 000 за день. Це видасть код помилки 429, який вказує на те, що вашому додатку слід завершити роботу", + }, + url: { + title: "Інформація про посилання", + subtitle: "API доступний за наступним посиланням: ", + }, + endpoints: { + title: "Достпупні «ендпоінти»", + subtitle: "Перелік доступних «ендпоінтів» можна переглянути тут: ", + }, + fetching: { + title: "Базовий посібник по отриманню", + subtitle: "Приклад отримання оцінок відео на YouTube за ID ", + title2: "Приклад запиту: ", + url: "Посилання запиту: ", + method: "Метод запиту: ", + headers: "Заголовок: ", + response: "Відповідь: ", + error1: 'Недійсний YouTube ID видасть код помилки 404 "Not Found"', + error2: + 'YouTube ID у невірному форматі видасть код помилки 400 "Bad Request"', + }, + }, + help: { + name: "Допомога", + title: "Усунення несправностей", + bullet1: "Переконайтеся, що у вас встановлена остання версія розширення, наразі це - ", + bullet11: "", + bullet2: + "Спробуйте видалити розширення і встановити його знову, а потім перезавантажте браузер (усі активні вікна, а не лише одну вкладку).", + bullet3: "Переконайтеся, що наступне посилання відкривається: ", + bullet31: "і ви бачите там цей текст: ", + bullet4: "Якщо нічого з перерахованого вище не допомогло - повідомте про проблему в каналі", + bullet41: "у нашому", + bullet4a: "Повідомте нам вашу операційну систему, назву та версію браузера", + bullet4b: + "Зробіть знімок екрана сторінки з проблемою (тобто сторінки відео на YouTube) із відкритою консоллю (натисніть ", + bullet4b1: ") - приклад знімка екрана нижче.", + bullet4c: + "Зробіть знімок екрана сторінки з встановленими розширеннями вашого браузера.", + bullet4c1: "Щоб побачити розширення, напишіть це в адресний рядок: ", + firefox: "для Firefox", + chrome: "для Chrome, Edge, Brave, Opera, Vivaldi", + }, + faq: { + name: "ЧаПи", + title: "Часті питання", + subtitle: "Залишилися питання? Не соромтеся приєднуватися до нашого Discord!", + bullet1: "Звідки розширення отримує дані?", + bullet1text: + "Комбінація архівних даних, отриманих до закриття офіційного API відміток «Не подобається» на YouTube та екстрапольованої поведінки користувачів розширення.", + bullet2: "Чому кількість відміток «Не подобається» не оновлюється?", + bullet2text: + "Наразі відмітки «Не подобається» кешуються й не оновлюються надто часто. Це залежить від популярності відео, але для оновлення може знадобитися від кількох годин до кількох днів.", + bullet3: "Як це працює?", + bullet3text: + "Розширення отримує ID відео, яке ви переглядаєте, та дізнається кількість відміток «Не подобається» (та інші дані: перегляди, відмітки «Подобається» тощо) за допомогою нашого API. Потім розширення відображає кількість відміток «Не подобається» та їх коефіцієнт на сторінці. Якщо ви ставите відмітки «Подобається» чи «Не подобається», це записується та надсилається до бази даних, щоб можна було екстраполювати точну їх кількість нелайків.", + bullet4: "Чи можу я поділитися з вами своїми відмітками «Не подобається»?", + bullet4text: + "Незабаром. Ми розглядаємо можливість використання Oauth або іншого API, доступного тільки для читання, з обмеженою областю дій, щоб творці могли ділитися своїми відмітками «Не подобається»", + bullet5: "Які дані ви збираєте та як вони обробляються?", + bullet5text: + 'Розширення збирає лише ті дані, які необхідні для правильної його роботи, такі як IP-адреси або ID відео, яке ви дивитеся. Ваші дані ніколи не будуть продані третім особам. Якщо ви хочете дізнатися більше про те, як ми забезпечуємо безпеку та конфіденційність, ознайомтесь з нашими ЧаПи по безпеці.', + bullet6: "Як працює API/серверна сторона?", + bullet6text: + "Серверна частина використовує архівні дані з тих пір, доки YouTube API все ще видавав кількість відміток «Не подобається», а також відмітки «Подобається»/«Не подобається» користувачів розширення та екстраполяцію. В найближчому майбутньому ми дозволимо творцям контенту легко та безпечно надсилати свої відмітки «Не подобається», а також ми додамо архівні дані ArchiveTeam (4,56 мільярди відео) до нашої поточної бази даних. Ви можете переглянути відео на цю тему.", + bullet7: "Чому лічильник відміток «Не подобається» пише 'DISLIKES DISABLED'?", + bullet7text: + "Іноді на нещодавно завантаженому відео може з'являтися повідомлення 'DISLIKES DISABLED', навіть попри те, що автор не вимикав відмітки «Не подобається». Це пов’язано з тим, як ми визначаємо, чи вимкнені оцінки «Не подобається». Це повідомлення має зникнути через кілька годин або після отримання відмітки «Подобається»/«Не подобається» і оновлення сторінки (сподіваюся).", + }, + donate: { + name: "Підтримати", + subtitle: + "Ви можете підтримати пожертвою наші зусилля зробити Інтернет вільнішим!", + }, + links: { + name: "Посилання", + title: "Посилання проєкту", + subtitle: "Посилання на проєкт і його розробників", + contact: "Зв'язок зі мною", + translators: "Перекладачі", + coolProjects: "Круті проєкти", + sponsorBlockDescription: "пропускає вбудовану у відео рекламу", + filmotDescription: "пошук відео на YouTube по субтитрах", + }, +}; \ No newline at end of file From 53f132a0f3b0f1ffa98e55630976b53572cbb0b4 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:44:01 +0300 Subject: [PATCH 050/136] Add Ukrainian translation --- Extensions/combined/_locales/uk/messages.json | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 Extensions/combined/_locales/uk/messages.json diff --git a/Extensions/combined/_locales/uk/messages.json b/Extensions/combined/_locales/uk/messages.json new file mode 100644 index 00000000..4919c6e6 --- /dev/null +++ b/Extensions/combined/_locales/uk/messages.json @@ -0,0 +1,134 @@ +{ + "extensionName": { + "message": "Return YouTube Dislike" + }, + "extensionNameBeta": { + "message": "Return YouTube Dislike Beta" + }, + "extensionDesc": { + "message": "Повертає здатність бачити відмітки «Не подобається»" + }, + "textDeveloper": { + "message": "від Дмитра Селіванова та спільноти" + }, + "linkWebsite": { + "message": "Вебсайт" + }, + "linkFAQ": { + "message": "ЧаПи" + }, + "linkDonate": { + "message": "Підтримати" + }, + "linkHelp": { + "message": "Допомога" + }, + "linkChangelog": { + "message": "Журнал змін" + }, + "legendSettings": { + "message": "Налаштування" + }, + "textSettings": { + "message": "Вимкнути надсилання відміток" + }, + "textLikesDisabled": { + "message": "Вимкнуто власником" + }, + "textSettingsHover": { + "message": "Вимикає надсилання відміток «Подобається»/«Не подобається»." + }, + "textRoundingNumbers": { + "message": "Округлює значення відміток (стандартний параметр YouTube)" + }, + "textRoundingNumbersHover": { + "message": "Показувати заокруглені значення." + }, + "textConsistentFormat": { + "message": "Зробить формат «Подобається» та «Не подобається» однаковим" + }, + "textConsistentFormatHover": { + "message": "Форматувати як числа." + }, + "textNumberFormat": { + "message": "Формат значень:" + }, + "textColorizeRatioBar": { + "message": "Обрати кольори стрічки співвідношення" + }, + "textColorizeRatioBarHover": { + "message": "Змінює кольори стрічки співвідношення на обрані вами." + }, + "textColorizeThumbs": { + "message": "Обрати кольори відміток" + }, + "textColorizeThumbsHover": { + "message": "Змінює кольори піктограм відміток на обрані вами." + }, + "textColorTheme": { + "message": "Кольорова схема:" + }, + "textColorTheme1": { + "message": "Класика" + }, + "textColorTheme2": { + "message": "Доступність" + }, + "textColorTheme3": { + "message": "Неон" + }, + "textTempUnavailable": { + "message": "Тимчасово недоступно" + }, + "textUpdate": { + "message": "Оновлення до" + }, + "version30installed": { + "message": "Версію 3.0.0.1 встановлено" + }, + "whatsnew": { + "message": "Що нового" + }, + "shortsSupport": { + "message": "Підтримка YouTube Shorts" + }, + "customColors": { + "message": "Користувальницькі кольори стрічки співвідношення та кнопок" + }, + "customNumberFormats": { + "message": "Користувацькі формати значень" + }, + "considerDonating": { + "message": "Розширення досі існує лише за допомогою ваших пожертв, будь ласка, підтримайте проєкт." + }, + "roundNumbers": { + "message": "Показувати заокруглені значення" + }, + "roundNumbersHover": { + "message": "Округлює значення відміток (стандартний параметр YouTube)" + }, + "reformatLikes": { + "message": "Форматувати як числа" + }, + "reformatLikesHover": { + "message": "Зробить формат «Подобається» та «Не подобається» однаковим" + }, + "numberFormat": { + "message": "Формат значень:" + }, + "colorizeRatio": { + "message": "Обрати кольори стрічки співвідношення" + }, + "colorizeRatioHover": { + "message": "Змінює кольори стрічки співвідношення на обрані вами.." + }, + "colorizeThumbs": { + "message": "Обрати кольори відміток" + }, + "colorizeThumbsHover": { + "message": "Змінює кольори піктограм відміток на обрані вами." + }, + "colorTheme": { + "message": "Кольорова схема:" + } +} From cfb1cadfd7cab652c9c2bdb3d1d14b545d20574c Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:45:01 +0300 Subject: [PATCH 051/136] Add Ukrainian translation --- Docs/FAQuk.md | 61 ++++++++++++++++++++++++++++++++++++++++++ Docs/SECURITY-FAQuk.md | 31 +++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 Docs/FAQuk.md create mode 100644 Docs/SECURITY-FAQuk.md diff --git a/Docs/FAQuk.md b/Docs/FAQuk.md new file mode 100644 index 00000000..0c4812a6 --- /dev/null +++ b/Docs/FAQuk.md @@ -0,0 +1,61 @@ +Read this in other languages: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md) + +# Часті питання + +## Перш ніж задавати питання на GitHub або у Discord, будь ласка, ознайомтеся з цим. + +
+ +### **1. Звідки це розширення отримує дані?** + +Комбінація Google API та старих даних. + +Ми зберігаємо всі доступні дані в нашій базі, аби вони були доступні після того, як Google вимкне лічильник відміток «Не подобається» у своєму API. + +
+ +### **2. Лічильник «Не подобається» не оновлюється** + +Наразі відео з відмітками «Не подобається» кешуються і оновлюються не надто часто. Не частіше, ніж раз в 2-3 дні. + +Так, це не ідеально, але маємо те, що маємо. Ми працюємо над тим, щоб збільшити частоту їх оновлення. + +
+ +### **3. Як це працює?** + +Розширення отримує ID відео, яке ви переглядаєте, та дізнається кількість відміток «Не подобається» (та інші дані: перегляди, відмітки «Подобається» тощо) за допомогою нашого API, якщо відео було витягнуте нашим API вперше, воно використовує YouTube API для отримання даних, потім зберігає дані в базі даних для кешування (кешуються близько 2-3 днів) та архівування й повертає їх вам. Після цього розширення відображає відмітки «Не подобається» вам. + +
+ +### **4. Що станеться після того, як YouTube API перестане повертати кількість відміток «Не подобається»?** + +Сервер перейде на використання комбінації заархівованих статистичних даних відміток «Не подобається» екстрапольованих із даними . + +
+ +### **5. Як розраховується кількість відміток «Не подобається»?** + +RYD використовує відмітки своїх користувачів, щоб екстраполювати кількість відміток «Не подобається». + +- Якщо відео було завантажено після вимкнення API: + + $$ \textup{К-ть відміток «Не подобається» у RYD} = \left( \frac{\textup{К-ть відміток «Подобається» серед користувачів RYD}}{\textup{К-ть відміток «Не подобається» серед користувачів RYD}} \right) \times \textup{Публічна к-ть відміток «Подобається»} $$ + +- Якщо база даних RYD якимось чином мала фактичну кількість відміток «Подобається» та «Не подобається» (надану завантажувачем або з архіву), кількість відміток «Не подобається» буде розраховано на основі відміток користувачів і архівного значення. Архівне значення матиме менший вплив на остаточний підрахунок у міру актуальності. + +
+ +--- + +Це все, але у відео форматі + +[![IReturn YouTube Dislike Explained](https://yt-embed.herokuapp.com/embed?v=GSmmtv-0yYQ)](https://www.youtube.com/watch?v=GSmmtv-0yYQ) + +--- + +
+ +## Я турбуюся про безпеку/конфіденційність + +Детальніше про це дивіться [тут](SECURITY-FAQuk.md). \ No newline at end of file diff --git a/Docs/SECURITY-FAQuk.md b/Docs/SECURITY-FAQuk.md new file mode 100644 index 00000000..4d18acc5 --- /dev/null +++ b/Docs/SECURITY-FAQuk.md @@ -0,0 +1,31 @@ +Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md) + +# Безпека + +### Ви відстежуєте мою історію переглядів? + +Ні. Код розширення знаходиться у відкритому доступі, і ви можете ознайомитись з ним самостійно. Єдина інформація, що передається - це ID відео, який необхідний для отримання даних про кількість відміток. Жодних додаткових заголовків не передається. На комунікаційному рівні серверу буде передано вашу публічну IP-адресу, а також час, коли було зроблено запит. Однак ніщо з цього ніяк не здатно вас ідентифіквати. Припускаючи середовище з нульовою довірою, найцінніше, що ми можемо отримати це динамічний IP. Який сьогодні ваш, а завтра – вашого сусіда. Якщо ви дійсно турбуєтеся про те, що ваш IP може бути відстежений, ви, ймовірно, вже використовуєте якийсь VPN. + +### Чи можете ви однозначно ідентифікувати мене, коли я залишаю відмітку «Не подобається»? + +Так. Коли ви залишаєте відео позначку «Не подобається», ми створюємо для вас випадковий унікальний ID, який не прив'язаний до вашого облікового запису Google. Це робиться для уникнення атаки ботів. Але немає жодного способу зв'язати цей випадковий ID до вас або вашого особистого облікового запису YouTube. + +### Якою саме інформацією ви володієте? + +Лише ID відео. Ні ваших коментарів, ні вашого імені користувача, ні того, з ким ви поділилися відео, ні будь-яких інших додаткових метаданих. Нічого. Лише ID відео. + +### Як зберігається моя IP-адреса? + +Внутрішня частина нашого сервера зберігає нехешовані IP-адреси лише в енергозалежній пам'яті (ОЗП). Ці адреси не зберігаються на жорсткому диску і тому ніде не записані. Ми хешуємо IP-адреси, і вони зберігаються замість інших. Це зроблено для запобігання вандалізму у базі даних. + +### Я чув дискусію щодо OAuth і доступу до мого облікового запису YouTube! + +Ця функція буде необов'язковою та дуже необхідною. Якщо ви творець YouTube і хочете поділитися з нами кількістю ваших відміток «Не подобається», ви зможете це зробити. За структурою [OAuth](https://uk.wikipedia.org/wiki/OAuth#:~:text=%D0%B1%D0%B5%D0%B7%20%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D1%96%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D1%96%20%D0%B2%D0%B2%D0%BE%D0%B4%D1%83%20%D1%96%D0%BC%D0%B5%D0%BD%D1%96%20%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D0%B0%20%D1%82%D0%B0%20%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8E) надбезпечний. Ви зможете відкликати доступ до свого облікового запису в будь-яку мить, і зможете дати нам обмежені дозволи. Ми не будемо вимагати жодних дозволів, крім необжідних. Ми будемо вимагати лише дозволи перегляду статистики ваших відео. + +### Наскільки достовірна ця кількость відміток «Не подобається»? + +Ми вжили заходів щодо запобігання атакам ботів і збираємося продовжувати працювати над підвищенням ефективності цієї сисеми надалі: це допоможе нам зберегти підрахунок відміток «Не подобається» як хороше представлення фактичної кількості. Звичайно, він ніколи не буде точним на всі 100%, тож ви самі вирішуєте, довіряти йому чи ні. + +### Чому б вам не поділитися внутрішнім кодом вашого сервера? + +Ми поділимося ним у якийсь момент – але зараз немає жодних причин це робити. Це дасть хибне почуття безпеки - адже в системі з нульовою довірою ми можемо з таким самим успіхом поділитися однією версією, але розгорнути іншу. Є багато причин тримати код у таємниці, зокрема, як ми боремося зі спамом. Приховування та затьмарення коду обробки спаму є доволі стандартною практикою. \ No newline at end of file From 04f8ed584d555ee6afa1048395c9234d5128f70c Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:45:49 +0300 Subject: [PATCH 052/136] Link to the Ukrainian translation --- Docs/FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/FAQ.md b/Docs/FAQ.md index aaa2d520..1d7d41cb 100644 --- a/Docs/FAQ.md +++ b/Docs/FAQ.md @@ -1,4 +1,4 @@ -Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md) +Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md) # Frequently Asked Questions From 8b8c09668eb3325f2030935e3bf552aa47e1e689 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:46:02 +0300 Subject: [PATCH 053/136] Link to the Ukrainian translation --- Docs/FAQfr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/FAQfr.md b/Docs/FAQfr.md index 1ad62d20..b53bb4f0 100644 --- a/Docs/FAQfr.md +++ b/Docs/FAQfr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](FAQ.md), [русский](FAQru.md), [Türkçe](FAQtr.md) +Lisez ceci dans d'autres langues : [English](FAQ.md), [русский](FAQru.md), [Türkçe](FAQtr.md), [українська](FAQuk.md) # Foire Aux Questions From 951a72c574f2a802a0024b705a9edd9f0598ad8c Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:46:25 +0300 Subject: [PATCH 054/136] Link to the Ukrainian translation --- Docs/FAQru.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Docs/FAQru.md b/Docs/FAQru.md index b6ac8f94..f78f4309 100644 --- a/Docs/FAQru.md +++ b/Docs/FAQru.md @@ -1,4 +1,4 @@ -Read this in other languages: [English](FAQ.md), [Français](FAQfr.md), [Türkçe](FAQtr.md) +Read this in other languages: [English](FAQ.md), [Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md) # Часто задаваемые вопросы @@ -21,4 +21,4 @@ Read this in other languages: [English](FAQ.md), [Français](FAQfr.md), [Türkç Внутренняя часть нашего сервера переключится на использование комбинации архивных статистик отметок «Не нравится», оценок, экстраполированных из данных о пользователях расширения, и оценок, основанных на соотношении просмотров и отметок «Нравится» для видео, чьи отметки «Не нравится» не были заархивированы, и для устаревших архивов с отметками «Не нравится». ## Я беспокоюсь о безопасности / конфиденциальности -Более подробную информацию смотрите на [этой странице](SECURITY-FAQ.md). \ No newline at end of file +Более подробную информацию смотрите на [этой странице](SECURITY-FAQ.md). From 3568b6ceafa05a4525b26f5ebc14113f4c806cf8 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:46:42 +0300 Subject: [PATCH 055/136] Link to the Ukrainian translation --- Docs/FAQtr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/FAQtr.md b/Docs/FAQtr.md index cfab81f0..bd4fb97d 100644 --- a/Docs/FAQtr.md +++ b/Docs/FAQtr.md @@ -1,4 +1,4 @@ -Bunu diğer dillerde okuyun: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md) +Bunu diğer dillerde okuyun: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [українська](FAQuk.md) # Sıkça Sorulan Sorular From 7cdd4aaf06985357e8c380245c7982e7db4da323 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:47:22 +0300 Subject: [PATCH 056/136] Link to the Ukrainian translation --- Docs/SECURITY-FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/SECURITY-FAQ.md b/Docs/SECURITY-FAQ.md index b51bd783..a414b1f5 100644 --- a/Docs/SECURITY-FAQ.md +++ b/Docs/SECURITY-FAQ.md @@ -1,4 +1,4 @@ -Read this in other languages: [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md) +Read this in other languages: [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md) # Security From 6ff63bdec5117f56538c522cbd6d297ab234aee7 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:47:54 +0300 Subject: [PATCH 057/136] Link to the Ukrainian translation --- Docs/SECURITY-FAQfr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/SECURITY-FAQfr.md b/Docs/SECURITY-FAQfr.md index 1d10fd68..100cebc6 100644 --- a/Docs/SECURITY-FAQfr.md +++ b/Docs/SECURITY-FAQfr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Türkçe](SECURITY-FAQtr.md) +Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md) # Sécurité From e6c20d85f00b90345ab0631522a1e12fdf464d27 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:48:11 +0300 Subject: [PATCH 058/136] Link to the Ukrainian translation --- Docs/SECURITY-FAQru.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/SECURITY-FAQru.md b/Docs/SECURITY-FAQru.md index be486e50..d746b3cf 100644 --- a/Docs/SECURITY-FAQru.md +++ b/Docs/SECURITY-FAQru.md @@ -1,4 +1,4 @@ -Прочитать на других языках: [English](SECURITY-FAQ.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md) +Прочитать на других языках: [English](SECURITY-FAQ.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md) # Безопасность From c4a150f6dedb8302b1dfbfeac77de671b73f0f84 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+medustyy@users.noreply.github.com> Date: Fri, 28 Oct 2022 21:48:36 +0300 Subject: [PATCH 059/136] Link to the Ukrainian translation --- Docs/SECURITY-FAQtr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/SECURITY-FAQtr.md b/Docs/SECURITY-FAQtr.md index 5ae14c72..642e253b 100644 --- a/Docs/SECURITY-FAQtr.md +++ b/Docs/SECURITY-FAQtr.md @@ -1,4 +1,4 @@ -Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md) +Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [українська](SECURITY-FAQuk.md) # Güvenlik From c8e3e870775a26dd465a0d9005dde9137472bb26 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+MeDustyy@users.noreply.github.com> Date: Sat, 29 Oct 2022 20:24:07 +0300 Subject: [PATCH 060/136] Functionality to select the language --- Website/layouts/default.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Website/layouts/default.vue b/Website/layouts/default.vue index 4d5e195d..221ce0f0 100644 --- a/Website/layouts/default.vue +++ b/Website/layouts/default.vue @@ -107,7 +107,7 @@ export default { { name: "日本語", locale: "ja" }, { name: "Français", locale: "fr" }, // { name: "Deutsch", locale: "de" }, - // ... + { name: "Українська", locale: "uk" }, ], alert: { show: false, From 14780aac555463e1fd78ec784156b8b442215a4d Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+MeDustyy@users.noreply.github.com> Date: Sat, 29 Oct 2022 20:27:30 +0300 Subject: [PATCH 061/136] Ukrainian translator --- Website/pages/links.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Website/pages/links.vue b/Website/pages/links.vue index cd6c4469..d438594d 100644 --- a/Website/pages/links.vue +++ b/Website/pages/links.vue @@ -113,6 +113,10 @@ export default { tag: "NiniKo", lang: "Français", }, + { + tag: "dsty#1614", + lang: "Українська", + }, ], coolProjects: [ { From 93aabc527e3d6a0cd413987885dee71963da3e70 Mon Sep 17 00:00:00 2001 From: Oleksandr <58863601+MeDustyy@users.noreply.github.com> Date: Sat, 29 Oct 2022 20:29:55 +0300 Subject: [PATCH 062/136] =?UTF-8?q?=D0=90unctionality=20to=20select=20the?= =?UTF-8?q?=20language?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Website/nuxt.config.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Website/nuxt.config.js b/Website/nuxt.config.js index bf5bbbc7..cd7d1d42 100644 --- a/Website/nuxt.config.js +++ b/Website/nuxt.config.js @@ -5,6 +5,7 @@ import ru from "./_locales/ru"; import cs from "./_locales/cs"; import ja from "./_locales/ja"; import fr from "./_locales/fr"; +import de from "./_locales/uk"; // import de from "./_locales/de"; // ... export default { @@ -50,7 +51,7 @@ export default { // Vuetify module configuration: https://go.nuxtjs.dev/config-vuetify vuetify: { lang: { - locales: { en, es, tr, ru, cs, ja, fr /* de, ...*/ }, + locales: { en, es, tr, ru, cs, ja, fr, uk /* de, ...*/ }, current: "en", }, theme: { From 403f58d4a214b941996dc41608408e30d046c05c Mon Sep 17 00:00:00 2001 From: Moondarker Date: Tue, 1 Nov 2022 18:15:45 +0300 Subject: [PATCH 063/136] Added an important checkbox Wanted to add it at the bottom at first, but then thought about potential time waste for those who file an issue and it ends up being a duplicate --- .github/ISSUE_TEMPLATE/bug.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index efacc6d9..496ec3e7 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -3,6 +3,12 @@ description: File a bug report! # title: "(Bug): " labels: ["bug"] body: + - type: checkboxes + attributes: + label: Have you tried to find similar open issues? + options: + - label: "Yes, this issue is not a duplicate" + required: true - type: input attributes: label: Browser From 02cb6fd398277f6a2dcaff81f4ba2ebab2949696 Mon Sep 17 00:00:00 2001 From: mini-bomba <55105495+mini-bomba@users.noreply.github.com> Date: Tue, 1 Nov 2022 16:56:42 +0100 Subject: [PATCH 064/136] Fix ratiobar positioning in the new youtube design This is done by attaching the bar to the like/dislike button container instead of the whole interaction menu, then using absolute positioning after modifying a few youtube styles. --- Extensions/combined/content-style.css | 20 +++++++++++++++++++- Extensions/combined/src/bar.js | 6 ++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Extensions/combined/content-style.css b/Extensions/combined/content-style.css index d8da7db1..4e53f87f 100644 --- a/Extensions/combined/content-style.css +++ b/Extensions/combined/content-style.css @@ -30,12 +30,21 @@ } .ryd-tooltip { - position: relative; display: block; height: 2px; +} + +.ryd-tooltip-old-design { + position: relative; top: 9px; } +.ryd-tooltip-new-design { + position: absolute; + bottom: -10px; + left: -4px; +} + .ryd-tooltip-bar-container { width: 100%; height: 2px; @@ -44,3 +53,12 @@ padding-bottom: 12px; top: -6px; } + +/* required to make the ratio bar visible in the new design */ +ytd-menu-renderer.ytd-watch-metadata { + overflow-y: visible !important; +} + +#top-level-buttons-computed { + position: relative !important; +} diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index 930f0f52..ebf9ad8f 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -57,14 +57,12 @@ function createRateBar(likes, dislikes) { ( document.getElementById( - isNewDesign() ? "actions-inner" : "menu-container" + isNewDesign() ? "top-level-buttons-computed" : "menu-container" ) || document.querySelector("ytm-slim-video-action-bar-renderer") ).insertAdjacentHTML( "beforeend", ` -
+
Date: Sun, 6 Nov 2022 19:42:26 -0700 Subject: [PATCH 065/136] Fix typo (it's -> its) in FAQ.md --- Docs/FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/FAQ.md b/Docs/FAQ.md index aaa2d520..9aa59963 100644 --- a/Docs/FAQ.md +++ b/Docs/FAQ.md @@ -36,7 +36,7 @@ The backend will switch to using a combination of archived dislike stats, estima ### **5. How is the dislike count calculated?** -RYD uses the votes from it's users to extrapolate the dislike count. +RYD uses the votes from its users to extrapolate the dislike count. - If the video was uploaded after the API was shut down: From d719f4b5c91b180ed285e3090bc7a205384ed40c Mon Sep 17 00:00:00 2001 From: hyperstown Date: Tue, 8 Nov 2022 19:46:41 +0100 Subject: [PATCH 066/136] fix display error --- Extensions/combined/src/state.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 0876e106..ae8dcb63 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -223,7 +223,7 @@ function processResponse(response, storedData) { // Tells the user if the API is down function displayError(error) { - getButtons().children[1].querySelector("#text").innerText = localize( + getDislikeTextContainer().innerText = localize( "textTempUnavailable" ); } From c919a2511fc0334489a64309404eb96d3748ba4a Mon Sep 17 00:00:00 2001 From: Stilian Iliev <74832022+stilian-iliev@users.noreply.github.com> Date: Fri, 11 Nov 2022 01:13:56 +0200 Subject: [PATCH 067/136] Fixed typo on line 84 --- Website/_locales/en.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Website/_locales/en.ts b/Website/_locales/en.ts index 81254f72..31f8d183 100644 --- a/Website/_locales/en.ts +++ b/Website/_locales/en.ts @@ -81,7 +81,7 @@ export default { subtitle: "Still have questions? Feel free to join our Discord!", bullet1: "Where does the extension get its data?", bullet1text: - "A combination of archived data from before the offical YouTube dislike API shut down, and extrapolated extension user behavior.", + "A combination of archived data from before the official YouTube dislike API shut down, and extrapolated extension user behavior.", bullet2: "Why isn't the dislike count updating?", bullet2text: "Right now video dislikes are cached and they aren't updated very frequently. It varies depending on a video's popularity but can take anywhere between a few hours and a few days to update.", From 8eef50918d9541867ddc3b95d2566abda056709b Mon Sep 17 00:00:00 2001 From: hyperstown Date: Tue, 22 Nov 2022 20:51:51 +0100 Subject: [PATCH 068/136] fix disappearing rate bar --- Extensions/combined/src/bar.js | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index fea42a96..af958c59 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -10,9 +10,11 @@ import { import { cLog, getColorFromTheme } from "./utils"; function createRateBar(likes, dislikes) { + let ratebar = document.getElementById("ryd-bar-container"); + if (ratebar) { + ratebar.parentNode.removeChild(ratebar); + } if (!isLikesDisabled()) { - let rateBar = document.getElementById("ryd-bar-container"); - const widthPx = getLikeButton().clientWidth + getDislikeButton().clientWidth + @@ -48,7 +50,7 @@ function createRateBar(likes, dislikes) { } if (!isShorts()) { - if (!rateBar && !isMobile()) { + if (!isMobile()) { let colorLikeStyle = ""; let colorDislikeStyle = ""; if (extConfig.coloredBar) { @@ -110,12 +112,6 @@ function createRateBar(likes, dislikes) { } } } - } else { - cLog("removing bar"); - let ratebar = document.getElementById("ryd-bar-container"); - if (ratebar) { - ratebar.parentNode.removeChild(ratebar); - } } } From 7db9d9d30d687fc170748f58a0b7c8d6b8770317 Mon Sep 17 00:00:00 2001 From: hyperstown Date: Wed, 23 Nov 2022 11:20:38 +0100 Subject: [PATCH 069/136] Revert "fix disappearing rate bar" This reverts commit 8eef50918d9541867ddc3b95d2566abda056709b. --- Extensions/combined/src/bar.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index af958c59..fea42a96 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -10,11 +10,9 @@ import { import { cLog, getColorFromTheme } from "./utils"; function createRateBar(likes, dislikes) { - let ratebar = document.getElementById("ryd-bar-container"); - if (ratebar) { - ratebar.parentNode.removeChild(ratebar); - } if (!isLikesDisabled()) { + let rateBar = document.getElementById("ryd-bar-container"); + const widthPx = getLikeButton().clientWidth + getDislikeButton().clientWidth + @@ -50,7 +48,7 @@ function createRateBar(likes, dislikes) { } if (!isShorts()) { - if (!isMobile()) { + if (!rateBar && !isMobile()) { let colorLikeStyle = ""; let colorDislikeStyle = ""; if (extConfig.coloredBar) { @@ -112,6 +110,12 @@ function createRateBar(likes, dislikes) { } } } + } else { + cLog("removing bar"); + let ratebar = document.getElementById("ryd-bar-container"); + if (ratebar) { + ratebar.parentNode.removeChild(ratebar); + } } } From b5382bab781d0846702b81be6ba00e95b0a1ca24 Mon Sep 17 00:00:00 2001 From: hyperstown Date: Wed, 23 Nov 2022 11:52:00 +0100 Subject: [PATCH 070/136] improve rateBar selector --- Extensions/combined/src/bar.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index fea42a96..3c86c952 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -7,11 +7,17 @@ import { isRoundedDesign, isShorts, } from "./state"; -import { cLog, getColorFromTheme } from "./utils"; +import { cLog, getColorFromTheme, isInViewport } from "./utils"; function createRateBar(likes, dislikes) { + let rateBar = document.getElementById("ryd-bar-container"); if (!isLikesDisabled()) { - let rateBar = document.getElementById("ryd-bar-container"); + // sometimes rate bar is hidden + if(rateBar && !isInViewport(rateBar)){ + cLog('create rateBar remove old') + rateBar.remove(); + rateBar = null; + } const widthPx = getLikeButton().clientWidth + @@ -55,11 +61,10 @@ function createRateBar(likes, dislikes) { colorLikeStyle = "; background-color: " + getColorFromTheme(true); colorDislikeStyle = "; background-color: " + getColorFromTheme(false); } - + let actions = isNewDesign() && getButtons().id === "top-level-buttons-computed" + ? getButtons() : document.getElementById("menu-container"); ( - document.getElementById( - isNewDesign() ? "top-level-buttons-computed" : "menu-container" - ) || document.querySelector("ytm-slim-video-action-bar-renderer") + actions || document.querySelector("ytm-slim-video-action-bar-renderer") ).insertAdjacentHTML( "beforeend", ` @@ -112,9 +117,8 @@ function createRateBar(likes, dislikes) { } } else { cLog("removing bar"); - let ratebar = document.getElementById("ryd-bar-container"); - if (ratebar) { - ratebar.parentNode.removeChild(ratebar); + if (rateBar) { + rateBar.parentNode.removeChild(rateBar); } } } From 229be807a18234e9c38a0e480d5a9e88e8b48c58 Mon Sep 17 00:00:00 2001 From: hyperstown Date: Wed, 23 Nov 2022 11:59:19 +0100 Subject: [PATCH 071/136] remove cLog --- Extensions/combined/src/bar.js | 1 - 1 file changed, 1 deletion(-) diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index 3c86c952..39030b5e 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -14,7 +14,6 @@ function createRateBar(likes, dislikes) { if (!isLikesDisabled()) { // sometimes rate bar is hidden if(rateBar && !isInViewport(rateBar)){ - cLog('create rateBar remove old') rateBar.remove(); rateBar = null; } From 684a882cd690cf3a1f5252ae91aab7a4f629a9cc Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Sat, 26 Nov 2022 02:25:01 +0100 Subject: [PATCH 072/136] Remove double quotes --- Extensions/combined/popup.html | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Extensions/combined/popup.html b/Extensions/combined/popup.html index 719d082b..affc46e1 100644 --- a/Extensions/combined/popup.html +++ b/Extensions/combined/popup.html @@ -140,17 +140,17 @@


- + Date: Tue, 14 Feb 2023 08:51:12 -0500 Subject: [PATCH 074/136] Update READMEs --- Docs/readme.md | 4 ++-- Docs/readmetr.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Docs/readme.md b/Docs/readme.md index 4eac3b4a..fa34c7f1 100644 --- a/Docs/readme.md +++ b/Docs/readme.md @@ -22,8 +22,8 @@ Read this in other languages: [Français](readmefr.md), [Türkçe](READMEtr.md) ## FAQs -- [General](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/FAQ.md) -- [Security](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/SECURITY-FAQ.md) +- [General](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQ.md) +- [Security](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/SECURITY-FAQ.md) + +Am 10. November 2021, [kündigte Google an](https://blog.youtube/news-and-events/update-to-youtube/) das der YouTube Dislike-Zähler von der Platform entfernt werden sollte. + +Zusätzlich, wurde das `dislike` Feld in der YouTube API am 13. Dezember 2021 [entfernt](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts), und damit auch jegliche Möglichkeit die Qualität der Inhalte zu bewerten bevor man das Video sah. + +## Was die Erweiterung macht + +Mit der entfernung der Statistiken der YouTube API, wechselte unser Backend zu einer Kombination von archivierten Dislike Statistiken sowie den extrapolierten Schätzungen durch die Nutzerdaten dieser Erweiterung anfallen, um die Dislike-Zahlen zu berechnen. + +[FAQ](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQ.md) + +## Warum dies wichtig ist + +Mehr erfahren Sie auf unserer Website unter: [returnyoutubedislike.com](https://www.returnyoutubedislike.com/) + +## API Dokumentierung + +Dritte dürfen diese öffentliche API mit folgenden Restriktionen benützen: + +- **Namensnennung**: Dieses Projekt sollte klar und mit folgendem Link [returnyoutubedislike.com](https://returnyoutubedislike.com/) versehen zugeordnet werden. +- **Raten Limitierung**: Es bestehen pro Nutzer limitierungen von 100 pro Minute sowie 10'000 pro Tag. Dies wird eine Statusmeldung von _429_ ausgeben, die darauf hinweist, dass sich Ihre Anwendung zurückziehen sollte. + +Die API ist unter der folgenden basis URL verfügbar: +https://returnyoutubedislikeapi.com + +Eine Liste aller verfügbaren Endpunkten finden Sie hier: +https://returnyoutubedislikeapi.com/swagger/index.html + +### Votum erhalten + +Beispiel um die Abstimmungen einer gegebenen YouTube ID zu erhalten: +`/votes?videoId=kxOuG8jMIgI` + +```json +{ + "id": "kxOuG8jMIgI", + "dateCreated": "2021-12-20T12:25:54.418014Z", + "likes": 27326, + "dislikes": 498153, + "rating": 1.212014408444885, + "viewCount": 3149885, + "deleted": false +} +``` + +Nicht existierende YouTube IDs werden den Statuscode _404_ "Not Found" zurückgeben. +Falsch geformte YouTube IDs werden den Statuscode _400_ "Bad Request" zurückgeben. + + + +## Beitragen + +Bitte lesen Sie das [Beitrags-Handbuch](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTING.md). + +## Unterstütze dieses Projekt! + +Sie können das Projekt unterstützen indem Sie unter den folgenden Link spenden: + +[Spenden](https://returnyoutubedislike.com/donate) + +## Sponsoren + +[Piepacker](https://piepacker.com) + +[Seed4.Me VPN](https://www.seed4.me/users/register?gift=ReturnYoutubeDislike) + +[PocketTube](https://yousub.info/?utm_source=returnyoutubedislike) + +[Werde unser Sponsor](https://www.patreon.com/join/returnyoutubedislike/checkout?rid=8008601) diff --git a/READMEes.md b/READMEes.md index 055ab061..b67ac421 100644 --- a/READMEes.md +++ b/READMEes.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) +Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) # Return YouTube Dislike diff --git a/READMEfr.md b/READMEfr.md index 14729bf3..99f421ab 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](LICENSE) -Lisez ceci dans d'autres langues : [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) +Lisez ceci dans d'autres langues : [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) # Return YouTube Dislike diff --git a/READMEja.md b/READMEja.md index a4549605..46550fcc 100644 --- a/READMEja.md +++ b/READMEja.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -別の言語: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) +別の言語: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) # Return YouTube Dislike diff --git a/READMEru.md b/READMEru.md index 8eb78d5d..e84b253f 100644 --- a/READMEru.md +++ b/READMEru.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) +Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) # Return YouTube Dislike diff --git a/READMEtr.md b/READMEtr.md index 1db1be8e..f21fb11d 100644 --- a/READMEtr.md +++ b/READMEtr.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![Lisans](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Bunu diğer dillerde okuyun: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [русский](READMEru.md), [日本語](READMEja.md), [українська](READMEuk.md) +Bunu diğer dillerde okuyun: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [русский](READMEru.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md) # YouTube Dislike Sayısını Geri Getir diff --git a/READMEuk.md b/READMEuk.md index 30c5e3cf..e82a1921 100644 --- a/READMEuk.md +++ b/READMEuk.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) +Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md) # Return YouTube Dislike From 6d441a293286c7708e692bb4a76730387a93c578 Mon Sep 17 00:00:00 2001 From: Mohit Arora Date: Sat, 18 Feb 2023 22:08:01 +0530 Subject: [PATCH 083/136] Dislike text disabled on click fix. (#828) The dislike number text got disabled whenever we clicked on the dislike button, it was because the addEventListener wasn't being attached to the correct like and dislike buttons (new). Tested in chrome windows 11, version: 107.0.5304.107 --- Extensions/UserScript/Return Youtube Dislike.user.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index 5a4d2019..8dc38d78 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -635,10 +635,10 @@ function setEventListeners(evt) { if (!window.returnDislikeButtonlistenersSet) { cLog("Registering button listeners..."); try { - buttons.children[0].addEventListener("click", likeClicked); - buttons.children[1].addEventListener("click", dislikeClicked); - buttons.children[0].addEventListener("touchstart", likeClicked); - buttons.children[1].addEventListener("touchstart", dislikeClicked); + buttons.children[0].children[0].addEventListener("click", likeClicked); + buttons.children[0].children[1].addEventListener("click", dislikeClicked); + buttons.children[0].children[0].addEventListener("touchstart", likeClicked); + buttons.children[0].children[1].addEventListener("touchstart", dislikeClicked); } catch { return; } //Don't spam errors into the console From cf10eeaad3b56b881c9f773787f877a3ac9cee21 Mon Sep 17 00:00:00 2001 From: Moondarker Date: Sat, 18 Feb 2023 19:40:54 +0300 Subject: [PATCH 084/136] Create dislike text container based on existing style classes (#793) --- Extensions/combined/src/buttons.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index b78670c4..6f27e8ef 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -54,17 +54,23 @@ function getDislikeButton() { : getButtons().children[1]; } +function createDislikeTextContainer() { + const textNodeClone = getLikeButton().querySelector("button > div[class*='cbox']").cloneNode(true); + const insertPreChild = getDislikeButton().querySelector("yt-touch-feedback-shape"); + getDislikeButton().querySelector("button").insertBefore(textNodeClone, insertPreChild); + getDislikeButton().querySelector("button").classList.remove("yt-spec-button-shape-next--icon-button"); + getDislikeButton().querySelector("button").classList.add("yt-spec-button-shape-next--icon-leading"); + textNodeClone.querySelector("span[role='text']").innerText = ""; + return textNodeClone.querySelector("span[role='text']"); +} + function getDislikeTextContainer() { let result = getDislikeButton().querySelector("#text") ?? getDislikeButton().getElementsByTagName("yt-formatted-string")[0] ?? getDislikeButton().querySelector("span[role='text']"); if (result == null) { - let textSpan = document.createElement("span"); - textSpan.id = "text"; - getDislikeButton().querySelector("button").appendChild(textSpan); - getDislikeButton().querySelector("button").style.width = "auto"; - result = getDislikeButton().querySelector("#text"); + result = createDislikeTextContainer(); } return result; } From 557947d32d3d224dec1759be108efb4f50f98c5c Mon Sep 17 00:00:00 2001 From: Karole Godin <93370334+karolegodin@users.noreply.github.com> Date: Sat, 18 Feb 2023 18:02:30 +0100 Subject: [PATCH 085/136] new translation for READMEfr.ld and extension-description-store-french.txt (#844) * new translation for READMEfr.ld and extension-description-store-french.txt * French translation on website * Dislike margin --------- Co-authored-by: Dmitrii Selivanov --- READMEfr.md | 4 ++-- Website/_locales/fr.ts | 6 +++--- extension-description-store-french.txt | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/READMEfr.md b/READMEfr.md index 99f421ab..e6f952ee 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -64,8 +64,8 @@ Exemple pour obtenir les likes d'une vidéo YouTube avec un ID donné: } ``` -Si aucunne vidéo YouTube à cet ID, il sera retourner le code d'erreur _404_ "Not Found". -Un ID YouTube invilide renverra _400_ "Bad Request". +Si aucune vidéo YouTube n'a cet ID, le code d'erreur _404_ "Not Found" sera retourné. +Un ID YouTube invalide renverra le code d'erreur _400_ "Bad Request". + +
+ +## Gidsen + +- [Downloaden, installeren en gebruiken](https://github.com/Anarios/return-youtube-dislike/wiki/Downloading,-Installing-&-Using) +- [Probleemoplossen](https://github.com/Anarios/return-youtube-dislike/wiki/Troubleshooting-Guide) + + + +
+ +## FAQs + +- [Algemeen](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/FAQ.md) +- [Beveiliging](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/SECURITY-FAQ.md) + + diff --git a/Docs/readmetr.md b/Docs/readmetr.md index a27a2ca6..49145023 100644 --- a/Docs/readmetr.md +++ b/Docs/readmetr.md @@ -1,4 +1,4 @@ -Read this in other languages: [English](readme.md), [Français](readmefr.md) +Read this in other languages: [English](readme.md), [Nederlands](readmenl.md), [Français](readmefr.md) **İçerikler** diff --git a/Extensions/combined/_locales/nl/messages.json b/Extensions/combined/_locales/nl/messages.json new file mode 100644 index 00000000..b6b0a3f3 --- /dev/null +++ b/Extensions/combined/_locales/nl/messages.json @@ -0,0 +1,135 @@ +{ + "extensionName": { + "message": "Return YouTube Dislike" + }, + "extensionNameBeta": { + "message": "Return YouTube Dislike Beta" + }, + "extensionDesc": { + "message": "Retourneert het vermogen om dislikes te zien" + }, + "textDeveloper": { + "message": "door Dmitry Selivanov & Gemeenschap" + }, + "linkWebsite": { + "message": "Website" + }, + "linkFAQ": { + "message": "FAQ" + }, + "linkDonate": { + "message": "Doneer" + }, + "linkHelp": { + "message": "Help" + }, + "linkChangelog": { + "message": "Wijzig-log" + }, + "legendSettings": { + "message": "Instellingen" + }, + "textSettings": { + "message": "Inzending voor leuk/niet leuk uitschakelen" + }, + "textLikesDisabled": { + "message": "Uitgeschakeld door eigenaar" + }, + "textSettingsHover": { + "message": "Stopt met het tellen van je leuks en niet leuks" + }, + "textRoundingNumbers": { + "message": "Statistieken voor leuk/niet leuk naar beneden afronden (standaard YouTube-gedrag)" + }, + "textRoundingNumbersHover": { + "message": "Afgeronde statistieken weergeven." + }, + "textConsistentFormat": { + "message": "Maak het formaat voor likes en dislikes consistent" + }, + "textConsistentFormatHover": { + "message": "Herformatteer als getallen." + }, + "textNumberFormat": { + "message": "Nummer formaat:" + }, + "textColorizeRatioBar": { + "message": "Verhoudingsbalk inkleuren" + }, + "textColorizeRatioBarHover": { + "message": "Gebruik aangepaste kleuren voor de verhoudingsbalk." + }, + "textColorizeThumbs": { + "message": "Duimen inkleuren" + }, + "textColorizeThumbsHover": { + "message": "Gebruik aangepaste kleuren voor duimpictogrammen." + }, + "textColorTheme": { + "message": "Kleuren thema:" + }, + "textColorTheme1": { + "message": "Klassiek" + }, + "textColorTheme2": { + "message": "Beschikbaar" + }, + "textColorTheme3": { + "message": "Neon" + }, + "textTempUnavailable": { + "message": "Tijdelijk niet beschikbaar" + }, + "textUpdate": { + "message": "Update naar" + }, + "version30installed": { + "message": "Versie 3.0.0.1 geïnstalleerd" + }, + "whatsnew": { + "message": "Wat is er nieuw" + }, + "shortsSupport": { + "message": "YouTube Shorts Ondersteuning" + }, + "customColors": { + "message": "Aangepaste kleuren voor afkeerbalk en knoppen" + }, + "customNumberFormats": { + "message": "Aangepaste getalnotaties" + }, + "considerDonating": { + "message": "Het enige dat de extensie draaiende houdt, zijn uw donaties, overweeg alstublieft om het project te steunen." + }, + "roundNumbers": { + "message": "Afgeronde getallen weergeven" + }, + "roundNumbersHover": { + "message": "Rond getallen naar beneden af (standaard YouTube-gedrag)." + }, + "reformatLikes": { + "message": "Opnieuw formatteren zoals getallen" + }, + "reformatLikesHover": { + "message": "Maak het formaat voor leuk en niet leuk consistent." + }, + "numberFormat": { + "message": "Nummer formaat:" + }, + "colorizeRatio": { + "message": "Verhoudingsbalk inkleuren" + }, + "colorizeRatioHover": { + "message": "Gebruik aangepaste kleuren voor de verhoudingsbalk." + }, + "colorizeThumbs": { + "message": "Duimen inkleuren" + }, + "colorizeThumbsHover": { + "message": "Gebruik aangepaste kleuren voor de duimpictogrammen." + }, + "colorTheme": { + "message": "Kleuren thema:" + } + } + \ No newline at end of file diff --git a/README.md b/README.md index 9503d325..fe0f8f44 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) + # Return YouTube Dislike diff --git a/READMEes.md b/READMEes.md index b67ac421..dcd86552 100644 --- a/READMEes.md +++ b/READMEes.md @@ -7,7 +7,8 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) + # Return YouTube Dislike diff --git a/READMEfr.md b/READMEfr.md index e6f952ee..d104f83e 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -7,7 +7,8 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](LICENSE) -Lisez ceci dans d'autres langues : [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) + # Return YouTube Dislike diff --git a/READMEja.md b/READMEja.md index 46550fcc..f2722215 100644 --- a/READMEja.md +++ b/READMEja.md @@ -7,7 +7,8 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -別の言語: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) + # Return YouTube Dislike diff --git a/READMEnl.md b/READMEnl.md new file mode 100644 index 00000000..67cedc8c --- /dev/null +++ b/READMEnl.md @@ -0,0 +1,94 @@ +[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Rating&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Chrome Web Store Users](https://img.shields.io/chrome-web-store/users/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Users&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Mozilla rating](https://img.shields.io/amo/stars/return-youtube-dislikes?label=Firefox%20Rating&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Mozilla downloads](https://img.shields.io/amo/users/return-youtube-dislikes?label=Firefox%20Users&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Commit rate](https://img.shields.io/github/commit-activity/m/Anarios/return-youtube-dislike?label=Commits&style=flat)](https://github.com/Anarios/return-youtube-dislike/commits/main) +[![Issues](https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&label=Issues)](https://github.com/Anarios/return-youtube-dislike/issues) +[![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) +[![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) + +Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) + +# Return YouTube Dislike + +

+ Return YouTube Dislike is een open-source extensie die het aantal dislikes van YouTube retourneert.
+ Beschikbaar voor Chrome en Firefox als webextensie.
+ Ook beschikbaar voor andere browsers als JS Userscript.

+ +

+ +## Het Verhaal + +Op 10 november 2021 [kondigde](https://blog.youtube/news-and-events/update-to-youtube/) that the YouTube dislike count would be removed. + +Additionally, the `dislike` field in the YouTube API was [removed](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) Google aan dat het aantal dislikes op YouTube zou worden verwijderd. + +## Wat het doet + +Met de verwijdering van afkeerstatistieken uit de YouTube API, schakelde onze backend over op het gebruik van een combinatie van geschraapte afkeerstatistieken, schattingen geëxtrapoleerd uit gebruikersgegevens van extensies. + +[FAQ](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQ.md) + +## Waarom het uitmaakt + +U kunt meer informatie vinden op onze website op: [returnyoutubedislike.com](https://www.returnyoutubedislike.com/) + +## API-documentatie + +Gebruik door derden van deze open API is toegestaan ​​met de volgende beperkingen: + +- **Naamsvermelding**: dit project moet duidelijk worden toegeschreven met een link naar [returnyoutubedislike.com](https://returnyoutubedislike.com/). +- **Snelheidsbeperking**: Er zijn tarieflimieten per klant in plaats van 100 per minuut en 10.000 per dag. Hiermee wordt een statuscode _429_ geretourneerd die aangeeft dat uw toepassing moet worden uitgeschakeld. + +De API is toegankelijk via de volgende basis-URL: +https://returnyoutubedislikeapi.com + +Lijst met beschikbare eindpunten is hier beschikbaar: +https://returnyoutubedislikeapi.com/swagger/index.html + +### Stemmen krijgen + +Voorbeeld om stemmen te krijgen voor een bepaalde YouTube-video-ID: +`/votes?videoId=kxOuG8jMIgI` + +```json +{ + "id": "kxOuG8jMIgI", + "dateCreated": "2021-12-20T12:25:54.418014Z", + "likes": 27326, + "dislikes": 498153, + "rating": 1.212014408444885, + "viewCount": 3149885, + "deleted": false +} +``` + +Geen bestaande YouTube-ID retourneert statuscode _404_ "Niet gevonden". +Verkeerd gevormde YouTube-ID retourneert _400_ "Slecht verzoek". + + + +## Bijdragen + +Lees de [bijdragengids](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTING.md). + +## Steun dit project! + +U kunt dit project steunen door aan ons te doneren via onderstaande link: + +[Doneer](https://returnyoutubedislike.com/donate) + +## Sponsoren + +[Piepacker](https://piepacker.com) + +[Seed4.Me VPN](https://www.seed4.me/users/register?gift=ReturnYoutubeDislike) + +[PocketTube](https://yousub.info/?utm_source=returnyoutubedislike) + +[Wordt een sponsor](https://www.patreon.com/join/returnyoutubedislike/checkout?rid=8008601) diff --git a/READMEru.md b/READMEru.md index e84b253f..8e4cf73d 100644 --- a/READMEru.md +++ b/READMEru.md @@ -7,7 +7,8 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) + # Return YouTube Dislike diff --git a/READMEtr.md b/READMEtr.md index f21fb11d..dcc4632a 100644 --- a/READMEtr.md +++ b/READMEtr.md @@ -7,7 +7,8 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![Lisans](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Bunu diğer dillerde okuyun: [English](README.md), [Español](READMEes.md), [Français](READMEfr.md), [русский](READMEru.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md) + # YouTube Dislike Sayısını Geri Getir diff --git a/Website/README.md b/Website/README.md index ee432826..abd5c2b5 100644 --- a/Website/README.md +++ b/Website/README.md @@ -1,4 +1,4 @@ -Read this in other languages: [Türkçe](READMEtr.md) +Read this in other languages: [Nederlands](READMEnl.md), [Türkçe](READMEtr.md) # return-youtube-dislike-site diff --git a/Website/READMEnl.md b/Website/READMEnl.md new file mode 100644 index 00000000..ceaeb0f3 --- /dev/null +++ b/Website/READMEnl.md @@ -0,0 +1,89 @@ +Read this in other languages: [English](README.md), [Türkçe](READMEtr.md) + +# return-youtube-dislike-site + +## Opstelling bouwen + +```bash +# install dependencies +$ npm install + +# serve with hot reload at localhost:3000 +$ npm run dev + +# lint your changes +$ npm run lint + +# build for production and launch server +$ npm run build +$ npm run start + +# generate static project +$ npm run generate +``` + +Voor gedetailleerde uitleg over hoe dingen werken, bekijk de [documentatie](https://nuxtjs.org). + +## Aanbevolen VSCode-instellingen + +- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) `ext install dbaeumer.vscode-eslint` +- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) `ext install esbenp.prettier-vscode` +- [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur) + +> `Ctrl(Cmd)` + `Shift` + `P` > Instellingen Openen (JSON) + +``` +"editor.formatOnSave": true, +"editor.codeActionsOnSave": { + "source.fixAll.eslint": true +} +"vetur.validation.template": false, +``` + +## Speciale mappen + +U kunt de volgende extra mappen maken, waarvan sommige speciaal gedrag vertonen. Alleen `pagina's` zijn vereist; u kunt ze verwijderen als u hun functionaliteit niet wilt gebruiken. + +### `assets` + +De assets-map bevat uw niet-gecompileerde activa zoals Stylus- of Sass-bestanden, afbeeldingen of lettertypen. + +Meer informatie over het gebruik van deze directory in [de documentatie](https://nuxtjs.org/docs/2.x/directory-structure/assets). + +### `componenten` + +De componentenmap bevat uw Vue.js-componenten. Componenten vormen de verschillende delen van uw pagina en kunnen opnieuw worden gebruikt en geïmporteerd in uw pagina's, lay-outs en zelfs andere componenten. + +Meer informatie over het gebruik van deze directory in [de documentatie](https://nuxtjs.org/docs/2.x/directory-structure/components). + +### `lay-outs` + +Lay-outs zijn een grote hulp wanneer je het uiterlijk van je Nuxt-app wilt veranderen, of je nu een zijbalk wilt opnemen of verschillende lay-outs voor mobiel en desktop wilt hebben. + +Meer informatie over het gebruik van deze directory in [de documentatie](https://nuxtjs.org/docs/2.x/directory-structure/layouts). + +### `pagina's` + +Deze map bevat uw toepassingsweergaven en routes. Nuxt zal alle `*.vue` bestanden in deze map lezen en Vue Router automatisch instellen. + +Meer informatie over het gebruik van deze directory in [de documentatie](https://nuxtjs.org/docs/2.x/get-started/routing). + +### `plugins` + +TDe directory met plug-ins bevat JavaScript-plug-ins die u wilt uitvoeren voordat u de roottoepassing Vue.js start. Dit is de plek om Vue-plug-ins toe te voegen en om functies of constanten te injecteren. Elke keer dat je `Vue.use()` moet gebruiken, moet je een bestand maken in `plugins/` en het pad toevoegen aan plug-ins in `nuxt.config.js`. + +Meer informatie over het gebruik van deze directory in [de documentatie](https://nuxtjs.org/docs/2.x/directory-structure/plugins). + +### `static` + +Tzijn directory bevat uw statische bestanden. Elk bestand in deze map is toegewezen aan `/`. + +Voorbeeld: `/static/robots.txt` wordt toegewezen als `/robots.txt`. + +Meer informatie over het gebruik van deze directory in [de documentatie](https://nuxtjs.org/docs/2.x/directory-structure/static). + +### `store` + +Deze map bevat uw Vuex-winkelbestanden. Door een bestand in deze map aan te maken, wordt Vuex automatisch geactiveerd. + +Meer informatie over het gebruik van deze directory in [de documentatie](https://nuxtjs.org/docs/2.x/directory-structure/store). diff --git a/Website/READMEtr.md b/Website/READMEtr.md index 76c86b4b..22f6b849 100644 --- a/Website/READMEtr.md +++ b/Website/READMEtr.md @@ -1,4 +1,4 @@ -Bunu diğer dillerde okuyun: [English](README.md) +Bunu diğer dillerde okuyun: [English](README.md), [Nederlands](READMEnl.md) # youtube-dislike-sayısını-geri-getir-site diff --git a/Website/_locales/nl.ts b/Website/_locales/nl.ts new file mode 100644 index 00000000..f5786cce --- /dev/null +++ b/Website/_locales/nl.ts @@ -0,0 +1,119 @@ +import { nl } from "vuetify/src/locale"; + +export default { + ...nl, + home: { + name: "Home", + title: "Return YouTube Dislike", + subtitle: "Browser-extensie en een API die je antipathieën op YouTube laat zien", + ukraine: "Support Ukraine", + sponsors: "Sponsors", + }, + install: { + name: "Installeren", + title: "Kies je platform", + subtitle: "Beschikbaar voor Firefox en alle Chromium-browsers", + title2: "Andere Platformen", + subtitle2: "Als uw browser nog niet wordt ondersteund, probeer dan dit UserScript", + title3: "Implementaties van derden", + subtitle3: "Geen aansprakelijkheid aan onze kant, gebruik op eigen risico", + }, + api: { + name: "API", + title: "Welkom bij de officiële RYD-documenten!", + subtitle: "Selecteer een sectie in het menu om aan de slag te gaan.", + rights: { + title: "Gebruiksrechten", + subtitle: + "Gebruik door derden van deze open API is toegestaan met de volgende beperkingen:", + bullet1: "Attributie: ", + bullet1text: + "Dit project moet duidelijk worden toegeschreven met een link naar deze repo of een link om terug te keren naar youtubedislike.com", + bullet2: "Snelheidsbeperking: ", + bullet2text: + "Er zijn per klant tarieflimieten in plaats van 100 per minuut en 10.000 per dag. Dit geeft een 429-statuscode terug die aangeeft dat uw toepassing moet worden uitgeschakeld", + }, + url: { + title: "URL Informatie", + subtitle: "De API is toegankelijk via de volgende basis-URL: ", + }, + endpoints: { + title: "Beschikbare eindpunten", + subtitle: "Lijst met beschikbare eindpunten is hier beschikbaar: ", + }, + fetching: { + title: "Basiscursus ophalen", + subtitle: "Voorbeeld om stemmen te krijgen voor een bepaalde YouTube-video-ID: ", + title2: "Voorbeeld aanvraag: ", + url: "Verzoek-URL: ", + method: "Verzoekmethode:: ", + headers: "Koppen: ", + response: "Antwoord: ", + error1: 'Een ongeldige YouTube-ID retourneert statuscode 404 "Niet gevonden"', + error2: + 'Een onjuist opgemaakte YouTube-ID retourneert 400 "Slecht verzoek"', + }, + }, + help: { + name: "Help", + title: "Probleemoplossen", + bullet1: "Zorg ervoor dat u de nieuwste versie van de extensie hebt geïnstalleerd, ", + bullet11: "direct", + bullet2: + "Probeer de extensie te verwijderen en opnieuw te installeren, en start vervolgens de browser opnieuw (alle actieve vensters, niet slechts één tabblad)", + bullet3: "Zorg ervoor dat deze link opent: ", + bullet31: "je zou platte tekst moeten zien: ", + bullet4: "Als niets van het bovenstaande helpt - meld uw probleem dan in", + bullet41: "in onze", + bullet4a: "Vertel ons uw besturingssysteem, browsernaam en browserversie", + bullet4b: + "Maak een screenshot van de pagina met het probleem (d.w.z. de YouTube-videopagina) met de console open (druk op ", + bullet4b1: ") - voorbeeld screenshot hieronder.", + bullet4c: + "Maak een screenshot van de extensiepagina van uw browser waarop de extensie is geïnstalleerd.", + bullet4c1: "Om extensies te zien, plaats dit in de adresbalk: ", + firefox: "voor Firefox", + chrome: "voor Chrome, Edge, Brave, Opera, Vivaldi", + }, + faq: { + name: "FAQ", + title: "Veel Gestelde Vragen", + subtitle: "Heeft u nog vragen? Voel je vrij om lid te worden van onze Discord!", + bullet1: "Waar haalt de extensie zijn gegevens vandaan?", + bullet1text: + "Een combinatie van gearchiveerde gegevens van voordat de officiële YouTube-dislike-API werd afgesloten, en geëxtrapoleerd gebruikersgedrag van extensies.", + bullet2: "Waarom wordt het aantal dislikes niet bijgewerkt?", + bullet2text: + "Op dit moment worden video's die niet leuk zijn in de cache opgeslagen en worden ze niet vaak bijgewerkt. Het varieert afhankelijk van de populariteit van een video, maar het kan een paar uur tot een paar dagen duren om te updaten.", + bullet3: "Hoe werkt dit?", + bullet3text: + "De extensie verzamelt de video-ID van de video die je aan het bekijken bent en haalt de afkeer (en andere velden zoals weergaven, vind-ik-leuks enz.) op met behulp van onze API. De extensie geeft vervolgens het aantal dislikes en de verhouding weer op de pagina. Als je een video leuk of niet leuk vindt, wordt deze opgenomen en naar de database gestuurd, zodat een nauwkeurige telling van de dislikes kan worden geëxtrapoleerd.", + bullet4: "Kan ik mijn niet leuk-teller met je delen?", + bullet4text: + "Binnenkort beschikbaar. We onderzoeken het gebruik van Oauth of een andere alleen-lezen API met een beperkte reikwijdte, zodat makers hun afkeer-aantallen verifieerbaarheid kunnen delen.", + bullet5: "Welke gegevens verzamelt u en hoe worden deze verwerkt?", + bullet5text: + 'De extensie verzamelt alleen gegevens die strikt noodzakelijk zijn om goed te kunnen functioneren, zoals het IP-adres of de ID van de video die u bekijkt. Geen van uw gegevens zal ooit worden verkocht aan derden. Als u meer wilt weten over hoe wij omgaan met beveiliging en privacy, bekijk dan onze beveilings FAQ.', + bullet6: "Hoe werkt de API/Backend?", + bullet6text: + "De backend gebruikt gearchiveerde gegevens van toen de youtube-api nog steeds het aantal dislikes retourneerde, extensiegebruikers zoals het aantal likes/dislikes en extrapolatie. In de nabije toekomst zullen we het voor makers van inhoud mogelijk maken om eenvoudig en veilig hun afkeuren-aantal in te dienen en we zullen de gearchiveerde gegevens van ArchiveTeam (4,56 miljard video's) toevoegen aan onze huidige database. U kunt ook een video over het onderwerp bekijken.", + bullet7: "Waarom wordt bij het aantal dislikes 'DISLIKES DISABLED' weergegeven?", + bullet7text: + "Soms kan een recent geüploade video 'DISLIKES UITGESCHAKELD' weergeven, zelfs als de maker dit niet heeft uitgeschakeld. Dit komt door de manier waarop we detecteren of dislikes zijn uitgeschakeld, het zou binnen een paar uur moeten verdwijnen of door de video leuk of niet leuk te vinden en de pagina vernieuwen (hopelijk).", + }, + donate: { + name: "Doneer", + subtitle: + "Met een donatie kunt u onze inspanningen om het internet gratis te houden steunen!", + }, + links: { + name: "Linken", + title: "Project Linken", + subtitle: "Linken naar het project en zijn ontwikkelaars", + contact: "Neem contact op met me", + translators: "Vertalers", + coolProjects: "Coole Projecten", + sponsorBlockDescription: "In video geïntegreerde advertenties overslaan", + filmotDescription: "Zoek YouTube-video's op ondertiteling", + }, +}; diff --git a/Website/store/README.md b/Website/store/README.md index 02733b86..2cc89d1e 100644 --- a/Website/store/README.md +++ b/Website/store/README.md @@ -1,4 +1,4 @@ -Read this in other languages: [Türkçe](READMEtr.md) +Read this in other languages: [Nederlands](READMEnl.md), [Türkçe](READMEtr.md) # STORE diff --git a/Website/store/READMEnl.md b/Website/store/READMEnl.md new file mode 100644 index 00000000..3006a01f --- /dev/null +++ b/Website/store/READMEnl.md @@ -0,0 +1,12 @@ +Read this in other languages: [English](READMEen.md), [Türkçe](READMEtr.md) + +# OPSLAAN + +**Deze map is niet vereist, u kunt deze verwijderen als u deze niet wilt gebruiken.** + +Deze map bevat uw Vuex Store-bestanden. +De Vuex Store-optie is geïmplementeerd in het Nuxt.js-framework. + +Het aanmaken van een bestand in deze map activeert automatisch de optie in het framework. + +Meer informatie over het gebruik van deze directory in [de documentatie](https://nuxtjs.org/guide/vuex-store). From 8802b9c76f97b4d3d537ec3628b6c298ff169c70 Mon Sep 17 00:00:00 2001 From: Baraa Halabi <94146567+BaraaHalabiTr@users.noreply.github.com> Date: Sat, 18 Feb 2023 20:45:38 +0300 Subject: [PATCH 087/136] added margin for the dislike text (#808) Co-authored-by: Dmitrii Selivanov --- Extensions/combined/src/buttons.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 6f27e8ef..8eeb5747 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -56,6 +56,7 @@ function getDislikeButton() { function createDislikeTextContainer() { const textNodeClone = getLikeButton().querySelector("button > div[class*='cbox']").cloneNode(true); + textNodeClone.setAttribute("style", "margin-left: 1rem;"); const insertPreChild = getDislikeButton().querySelector("yt-touch-feedback-shape"); getDislikeButton().querySelector("button").insertBefore(textNodeClone, insertPreChild); getDislikeButton().querySelector("button").classList.remove("yt-spec-button-shape-next--icon-button"); From 931006a00bb38454c77fa24e4ecdf541760d84ef Mon Sep 17 00:00:00 2001 From: Anarios Date: Sat, 18 Feb 2023 18:49:20 +0100 Subject: [PATCH 088/136] Revert "added margin for the dislike text (#808)" This reverts commit 8802b9c76f97b4d3d537ec3628b6c298ff169c70. --- Extensions/combined/src/buttons.js | 1 - 1 file changed, 1 deletion(-) diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 8eeb5747..6f27e8ef 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -56,7 +56,6 @@ function getDislikeButton() { function createDislikeTextContainer() { const textNodeClone = getLikeButton().querySelector("button > div[class*='cbox']").cloneNode(true); - textNodeClone.setAttribute("style", "margin-left: 1rem;"); const insertPreChild = getDislikeButton().querySelector("yt-touch-feedback-shape"); getDislikeButton().querySelector("button").insertBefore(textNodeClone, insertPreChild); getDislikeButton().querySelector("button").classList.remove("yt-spec-button-shape-next--icon-button"); From 9a44acf89dfaafea2698f3d7d6b45b327a71905f Mon Sep 17 00:00:00 2001 From: sy-b <94835959+sy-b@users.noreply.github.com> Date: Fri, 10 Mar 2023 18:38:11 +0000 Subject: [PATCH 089/136] Show dislikes again on new YT UI (01) (2) (#886) Signed-off-by: sy-b <94835959+sy-b@users.noreply.github.com> --- Extensions/combined/src/state.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 7a4ae32a..56ba99db 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -151,6 +151,18 @@ function setDislikes(dislikesCount) { return; } getDislikeTextContainer().innerText = dislikesCount; + + try { + let likeButton = document.querySelector("#segmented-like-button > ytd-toggle-button-renderer > yt-button-shape > button > div.cbox.yt-spec-button-shape-next--button-text-content > span") + let dislikeButton = document.querySelector("#segmented-dislike-button > ytd-toggle-button-renderer > yt-button-shape > button") + dislikeButton.appendChild(likeButton.cloneNode(true)) + document.querySelector('#segmented-dislike-button > ytd-toggle-button-renderer > yt-button-shape > button').classList.remove('yt-spec-button-shape-next--icon-button') + dislikeButton.lastChild.textContent = dislikesCount + } + finally { + cLg("If you still don't see the dislike, please reach out to us on Github or Discord") + } + } else { cLog("likes count disabled by creator"); if (isMobile()) { From a6c945a4eb7a8e4bfd9bbbe3d952c081aec6f31c Mon Sep 17 00:00:00 2001 From: Roman Ushakov Date: Fri, 10 Mar 2023 21:40:57 +0300 Subject: [PATCH 090/136] fix get count dislikes on mobile version of youtube (#888) * fix (ryd.content.script.js, events.js) fix get count likes on mobile version of yt (tested on android device) * fix fallback solution for get dislikes --- Extensions/combined/ryd.content-script.js | 21 +++++++++++++++------ Extensions/combined/src/events.js | 6 ++++-- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Extensions/combined/ryd.content-script.js b/Extensions/combined/ryd.content-script.js index a07dd994..acd06e31 100644 --- a/Extensions/combined/ryd.content-script.js +++ b/Extensions/combined/ryd.content-script.js @@ -44,18 +44,27 @@ import { initExtConfig(); let jsInitChecktimer = null; +let isSetInitialStateDone = false; function setEventListeners(evt) { function checkForJS_Finish() { - if (isShorts() || (getButtons()?.offsetParent && isVideoLoaded())) { - addLikeDislikeEventListener(); - setInitialState(); - getBrowser().storage.onChanged.addListener(storageChangeHandler); - clearInterval(jsInitChecktimer); - jsInitChecktimer = null; + try { + if (isShorts() || (getButtons()?.offsetParent && isVideoLoaded())) { + addLikeDislikeEventListener(); + setInitialState(); + isSetInitialStateDone = true; + getBrowser().storage.onChanged.addListener(storageChangeHandler); + clearInterval(jsInitChecktimer); + jsInitChecktimer = null; + } + } catch(exception) { + if(!isSetInitialStateDone) { + setInitialState(); + } } } + jsInitChecktimer = setInterval(checkForJS_Finish, 111); } diff --git a/Extensions/combined/src/events.js b/Extensions/combined/src/events.js index a7638dc5..d16b22cc 100644 --- a/Extensions/combined/src/events.js +++ b/Extensions/combined/src/events.js @@ -85,9 +85,11 @@ function dislikeClicked() { function addLikeDislikeEventListener() { if (!window.returnDislikeButtonlistenersSet) { getLikeButton().addEventListener("click", likeClicked); - getDislikeButton().addEventListener("click", dislikeClicked); getLikeButton().addEventListener("touchstart", likeClicked); - getLikeButton().addEventListener("touchstart", dislikeClicked); + if(getDislikeButton()) { + getDislikeButton().addEventListener("click", dislikeClicked); + getDislikeButton().addEventListener("touchstart", dislikeClicked); + } window.returnDislikeButtonlistenersSet = true; } } From 0c39488852371c721d4b73de4234bc55beead0f7 Mon Sep 17 00:00:00 2001 From: Anarios Date: Sat, 11 Mar 2023 21:56:07 +0100 Subject: [PATCH 091/136] Styling, version bump, options popup --- Extensions/combined/content-style.css | 1 - Extensions/combined/manifest-chrome.json | 8 ++++++-- Extensions/combined/manifest-firefox.json | 20 ++++++++++++-------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Extensions/combined/content-style.css b/Extensions/combined/content-style.css index 4e53f87f..8444b583 100644 --- a/Extensions/combined/content-style.css +++ b/Extensions/combined/content-style.css @@ -42,7 +42,6 @@ .ryd-tooltip-new-design { position: absolute; bottom: -10px; - left: -4px; } .ryd-tooltip-bar-container { diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index dddd2f6b..36f3026d 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.6", + "version": "3.0.0.8", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" @@ -36,5 +36,9 @@ "resources": ["ryd.script.js"], "matches": ["*://*.youtube.com/*"] } - ] + ], + "options_ui": { + "page": "popup.html", + "open_in_tab": false + } } diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index 3ce248f8..c331a301 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.7", + "version": "3.0.0.8", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] @@ -28,12 +28,16 @@ "css": ["content-style.css"], "js": ["ryd.content-script.js"] } - ] + ], + "options_ui": { + "page": "popup.html", + "open_in_tab": false + } // uncomment this section for local storage to work in firefox locally -// "browser_specific_settings": { -// "gecko": { -// "id": "addon@example.com", -// "strict_min_version": "42.0" -// } -// } + // "browser_specific_settings": { + // "gecko": { + // "id": "addon@example.com", + // "strict_min_version": "42.0" + // } + // } } From f680bf6d8135958350bb73591db02dd1f50111a9 Mon Sep 17 00:00:00 2001 From: Suhail Khan <26044674+suhailskhan@users.noreply.github.com> Date: Sun, 2 Apr 2023 05:17:18 -0700 Subject: [PATCH 092/136] Add Safari extension build target (#896) --- Extensions/combined/manifest-safari.json | 36 ++++++++++++++++++++++++ package.json | 1 + webpack.config.js | 15 ++++++++++ 3 files changed, 52 insertions(+) create mode 100644 Extensions/combined/manifest-safari.json diff --git a/Extensions/combined/manifest-safari.json b/Extensions/combined/manifest-safari.json new file mode 100644 index 00000000..4a38cb3c --- /dev/null +++ b/Extensions/combined/manifest-safari.json @@ -0,0 +1,36 @@ +{ + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDesc__", + "default_locale": "en", + "version": "3.0.0.8", + "manifest_version": 2, + "background": { + "scripts": ["ryd.background.js"], + "persistent": false + }, + "icons": { + "48": "icons/icon48.png", + "128": "icons/icon128.png" + }, + "permissions": [ + "activeTab", + "*://*.youtube.com/*", + "storage", + "*://returnyoutubedislikeapi.com/*" + ], + "browser_action": { + "default_popup": "popup.html" + }, + "content_scripts": [ + { + "matches": ["*://*.youtube.com/*"], + "exclude_matches": ["*://*.music.youtube.com/*"], + "run_at": "document_idle", + "css": ["content-style.css"], + "js": ["ryd.content-script.js"] + } + ], + "options_ui": { + "page": "popup.html" + } +} diff --git a/package.json b/package.json index baea34d5..f05958de 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "start": "echo To build for development, please use \"npm run dev\". To build for production, please use \"npm run build\".", "dev": "webpack --mode=production --watch", "build": "webpack --mode=production", + "build:safari": "webpack --mode=production && xcrun safari-web-extension-converter Extensions/combined/dist/safari --project-location Extensions/combined/dist --bundle-identifier com.returnyoutubedislike.safari-ext --force", "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { diff --git a/webpack.config.js b/webpack.config.js index ef63fef4..a3336076 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -56,6 +56,17 @@ module.exports = { from: "./Extensions/combined/manifest-firefox.json", to: "./firefox/manifest.json", }, + { + from: "./Extensions/combined", + to: "./safari", + globOptions: { + ignore: ignorePatterns, + }, + }, + { + from: "./Extensions/combined/manifest-safari.json", + to: "./safari/manifest.json", + }, ], }), new FileManagerPlugin({ @@ -70,6 +81,10 @@ module.exports = { source: "./Extensions/combined/dist/**.js", destination: "./Extensions/combined/dist/chrome/", }, + { + source: "./Extensions/combined/dist/**.js", + destination: "./Extensions/combined/dist/safari/", + }, ], }, }, From 2cb137ddf6a790d2a03242191ce53d45369cc472 Mon Sep 17 00:00:00 2001 From: Theofanis Sarmidis <126983335+tsarmis@users.noreply.github.com> Date: Sun, 2 Apr 2023 15:32:13 +0300 Subject: [PATCH 093/136] Updated locale for Greek language to correct 'el'. Create READMEgr.md file (#894) * Create READMEgr.md * Create CONTRIBUTINGgr.md * Create extension-description-store-greek.txt * Rename Extensions/combined/_locales/gr/messages.json to Extensions/combined/_locales/el/messages.json * Update messages.json correct locale for the GREEK language is 'el' * Update READMEgr.md * Update READMEgr.md * Update READMEgr.md * Update README.md * Update READMEde.md * Update READMEes.md * Update READMEfr.md * Update READMEja.md * Update READMEnl.md * Update READMEru.md * Update READMEtr.md * Update READMEuk.md * Update extension-description-store-greek.txt * Update extension-description-store-greek.txt * Delete CONTRIBUTINGgr.md --- Extensions/combined/_locales/el/messages.json | 134 ++++++++++++++++++ Extensions/combined/_locales/gr/messages.json | 86 ----------- README.md | 2 +- READMEde.md | 2 +- READMEes.md | 2 +- READMEfr.md | 2 +- READMEgr.md | 95 +++++++++++++ READMEja.md | 2 +- READMEnl.md | 2 +- READMEru.md | 2 +- READMEtr.md | 2 +- READMEuk.md | 2 +- extension-description-store-greek.txt | 20 +++ 13 files changed, 258 insertions(+), 95 deletions(-) create mode 100644 Extensions/combined/_locales/el/messages.json delete mode 100644 Extensions/combined/_locales/gr/messages.json create mode 100644 READMEgr.md create mode 100644 extension-description-store-greek.txt diff --git a/Extensions/combined/_locales/el/messages.json b/Extensions/combined/_locales/el/messages.json new file mode 100644 index 00000000..fe9e2b44 --- /dev/null +++ b/Extensions/combined/_locales/el/messages.json @@ -0,0 +1,134 @@ +{ + "extensionName": { + "message": "Επιστροφή του YouTube Dislike" + }, + "extensionNameBeta": { + "message": "Return YouTube Dislike Beta" + }, + "extensionDesc": { + "message": "Επιστρέφει τα dislikes" + }, + "textDeveloper": { + "message": "από τον Dmitry Selivanov & την κοινότητα" + }, + "linkWebsite": { + "message": "Ιστοσελίδα" + }, + "linkFAQ": { + "message": "Συχνές ερωτήσεις" + }, + "linkDonate": { + "message": "Στηρίξτε" + }, + "linkHelp": { + "message": "Βοήθεια" + }, + "linkChangelog": { + "message": "Αρχείο αλλαγών" + }, + "legendSettings": { + "message": "Ρυθμίσεις" + }, + "textSettings": { + "message": "Διακοπή υποβολής like/dislike" + }, + "textLikesDisabled": { + "message": "Απενεργοποιήθηκε από τον κάτοχο" + }, + "textSettingsHover": { + "message": "Σταματάει να μετράει τα likes & dislikes που κάνεις." + }, + "textRoundingNumbers": { + "message": "Στρογγυλοποιήστε την τιμή μέτρησης (προεπιλεγμένη επιλογή του YouTube)." + }, + "textRoundingNumbersHover": { + "message": "Εμφάνιση στρογγυλεμένων αριθμών." + }, + "textConsistentFormat": { + "message": "Κάνει σταθερή την μορφοποίηση των likes & dislikes." + }, + "textConsistentFormatHover": { + "message": "Μορφοποίηση του αριθμού των likes." + }, + "textNumberFormat": { + "message": "Μορφή αριθμών:" + }, + "textColorizeRatioBar": { + "message": "Χρωματισμός μπάρας αναλογιών." + }, + "textColorizeRatioBarHover": { + "message": "Προσαρμοζόμενο χρώμα για την μπάρα αναλογιών." + }, + "textColorizeThumbs": { + "message": "Χρωματισμός των thumbs" + }, + "textColorizeThumbsHover": { + "message": "Προσαρμοζόμενο χρώμα για τα thumb icons." + }, + "textColorTheme": { + "message": "Θέματα χρωμάτων:" + }, + "textColorTheme1": { + "message": "Classic" + }, + "textColorTheme2": { + "message": "Accessible" + }, + "textColorTheme3": { + "message": "Neon" + }, + "textTempUnavailable": { + "message": "Προσωρινά μη διαθέσιμο" + }, + "textUpdate": { + "message": "Ενημέρωση σε" + }, + "version30installed": { + "message": "Εκδοση 3.0.0.1 εγκαταστάθηκε" + }, + "whatsnew": { + "message": "Τί νέο υπάρχει" + }, + "shortsSupport": { + "message": "Υποστήριξη για YouTube Shorts" + }, + "customColors": { + "message": "Προσαρμοζόμενα χρώματα για τα κουμπιά και την μπάρα dislike" + }, + "customNumberFormats": { + "message": "Προσαρμοζόμενη μορφή αριθμών" + }, + "considerDonating": { + "message": "Το μόνο πράγμα που διατηρεί την επέκταση σε λειτουργία είναι οι δωρεές σας, σκεφτείτε να υποστηρίξετε το έργο." + }, + "roundNumbers": { + "message": "Εμφάνιση στρογγυλεμένων αριθμών" + }, + "roundNumbersHover": { + "message": "Στρογγυλοποιήστε την τιμή μέτρησης (προεπιλεγμένη επιλογή του YouTube)." + }, + "reformatLikes": { + "message": "Μορφοποίηση του αριθμού των likes" + }, + "reformatLikesHover": { + "message": "Σταθερή μορφοποίηση των likes & dislikes." + }, + "numberFormat": { + "message": "Μορφή αριθμών:" + }, + "colorizeRatio": { + "message": "Χρωματισμός μπάρας σχέσης" + }, + "colorizeRatioHover": { + "message": "Προσαρμοζόμενο χρώμα για την μπάρα αναλογιών." + }, + "colorizeThumbs": { + "message": "Χρωματισμός των thumbs" + }, + "colorizeThumbsHover": { + "message": "Προσαρμοζόμενο χρώμα για τα thumb icons." + }, + "colorTheme": { + "message": "Χρωματικό θέμα:" + } +} diff --git a/Extensions/combined/_locales/gr/messages.json b/Extensions/combined/_locales/gr/messages.json deleted file mode 100644 index 269504cd..00000000 --- a/Extensions/combined/_locales/gr/messages.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "extensionName": { - "message": "Επιστροφή του YouTube Dislike" - }, - "extensionNameBeta": { - "message": "Return YouTube Dislike Beta" - }, - "extensionDesc": { - "message": "Επιστρέφει τα dislikes" - }, - "textDeveloper": { - "message": "από τον Dmitry Selivanov & την κοινότητα" - }, - "linkWebsite": { - "message": "Ιστοσελίδα" - }, - "linkFAQ": { - "message": "Γρήγορες Ερωτήσεις & Απαντήσεις" - }, - "linkDonate": { - "message": "Στηρίξτε" - }, - "linkHelp": { - "message": "Βοήθεια" - }, - "legendSettings": { - "message": "Ρυθμίσεις" - }, - "textSettings": { - "message": "Διακοπή υποβολής like/dislike" - }, - "textSettingsHover": { - "message": "Σταματάει να μετράει τα likes & dislikes που κάνεις." - }, - "textUpdate": { - "message": "ενημέρωση σε" - }, - "version30installed": { - "message": "Εκδοση 3.0.0.1 εγκαταστάθηκε" - }, - "whatsnew": { - "message": "Τι είναι νέο;" - }, - "shortsSupport": { - "message": "Υποστήριξη για YouTube Shorts" - }, - "customColors": { - "message": "Προσαρμοζόμενα χρώματα για τα κουμπιά και την μπάρα dislike" - }, - "customNumberFormats": { - "message": "Προσαρμοζόμενη μορφή αριθμών." - }, - "considerDonating": { - "message": "Το μόνο πράγμα που διατηρεί την επέκταση σε λειτουργία είναι οι δωρεές σας, σκεφτείτε να υποστηρίξετε το έργο." - }, - "roundNumbers": { - "message": "Εμφάνιση στρογγυλεμένων αριθμών" - }, - "roundNumbersHover": { - "message": "Στρογγυλοποιήστε την τιμή μέτρησης (αυτή είναι η προεπιλεγμένη επιλογή του YouTube)." - }, - "reformatLikes": { - "message": "Μορφοποίηση του αριθμού των likes" - }, - "reformatLikesHover": { - "message": "Κάνει την αξία των στατιστικών πιο συνεπή." - }, - "numberFormat": { - "message": "Αριθμητική μορφή" - }, - "colorizeRatio": { - "message": "Χρωματίστε τη γραμμή dislikes" - }, - "colorizeRatioHover": { - "message": "Χρωματίστε τη γραμμή dislikes με προσαρμοσμένα χρώματα." - }, - "colorizeThumbs": { - "message": "Χρωματίστε τα κουμπιά" - }, - "colorizeThumbsHover": { - "message": "Χρωματίστε τα κουμπιά likes και dislikes με προσαρμοσμένα χρώματα." - }, - "colorTheme": { - "message": "Χρωματικός συνδυασμός:" - } -} diff --git a/README.md b/README.md index fe0f8f44..a683c996 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) # Return YouTube Dislike diff --git a/READMEde.md b/READMEde.md index b68edd10..f6d60f33 100644 --- a/READMEde.md +++ b/READMEde.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Lesen sie dies in anderen Sprachen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md) +Lesen sie dies in anderen Sprachen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Ελληνικά](READMEgr.md) # Return YouTube Dislike diff --git a/READMEes.md b/READMEes.md index dcd86552..0161230d 100644 --- a/READMEes.md +++ b/READMEes.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) # Return YouTube Dislike diff --git a/READMEfr.md b/READMEfr.md index d104f83e..4f45561c 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](LICENSE) -Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) # Return YouTube Dislike diff --git a/READMEgr.md b/READMEgr.md new file mode 100644 index 00000000..53818d49 --- /dev/null +++ b/READMEgr.md @@ -0,0 +1,95 @@ +[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Rating&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Chrome Web Store Users](https://img.shields.io/chrome-web-store/users/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Users&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Mozilla rating](https://img.shields.io/amo/stars/return-youtube-dislikes?label=Firefox%20Rating&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Mozilla downloads](https://img.shields.io/amo/users/return-youtube-dislikes?label=Firefox%20Users&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Commit rate](https://img.shields.io/github/commit-activity/m/Anarios/return-youtube-dislike?label=Commits&style=flat)](https://github.com/Anarios/return-youtube-dislike/commits/main) +[![Issues](https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&label=Issues)](https://github.com/Anarios/return-youtube-dislike/issues) +[![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) +[![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) + +Διαθέσιμο στις παρακάτω γλώσσες: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) + + +# Return YouTube Dislike + +

+ Το Return YouTube Dislike είναι μια επέκταση ανοιχτού κώδικα η οποία επαναφέρει τον μετρητή dislike στο YouTube.
+ Είναι διαθέσιμο για Chrome και Firefox ως πρόσθετη επέκταση.
+ Επίσης είναι διαθέσιμο και σε άλλους φυλλομετρητές ως JS Userscript.

+ +

+ +## Ιστορικό + +Στις 10 Νοεμβρίου 2021, η Google [ανακοίνωσε](https://blog.youtube/news-and-events/update-to-youtube/) ότι θα αφαιρέσει τον μετρητή dislike απο το YouTube. + +Ακολούθως, στις 13 Δεκεμβρίου 2021 [αφαιρέθηκε](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) το πεδίο `dislike` και απο το YouTube API, στερώντας κάθε δυνατότητα να κρίνουμε την ποιότητα του περιεχομένου πριν από την παρακολούθηση. + +## Πώς λειτουργεί + +Έπειτα απο την αφάιρεση των στατιστικών dislike απο το YouTube API, το backend μας άλλαξε ώστε να χρησιμοποιεί ένα συνδυασμό συλλογής στατιστικών, και εκτιμήσεων με βάση τα δεδομένα χρήσης της επέκτασης. + +[Συχνές Ερωτήσεις](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQ.md) + +## Γιατί έχει σημασία + +Μπορείτε να μάθετε περισσότερα στην ιστοσελίδα μας: [returnyoutubedislike.com](https://www.returnyoutubedislike.com/) + +## Τεκμηρίωση του API + +Η χρήση απο τρίτους αυτού του ανοιχτού API επιτρέπεται με τους παρακάτω περιορισμούς: + +- **Αναφορά**: Να υπάρχει καθαρή αναφορά στον κώδικα αυτού του έργου με την χρήση του παρακάτω συνδέσμου [returnyoutubedislike.com](https://returnyoutubedislike.com/). +- **Όριο Χρήσης**: Υπάρχει όριο χρήσης ανα χρήστη το οποίο είναι 100 το λεπτό και 10000 την μέρα. Σε αντίθετη περίπτωση επιστρέφεται μύνημα λάθους _429_ υποδυκνύοντας οτι η εφαρμογή του χρήστη θα πρέπει να περιορίσει την χρήση της. + +Το API είναι διαθέσιμο στον παρακάτω σύνδεσμο: +https://returnyoutubedislikeapi.com + +Λίστα με τα διαθέσιμα endpoints μπορείτε να βρείτε εδώ: +https://returnyoutubedislikeapi.com/swagger/index.html + +### Λήψη ψήφων + +Παράδειγμα ώστε να αντλήσετε τις ψήφους από συγκεκριμένο YouTube video ID: +`/votes?videoId=kxOuG8jMIgI` + +```json +{ + "id": "kxOuG8jMIgI", + "dateCreated": "2021-12-20T12:25:54.418014Z", + "likes": 27326, + "dislikes": 498153, + "rating": 1.212014408444885, + "viewCount": 3149885, + "deleted": false +} +``` + +Μή διαθέσιμο YouTube ID θα επιστρέψει κωδικό status _404_ "Not Found". +Λάνθασμένη δομή YouTube ID θα επιστρέψει _400_ "Bad Request". + + + +## Συνεισφορά + +Παρακαλώ διαβάστε τον [οδηγό συνεισφοράς](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTING.md). + +## Υποστηρίξτε αυτό το project! + +Μπορείτε να υποστηρίξετε αυτό το έργο κάνοντας δωρεά προς εμάς στον παρακάτω σύνδεσμο: + +[Δωρεά](https://returnyoutubedislike.com/donate) + +## Χορηγοί + +[Piepacker](https://piepacker.com) + +[Seed4.Me VPN](https://www.seed4.me/users/register?gift=ReturnYoutubeDislike) + +[PocketTube](https://yousub.info/?utm_source=returnyoutubedislike) + +[Γίνεται χορηγός μας](https://www.patreon.com/join/returnyoutubedislike/checkout?rid=8008601) diff --git a/READMEja.md b/READMEja.md index f2722215..0bfdc7cf 100644 --- a/READMEja.md +++ b/READMEja.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) # Return YouTube Dislike diff --git a/READMEnl.md b/READMEnl.md index 67cedc8c..8116bd3e 100644 --- a/READMEnl.md +++ b/READMEnl.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md) +Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Ελληνικά](READMEgr.md) # Return YouTube Dislike diff --git a/READMEru.md b/READMEru.md index 8e4cf73d..c84e5662 100644 --- a/READMEru.md +++ b/READMEru.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) # Return YouTube Dislike diff --git a/READMEtr.md b/READMEtr.md index dcc4632a..f5832dac 100644 --- a/READMEtr.md +++ b/READMEtr.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![Lisans](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md) +Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) # YouTube Dislike Sayısını Geri Getir diff --git a/READMEuk.md b/READMEuk.md index e82a1921..22affd8a 100644 --- a/READMEuk.md +++ b/READMEuk.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md) +Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) # Return YouTube Dislike diff --git a/extension-description-store-greek.txt b/extension-description-store-greek.txt new file mode 100644 index 00000000..5a24b7fe --- /dev/null +++ b/extension-description-store-greek.txt @@ -0,0 +1,20 @@ +Το Return YouTube Dislike είναι μια επέκταση ανοιχτού κώδικα η οποία επαναφέρει στο YouTube τον μετρητή dislike. + +Εάν δεν λειτουργεί: ανοίξτε την καρτέλα Επεκτάσεις (chrome://extensions/), απενεργοποιήστε αυτήν την επέκταση και ενεργοποιήστε την ξανά. Αυτό θα διορθώσει τα περισσότερα προβλήματα, καθώς υπάρχει ένα σφάλμα στο Chromium που σπάει την επέκταση σε ορισμένες περιπτώσεις. Ας ελπίσουμε ότι η ομάδα του Chromium θα το διορθώσει σύντομα. + +Στις 13 Δεκεμβρίου 2021, το YouTube αφαίρεσε απο το API την δυνατότητα να εμφανίζονται τα dislikes. +Η επέκταση αυτή στοχεύει να επαναφέρει αυτή την δυνατότατα στους χρήστες. Ένας συνδυασμός αρχειοθετημένων δεδομένων like και dislike, καθώς και η χρήση των like και dislike των χρηστών της επέκτασης, προβάλουν με τον πιό ακριβή τρόπο την ακροαματικότητα των βίντεο. + +Αυτή την στιγμή υπάρχει μια βάση με 200+ εκατομμύρια καταχωρημένα βίντεο και τα likes/dislikes τους, προερχόμενα πριν απο τις 13 Δεκεμβρίου 2021. + +Αναπτύσσεται ενεργά και ενημερώνεται για τις μεταφορτώσεις βίντεο μετά τις 13 Δεκεμβρίου 2021. + +Όσο περισσότεροι χρήστες χρησιμοποιούν την επέκταση, τόσο πιο ακριβής θα είναι. + +Μη δημοφιλή βίντεο που ανέβηκαν μετά τις 13 Δεκεμβρίου 2021 ενδέχεται να εμφανίζουν λιγότερο ακριβή δεδομένα από τα πιο δημοφιλή βίντεο. + +Η επέκταση βρίσκεται επί του παρόντος σε ενεργό φάση ανάπτυξης, επομένως εάν αντιμετωπίζετε προβλήματα, μη διστάσετε να τα αναφέρετε στη σελίδα μας στο GitHub ή στον διακομιστή Discord. + +Σύντομα με περισσότερες δυνατότητες! + +https://github.com/Anarios/return-youtube-dislike From 5c73825aadb81b6bf16cd5dff2b81a88562b6634 Mon Sep 17 00:00:00 2001 From: Anarios Date: Wed, 10 May 2023 10:47:27 +0200 Subject: [PATCH 094/136] New YouTube UI fix for userscript and extension --- .../UserScript/Return Youtube Dislike.user.js | 27 ++++++++++--------- Extensions/combined/_locales/cs/messages.json | 2 +- Extensions/combined/_locales/de/messages.json | 2 +- Extensions/combined/_locales/el/messages.json | 2 +- Extensions/combined/_locales/en/messages.json | 2 +- Extensions/combined/_locales/es/messages.json | 2 +- Extensions/combined/_locales/fr/messages.json | 2 +- Extensions/combined/_locales/it/messages.json | 2 +- Extensions/combined/_locales/ja/messages.json | 2 +- Extensions/combined/_locales/ko/messages.json | 2 +- Extensions/combined/_locales/nl/messages.json | 3 +-- .../combined/_locales/pt_BR/messages.json | 2 +- Extensions/combined/_locales/ru/messages.json | 2 +- .../combined/_locales/sv_SE/messages.json | 2 +- Extensions/combined/_locales/tr/messages.json | 2 +- Extensions/combined/_locales/uk/messages.json | 2 +- Extensions/combined/manifest-chrome.json | 2 +- Extensions/combined/manifest-firefox.json | 2 +- Extensions/combined/src/buttons.js | 4 +-- Extensions/combined/src/state.js | 21 +++------------ 20 files changed, 37 insertions(+), 50 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index 8dc38d78..293c377d 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -2,7 +2,7 @@ // @name Return YouTube Dislike // @namespace https://www.returnyoutubedislike.com/ // @homepage https://www.returnyoutubedislike.com/ -// @version 3.1.1 +// @version 3.1.2 // @encoding utf-8 // @description Return of the YouTube Dislike, Based off https://www.returnyoutubedislike.com/ // @icon https://github.com/Anarios/return-youtube-dislike/raw/main/Icons/Return%20Youtube%20Dislike%20-%20Transparent.png @@ -99,10 +99,17 @@ function getButtons() { } } +function getDislikeButton() { + return getButtons().children[0].tagName === + "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" + ? getButtons().children[0].children[1] === undefined ? document.querySelector("#segmented-dislike-button") : getButtons().children[0].children[1] + : getButtons().children[1]; +} + function getLikeButton() { return getButtons().children[0].tagName === - "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" - ? getButtons().children[0].children[0] + "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" + ? document.querySelector("#segmented-like-button") !== null ? document.querySelector("#segmented-like-button") : getButtons().children[0].children[0] : getButtons().children[0]; } @@ -114,12 +121,6 @@ function getLikeTextContainer() { ); } -function getDislikeButton() { - return getButtons().children[0].tagName === - "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" - ? getButtons().children[0].children[1] - : getButtons().children[1]; -} function getDislikeTextContainer() { let result = @@ -635,10 +636,10 @@ function setEventListeners(evt) { if (!window.returnDislikeButtonlistenersSet) { cLog("Registering button listeners..."); try { - buttons.children[0].children[0].addEventListener("click", likeClicked); - buttons.children[0].children[1].addEventListener("click", dislikeClicked); - buttons.children[0].children[0].addEventListener("touchstart", likeClicked); - buttons.children[0].children[1].addEventListener("touchstart", dislikeClicked); + getLikeButton().addEventListener("click", likeClicked); + getDislikeButton().addEventListener("click", dislikeClicked); + getLikeButton().addEventListener("touchstart", likeClicked); + getDislikeButton().addEventListener("touchstart", dislikeClicked); } catch { return; } //Don't spam errors into the console diff --git a/Extensions/combined/_locales/cs/messages.json b/Extensions/combined/_locales/cs/messages.json index f80e3aca..edad568f 100644 --- a/Extensions/combined/_locales/cs/messages.json +++ b/Extensions/combined/_locales/cs/messages.json @@ -42,7 +42,7 @@ "message": "aktualizovat na" }, "version30installed": { - "message": "Verze 3.0.0.1 nainstalována" + "message": "Verze 3.0.0.9 nainstalována" }, "whatsnew": { "message": "Co je nového" diff --git a/Extensions/combined/_locales/de/messages.json b/Extensions/combined/_locales/de/messages.json index 9b0a7ba2..ed65db6c 100644 --- a/Extensions/combined/_locales/de/messages.json +++ b/Extensions/combined/_locales/de/messages.json @@ -36,7 +36,7 @@ "message": "aktualisieren auf" }, "version30installed": { - "message": "Version 3.0.0.1 installiert" + "message": "Version 3.0.0.9 installiert" }, "whatsnew": { "message": "Was ist neu" diff --git a/Extensions/combined/_locales/el/messages.json b/Extensions/combined/_locales/el/messages.json index fe9e2b44..1d8d8e87 100644 --- a/Extensions/combined/_locales/el/messages.json +++ b/Extensions/combined/_locales/el/messages.json @@ -84,7 +84,7 @@ "message": "Ενημέρωση σε" }, "version30installed": { - "message": "Εκδοση 3.0.0.1 εγκαταστάθηκε" + "message": "Εκδοση 3.0.0.9 εγκαταστάθηκε" }, "whatsnew": { "message": "Τί νέο υπάρχει" diff --git a/Extensions/combined/_locales/en/messages.json b/Extensions/combined/_locales/en/messages.json index a5ba9c0d..2f8d93da 100644 --- a/Extensions/combined/_locales/en/messages.json +++ b/Extensions/combined/_locales/en/messages.json @@ -84,7 +84,7 @@ "message": "Update to" }, "version30installed": { - "message": "Version 3.0.0.1 installed" + "message": "Version 3.0.0.9 installed" }, "whatsnew": { "message": "What's new" diff --git a/Extensions/combined/_locales/es/messages.json b/Extensions/combined/_locales/es/messages.json index 3d1ffc41..b0f1f810 100644 --- a/Extensions/combined/_locales/es/messages.json +++ b/Extensions/combined/_locales/es/messages.json @@ -84,7 +84,7 @@ "message": "actualizar a" }, "version30installed": { - "message": "Versión 3.0.0.1 instalada" + "message": "Versión 3.0.0.9 instalada" }, "whatsnew": { "message": "Novedades" diff --git a/Extensions/combined/_locales/fr/messages.json b/Extensions/combined/_locales/fr/messages.json index 7f4f1c6d..eeddb5f6 100644 --- a/Extensions/combined/_locales/fr/messages.json +++ b/Extensions/combined/_locales/fr/messages.json @@ -42,7 +42,7 @@ "message": "mettre à jour vers" }, "version30installed": { - "message": "Version 3.0.0.1 installée" + "message": "Version 3.0.0.9 installée" }, "whatsnew": { "message": "Quoi de neuf" diff --git a/Extensions/combined/_locales/it/messages.json b/Extensions/combined/_locales/it/messages.json index adf6dcbe..aac80c93 100644 --- a/Extensions/combined/_locales/it/messages.json +++ b/Extensions/combined/_locales/it/messages.json @@ -36,7 +36,7 @@ "message": "aggiorna a" }, "version30installed": { - "message": "Versione 3.0.0.1 installata" + "message": "Versione 3.0.0.9 installata" }, "whatsnew": { "message": "Quali sono le novità" diff --git a/Extensions/combined/_locales/ja/messages.json b/Extensions/combined/_locales/ja/messages.json index 6a587cc3..17dc94c2 100644 --- a/Extensions/combined/_locales/ja/messages.json +++ b/Extensions/combined/_locales/ja/messages.json @@ -42,7 +42,7 @@ "message": "アップデート:" }, "version30installed": { - "message": "バージョン 3.0.0.1 がインストールされました。" + "message": "バージョン 3.0.0.9 がインストールされました。" }, "whatsnew": { "message": "新機能" diff --git a/Extensions/combined/_locales/ko/messages.json b/Extensions/combined/_locales/ko/messages.json index df22b4ef..6b5d36bd 100644 --- a/Extensions/combined/_locales/ko/messages.json +++ b/Extensions/combined/_locales/ko/messages.json @@ -84,7 +84,7 @@ "message": "업데이트" }, "version30installed": { - "message": "3.0.0.1 버전이 설치됨" + "message": "3.0.0.9 버전이 설치됨" }, "whatsnew": { "message": "새로운 점" diff --git a/Extensions/combined/_locales/nl/messages.json b/Extensions/combined/_locales/nl/messages.json index b6b0a3f3..b875fe2d 100644 --- a/Extensions/combined/_locales/nl/messages.json +++ b/Extensions/combined/_locales/nl/messages.json @@ -84,7 +84,7 @@ "message": "Update naar" }, "version30installed": { - "message": "Versie 3.0.0.1 geïnstalleerd" + "message": "Versie 3.0.0.9 geïnstalleerd" }, "whatsnew": { "message": "Wat is er nieuw" @@ -132,4 +132,3 @@ "message": "Kleuren thema:" } } - \ No newline at end of file diff --git a/Extensions/combined/_locales/pt_BR/messages.json b/Extensions/combined/_locales/pt_BR/messages.json index fac12a21..6e8ae2fa 100644 --- a/Extensions/combined/_locales/pt_BR/messages.json +++ b/Extensions/combined/_locales/pt_BR/messages.json @@ -42,7 +42,7 @@ "message": "Atualizar para" }, "version30installed": { - "message": "Versão 3.0.0.1 instalada" + "message": "Versão 3.0.0.9 instalada" }, "whatsnew": { "message": "O que há de novo?" diff --git a/Extensions/combined/_locales/ru/messages.json b/Extensions/combined/_locales/ru/messages.json index c275bf97..6cce778b 100644 --- a/Extensions/combined/_locales/ru/messages.json +++ b/Extensions/combined/_locales/ru/messages.json @@ -36,7 +36,7 @@ "message": "обновление до" }, "version30installed": { - "message": "Версия 3.0.0.1 установлена" + "message": "Версия 3.0.0.9 установлена" }, "whatsnew": { "message": "Что нового" diff --git a/Extensions/combined/_locales/sv_SE/messages.json b/Extensions/combined/_locales/sv_SE/messages.json index 7ed2ce82..8677451c 100644 --- a/Extensions/combined/_locales/sv_SE/messages.json +++ b/Extensions/combined/_locales/sv_SE/messages.json @@ -84,7 +84,7 @@ "message": "Uppdatera till" }, "version30installed": { - "message": "Version 3.0.0.1 installerad" + "message": "Version 3.0.0.9 installerad" }, "whatsnew": { "message": "Vad är nytt" diff --git a/Extensions/combined/_locales/tr/messages.json b/Extensions/combined/_locales/tr/messages.json index c7204a76..19fb5b80 100644 --- a/Extensions/combined/_locales/tr/messages.json +++ b/Extensions/combined/_locales/tr/messages.json @@ -84,7 +84,7 @@ "message": "Şu sürüme güncelle" }, "version30installed": { - "message": "Sürüm 3.0.0.1 yüklendi" + "message": "Sürüm 3.0.0.9 yüklendi" }, "whatsnew": { "message": "Yeni Ne Var" diff --git a/Extensions/combined/_locales/uk/messages.json b/Extensions/combined/_locales/uk/messages.json index 37e897bc..e1f3968c 100644 --- a/Extensions/combined/_locales/uk/messages.json +++ b/Extensions/combined/_locales/uk/messages.json @@ -84,7 +84,7 @@ "message": "Оновлення до" }, "version30installed": { - "message": "Версію 3.0.0.1 встановлено" + "message": "Версію 3.0.0.9 встановлено" }, "whatsnew": { "message": "Що нового" diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index 36f3026d..4f0d0cde 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.8", + "version": "3.0.0.9", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index c331a301..3bf109ce 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.8", + "version": "3.0.0.9", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 6f27e8ef..5762aada 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -35,7 +35,7 @@ function getButtons() { function getLikeButton() { return getButtons().children[0].tagName === "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" - ? getButtons().children[0].children[0] + ? document.querySelector("#segmented-like-button") !== null ? document.querySelector("#segmented-like-button") : getButtons().children[0].children[0] : getButtons().children[0]; } @@ -50,7 +50,7 @@ function getLikeTextContainer() { function getDislikeButton() { return getButtons().children[0].tagName === "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" - ? getButtons().children[0].children[1] + ? getButtons().children[0].children[1] === undefined ? document.querySelector("#segmented-dislike-button") : getButtons().children[0].children[1] : getButtons().children[1]; } diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 56ba99db..8f113f38 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -106,21 +106,19 @@ function isLikesDisabled() { function isVideoLiked() { if (isMobile()) { return ( - getLikeButton().querySelector("button").getAttribute("aria-label") == - "true" + getLikeButton().querySelector("button").getAttribute("aria-label") === "true" ); } - return getLikeButton().classList.contains("style-default-active"); + return getLikeButton().classList.contains("style-default-active") || getLikeButton().querySelector('button')?.getAttribute('aria-pressed') === 'true'; } function isVideoDisliked() { if (isMobile()) { return ( - getDislikeButton().querySelector("button").getAttribute("aria-label") == - "true" + getDislikeButton().querySelector("button").getAttribute("aria-label") === "true" ); } - return getDislikeButton().classList.contains("style-default-active"); + return getDislikeButton().classList.contains("style-default-active") || getDislikeButton().querySelector('button')?.getAttribute('aria-pressed') === 'true'; } function getState(storedData) { @@ -152,17 +150,6 @@ function setDislikes(dislikesCount) { } getDislikeTextContainer().innerText = dislikesCount; - try { - let likeButton = document.querySelector("#segmented-like-button > ytd-toggle-button-renderer > yt-button-shape > button > div.cbox.yt-spec-button-shape-next--button-text-content > span") - let dislikeButton = document.querySelector("#segmented-dislike-button > ytd-toggle-button-renderer > yt-button-shape > button") - dislikeButton.appendChild(likeButton.cloneNode(true)) - document.querySelector('#segmented-dislike-button > ytd-toggle-button-renderer > yt-button-shape > button').classList.remove('yt-spec-button-shape-next--icon-button') - dislikeButton.lastChild.textContent = dislikesCount - } - finally { - cLg("If you still don't see the dislike, please reach out to us on Github or Discord") - } - } else { cLog("likes count disabled by creator"); if (isMobile()) { From 889089ad1d32d9282c9f05f297c9049aedd207c6 Mon Sep 17 00:00:00 2001 From: Anarios Date: Wed, 2 Aug 2023 14:00:40 +0200 Subject: [PATCH 095/136] New YouTube UI fix --- Extensions/combined/src/buttons.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 5762aada..999496f0 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -60,6 +60,14 @@ function createDislikeTextContainer() { getDislikeButton().querySelector("button").insertBefore(textNodeClone, insertPreChild); getDislikeButton().querySelector("button").classList.remove("yt-spec-button-shape-next--icon-button"); getDislikeButton().querySelector("button").classList.add("yt-spec-button-shape-next--icon-leading"); + if(textNodeClone.querySelector("span[role='text']") === null) { + const span = document.createElement("span"); + span.setAttribute("role", "text"); + while(textNodeClone.firstChild){ + textNodeClone.removeChild(textNodeClone.firstChild); + } + textNodeClone.appendChild(span); + } textNodeClone.querySelector("span[role='text']").innerText = ""; return textNodeClone.querySelector("span[role='text']"); } From 8f879dbd259c87cfa2b83ed634913ab5b71e5f5a Mon Sep 17 00:00:00 2001 From: Anarios Date: Wed, 2 Aug 2023 14:00:40 +0200 Subject: [PATCH 096/136] New YouTube UI fix --- Extensions/combined/manifest-chrome.json | 2 +- Extensions/combined/manifest-firefox.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index 4f0d0cde..de118dc9 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.9", + "version": "3.0.0.10", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index 3bf109ce..e35a599d 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.9", + "version": "3.0.0.10", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] From f18be54de14fe3e4229a06633848a4135e82db46 Mon Sep 17 00:00:00 2001 From: Ilyas Zan <71350431+ilbailba@users.noreply.github.com> Date: Sat, 30 Sep 2023 14:01:41 +0300 Subject: [PATCH 097/136] Turkish translation errors fixed (#940) --- Docs/FAQ.md | 2 +- Docs/readme.md | 2 +- Docs/readmefr.md | 2 +- Docs/readmenl.md | 2 +- Website/READMEtr.md | 2 +- Website/store/READMEtr.md | 2 +- extension-description-store-turkish.txt | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Docs/FAQ.md b/Docs/FAQ.md index 4077c150..91e49063 100644 --- a/Docs/FAQ.md +++ b/Docs/FAQ.md @@ -1,4 +1,4 @@ -Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md),[Türkçe](FAQtr.md), [українська](FAQuk.md) +Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md) # Frequently Asked Questions diff --git a/Docs/readme.md b/Docs/readme.md index baaa4fd3..e014fe8f 100644 --- a/Docs/readme.md +++ b/Docs/readme.md @@ -1,4 +1,4 @@ -Read this in other languages: [Nederlands](readmenl.md), [Français](readmefr.md), [Türkçe](READMEtr.md) +Read this in other languages: [Nederlands](readmenl.md), [Français](readmefr.md), [Türkçe](readmetr.md) **Contents** diff --git a/Docs/readmefr.md b/Docs/readmefr.md index 49ec376b..2b3440a9 100644 --- a/Docs/readmefr.md +++ b/Docs/readmefr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](readme.md), [Nederlands](readmenl.md), [Türkçe](READMEtr.md) +Lisez ceci dans d'autres langues : [English](readme.md), [Nederlands](readmenl.md), [Türkçe](readmetr.md) **Contenu** diff --git a/Docs/readmenl.md b/Docs/readmenl.md index 16b4d6be..bef479d6 100644 --- a/Docs/readmenl.md +++ b/Docs/readmenl.md @@ -1,4 +1,4 @@ -Read this in other languages: [English](readme.md), [Français](readmefr.md), [Türkçe](READMEtr.md) +Read this in other languages: [English](readme.md), [Français](readmefr.md), [Türkçe](readmetr.md) **Inhoud** diff --git a/Website/READMEtr.md b/Website/READMEtr.md index 22f6b849..06d0bbcb 100644 --- a/Website/READMEtr.md +++ b/Website/READMEtr.md @@ -1,4 +1,4 @@ -Bunu diğer dillerde okuyun: [English](README.md), [Nederlands](READMEnl.md) +Read this in other languages: [English](README.md), [Nederlands](READMEnl.md) # youtube-dislike-sayısını-geri-getir-site diff --git a/Website/store/READMEtr.md b/Website/store/READMEtr.md index 034a67fc..24128db1 100644 --- a/Website/store/READMEtr.md +++ b/Website/store/READMEtr.md @@ -1,4 +1,4 @@ -Bunu diğer dillerde okuyun: [English](README.md) +Read this in other languages: [English](README.md), [Nederlands](READMEnl.md) # MAĞAZA diff --git a/extension-description-store-turkish.txt b/extension-description-store-turkish.txt index 067eecee..c7f40598 100644 --- a/extension-description-store-turkish.txt +++ b/extension-description-store-turkish.txt @@ -1,4 +1,4 @@ -YouTube Dislike Sayısını Geri Getir, YouTube'da dislike durumlarını görme özelliğini geri getirir. +YouTube Dislike Sayısını Geri Getir YouTube'da beğenmeme durumlarını görme özelliğini geri getirir. Eğer çalışmazsa: uzantılar sekmesini açın (chrome://extensions/) bu uzantıyı devre dışı bırakın ve yeniden aktifleştirin. Bu, chromium'daki bazı durumlarda uzantıyı bozan bir hatadır. Bu, sorunların çoğunu çözmelidir. Umarız chromium ekibi bunu yakın zamanda düzeltir. From b49114bb1bf056892e4adcb9327bc423336b5f0b Mon Sep 17 00:00:00 2001 From: AminoffZ <55880031+AminoffZ@users.noreply.github.com> Date: Sat, 30 Sep 2023 14:04:48 +0300 Subject: [PATCH 098/136] =?UTF-8?q?=F0=9F=8C=B2=20Swedish=20README=20(#937?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🌲 Swedish README Added a Swedish README following the format. * 🔗 Add Links Add links to the Swedish README in the other translations. --- README.md | 3 +- READMEde.md | 2 +- READMEes.md | 3 +- READMEfr.md | 3 +- READMEgr.md | 3 +- READMEja.md | 3 +- READMEnl.md | 4 +-- READMEru.md | 3 +- READMEsv.md | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++ READMEtr.md | 3 +- READMEuk.md | 6 ++-- 11 files changed, 107 insertions(+), 20 deletions(-) create mode 100644 READMEsv.md diff --git a/README.md b/README.md index a683c996..39946a0a 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) - +Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # Return YouTube Dislike diff --git a/READMEde.md b/READMEde.md index f6d60f33..13e98fd1 100644 --- a/READMEde.md +++ b/READMEde.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Lesen sie dies in anderen Sprachen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Ελληνικά](READMEgr.md) +Lesen sie dies in anderen Sprachen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # Return YouTube Dislike diff --git a/READMEes.md b/READMEes.md index 0161230d..fa736d01 100644 --- a/READMEes.md +++ b/READMEes.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) - +Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # Return YouTube Dislike diff --git a/READMEfr.md b/READMEfr.md index 4f45561c..40896b80 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](LICENSE) -Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) - +Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # Return YouTube Dislike diff --git a/READMEgr.md b/READMEgr.md index 53818d49..59b6652c 100644 --- a/READMEgr.md +++ b/READMEgr.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Διαθέσιμο στις παρακάτω γλώσσες: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) - +Διαθέσιμο στις παρακάτω γλώσσες: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Svenska](READMEsv.md) # Return YouTube Dislike diff --git a/READMEja.md b/READMEja.md index 0bfdc7cf..2d49b43b 100644 --- a/READMEja.md +++ b/READMEja.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) - +別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # Return YouTube Dislike diff --git a/READMEnl.md b/READMEnl.md index 8116bd3e..d4ee73ec 100644 --- a/READMEnl.md +++ b/READMEnl.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Ελληνικά](READMEgr.md) +Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # Return YouTube Dislike @@ -44,7 +44,7 @@ Gebruik door derden van deze open API is toegestaan ​​met de volgende beperk De API is toegankelijk via de volgende basis-URL: https://returnyoutubedislikeapi.com -Lijst met beschikbare eindpunten is hier beschikbaar: +Lijst met beschikbare eindpunten is hier beschikbaar: https://returnyoutubedislikeapi.com/swagger/index.html ### Stemmen krijgen diff --git a/READMEru.md b/READMEru.md index c84e5662..dd5ec16c 100644 --- a/READMEru.md +++ b/READMEru.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) - +Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # Return YouTube Dislike diff --git a/READMEsv.md b/READMEsv.md new file mode 100644 index 00000000..93cfce83 --- /dev/null +++ b/READMEsv.md @@ -0,0 +1,94 @@ +[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Rating&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Chrome Web Store Users](https://img.shields.io/chrome-web-store/users/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Users&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Mozilla rating](https://img.shields.io/amo/stars/return-youtube-dislikes?label=Firefox%20Rating&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Mozilla downloads](https://img.shields.io/amo/users/return-youtube-dislikes?label=Firefox%20Users&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Commit rate](https://img.shields.io/github/commit-activity/m/Anarios/return-youtube-dislike?label=Commits&style=flat)](https://github.com/Anarios/return-youtube-dislike/commits/main) +[![Issues](https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&label=Issues)](https://github.com/Anarios/return-youtube-dislike/issues) +[![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) +[![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) + +Läs detta på andra språk: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +# Return YouTube Dislike + +

+ Return YouTube Dislike (Återinför YouTube Dislikes) är ett open-source tillägg som återinför antalet dislikes (nedåttummar) på YouTube.
+ Tillgängligt som tillägg för Chromium Browser och Firefox.
+ Finns även för andra webbläsare som JS Userscript.

+ +

+ +## Berättelsen + +Den 10 november 2021 [meddelade Google](https://blog.youtube/news-and-events/update-to-youtube/) att YouTubes dislikes skulle tas bort från plattformen. + +Dessutom blev `dislike`-fältet i YouTubes API [borttaget](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) den 13 december 2021, vilket tog bort möjligheten att bedöma innehållets kvalitet innan visning. + +## Vad det gör + +Med borttagandet av dislike-statistiken från YouTubes API, bytte vår backend till att använda en kombination av skrapad dislike-statistik och uppskattningar utifrån data av tilläggsanvändare. + +[FAQ](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQ.md) + +## Varför det är viktigt + +Du kan läsa mer på vår webbplats: [returnyoutubedislike.com](https://www.returnyoutubedislike.com/) + +## API dokumentation + +Tredjepartsanvändning av detta öppna API är tillåtet med följande restriktioner: + +- **Attribution**: Detta projekt ska tydligt tillskrivas med en länk till [returnyoutubedislike.com](https://returnyoutubedislike.com/). +- **Frekvensbegränsning**: Det finns per klient hastighetsbegränsningar på 100 per minut och 10'000 per dag. Detta kommer att returnera en _429_ statuskod som indikerar att din applikation bör backa. + +API:et är tillgängligt på följande bas-URL: +https://returnyoutubedislikeapi.com + +En lista över tillgängliga ändpunkter finns här: +https://returnyoutubedislikeapi.com/swagger/index.html + +### Hämta röster + +Exempel för att hämta röster för en given YouTube-video-ID: +`/votes?videoId=kxOuG8jMIgI` + +```json +{ + "id": "kxOuG8jMIgI", + "dateCreated": "2021-12-20T12:25:54.418014Z", + "likes": 27326, + "dislikes": 498153, + "rating": 1.212014408444885, + "viewCount": 3149885, + "deleted": false +} +``` + +Inga existerande YouTube-ID returnerar statuskoden _404_ "Not Found". +Felaktigt formade YouTube-ID returnerar _400_ "Bad Request". + + + +## Bidra + +Läs gärna [bidragsguiden](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTING.md). + +## Stöd detta projekt! + +Du kan stödja detta projekt genom att donera till oss på länken nedan: + +[Donera](https://returnyoutubedislike.com/donate) + +## Sponsorer + +[Piepacker](https://piepacker.com) + +[Seed4.Me VPN](https://www.seed4.me/users/register?gift=ReturnYoutubeDislike) + +[PocketTube](https://yousub.info/?utm_source=returnyoutubedislike) + +[Stöd oss på Patreon](https://www.patreon.com/join/returnyoutubedislike/checkout?rid=8008601) diff --git a/READMEtr.md b/READMEtr.md index f5832dac..1184d99f 100644 --- a/READMEtr.md +++ b/READMEtr.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![Lisans](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) - +Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # YouTube Dislike Sayısını Geri Getir diff --git a/READMEuk.md b/READMEuk.md index 22affd8a..fa7e6a8a 100644 --- a/READMEuk.md +++ b/READMEuk.md @@ -7,7 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) +Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) # Return YouTube Dislike @@ -41,10 +41,10 @@ Read this in other languages: [English](README.md), [Español](READMEes.md), [р - **Атрибуція**: Цей проєкт має бути чітко описано, використовуючи посилання на [returnyoutubedislike.com](https://returnyoutubedislike.com/). - **Обмеження**: Існують обмеження на швидкісті для кожного клієнта - 100 за хвилину і 10 000 за день. Це видасть код помилки 429, який вказує на те, що вашому додатку слід завершити роботу. -API доступно за наступною URL-адресою: +API доступно за наступною URL-адресою: https://returnyoutubedislikeapi.com -Перелік доступних «ендпоінтів» можна переглянути тут: +Перелік доступних «ендпоінтів» можна переглянути тут: https://returnyoutubedislikeapi.com/swagger/index.html ### Отримати оцінки From 15caa3b1411421d7f0866693805fab00f45a7fbf Mon Sep 17 00:00:00 2001 From: umerf52 Date: Sat, 30 Sep 2023 16:05:28 +0500 Subject: [PATCH 099/136] Update README.md (#903) Fix typo in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 39946a0a..0d6ced02 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ You can learn more at our website at: [returnyoutubedislike.com](https://www.ret Third-party use of this open API is allowed with the following restrictions: - **Attribution**: This project should be clearly attributed with a link to [returnyoutubedislike.com](https://returnyoutubedislike.com/). -- **Rate Limiting**: There are per client rate limits in place of 100 per minute and 10'000 per day. This will return a _429_ status code indicating that your application should back off. +- **Rate Limiting**: There are per client rate limits in place of 100 per minute and 10,000 per day. This will return a _429_ status code indicating that your application should back off. The API is accessible over the following base URL: https://returnyoutubedislikeapi.com From c965d73abd63b8017f8c4d6ae73789d27f5c8b34 Mon Sep 17 00:00:00 2001 From: Zigao Wang Date: Sat, 30 Sep 2023 19:14:54 +0800 Subject: [PATCH 100/136] Added Chinese Translation (#936) * Added Chinese Translation * Added Chinese Translation * Update READMEde.md * Update READMEes.md * Update READMEfr.md * Update READMEgr.md * Update READMEja.md * Update READMEnl.md * Update READMEru.md * Update READMEtr.md * Update READMEuk.md * Create extension-description-store-Chinese.txt --------- Co-authored-by: Dmitrii Selivanov --- README.md | 4 +- READMEcn.md | 86 +++++++++++++++++++++++++ READMEde.md | 4 +- READMEes.md | 4 +- READMEfr.md | 4 +- READMEgr.md | 4 +- READMEja.md | 4 +- READMEnl.md | 4 +- READMEru.md | 4 +- READMEtr.md | 4 +- READMEuk.md | 4 +- extension-description-store-Chinese.txt | 20 ++++++ 12 files changed, 136 insertions(+), 10 deletions(-) create mode 100644 READMEcn.md create mode 100644 extension-description-store-Chinese.txt diff --git a/README.md b/README.md index 0d6ced02..8b590660 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md, [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/READMEcn.md b/READMEcn.md new file mode 100644 index 00000000..11d4d987 --- /dev/null +++ b/READMEcn.md @@ -0,0 +1,86 @@ +[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Rating&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Chrome Web Store Users](https://img.shields.io/chrome-web-store/users/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Users&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Mozilla rating](https://img.shields.io/amo/stars/return-youtube-dislikes?label=Firefox%20Rating&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Mozilla downloads](https://img.shields.io/amo/users/return-youtube-dislikes?label=Firefox%20Users&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Commit rate](https://img.shields.io/github/commit-activity/m/Anarios/return-youtube-dislike?label=Commits&style=flat)](https://github.com/Anarios/return-youtube-dislike/commits/main) +[![Issues](https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&label=Issues)](https://github.com/Anarios/return-youtube-dislike/issues) +[![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) +[![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) + +阅读其他语言版本:[English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md) + +# Return YouTube Dislike + +

+ Return YouTube Dislike是一个开源的扩展,可以显示 YouTube 的不喜欢数量。
+ 适用于 Chrome 和 Firefox 作为 Web 扩展。
+ 也可以作为 JS Userscript 在其他浏览器上使用。

+ +

+ +## 故事 + +在2021年11月10日,Google [宣布](https://blog.youtube/news-and-events/update-to-youtube/) 将移除 YouTube 的不喜欢数量。 + +此外,YouTube API 中的 `dislike` 字段于2021年12月13日 [被移除](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts),移除了在观看之前评估内容质量的能力。 + +## 它是如何工作的 + +随着 YouTube API 中不喜欢统计信息的移除,我们的后端切换到使用从扩展用户数据中抓取的不喜欢统计信息和估算数据的组合。 + +[常见问题解答](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQ.md) + +## 为什么重要 + +您可以在我们的网站上了解更多信息:[returnyoutubedislike.com](https://www.returnyoutubedislike.com/) + +## API 文档 + +允许第三方使用此开放 API,但有以下限制: + +- **归因**: 该项目应清楚地归因于 [returnyoutubedislike.com](https://returnyoutubedislike.com/) 的链接。 +- **速率限制**: 客户端的速率限制为每分钟100次和每天10,000次。这将返回 _429_ 状态代码,表示您的应用程序应该减速。 + +API 可以通过以下基本 URL 访问: +https://returnyoutubedislikeapi.com + +可用端点列表在这里: +https://returnyoutubedislikeapi.com/swagger/index.html + +### 获取投票 + +示例获取给定 YouTube 视频 ID 的投票: +`/votes?videoId=kxOuG8jMIgI` + +```json +{ + "id": "kxOuG8jMIgI", + "dateCreated": "2021-12-20T12:25:54.418014Z", + "likes": 27326, + "dislikes": 498153, + "rating": 1.212014408444885, + "viewCount": 3149885, + "deleted": false +} +``` + +不存在的 YouTube ID 将返回状态码 _404_ "未找到"。 +格式错误的 YouTube ID 将返回 _400_ "请求无效"。 + +## 贡献 + +请阅读[贡献指南](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTING.md)。 + +## 支持这个项目! + +您可以通过以下链接向我们捐赠来支持这个项目: + +[捐赠](https://returnyoutubedislike.com/donate) + +## 赞助商 + +[Piepacker](https://piepacker.com) + +[Seed4.Me VPN](https://www.seed4.me/users/register?gift=ReturnYoutubeDislike) + +[PocketTube](https://yousub.info/?utm_source=return diff --git a/READMEde.md b/READMEde.md index 13e98fd1..95fd8828 100644 --- a/READMEde.md +++ b/READMEde.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Lesen sie dies in anderen Sprachen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +Lesen sie dies in anderen Sprachen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/READMEes.md b/READMEes.md index fa736d01..6c3aad41 100644 --- a/READMEes.md +++ b/READMEes.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/READMEfr.md b/READMEfr.md index 40896b80..9d26f4f3 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](LICENSE) -Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/READMEgr.md b/READMEgr.md index 59b6652c..dccb8b63 100644 --- a/READMEgr.md +++ b/READMEgr.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Διαθέσιμο στις παρακάτω γλώσσες: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Svenska](READMEsv.md) + +Διαθέσιμο στις παρακάτω γλώσσες: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/READMEja.md b/READMEja.md index 2d49b43b..8a628d09 100644 --- a/READMEja.md +++ b/READMEja.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/READMEnl.md b/READMEnl.md index d4ee73ec..98c7b795 100644 --- a/READMEnl.md +++ b/READMEnl.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/READMEru.md b/READMEru.md index dd5ec16c..a918f52c 100644 --- a/READMEru.md +++ b/READMEru.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/READMEtr.md b/READMEtr.md index 1184d99f..084bd953 100644 --- a/READMEtr.md +++ b/READMEtr.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![Lisans](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # YouTube Dislike Sayısını Geri Getir diff --git a/READMEuk.md b/READMEuk.md index fa7e6a8a..38f2faca 100644 --- a/READMEuk.md +++ b/READMEuk.md @@ -7,7 +7,9 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md) + +Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) + # Return YouTube Dislike diff --git a/extension-description-store-Chinese.txt b/extension-description-store-Chinese.txt new file mode 100644 index 00000000..4de6d9a6 --- /dev/null +++ b/extension-description-store-Chinese.txt @@ -0,0 +1,20 @@ +"Return YouTube Dislike" 恢复了在 YouTube 上查看不喜欢的功能。 + +如果它不起作用:打开扩展选项卡(chrome://extensions/),禁用此扩展,然后重新启用它。这应该可以解决大多数问题,因为在某些情况下,Chromium 中存在一个破坏扩展的错误。希望 Chromium 团队能尽快修复这个问题。 + +从2021年12月13日开始,YouTube 移除了从其API中查看不喜欢的功能。 +这个扩展旨在通过使用归档的喜欢和不喜欢数据以及扩展用户所做的喜欢和不喜欢来显示最准确的评分,以恢复用户的权力。 + +当前已经存储了超过2亿多个视频的喜欢和不喜欢数据,截止到2021年12月13日。 + +积极增长并保持更新,以跟踪2021年12月13日之后的上传内容。 + +使用该扩展的用户越多,它的准确性就越高。 + +2021年12月13日之后上传的不受欢迎的视频可能显示的数据比更受欢迎的视频不太准确。 + +该扩展目前处于积极开发阶段,因此如果您遇到任何问题,请毫不犹豫地在我们的GitHub页面或我们的Discord服务器上报告它们。 + +更多功能即将推出! + +https://github.com/Anarios/return-youtube-dislike From ccbc9a71b4fedf8379cd787e115fe011f493cb84 Mon Sep 17 00:00:00 2001 From: Anarios Date: Thu, 12 Oct 2023 22:05:55 +0200 Subject: [PATCH 101/136] New YouTube UI fix --- Extensions/combined/src/buttons.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 999496f0..16ad576e 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -55,7 +55,7 @@ function getDislikeButton() { } function createDislikeTextContainer() { - const textNodeClone = getLikeButton().querySelector("button > div[class*='cbox']").cloneNode(true); + const textNodeClone = (getLikeButton().querySelector("button > div[class*='cbox']") || getLikeButton().querySelector('div > span[role="text"]').parentNode).cloneNode(true); const insertPreChild = getDislikeButton().querySelector("yt-touch-feedback-shape"); getDislikeButton().querySelector("button").insertBefore(textNodeClone, insertPreChild); getDislikeButton().querySelector("button").classList.remove("yt-spec-button-shape-next--icon-button"); From fdf3c7fc116baa02ddabe834b9b670b86d9a2ba6 Mon Sep 17 00:00:00 2001 From: Anarios Date: Thu, 12 Oct 2023 22:12:51 +0200 Subject: [PATCH 102/136] New YouTube UI fix --- Extensions/combined/_locales/cs/messages.json | 2 +- Extensions/combined/_locales/de/messages.json | 2 +- Extensions/combined/_locales/el/messages.json | 2 +- Extensions/combined/_locales/en/messages.json | 2 +- Extensions/combined/_locales/es/messages.json | 2 +- Extensions/combined/_locales/fr/messages.json | 2 +- Extensions/combined/_locales/it/messages.json | 2 +- Extensions/combined/_locales/ja/messages.json | 2 +- Extensions/combined/_locales/ko/messages.json | 2 +- Extensions/combined/_locales/nl/messages.json | 2 +- Extensions/combined/_locales/pt_BR/messages.json | 2 +- Extensions/combined/_locales/ru/messages.json | 2 +- Extensions/combined/_locales/sv_SE/messages.json | 2 +- Extensions/combined/_locales/tr/messages.json | 2 +- Extensions/combined/_locales/uk/messages.json | 2 +- Website/package.json | 4 ++-- 16 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Extensions/combined/_locales/cs/messages.json b/Extensions/combined/_locales/cs/messages.json index edad568f..d49fac7c 100644 --- a/Extensions/combined/_locales/cs/messages.json +++ b/Extensions/combined/_locales/cs/messages.json @@ -42,7 +42,7 @@ "message": "aktualizovat na" }, "version30installed": { - "message": "Verze 3.0.0.9 nainstalována" + "message": "Verze 3.0.0.11 nainstalována" }, "whatsnew": { "message": "Co je nového" diff --git a/Extensions/combined/_locales/de/messages.json b/Extensions/combined/_locales/de/messages.json index ed65db6c..0ca86683 100644 --- a/Extensions/combined/_locales/de/messages.json +++ b/Extensions/combined/_locales/de/messages.json @@ -36,7 +36,7 @@ "message": "aktualisieren auf" }, "version30installed": { - "message": "Version 3.0.0.9 installiert" + "message": "Version 3.0.0.11 installiert" }, "whatsnew": { "message": "Was ist neu" diff --git a/Extensions/combined/_locales/el/messages.json b/Extensions/combined/_locales/el/messages.json index 1d8d8e87..bd112d7a 100644 --- a/Extensions/combined/_locales/el/messages.json +++ b/Extensions/combined/_locales/el/messages.json @@ -84,7 +84,7 @@ "message": "Ενημέρωση σε" }, "version30installed": { - "message": "Εκδοση 3.0.0.9 εγκαταστάθηκε" + "message": "Εκδοση 3.0.0.11 εγκαταστάθηκε" }, "whatsnew": { "message": "Τί νέο υπάρχει" diff --git a/Extensions/combined/_locales/en/messages.json b/Extensions/combined/_locales/en/messages.json index 2f8d93da..9d8823c8 100644 --- a/Extensions/combined/_locales/en/messages.json +++ b/Extensions/combined/_locales/en/messages.json @@ -84,7 +84,7 @@ "message": "Update to" }, "version30installed": { - "message": "Version 3.0.0.9 installed" + "message": "Version 3.0.0.11 installed" }, "whatsnew": { "message": "What's new" diff --git a/Extensions/combined/_locales/es/messages.json b/Extensions/combined/_locales/es/messages.json index b0f1f810..10f24d7e 100644 --- a/Extensions/combined/_locales/es/messages.json +++ b/Extensions/combined/_locales/es/messages.json @@ -84,7 +84,7 @@ "message": "actualizar a" }, "version30installed": { - "message": "Versión 3.0.0.9 instalada" + "message": "Versión 3.0.0.11 instalada" }, "whatsnew": { "message": "Novedades" diff --git a/Extensions/combined/_locales/fr/messages.json b/Extensions/combined/_locales/fr/messages.json index eeddb5f6..1ad8a46a 100644 --- a/Extensions/combined/_locales/fr/messages.json +++ b/Extensions/combined/_locales/fr/messages.json @@ -42,7 +42,7 @@ "message": "mettre à jour vers" }, "version30installed": { - "message": "Version 3.0.0.9 installée" + "message": "Version 3.0.0.11 installée" }, "whatsnew": { "message": "Quoi de neuf" diff --git a/Extensions/combined/_locales/it/messages.json b/Extensions/combined/_locales/it/messages.json index aac80c93..c1d03984 100644 --- a/Extensions/combined/_locales/it/messages.json +++ b/Extensions/combined/_locales/it/messages.json @@ -36,7 +36,7 @@ "message": "aggiorna a" }, "version30installed": { - "message": "Versione 3.0.0.9 installata" + "message": "Versione 3.0.0.11 installata" }, "whatsnew": { "message": "Quali sono le novità" diff --git a/Extensions/combined/_locales/ja/messages.json b/Extensions/combined/_locales/ja/messages.json index 17dc94c2..be6d0433 100644 --- a/Extensions/combined/_locales/ja/messages.json +++ b/Extensions/combined/_locales/ja/messages.json @@ -42,7 +42,7 @@ "message": "アップデート:" }, "version30installed": { - "message": "バージョン 3.0.0.9 がインストールされました。" + "message": "バージョン 3.0.0.11 がインストールされました。" }, "whatsnew": { "message": "新機能" diff --git a/Extensions/combined/_locales/ko/messages.json b/Extensions/combined/_locales/ko/messages.json index 6b5d36bd..7e0fa89a 100644 --- a/Extensions/combined/_locales/ko/messages.json +++ b/Extensions/combined/_locales/ko/messages.json @@ -84,7 +84,7 @@ "message": "업데이트" }, "version30installed": { - "message": "3.0.0.9 버전이 설치됨" + "message": "3.0.0.11 버전이 설치됨" }, "whatsnew": { "message": "새로운 점" diff --git a/Extensions/combined/_locales/nl/messages.json b/Extensions/combined/_locales/nl/messages.json index b875fe2d..4ee2e36f 100644 --- a/Extensions/combined/_locales/nl/messages.json +++ b/Extensions/combined/_locales/nl/messages.json @@ -84,7 +84,7 @@ "message": "Update naar" }, "version30installed": { - "message": "Versie 3.0.0.9 geïnstalleerd" + "message": "Versie 3.0.0.11 geïnstalleerd" }, "whatsnew": { "message": "Wat is er nieuw" diff --git a/Extensions/combined/_locales/pt_BR/messages.json b/Extensions/combined/_locales/pt_BR/messages.json index 6e8ae2fa..ed3f6aae 100644 --- a/Extensions/combined/_locales/pt_BR/messages.json +++ b/Extensions/combined/_locales/pt_BR/messages.json @@ -42,7 +42,7 @@ "message": "Atualizar para" }, "version30installed": { - "message": "Versão 3.0.0.9 instalada" + "message": "Versão 3.0.0.11 instalada" }, "whatsnew": { "message": "O que há de novo?" diff --git a/Extensions/combined/_locales/ru/messages.json b/Extensions/combined/_locales/ru/messages.json index 6cce778b..f71752cc 100644 --- a/Extensions/combined/_locales/ru/messages.json +++ b/Extensions/combined/_locales/ru/messages.json @@ -36,7 +36,7 @@ "message": "обновление до" }, "version30installed": { - "message": "Версия 3.0.0.9 установлена" + "message": "Версия 3.0.0.11 установлена" }, "whatsnew": { "message": "Что нового" diff --git a/Extensions/combined/_locales/sv_SE/messages.json b/Extensions/combined/_locales/sv_SE/messages.json index 8677451c..2011c83e 100644 --- a/Extensions/combined/_locales/sv_SE/messages.json +++ b/Extensions/combined/_locales/sv_SE/messages.json @@ -84,7 +84,7 @@ "message": "Uppdatera till" }, "version30installed": { - "message": "Version 3.0.0.9 installerad" + "message": "Version 3.0.0.11 installerad" }, "whatsnew": { "message": "Vad är nytt" diff --git a/Extensions/combined/_locales/tr/messages.json b/Extensions/combined/_locales/tr/messages.json index 19fb5b80..17e9cd5c 100644 --- a/Extensions/combined/_locales/tr/messages.json +++ b/Extensions/combined/_locales/tr/messages.json @@ -84,7 +84,7 @@ "message": "Şu sürüme güncelle" }, "version30installed": { - "message": "Sürüm 3.0.0.9 yüklendi" + "message": "Sürüm 3.0.0.11 yüklendi" }, "whatsnew": { "message": "Yeni Ne Var" diff --git a/Extensions/combined/_locales/uk/messages.json b/Extensions/combined/_locales/uk/messages.json index e1f3968c..bbe38903 100644 --- a/Extensions/combined/_locales/uk/messages.json +++ b/Extensions/combined/_locales/uk/messages.json @@ -84,7 +84,7 @@ "message": "Оновлення до" }, "version30installed": { - "message": "Версію 3.0.0.9 встановлено" + "message": "Версію 3.0.0.11 встановлено" }, "whatsnew": { "message": "Що нового" diff --git a/Website/package.json b/Website/package.json index 10a61155..ac7c0074 100644 --- a/Website/package.json +++ b/Website/package.json @@ -3,10 +3,10 @@ "version": "1.1.0", "private": true, "scripts": { - "dev": "nuxt", + "dev": "set NODE_OPTIONS=--openssl-legacy-provider && nuxt", "build": "nuxt build", "start": "nuxt start", - "generate": "nuxt generate", + "generate": "set NODE_OPTIONS=--openssl-legacy-provider && nuxt generate", "lint": "eslint --fix --ext .js,.vue --ignore-path .eslintignore ." }, "dependencies": { From 2c7dd8d8caef8c584002d49c3013ea9d8d079453 Mon Sep 17 00:00:00 2001 From: Anarios Date: Wed, 18 Oct 2023 11:46:37 +0200 Subject: [PATCH 103/136] New YouTube UI fix - 3.0.0.12 --- Extensions/combined/src/buttons.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 16ad576e..c119a9a3 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -55,7 +55,7 @@ function getDislikeButton() { } function createDislikeTextContainer() { - const textNodeClone = (getLikeButton().querySelector("button > div[class*='cbox']") || getLikeButton().querySelector('div > span[role="text"]').parentNode).cloneNode(true); + const textNodeClone = (getLikeButton().querySelector("button > div[class*='cbox']") || (getLikeButton().querySelector('div > span[role="text"]') || document.querySelector('button > div.yt-spec-button-shape-next__button-text-content > span[role="text"]')).parentNode).cloneNode(true); const insertPreChild = getDislikeButton().querySelector("yt-touch-feedback-shape"); getDislikeButton().querySelector("button").insertBefore(textNodeClone, insertPreChild); getDislikeButton().querySelector("button").classList.remove("yt-spec-button-shape-next--icon-button"); From adbd0fd947ccd2a394d7c2e07cc3f94ccbfe3375 Mon Sep 17 00:00:00 2001 From: Marcel Guzik Date: Sun, 5 Nov 2023 18:29:24 +0100 Subject: [PATCH 104/136] don't show dislike count on share button - fixes #948 (#978) --- Extensions/combined/src/buttons.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index c119a9a3..fbd5c903 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -50,7 +50,10 @@ function getLikeTextContainer() { function getDislikeButton() { return getButtons().children[0].tagName === "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" - ? getButtons().children[0].children[1] === undefined ? document.querySelector("#segmented-dislike-button") : getButtons().children[0].children[1] + ? (getButtons().children[0].children[1] === undefined ? document.querySelector("#segmented-dislike-button") : getButtons().children[0].children[1]) + + : getButtons().children[0].tagName === "segmented-like-dislike-button-view-model" + ? getButtons().children[0].querySelector("dislike-button-view-model") : getButtons().children[1]; } From 6239453b9df68beb0886757b7c5a1efb01b5e82f Mon Sep 17 00:00:00 2001 From: Anarios Date: Sun, 5 Nov 2023 18:30:57 +0100 Subject: [PATCH 105/136] Big ternary replaced with if-else --- Extensions/combined/src/buttons.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index fbd5c903..807cfbc9 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -48,13 +48,15 @@ function getLikeTextContainer() { } function getDislikeButton() { - return getButtons().children[0].tagName === - "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" - ? (getButtons().children[0].children[1] === undefined ? document.querySelector("#segmented-dislike-button") : getButtons().children[0].children[1]) - - : getButtons().children[0].tagName === "segmented-like-dislike-button-view-model" - ? getButtons().children[0].querySelector("dislike-button-view-model") - : getButtons().children[1]; + if (getButtons().children[0].tagName === 'YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER') { + if (getButtons().children[0].children[1] === undefined) { + return document.querySelector('#segmented-dislike-button'); + } else { + return getButtons().children[0].children[1]; + } + } else { + return getButtons().children[1]; + } } function createDislikeTextContainer() { From da77fe9a2f27f392a9f4a5430736ec0afe9f775d Mon Sep 17 00:00:00 2001 From: Starter Date: Mon, 6 Nov 2023 01:47:03 +0800 Subject: [PATCH 106/136] Typo Fix (#963) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b590660..d60a9c55 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md, [中文](READMEcn.md) +Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) # Return YouTube Dislike From a6289794d230d01eaeef193270a1875fa8a3db70 Mon Sep 17 00:00:00 2001 From: itsbudyn Date: Sun, 5 Nov 2023 18:52:13 +0100 Subject: [PATCH 107/136] Add Polish translation (#884) * initial polish translation * add polish translation files * add missing space * improved pl extension translations * improved translations * website translation * fixed typos * add link to polish on READMEgr * don't litteraly translate endpoints --------- Co-authored-by: itsbudyn Co-authored-by: Dmitrii Selivanov --- CONTRIBUTING.md | 2 +- CONTRIBUTINGfr.md | 2 +- CONTRIBUTINGnl.md | 2 +- CONTRIBUTINGpl.md | 68 +++++++++ CONTRIBUTINGru.md | 2 +- CONTRIBUTINGtr.md | 2 +- CONTRIBUTINGuk.md | 2 +- Docs/FAQ.md | 2 +- Docs/FAQfr.md | 2 +- Docs/FAQnl.md | 2 +- Docs/FAQpl.md | 62 ++++++++ Docs/FAQru.md | 2 +- Docs/FAQtr.md | 2 +- Docs/SECURITY-FAQ.md | 2 +- Docs/SECURITY-FAQfr.md | 2 +- Docs/SECURITY-FAQnl.md | 2 +- Docs/SECURITY-FAQpl.md | 32 +++++ Docs/SECURITY-FAQru.md | 2 +- Docs/SECURITY-FAQtr.md | 2 +- Docs/SECURITY-FAQuk.md | 2 +- Extensions/combined/_locales/pl/messages.json | 134 ++++++++++++++++++ README.md | 3 +- READMEde.md | 3 +- READMEes.md | 3 +- READMEfr.md | 3 +- READMEgr.md | 3 +- READMEja.md | 3 +- READMEnl.md | 3 +- READMEpl.md | 94 ++++++++++++ READMEru.md | 3 +- READMEtr.md | 3 +- READMEuk.md | 3 +- Website/_locales/pl.ts | 119 ++++++++++++++++ Website/layouts/default.vue | 1 + Website/nuxt.config.js | 3 +- Website/pages/links.vue | 4 + extension-description-store-polish.txt | 20 +++ 37 files changed, 564 insertions(+), 37 deletions(-) create mode 100644 CONTRIBUTINGpl.md create mode 100644 Docs/FAQpl.md create mode 100644 Docs/SECURITY-FAQpl.md create mode 100644 Extensions/combined/_locales/pl/messages.json create mode 100644 READMEpl.md create mode 100644 Website/_locales/pl.ts create mode 100644 extension-description-store-polish.txt diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62a4e6cf..3ecd6b78 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -Read this in other languages: [русский](CONTRIBUTINGru.md), [Nederlands](CONTRIBUTINGnl.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md) +Read this in other languages: [русский](CONTRIBUTINGru.md), [Nederlands](CONTRIBUTINGnl.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md), [Polski](CONTRIBUTINGpl.md) # Welcome To Return YouTube Dislikes contributing guide diff --git a/CONTRIBUTINGfr.md b/CONTRIBUTINGfr.md index 7ceafe60..73907b27 100644 --- a/CONTRIBUTINGfr.md +++ b/CONTRIBUTINGfr.md @@ -1,5 +1,5 @@ -Lisez ceci dans d'autres langues : [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), Nederlands](CONTRIBUTINGnl.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md) +Lisez ceci dans d'autres langues : [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), Nederlands](CONTRIBUTINGnl.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md), [Polski](CONTRIBUTINGpl.md) # Bienvenue dans le guide de contribution à Return YouTube Dislikes diff --git a/CONTRIBUTINGnl.md b/CONTRIBUTINGnl.md index 777ca5df..66a5aab4 100644 --- a/CONTRIBUTINGnl.md +++ b/CONTRIBUTINGnl.md @@ -1,4 +1,4 @@ -Lees dit in andere talen: [English](CONTRIBUTINGen.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md) +Lees dit in andere talen: [English](CONTRIBUTINGen.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md), [Polski](CONTRIBUTINGpl.md) # Welkom bij de YouTube Dislikes bijdragengids diff --git a/CONTRIBUTINGpl.md b/CONTRIBUTINGpl.md new file mode 100644 index 00000000..4ef5e54a --- /dev/null +++ b/CONTRIBUTINGpl.md @@ -0,0 +1,68 @@ +Read this in other languages: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Nederlands](CONTRIBUTINGnl.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md) + + +# Witamy w przewodniku współtworzenia Return YouTube Dislike + +Dziękujemy za zainwestowanie czasu w rozwój naszego projektu! Wszystkie Twoje zmiany znajdą się w następnej wersji rozszerzenia ([bądź strony](https://www.returnyoutubedislike.com/)). + +## Początek + +Prosimy używać Prettier z domyślnymi ustawieniami do formatowania. + +#### Wymagania wstępne + +Musisz mieć zainstalowane node i npm, aby utworzyć dołączoną wersję źródła. + +Wersje używane przy ustawianiu: + +- node: 12.18.4 +- npm: 6.14.6 + +Aby utworzyć `bundled-content-script.js`, które zawiera większość logiki tego rozszerzenia, musisz najpierw zainstalować wszystkie zależności. + +1. Przejdź do korzenia tego repo i uruchom: + +``` +npm install +``` + +2. Użyj polecenia poniżej aby stworzyć `bundled-content-script.js`, które jest używane w `manifest.json` + +``` +npm start // aby utworzyć plik(i) build-u i uruchomić obserwatora pliku, który przeładowuje po zapisie + +// lub + +npm run build // aby jednorazowo utworzyć plik(i) build-u +``` + +Gratulacje, jesteś gotów pisać! + +Jeśli jesteś nowy w pisaniu rozszerzeń do Chrome, lub potrzebujesz dodatkowej pomocy, obejrzyj [ten poradnik na YouTube](https://www.youtube.com/watch?v=mdOj6HYE3_0) + +### Problemy + +#### Otwieranie nowego problemu + +Jeśli masz jakiekolwiek problemy z rozszerzeniem, najpierw wyszukaj go aby upewnić się, że dany problem nie został już zgłoszony. Jeżeli nie, otwórz problem. Używanie formularza problemu jest zalecane, ale nie jest konieczne. + +#### Rozwiązywanie problemu + +Jeżeli znalazłeś problem, który myślisz, że jesteś w stanie rozwiązać, nie wstydź się. Otwórz PR z fix-em i opisz problem, który naprawiasz. + +### Prośba o funkcjonalność + +#### Otwieranie nowej prośby o funkcjonalność + +Jeżeli masz pomysł na rozszerzenie, śmiało otwórz nowe żądanie o funkcjonalność, ale prosimy o wyszukanie swojego pomysłu, aby upewnić się, że nie został on już zasugerowany. Używanie formularza jest zalecane, ale nie jest konieczne. + +#### Implementacja prośby o funkcjonalność + +Jeżeli znalazłeś pomysł na funkcjonalność, którą myślisz, że jesteś w stanie zaimplementować, nie wstydź się. Otwórz PR z fix-em, i opisz funkcjonalność, którą implementujesz. + +### Jakie PR-y przyjmujemy? + +- Naprawy problemów. +- Implementacja funkcjonalności. +- Literówki lub lepsze i łatwiejsze w zrozumieniu słowa. +- Współtworzenie strony. diff --git a/CONTRIBUTINGru.md b/CONTRIBUTINGru.md index 444edcbc..6b1afd63 100644 --- a/CONTRIBUTINGru.md +++ b/CONTRIBUTINGru.md @@ -1,4 +1,4 @@ -Прочитать на других языках: [English](CONTRIBUTING.md), [Nederlands](CONTRIBUTINGnl.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md) +Прочитать на других языках: [English](CONTRIBUTING.md), [Nederlands](CONTRIBUTINGnl.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [українська](CONTRIBUTINGuk.md), [Polski](CONTRIBUTINGpl.md) # Добро пожаловать в руководство по внесению вклада Return YouTube Dislikes diff --git a/CONTRIBUTINGtr.md b/CONTRIBUTINGtr.md index e41b3c59..c7493106 100644 --- a/CONTRIBUTINGtr.md +++ b/CONTRIBUTINGtr.md @@ -1,4 +1,4 @@ -Bunu diğer dillerde okuyun: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Nederlands](CONTRIBUTINGnl.md), [Français](CONTRIBUTINGfr.md), [українська](CONTRIBUTINGuk.md) +Bunu diğer dillerde okuyun: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Nederlands](CONTRIBUTINGnl.md), [Français](CONTRIBUTINGfr.md), [українська](CONTRIBUTINGuk.md), [Polski](CONTRIBUTINGpl.md) # "YouTube Dislike Sayısını Geri Getir"in katkı kılavuzuna Hoş Geldiniz diff --git a/CONTRIBUTINGuk.md b/CONTRIBUTINGuk.md index 05d2ab4e..26b16777 100644 --- a/CONTRIBUTINGuk.md +++ b/CONTRIBUTINGuk.md @@ -1,4 +1,4 @@ -Read this in other languages: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md) +Read this in other languages: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md), [Polski](CONTRIBUTINGpl.md) # Вітаємо у посібнику внеску в Return YouTube Dislikes diff --git a/Docs/FAQ.md b/Docs/FAQ.md index 91e49063..ade89bed 100644 --- a/Docs/FAQ.md +++ b/Docs/FAQ.md @@ -1,4 +1,4 @@ -Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md) +Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md) # Frequently Asked Questions diff --git a/Docs/FAQfr.md b/Docs/FAQfr.md index a918f8a0..131858cb 100644 --- a/Docs/FAQfr.md +++ b/Docs/FAQfr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](FAQ.md), [русский](FAQru.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md) +Lisez ceci dans d'autres langues : [English](FAQ.md), [русский](FAQru.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md) # Foire Aux Questions diff --git a/Docs/FAQnl.md b/Docs/FAQnl.md index 1dcb5d1c..e8f3052d 100644 --- a/Docs/FAQnl.md +++ b/Docs/FAQnl.md @@ -1,4 +1,4 @@ -Lees dit in andere talen: [Engels](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md) +Lees dit in andere talen: [Engels](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md) # Veel Gestelde Vragen diff --git a/Docs/FAQpl.md b/Docs/FAQpl.md new file mode 100644 index 00000000..e9482623 --- /dev/null +++ b/Docs/FAQpl.md @@ -0,0 +1,62 @@ +Read this in other languages: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md), [Nederlands](FAQnl.md), [Türkçe](FAQtr.md), [українська](FAQuk.md) + + +# Często zadawane pytania + +## Przeczytaj poniższe przed zadawaniem pytań na GitHubie lub Discordzie. + +
+ +### **1.Skąd rozszerzenie otrzymuje swoje dane?** + +Kombinacja API Google i danych scrape-owanych. + +Zapisujemy wszystkie dostępne dane do naszej bazy danych, żeby były dostępne po tym jak Google wyłączy liczniki łapek w dół w swoim API. + +
+ +### **2. Licznik łapek w dół się nie aktualizuje** + +Na chwile obecną łapki w dół są buforowane i nie są bardzo często aktualizowane. Raz na 2-3 dni, nie częściej. + +No nie jest to idealne, ale tak już jest. Pracujemy nad tym jak częściej możemy to aktualizować. + +
+ +### **3. Jak to działa?** + +Rozszerzenie zbiera ID filmu, którego oglądasz, pobiera ilość łapek w dół (i inne pola, takie jak wyświetlenia, łapki w górę itd.) za pomocą naszego API. Jeżeli film jest pierwszy raz pobrany przez nasze API, zostanie użyte YouTube API do pobrania danych, a potem przechowania w bazie danych do buforu (przez jakieś 2-3 dni) i archiwizacji, po czym zwracane jest Tobie. Rozszerzenie potem wyświetla ilość łapek w dół. + +
+ +### **4. Co się wydarzy gdy YouTube API przestanie zwracać liczbę łapek w dół?** + +Backend przełączy się na używanie kombinacji zarchiwizowanych statystyk łapek w dół, szacunków ekstrapolowanych z danych użytkowników rozszerzenia i szacowań opartych na stosunkach wyświetleń/łapek w górę dla filmów, których ilość łapek w dół nie została zarchiwizowana i dla przestarzałych archiwów. + +
+ +### **5. Jak wyliczana jest liczba łapek w dół?** + +RYD używa głosów użytkowników, aby ekstrapolować liczbę łapek w dół. + +- Jeżeli film został wrzucony przed wyłączeniem API: + + $$ \textup{Liczba łapek w dół RYD} = \left( \frac{\textup{Liczba łapek w dół użytkowników RYD}}{\textup{Liczba łapek w górę użytkowników RYD}} \right) \times \textup{Publiczna liczba łapek w górę} $$ + +- Jeśli baza danych RYD jakimś cudem miałaby prawidłową liczbę łapek w górę i dół (zapewnione przez twórce lub z archiwum), liczba łapek w dół będzie obliczana w oparciu jednocześnie głosów użytkowników i wartości zarchiwizowanych. Zarchiwizowana wartość będzie miała mniejszy wpływ na ostateczną liczbę z biegiem czasu. + +
+ +--- + +To samo w formie filmu. + +[![IReturn YouTube Dislike Explained](https://yt-embed.herokuapp.com/embed?v=GSmmtv-0yYQ)](https://www.youtube.com/watch?v=GSmmtv-0yYQ) + +--- + +
+ +## Mam zastrzeżenia co do bezpieczeństwa / prywatności + +Przejdź [tutaj](SECURITY-FAQ.md) aby uzyskać więcej informacji. diff --git a/Docs/FAQru.md b/Docs/FAQru.md index 826381d9..422ca9d8 100644 --- a/Docs/FAQru.md +++ b/Docs/FAQru.md @@ -1,4 +1,4 @@ -Read this in other languages: [English](FAQ.md), [Nederlands](FAQnl.md), Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md) +Read this in other languages: [English](FAQ.md), [Nederlands](FAQnl.md), Français](FAQfr.md), [Türkçe](FAQtr.md), [українська](FAQuk.md), [Polski](FAQpl.md) # Часто задаваемые вопросы diff --git a/Docs/FAQtr.md b/Docs/FAQtr.md index 2b7e7a38..f731a981 100644 --- a/Docs/FAQtr.md +++ b/Docs/FAQtr.md @@ -1,4 +1,4 @@ -Bunu diğer dillerde okuyun: [English](FAQ.md), [русский](FAQru.md), ), [Nederlands](FAQnl.md), [Français](FAQfr.md), [українська](FAQuk.md) +Bunu diğer dillerde okuyun: [English](FAQ.md), [русский](FAQru.md), ), [Nederlands](FAQnl.md), [Français](FAQfr.md), [українська](FAQuk.md), [Polski](FAQpl.md) # Sıkça Sorulan Sorular diff --git a/Docs/SECURITY-FAQ.md b/Docs/SECURITY-FAQ.md index 915a90ab..6caadbbd 100644 --- a/Docs/SECURITY-FAQ.md +++ b/Docs/SECURITY-FAQ.md @@ -1,4 +1,4 @@ -Read this in other languages: [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md) +Read this in other languages: [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md) # Security diff --git a/Docs/SECURITY-FAQfr.md b/Docs/SECURITY-FAQfr.md index ef09af05..ecac0270 100644 --- a/Docs/SECURITY-FAQfr.md +++ b/Docs/SECURITY-FAQfr.md @@ -1,4 +1,4 @@ -Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), Nederlands](SECURITY_FAQnl.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md) +Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), Nederlands](SECURITY_FAQnl.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md) # Sécurité diff --git a/Docs/SECURITY-FAQnl.md b/Docs/SECURITY-FAQnl.md index 0604ecd2..034f1c8f 100644 --- a/Docs/SECURITY-FAQnl.md +++ b/Docs/SECURITY-FAQnl.md @@ -1,4 +1,4 @@ -Lees dit in andere talen: [English](SECURITY_FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md) +Lees dit in andere talen: [English](SECURITY_FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md) # Veiligheid diff --git a/Docs/SECURITY-FAQpl.md b/Docs/SECURITY-FAQpl.md new file mode 100644 index 00000000..b77960ef --- /dev/null +++ b/Docs/SECURITY-FAQpl.md @@ -0,0 +1,32 @@ +Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md) + + +# Security + +### Czy śledzicie moją historię wyświetleń? + +Nie. Kod rozszerzenia jest publiczny i można samemu to zobaczyć. Jedyne informacje, które są wysyłane, to ID filmu, które jest wymagane do pobrania liczby łapek w dół dla filmów. Nie są wysyłane żadne dodatkowe nagłówki. W warstwie sieciowej, Twój adres IP będzie jawny dla serwera wraz z czasem wykonania żądania. Jednakże, żadne z tych danych nie identyfikują Ciebie jednoznacznie w żaden sposób. Zakładając środowisko zerowego zaufania, najczulsze dane, jakie możemy otrzymać, jest dynamiczny adres IP, który dzisiaj jest Twój, a jutro Twojego sąsiada. Jeżeli boisz się śledzenia poprzez adres IP, pewnie już korzystasz z VPN. + +### Czy możecie mnie jednoznacznie zidentyfikować, jeżeli zostawię łapkę w dół? + +Tak. Kiedy zostawiasz łapkę w dół, tworzymy losowo generowane ID dla Ciebie, które nie jest związane z Twoim kontem Google. Powodem takiego rozwiązania jest zapobieganie botowaniu. Mimo to, nie ma sposobu powiązania tego losowego ID z Tobą lub Twoim osobistym kontem Google. + +### Jakie informacje wy macie, konkretnie? + +Tylko ID filmu. Komentarze - nie. Nazwa użytkownika - nie. Osoby, którym udostępniłeś film - nie. Jakiekolwiek dodatkowe metadane - nie. Nic. Tylko ID filmu. + +### Jak mój adres IP jest przechowywany? + +Backend trzyma niehashowane adresy IP tylko w pamięci zmiennej (RAM). Te adresy nie są przechowywane na dysku twardym, przez co nie są rejestrowane. Zamiast tego przechowujemy zhashowany adres IP. Jest to zrobione po to aby zapobiec wandalizmom. + +### Słyszałem jakąś dyskusję o OAuth, i dostępie do mojego konta YouTube. + +Ta funkcjonalność będzie opcjonalna i z całą pewnością wymagała ręcznego dołączenia. Jeżeli jesteś twórcą na YouTube i chcesz podzielić się z nami swoimi statystykami, to możesz. Sposób w jaki [OAuth](https://en.wikipedia.org/wiki/OAuth#:~:text=but%20without%20giving%20them%20the%20passwords.) został ustrukturyzowany jest właściwie bardzo bezpieczny. Możesz wycofać dostęp do konta w każdej chwili i dać nam specyficzne uprawnienia. Nie będziemy prosić o żadne uprawnienia, które nie są wymagane. Poprosimy tylko o możliwość wyświetlenia statystyk filmów. + +### Jak bardzo mogę ufać licznikowi łapek w dół? + +Zaimplementowaliśmy środki zapobiegające atakom botów i będziemy kontynuować pracę nad systemem zapobiegającym botom: to pomoże nam utrzymać licznik łapek w dół jako dobrą reprezentację prawdziwej wartości. Oczywiście, wartość ta nigdy nie będzie w 100% dokładna, więc to czy zaufasz tej liczbie zależy tylko od Ciebie. + +### Dlaczego nie udostępnicie kodu backendu? + +Kiedyś go udostępnimy - ale nie ma za bardzo sensu robić to teraz. Wprowadziłoby to fałszywe poczucie bezpieczeństwa - bo w systemie zerowego zaufania równie dobrze moglibyśmy przedstawić jeden system, a uruchomić inny. Jest dużo powodów do ukrywania kodu, specyficznie do walki ze spamem. Ukrywanie/Obfuskacja kodu jest dość standardową praktyką. diff --git a/Docs/SECURITY-FAQru.md b/Docs/SECURITY-FAQru.md index 2979627d..4762016c 100644 --- a/Docs/SECURITY-FAQru.md +++ b/Docs/SECURITY-FAQru.md @@ -1,4 +1,4 @@ -Прочитать на других языках: [English](SECURITY-FAQ.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md) +Прочитать на других языках: [English](SECURITY-FAQ.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md) # Безопасность diff --git a/Docs/SECURITY-FAQtr.md b/Docs/SECURITY-FAQtr.md index 645d363a..3830c0e9 100644 --- a/Docs/SECURITY-FAQtr.md +++ b/Docs/SECURITY-FAQtr.md @@ -1,4 +1,4 @@ -Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [українська](SECURITY-FAQuk.md) +Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Nederlands](SECURITY_FAQnl.md), [Français](SECURITY-FAQfr.md), [українська](SECURITY-FAQuk.md), [Polski](SECURITY-FAQpl.md) # Güvenlik diff --git a/Docs/SECURITY-FAQuk.md b/Docs/SECURITY-FAQuk.md index 4d18acc5..64545d60 100644 --- a/Docs/SECURITY-FAQuk.md +++ b/Docs/SECURITY-FAQuk.md @@ -1,4 +1,4 @@ -Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md) +Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md), [Polski](SECURITY-FAQpl.md) # Безпека diff --git a/Extensions/combined/_locales/pl/messages.json b/Extensions/combined/_locales/pl/messages.json new file mode 100644 index 00000000..d613adec --- /dev/null +++ b/Extensions/combined/_locales/pl/messages.json @@ -0,0 +1,134 @@ +{ + "extensionName": { + "message": "Return YouTube Dislike" + }, + "extensionNameBeta": { + "message": "Return YouTube Dislike Beta" + }, + "extensionDesc": { + "message": "Przywraca licznik łapek w dół" + }, + "textDeveloper": { + "message": "przez Dmitry Selivanov & Społeczność" + }, + "linkWebsite": { + "message": "Strona" + }, + "linkFAQ": { + "message": "FAQ" + }, + "linkDonate": { + "message": "Wesprzyj" + }, + "linkHelp": { + "message": "Pomoc" + }, + "linkChangelog": { + "message": "Zmiany" + }, + "legendSettings": { + "message": "Ustawienia" + }, + "textSettings": { + "message": "Wyłącz przesyłanie łapek" + }, + "textLikesDisabled": { + "message": "Wyłączone przez twórcę" + }, + "textSettingsHover": { + "message": "Przestaje liczyć Twoje łapki." + }, + "textRoundingNumbers": { + "message": "Zaokrąglaj łapki w górę/dół (domyślne zachowanie YouTube)" + }, + "textRoundingNumbersHover": { + "message": "Pokaż zaokrąglone w dół statystyki." + }, + "textConsistentFormat": { + "message": "Ujednolica format liczbowy łapek." + }, + "textConsistentFormatHover": { + "message": "Zmień formatowanie liczby łapek." + }, + "textNumberFormat": { + "message": "Format liczbowy:" + }, + "textColorizeRatioBar": { + "message": "Koloruj pasek ocen" + }, + "textColorizeRatioBarHover": { + "message": "Użyj własnych kolorów paska." + }, + "textColorizeThumbs": { + "message": "Koloruj łapki" + }, + "textColorizeThumbsHover": { + "message": "Użyj własnych kolorów łapek." + }, + "textColorTheme": { + "message": "Motyw kolorystyczny:" + }, + "textColorTheme1": { + "message": "Klasyczny" + }, + "textColorTheme2": { + "message": "Dostępny" + }, + "textColorTheme3": { + "message": "Neonowy" + }, + "textTempUnavailable": { + "message": "Tymczasowo niedostępny" + }, + "textUpdate": { + "message": "Zaktualizuj do" + }, + "version30installed": { + "message": "Zainstalowana wersja 3.0.0.1" + }, + "whatsnew": { + "message": "Co nowego" + }, + "shortsSupport": { + "message": "Wsparcie dla YouTube Shorts" + }, + "customColors": { + "message": "Własne kolory paska łapek i guzików" + }, + "customNumberFormats": { + "message": "Własne formaty liczbowe" + }, + "considerDonating": { + "message": "Jedyne co napędza ten projekt to wasze dotacje, prosimy o rozważenie wsparcia tego projektu." + }, + "roundNumbers": { + "message": "Pokaż zaokrąglone w dół liczby" + }, + "roundNumbersHover": { + "message": "Zaokrąglaj w dół liczby (domyślne zachowanie YouTube)." + }, + "reformatLikes": { + "message": "Zmień formatowanie liczby łapek." + }, + "reformatLikesHover": { + "message": "Ujednolica format liczbowy łapek." + }, + "numberFormat": { + "message": "Format liczbowy:" + }, + "colorizeRatio": { + "message": "Koloruj pasek ocen" + }, + "colorizeRatioHover": { + "message": "Użyj własnych kolorów paska." + }, + "colorizeThumbs": { + "message": "Koloruj łapki" + }, + "colorizeThumbsHover": { + "message": "Użyj własnych kolorów łapek." + }, + "colorTheme": { + "message": "Motyw kolorystyczny:" + } +} diff --git a/README.md b/README.md index d60a9c55..cd3761e5 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,8 @@ [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) -Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Read this in other languages: [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) + # Return YouTube Dislike diff --git a/READMEde.md b/READMEde.md index 95fd8828..a738d82a 100644 --- a/READMEde.md +++ b/READMEde.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) - -Lesen sie dies in anderen Sprachen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Lesen sie dies in anderen Sprachen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # Return YouTube Dislike diff --git a/READMEes.md b/READMEes.md index 6c3aad41..64fddb4f 100644 --- a/READMEes.md +++ b/READMEes.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) - -Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Leer en otros idiomas: [English](README.md), [русский](READMEru.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # Return YouTube Dislike diff --git a/READMEfr.md b/READMEfr.md index 9d26f4f3..2b1c18ae 100644 --- a/READMEfr.md +++ b/READMEfr.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](LICENSE) - -Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Lisez ceci dans d'autres langues : [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md),[日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # Return YouTube Dislike diff --git a/READMEgr.md b/READMEgr.md index dccb8b63..59a79c5c 100644 --- a/READMEgr.md +++ b/READMEgr.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) - -Διαθέσιμο στις παρακάτω γλώσσες: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Διαθέσιμο στις παρακάτω γλώσσες: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # Return YouTube Dislike diff --git a/READMEja.md b/READMEja.md index 8a628d09..75f976b7 100644 --- a/READMEja.md +++ b/READMEja.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) - -別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +別の言語: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # Return YouTube Dislike diff --git a/READMEnl.md b/READMEnl.md index 98c7b795..a6582390 100644 --- a/READMEnl.md +++ b/READMEnl.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) - -Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Lees dit in andere talen: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # Return YouTube Dislike diff --git a/READMEpl.md b/READMEpl.md new file mode 100644 index 00000000..6b64eb64 --- /dev/null +++ b/READMEpl.md @@ -0,0 +1,94 @@ +[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Rating&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Chrome Web Store Users](https://img.shields.io/chrome-web-store/users/gebbhagfogifgggkldgodflihgfeippi?label=Chrome%20Users&style=flat&logo=google)](https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/) +[![Mozilla rating](https://img.shields.io/amo/stars/return-youtube-dislikes?label=Firefox%20Rating&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Mozilla downloads](https://img.shields.io/amo/users/return-youtube-dislikes?label=Firefox%20Users&style=flat&logo=firefox)](https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/) +[![Commit rate](https://img.shields.io/github/commit-activity/m/Anarios/return-youtube-dislike?label=Commits&style=flat)](https://github.com/Anarios/return-youtube-dislike/commits/main) +[![Issues](https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&label=Issues)](https://github.com/Anarios/return-youtube-dislike/issues) +[![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) +[![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) + +Read this in other languages: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md) + +# Return YouTube Dislike + +

+ Return YouTube Dislike to otwarte rozszerzenie, które przywraca licznik łapek w dół na YouTube.
+ Dostępne jako rozszerzenie dla Chrome i Firefox.
+ Dostępne także dla innych przeglądarek jako JS UserScript.

+ +

+ +## Historia + +Dnia 10 listopada 2021, Google [ogłosiło](https://blog.youtube/news-and-events/update-to-youtube/), że licznik łapek w dół na YouTube zostanie usunięty. + +Dodatkowo, pole `dislike` w API YouTube zostało [usunięte](https://support.google.com/youtube/thread/134791097/update-to-youtube-dislike-counts) 13 grudnia 2021, usuwając przy tym jakąkolwiek możliwość oceny jakości filmu przed obejrzeniem. + +## Co to robi + +Wraz z usunięciem statystyk łapek w dół z YouTube API, nasz backend przełączył się na kombinację scrape-owanych statystyk łapek w dół i szacunków ekstrapolowanych z danych użytkowników rozszerzenia. + +[FAQ](https://github.com/Anarios/return-youtube-dislike/blob/main/Docs/FAQ.md) + +## Dlaczego to ma znaczenie + +Można o tym przeczytać na naszej stronie: [returnyoutubedislike.com](https://www.returnyoutubedislike.com/) + +## Dokumentacja API + +Używanie tego otwartego API jest dozwolone z następującymi ograniczeniami: + +- **Przypisanie**: Ten projekt powinien być jawnie przypisany z linkiem do [returnyoutubedislike.com](https://returnyoutubedislike.com/). +- **Ograniczenie żądań**: Istnieją ograniczenia żądań do 100 na minutę i 10 000 na dzień. Przekroczenie zwróci kod _429_, mówiący aplikacji aby przyhamowała. + +API jest dostępne przez poniższe bazowe URL: +https://returnyoutubedislikeapi.com + +Lista dostępnych endpointów jest dostępna tutaj: +https://returnyoutubedislikeapi.com/swagger/index.html + +### Pobierz głosy + +Przykład otrzymywania głosów z danego ID filmu YouTube: +`/votes?videoId=kxOuG8jMIgI` + +```json +{ + "id": "kxOuG8jMIgI", + "dateCreated": "2021-12-20T12:25:54.418014Z", + "likes": 27326, + "dislikes": 498153, + "rating": 1.212014408444885, + "viewCount": 3149885, + "deleted": false +} +``` + +Nieistniejący ID filmu zwróci _404_ "Not Found". +Niepoprawnie sformatowany ID filmu zwróci _400_ "Bad Request". + + + +## Współtworzenie + +Prosimy przeczytać [przewodnik współtworzenia](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTING.md). + +## Wesprzyj ten projekt! + +Możesz wesprzeć ten projekt dotacjami poniżej: + +[Wesprzyj](https://returnyoutubedislike.com/donate) + +## Sponsorzy + +[Piepacker](https://piepacker.com) + +[Seed4.Me VPN](https://www.seed4.me/users/register?gift=ReturnYoutubeDislike) + +[PocketTube](https://yousub.info/?utm_source=returnyoutubedislike) + +[Become our sponsor](https://www.patreon.com/join/returnyoutubedislike/checkout?rid=8008601) diff --git a/READMEru.md b/READMEru.md index a918f52c..273216a1 100644 --- a/READMEru.md +++ b/READMEru.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) - -Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Прочитать на других языках: [English](README.md), [Español](READMEes.md), [Nederlands](READMEnl.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # Return YouTube Dislike diff --git a/READMEtr.md b/READMEtr.md index 084bd953..54ebcfe7 100644 --- a/READMEtr.md +++ b/READMEtr.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![Lisans](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) - -Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Bunu diğer dillerde okuyun: [English](README.md), [русский](READMEru.md), [Español](READMEes.md), [Français](READMEfr.md), [Nederlands](READMEnl.md), [日本語](READMEja.md), [українська](READMEuk.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # YouTube Dislike Sayısını Geri Getir diff --git a/READMEuk.md b/READMEuk.md index 38f2faca..90140348 100644 --- a/READMEuk.md +++ b/READMEuk.md @@ -7,8 +7,7 @@ [![Discord](https://img.shields.io/discord/909435648170160229?label=Discord&style=flat&logo=discord)](https://discord.gg/UMxyMmCgfF) [![License](https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat)](https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE) - -Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md) +Read this in other languages: [English](README.md), [Español](READMEes.md), [русский](READMEru.md), [Français](READMEfr.md), [日本語](READMEja.md), [Türkçe](READMEtr.md), [Deutsch](READMEde.md), [Ελληνικά](READMEgr.md), [Svenska](READMEsv.md), [中文](READMEcn.md), [Polski](READMEpl.md) # Return YouTube Dislike diff --git a/Website/_locales/pl.ts b/Website/_locales/pl.ts new file mode 100644 index 00000000..8ce15317 --- /dev/null +++ b/Website/_locales/pl.ts @@ -0,0 +1,119 @@ +import { pl } from "vuetify/src/locale"; +// by itsbudyn#6502 +export default { + ...pl, + home: { + name: "Strona główna", + title: "Return YouTube Dislike", + subtitle: "Rozszerzenie do przeglądarki i API pokazujące ilość łapek w dół na YouTube", + ukraine: "Wesprzyj Ukrainę", + sponsors: "Sponsorzy", + }, + install: { + name: "Instalacja", + title: "Wybierz swoją platformę", + subtitle: "Dostępne dla Firefox i wszystkich przeglądarek Chromium", + title2: "Inne platformy", + subtitle2: "Jeżeli twoja przeglądarka nie jest wspierana, wypróbuj ten UserScript", + title3: "Implementacje od stron trzecich", + subtitle3: "Nie ponosimy za nie odpowiedzialności, używasz na własne ryzyko", + }, + api: { + name: "API", + title: "Witamy w oficjalnej dokumentacji RYD!", + subtitle: "Aby rozpocząć, wybierz sekcję z menu.", + rights: { + title: "Prawa do użytku", + subtitle: + "Używanie tego otwartego API jest dozwolone z następującymi ograniczeniami:", + bullet1: "Przypisanie: ", + bullet1text: + "Ten projekt powinien być widocznie przypisany autorom za pomocą linku do tego repozytorium, albo do returnyoutubedislike.com", + bullet2: "Ograniczenia: ", + bullet2text: + "Istnieją ograniczenia żądań dla klientów - 100 na minutę, oraz 10 000 na dzień. Przekroczenie będzie sygnowane zwrotem kodu 429 wskazujący, że Twoja aplikacja powinna przyhamować. ", + }, + url: { + title: "Informacje o URL", + subtitle: "API jest dostępne przez następujące bazowe URL: ", + }, + endpoints: { + title: "Dostępne endpointy", + subtitle: "Lista dostępnych endpointów znajduje się tutaj: ", + }, + fetching: { + title: "Poradnik - Podstawowe pobieranie", + subtitle: "Przykład pozwalający otrzymać głosy z danego ID filmu na YouTube: ", + title2: "Przykładowe żądanie: ", + url: "URL żądania: ", + method: "Metoda żądania: ", + headers: "Nagłówki: ", + response: "Odpowiedź: ", + error1: 'Nieprawidłowy ID filmu zwróci kod 404 "Not Found"', + error2: + 'Nieprawidłowo sformatowany ID filmu zwróci kod 400 "Bad Request"', + }, + }, + help: { + name: "Pomoc", + title: "Rozwiązywanie problemów", + bullet1: "Upewnij się, że masz zainstalowaną najnowszą wersję rozszerzenia, ", + bullet11: "obecnie.", + bullet2: + "Spróbuj usunąć rozszerzenie i zainstalować je ponownie, a następnie zrestartować przeglądarkę (wszystkie aktywne okna, nie tylko jedną kartę)", + bullet3: "Upewnij się, że ten link się otwiera: ", + bullet31: "powinno się wyświetlić w czystym tekście: ", + bullet4: "Jeśli nic powyżej nie pomoże - zgłoś problem na", + bullet41: "na naszym", + bullet4a: "Powiedz z jakiego systemu operacyjnego korzystasz, oraz podaj nazwę i wersję przeglądarki", + bullet4b: + "Wykonaj zrzut ekranu problematycznej strony (tj. strony filmu na YouTube) z otwartą konsolą (naciśnij ", + bullet4b1: ") - przykładowy zrzut poniżej.", + bullet4c: + "Wykonaj zrzut ekranu strony z rozszerzeniami Twojej przeglądarki, wraz z zainstalowanym rozszerzeniem.", + bullet4c1: "Aby zobaczyć rozszerzenia, wklej do paska adresowego: ", + firefox: "dla Firefox", + chrome: "dla Chrome, Edge, Brave, Opera oraz Vivaldi", + }, + faq: { + name: "FAQ", + title: "Często zadawane pytania", + subtitle: "Wciąż masz pytania? Zapraszamy na naszego Discorda!", + bullet1: "Skąd rozszerzenie otrzymuje swoje dane?", + bullet1text: + "Kombinacja danych zarchiwizowanych przed wyłączeniem oficjalnego API do łapek w dół, oraz ekstrapolowane zachowania użytkowników rozszerzenia.", + bullet2: "Dlaczego licznik łapek w dół się nie aktualizuje?", + bullet2text: + "Na chwilę obecną łapki w dół są buforowane i nie są często aktualizowane. Zależy to od popularności filmu, jednak może to zająć klika godzin lub kilka dni żeby licznik został zaktualizowany. ", + bullet3: "Jak to działa?", + bullet3text: + "Rozszerzenie pobiera ID filmu, który oglądasz, a następnie używając naszego API pobiera liczbę łapek w dół (oraz inne pola, takie jak wyświetlenia, łapki w górę itd.). Rozszerzenie potem wyświetla liczbę łapek w dół oraz proporcje łapek na stronie. Jeżeli dasz filmowi łapkę w górę bądź w dół, ta akcja zostanie zarejestrowana i wysłana do bazy danych, aby dokonać ekstrapolacji dokładnej liczby łapek w dół.", + bullet4: "Czy mogę Wam udostępnić liczbę łapek w dół na moich filmach?", + bullet4text: + "Wkrótce. Przyglądamy się możliwościom użycia OAuth lub innego klucza API tylko do odczytu z ograniczonym zakresem, aby twórcy mogli udostępniać zweryfikowaną liczbę swoich łapek w dół.", + bullet5: "Jakie dane zbieracie i co z nimi robicie?", + bullet5text: + 'Rozszerzenie zbiera tylko dane wymagane do poprawnego działania, takie jak adres IP lub ID oglądanego filmu. Dane te nigdy nie będą sprzedane osobom trzecim. Jeżeli chcesz przeczytać więcej o tym, jak radzimy sobie z bezpieczeństwem i prywatnością, sprawdź nasze FAQ bezpieczeństwa.', + bullet6: "Jak działa API/Backend?", + bullet6text: + "Backend używa danych zarchiwizowanych w momencie, gdy API YouTube wciąż zwracało liczby łapek w dół, oraz danych zebranych i ekstrapolowanych od użytkowników rozszerzenia. W niedalekiej przyszłości pozwolimy twórcom łatwo i bezpieczne udostępniać swoje liczniki łapek w dół oraz będziemy dodawać dane zarchiwizowane przez ArchiveTeam (4,56 miliardów filmów) do naszej bazy danych. Można też obejrzeć film na ten temat. ", + bullet7: "Dlaczego licznik łapek w dół pokazuje 'WYŁĄCZONE PRZEZ TWÓRCĘ'?", + bullet7text: + "Czasami świeżo wrzucony film pokazuje 'WYŁĄCZONE PRZEZ TWÓRCĘ' nawet wtedy, gdy twórca nie wyłączył łapek. Jest to spowodowane naszym sposobem wykrywania wyłączonych łapek, powinno zniknąć za parę godzin, albo po oddaniu łapki i odświeżeniu strony (oby).", + }, + donate: { + name: "Wesprzyj", + subtitle: + "Możesz wesprzeć pieniężnie nasze starania w utrzymaniu wolnego internetu!", + }, + links: { + name: "Linki", + title: "Linki projektu", + subtitle: "Linki do projektu i ich developerów", + contact: "Skontaktuj się ze mną", + translators: "Tłumacze", + coolProjects: "Fajne projekty", + sponsorBlockDescription: "Pomiń reklamy zintegrowane z filmem", + filmotDescription: "Wyszukaj filmy na YouTube po napisach", + }, +}; diff --git a/Website/layouts/default.vue b/Website/layouts/default.vue index 2aa63b37..1fb3518c 100644 --- a/Website/layouts/default.vue +++ b/Website/layouts/default.vue @@ -109,6 +109,7 @@ export default { // { name: "Deutsch", locale: "de" }, { name: "Українська", locale: "uk" }, { name: "한국어", locale: "ko" }, + { name: "Polski", locale: "pl"}, ], alert: { show: false, diff --git a/Website/nuxt.config.js b/Website/nuxt.config.js index 5d126e5a..b4013236 100644 --- a/Website/nuxt.config.js +++ b/Website/nuxt.config.js @@ -7,6 +7,7 @@ import ja from "./_locales/ja"; import fr from "./_locales/fr"; import uk from "./_locales/uk"; import ko from "./_locales/ko"; +import pl from "./_locales/pl"; // import de from "./_locales/de"; // ... export default { @@ -52,7 +53,7 @@ export default { // Vuetify module configuration: https://go.nuxtjs.dev/config-vuetify vuetify: { lang: { - locales: { en, es, tr, ru, cs, ja, fr, uk, ko /* de, ...*/ }, + locales: { en, es, tr, ru, cs, ja, fr, uk, ko, pl /* de, ...*/ }, current: "en", }, theme: { diff --git a/Website/pages/links.vue b/Website/pages/links.vue index d438594d..d0d4c34e 100644 --- a/Website/pages/links.vue +++ b/Website/pages/links.vue @@ -117,6 +117,10 @@ export default { tag: "dsty#1614", lang: "Українська", }, + { + tag: "itsbudyn#6502", + lang: "Polski", + } ], coolProjects: [ { diff --git a/extension-description-store-polish.txt b/extension-description-store-polish.txt new file mode 100644 index 00000000..d65a14a6 --- /dev/null +++ b/extension-description-store-polish.txt @@ -0,0 +1,20 @@ +Return YouTube Dislike przywraca możliwość obejrzenia liczby łapek w dół na YouTube. + +Jeśli nie działa: otwórz kartę rozszerzeń (chrome://extensions/), wyłącz je i włącz ponownie. Powinno to naprawić większość problemów, ponieważ jest bug w Chromium, który psuje rozszerzenie w niektórych przypadkach. Miejmy nadzieję, że zespół Chromium naprawi to niedługo. + +Od 13 grudnia 2021, Youtube usunął możliwość obejrzenia liczby łapek w dół z ich API. +Celem tego rozszerzenia jest przywrócenie mocy użytkownikom, używając kombinacji zarchiwizowanych danych o łapkach w górę i dół, a także tych oddanych przez użytkowników rozszerzenia, aby pokazać najdokładniejsze statystyki. + +Obecnie zawiera 200+ milionów łapek z filmów przechowanych przed 13 grudnia 2021. + +Aktywnie rośnie i jest na czasie z filmami wrzucanymi po 13 grudnia 2021. + +Im więcej osób będzie korzystać z rozszerzenia, tym dokładniejsze ono będzie. + +Mniej oglądane filmy wrzucone po 13 grudnia 2021 mogą mieć mniej dokładne dane niż te popularniejsze. + +Rozszerzenie jest w fazie aktywnego rozwoju, więc jeżeli doświadczasz jakichkolwiek problemów, nie krępuj się i zgłoś je na naszej stronie na GitHub bądź na naszym serwerze Discord. + +Więcej funkcjonalności wkrótce! + +https://github.com/Anarios/return-youtube-dislike From c4961aeb4bc4c4af074e7cf3dff2507834c854ac Mon Sep 17 00:00:00 2001 From: Moondarker Date: Fri, 1 Dec 2023 12:49:55 +0300 Subject: [PATCH 108/136] Userscript fix for the latest YouTube update (#992) --- Extensions/UserScript/Return Youtube Dislike.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index 293c377d..5b8f2364 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -2,7 +2,7 @@ // @name Return YouTube Dislike // @namespace https://www.returnyoutubedislike.com/ // @homepage https://www.returnyoutubedislike.com/ -// @version 3.1.2 +// @version 3.1.3 // @encoding utf-8 // @description Return of the YouTube Dislike, Based off https://www.returnyoutubedislike.com/ // @icon https://github.com/Anarios/return-youtube-dislike/raw/main/Icons/Return%20Youtube%20Dislike%20-%20Transparent.png @@ -103,14 +103,14 @@ function getDislikeButton() { return getButtons().children[0].tagName === "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" ? getButtons().children[0].children[1] === undefined ? document.querySelector("#segmented-dislike-button") : getButtons().children[0].children[1] - : getButtons().children[1]; + : getButtons().querySelector("dislike-button-view-model") ?? getButtons().children[1]; } function getLikeButton() { return getButtons().children[0].tagName === "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" ? document.querySelector("#segmented-like-button") !== null ? document.querySelector("#segmented-like-button") : getButtons().children[0].children[0] - : getButtons().children[0]; + : getButtons().querySelector("like-button-view-model") ?? getButtons().children[0]; } function getLikeTextContainer() { From 1e2935b2fa50234cf295fccc8d6c5b9f942fdcab Mon Sep 17 00:00:00 2001 From: Moondarker Date: Fri, 1 Dec 2023 12:51:15 +0300 Subject: [PATCH 109/136] Extension fix for the latest YouTube update (#991) * Extension fix for the latest YouTube update * Bump version to reflect real state of things --- Extensions/combined/_locales/cs/messages.json | 2 +- Extensions/combined/_locales/de/messages.json | 2 +- Extensions/combined/_locales/el/messages.json | 2 +- Extensions/combined/_locales/en/messages.json | 2 +- Extensions/combined/_locales/es/messages.json | 2 +- Extensions/combined/_locales/fr/messages.json | 2 +- Extensions/combined/_locales/it/messages.json | 2 +- Extensions/combined/_locales/ja/messages.json | 2 +- Extensions/combined/_locales/ko/messages.json | 2 +- Extensions/combined/_locales/nl/messages.json | 2 +- Extensions/combined/_locales/pt_BR/messages.json | 2 +- Extensions/combined/_locales/ru/messages.json | 2 +- Extensions/combined/_locales/sv_SE/messages.json | 2 +- Extensions/combined/_locales/tr/messages.json | 2 +- Extensions/combined/_locales/uk/messages.json | 2 +- Extensions/combined/manifest-chrome.json | 2 +- Extensions/combined/manifest-firefox.json | 2 +- Extensions/combined/src/buttons.js | 8 ++++++-- 18 files changed, 23 insertions(+), 19 deletions(-) diff --git a/Extensions/combined/_locales/cs/messages.json b/Extensions/combined/_locales/cs/messages.json index d49fac7c..edbd284e 100644 --- a/Extensions/combined/_locales/cs/messages.json +++ b/Extensions/combined/_locales/cs/messages.json @@ -42,7 +42,7 @@ "message": "aktualizovat na" }, "version30installed": { - "message": "Verze 3.0.0.11 nainstalována" + "message": "Verze 3.0.0.13 nainstalována" }, "whatsnew": { "message": "Co je nového" diff --git a/Extensions/combined/_locales/de/messages.json b/Extensions/combined/_locales/de/messages.json index 0ca86683..8f223473 100644 --- a/Extensions/combined/_locales/de/messages.json +++ b/Extensions/combined/_locales/de/messages.json @@ -36,7 +36,7 @@ "message": "aktualisieren auf" }, "version30installed": { - "message": "Version 3.0.0.11 installiert" + "message": "Version 3.0.0.13 installiert" }, "whatsnew": { "message": "Was ist neu" diff --git a/Extensions/combined/_locales/el/messages.json b/Extensions/combined/_locales/el/messages.json index bd112d7a..612627ce 100644 --- a/Extensions/combined/_locales/el/messages.json +++ b/Extensions/combined/_locales/el/messages.json @@ -84,7 +84,7 @@ "message": "Ενημέρωση σε" }, "version30installed": { - "message": "Εκδοση 3.0.0.11 εγκαταστάθηκε" + "message": "Εκδοση 3.0.0.13 εγκαταστάθηκε" }, "whatsnew": { "message": "Τί νέο υπάρχει" diff --git a/Extensions/combined/_locales/en/messages.json b/Extensions/combined/_locales/en/messages.json index 9d8823c8..0c8bc57b 100644 --- a/Extensions/combined/_locales/en/messages.json +++ b/Extensions/combined/_locales/en/messages.json @@ -84,7 +84,7 @@ "message": "Update to" }, "version30installed": { - "message": "Version 3.0.0.11 installed" + "message": "Version 3.0.0.13 installed" }, "whatsnew": { "message": "What's new" diff --git a/Extensions/combined/_locales/es/messages.json b/Extensions/combined/_locales/es/messages.json index 10f24d7e..7a2f1c85 100644 --- a/Extensions/combined/_locales/es/messages.json +++ b/Extensions/combined/_locales/es/messages.json @@ -84,7 +84,7 @@ "message": "actualizar a" }, "version30installed": { - "message": "Versión 3.0.0.11 instalada" + "message": "Versión 3.0.0.13 instalada" }, "whatsnew": { "message": "Novedades" diff --git a/Extensions/combined/_locales/fr/messages.json b/Extensions/combined/_locales/fr/messages.json index 1ad8a46a..a329d619 100644 --- a/Extensions/combined/_locales/fr/messages.json +++ b/Extensions/combined/_locales/fr/messages.json @@ -42,7 +42,7 @@ "message": "mettre à jour vers" }, "version30installed": { - "message": "Version 3.0.0.11 installée" + "message": "Version 3.0.0.13 installée" }, "whatsnew": { "message": "Quoi de neuf" diff --git a/Extensions/combined/_locales/it/messages.json b/Extensions/combined/_locales/it/messages.json index c1d03984..3b0531a0 100644 --- a/Extensions/combined/_locales/it/messages.json +++ b/Extensions/combined/_locales/it/messages.json @@ -36,7 +36,7 @@ "message": "aggiorna a" }, "version30installed": { - "message": "Versione 3.0.0.11 installata" + "message": "Versione 3.0.0.13 installata" }, "whatsnew": { "message": "Quali sono le novità" diff --git a/Extensions/combined/_locales/ja/messages.json b/Extensions/combined/_locales/ja/messages.json index be6d0433..97bfb461 100644 --- a/Extensions/combined/_locales/ja/messages.json +++ b/Extensions/combined/_locales/ja/messages.json @@ -42,7 +42,7 @@ "message": "アップデート:" }, "version30installed": { - "message": "バージョン 3.0.0.11 がインストールされました。" + "message": "バージョン 3.0.0.13 がインストールされました。" }, "whatsnew": { "message": "新機能" diff --git a/Extensions/combined/_locales/ko/messages.json b/Extensions/combined/_locales/ko/messages.json index 7e0fa89a..7557ecc3 100644 --- a/Extensions/combined/_locales/ko/messages.json +++ b/Extensions/combined/_locales/ko/messages.json @@ -84,7 +84,7 @@ "message": "업데이트" }, "version30installed": { - "message": "3.0.0.11 버전이 설치됨" + "message": "3.0.0.13 버전이 설치됨" }, "whatsnew": { "message": "새로운 점" diff --git a/Extensions/combined/_locales/nl/messages.json b/Extensions/combined/_locales/nl/messages.json index 4ee2e36f..a7f04f63 100644 --- a/Extensions/combined/_locales/nl/messages.json +++ b/Extensions/combined/_locales/nl/messages.json @@ -84,7 +84,7 @@ "message": "Update naar" }, "version30installed": { - "message": "Versie 3.0.0.11 geïnstalleerd" + "message": "Versie 3.0.0.13 geïnstalleerd" }, "whatsnew": { "message": "Wat is er nieuw" diff --git a/Extensions/combined/_locales/pt_BR/messages.json b/Extensions/combined/_locales/pt_BR/messages.json index ed3f6aae..d6d747ed 100644 --- a/Extensions/combined/_locales/pt_BR/messages.json +++ b/Extensions/combined/_locales/pt_BR/messages.json @@ -42,7 +42,7 @@ "message": "Atualizar para" }, "version30installed": { - "message": "Versão 3.0.0.11 instalada" + "message": "Versão 3.0.0.13 instalada" }, "whatsnew": { "message": "O que há de novo?" diff --git a/Extensions/combined/_locales/ru/messages.json b/Extensions/combined/_locales/ru/messages.json index f71752cc..b2bd4286 100644 --- a/Extensions/combined/_locales/ru/messages.json +++ b/Extensions/combined/_locales/ru/messages.json @@ -36,7 +36,7 @@ "message": "обновление до" }, "version30installed": { - "message": "Версия 3.0.0.11 установлена" + "message": "Версия 3.0.0.13 установлена" }, "whatsnew": { "message": "Что нового" diff --git a/Extensions/combined/_locales/sv_SE/messages.json b/Extensions/combined/_locales/sv_SE/messages.json index 2011c83e..35fa57c3 100644 --- a/Extensions/combined/_locales/sv_SE/messages.json +++ b/Extensions/combined/_locales/sv_SE/messages.json @@ -84,7 +84,7 @@ "message": "Uppdatera till" }, "version30installed": { - "message": "Version 3.0.0.11 installerad" + "message": "Version 3.0.0.13 installerad" }, "whatsnew": { "message": "Vad är nytt" diff --git a/Extensions/combined/_locales/tr/messages.json b/Extensions/combined/_locales/tr/messages.json index 17e9cd5c..a0ebde64 100644 --- a/Extensions/combined/_locales/tr/messages.json +++ b/Extensions/combined/_locales/tr/messages.json @@ -84,7 +84,7 @@ "message": "Şu sürüme güncelle" }, "version30installed": { - "message": "Sürüm 3.0.0.11 yüklendi" + "message": "Sürüm 3.0.0.13 yüklendi" }, "whatsnew": { "message": "Yeni Ne Var" diff --git a/Extensions/combined/_locales/uk/messages.json b/Extensions/combined/_locales/uk/messages.json index bbe38903..6c87e62c 100644 --- a/Extensions/combined/_locales/uk/messages.json +++ b/Extensions/combined/_locales/uk/messages.json @@ -84,7 +84,7 @@ "message": "Оновлення до" }, "version30installed": { - "message": "Версію 3.0.0.11 встановлено" + "message": "Версію 3.0.0.13 встановлено" }, "whatsnew": { "message": "Що нового" diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index de118dc9..b0bbe32e 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.10", + "version": "3.0.0.13", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index e35a599d..49311619 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.10", + "version": "3.0.0.13", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 807cfbc9..77cb0fe4 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -36,7 +36,7 @@ function getLikeButton() { return getButtons().children[0].tagName === "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" ? document.querySelector("#segmented-like-button") !== null ? document.querySelector("#segmented-like-button") : getButtons().children[0].children[0] - : getButtons().children[0]; + : getButtons().querySelector("like-button-view-model") ?? getButtons().children[0]; } function getLikeTextContainer() { @@ -55,7 +55,11 @@ function getDislikeButton() { return getButtons().children[0].children[1]; } } else { - return getButtons().children[1]; + if (getButtons().querySelector("dislike-button-view-model")) { + return getButtons().querySelector("dislike-button-view-model"); + } else { + return getButtons().children[1]; + } } } From fc76589e7728eba63f351c02331ab4ce92824057 Mon Sep 17 00:00:00 2001 From: Dmitrii Selivanov Date: Fri, 1 Dec 2023 13:21:25 +0100 Subject: [PATCH 110/136] Update manifest-firefox.json --- Extensions/combined/manifest-firefox.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json index 49311619..7f0fb23a 100644 --- a/Extensions/combined/manifest-firefox.json +++ b/Extensions/combined/manifest-firefox.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.13", + "version": "3.0.0.12", "manifest_version": 2, "background": { "scripts": ["ryd.background.js"] From 0105c6c141f88e671da62bc75a865bf391f989a3 Mon Sep 17 00:00:00 2001 From: Dmitrii Selivanov Date: Fri, 1 Dec 2023 13:21:39 +0100 Subject: [PATCH 111/136] Update manifest-chrome.json --- Extensions/combined/manifest-chrome.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json index b0bbe32e..9dc609c9 100644 --- a/Extensions/combined/manifest-chrome.json +++ b/Extensions/combined/manifest-chrome.json @@ -2,7 +2,7 @@ "name": "__MSG_extensionName__", "description": "__MSG_extensionDesc__", "default_locale": "en", - "version": "3.0.0.13", + "version": "3.0.0.12", "manifest_version": 3, "background": { "service_worker": "ryd.background.js" From b6367ae334875b93dad96f56357fa08e6ca1e4c2 Mon Sep 17 00:00:00 2001 From: Anarios Date: Mon, 4 Dec 2023 11:04:14 +0100 Subject: [PATCH 112/136] 3.0.0.13 release - dynamic selectors config loading from server added. --- Extensions/combined/ryd.content-script.js | 53 +- Extensions/combined/src/bar.js | 2 +- Extensions/combined/src/buttons.js | 65 +- Extensions/combined/src/state.js | 53 +- Extensions/combined/src/utils.js | 23 + Website/pages/donate.vue | 5 - Website/pages/index.vue | 5 +- Website/pages/pay/yoomoney.vue | 20 - package-lock.json | 9779 +++++++-------------- package.json | 15 +- webpack.config.js | 5 + 11 files changed, 3282 insertions(+), 6743 deletions(-) delete mode 100644 Website/pages/pay/yoomoney.vue diff --git a/Extensions/combined/ryd.content-script.js b/Extensions/combined/ryd.content-script.js index acd06e31..37271f60 100644 --- a/Extensions/combined/ryd.content-script.js +++ b/Extensions/combined/ryd.content-script.js @@ -1,77 +1,62 @@ //--- Import Button Functions ---// import { getButtons, - getLikeButton, - getDislikeButton, - checkForSignInButton, + + + } from "./src/buttons"; //--- Import State Functions ---// import { - isMobile, isShorts, - isVideoDisliked, - isVideoLiked, - getState, - setState, setInitialState, - setLikes, - setDislikes, - getLikeCountFromButton, - LIKED_STATE, - DISLIKED_STATE, - NEUTRAL_STATE, initExtConfig, } from "./src/state"; //--- Import Video & Browser Functions ---// import { - numberFormat, getBrowser, - getVideoId, isVideoLoaded, cLog, } from "./src/utils"; import { createRateBar } from "./src/bar"; import { - sendVote, - likeClicked, - dislikeClicked, addLikeDislikeEventListener, storageChangeHandler, } from "./src/events"; -initExtConfig(); +await initExtConfig(); let jsInitChecktimer = null; let isSetInitialStateDone = false; -function setEventListeners(evt) { - function checkForJS_Finish() { +async function setEventListeners (evt) { + async function checkForJS_Finish () { try { if (isShorts() || (getButtons()?.offsetParent && isVideoLoaded())) { + clearInterval(jsInitChecktimer); + jsInitChecktimer = null; addLikeDislikeEventListener(); - setInitialState(); + await setInitialState(); isSetInitialStateDone = true; getBrowser().storage.onChanged.addListener(storageChangeHandler); - clearInterval(jsInitChecktimer); - jsInitChecktimer = null; - } - } catch(exception) { - if(!isSetInitialStateDone) { - setInitialState(); + } + } catch (exception) { + if (!isSetInitialStateDone) { + cLog("error"); + await setInitialState(); } } } - - jsInitChecktimer = setInterval(checkForJS_Finish, 111); + if (jsInitChecktimer !== null) clearInterval(jsInitChecktimer); + jsInitChecktimer = setInterval(await checkForJS_Finish, 111); } -setEventListeners(); +await setEventListeners(); -document.addEventListener("yt-navigate-finish", function (event) { +document.addEventListener("yt-navigate-finish", async function (event) { if (jsInitChecktimer !== null) clearInterval(jsInitChecktimer); window.returnDislikeButtonlistenersSet = false; - setEventListeners(); + await setEventListeners(); }); diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index 39030b5e..6ad7e2a9 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -60,7 +60,7 @@ function createRateBar(likes, dislikes) { colorLikeStyle = "; background-color: " + getColorFromTheme(true); colorDislikeStyle = "; background-color: " + getColorFromTheme(false); } - let actions = isNewDesign() && getButtons().id === "top-level-buttons-computed" + let actions = isNewDesign() && getButtons().id === "top-level-buttons-computed" ? getButtons() : document.getElementById("menu-container"); ( actions || document.querySelector("ytm-slim-video-action-bar-renderer") diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js index 77cb0fe4..d483b2a0 100644 --- a/Extensions/combined/src/buttons.js +++ b/Extensions/combined/src/buttons.js @@ -1,16 +1,15 @@ -import { isMobile, isShorts } from "./state"; -import { isInViewport } from "./utils"; +import { isMobile, isShorts, extConfig } from "./state"; +import { isInViewport, querySelector, querySelectorAll } from './utils'; function getButtons() { //--- If Watching Youtube Shorts: ---// if (isShorts()) { - let elements = document.querySelectorAll( - isMobile() - ? "ytm-like-button-renderer" - : "#like-button > ytd-like-button-renderer" - ); + let elements = isMobile() + ? querySelectorAll(extConfig.selectors.buttons.shorts.mobile) + : querySelectorAll(extConfig.selectors.buttons.shorts.desktop); + for (let element of elements) { - //Youtube Shorts can have multiple like/dislike buttons when scrolling through videos + //YouTube Shorts can have multiple like/dislike buttons when scrolling through videos //However, only one of them should be visible (no matter how you zoom) if (isInViewport(element)) { return element; @@ -19,48 +18,33 @@ function getButtons() { } //--- If Watching On Mobile: ---// if (isMobile()) { - return document.querySelector(".slim-video-action-bar-actions"); + return document.querySelector(extConfig.selectors.buttons.regular.mobile); } //--- If Menu Element Is Displayed: ---// - if (document.getElementById("menu-container")?.offsetParent === null) { - return document.querySelector("ytd-menu-renderer.ytd-watch-metadata > div"); + if (querySelector(extConfig.selectors.menuContainer)?.offsetParent === null) { + return querySelector(extConfig.selectors.buttons.regular.desktopMenu) //--- If Menu Element Isn't Displayed: ---// } else { - return document - .getElementById("menu-container") - ?.querySelector("#top-level-buttons-computed"); + return querySelector(extConfig.selectors.buttons.regular.desktopNoMenu); } } function getLikeButton() { return getButtons().children[0].tagName === - "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER" - ? document.querySelector("#segmented-like-button") !== null ? document.querySelector("#segmented-like-button") : getButtons().children[0].children[0] - : getButtons().querySelector("like-button-view-model") ?? getButtons().children[0]; + 'YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER' + ? querySelector(extConfig.selectors.buttons.likeButton.segmented) ?? querySelector(extConfig.selectors.buttons.likeButton.segmentedGetButtons, getButtons()) + : querySelector(extConfig.selectors.buttons.likeButton.notSegmented, getButtons()) } function getLikeTextContainer() { - return ( - getLikeButton().querySelector("#text") ?? - getLikeButton().getElementsByTagName("yt-formatted-string")[0] ?? - getLikeButton().querySelector("span[role='text']") - ); + return querySelector(extConfig.selectors.likeTextContainer, getLikeButton()); } function getDislikeButton() { - if (getButtons().children[0].tagName === 'YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER') { - if (getButtons().children[0].children[1] === undefined) { - return document.querySelector('#segmented-dislike-button'); - } else { - return getButtons().children[0].children[1]; - } - } else { - if (getButtons().querySelector("dislike-button-view-model")) { - return getButtons().querySelector("dislike-button-view-model"); - } else { - return getButtons().children[1]; - } - } + return getButtons().children[0].tagName === + 'YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER' + ? querySelector(extConfig.selectors.buttons.dislikeButton.segmented) ?? querySelector(extConfig.selectors.buttons.dislikeButton.segmentedGetButtons, getButtons()) + : querySelector(extConfig.selectors.buttons.dislikeButton.notSegmented, getButtons()) } function createDislikeTextContainer() { @@ -82,10 +66,13 @@ function createDislikeTextContainer() { } function getDislikeTextContainer() { - let result = - getDislikeButton().querySelector("#text") ?? - getDislikeButton().getElementsByTagName("yt-formatted-string")[0] ?? - getDislikeButton().querySelector("span[role='text']"); + let result; + for (const selector of extConfig.selectors.dislikeTextContainer) { + result = getDislikeButton().querySelector(selector); + if (result !== null) { + break; + } + } if (result == null) { result = createDislikeTextContainer(); } diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 8f113f38..76ee2558 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -11,8 +11,8 @@ import { getVideoId, cLog, numberFormat, - getColorFromTheme, -} from "./utils"; + getColorFromTheme, querySelector +} from './utils'; import { localize } from "./utils"; import { createStarRating } from "./starRating"; @@ -31,6 +31,33 @@ let extConfig = { showTooltipPercentage: false, tooltipPercentageMode: "dash_like", numberDisplayReformatLikes: false, + selectors: { + dislikeTextContainer: [], + likeTextContainer: [], + buttons: { + shorts: { + mobile: [], + desktop: [], + }, + regular: { + mobile: [], + desktopMenu: [], + desktopNoMenu: [], + }, + likeButton: { + segmented: [], + segmentedGetButtons: [], + notSegmented: [] + }, + dislikeButton: { + segmented: [], + segmentedGetButtons: [], + notSegmented: [] + } + }, + menuContainer: [], + roundedDesign: [], + } }; let storedData = { @@ -52,7 +79,7 @@ function isNewDesign() { } function isRoundedDesign() { - return document.getElementById("segmented-like-button") !== null; + return querySelector(extConfig.selectors.roundedDesign) !== null; } let mutationObserver = new Object(); @@ -240,6 +267,7 @@ async function setState(storedData) { ? LIKED_STATE : NEUTRAL_STATE; let statsSet = false; + cLog("Video is loaded. Adding buttons..."); let videoId = getVideoId(window.location.href); let likeCount = getLikeCountFromButton() || null; @@ -266,11 +294,11 @@ async function setState(storedData) { } } -function setInitialState() { - setState(storedData); +async function setInitialState () { + await setState(storedData); } -function initExtConfig() { +async function initExtConfig () { initializeDisableVoteSubmission(); initializeColoredThumbs(); initializeColoredBar(); @@ -279,6 +307,19 @@ function initExtConfig() { initializeTooltipPercentage(); initializeTooltipPercentageMode(); initializeNumberDisplayReformatLikes(); + await initializeSelectors(); +} + +async function initializeSelectors () { + console.log("initializing selectors") + let result = await fetch(`${apiUrl}/configs/selectors`, { + method: "GET", + headers: { + Accept: "application/json", + } + }).then((response) => response.json()).catch((error) => {}); + extConfig.selectors = result ?? extConfig.selectors; + console.log(result) } function initializeDisableVoteSubmission() { diff --git a/Extensions/combined/src/utils.js b/Extensions/combined/src/utils.js index e7898150..fc1c0826 100644 --- a/Extensions/combined/src/utils.js +++ b/Extensions/combined/src/utils.js @@ -143,6 +143,27 @@ function getColorFromTheme(voteIsLike) { return colorString; } +function querySelector(selectors, element) { + let result; + for (const selector of selectors) { + result = (element ?? document).querySelector(selector); + if (result !== null) { + return result; + } + } +} + +function querySelectorAll(selectors) { + let result; + for (const selector of selectors) { + result = document.querySelectorAll(selector); + if (result.length !== 0) { + return result; + } + } + return result; +} + export { numberFormat, getBrowser, @@ -152,4 +173,6 @@ export { cLog, getColorFromTheme, localize, + querySelector, + querySelectorAll }; diff --git a/Website/pages/donate.vue b/Website/pages/donate.vue index ec63e14b..1a24d476 100644 --- a/Website/pages/donate.vue +++ b/Website/pages/donate.vue @@ -10,10 +10,6 @@ mdi-patreon Patreon - - mdi-cash-multiple - Yoomoney - mdi-bitcoin Crypto @@ -34,7 +30,6 @@ export default { }, data: () => ({ patreonLink: "https://www.patreon.com/returnyoutubedislike", - yoomoneyLink: "/pay/yoomoney", cryptoLink: "/pay/crypto", }), }; diff --git a/Website/pages/index.vue b/Website/pages/index.vue index 745631fa..b150473c 100644 --- a/Website/pages/index.vue +++ b/Website/pages/index.vue @@ -69,7 +69,7 @@

-
+

mdi-heart {{ $vuetify.lang.t("$vuetify.home.sponsors") }} @@ -108,9 +108,8 @@ export default { githubLink: "https://github.com/Anarios/return-youtube-dislike", discordLink: "https://discord.gg/mYnESY4Md5", sponsors: [ - { name: "Piepacker", link: "https://piepacker.com/" }, { - name: "Become our sponsor", + name: "Become our sponsor and be listed here", link: "https://www.patreon.com/join/returnyoutubedislike/checkout?rid=8008601", }, ], diff --git a/Website/pages/pay/yoomoney.vue b/Website/pages/pay/yoomoney.vue deleted file mode 100644 index 95fccc01..00000000 --- a/Website/pages/pay/yoomoney.vue +++ /dev/null @@ -1,20 +0,0 @@ -