[Feature] Add trending pages for music, gaming & movies (#1483)

* Add other trending pages

* Add better formatting

* fixed trending cache

* Fix Trending page title

Changes in PR #1321 make this necessary

* update locale files

* add accessibility improvements

accessibility improvements

* focus tab on reload

Co-authored-by: Preston <freetubeapp@protonmail.com>
This commit is contained in:
ChunkyProgrammer 2021-08-21 17:08:38 -04:00 committed by GitHub
parent 703a8da427
commit 011ee17711
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
62 changed files with 280 additions and 67 deletions

View File

@ -34,7 +34,7 @@
fixed-width
/>
<p class="navLabel">
{{ $t("Trending") }}
{{ $t("Trending.Trending") }}
</p>
</div>
<div

View File

@ -63,7 +63,7 @@ const router = new Router({
{
path: '/trending',
meta: {
title: 'Trending',
title: 'Trending.Trending',
icon: 'fa-home'
},
component: Trending

View File

@ -5,7 +5,12 @@ const state = {
isSideNavOpen: false,
sessionSearchHistory: [],
popularCache: null,
trendingCache: null,
trendingCache: {
default: null,
music: null,
gaming: null,
movies: null
},
showProgressBar: false,
progressBarPercentage: 0,
regionNames: [],
@ -823,8 +828,8 @@ const mutations = {
state.popularCache = value
},
setTrendingCache (state, value) {
state.trendingCache = value
setTrendingCache (state, value, page) {
state.trendingCache[page] = value
},
setSearchSortBy (state, value) {

View File

@ -73,7 +73,6 @@
padding: 15px;
font-size: 15px;
cursor: pointer;
text-decoration: underline;
align-self: flex-end;
-webkit-transition: background 0.2s ease-out;
-moz-transition: background 0.2s ease-out;
@ -81,6 +80,10 @@
transition: background 0.2s ease-out;
}
.selectedTab {
text-decoration: underline;
}
.tab:hover {
background-color: var(--side-nav-hover-color);
-moz-transition: background 0.2s ease-in;

View File

@ -65,18 +65,21 @@
>
<div
class="tab"
:class="(currentTab==='videos')?'selectedTab':''"
@click="changeTab('videos')"
>
{{ $t("Channel.Videos.Videos").toUpperCase() }}
</div>
<div
class="tab"
:class="(currentTab==='playlists')?'selectedTab':''"
@click="changeTab('playlists')"
>
{{ $t("Channel.Playlists.Playlists").toUpperCase() }}
</div>
<div
class="tab"
:class="(currentTab==='about')?'selectedTab':''"
@click="changeTab('about')"
>
{{ $t("Channel.About.About").toUpperCase() }}

View File

@ -10,6 +10,35 @@
right: 10px;
}
.trendingInfoTabs {
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.selectedTab {
text-decoration: underline;
}
.tab {
text-align: center;
padding: 15px;
font-size: 15px;
cursor: pointer;
align-self: flex-end;
-webkit-transition: background 0.2s ease-out;
-moz-transition: background 0.2s ease-out;
-o-transition: background 0.2s ease-out;
transition: background 0.2s ease-out;
}
.tab:hover, .tab:focus {
background-color: var(--side-nav-hover-color);
-moz-transition: background 0.2s ease-in;
-o-transition: background 0.2s ease-in;
transition: background 0.2s ease-in;
}
@media only screen and (max-width: 350px) {
.floatingTopButton {
position: absolute

View File

@ -4,7 +4,9 @@ import FtCard from '../../components/ft-card/ft-card.vue'
import FtLoader from '../../components/ft-loader/ft-loader.vue'
import FtElementList from '../../components/ft-element-list/ft-element-list.vue'
import FtIconButton from '../../components/ft-icon-button/ft-icon-button.vue'
import FtFlexBox from '../../components/ft-flex-box/ft-flex-box.vue'
import $ from 'jquery'
import ytrend from 'yt-trending-scraper'
export default Vue.extend({
@ -13,12 +15,20 @@ export default Vue.extend({
'ft-card': FtCard,
'ft-loader': FtLoader,
'ft-element-list': FtElementList,
'ft-icon-button': FtIconButton
'ft-icon-button': FtIconButton,
'ft-flex-box': FtFlexBox
},
data: function () {
return {
isLoading: false,
shownResults: []
shownResults: [],
currentTab: 'default',
tabInfoValues: [
'default',
'music',
'gaming',
'movies'
]
}
},
computed: {
@ -42,13 +52,49 @@ export default Vue.extend({
}
},
mounted: function () {
if (this.trendingCache && this.trendingCache.length > 0) {
if (this.trendingCache[this.currentTab] && this.trendingCache[this.currentTab].length > 0) {
this.shownResults = this.trendingCache
} else {
this.getTrendingInfo()
}
},
methods: {
changeTab: function (tab, event) {
if (event instanceof KeyboardEvent) {
if (event.key === 'Tab') {
return
} else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
// navigate trending tabs with arrow keys
const index = this.tabInfoValues.indexOf(tab)
// tabs wrap around from leftmost to rightmost, and vice versa
tab = (event.key === 'ArrowLeft')
? this.tabInfoValues[(index > 0 ? index : this.tabInfoValues.length) - 1]
: this.tabInfoValues[(index + 1) % this.tabInfoValues.length]
const tabNode = $(`#${tab}Tab`)
event.target.setAttribute('tabindex', '-1')
tabNode.attr('tabindex', '0')
tabNode[0].focus()
}
event.preventDefault()
if (event.key !== 'Enter' && event.key !== ' ') {
return
}
}
const currentTabNode = $('.trendingInfoTabs > .tab[aria-selected="true"]')
const newTabNode = $(`#${tab}Tab`)
// switch selectability from currently focused tab to new tab
$('.trendingInfoTabs > .tab[tabindex="0"]').attr('tabindex', '-1')
newTabNode.attr('tabindex', '0')
currentTabNode.attr('aria-selected', 'false')
newTabNode.attr('aria-selected', 'true')
this.currentTab = tab
this.getTrendingInfo()
},
getTrendingInfo () {
if (!this.usingElectron) {
this.getVideoInformationInvidious()
@ -70,7 +116,7 @@ export default Vue.extend({
console.log('getting local trending')
const param = {
parseCreatorOnRise: false,
page: 'default',
page: this.currentTab,
geoLocation: this.region
}
@ -81,7 +127,9 @@ export default Vue.extend({
this.shownResults = returnData
this.isLoading = false
this.$store.commit('setTrendingCache', this.shownResults)
this.$store.commit('setTrendingCache', this.shownResults, this.currentTab)
}).then(() => {
document.querySelector(`#${this.currentTab}Tab`).focus()
}).catch((err) => {
console.log(err)
const errorMessage = this.$t('Local API Error (Click to copy)')
@ -112,6 +160,10 @@ export default Vue.extend({
params: { region: this.region }
}
if (this.currentTab !== 'default') {
trendingPayload.params.type = this.currentTab.charAt(0).toUpperCase() + this.currentTab.slice(1)
}
this.invidiousAPICall(trendingPayload).then((result) => {
if (!result) {
return
@ -125,7 +177,9 @@ export default Vue.extend({
this.shownResults = returnData
this.isLoading = false
this.$store.commit('setTrendingCache', this.shownResults)
this.$store.commit('setTrendingCache', this.shownResults, this.trendingCache)
}).then(() => {
document.querySelector(`#${this.currentTab}Tab`).focus()
}).catch((err) => {
console.log(err)
const errorMessage = this.$t('Invidious API Error (Click to copy)')

View File

@ -8,8 +8,68 @@
v-else
class="card"
>
<h3>{{ $t("Trending") }}</h3>
<h3>{{ $t("Trending.Trending") }}</h3>
<ft-flex-box
class="trendingInfoTabs"
role="tablist"
:aria-label="$t('Trending.Trending Tabs')"
>
<div
id="defaultTab"
class="tab"
role="tab"
aria-selected="true"
aria-controls="trendingPanel"
tabindex="0"
:class="(currentTab=='default')?'selectedTab':''"
@click="changeTab('default')"
@keydown="changeTab('default', $event)"
>
{{ $t("Trending.Default").toUpperCase() }}
</div>
<div
id="musicTab"
class="tab"
role="tab"
aria-selected="false"
aria-controls="trendingPanel"
tabindex="-1"
:class="(currentTab=='music')?'selectedTab':''"
@click="changeTab('music')"
@keydown="changeTab('music', $event)"
>
{{ $t("Trending.Music").toUpperCase() }}
</div>
<div
id="gamingTab"
class="tab"
role="tab"
aria-selected="false"
aria-controls="trendingPanel"
tabindex="-1"
:class="(currentTab=='gaming')?'selectedTab':''"
@click="changeTab('gaming')"
@keydown="changeTab('gaming', $event)"
>
{{ $t("Trending.Gaming").toUpperCase() }}
</div>
<div
id="moviesTab"
class="tab"
role="tab"
aria-selected="false"
aria-controls="trendingPanel"
tabindex="-1"
:class="(currentTab=='movies')?'selectedTab':''"
@click="changeTab('movies')"
@keydown="changeTab('movies', $event)"
>
{{ $t("Trending.Movies").toUpperCase() }}
</div>
</ft-flex-box>
<ft-element-list
id="trendingPanel"
role="tabpanel"
:data="shownResults"
/>
</ft-card>

View File

@ -76,6 +76,7 @@ Subscriptions:
Load More Videos: حمّل المزيد من الفيديوهات
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: لدى
هذا الملف الشخصي عدد كبير من الاشتراكات. يتم فرض وضع RSS لتجنب تقييد الوصول للاشتراكات
Trending:
Trending: 'المحتوى الرائج'
Most Popular: 'الأكثر شعبية'
Playlists: 'قوائم التشغيل'

View File

@ -67,6 +67,7 @@ Subscriptions:
Latest Subscriptions: ''
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': ''
'Getting Subscriptions. Please wait.': ''
Trending:
Trending: ''
Most Popular: ''
Playlists: ''

View File

@ -84,6 +84,7 @@ Subscriptions:
профил има голям брой абонаменти. Принудително използване на RSS за заобикаляне
на ограниченията
Load More Videos: Зареждане на още видеа
Trending:
Trending: 'Набиращи популярност'
Most Popular: 'Най-популярни'
Playlists: 'Плейлисти'

View File

@ -80,6 +80,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': ''
Refresh Subscriptions: ''
Load More Videos: ''
Trending:
Trending: 'চলছে'
Most Popular: ''
Playlists: ''

View File

@ -83,6 +83,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': 'Preuzimanje pretplata. Molimo sačekajte.'
Refresh Subscriptions: 'Osvježi pretplate'
Load More Videos: 'Očitaj više videozapisa'
Trending:
Trending: 'U trendu'
Most Popular: 'Naj popularnije'
Playlists: 'playliste'

View File

@ -85,6 +85,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Aquest
perfil té un gran nombre de subscripcions. Forçant RSS per evitar la limitació
fixada
Trending:
Trending: 'Tendencies'
Most Popular: 'Més populars'
Playlists: 'Llistes de reproducció'

View File

@ -83,6 +83,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': 'Získávám odběry. Prosím čekejte.'
Refresh Subscriptions: 'Obnovit odběry'
Load More Videos: 'Načíst více videí'
Trending:
Trending: 'Trendy'
Most Popular: 'Nejpopulárnější'
Playlists: 'Playlisty'

View File

@ -84,6 +84,7 @@ Subscriptions:
Load More Videos: Indlæs Flere Videoer
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Denne
profil har et stort antal abonnementer. Tving RSS for at undgå adgangsbegrænsning
Trending:
Trending: 'På Mode'
Most Popular: 'Mest Populære'
Playlists: 'Spillelister'

View File

@ -79,6 +79,7 @@ Subscriptions:
Profil hat eine große Anzahl von Abonnements. RSS zur Vermeidung von Geschwindigkeitsbeschränkungen
erzwingen
Load More Videos: Lade mehr Videos
Trending:
Trending: Trends
Most Popular: Am beliebtesten
Playlists: Wiedergabelisten

View File

@ -80,6 +80,7 @@ Subscriptions:
το προφίλ διαθέτει ήδη ένα μεγάλο αριθμό Εγγραφών. Εξαναγκασμένη εναλλαγή σε λειτουργία
RSS για αποφυγή περιορισμού των κλήσεων
Load More Videos: Φόρτωση περισσότερων Βίντεο
Trending:
Trending: 'Τάσεις'
Most Popular: 'Πιο δημοφιλή'
Playlists: 'Λίστες αναπαραγωγής'

View File

@ -84,7 +84,13 @@ Subscriptions:
Refresh Subscriptions: Refresh Subscriptions
Load More Videos: Load More Videos
More: More
Trending:
Trending: Trending
Default: Default
Music: Music
Gaming: Gaming
Movies: Movies
Trending Tabs: Trending Tabs
Most Popular: Most Popular
Playlists: Playlists
User Playlists:

View File

@ -82,6 +82,7 @@ Subscriptions:
Load More Videos: Load More Videos
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: This
profile has a large number of subscriptions. Forcing RSS to avoid rate limiting
Trending:
Trending: 'Trending'
Most Popular: 'Most Popular'
Playlists: 'Playlists'

View File

@ -74,6 +74,7 @@ Subscriptions:
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': ''
'Getting Subscriptions. Please wait.': ''
Refresh Subscriptions: ''
Trending:
Trending: ''
Most Popular: ''
Playlists: ''

View File

@ -72,6 +72,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': 'Obteniendo Suscripciones. Por favor espere.'
Refresh Subscriptions: Actulizar Suscripciones
Getting Subscriptions. Please wait.: Obteniendo Suscripciones. Por favor espere.
Trending:
Trending: 'Tendencias'
Most Popular: 'Más Popular'
Playlists: 'Listas de Reproducción'

View File

@ -76,6 +76,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Este
perfil tiene muchas suscripciones. Para eludir este límite, usaremos RSS.
Load More Videos: Ver más
Trending:
Trending: 'Tendencias'
Most Popular: 'Más populares'
Playlists: 'Playlists'

View File

@ -78,6 +78,7 @@ Subscriptions:
Load More Videos: Cargar más videos
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Este
perfil tiene un gran número de suscriptores. Forzando RSS para evitar límites
Trending:
Trending: 'Tendencias'
Most Popular: 'Más popular'
Playlists: 'Listas de reproducción'

View File

@ -83,6 +83,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Sellel
profiilil on väga palju tellimusi. Vältimaks serveripoolseid piiranguid teen RSS-voo
päringud harvemini
Trending:
Trending: 'Populaarsed videod'
Most Popular: 'Populaarseimad'
Playlists: 'Esitusloendid'

View File

@ -79,6 +79,7 @@ Subscriptions:
Refresh Subscriptions: ''
Load More Videos: ''
More: ''
Trending:
Trending: ''
Most Popular: ''
Playlists: ''

View File

@ -75,6 +75,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Tällä
profiililla on paljon tilauksia. Pakotetaan RSS nopeuden rajoittamisen välttämiseksi
Load More Videos: Lataa lisää videoita
Trending:
Trending: 'Nousussa'
Most Popular: 'Suosituimmat'
Playlists: 'Soittolistat'

View File

@ -75,6 +75,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': 'Kinukuha ang mga suskripsyon. Maghintay
lang po.'
Refresh Subscriptions: 'I-refresh ang mga Suskripsyon'
Trending:
Trending: 'Nagte-trend'
Most Popular: 'Pinakasikat'
Playlists: ''

View File

@ -80,6 +80,7 @@ Subscriptions:
profil comporte un grand nombre d'abonnements. Le flux RSS outrepassera la limite
fixée
Load More Videos: Charger plus de vidéos
Trending:
Trending: 'Tendance'
Most Popular: 'Les plus populaires'
Playlists: 'Listes de lecture'

View File

@ -83,6 +83,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': 'Obtendo subscricións. Por favor, agarda.'
Refresh Subscriptions: 'Actualizar subscricións'
Load More Videos: 'Cargar máis vídeos'
Trending:
Trending: 'Tendencias'
Most Popular: 'Máis populares'
Playlists: 'Listaxes de reprodución'

View File

@ -82,6 +82,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: לפרופיל
זה יש מספר רב של מנויים. עובר לעדכונים בעזרת RSS על מנת להימנע מהגבלות רוחב פס
Load More Videos: לטעון סרטונים נוספים
Trending:
Trending: 'הסרטונים החמים'
Most Popular: 'הכי פופולרי'
Playlists: 'פלייליסטים'

View File

@ -85,6 +85,7 @@ Subscriptions:
कृपया रुके।'
Refresh Subscriptions: 'सब्सक्रिप्शने Refresh करे'
Load More Videos: 'ज़्यादा विडीओए लोड करे'
Trending:
Trending: 'ट्रेनडिंग'
Most Popular: 'सबसे ज़्यादा देखा हुआ'
Playlists: 'प्लेलिस्टे (playlists)'

View File

@ -78,6 +78,7 @@ Subscriptions:
profil sadrži velik broj pretplata. Za izbjegavanje ograničenja stope koristit
će se RSS
Load More Videos: Učitaj još videa
Trending:
Trending: 'U trendu'
Most Popular: 'Najpopularniji'
Playlists: 'Zbirke'

View File

@ -86,6 +86,7 @@ Subscriptions:
a profil nagyszámú feliratkozást tartalmaz. RSS kényszerítése a sebességkorlátozás
elkerülésére
Load More Videos: További videók betöltése
Trending:
Trending: 'Népszerű'
Most Popular: 'Legnépszerűbbek'
Playlists: 'Lejátszási listák'

View File

@ -85,6 +85,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Profil
ini berlangganan ke banyak kanal. Beralih ke RSS untuk menghindari pembatasan
akses
Trending:
Trending: 'Sedang Tren'
Most Popular: 'Paling Populer'
Playlists: 'Daftar Putar'

View File

@ -87,6 +87,7 @@ Subscriptions:
Refresh Subscriptions: 'Endurlesa áskriftir'
Load More Videos: 'Hlaða inn fleiri myndskeiðum'
More: 'Meira'
Trending:
Trending: 'Í umræðunni'
Most Popular: 'Vinsælast'
Playlists: 'Spilunarlistar'

View File

@ -80,6 +80,7 @@ Subscriptions:
Load More Videos: Carica più video
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Questo
profilo ha un grande numero di iscrizioni. Utilizzo RSS per evitare limitazioni
Trending:
Trending: 'Tendenze'
Most Popular: 'Più popolari'
Playlists: 'Playlist'

View File

@ -74,6 +74,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: このプロファイルは登録チャンネルが多くなっています。接続制限を回避するため
RSS を使用します
Load More Videos: もっと見る
Trending:
Trending: '急上昇'
Most Popular: '人気'
Playlists: '再生リスト'

View File

@ -81,6 +81,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': '구독 목록을 가져오는 중입니다. 잠시만 기다려 주세요.'
Refresh Subscriptions: '구독 피드 새로 고침'
Load More Videos: '더 많은 동영상 불러오기'
Trending:
Trending: '트렌딩'
Most Popular: '인기 동영상'
Playlists: '재생 목록'

View File

@ -84,6 +84,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: .ئەم
پرۆفایلە ژمارەیەکی زۆری هەیە لە سەبسکریپشن. بۆ دورکەوتنەوە لە سنوور دانان (رسس)
بەکاردەهێندرێت
Trending:
Trending: 'زۆر باسکراو'
Most Popular: 'بەناوبانگترین'
Playlists: 'پلەیلیست'

View File

@ -82,6 +82,7 @@ Subscriptions:
Load More Videos: Voce plus Movens Imaginibus
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Haec
profile copia subscriptioni habet. Impono RSS ut impedio restrictionis per celeritatis
Trending:
Trending: 'Inclinant'
Most Popular: 'Maxime Popular'
Playlists: 'Album ludere'

View File

@ -85,6 +85,7 @@ Subscriptions:
Refresh Subscriptions: 'Atnaujinti prenumeratas'
Load More Videos: 'Pakrauti daugiau vaizdo įrašų'
More: 'Daugiau'
Trending:
Trending: 'Dabar populiaru'
Most Popular: 'Populiariausia'
Playlists: 'Grojaraščiai'

View File

@ -77,6 +77,7 @@ Subscriptions:
Load More Videos: Last flere videoer
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Denne
profilen har mange abonnementer. Påtvinger RSS for å unngå adgangsbegrensning
Trending:
Trending: 'På vei opp'
Most Popular: 'Mest populært'
Playlists: 'Spillelister'

View File

@ -80,6 +80,7 @@ Subscriptions:
profiel heeft een groot aantal abonnementen. RSS wordt geforceerd om tariefbeperkingen
te vermijden
Load More Videos: Meer Video's Laden
Trending:
Trending: 'Trending'
Most Popular: 'Populair'
Playlists: 'Afspeellijsten'

View File

@ -85,6 +85,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': 'Henter abonnement. Ver venleg og vent.'
Refresh Subscriptions: 'Oppdater abonnement'
Load More Videos: 'Last inn fleire videoar'
Trending:
Trending: 'På veg opp'
Most Popular: 'Mest populært'
Playlists: 'Spelelister'

View File

@ -78,6 +78,7 @@ Subscriptions:
profil posiada dużą liczbę subskrypcji. Wymuszenie RSS w celu uniknięcia ograniczenia
dostępu
Load More Videos: Załaduj więcej filmów
Trending:
Trending: 'Na czasie'
Most Popular: 'Popularne'
Playlists: 'Playlisty'

View File

@ -77,6 +77,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Este
perfil tem um grande número de inscrições. Forçando RSS para evitar limitação
de banda
Trending:
Trending: 'Em alta'
Most Popular: 'Mais populares'
Playlists: 'Listas'

View File

@ -83,6 +83,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': A carregar subscrições. Por favor aguarde.
Refresh Subscriptions: Actualizar Subscrições
Load More Videos: Carregar Mais Vídeos
Trending:
Trending: Tendências
Most Popular: Mais Populares
Playlists: Listas de Reprodução

View File

@ -77,6 +77,7 @@ Subscriptions:
sua lista de subscrições está vazia. Adicione algumas para as ver aqui.'
'Getting Subscriptions. Please wait.': 'A carregar subscrições. Por favor aguarde.'
Refresh Subscriptions: 'Atualizar Subscrições'
Trending:
Trending: 'Tendências'
Most Popular: 'Mais Populares'
Playlists: 'Listas de Reprodução'

View File

@ -83,6 +83,7 @@ Subscriptions:
Load More Videos: Incarca mai multe videouri
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Acest
profil are foarte multi urmaritori. Foloseste RSS pentru a evita limita fixata.
Trending:
Trending: 'Trend'
Most Popular: 'Cel mai Popular'
Playlists: 'Liste de videoclipuri'

View File

@ -77,6 +77,7 @@ Subscriptions:
профиль имеет большое количество подписок. Используйте RSS, чтобы избежать ограничения
скорости
Load More Videos: Загрузить больше видео
Trending:
Trending: 'Тренды'
Most Popular: 'Самые популярные'
Playlists: 'Плейлисты'

View File

@ -77,6 +77,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': ''
Refresh Subscriptions: ''
Load More Videos: ''
Trending:
Trending: ''
Most Popular: ''
Playlists: ''

View File

@ -79,6 +79,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': ''
Refresh Subscriptions: ''
Load More Videos: තව දෘශ්‍යක පූරනය කරන්න
Trending:
Trending: ''
Most Popular: ''
Playlists: ''

View File

@ -77,6 +77,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': Nahrávam odbery, prosím počkajte.
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Tento
profil má mnoho odberateľov. Vždy použite RSS, aby ste obišli limit
Trending:
Trending: 'Trendy'
Most Popular: 'Najpopulárnejšie'
Playlists: 'Zoznamy'

View File

@ -85,6 +85,7 @@ Subscriptions:
profil ima veliko količino naročnin.· Da bi se izognili omejitvi hitrosti, bo
uporabljen RSS
Load More Videos: Naloži več videoposnetkov
Trending:
Trending: 'Priljubljeno'
Most Popular: 'Najbolj popularno'
Playlists: 'Seznami predvajanja'

View File

@ -84,6 +84,7 @@ Subscriptions:
Refresh Subscriptions: 'Освежи праћења'
Load More Videos: 'Учитај више видео записа'
More: 'Још'
Trending:
Trending: 'Тренда'
Most Popular: 'Нај популарније'
Playlists: 'Плејлисте'

View File

@ -84,6 +84,7 @@ Subscriptions:
här profilen har ett stort antal prenumerationer. Tvinga RSS för att undvika
ränta begränsa
Load More Videos: Se mer
Trending:
Trending: 'Trender'
Most Popular: 'Mest populära'
Playlists: 'Spellistor'

View File

@ -82,6 +82,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Bu
profilin çok sayıda abonesi var. Hız sınırlamalarından kaçınmak için RSS zorlanıyor
Load More Videos: Daha Fazla Video Yükle
Trending:
Trending: 'Trendler'
Most Popular: 'Popüler Olanlar'
Playlists: 'Oynatma Listeleri'

View File

@ -83,6 +83,7 @@ Subscriptions:
'Getting Subscriptions. Please wait.': 'Отримання Підписок. Будь ласка, зачекайте.'
Refresh Subscriptions: 'Оновити Підписки'
Load More Videos: 'Завантажити більше відео'
Trending:
Trending: 'Популярне'
Most Popular: 'Найпопулярніші'
Playlists: 'Добірки'

View File

@ -75,6 +75,7 @@ Subscriptions:
Refresh Subscriptions: Refresh đăng ký
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Kênh
này có nhiều người đăng ký. Buộc RSS để tránh bị giới hạn
Trending:
Trending: 'Xu hướng'
Most Popular: 'Phổ biến nhất'
Playlists: 'Danh sách phát'

View File

@ -74,6 +74,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: 这个配置文件有大量订阅。
强制RSS已防止速率限制
Load More Videos: 加载更多视频
Trending:
Trending: '热门'
Most Popular: '最流行'
Playlists: '播放列表'

View File

@ -74,6 +74,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: 這個設定檔有大量訂閱。
強制RSS已防止速率限制
Load More Videos: 載入更多影片
Trending:
Trending: '發燒影片'
Most Popular: '最受歡迎'
Playlists: '播放清單'