Merge branch 'development' into 946-version-flag

This commit is contained in:
Svallinn 2021-03-14 18:58:15 +00:00 committed by GitHub
commit 998c5c767c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 344 additions and 115 deletions

View File

@ -308,7 +308,7 @@ function runApp() {
ipcMain.on('setBounds', (_e, data) => { ipcMain.on('setBounds', (_e, data) => {
const value = { const value = {
...mainWindow.getBounds(), ...mainWindow.getNormalBounds(),
maximized: mainWindow.isMaximized() maximized: mainWindow.isMaximized()
} }

View File

@ -73,6 +73,7 @@ export default Vue.extend({
useDash: false, useDash: false,
useHls: false, useHls: false,
selectedDefaultQuality: '', selectedDefaultQuality: '',
selectedQuality: '',
maxFramerate: 0, maxFramerate: 0,
activeSourceList: [], activeSourceList: [],
mouseTimeout: null, mouseTimeout: null,
@ -198,7 +199,8 @@ export default Vue.extend({
vhs: { vhs: {
limitRenditionByPlayerDimensions: false, limitRenditionByPlayerDimensions: false,
smoothQualityChange: false, smoothQualityChange: false,
allowSeeksWithinUnsafeLiveWindow: true allowSeeksWithinUnsafeLiveWindow: true,
handlePartialData: true
} }
} }
}) })
@ -214,14 +216,12 @@ export default Vue.extend({
} }
if (this.useDash) { if (this.useDash) {
this.dataSetup.plugins.httpSourceSelector = { // this.dataSetup.plugins.httpSourceSelector = {
default: 'auto' // default: 'auto'
} // }
this.player.httpSourceSelector() // this.player.httpSourceSelector()
setTimeout(() => { this.createDashQualitySelector(this.player.qualityLevels())
this.determineDefaultQualityDash()
}, 400)
} }
if (this.autoplayVideos) { if (this.autoplayVideos) {
@ -417,7 +417,7 @@ export default Vue.extend({
determineDefaultQualityDash: function () { determineDefaultQualityDash: function () {
if (this.defaultQuality === 'auto') { if (this.defaultQuality === 'auto') {
return this.setDashQualityLevel('auto')
} }
this.player.qualityLevels().levels_.sort((a, b) => { this.player.qualityLevels().levels_.sort((a, b) => {
@ -433,27 +433,62 @@ export default Vue.extend({
} }
if (this.defaultQuality === quality) { if (this.defaultQuality === quality) {
ql.enabled = true this.setDashQualityLevel(height)
} else if (upperLevel !== null) { } else if (upperLevel !== null) {
const upperHeight = upperLevel.height const upperHeight = upperLevel.height
const upperWidth = upperLevel.width const upperWidth = upperLevel.width
const upperQuality = upperWidth < upperHeight ? upperWidth : upperHeight const upperQuality = upperWidth < upperHeight ? upperWidth : upperHeight
if (this.defaultQuality >= quality && this.defaultQuality < upperQuality) { if (this.defaultQuality >= quality && this.defaultQuality < upperQuality) {
ql.enabled = true this.setDashQualityLevel(height)
} else {
ql.enabled = false
} }
} else if (index === 0 && quality > this.defaultQuality) { } else if (index === 0 && quality > this.defaultQuality) {
ql.enabled = true this.setDashQualityLevel(height)
} else if (index === (arr.length - 1) && quality < this.defaultQuality) { } else if (index === (arr.length - 1) && quality < this.defaultQuality) {
ql.enabled = true this.setDashQualityLevel(height)
} else {
ql.enabled = false
} }
}) })
}, },
setDashQualityLevel: function (qualityLevel) {
if (this.selectedQuality === qualityLevel) {
return
}
this.player.qualityLevels().levels_.sort((a, b) => {
return a.height - b.height
}).forEach((ql, index, arr) => {
if (qualityLevel === 'auto' || ql.height === qualityLevel) {
ql.enabled = true
ql.enabled_(true)
} else {
ql.enabled = false
ql.enabled_(false)
}
})
const selectedQuality = qualityLevel === 'auto' ? 'auto' : qualityLevel + 'p'
const qualityElement = document.getElementById('vjs-current-quality')
qualityElement.innerText = selectedQuality
this.selectedQuality = qualityLevel
const qualityItems = $('.quality-item').get()
$('.quality-item').removeClass('quality-selected')
qualityItems.forEach((item) => {
const qualityText = $(item).find('.vjs-menu-item-text').get(0)
if (qualityText.innerText === selectedQuality) {
$(item).addClass('quality-selected')
}
})
// const currentTime = this.player.currentTime()
// this.player.currentTime(0)
// this.player.currentTime(currentTime)
},
enableDashFormat: function () { enableDashFormat: function () {
if (this.dashSrc === null) { if (this.dashSrc === null) {
console.log('No dash format available.') console.log('No dash format available.')
@ -629,6 +664,58 @@ export default Vue.extend({
videojs.registerComponent('fullWindowButton', fullWindowButton) videojs.registerComponent('fullWindowButton', fullWindowButton)
}, },
createDashQualitySelector: function (levels) {
const v = this
if (levels.levels_.length === 0) {
setTimeout(() => {
this.createDashQualitySelector(this.player.qualityLevels())
}, 200)
return
}
const VjsButton = videojs.getComponent('Button')
const dashQualitySelector = videojs.extend(VjsButton, {
constructor: function(player, options) {
VjsButton.call(this, player, options)
},
handleClick: function(event) {
const selectedQuality = event.target.innerText
const quality = selectedQuality === 'auto' ? 'auto' : parseInt(selectedQuality.replace('p', ''))
v.setDashQualityLevel(quality)
// console.log(this.player().qualityLevels())
},
createControlTextEl: function (button) {
const beginningHtml = `<div class="vjs-quality-level-value">
<span id="vjs-current-quality">1080p</span>
</div>
<div class="vjs-quality-level-menu vjs-menu">
<ul class="vjs-menu-content" role="menu">`
const endingHtml = '</ul></div>'
let qualityHtml = `<li class="vjs-menu-item quality-item" role="menuitemradio" tabindex="-1" aria-checked="false aria-disabled="false">
<span class="vjs-menu-item-text">Auto</span>
<span class="vjs-control-text" aria-live="polite"></span>
</li>`
levels.levels_.sort((a, b) => {
return b.height - a.height
}).forEach((quality) => {
qualityHtml = qualityHtml + `<li class="vjs-menu-item quality-item" role="menuitemradio" tabindex="-1" aria-checked="false aria-disabled="false">
<span class="vjs-menu-item-text">${quality.height}p</span>
<span class="vjs-control-text" aria-live="polite"></span>
</li>`
})
return $(button).html(
$(beginningHtml + qualityHtml + endingHtml).attr(
'title',
'Select Quality'
))
}
})
videojs.registerComponent('dashQualitySelector', dashQualitySelector)
this.player.controlBar.addChild('dashQualitySelector', {}, this.player.controlBar.children_.length - 1)
this.determineDefaultQualityDash()
},
toggleFullWindow: function() { toggleFullWindow: function() {
if (!this.player.isFullscreen_) { if (!this.player.isFullscreen_) {
if (this.player.isFullWindow) { if (this.player.isFullWindow) {

View File

@ -27,7 +27,7 @@ Vue.component('FontAwesomeIcon', FontAwesomeIcon)
Vue.use(VueI18n) Vue.use(VueI18n)
// List of locales approved for use // List of locales approved for use
const activeLocales = ['en-US', 'en_GB', 'ar', 'bg', 'cs', 'da', 'de-DE', 'el', 'es', 'es-MX', 'fi', 'fr-FR', 'gl', 'he', 'hu', 'hr', 'id', 'it', 'ja', 'nl', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ru', 'sk', 'sl', 'sv', 'tr', 'vi', 'zh-CN', 'zh-TW'] const activeLocales = ['en-US', 'en_GB', 'ar', 'bg', 'cs', 'da', 'de-DE', 'el', 'es', 'es-MX', 'fi', 'fr-FR', 'gl', 'he', 'hu', 'hr', 'id', 'it', 'ja', 'nb_NO', 'nl', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ru', 'sk', 'sl', 'sv', 'tr', 'uk', 'vi', 'zh-CN', 'zh-TW']
const messages = {} const messages = {}
/* eslint-disable-next-line */ /* eslint-disable-next-line */
const fileLocation = isDev ? 'static/locales/' : `${__dirname}/static/locales/` const fileLocation = isDev ? 'static/locales/' : `${__dirname}/static/locales/`

View File

@ -643,6 +643,46 @@ body.vjs-full-window {
display: none; display: none;
} }
.vjs-quality-level-value {
width: 100%;
height: 100%;
}
.vjs-quality-level-value span {
line-height: 40px;
}
.vjs-quality-level-value:hover + .vjs-quality-level-menu {
display: block;
}
.vjs-quality-level-menu {
display: none;
position: absolute;
bottom: 30px;
left: -8px;
z-index: 5;
background-color: #151b17;
width: 50px;
}
.vjs-quality-level-menu:hover {
display: block;
}
.vjs-quality-level-menu .vjs-menu-item {
padding: 5px;
}
.quality-selected {
background-color: var(--primary-color);
color: var(--text-with-main-color);
}
.quality-selected:hover {
background-color: var(--primary-color-hover) !important;
}
.vjs-menu .vjs-menu-content { .vjs-menu .vjs-menu-content {
display: block; display: block;
padding: 0; padding: 0;

View File

@ -30,10 +30,10 @@ Close: 'Затваряне'
Back: 'Назад' Back: 'Назад'
Forward: 'Напред' Forward: 'Напред'
Version $ is now available! Click for more details: 'Версия $ е вече налична! Щракнете Version $ is now available! Click for more details: 'Версия $ е вече налична! Кликнете
за повече детайли' за повече детайли'
Download From Site: 'Сваляне от сайта' Download From Site: 'Сваляне от сайта'
A new blog is now available, $. Click to view more: 'Нова публикация в блога, $. Щракнете A new blog is now available, $. Click to view more: 'Нова публикация в блога, $. Кликнете
за преглед' за преглед'
# Search Bar # Search Bar
@ -90,7 +90,7 @@ Playlists: 'Плейлисти'
User Playlists: User Playlists:
Your Playlists: 'Вашите плейлисти' Your Playlists: 'Вашите плейлисти'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Няма Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Няма
запазени видеоклипове. За запазване щракнете в ъгъла на видеоклипа запазени видеоклипове. За запазване кликнете в ъгъла на видеоклипа
Playlist Message: Тази страница не отразява напълно работещи плейлисти. В него са Playlist Message: Тази страница не отразява напълно работещи плейлисти. В него са
изброени само видеоклипове, които сте запазили или избрали за любими. Когато работата изброени само видеоклипове, които сте запазили или избрали за любими. Когато работата
приключи, всички видеоклипове, които в момента са тук, ще бъдат мигрирани в плейлист приключи, всички видеоклипове, които в момента са тук, ще бъдат мигрирани в плейлист
@ -305,7 +305,7 @@ Settings:
Ip: Ip Ip: Ip
Your Info: Вашата информация Your Info: Вашата информация
Test Proxy: Тестване на прокси Test Proxy: Тестване на прокси
Clicking on Test Proxy will send a request to: Щракването върху "Тестване на прокси" Clicking on Test Proxy will send a request to: Кликването върху "Тестване на прокси"
ще изпрати заявка до ще изпрати заявка до
Proxy Port Number: Номер на прокси порта Proxy Port Number: Номер на прокси порта
Proxy Host: Прокси хост Proxy Host: Прокси хост
@ -583,7 +583,7 @@ Share:
Mini Player: 'Мини плейър' Mini Player: 'Мини плейър'
Comments: Comments:
Comments: 'Коментари' Comments: 'Коментари'
Click to View Comments: 'Щракнете, за да видите коментарите' Click to View Comments: 'Кликнете, за да видите коментарите'
Getting comment replies, please wait: 'Получаване на отговори на коментара, моля Getting comment replies, please wait: 'Получаване на отговори на коментара, моля
изчакайте' изчакайте'
There are no more comments for this video: 'Към това видео няма повече коментари' There are no more comments for this video: 'Към това видео няма повече коментари'
@ -603,8 +603,8 @@ Comments:
Up Next: 'Следващ' Up Next: 'Следващ'
# Toast Messages # Toast Messages
Local API Error (Click to copy): 'Грешка в локалния интерфейс (щракнете за копиране)' Local API Error (Click to copy): 'Грешка в локалния интерфейс (кликни за копиране)'
Invidious API Error (Click to copy): 'Грешка в Invidious интерфейса (щракнете за копиране)' Invidious API Error (Click to copy): 'Грешка в Invidious интерфейса (кликнете за копиране)'
Falling back to Invidious API: 'Връщане към Invidious интерфейса' Falling back to Invidious API: 'Връщане към Invidious интерфейса'
Falling back to the local API: 'Връщане към локалния интерфейс' Falling back to the local API: 'Връщане към локалния интерфейс'
This video is unavailable because of missing formats. This can happen due to country unavailability.: 'Видеото This video is unavailable because of missing formats. This can happen due to country unavailability.: 'Видеото
@ -658,6 +658,6 @@ Tooltips:
Локалният интерфейс има вградено извличане. Invidious интерфейсът изисква Invidious Локалният интерфейс има вградено извличане. Invidious интерфейсът изисква Invidious
сървър, към който да се свърже. сървър, към който да се свърже.
More: Още More: Още
Playing Next Video Interval: Пускане на следващото видео веднага. Щракнете за отказ. Playing Next Video Interval: Пускане на следващото видео веднага. Кликнете за отказ.
| Пускане на следващото видео след {nextVideoInterval} секунда. Щракнете за отказl. | Пускане на следващото видео след {nextVideoInterval} секунда. Кликнете за отказl.
| Пускане на следващото видео след {nextVideoInterval} секунди. Щракнете за отказ. | Пускане на следващото видео след {nextVideoInterval} секунди. Кликнете за отказ.

View File

@ -192,7 +192,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Interval dalšího seznamu videí Playlist Next Video Interval: Interval pro další video na playlistu
Privacy Settings: Privacy Settings:
Privacy Settings: 'Nastavení soukromí' Privacy Settings: 'Nastavení soukromí'
Remember History: 'Zapamatovat historii' Remember History: 'Zapamatovat historii'
@ -653,7 +653,7 @@ Canceled next video autoplay: 'Automatické přehrávání dalšího videa bylo
Yes: 'Ano' Yes: 'Ano'
No: 'Ne' No: 'Ne'
Playing Next Video Interval: Přehrávání dalšího videa v žádném čase. Kliknutím zrušíte. Playing Next Video Interval: Přehrávání dalšího videa bez prodlevy Kliknutím zrušíte.
| Přehrávání dalšího videa za {nextVideoInterval} s. Kliknutím zrušíte. | Přehrávání | Přehrávání dalšího videa za {nextVideoInterval} s. Kliknutím zrušíte. | Přehrávání
dalšího videa za {nextVideoInterval} s. Kliknutím zrušíte. dalšího videa za {nextVideoInterval} s. Kliknutím zrušíte.
More: Více More: Více

View File

@ -190,6 +190,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Παύση μεταξύ Βίντεο στη λίστα αναπαραγωγής
Privacy Settings: Privacy Settings:
Privacy Settings: 'Ρυθμίσεις απορρήτου' Privacy Settings: 'Ρυθμίσεις απορρήτου'
Remember History: 'Διατήρηση ιστορικού' Remember History: 'Διατήρηση ιστορικού'
@ -290,6 +291,7 @@ Settings:
Hide Channel Subscribers: Απόκρυψη συνδρομών καναλιού Hide Channel Subscribers: Απόκρυψη συνδρομών καναλιού
Hide Video Views: Απόκρυψη προβολών βίντεο Hide Video Views: Απόκρυψη προβολών βίντεο
Hide Active Subscriptions: Απόκρυψη ενεργών συνδρομών Hide Active Subscriptions: Απόκρυψη ενεργών συνδρομών
Hide Playlists: Απόκρυψη λιστών αναπαραγωγής
The app needs to restart for changes to take effect. Restart and apply change?: Η The app needs to restart for changes to take effect. Restart and apply change?: Η
εφαρμογή πρέπει να κάνει επανεκκίνηση για να εφαρμοστούν οι αλλαγές. Επανεκκίνηση εφαρμογή πρέπει να κάνει επανεκκίνηση για να εφαρμοστούν οι αλλαγές. Επανεκκίνηση
και εφαρμογή αλλαγών; και εφαρμογή αλλαγών;
@ -411,6 +413,7 @@ Profile:
βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα κανάλια; Αυτό δε θα διαγράψει βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα κανάλια; Αυτό δε θα διαγράψει
το κανάλι από οποιοδήποτε άλλο προφίλ.' το κανάλι από οποιοδήποτε άλλο προφίλ.'
#On Channel Page #On Channel Page
Profile Filter: Φίλτρο προφίλ
Channel: Channel:
Subscriber: 'Συνδρομητής' Subscriber: 'Συνδρομητής'
Subscribers: 'Συνδρομητές' Subscribers: 'Συνδρομητές'
@ -462,7 +465,7 @@ Video:
View: 'Προβολή' View: 'Προβολή'
Views: 'Προβολές' Views: 'Προβολές'
Loop Playlist: 'Επανάληψη λίστας αναπαραγωγής' Loop Playlist: 'Επανάληψη λίστας αναπαραγωγής'
Shuffle Playlist: 'Τυχαία αναπαραγωγή' Shuffle Playlist: 'Τυχαία σειρά στη λίστα αναπαραγωγής'
Reverse Playlist: 'Αντιστροφή της λίστας αναπαραγωγής' Reverse Playlist: 'Αντιστροφή της λίστας αναπαραγωγής'
Play Next Video: 'Αναπαραγωγή επόμενου βίντεο' Play Next Video: 'Αναπαραγωγή επόμενου βίντεο'
Play Previous Video: 'Αναπαραγωγή προηγούμενου βίντεο' Play Previous Video: 'Αναπαραγωγή προηγούμενου βίντεο'
@ -677,3 +680,8 @@ Tooltips:
Invidious Instance: Το στιγμιότυπο Invidious στο οποίο το FreeTube θα συνδεθεί Invidious Instance: Το στιγμιότυπο Invidious στο οποίο το FreeTube θα συνδεθεί
για κλήσεις διεπαφής. Καθαρίστε το παρόν στιγμιότυπο για να δείτε μια λίστα για κλήσεις διεπαφής. Καθαρίστε το παρόν στιγμιότυπο για να δείτε μια λίστα
δημόσιων στιγμιότυπων προς επιλογή δημόσιων στιγμιότυπων προς επιλογή
Playing Next Video Interval: Αναπαραγωγή επόμενου βίντεο άμεσα. Κάντε κλικ για ακύρωση.
| Αναπαραγωγή επόμενου βίντεο σε {nextVideoInterval} δευτερόλεπτο. Κάντε κλικ για
ακύρωση. | Αναπαραγωγή επόμενου βίντεο σε {nextVideoInterval} δευτερόλεπτα. Κάντε
κλικ για ακύρωση.
More: Περισσότερα

View File

@ -90,15 +90,24 @@ Most Popular: 'सबसे ज़्यादा देखा हुआ'
Playlists: 'प्लेलिस्टे (playlists)' Playlists: 'प्लेलिस्टे (playlists)'
User Playlists: User Playlists:
Your Playlists: 'आपके प्लेलिस्टे' Your Playlists: 'आपके प्लेलिस्टे'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: आपके
पास बचाए गए वीडियोए नहीं हैं। एक वीडियो के कोने पर सेव बटन पर क्लिक (click) करें,
यहां लिस्ट पर वही आएगा
Playlist Message: यह पृष्ठ पूरी तरह से काम करने वाली प्लेलिस्ट को प्रतिबिंबित नहीं
करता है। यह केवल उन वीडियो को सूचीबद्ध करता है जिन्हें आपने सहेजा है या पसंदीदा
है। जब काम समाप्त हो जाता है, तो वर्तमान में यहां सभी वीडियो 'पसंदीदा' प्लेलिस्ट
में स्थानांतरित हो जाएंगे।
History: History:
# On History Page # On History Page
History: '' History: 'इतिहास'
Watch History: '' Watch History: ''
Your history list is currently empty.: '' Your history list is currently empty.: ''
Settings: Settings:
# On Settings Page # On Settings Page
Settings: '' Settings: 'स्थापना'
The app needs to restart for changes to take effect. Restart and apply change?: '' The app needs to restart for changes to take effect. Restart and apply change?: 'ऐप
को प्रभावी होने वाले परिवर्तनों के लिए पुनः आरंभ करने की आवश्यकता है। Restart
और परिवर्तन लागू करें?'
General Settings: General Settings:
General Settings: '' General Settings: ''
Check for Updates: '' Check for Updates: ''
@ -531,3 +540,4 @@ Canceled next video autoplay: ''
Yes: '' Yes: ''
No: '' No: ''
More: ज़्यादा

View File

@ -185,6 +185,7 @@ Settings:
1440p: '1440 p' 1440p: '1440 p'
4k: '4 k' 4k: '4 k'
8k: '8 k' 8k: '8 k'
Playlist Next Video Interval: Interval sljedećeg videa zbirke
Privacy Settings: Privacy Settings:
Privacy Settings: 'Postavke privatnosti' Privacy Settings: 'Postavke privatnosti'
Remember History: 'Zapamti povijest' Remember History: 'Zapamti povijest'
@ -287,6 +288,7 @@ Settings:
Hide Video Views: Sakrij broj gledanja videa Hide Video Views: Sakrij broj gledanja videa
Distraction Free Settings: Postavke za nesmetan rad Distraction Free Settings: Postavke za nesmetan rad
Hide Active Subscriptions: Sakrij aktivne pretplate Hide Active Subscriptions: Sakrij aktivne pretplate
Hide Playlists: Sakrij zbirke
The app needs to restart for changes to take effect. Restart and apply change?: Promjene The app needs to restart for changes to take effect. Restart and apply change?: Promjene
će se primijeniti nakon ponovnog pokeretanja programa. Ponovo pokrenuti program? će se primijeniti nakon ponovnog pokeretanja programa. Ponovo pokrenuti program?
Proxy Settings: Proxy Settings:
@ -410,6 +412,7 @@ Profile:
$ selected: $ je odabran $ selected: $ je odabran
Other Channels: Ostali kanali Other Channels: Ostali kanali
Subscription List: Popis pretplata Subscription List: Popis pretplata
Profile Filter: Filtar profila
Channel: Channel:
Subscriber: 'Pretplatnik' Subscriber: 'Pretplatnik'
Subscribers: 'Pretplatnici' Subscribers: 'Pretplatnici'
@ -660,3 +663,7 @@ Tooltips:
standardne metode za dohvaćanje podataka tvoje pretplate. RSS je brži i sprečava standardne metode za dohvaćanje podataka tvoje pretplate. RSS je brži i sprečava
blokiranje IP adresa, ali ne pruža određene podatke kao što su trajanje videa blokiranje IP adresa, ali ne pruža određene podatke kao što su trajanje videa
ili stanja „uživo” ili stanja „uživo”
Playing Next Video Interval: Trenutna reprodukcija sljedećeg videa. Pritisni za prekid.
| Reprodukcija sljedećeg videa za {nextVideoInterval} sekunde. Pritisni za prekid.
| Reprodukcija sljedećeg videa za {nextVideoInterval} sekundi. Pritisni za prekid.
More: Još

View File

@ -126,6 +126,7 @@ Settings:
(기본설정은 https://invidious.snopyta.org)' (기본설정은 https://invidious.snopyta.org)'
Region for Trending: '트렌드 국가' Region for Trending: '트렌드 국가'
#! List countries #! List countries
View all Invidious instance information: Indivious 서버의 전체 목록 보기
Theme Settings: Theme Settings:
Theme Settings: '테마 설정' Theme Settings: '테마 설정'
Match Top Bar with Main Color: '상단바를 메인컬러와 동기화' Match Top Bar with Main Color: '상단바를 메인컬러와 동기화'
@ -185,6 +186,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: 재생 목록 다음 비디오 간격
Privacy Settings: Privacy Settings:
Privacy Settings: '개인정보 설정' Privacy Settings: '개인정보 설정'
Remember History: '기록 저장하기' Remember History: '기록 저장하기'
@ -213,36 +215,40 @@ Settings:
Hide Trending Videos: '현재 트렌딩 영상 숨기기' Hide Trending Videos: '현재 트렌딩 영상 숨기기'
Hide Popular Videos: '인기 영상 숨기기' Hide Popular Videos: '인기 영상 숨기기'
Hide Live Chat: '실시간 댓글 숨기기' Hide Live Chat: '실시간 댓글 숨기기'
Hide Playlists: 재생 목록 숨기기
Hide Active Subscriptions: 활성 구독 숨기기
Data Settings: Data Settings:
Data Settings: '데이터 설정' Data Settings: '데이터 설정'
Select Import Type: '구독 및 재생 목록 가져오기 형식 고르기' Select Import Type: '가져오기 유형 선택'
Select Export Type: '구독 및 재생 목록 내보내기 형식 고르기' Select Export Type: '내보내기 유형 선택'
Import Subscriptions: '구독 목록 가져오기' Import Subscriptions: '구독 목록 가져오기'
Import FreeTube: '구독 목록 가져오기: 형식 Freetube' Import FreeTube: 'FreeTube 가져오기'
Import YouTube: '구독 목록 가져오기 형식: 유투브' Import YouTube: 'YouTube 가져오기'
Import NewPipe: '구독 목록 가져오기 형식: NewPipe' Import NewPipe: 'NewPipe 가져오기'
Check for Legacy Subscriptions: '' Check for Legacy Subscriptions: '레거시 구독 확인'
Export Subscriptions: '구독 목록 내보내기' Export Subscriptions: '구독 목록 내보내기'
Export FreeTube: '구독 목록 내보내기 형식: FreeTube' Export FreeTube: 'FreeTube 내보내기'
Export YouTube: '구독 목록 내보내기 형식: 유투브' Export YouTube: 'YouTube 내보내기'
Export NewPipe: '구독 목록 내보내기 형식: NewPipe' Export NewPipe: 'NewPipe 내보내기'
Import History: '재생 기록 가져오기' Import History: '재생 기록 가져오기'
Export History: '재생 기록 내보내기' Export History: '재생 기록 내보내기'
Profile object has insufficient data, skipping item: '' Profile object has insufficient data, skipping item: '프로필 개체에 데이터가 부족하여 항목을 건너뜁니다'
All subscriptions and profiles have been successfully imported: '' All subscriptions and profiles have been successfully imported: '모든 구독 및 프로필을
All subscriptions have been successfully imported: '' 성공적으로 가져왔습니다'
One or more subscriptions were unable to be imported: '' All subscriptions have been successfully imported: '모든 구독을 성공적으로 가져왔습니다'
Invalid subscriptions file: '' One or more subscriptions were unable to be imported: '하나 이상의 구독을 가져올 수 없습니다'
This might take a while, please wait: '' Invalid subscriptions file: '잘못된 구독 파일입니다'
Invalid history file: '' This might take a while, please wait: '시간이 좀 걸릴 수 있습니다. 잠시 기다려 주십시오'
Subscriptions have been successfully exported: '' Invalid history file: '잘못된 기록 파일입니다'
History object has insufficient data, skipping item: '' Subscriptions have been successfully exported: '구독을 성공적으로 내보냈습니다'
All watched history has been successfully imported: '' History object has insufficient data, skipping item: '기록 개체에 데이터가 부족하여 항목을 건너뜁니다'
All watched history has been successfully exported: '' All watched history has been successfully imported: '시청한 모든 기록을 성공적으로 가져왔습니다'
Unable to read file: '' All watched history has been successfully exported: '시청한 모든 기록이 성공적으로 내보내졌습니다'
Unable to write file: '' Unable to read file: '파일을 읽을 수 없습니다'
Unknown data key: '' Unable to write file: '파일을 쓸 수 없습니다'
How do I import my subscriptions?: '' Unknown data key: '알 수 없는 데이터 키입니다'
How do I import my subscriptions?: '구독을 가져오려면 어떻게 해야 합니까?'
Manage Subscriptions: 구독 관리
Advanced Settings: Advanced Settings:
Advanced Settings: '' Advanced Settings: ''
Enable Debug Mode (Prints data to the console): '' Enable Debug Mode (Prints data to the console): ''
@ -265,9 +271,24 @@ Settings:
#& Yes #& Yes
#& No #& No
Proxy Settings:
Error getting network information. Is your proxy configured properly?: 네트워크 정보를
가져오는 중 오류가 발생했습니다. 프록시가 올바르게 구성되어 있습니까?
City: 도시
Region: 지역
Country: 국가
Ip: Ip
Your Info: 사용자 정보
Test Proxy: 프록시 테스트
Clicking on Test Proxy will send a request to: 프록시 테스트를 클릭하면 다음 주소로 요청이 전송됩니다
Proxy Port Number: 프록시 포트 번호
Proxy Host: 프록시 호스트
Proxy Protocol: 프록시 프로토콜
Enable Tor / Proxy: Tor / Proxy 사용
Proxy Settings: 프록시 설정
About: About:
#On About page #On About page
About: '' About: '정보'
#& About #& About
'This software is FOSS and released under the GNU Affero General Public License v3.0.': '' 'This software is FOSS and released under the GNU Affero General Public License v3.0.': ''
@ -287,51 +308,78 @@ About:
Latest FreeTube News: '' Latest FreeTube News: ''
Donate: 기부
these people and projects: 이 사람들과 프로젝트
FreeTube is made possible by: FreeTube는 가능합니다
Credits: 제작
Translate: 번역
room rules: 방 규정
Please read the: 읽어주세요
Chat on Matrix: 매트릭스 채팅
Mastodon: Mastodon
Email: 이메일
Blog: 블로그
Website: 웹사이트
Please check for duplicates before posting: 게시하기 전에 중복 항목을 확인하십시오
GitHub issues: GitHub 이슈
Report a problem: 문제 보고
FAQ: FAQ
FreeTube Wiki: FreeTube Wiki
Help: 도움말
GitHub releases: GitHub 릴리스
Downloads / Changelog: 다운로드 / 변경 로그
View License: 라이센스 보기
Licensed under the AGPLv3: AGPLv3에 따라 라이센스가 부여됨
Source code: 소스 코드
Beta: 베타
Profile: Profile:
Profile Select: '' Profile Select: '프로필 선택'
All Channels: '' All Channels: '모든 채널'
Profile Manager: '' Profile Manager: '프로필 관리자'
Create New Profile: '' Create New Profile: '새 프로파일 작성'
Edit Profile: '' Edit Profile: '프로필 편집'
Color Picker: '' Color Picker: '색상 선택기'
Custom Color: '' Custom Color: '사용자 지정 색'
Profile Preview: '' Profile Preview: '프로필 미리보기'
Create Profile: '' Create Profile: '프로필 작성'
Update Profile: '' Update Profile: '프로필 업데이트'
Make Default Profile: '' Make Default Profile: '기본 프로파일 만들기'
Delete Profile: '' Delete Profile: '프로필 삭제'
Are you sure you want to delete this profile?: '' Are you sure you want to delete this profile?: '이 프로필을 삭제하시겠습니까?'
All subscriptions will also be deleted.: '' All subscriptions will also be deleted.: '모든 구독도 삭제됩니다.'
Profile could not be found: '' Profile could not be found: '프로필을 찾을 수 없습니다'
Your profile name cannot be empty: '' Your profile name cannot be empty: '프로필 이름은 비워 둘 수 없습니다'
Profile has been created: '' Profile has been created: '프로필이 생성되었습니다'
Profile has been updated: '' Profile has been updated: '프로필이 업데이트되었습니다'
Your default profile has been set to $: '' Your default profile has been set to $: '기본 프로필이 $로 설정되었습니다'
Removed $ from your profiles: '' Removed $ from your profiles: '프로필에서 $가 제거되었습니다'
Your default profile has been changed to your primary profile: '' Your default profile has been changed to your primary profile: '기본값 프로필이 기본 프로필로
$ is now the active profile: '' 변경되었습니다'
Subscription List: '' $ is now the active profile: '$가 현재 활성 프로필입니다'
Other Channels: '' Subscription List: '구독 목록'
$ selected: '' Other Channels: '기타 채널'
Select All: '' $ selected: '$선택되었습니다'
Select None: '' Select All: '모두 선택'
Delete Selected: '' Select None: '선택 안 함'
Add Selected To Profile: '' Delete Selected: '선택한 항목 삭제'
No channel(s) have been selected: '' Add Selected To Profile: '프로필에 선택한 항목 추가'
No channel(s) have been selected: '선택된 채널이 없습니다'
? This is your primary profile. Are you sure you want to delete the selected channels? The ? This is your primary profile. Are you sure you want to delete the selected channels? The
same channels will be deleted in any profile they are found in. same channels will be deleted in any profile they are found in.
: '' : '이것은 귀하의 기본 프로필입니다. 선택한 채널을 삭제하시겠습니까? 동일한 채널이 발견되는 모든 프로필에서 삭제됩니다.'
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: '' Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: '선택한
채널을 삭제하시겠습니까? 다른 프로파일에서는 채널이 삭제되지 않습니다.'
#On Channel Page #On Channel Page
Profile Filter: 프로필 필터
Channel: Channel:
Subscriber: '' Subscriber: '구독자'
Subscribers: '' Subscribers: '구독자'
Subscribe: '' Subscribe: '구독'
Unsubscribe: '' Unsubscribe: '구독 취소'
Channel has been removed from your subscriptions: '' Channel has been removed from your subscriptions: '채널이 구독에서 제거되었습니다'
Removed subscription from $ other channel(s): '' Removed subscription from $ other channel(s): '$ 다른 채널에서 구독을 제거했습니다'
Added channel to your subscriptions: '' Added channel to your subscriptions: '구독에 채널을 추가했습니다'
Search Channel: '' Search Channel: '채널 검색'
Your search results have returned 0 results: '' Your search results have returned 0 results: ''
Sort By: '' Sort By: ''
Videos: Videos:
@ -534,3 +582,4 @@ Canceled next video autoplay: ''
Yes: '' Yes: ''
No: '' No: ''
More: 더 보기

View File

@ -184,6 +184,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: 'UHD' 4k: 'UHD'
8k: '8k UHD' 8k: '8k UHD'
Playlist Next Video Interval: Intervall for avspilling av neste i spilleliste
Privacy Settings: Privacy Settings:
Privacy Settings: 'Personvernsinnstillinger' Privacy Settings: 'Personvernsinnstillinger'
Remember History: 'Husk historikk' Remember History: 'Husk historikk'
@ -300,6 +301,7 @@ Settings:
Hide Popular Videos: Skjul populære videoer Hide Popular Videos: Skjul populære videoer
Hide Video Views: Skjul videovisninger Hide Video Views: Skjul videovisninger
Hide Live Chat: Gjem direktechat Hide Live Chat: Gjem direktechat
Hide Playlists: Skjul spillelister
The app needs to restart for changes to take effect. Restart and apply change?: Start The app needs to restart for changes to take effect. Restart and apply change?: Start
programmet på ny for å bruke de nye endringene? programmet på ny for å bruke de nye endringene?
About: About:
@ -607,6 +609,7 @@ Profile:
Subscription List: Abonnementsliste Subscription List: Abonnementsliste
Profile Preview: Profilforhåndsvisning Profile Preview: Profilforhåndsvisning
Custom Color: Egendefinert farge Custom Color: Egendefinert farge
Profile Filter: Profilfilter
This video is unavailable because of missing formats. This can happen due to country unavailability.: Denne This video is unavailable because of missing formats. This can happen due to country unavailability.: Denne
videoen er utilgjengelig grunnet manglende formater. Dette kan skyldes tilgangbegrensninger videoen er utilgjengelig grunnet manglende formater. Dette kan skyldes tilgangbegrensninger
i ditt land. i ditt land.
@ -645,3 +648,7 @@ The playlist has been reversed: Spillelisten har blitt snudd
Download From Site: Last ned fra nettsiden Download From Site: Last ned fra nettsiden
Version $ is now available! Click for more details: Versjon $ er nå tilgjengelig. Version $ is now available! Click for more details: Versjon $ er nå tilgjengelig.
Klikk for flere detaljer. Klikk for flere detaljer.
Playing Next Video Interval: Spiller neste video nå. Klikk for å avbryte. | Spiller
neste video om {nextVideoInterval} sekund. Klikk for å avbryte. | Spiller neste
video om {nextVideoInterval} sekunder. Klikk for å avbryte.
More: Mer

View File

@ -186,6 +186,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Задержка перед автовоспроизведением
Subscription Settings: Subscription Settings:
Subscription Settings: 'Настройки подписки' Subscription Settings: 'Настройки подписки'
Hide Videos on Watch: 'Скрыть видео после просмотра' Hide Videos on Watch: 'Скрыть видео после просмотра'
@ -290,6 +291,7 @@ Settings:
Hide Video Likes And Dislikes: Скрыть лайки и дизлайки к видео Hide Video Likes And Dislikes: Скрыть лайки и дизлайки к видео
Hide Video Views: Скрыть просмотры видео Hide Video Views: Скрыть просмотры видео
Hide Active Subscriptions: Скрыть активные подписки Hide Active Subscriptions: Скрыть активные подписки
Hide Playlists: Скрыть плейлисты
The app needs to restart for changes to take effect. Restart and apply change?: Чтобы The app needs to restart for changes to take effect. Restart and apply change?: Чтобы
изменения вступили в силу, необходимо перезапустить приложение. Перезапустить изменения вступили в силу, необходимо перезапустить приложение. Перезапустить
и применить изменения? и применить изменения?
@ -297,7 +299,7 @@ Settings:
Error getting network information. Is your proxy configured properly?: Ошибка Error getting network information. Is your proxy configured properly?: Ошибка
при получении информации о сети. Вы уверены, что прокси настроен правильно? при получении информации о сети. Вы уверены, что прокси настроен правильно?
Your Info: Ваша информация Your Info: Ваша информация
Clicking on Test Proxy will send a request to: Нажмите на rкнопку "Протестировать Clicking on Test Proxy will send a request to: Нажмите на кнопку "Протестировать
соединение", чтобы отправить запрос на соединение", чтобы отправить запрос на
Test Proxy: Протестировать соединение Test Proxy: Протестировать соединение
Proxy Port Number: Порт прокси-сервера Proxy Port Number: Порт прокси-сервера
@ -570,8 +572,8 @@ Loop is now disabled: 'Цикл теперь отключён'
Loop is now enabled: 'Цикл теперь включён' Loop is now enabled: 'Цикл теперь включён'
Shuffle is now disabled: 'Перемешивание теперь отключено' Shuffle is now disabled: 'Перемешивание теперь отключено'
Shuffle is now enabled: 'Перемешивание теперь включено' Shuffle is now enabled: 'Перемешивание теперь включено'
Playing Next Video: 'Воспроизвести следующее видео' Playing Next Video: 'Воспроизведение следующего видео'
Playing Previous Video: 'Воспроизвести предыдущее видео' Playing Previous Video: 'Воспроизведение предыдущего видео'
Playing next video in 5 seconds. Click to cancel: 'Воспроизведение следующего видео Playing next video in 5 seconds. Click to cancel: 'Воспроизведение следующего видео
через 5 секунд. Нажмите, чтобы отменить.' через 5 секунд. Нажмите, чтобы отменить.'
Canceled next video autoplay: 'Отменено автовоспроизведение следующего видео' Canceled next video autoplay: 'Отменено автовоспроизведение следующего видео'
@ -622,6 +624,7 @@ Profile:
$ selected: $ выбрано $ selected: $ выбрано
Other Channels: Другие каналы Other Channels: Другие каналы
Subscription List: Список подписок Subscription List: Список подписок
Profile Filter: Фильтры профилей
The playlist has been reversed: Плейлист был перевёрнут The playlist has been reversed: Плейлист был перевёрнут
A new blog is now available, $. Click to view more: Теперь доступен новый блог $. A new blog is now available, $. Click to view more: Теперь доступен новый блог $.
Нажмите, чтобы увидеть больше Нажмите, чтобы увидеть больше
@ -648,10 +651,10 @@ Tooltips:
из страны, которые вы хотите отображать. Не все отображаемые страны на самом из страны, которые вы хотите отображать. Не все отображаемые страны на самом
деле поддерживаются YouTube деле поддерживаются YouTube
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Если этот параметр включен, FreeTube будет использовать Fetch Feeds from RSS: Если этот параметр включен, FreeTube будет получать вашу
RSS вместо метода по умолчанию для получения вашего канала подписки. RSS работает ленту подписок с помощью RSS, а не как обычно. RSS работает быстрее и предотвращает
быстрее и предотвращает блокировку IP, но не предоставляет определенную информацию, блокировку IP, но не предоставляет определенную информацию, такую как продолжительность
такую как продолжительность видео или статус в реальном времени видео или сведения о том, транслируется ли видео в реальном времени
Player Settings: Player Settings:
Default Video Format: Установите форматы, используемые при воспроизведении видео. Default Video Format: Установите форматы, используемые при воспроизведении видео.
Формат dash может воспроизводить более высокое качество. Устаревшие форматы Формат dash может воспроизводить более высокое качество. Устаревшие форматы
@ -664,3 +667,8 @@ Tooltips:
устаревшие форматы, возвращаемые им, вместо форматов, возвращаемых Invidious. устаревшие форматы, возвращаемые им, вместо форматов, возвращаемых Invidious.
Помогает, когда видео, возвращенные Invidious, не воспроизводятся из-за ограничений Помогает, когда видео, возвращенные Invidious, не воспроизводятся из-за ограничений
страны страны
More: Больше
Playing Next Video Interval: Воспроизведение следующего видео без задержки. Нажмите
для отмены. | Воспроизведение следующего видео через {nextVideoInterval} сек. Нажмите
для отмены. | Воспроизведение следующего видео через {nextVideoInterval} сек. Нажмите
для отмены.

View File

@ -105,7 +105,7 @@ Settings:
Preferred API Backend: Preferred API Backend:
Preferred API Backend: 'Preferované API Backend' Preferred API Backend: 'Preferované API Backend'
Local API: 'Lokálne API' Local API: 'Lokálne API'
Invidious API: 'Invidious API' Invidious API: 'API služby Invidious'
Video View Type: Video View Type:
Video View Type: 'Typ zobrazenia videa' Video View Type: 'Typ zobrazenia videa'
Grid: 'Mriežka' Grid: 'Mriežka'
@ -184,6 +184,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Čas spustenia nasledujúceho videa v zozname videí
Subscription Settings: Subscription Settings:
Subscription Settings: 'Nastavenia Odberov' Subscription Settings: 'Nastavenia Odberov'
Hide Videos on Watch: 'Skryť videá po zhliadnutí' Hide Videos on Watch: 'Skryť videá po zhliadnutí'
@ -272,6 +273,7 @@ Settings:
Hide Video Views: Skryť počet zhliadnutí Hide Video Views: Skryť počet zhliadnutí
Distraction Free Settings: Nastavenia nerušenia Distraction Free Settings: Nastavenia nerušenia
Hide Active Subscriptions: Skryť aktívne odbery Hide Active Subscriptions: Skryť aktívne odbery
Hide Playlists: Skryť zoznamy videí
Privacy Settings: Privacy Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Naozaj Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Naozaj
chcete odstrániť všetky odbery a profily? Toto je nenávratná akcia. chcete odstrániť všetky odbery a profily? Toto je nenávratná akcia.
@ -356,7 +358,7 @@ About:
room rules: pravidlá miestností room rules: pravidlá miestností
Please read the: Prečítajte si Please read the: Prečítajte si
Chat on Matrix: Napíšte nám na Matrix-e Chat on Matrix: Napíšte nám na Matrix-e
Mastodon: Mastodon Mastodon: Komunikačná platforma Mastodon
Email: Elektronická pošta Email: Elektronická pošta
Blog: Blog Blog: Blog
Website: Webstránka Website: Webstránka
@ -649,9 +651,14 @@ Profile:
Profile Manager: Správca profilov Profile Manager: Správca profilov
All Channels: Všetky kanály All Channels: Všetky kanály
Profile Select: Vyberte profil Profile Select: Vyberte profil
Profile Filter: Filter Profilov
A new blog is now available, $. Click to view more: Nový príspevok na blogu je k dispozícií, A new blog is now available, $. Click to view more: Nový príspevok na blogu je k dispozícií,
$. Klikni pre viac informácií $. Klikni pre viac informácií
Download From Site: Stiahnuť zo stránky Download From Site: Stiahnuť zo stránky
Version $ is now available! Click for more details: Je k dispozícií verzia $ ! Klikni Version $ is now available! Click for more details: Je k dispozícií verzia $ ! Klikni
pre viac informácií pre viac informácií
Locale Name: Slovenčina Locale Name: Slovenčina
Playing Next Video Interval: Prehrávanie ďalšieho videa za chvíľu. Kliknutím zrušíte.
| Prehráva sa ďalšie video o {nextVideoInterval} sekundu. Kliknutím zrušíte. | Prehráva
sa ďalšie video o {nextVideoInterval} sekúnd. Kliknutím zrušíte.
More: Viac

View File

@ -176,6 +176,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: 播放清單 下一個影片間隔時間
Subscription Settings: Subscription Settings:
Subscription Settings: '訂閱設定' Subscription Settings: '訂閱設定'
Hide Videos on Watch: '觀看時隱藏影片' Hide Videos on Watch: '觀看時隱藏影片'
@ -265,6 +266,7 @@ Settings:
Hide Recommended Videos: 隱藏推薦影片 Hide Recommended Videos: 隱藏推薦影片
Hide Channel Subscribers: 隱藏頻道訂閱者 Hide Channel Subscribers: 隱藏頻道訂閱者
Hide Active Subscriptions: 隱藏作用中的訂閱 Hide Active Subscriptions: 隱藏作用中的訂閱
Hide Playlists: 隱藏播放清單
The app needs to restart for changes to take effect. Restart and apply change?: 此變更需要重啟讓修改生效。重啟並且套用變更? The app needs to restart for changes to take effect. Restart and apply change?: 此變更需要重啟讓修改生效。重啟並且套用變更?
Proxy Settings: Proxy Settings:
Error getting network information. Is your proxy configured properly?: 取得網路資訊時發生錯誤。您的代理伺服器設定正確嗎? Error getting network information. Is your proxy configured properly?: 取得網路資訊時發生錯誤。您的代理伺服器設定正確嗎?
@ -328,7 +330,7 @@ About:
room rules: 聊天室規則 room rules: 聊天室規則
Please read the: 請閱讀 Please read the: 請閱讀
Chat on Matrix: 在 Matrix 上聊天 Chat on Matrix: 在 Matrix 上聊天
Mastodon: Mastodon Mastodon: Mastodon(長毛象/萬象)
Please check for duplicates before posting: 提交前請檢查有無重複的問題 Please check for duplicates before posting: 提交前請檢查有無重複的問題
GitHub issues: GitHub 問題追蹤器 GitHub issues: GitHub 問題追蹤器
Report a problem: 回報問題 Report a problem: 回報問題
@ -363,7 +365,7 @@ Channel:
About: About:
About: '關於' About: '關於'
Channel Description: '頻道說明' Channel Description: '頻道說明'
Featured Channels: '列出頻道' Featured Channels: '推薦頻道'
Added channel to your subscriptions: 已新增頻道至您的訂閱 Added channel to your subscriptions: 已新增頻道至您的訂閱
Removed subscription from $ other channel(s): 從$個其他頻道移除訂閱 Removed subscription from $ other channel(s): 從$個其他頻道移除訂閱
Channel has been removed from your subscriptions: 頻道已從您的訂閱中移除 Channel has been removed from your subscriptions: 頻道已從您的訂閱中移除
@ -420,7 +422,7 @@ Video:
Minute: 分鐘 Minute: 分鐘
Published on: '發布於' Published on: '發布於'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: '$ %前' Publicationtemplate: '$ % 前'
#& Videos #& Videos
Video has been removed from your history: 影片已從您的歷史紀錄中移除 Video has been removed from your history: 影片已從您的歷史紀錄中移除
Video has been marked as watched: 影片標記為已觀看 Video has been marked as watched: 影片標記為已觀看
@ -445,7 +447,7 @@ Video:
Open Channel in Invidious: 在Invidious開啟頻道 Open Channel in Invidious: 在Invidious開啟頻道
Copy YouTube Channel Link: 複製YouTube頻道連結 Copy YouTube Channel Link: 複製YouTube頻道連結
Open Channel in YouTube: 在YouTube開啟頻道 Open Channel in YouTube: 在YouTube開啟頻道
Started streaming on: '開始直播時間:' Started streaming on: '開始直播時間'
Streamed on: 直播於 Streamed on: 直播於
Video has been removed from your saved list: 影片已從您的播放清單移除 Video has been removed from your saved list: 影片已從您的播放清單移除
Video has been saved: 影片已儲存 Video has been saved: 影片已儲存
@ -500,7 +502,7 @@ Mini Player: '迷你播放器'
Comments: Comments:
Comments: '留言' Comments: '留言'
Click to View Comments: '點擊查看留言' Click to View Comments: '點擊查看留言'
Getting comment replies, please wait: '取留言中,請稍候...' Getting comment replies, please wait: '取留言中,請稍候...'
Show Comments: '查看留言' Show Comments: '查看留言'
Hide Comments: '隱藏留言' Hide Comments: '隱藏留言'
# Context: View 10 Replies, View 1 Reply # Context: View 10 Replies, View 1 Reply
@ -572,6 +574,7 @@ Profile:
$ selected: $個選取的 $ selected: $個選取的
Other Channels: 其他頻道 Other Channels: 其他頻道
Subscription List: 訂閱清單 Subscription List: 訂閱清單
Profile Filter: 設定檔篩選器
The playlist has been reversed: 播放清單已反轉 The playlist has been reversed: 播放清單已反轉
A new blog is now available, $. Click to view more: 已有新的部落格文章,$。點擊以檢視更多 A new blog is now available, $. Click to view more: 已有新的部落格文章,$。點擊以檢視更多
Download From Site: 從網站下載 Download From Site: 從網站下載
@ -579,7 +582,7 @@ Version $ is now available! Click for more details: 版本更新囉! 最新版
This video is unavailable because of missing formats. This can happen due to country unavailability.: 沒有這個影片因為缺少格式。這個可能發生由於國家不可用。 This video is unavailable because of missing formats. This can happen due to country unavailability.: 沒有這個影片因為缺少格式。這個可能發生由於國家不可用。
Tooltips: Tooltips:
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: 啟用後FreeTube 將使用 RSS 而非預設方式來取得您的訂閱推送。RSS 更快而且可避免 IP 封鎖,但不提供某些訊息,如影片長度與即時狀態 Fetch Feeds from RSS: 啟用後FreeTube將使用RSS代替它的預設方法來抓取您的訂閱來源。RSS的速度較快而且可以防止IP封鎖但它可能不會提供某些資訊例如影片長度或是直播狀態。
Player Settings: Player Settings:
Default Video Format: 設定要用於影片播放的格式。Dash格式有更高的品質。傳統格式會限制在 720p但頻寬需求更低。音訊格式為僅有音訊的串流 Default Video Format: 設定要用於影片播放的格式。Dash格式有更高的品質。傳統格式會限制在 720p但頻寬需求更低。音訊格式為僅有音訊的串流
Proxy Videos Through Invidious: 將連線到 Invidious而非直接連線到 YouTube 來提供影片。覆寫 API 偏好 Proxy Videos Through Invidious: 將連線到 Invidious而非直接連線到 YouTube 來提供影片。覆寫 API 偏好
@ -593,3 +596,6 @@ Tooltips:
Preferred API Backend: 選擇 FreeTube 要用於取得YouTube資料的伺服器。本地 API 是內建擷取器。Invidious Preferred API Backend: 選擇 FreeTube 要用於取得YouTube資料的伺服器。本地 API 是內建擷取器。Invidious
API 需要 Invidious 伺服器才能連線。 API 需要 Invidious 伺服器才能連線。
Region for Trending: 發燒影片區域可以讓您選擇想要顯示哪個國家的發燒影片。 注意:並非所有國家都被YouTube支援 Region for Trending: 發燒影片區域可以讓您選擇想要顯示哪個國家的發燒影片。 注意:並非所有國家都被YouTube支援
Playing Next Video Interval: 馬上播放下一個影片。點擊取消。| 播放下一個影片的時間為{nextVideoInterval}秒。點擊取消。|
播放下一個影片的時間為{nextVideoInterval}秒。點擊取消。
More: 更多