diff --git a/package-lock.json b/package-lock.json index 8ad34675..019b63cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10734,9 +10734,9 @@ } }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, "yargs": { @@ -11499,9 +11499,9 @@ } }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, "yargs": { @@ -15313,6 +15313,11 @@ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" }, + "smol-jsonp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/smol-jsonp/-/smol-jsonp-1.0.0.tgz", + "integrity": "sha512-EwM2cKsq87A9cCKiAwfp7kVSRtAT01M/3HXaO3tYxP+pnEZ5zVYsxLdTnPjJVVIeK9O2zkV0QbWuwlHEUQNdOA==" + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -18288,17 +18293,18 @@ } }, "youtube-suggest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/youtube-suggest/-/youtube-suggest-1.1.0.tgz", - "integrity": "sha512-uMIgu/bQAjZ+aPVL5DXHZusTyuJh2tW2NiXO5y+CYvN9U9iqv7xvzbhTSTE7sAKM4AK1zRnq+WQEFkgSEDqXkA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/youtube-suggest/-/youtube-suggest-1.1.1.tgz", + "integrity": "sha512-nMkXJV24xe0QZ67YAfEtVfdGCtuyhOMcvX4GkO824TivwQbkHMNaWlMGlUkePSXCu2vPReP6nYhknoHzmD0/Aw==", "requires": { - "node-fetch": "^2.6.0" + "node-fetch": "^2.6.0", + "smol-jsonp": "^1.0.0" } }, "yt-channel-info": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/yt-channel-info/-/yt-channel-info-1.3.0.tgz", - "integrity": "sha512-75ML9snDZhXSkaczR3mgcq6EyI2jjPYzjXcz5TV9C9gSRkhCv2gxVhJVPXfeUQuAa0YGySE3F1V0Yz2HyY3zfg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yt-channel-info/-/yt-channel-info-2.0.0.tgz", + "integrity": "sha512-Qrd9ONv9NbVPGGwCWPDwuQds43iXcNQHMB4iE9VqBtDt9WuMKoZd6BvoZDT10QCKisknByO1XIkM1hxbKyZNnA==", "requires": { "axios": "^0.21.1", "querystring": "^0.2.0" @@ -18371,9 +18377,9 @@ } }, "yt-trending-scraper": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/yt-trending-scraper/-/yt-trending-scraper-1.1.0.tgz", - "integrity": "sha512-9QCSbzKFMTHyvj9y8oRnRZcLH9aVK/8GcPWSAiayfOfswXDnLZYONqavy/04kz/nXZfZQeuIGMsxCW2RxokWlQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/yt-trending-scraper/-/yt-trending-scraper-1.1.2.tgz", + "integrity": "sha512-kRR/bBhNBq/GAvHDSdKE9MxJcwg+CxWb/JZtr2J3xZZ5UF3txdUc3zCLxqf+RRVcdJuObxEv0MgReCwspoFoAg==", "requires": { "axios": "^0.21.1" }, @@ -18387,9 +18393,9 @@ } }, "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==" } } }, diff --git a/package.json b/package.json index 10421f7e..a6dc199f 100644 --- a/package.json +++ b/package.json @@ -46,11 +46,11 @@ "vuex": "^3.6.2", "xml2json": "^0.12.0", "youtube-chat": "git+https://github.com/IcedCoffeee/youtube-chat.git", - "youtube-suggest": "^1.1.0", - "yt-channel-info": "^1.3.0", + "youtube-suggest": "^1.1.1", + "yt-channel-info": "^2.0.0", "yt-comment-scraper": "^3.0.2", "yt-dash-manifest-generator": "1.1.0", - "yt-trending-scraper": "^1.1.0", + "yt-trending-scraper": "^1.1.1", "yt-xml2vtt": "^1.2.0", "ytdl-core": "^4.5.0", "ytpl": "^2.0.5", diff --git a/src/main/index.js b/src/main/index.js index 8125c9a1..2b6b5d54 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -1,4 +1,4 @@ -import { app, BrowserWindow, Menu, ipcMain, screen } from 'electron' +import { app, BrowserWindow, Menu, ipcMain, session, screen } from 'electron' import Datastore from 'nedb' if (process.argv.includes('--version')) { @@ -39,6 +39,7 @@ function runApp() { app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors') app.commandLine.appendSwitch('enable-accelerated-video-decode') + app.commandLine.appendSwitch('enable-file-cookies') app.commandLine.appendSwitch('ignore-gpu-blacklist') // See: https://stackoverflow.com/questions/45570589/electron-protocol-handler-not-working-on-windows @@ -251,6 +252,20 @@ function runApp() { proxyRules: proxyUrl }) } + + // Set CONSENT cookie on reasonable domains + [ + 'http://www.youtube.com', + 'https://www.youtube.com', + 'http://youtube.com', + 'https://youtube.com' + ].forEach(url => { + mainWindow.webContents.session.cookies.set({ + url: url, + name: 'CONSENT', + value: 'YES+' + }) + }) settingsDb.findOne({ _id: 'bounds' diff --git a/src/renderer/App.js b/src/renderer/App.js index c821fad6..eca320ba 100644 --- a/src/renderer/App.js +++ b/src/renderer/App.js @@ -85,26 +85,27 @@ export default Vue.extend({ } }, mounted: function () { - this.$store.dispatch('grabUserSettings') - this.$store.dispatch('grabHistory') - this.$store.dispatch('grabAllProfiles', this.$t('Profile.All Channels')) - this.$store.dispatch('grabAllPlaylists') - this.$store.commit('setUsingElectron', useElectron) - this.checkThemeSettings() - this.checkLocale() + this.$store.dispatch('grabUserSettings').then((result) => { + this.$store.dispatch('grabHistory') + this.$store.dispatch('grabAllProfiles', this.$t('Profile.All Channels')) + this.$store.dispatch('grabAllPlaylists') + this.$store.commit('setUsingElectron', useElectron) + this.checkThemeSettings() + this.checkLocale() - if (useElectron) { - console.log('User is using Electron') - this.activateKeyboardShortcuts() - this.openAllLinksExternally() - this.enableOpenUrl() - this.setBoundsOnClose() - } + if (useElectron) { + console.log('User is using Electron') + this.activateKeyboardShortcuts() + this.openAllLinksExternally() + this.enableOpenUrl() + this.setBoundsOnClose() + } - setTimeout(() => { - this.checkForNewUpdates() - this.checkForNewBlogPosts() - }, 500) + setTimeout(() => { + this.checkForNewUpdates() + this.checkForNewBlogPosts() + }, 500) + }) }, methods: { checkLocale: function () { diff --git a/src/renderer/components/privacy-settings/privacy-settings.js b/src/renderer/components/privacy-settings/privacy-settings.js index 53b4421f..3e9f42b6 100644 --- a/src/renderer/components/privacy-settings/privacy-settings.js +++ b/src/renderer/components/privacy-settings/privacy-settings.js @@ -33,6 +33,10 @@ export default Vue.extend({ saveWatchedProgress: function () { return this.$store.getters.getSaveWatchedProgress }, + removeVideoMetaFiles: function () { + return this.$store.getters.getRemoveVideoMetaFiles + }, + profileList: function () { return this.$store.getters.getProfileList }, @@ -66,6 +70,13 @@ export default Vue.extend({ this.updateRememberHistory(value) }, + handleVideoMetaFiles: function (value) { + if (!value) { + this.updateRemoveVideoMetaFiles(false) + } + this.updateRemoveVideoMetaFiles(value) + }, + handleRemoveHistory: function (option) { this.showRemoveHistoryPrompt = false @@ -102,6 +113,7 @@ export default Vue.extend({ ...mapActions([ 'updateRememberHistory', + 'updateRemoveVideoMetaFiles', 'removeAllHistory', 'updateSaveWatchedProgress', 'clearSessionSearchHistory', diff --git a/src/renderer/components/privacy-settings/privacy-settings.vue b/src/renderer/components/privacy-settings/privacy-settings.vue index e0191eda..d39b7214 100644 --- a/src/renderer/components/privacy-settings/privacy-settings.vue +++ b/src/renderer/components/privacy-settings/privacy-settings.vue @@ -23,6 +23,15 @@ @change="updateSaveWatchedProgress" /> +
+ +

diff --git a/src/renderer/components/side-nav/side-nav.vue b/src/renderer/components/side-nav/side-nav.vue index 057099d9..c016b231 100644 --- a/src/renderer/components/side-nav/side-nav.vue +++ b/src/renderer/components/side-nav/side-nav.vue @@ -12,6 +12,7 @@

-

{{ comment.author }} {{ comment.time }} diff --git a/src/renderer/components/watch-video-live-chat/watch-video-live-chat.js b/src/renderer/components/watch-video-live-chat/watch-video-live-chat.js index 96e9b1ee..e2e11966 100644 --- a/src/renderer/components/watch-video-live-chat/watch-video-live-chat.js +++ b/src/renderer/components/watch-video-live-chat/watch-video-live-chat.js @@ -161,7 +161,7 @@ export default Vue.extend({ comment.messageHtml = comment.messageHtml + text.text } } else if (typeof (text.alt) !== 'undefined') { - const htmlImg = `${text.alt}` + const htmlImg = `${text.alt}` comment.messageHtml = comment.messageHtml + htmlImg } else { comment.messageHtml = comment.messageHtml + text.text diff --git a/src/renderer/main.js b/src/renderer/main.js index 9513d603..4404b54c 100644 --- a/src/renderer/main.js +++ b/src/renderer/main.js @@ -27,7 +27,7 @@ Vue.component('FontAwesomeIcon', FontAwesomeIcon) Vue.use(VueI18n) // 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', 'nb_NO', 'nl', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ru', 'sk', 'sl', 'sv', 'tr', 'uk', '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', 'is', 'it', 'ja', 'nb_NO', 'nl', 'nn', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ru', 'sk', 'sl', 'sv', 'tr', 'uk', 'vi', 'zh-CN', 'zh-TW'] const messages = {} /* eslint-disable-next-line */ const fileLocation = isDev ? 'static/locales/' : `${__dirname}/static/locales/` diff --git a/src/renderer/store/modules/history.js b/src/renderer/store/modules/history.js index 42088578..3869c0c5 100644 --- a/src/renderer/store/modules/history.js +++ b/src/renderer/store/modules/history.js @@ -13,7 +13,6 @@ if (window && window.process && window.process.type === 'renderer') { const remote = require('@electron/remote') dbLocation = remote.app.getPath('userData') - dbLocation = dbLocation + '/history.db' } else { dbLocation = 'history.db' diff --git a/src/renderer/store/modules/profile.js b/src/renderer/store/modules/profile.js index fe5b25fd..d934aedd 100644 --- a/src/renderer/store/modules/profile.js +++ b/src/renderer/store/modules/profile.js @@ -103,7 +103,7 @@ const actions = { textColor: textColor, subscriptions: [] } - console.log(defaultProfile) + profileDb.update({ _id: 'allChannels' }, defaultProfile, { upsert: true }, (err, numReplaced) => { if (!err) { dispatch('grabAllProfiles') diff --git a/src/renderer/store/modules/settings.js b/src/renderer/store/modules/settings.js index bb4d2d2d..bd12ed7c 100644 --- a/src/renderer/store/modules/settings.js +++ b/src/renderer/store/modules/settings.js @@ -47,6 +47,7 @@ const state = { enableSearchSuggestions: true, rememberHistory: true, saveWatchedProgress: true, + removeVideoMetaFiles: true, autoplayVideos: true, autoplayPlaylists: true, playNextVideo: false, @@ -141,6 +142,10 @@ const getters = { return state.saveWatchedProgress }, + getRemoveVideoMetaFiles: () => { + return state.removeVideoMetaFiles + }, + getAutoplayVideos: () => { return state.autoplayVideos }, @@ -264,152 +269,160 @@ const getters = { const actions = { grabUserSettings ({ dispatch, commit, rootState }) { - settingsDb.find({}, (err, results) => { - if (!err) { - console.log(results) - results.forEach((result) => { - switch (result._id) { - case 'invidiousInstance': - if (result.value === '') { - dispatch('updateInvidiousInstance', 'https://invidious.snopyta.org') - } else { - commit('setInvidiousInstance', result.value) - } - break - case 'backendFallback': - commit('setBackendFallback', result.value) - break - case 'defaultProfile': - commit('setDefaultProfile', result.value) - break - case 'checkForUpdates': - commit('setCheckForUpdates', result.value) - break - case 'checkForBlogPosts': - commit('setCheckForBlogPosts', result.value) - break - case 'enableSearchSuggestions': - commit('setEnableSearchSuggestions', result.value) - break - case 'backendPreference': - commit('setBackendPreference', result.value) - break - case 'landingPage': - commit('setLandingPage', result.value) - break - case 'region': - commit('setRegion', result.value) - break - case 'listType': - commit('setListType', result.value) - break - case 'thumbnailPreference': - commit('setThumbnailPreference', result.value) - break - case 'barColor': - commit('setBarColor', result.value) - break - case 'uiScale': - webframe.setZoomFactor(parseInt(result.value) / 100) - commit('setUiScale', result.value) - break - case 'disableSmoothScrolling': - commit('setDisableSmoothScrolling', result.value) - break - case 'hideWatchedSubs': - commit('setHideWatchedSubs', result.value) - break - case 'useRssFeeds': - commit('setUseRssFeeds', result.value) - break - case 'rememberHistory': - commit('setRememberHistory', result.value) - break - case 'saveWatchedProgress': - commit('setSaveWatchedProgress', result.value) - break - case 'autoplayVideos': - commit('setAutoplayVideos', result.value) - break - case 'autoplayPlaylists': - commit('setAutoplayPlaylists', result.value) - break - case 'playNextVideo': - commit('setPlayNextVideo', result.value) - break - case 'enableSubtitles': - commit('setEnableSubtitles', result.value) - break - case 'forceLocalBackendForLegacy': - commit('setForceLocalBackendForLegacy', result.value) - break - case 'proxyVideos': - commit('setProxyVideos', result.value) - break - case 'useProxy': - commit('setUseProxy', result.value) - break - case 'proxyProtocol': - commit('setProxyProtocol', result.value) - break - case 'proxyHostname': - commit('setProxyHostname', result.value) - break - case 'proxyPort': - commit('setProxyPort', result.value) - break - case 'defaultTheatreMode': - commit('setDefaultTheatreMode', result.value) - break - case 'defaultInterval': - commit('setDefaultInterval', result.value) - break - case 'defaultVolume': - commit('setDefaultVolume', result.value) - sessionStorage.setItem('volume', result.value) - break - case 'defaultPlayback': - commit('setDefaultPlayback', result.value) - break - case 'defaultVideoFormat': - commit('setDefaultVideoFormat', result.value) - break - case 'defaultQuality': - commit('setDefaultQuality', result.value) - break - case 'hideVideoViews': - commit('setHideVideoViews', result.value) - break - case 'hideVideoLikesAndDislikes': - commit('setHideVideoLikesAndDislikes', result.value) - break - case 'hideChannelSubscriptions': - commit('setHideChannelSubscriptions', result.value) - break - case 'hideCommentLikes': - commit('setHideCommentLikes', result.value) - break - case 'hideRecommendedVideos': - commit('setHideRecommendedVideos', result.value) - break - case 'hideTrendingVideos': - commit('setHideTrendingVideos', result.value) - break - case 'hidePopularVideos': - commit('setHidePopularVideos', result.value) - break - case 'hidePlaylists': - commit('setHidePlaylists', result.value) - break - case 'hideLiveChat': - commit('setHideLiveChat', result.value) - break - case 'hideActiveSubscriptions': - commit('setHideActiveSubscriptions', result.value) - break - } - }) - } + return new Promise((resolve, reject) => { + settingsDb.find({}, (err, results) => { + if (!err) { + console.log(results) + results.forEach((result) => { + switch (result._id) { + case 'invidiousInstance': + if (result.value === '') { + dispatch('updateInvidiousInstance', 'https://invidious.snopyta.org') + } else { + commit('setInvidiousInstance', result.value) + } + break + case 'backendFallback': + commit('setBackendFallback', result.value) + break + case 'defaultProfile': + console.log('IN SETTING DEFAULT:', result.value) + commit('setDefaultProfile', result.value) + break + case 'checkForUpdates': + commit('setCheckForUpdates', result.value) + break + case 'checkForBlogPosts': + commit('setCheckForBlogPosts', result.value) + break + case 'enableSearchSuggestions': + commit('setEnableSearchSuggestions', result.value) + break + case 'backendPreference': + commit('setBackendPreference', result.value) + break + case 'landingPage': + commit('setLandingPage', result.value) + break + case 'region': + commit('setRegion', result.value) + break + case 'listType': + commit('setListType', result.value) + break + case 'thumbnailPreference': + commit('setThumbnailPreference', result.value) + break + case 'barColor': + commit('setBarColor', result.value) + break + case 'uiScale': + webframe.setZoomFactor(parseInt(result.value) / 100) + commit('setUiScale', result.value) + break + case 'disableSmoothScrolling': + commit('setDisableSmoothScrolling', result.value) + break + case 'hideWatchedSubs': + commit('setHideWatchedSubs', result.value) + break + case 'useRssFeeds': + commit('setUseRssFeeds', result.value) + break + case 'rememberHistory': + commit('setRememberHistory', result.value) + break + case 'saveWatchedProgress': + commit('setSaveWatchedProgress', result.value) + break + case 'removeVideoMetaFiles': + commit('setRemoveVideoMetaFiles', result.value) + break + case 'autoplayVideos': + commit('setAutoplayVideos', result.value) + break + case 'autoplayPlaylists': + commit('setAutoplayPlaylists', result.value) + break + case 'playNextVideo': + commit('setPlayNextVideo', result.value) + break + case 'enableSubtitles': + commit('setEnableSubtitles', result.value) + break + case 'forceLocalBackendForLegacy': + commit('setForceLocalBackendForLegacy', result.value) + break + case 'proxyVideos': + commit('setProxyVideos', result.value) + break + case 'useProxy': + commit('setUseProxy', result.value) + break + case 'proxyProtocol': + commit('setProxyProtocol', result.value) + break + case 'proxyHostname': + commit('setProxyHostname', result.value) + break + case 'proxyPort': + commit('setProxyPort', result.value) + break + case 'defaultTheatreMode': + commit('setDefaultTheatreMode', result.value) + break + case 'defaultInterval': + commit('setDefaultInterval', result.value) + break + case 'defaultVolume': + commit('setDefaultVolume', result.value) + sessionStorage.setItem('volume', result.value) + break + case 'defaultPlayback': + commit('setDefaultPlayback', result.value) + break + case 'defaultVideoFormat': + commit('setDefaultVideoFormat', result.value) + break + case 'defaultQuality': + commit('setDefaultQuality', result.value) + break + case 'hideVideoViews': + commit('setHideVideoViews', result.value) + break + case 'hideVideoLikesAndDislikes': + commit('setHideVideoLikesAndDislikes', result.value) + break + case 'hideChannelSubscriptions': + commit('setHideChannelSubscriptions', result.value) + break + case 'hideCommentLikes': + commit('setHideCommentLikes', result.value) + break + case 'hideRecommendedVideos': + commit('setHideRecommendedVideos', result.value) + break + case 'hideTrendingVideos': + commit('setHideTrendingVideos', result.value) + break + case 'hidePopularVideos': + commit('setHidePopularVideos', result.value) + break + case 'hidePlaylists': + commit('setHidePlaylists', result.value) + break + case 'hideLiveChat': + commit('setHideLiveChat', result.value) + break + case 'hideActiveSubscriptions': + commit('setHideActiveSubscriptions', result.value) + break + } + }) + resolve() + } + reject(err) + }) }) }, @@ -550,6 +563,14 @@ const actions = { }) }, + updateRemoveVideoMetaFiles ({ commit }, removeVideoMetaFiles) { + settingsDb.update({ _id: 'removeVideoMetaFiles' }, { _id: 'removeVideoMetaFiles', value: removeVideoMetaFiles }, { upsert: true }, (err, numReplaced) => { + if (!err) { + commit('setRemoveVideoMetaFiles', removeVideoMetaFiles) + } + }) + }, + updateAutoplayVideos ({ commit }, autoplayVideos) { settingsDb.update({ _id: 'autoplayVideos' }, { _id: 'autoplayVideos', value: autoplayVideos }, { upsert: true }, (err, numReplaced) => { if (!err) { @@ -817,6 +838,11 @@ const mutations = { setSaveWatchedProgress (state, saveWatchedProgress) { state.saveWatchedProgress = saveWatchedProgress }, + + setRemoveVideoMetaFiles (state, removeVideoMetaFiles) { + state.removeVideoMetaFiles = removeVideoMetaFiles + }, + setAutoplayVideos (state, autoplayVideos) { state.autoplayVideos = autoplayVideos }, diff --git a/src/renderer/store/modules/ytdl.js b/src/renderer/store/modules/ytdl.js index 6ce2edd6..5d6bceb9 100644 --- a/src/renderer/store/modules/ytdl.js +++ b/src/renderer/store/modules/ytdl.js @@ -347,7 +347,7 @@ const actions = { } ytdl.getInfo(videoId, { - lang: localStorage.getItem('locale'), + lang: 'en-US', requestOptions: { agent } }).then((result) => { resolve(result) diff --git a/src/renderer/views/Watch/Watch.js b/src/renderer/views/Watch/Watch.js index 00745b4d..1e5c4990 100644 --- a/src/renderer/views/Watch/Watch.js +++ b/src/renderer/views/Watch/Watch.js @@ -91,6 +91,9 @@ export default Vue.extend({ rememberHistory: function () { return this.$store.getters.getRememberHistory }, + removeVideoMetaFiles: function () { + return this.$store.getters.getRemoveVideoMetaFiles + }, saveWatchedProgress: function () { return this.$store.getters.getSaveWatchedProgress }, @@ -899,8 +902,6 @@ export default Vue.extend({ videoId: this.videoId, watchProgress: currentTime } - - console.log('update watch progress') this.updateWatchProgress(payload) } } @@ -928,6 +929,31 @@ export default Vue.extend({ }, 200) } } + + if (this.removeVideoMetaFiles) { + const userData = remote.app.getPath('userData') + if (this.isDev) { + const dashFileLocation = `dashFiles/${this.videoId}.xml` + const vttFileLocation = `storyboards/${this.videoId}.vtt` + // only delete the file it actually exists + if (fs.existsSync('dashFiles/') && fs.existsSync(dashFileLocation)) { + fs.rmSync(dashFileLocation) + } + if (fs.existsSync('storyboards/') && fs.existsSync(vttFileLocation)) { + fs.rmSync(vttFileLocation) + } + } else { + const dashFileLocation = `${userData}/dashFiles/${this.videoId}.xml` + const vttFileLocation = `${userData}/storyboards/${this.videoId}.vtt` + + if (fs.existsSync(`${userData}/dashFiles/`) && fs.existsSync(dashFileLocation)) { + fs.rmSync(dashFileLocation) + } + if (fs.existsSync(`${userData}/storyboards/`) && fs.existsSync(vttFileLocation)) { + fs.rmSync(vttFileLocation) + } + } + } }, handleVideoError: function (error) { diff --git a/static/geolocations/is/countries.json b/static/geolocations/is/countries.json new file mode 100644 index 00000000..d5d5f097 --- /dev/null +++ b/static/geolocations/is/countries.json @@ -0,0 +1,195 @@ +[{"id":4,"name":"Afganistan","alpha2":"af","alpha3":"afg"}, +{"id":8,"name":"Albanía","alpha2":"al","alpha3":"alb"}, +{"id":12,"name":"Alsír","alpha2":"dz","alpha3":"dza"}, +{"id":20,"name":"Andorra","alpha2":"ad","alpha3":"and"}, +{"id":24,"name":"Angóla","alpha2":"ao","alpha3":"ago"}, +{"id":28,"name":"Antígva og Barbúda","alpha2":"ag","alpha3":"atg"}, +{"id":32,"name":"Argentína","alpha2":"ar","alpha3":"arg"}, +{"id":51,"name":"Armenía","alpha2":"am","alpha3":"arm"}, +{"id":36,"name":"Ástralía","alpha2":"au","alpha3":"aus"}, +{"id":40,"name":"Austurríki","alpha2":"at","alpha3":"aut"}, +{"id":31,"name":"Aserbædsjan","alpha2":"az","alpha3":"aze"}, +{"id":44,"name":"Bahamaeyjar","alpha2":"bs","alpha3":"bhs"}, +{"id":48,"name":"Barein","alpha2":"bh","alpha3":"bhr"}, +{"id":50,"name":"Bangladess","alpha2":"bd","alpha3":"bgd"}, +{"id":52,"name":"Barbados","alpha2":"bb","alpha3":"brb"}, +{"id":112,"name":"Belarús","alpha2":"by","alpha3":"blr"}, +{"id":56,"name":"Belgía","alpha2":"be","alpha3":"bel"}, +{"id":84,"name":"Belís","alpha2":"bz","alpha3":"blz"}, +{"id":204,"name":"Benín","alpha2":"bj","alpha3":"ben"}, +{"id":64,"name":"Bútan","alpha2":"bt","alpha3":"btn"}, +{"id":68,"name":"Bólivía (Fjölþjóðaríkið)","alpha2":"bo","alpha3":"bol"}, +{"id":70,"name":"Bosnía og Herzegóvína","alpha2":"ba","alpha3":"bih"}, +{"id":72,"name":"Botsvana","alpha2":"bw","alpha3":"bwa"}, +{"id":76,"name":"Brasilía","alpha2":"br","alpha3":"bra"}, +{"id":96,"name":"Brunei-Daresalam","alpha2":"bn","alpha3":"brn"}, +{"id":100,"name":"Búlgaría","alpha2":"bg","alpha3":"bgr"}, +{"id":854,"name":"Burkína Fasó","alpha2":"bf","alpha3":"bfa"}, +{"id":108,"name":"Búrundí","alpha2":"bi","alpha3":"bdi"}, +{"id":132,"name":"Grænhöfðaeyjar","alpha2":"cv","alpha3":"cpv"}, +{"id":116,"name":"Kambódía","alpha2":"kh","alpha3":"khm"}, +{"id":120,"name":"Kamerún","alpha2":"cm","alpha3":"cmr"}, +{"id":124,"name":"Kanada","alpha2":"ca","alpha3":"can"}, +{"id":140,"name":"Miðafríkulýðveldið","alpha2":"cf","alpha3":"caf"}, +{"id":148,"name":"Tsjad","alpha2":"td","alpha3":"tcd"}, +{"id":152,"name":"Síle","alpha2":"cl","alpha3":"chl"}, +{"id":156,"name":"Kína","alpha2":"cn","alpha3":"chn"}, +{"id":170,"name":"Kólumbía","alpha2":"co","alpha3":"col"}, +{"id":174,"name":"Kómorróeyjar","alpha2":"km","alpha3":"com"}, +{"id":178,"name":"Kongó","alpha2":"cg","alpha3":"cog"}, +{"id":180,"name":"Kongó, Lýðstjórnarlýðveldið","alpha2":"cd","alpha3":"cod"}, +{"id":188,"name":"Kosta Ríka","alpha2":"cr","alpha3":"cri"}, +{"id":384,"name":"Fílabeinsströndin","alpha2":"ci","alpha3":"civ"}, +{"id":191,"name":"Króatía","alpha2":"hr","alpha3":"hrv"}, +{"id":192,"name":"Kúba","alpha2":"cu","alpha3":"cub"}, +{"id":196,"name":"Kýpur","alpha2":"cy","alpha3":"cyp"}, +{"id":203,"name":"Tékkland","alpha2":"cz","alpha3":"cze"}, +{"id":208,"name":"Danmörk","alpha2":"dk","alpha3":"dnk"}, +{"id":262,"name":"Djibútí","alpha2":"dj","alpha3":"dji"}, +{"id":212,"name":"Dóminíka","alpha2":"dm","alpha3":"dma"}, +{"id":214,"name":"Dóminíkanska lýðveldið","alpha2":"do","alpha3":"dom"}, +{"id":218,"name":"Ekvador","alpha2":"ec","alpha3":"ecu"}, +{"id":818,"name":"Egyptaland","alpha2":"eg","alpha3":"egy"}, +{"id":222,"name":"El Salvador","alpha2":"sv","alpha3":"slv"}, +{"id":226,"name":"Miðbaugs-Gínea","alpha2":"gq","alpha3":"gnq"}, +{"id":232,"name":"Erítrea","alpha2":"er","alpha3":"eri"}, +{"id":233,"name":"Eistland","alpha2":"ee","alpha3":"est"}, +{"id":748,"name":"Esvatíní","alpha2":"sz","alpha3":"swz"}, +{"id":231,"name":"Eþíópía","alpha2":"et","alpha3":"eth"}, +{"id":242,"name":"Fídjíeyjar","alpha2":"fj","alpha3":"fji"}, +{"id":246,"name":"Finnland","alpha2":"fi","alpha3":"fin"}, +{"id":250,"name":"Frakkland","alpha2":"fr","alpha3":"fra"}, +{"id":266,"name":"Gabon","alpha2":"ga","alpha3":"gab"}, +{"id":270,"name":"Gambía","alpha2":"gm","alpha3":"gmb"}, +{"id":268,"name":"Georgía","alpha2":"ge","alpha3":"geo"}, +{"id":276,"name":"Þýskaland","alpha2":"de","alpha3":"deu"}, +{"id":288,"name":"Gana","alpha2":"gh","alpha3":"gha"}, +{"id":300,"name":"Grikkland","alpha2":"gr","alpha3":"grc"}, +{"id":308,"name":"Grenada","alpha2":"gd","alpha3":"grd"}, +{"id":320,"name":"Gvatemala","alpha2":"gt","alpha3":"gtm"}, +{"id":324,"name":"Gínea","alpha2":"gn","alpha3":"gin"}, +{"id":624,"name":"Gínea-Bissá","alpha2":"gw","alpha3":"gnb"}, +{"id":328,"name":"Gvæjana","alpha2":"gy","alpha3":"guy"}, +{"id":332,"name":"Haítí","alpha2":"ht","alpha3":"hti"}, +{"id":340,"name":"Hondúras","alpha2":"hn","alpha3":"hnd"}, +{"id":344,"name":"Hong Kong","alpha2":"hk","alpha3":"hkg"}, +{"id":348,"name":"Ungverjaland","alpha2":"hu","alpha3":"hun"}, +{"id":352,"name":"Ísland","alpha2":"is","alpha3":"isl"}, +{"id":356,"name":"Indland","alpha2":"in","alpha3":"ind"}, +{"id":360,"name":"Indónesía","alpha2":"id","alpha3":"idn"}, +{"id":364,"name":"Íran (Íslamska lýðveldið)","alpha2":"ir","alpha3":"irn"}, +{"id":368,"name":"Írak","alpha2":"iq","alpha3":"irq"}, +{"id":372,"name":"Írland","alpha2":"ie","alpha3":"irl"}, +{"id":376,"name":"Ísrael","alpha2":"il","alpha3":"isr"}, +{"id":380,"name":"Ítala","alpha2":"it","alpha3":"ita"}, +{"id":388,"name":"Jamaíka","alpha2":"jm","alpha3":"jam"}, +{"id":392,"name":"Japan","alpha2":"jp","alpha3":"jpn"}, +{"id":400,"name":"Jórdanía","alpha2":"jo","alpha3":"jor"}, +{"id":398,"name":"Kasakstan","alpha2":"kz","alpha3":"kaz"}, +{"id":404,"name":"Kenýa","alpha2":"ke","alpha3":"ken"}, +{"id":296,"name":"Kíríbatí","alpha2":"ki","alpha3":"kir"}, +{"id":408,"name":"Kórea (Alþýðulýðveldið, Norður)","alpha2":"kp","alpha3":"prk"}, +{"id":410,"name":"Kórea (Lýðveldið, Suður)","alpha2":"kr","alpha3":"kor"}, +{"id":414,"name":"Kúveit","alpha2":"kw","alpha3":"kwt"}, +{"id":417,"name":"Kirgistan","alpha2":"kg","alpha3":"kgz"}, +{"id":418,"name":"Laos (Alþýðulýðveldið)","alpha2":"la","alpha3":"lao"}, +{"id":428,"name":"Lettland","alpha2":"lv","alpha3":"lva"}, +{"id":422,"name":"Líbanon","alpha2":"lb","alpha3":"lbn"}, +{"id":426,"name":"Lesótó","alpha2":"ls","alpha3":"lso"}, +{"id":430,"name":"Líbería","alpha2":"lr","alpha3":"lbr"}, +{"id":434,"name":"Líbía","alpha2":"ly","alpha3":"lby"}, +{"id":438,"name":"Liechtenstein","alpha2":"li","alpha3":"lie"}, +{"id":440,"name":"Litháen","alpha2":"lt","alpha3":"ltu"}, +{"id":442,"name":"Luxembúrg","alpha2":"lu","alpha3":"lux"}, +{"id":450,"name":"Madagaskar","alpha2":"mg","alpha3":"mdg"}, +{"id":454,"name":"Malaví","alpha2":"mw","alpha3":"mwi"}, +{"id":458,"name":"Malasía","alpha2":"my","alpha3":"mys"}, +{"id":462,"name":"Maldíveyjar","alpha2":"mv","alpha3":"mdv"}, +{"id":466,"name":"Malí","alpha2":"ml","alpha3":"mli"}, +{"id":470,"name":"Malta","alpha2":"mt","alpha3":"mlt"}, +{"id":584,"name":"Marshalleyjar","alpha2":"mh","alpha3":"mhl"}, +{"id":478,"name":"Máritanía","alpha2":"mr","alpha3":"mrt"}, +{"id":480,"name":"Máritíus","alpha2":"mu","alpha3":"mus"}, +{"id":484,"name":"Mexíkó","alpha2":"mx","alpha3":"mex"}, +{"id":583,"name":"Míkrónesía (Sambandsríkið)","alpha2":"fm","alpha3":"fsm"}, +{"id":498,"name":"Moldóvía, Lýðveldið","alpha2":"md","alpha3":"mda"}, +{"id":492,"name":"Mónakó","alpha2":"mc","alpha3":"mco"}, +{"id":496,"name":"Mongólía","alpha2":"mn","alpha3":"mng"}, +{"id":499,"name":"Svartfjallaland","alpha2":"me","alpha3":"mne"}, +{"id":504,"name":"Marokkó","alpha2":"ma","alpha3":"mar"}, +{"id":508,"name":"Mósambík","alpha2":"mz","alpha3":"moz"}, +{"id":104,"name":"Mjanmar","alpha2":"mm","alpha3":"mmr"}, +{"id":516,"name":"Namibía","alpha2":"na","alpha3":"nam"}, +{"id":520,"name":"Nárú","alpha2":"nr","alpha3":"nru"}, +{"id":524,"name":"Nepal","alpha2":"np","alpha3":"npl"}, +{"id":528,"name":"Holland","alpha2":"nl","alpha3":"nld"}, +{"id":554,"name":"Nýja-Sjáland","alpha2":"nz","alpha3":"nzl"}, +{"id":558,"name":"Níkaragva","alpha2":"ni","alpha3":"nic"}, +{"id":562,"name":"Níger","alpha2":"ne","alpha3":"ner"}, +{"id":566,"name":"Nígería","alpha2":"ng","alpha3":"nga"}, +{"id":807,"name":"Norður-Makedónía","alpha2":"mk","alpha3":"mkd"}, +{"id":578,"name":"Noregur","alpha2":"no","alpha3":"nor"}, +{"id":512,"name":"Óman","alpha2":"om","alpha3":"omn"}, +{"id":586,"name":"Pakistan","alpha2":"pk","alpha3":"pak"}, +{"id":585,"name":"Palá","alpha2":"pw","alpha3":"plw"}, +{"id":591,"name":"Panama","alpha2":"pa","alpha3":"pan"}, +{"id":598,"name":"Papúa Nýja-Gínea","alpha2":"pg","alpha3":"png"}, +{"id":600,"name":"Paragvæ","alpha2":"py","alpha3":"pry"}, +{"id":604,"name":"Perú","alpha2":"pe","alpha3":"per"}, +{"id":608,"name":"Filippseyjar","alpha2":"ph","alpha3":"phl"}, +{"id":616,"name":"Pólland","alpha2":"pl","alpha3":"pol"}, +{"id":620,"name":"Portúgal","alpha2":"pt","alpha3":"prt"}, +{"id":634,"name":"Katar","alpha2":"qa","alpha3":"qat"}, +{"id":642,"name":"Rúmenía","alpha2":"ro","alpha3":"rou"}, +{"id":643,"name":"Rússland, Sambandsríkið","alpha2":"ru","alpha3":"rus"}, +{"id":646,"name":"Rúanda","alpha2":"rw","alpha3":"rwa"}, +{"id":659,"name":"Sankti Kitts og Nevis","alpha2":"kn","alpha3":"kna"}, +{"id":662,"name":"Sankti Lúsía","alpha2":"lc","alpha3":"lca"}, +{"id":670,"name":"Sankti Vinsent og Grenadínur","alpha2":"vc","alpha3":"vct"}, +{"id":882,"name":"Samóa","alpha2":"ws","alpha3":"wsm"}, +{"id":674,"name":"San Marínó","alpha2":"sm","alpha3":"smr"}, +{"id":678,"name":"Saó Tóme og Prinsípe","alpha2":"st","alpha3":"stp"}, +{"id":682,"name":"Sádí-Arabía","alpha2":"sa","alpha3":"sau"}, +{"id":686,"name":"Senegal","alpha2":"sn","alpha3":"sen"}, +{"id":688,"name":"Serbía","alpha2":"rs","alpha3":"srb"}, +{"id":690,"name":"Seychelles-eyjar","alpha2":"sc","alpha3":"syc"}, +{"id":694,"name":"Síerra Leóne","alpha2":"sl","alpha3":"sle"}, +{"id":702,"name":"Singapúr","alpha2":"sg","alpha3":"sgp"}, +{"id":703,"name":"Slóvakía","alpha2":"sk","alpha3":"svk"}, +{"id":705,"name":"Slóvenía","alpha2":"si","alpha3":"svn"}, +{"id":90,"name":"Salómonseyjar","alpha2":"sb","alpha3":"slb"}, +{"id":706,"name":"Sómalía","alpha2":"so","alpha3":"som"}, +{"id":710,"name":"Suður-Afríka","alpha2":"za","alpha3":"zaf"}, +{"id":728,"name":"Suður-Súdan","alpha2":"ss","alpha3":"ssd"}, +{"id":724,"name":"Spánn","alpha2":"es","alpha3":"esp"}, +{"id":144,"name":"Srí Lanka","alpha2":"lk","alpha3":"lka"}, +{"id":729,"name":"Súdan","alpha2":"sd","alpha3":"sdn"}, +{"id":740,"name":"Súrínam","alpha2":"sr","alpha3":"sur"}, +{"id":752,"name":"Svíþjóð","alpha2":"se","alpha3":"swe"}, +{"id":756,"name":"Sviss","alpha2":"ch","alpha3":"che"}, +{"id":760,"name":"Sýrland, Arabalýðveldið","alpha2":"sy","alpha3":"syr"}, +{"id":762,"name":"Tadsíkistan","alpha2":"tj","alpha3":"tjk"}, +{"id":834,"name":"Tansanía, Sambandslýðveldið","alpha2":"tz","alpha3":"tza"}, +{"id":764,"name":"Tæland","alpha2":"th","alpha3":"tha"}, +{"id":626,"name":"Tímor-Leste","alpha2":"tl","alpha3":"tls"}, +{"id":768,"name":"Tógó","alpha2":"tg","alpha3":"tgo"}, +{"id":776,"name":"Tonga","alpha2":"to","alpha3":"ton"}, +{"id":780,"name":"Trínídad og Tóbagó","alpha2":"tt","alpha3":"tto"}, +{"id":788,"name":"Túnis","alpha2":"tn","alpha3":"tun"}, +{"id":792,"name":"Tyrkland","alpha2":"tr","alpha3":"tur"}, +{"id":795,"name":"Túrkmenistan","alpha2":"tm","alpha3":"tkm"}, +{"id":798,"name":"Túvalú","alpha2":"tv","alpha3":"tuv"}, +{"id":800,"name":"Úganda","alpha2":"ug","alpha3":"uga"}, +{"id":804,"name":"Úkraína","alpha2":"ua","alpha3":"ukr"}, +{"id":784,"name":"Sameinuðu arabísku furstadæmin","alpha2":"ae","alpha3":"are"}, +{"id":826,"name":"Bretland (Sameinaða konungsríkið Stóra-Bretland og Norður-Írland)","alpha2":"gb","alpha3":"gbr"}, +{"id":840,"name":"Bandaríkin","alpha2":"us","alpha3":"usa"}, +{"id":858,"name":"Úrúgvæ","alpha2":"uy","alpha3":"ury"}, +{"id":860,"name":"Úsbekistan","alpha2":"uz","alpha3":"uzb"}, +{"id":548,"name":"Vanúatú","alpha2":"vu","alpha3":"vut"}, +{"id":862,"name":"Venesúela (Bólivarska lýðveldið)","alpha2":"ve","alpha3":"ven"}, +{"id":704,"name":"Víetnam","alpha2":"vn","alpha3":"vnm"}, +{"id":887,"name":"Jemen","alpha2":"ye","alpha3":"yem"}, +{"id":894,"name":"Sambía","alpha2":"zm","alpha3":"zmb"}, +{"id":716,"name":"Simbabve","alpha2":"zw","alpha3":"zwe"}, +{"id": 158, "name":"Taiwan", "alpha2": "tw", "alpha3": "twn"}] diff --git a/static/locales/ar.yaml b/static/locales/ar.yaml index ae869862..fc27a3b4 100644 --- a/static/locales/ar.yaml +++ b/static/locales/ar.yaml @@ -18,7 +18,7 @@ Delete: 'حذف' Select all: 'تحديد الكل' Reload: 'إعادة تحميل' Force Reload: 'فرض إعادة التحميل' -Toggle Developer Tools: 'تفعيل أدوات المطوّر' +Toggle Developer Tools: 'فتح أدوات المطوّر' Actual size: 'الحجم الأصلي' Zoom in: 'تكبير' Zoom out: 'تصغير' @@ -64,6 +64,7 @@ Search Filters: Fetching results. Please wait: 'جاري إحضار النتائج. الرجاء الانتظار' Fetch more results: 'إحضار المزيد من النتائج' # Sidebar + There are no more results for this search: لم يتبقى المزيد من النتائج لهذا البحث Subscriptions: # On Subscriptions Page Subscriptions: 'الاشتراكات' @@ -80,6 +81,11 @@ Most Popular: 'الأكثر شعبية' Playlists: 'قوائم التشغيل' User Playlists: Your Playlists: 'قوائم التشغيل الخاصة بك' + Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: ليس + لديك أي فيديو محتفظ عليه. إضغط على زر "إحفظ" في زاوية الفيديو لكي يحفظ هنا. + Playlist Message: هذه الصفحة لا تظهر قائمات التشغيل بشكل كامل, وإنما تظهر فيديوات + إحتفضت عليها أو فضّلتها. عندما يكمل العمل بالكامل على هذه الصفحة, سترى كل فيديواتك + هنا تنتقل إلى قائمة تشغيل تسمى "المفضلة". History: # On History Page History: 'السجلّ' @@ -115,6 +121,7 @@ Settings: #! List countries Check for Latest Blog Posts: تحقق من أحدث منشورات المدونة Check for Updates: تحقّق من وجود تحديثات + View all Invidious instance information: عرض جميع نماذج Invidious Theme Settings: Theme Settings: 'إعدادات السِمة' Match Top Bar with Main Color: 'طابق الشريط العلوي مع اللون الأساسي' @@ -175,6 +182,7 @@ Settings: 1440p: '1440p' 4k: '4k' 8k: '‍8k' + Playlist Next Video Interval: الفاصل الزمني لتشغيل الفيديو التالي في قائمة التشغيل Privacy Settings: Privacy Settings: 'إعدادات الخصوصية' Remember History: 'تذّكر سجلّ المشاهدة' @@ -191,6 +199,7 @@ Settings: أنت متأكد أنك تريد إزالة جميع الاشتراكات والملفات الشخصية؟ لا يمكن التراجع عن هذا. Remove All Subscriptions / Profiles: إزالة جميع الاشتراكات \ الملفات الشخصية + Automatically Remove Video Meta Files: إزالة ملفات تعريف الفيديو تلقائيًا Subscription Settings: Subscription Settings: 'إعدادات الاشتراك' Hide Videos on Watch: 'أخفِ الفيديوهات عند مشاهدتها' @@ -265,7 +274,7 @@ Settings: Data Settings: إعدادات البيانات One or more subscriptions were unable to be imported: تعذر استيراد واحد أو أكثر من الاشتراكات - Check for Legacy Subscriptions: تحقق من وجود اشتراك قديم + Check for Legacy Subscriptions: تحقق من وجود اشتراكات بالصيغة القديمة Manage Subscriptions: إدارة الإشتراكات Distraction Free Settings: Hide Live Chat: اخفي الدردشة المباشرة @@ -273,10 +282,12 @@ Settings: Hide Trending Videos: اخفي الفيديوهات الرائجة Hide Recommended Videos: اخفي الفيديوهات الموصّى بها Hide Comment Likes: اخفي اعجابات التعليقات - Hide Channel Subscribers: اخفي اشتراكات القنوات - Hide Video Views: اخفي عدد مشاهدات الفيديوهات + Hide Channel Subscribers: اخف عدد اشتراكات القناة + Hide Video Views: اخف عدد مشاهدات الفيديو Hide Video Likes And Dislikes: إخفاء الإعجاب وعدم الإعجاب للفيديو Distraction Free Settings: إعدادات عدم الإزعاج + Hide Active Subscriptions: اخفي الإشتراكات الناشطة + Hide Playlists: إخفاء قوائم التشغيل The app needs to restart for changes to take effect. Restart and apply change?: البرنامج يحتاج لإعادة التشغيل كي يسري مفعول التغييرات. هل تريد إعادة التشغيل و تطبيق التغييرات؟ Proxy Settings: @@ -291,6 +302,10 @@ Settings: Proxy Protocol: بروتوكول البروكسي Enable Tor / Proxy: تفعيل تور / البروكسي Proxy Settings: خيارات البروكسي + Error getting network information. Is your proxy configured properly?: هنالك خطأ + في جلب معلومات الشبكة. هل ضبطت إعدادات وكيلك بصورة صحيحة؟ + Clicking on Test Proxy will send a request to: النقر على اختبار البروكسي سيؤدي + إلى إرسال طلب إلى About: #On About page About: 'حول' @@ -335,6 +350,17 @@ About: View License: اعرض الرخصة Source code: الشفرة المصدرية Beta: تجريبي + these people and projects: هؤلاء الناس والمشاريع + FreeTube is made possible by: Freetube أصبح ممكنا بواسطة + Credits: الاعتمادات + room rules: قواعد الغرفة + Please read the: يرجى قراءة + Please check for duplicates before posting: يرجى التحقق من التكرارات قبل النشر + GitHub issues: مشاكل GitHub + FreeTube Wiki: ويكي Freetube + GitHub releases: إصدارات GitHub + Downloads / Changelog: التحميلات\التغييرات + Licensed under the AGPLv3: مرخّص تحت رخصة أفيرو جيبيإل النسخة الثالثة Profile: All Channels: 'جميع القنوات' Profile Manager: 'مدير الملف الشخصي' @@ -376,6 +402,7 @@ Profile: $ selected: $ تم اختياره Other Channels: قنوات أُخرى Subscription List: قائمة الاشتراكات + Profile Filter: مرشح الملف الشخصي Channel: Subscriber: 'مُشترِك' Subscribers: 'مُشترِكين' @@ -465,7 +492,7 @@ Video: Year: 'سنة' Years: 'سنوات' Ago: 'منذ' - Upcoming: 'العرض الأول في' + Upcoming: 'يبدأ العرض' Published on: 'نُشر في' # $ is replaced with the number and % with the unit (days, hours, minutes...) Publicationtemplate: 'قبل $ %' @@ -480,12 +507,12 @@ Video: الصفحة للتحقق مرة أخرى Audio: Best: الأفضل - High: عالٍ + High: عال Medium: متوسط Low: منخفض - audio only: صوت فقط - video only: فيديو فقط - Download Video: نزّل الفيديو + audio only: الصوت فقط + video only: الفيديو فقط + Download Video: تحميل الفيديو Started streaming on: بدأ البث على Streamed on: تبث على Copy Invidious Channel Link: انسخ رابط قناة انفيديوس @@ -494,6 +521,7 @@ Video: Open Channel in YouTube: افتح القناة على يوتيوب Video has been saved: تم حفظ الفيديو Save Video: احفظ الفيديو + Video has been removed from your saved list: تمت إزالة الفيديو من قائمتك المحفوظة Videos: #& Sort By Sort By: @@ -591,9 +619,9 @@ Tooltips: General Settings: Thumbnail Preference: كلّ الصّور المصغّرة في FreeTube سيتمّ استبدالها بإطار من الفيديو بدل من الصّورة المصغّرة الافتراضيّة - Preferred API Backend: اختر الواجهة الخلفية التي يستخدمها FreeTube لجلب البيانات - . الAPI المحلي هو مستخرج محلي . الAPI التابع لInvidious يتطلب التواصل مع خادم - شبكة Invidious . + Preferred API Backend: اختر الواجهة الخلفية التي يستخدمها FreeTube لجلب البيانات. + الواجهة البرمجية المحلية للتطبيق هي مستخرج محلي. الواجهة البرمجية للتطبيق التابعة + لInvidious (بديل لموقع يوتيوب) يتطلب التواصل مع خادم شبكة Invidious Invidious Instance: واجهة Invidious البرمجية المستخدمة من قبل FreeTube. امسح الواجهة البرمجية الحالية للاختيار من قائمة الواجهات Fallback to Non-Preferred Backend on Failure: عند تواجد مشكلة مع الواجهة البرمجية @@ -608,3 +636,18 @@ Tooltips: باستخدام التنسيقات القديمة التي تم إرجاعها من قبلها بدلاً من أن تستخدم الصيغ التي تم إرجاعها من قبل Invidious . يساعد هذا الخيار عندما لا تعمل الفيديوهات التي تم إرجاعها من قبل Invidious بسبب قيود البلد + Default Video Format: حدّد التنسيقات المستخدمة عند تشغيل الفيديو. تنسيق داش (التدفق + الميكانيكي المتكيّف عبر بروتوكول نقل النص التشعبي) يمكنها أن تُشغِّل جودات أعلى. + التنسيقات القديمة محدودة بجودة 720p كحدّ أقصى لكنها تستخدم عرضًا أقل للنطاق. + التنسيقات الصوتية هي للتدفق الصوتي فقط + Privacy Settings: + Remove Video Meta Files: عندما يمكن، يحذف Freetube تلقائيًا ملفات التعريف التي + تم إنشاؤها أثناء تشغيل الفيديو ، عندما تكون صفحة المشاهدة مغلقة. + Subscription Settings: + Fetch Feeds from RSS: عند تفعيلها، سوف يستخدم فريتيوب طريقة RSS بدلًا من طريقته + المعتادة لجلب صفحة اشتراكاتك. طريقة RSS أسرع وتتخطى حجب الآي بي IP، لكنها لا + تقدّم معلومات معينة مثل مدّة الفيديو أو حالة البث المباشر. +This video is unavailable because of missing formats. This can happen due to country unavailability.: هذا + الفيديو غير متوفر لفقدان بعض التنسيقات. من الممكن لهذا أن يحدث بسبب الحظر في دولة + معيّنة. +More: المزيد diff --git a/static/locales/bg.yaml b/static/locales/bg.yaml index 24d8ea43..c67c6682 100644 --- a/static/locales/bg.yaml +++ b/static/locales/bg.yaml @@ -30,10 +30,10 @@ Close: 'Затваряне' Back: 'Назад' Forward: 'Напред' -Version $ is now available! Click for more details: 'Версия $ е вече налична! Кликнете +Version $ is now available! Click for more details: 'Версия $ е вече налична! Щракнете за повече детайли' 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 @@ -90,7 +90,7 @@ Playlists: 'Плейлисти' User Playlists: Your Playlists: 'Вашите плейлисти' Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Няма - запазени видеоклипове. За запазване кликнете в ъгъла на видеоклипа + запазени видеоклипове. За запазване щракнете в ъгъла на видеоклипа Playlist Message: Тази страница не отразява напълно работещи плейлисти. В него са изброени само видеоклипове, които сте запазили или избрали за любими. Когато работата приключи, всички видеоклипове, които в момента са тук, ще бъдат мигрирани в плейлист @@ -210,6 +210,7 @@ Settings: Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Сигурни ли сте, че искате да премахнете всички абонаменти и профили? Това не може да бъде възстановено.' + Automatically Remove Video Meta Files: Автоматично премахване на видео метафайловете Subscription Settings: Subscription Settings: 'Настройки на абонаменти' Hide Videos on Watch: 'Скриване на видеата при гледане' @@ -305,7 +306,7 @@ Settings: Ip: Ip Your Info: Вашата информация Test Proxy: Тестване на прокси - Clicking on Test Proxy will send a request to: Кликването върху "Тестване на прокси" + Clicking on Test Proxy will send a request to: Щракването върху "Тестване на прокси" ще изпрати заявка до Proxy Port Number: Номер на прокси порта Proxy Host: Прокси хост @@ -583,7 +584,7 @@ Share: Mini Player: 'Мини плейър' Comments: Comments: 'Коментари' - Click to View Comments: 'Кликнете, за да видите коментарите' + Click to View Comments: 'Щракнете, за да видите коментарите' Getting comment replies, please wait: 'Получаване на отговори на коментара, моля изчакайте' There are no more comments for this video: 'Към това видео няма повече коментари' @@ -603,8 +604,8 @@ Comments: Up Next: 'Следващ' # Toast Messages -Local API Error (Click to copy): 'Грешка в локалния интерфейс (кликни за копиране)' -Invidious API Error (Click to copy): 'Грешка в Invidious интерфейса (кликнете за копиране)' +Local API Error (Click to copy): 'Грешка в локалния интерфейс (щракнете за копиране)' +Invidious API Error (Click to copy): 'Грешка в Invidious интерфейса (щракнете за копиране)' Falling back to Invidious API: 'Връщане към Invidious интерфейса' Falling back to the local API: 'Връщане към локалния интерфейс' This video is unavailable because of missing formats. This can happen due to country unavailability.: 'Видеото @@ -628,10 +629,10 @@ Yes: 'Да' No: 'Не' Tooltips: Subscription Settings: - Fetch Feeds from RSS: Когато е активирано, FreeTube ще използва RSS вместо метода - по подразбиране за получаване на абонаментите. RSS е по-бърз метод и преодолява - блокиранията на IP адреса, но не получава някои съпътстващи данни, като продължителност - на видеото или дали е на живо + Fetch Feeds from RSS: FreeTube ще използва RSS вместо метода по подразбиране за + получаване на абонаментите. RSS е по-бърз метод и преодолява блокиранията на + IP адреса, но не получава някои съпътстващи данни, като продължителност на видеото + или дали е на живо Player Settings: Default Video Format: Настройка на използваните формати. Dash форматите могат да показват видеа с по-високо качество. Старите формати са ограничени до макс. @@ -657,7 +658,11 @@ Tooltips: Preferred API Backend: Избиране на начина, по който FreeTube получава данните. Локалният интерфейс има вградено извличане. Invidious интерфейсът изисква Invidious сървър, към който да се свърже. + Privacy Settings: + Remove Video Meta Files: Когато страницата за гледане бъде затворена, FreeTube + автоматично ще изтрива метафайловете, създадени по време на възпроизвеждане + на видеото. More: Още -Playing Next Video Interval: Пускане на следващото видео веднага. Кликнете за отказ. - | Пускане на следващото видео след {nextVideoInterval} секунда. Кликнете за отказl. - | Пускане на следващото видео след {nextVideoInterval} секунди. Кликнете за отказ. +Playing Next Video Interval: Пускане на следващото видео веднага. Щракнете за отказ. + | Пускане на следващото видео след {nextVideoInterval} секунда. Щракнете за отказ. + | Пускане на следващото видео след {nextVideoInterval} секунди. Щракнете за отказ. diff --git a/static/locales/bn.yaml b/static/locales/bn.yaml index a3d3fc37..84be091f 100644 --- a/static/locales/bn.yaml +++ b/static/locales/bn.yaml @@ -259,7 +259,7 @@ About: Donate: '' Beta: '' License: '' - Email: '' + Email: 'ই-মেইল' Channel Rules: '' Report an Issue: '' Wiki: '' diff --git a/static/locales/ca.yaml b/static/locales/ca.yaml index 34a3cfe2..4fda4de6 100644 --- a/static/locales/ca.yaml +++ b/static/locales/ca.yaml @@ -273,6 +273,9 @@ About: Latest FreeTube News: '' + Blog: Blog + Website: Lloc web + Email: Correu-e Profile: Profile Select: '' All Channels: '' diff --git a/static/locales/cs.yaml b/static/locales/cs.yaml index 59a5ed67..b166ade6 100644 --- a/static/locales/cs.yaml +++ b/static/locales/cs.yaml @@ -208,6 +208,7 @@ Settings: Remove All Subscriptions / Profiles: 'Odstranit všechna odebírání / profily' Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Chcete opravdu odstranit všechna odebírání a profily? Toto nelze vrátit zpět.' + Automatically Remove Video Meta Files: Automaticky odstranit meta soubory videa Subscription Settings: Subscription Settings: 'Nastavení odebírání' Hide Videos on Watch: 'Skrýt videa při přehrávání' @@ -345,8 +346,8 @@ About: room rules: pravidla místnosti Please read the: Prosím, přečtěte si Chat on Matrix: Chat na síti Matrix - Mastodon: mastodon - Email: Email + Mastodon: Mastodon + Email: E-mail Blog: Blog Website: Webová stránka FAQ: Často kladené dotazy @@ -630,6 +631,9 @@ Tooltips: IP, ale neposkytuje určité informace, jako je délka videa a podobně' # Toast Messages + Privacy Settings: + Remove Video Meta Files: Pokud je povoleno, FreeTube automaticky odstraní meta + soubory vytvořené během přehrávání videa, když se stránka sledování zavře. Local API Error (Click to copy): 'Chyba lokálního API (kliknutím zkopírujete)' Invidious API Error (Click to copy): 'Chyba Invidious API (kliknutím zkopírujete)' Falling back to Invidious API: 'Přepínám na Invidious API' diff --git a/static/locales/de-DE.yaml b/static/locales/de-DE.yaml index fdab66af..46766b15 100644 --- a/static/locales/de-DE.yaml +++ b/static/locales/de-DE.yaml @@ -1,7 +1,7 @@ FreeTube: FreeTube # Currently on Subscriptions, Playlists, and History 'This part of the app is not ready yet. Come back later when progress has been made.': >- - Dieser Teil des Programms ist noch nicht fertig. Bitte komme zu einem späteren Zeitpunkt + Dieser Teil des Programms ist noch nicht fertig. Bitte komm zu einem späteren Zeitpunkt wieder. # Webkit Menu Bar @@ -70,13 +70,13 @@ Subscriptions: Subscriptions: Abonnements Latest Subscriptions: Neueste Abonnements 'Your Subscription list is currently empty. Start adding subscriptions to see them here.': Deine - Abonnementliste ist aktuell leer. Beginne Abonnements hinzuzufügen um sie hier + Abonnementliste ist aktuell leer. Beginne Abonnements hinzuzufügen, um sie hier zu sehen. 'Getting Subscriptions. Please wait.': Rufe Abonnements ab. Bitte warten. Refresh Subscriptions: Abonnements aktualisieren Getting Subscriptions. Please wait.: Lade Abonnements. Bitte warten. This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Dieses - Profil hat eine große Anzahl von Abonnenten. RSS zur Vermeidung von Tarifbeschränkungen + Profil hat eine große Anzahl von Abonnements. RSS zur Vermeidung von Geschwindigkeitsbeschränkungen erzwingen Load More Videos: Lade mehr Videos Trending: Trends @@ -85,12 +85,12 @@ Playlists: Wiedergabelisten User Playlists: Your Playlists: Deine Wiedergabelisten Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Deine - gespeicherten Videos sind leer. Klicken Sie auf die Schaltfläche "Speichern" in - der Ecke eines Videos, damit es hier aufgelistet wird + gespeicherten Videos sind leer. Klicke auf die Schaltfläche „Speichern“ in der + Ecke eines Videos, damit es hier aufgelistet wird Playlist Message: Diese Seite spiegelt nicht die vollständig funktionierenden Wiedergabelisten - wider. Sie listet nur Videos auf, die Sie gespeichert oder favorisiert haben. - Wenn die Arbeiten abgeschlossen sind, werden alle Videos, die sich derzeit hier - befinden, in eine Wiedergabeliste "Favoriten" migriert. + wider. Sie listet nur Videos auf, die Du gespeichert oder favorisiert hast. Wenn + die Arbeiten abgeschlossen sind, werden alle Videos, die sich derzeit hier befinden, + in eine Wiedergabeliste „Favoriten“ migriert. History: # On History Page History: Verlauf @@ -110,7 +110,7 @@ Settings: Preferred API Backend: Preferred API Backend: Bevorzugtes API-System Local API: Lokale API - Invidious API: Invidious API + Invidious API: Invidious-API Video View Type: Video View Type: Videoansichtstyp Grid: Gitter @@ -130,7 +130,7 @@ Settings: View all Invidious instance information: Alle Informationen zur Invidious-Instanz anzeigen Theme Settings: - Theme Settings: Thema Einstellungen + Theme Settings: Thema-Einstellungen Match Top Bar with Main Color: Obere Leiste an Hauptfarbe anpassen Base Theme: Base Theme: Grundlegendes Thema @@ -189,6 +189,7 @@ Settings: 1440p: 1440p 4k: 4k 8k: 8k + Playlist Next Video Interval: Zeit zwischen automatischer Videowiedergabe Subscription Settings: Subscription Settings: Abonnement-Einstellungen Hide Videos on Watch: Verstecke Videos bei Wiedergabe @@ -245,6 +246,7 @@ Settings: du sicher, dass du alle Abonnements und Profile löschen möchtest? Diese Aktion kann nicht rückgängig gemacht werden. Remove All Subscriptions / Profiles: Alle Abonnements / Profile löschen + Automatically Remove Video Meta Files: Meta-Dateien von Videos automatisch löschen Data Settings: How do I import my subscriptions?: Wie importiere ich meine Abonnements? Unknown data key: Unbekannter Datenschlüssel @@ -295,6 +297,7 @@ Settings: Hide Video Views: Video-Aufrufe verbergen Distraction Free Settings: Einstellungen für ablenkungsfreien Modus Hide Active Subscriptions: Aktive Abonnements ausblenden + Hide Playlists: Wiedergabelisten ausblenden The app needs to restart for changes to take effect. Restart and apply change?: Um die Änderungen anzuwenden muss die Anwendung neustarten. Jetzt neustarten und Änderungen aktivieren? @@ -350,7 +353,7 @@ About: This software is FOSS and released under the GNU Affero General Public License v3.0.: Diese freie Software ist unter der AGPL-3.0 lizenziert. Translate via Weblate: Auf Weblate übersetzen - Website: Webseite + Website: Website Source Code: Quellcode Release Notes: Versionshinweise Blog: Blog @@ -359,7 +362,7 @@ About: Wiki: Wiki Report an Issue: Fehler melden Channel Rules: Kanalregeln - Email: Email + Email: E-Mail License: Lizenz Beta: Beta Donate: Spenden @@ -375,7 +378,7 @@ About: Mastodon: Mastodon Please check for duplicates before posting: Bitte überprüfe vor dem Absenden, ob es Duplikate gibt - GitHub issues: GitHub Issues + GitHub issues: GitHub-Probleme Report a problem: Problem melden FreeTube Wiki: FreeTube Wiki GitHub releases: GitHub Veröffentlichungen @@ -649,6 +652,7 @@ Profile: Other Channels: Andere Kanäle Subscription List: Abonnement-Liste Profile Select: Profilauswahl + Profile Filter: Profilfilter The playlist has been reversed: Die Wiedergabeliste wurde umgedreht A new blog is now available, $. Click to view more: Ein neuer Blogeintrag ist verfügbar, $. Um ihn zu öffnen klicken @@ -666,15 +670,15 @@ Tooltips: API nicht verfügbar sein sollte, automatisch die nicht bevorzugte Alternative zu nutzen. Preferred API Backend: Wähle das Backend, welches FreeTube zum Laden der Daten - nutzen soll. Die lokale API ist ein integrierter Extrahierer. Die Invidious - API dagegen verwendet einen externen Server. + nutzen soll. Die lokale API ist ein integrierter Extrahierer. Die Invidious-API + dagegen verwendet einen externen Server. Region for Trending: Die Trendregion erlaubt es dir auszuwählen, aus welchem Land die Trends angezeigt werden sollen. Nicht alle Optionen werden auch von YouTube unterstützt Subscription Settings: - Fetch Feeds from RSS: Mit dieser Option nutzt FreeTube einen RSS-Feed von Youtube + Fetch Feeds from RSS: Mit dieser Option nutzt FreeTube einen RSS-Feed von YouTube, um deine Abonnements zu aktualisieren. RSS ist sowohl schneller als auch sicherer, - wenn du oft temporär von YouTube geblockt wirst(Error 429). Allerdings sind + wenn du oft temporär von YouTube geblockt wirst (Error 429). Allerdings sind nicht alle Videoinformationen, wie Videodauer oder Live-Status, verfügbar. Player Settings: Default Video Format: Auswahl der Formate bei der Videowiedergabe. Dash-Formate @@ -682,8 +686,16 @@ Tooltips: dafür aber auch weniger Bandbreite. Audioformate umfassen reine Audiostreams. Proxy Videos Through Invidious: Zu Invidious verbinden, um Videos abzurufen, anstatt eine direkten Verbindung zu YouTube aufzubauen. Überschreibt die API-Präferenz. - Force Local Backend for Legacy Formats: Dies funktioniert nur wenn du die Invidious - API als Standard ausgewählt hast. Die lokale API wird bei der Verwendung von - Legacy Formaten diese verwenden, anstatt auf Invidious zurückzugreifen. Dies - hilft dann, wenn Videos von Invidious nicht abspielbar sind. Zum Beispiel aufgrund - von Landesbeschränkungen. + Force Local Backend for Legacy Formats: Dies funktioniert nur, wenn du die Invidious-API + als Standard ausgewählt hast. Die lokale API wird bei der Verwendung von Legacy + -Formaten diese verwenden, anstatt auf Invidious zurückzugreifen. Dies hilft + dann, wenn Videos von Invidious nicht abspielbar sind aufgrund von Landesbeschränkungen. + Privacy Settings: + Remove Video Meta Files: Bei Aktivierung löscht FreeTube alle Meta-Dateien die + während der Videowiedergabe erzeugt werden, sobald die Videoseite verlassen + wird. +Playing Next Video Interval: Nächstes Video wird sofort abgespielt. Zum Abbrechen + klicken. | Nächstes Video wird in {nextVideoInterval} Sekunden abgespielt. Zum Abbrechen + klicken. | Nächstes Video wird in {nextVideoInterval} Sekunden abgespielt. Zum Abbrechen + klicken. +More: Weiteres diff --git a/static/locales/en-US.yaml b/static/locales/en-US.yaml index 4b969536..d73f551e 100644 --- a/static/locales/en-US.yaml +++ b/static/locales/en-US.yaml @@ -195,6 +195,7 @@ Settings: Privacy Settings: Privacy Settings Remember History: Remember History Save Watched Progress: Save Watched Progress + Automatically Remove Video Meta Files: Automatically Remove Video Meta Files Clear Search Cache: Clear Search Cache Are you sure you want to clear out your search cache?: Are you sure you want to clear out your search cache? @@ -571,6 +572,9 @@ Tooltips: Fetch Feeds from RSS: When enabled, FreeTube will use RSS instead of its default method for grabbing your subscription feed. RSS is faster and prevents IP blocking, but doesn't provide certain information like video duration or live status + Privacy Settings: + Remove Video Meta Files: When enabled, FreeTube automatically deletes meta files created during video playback, + when the watch page is closed. # Toast Messages Local API Error (Click to copy): Local API Error (Click to copy) diff --git a/static/locales/en_GB.yaml b/static/locales/en_GB.yaml index 14888422..5f78a831 100644 --- a/static/locales/en_GB.yaml +++ b/static/locales/en_GB.yaml @@ -44,7 +44,7 @@ Search Filters: Sort By: 'Sort By' Most Relevant: 'Most Relevant' Rating: 'Rating' - Upload Date: 'Upload Date' + Upload Date: 'Upload date' View Count: 'View Count' Time: Time: 'Time' @@ -70,6 +70,7 @@ Search Filters: Fetching results. Please wait: 'Fetching results. Please wait' Fetch more results: 'Fetch more results' # Sidebar + There are no more results for this search: There are no more results for this search Subscriptions: # On Subscriptions Page Subscriptions: 'Subscriptions' @@ -86,6 +87,12 @@ Most Popular: 'Most Popular' Playlists: 'Playlists' User Playlists: Your Playlists: 'Your Playlists' + Playlist Message: This page is not reflective of fully working playlists. It only + lists videos that you have saved or favourited. When the work has finished, all + videos currently here will be migrated to a ‘Favourites’ playlist. + 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 History: # On History Page History: 'History' @@ -121,6 +128,7 @@ Settings: (Default is https://invidious.snopyta.org)' Region for Trending: 'Region for Trending' #! List countries + View all Invidious instance information: View all Invidious instance information Theme Settings: Theme Settings: 'Theme Settings' Match Top Bar with Main Color: 'Match top bar with main colour' @@ -180,6 +188,7 @@ Settings: 1440p: '1440p' 4k: '4k' 8k: '8k' + Playlist Next Video Interval: Playlist Next Video Interval Privacy Settings: Privacy Settings: 'Privacy Settings' Remember History: 'Remember History' @@ -239,6 +248,7 @@ Settings: Unknown data key: 'Unknown data key' How do I import my subscriptions?: 'How do I import my subscriptions?' Check for Legacy Subscriptions: Check for Legacy Subscriptions + Manage Subscriptions: Manage Subscriptions Advanced Settings: Advanced Settings: 'Advanced Settings' Enable Debug Mode (Prints data to the console): 'Enable Debug Mode (Prints data @@ -277,9 +287,26 @@ Settings: Hide Video Views: Hide Video Views Hide Active Subscriptions: Hide Active Subscriptions Distraction Free Settings: Distraction Free Settings + Hide Playlists: 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. Do you want to restart and apply the changes? + Proxy Settings: + Error getting network information. Is your proxy configured properly?: Error getting + network information. Is your proxy configured properly? + City: City + Region: Region + Country: Country + 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 + Proxy Protocol: Proxy Protocol + Enable Tor / Proxy: Enable Tor / Proxy + Proxy Settings: Proxy Settings About: #On About page About: About @@ -289,7 +316,7 @@ About: Donate: Donate Beta: Beta License: License - Email: Email + Email: E-mail Channel Rules: Channel Rules Report an Issue: Report an Issue Wiki: Wiki @@ -301,6 +328,22 @@ About: Website: Website Translate via Weblate: Translate via Weblate + these people and projects: these people and projects + FreeTube is made possible by: FreeTube is made possible by + Translate: Translate + room rules: room rules + Please read the: Please read the + Chat on Matrix: Chat on Matrix + Mastodon: Mastodon + Please check for duplicates before posting: Please check for duplicates before posting + GitHub issues: GitHub issues + Report a problem: Report a problem + FreeTube Wiki: FreeTube Wiki + GitHub releases: GitHub releases + Downloads / Changelog: Downloads / Changelog + View License: View Licence + Licensed under the AGPLv3: Licensed under the AGPLv3 + Source code: Source code Profile: Profile Select: 'Profile Select' All Channels: 'All Channels' @@ -342,6 +385,7 @@ Profile: you sure you want to delete the selected channels? This will not delete the channel from any other profile.' #On Channel Page + Profile Filter: Profile Filter Channel: Subscriber: 'Subscriber' Subscribers: 'Subscribers' @@ -461,6 +505,10 @@ Video: Open Channel in Invidious: Open this Channel in Invidious Copy YouTube Channel Link: Copy the Link of this YouTube Channel Open Channel in YouTube: Open this Channel in YouTube + Video has been removed from your saved list: Video has been removed from your saved + list + Video has been saved: Video has been saved + Save Video: Save Video Videos: #& Sort By Sort By: @@ -560,19 +608,19 @@ Tooltips: Subscription Settings: Fetch Feeds from RSS: When enabled, FreeTube will use RSS instead of its default method to grab your subscription feed. RSS is faster and prevents IP blocking, - but it doesn't provide certain information like video duration, or live status + but it doesn’t provide certain information like video duration, or live status Player Settings: Default Video Format: Set the formats used when a video plays. Dash formats can play much higher qualities. Legacy formats are limited to a maximum of 720p, but use less bandwidth. Audio formats stream only audio Proxy Videos Through Invidious: Will connect to Invidious to serve videos instead of making a direct connection to YouTube. Overrides API preference - Force Local Backend for Legacy Formats: This only works when the Invidious API - is your default. When enabled, the local API will run and use the legacy formats - returned by that instead of the ones returned by Invidious. It helps when the - videos returned by Invidious can't play because of regional restrictions + Force Local Backend for Legacy Formats: Only works when the Invidious API is your + default. When enabled, the local API will run and use the legacy formats returned + by that instead of the ones returned by Invidious. Helps when the videos returned + by Invidious don’t play due to country restrictions General Settings: - Region for Trending: The region of trends allows you to pick which country's trending + Region for Trending: The region of trends allows you to pick which country’s trending videos you want to have displayed. Not all countries displayed are actually supported by YouTube Invidious Instance: The Invidious instance that FreeTube will connect to for API @@ -582,7 +630,11 @@ Tooltips: a frame of the video instead of the default thumbnail Fallback to Non-Preferred Backend on Failure: When your preferred API has a problem, FreeTube will automatically attempt to use your non-preferred API as a fallback - method when it's enabled + method when enabled Preferred API Backend: Choose the back-end that FreeTube uses to obtain data. The local API is a built-in extractor. The Invidious API requires an Invidious server to connect to. +Playing Next Video Interval: Playing next video in no time. Click to cancel. | Playing + next video in {nextVideoInterval} second. Click to cancel. | Playing next video + in {nextVideoInterval} seconds. Click to cancel. +More: More diff --git a/static/locales/eo.yaml b/static/locales/eo.yaml index ad2921fb..6a27acb1 100644 --- a/static/locales/eo.yaml +++ b/static/locales/eo.yaml @@ -258,6 +258,9 @@ About: Latest FreeTube News: '' + Blog: Blogo + Website: Retejo + Email: Retpoŝto Profile: Profile Select: '' All Channels: '' diff --git a/static/locales/es-MX.yaml b/static/locales/es-MX.yaml index a756a41f..cceefbba 100644 --- a/static/locales/es-MX.yaml +++ b/static/locales/es-MX.yaml @@ -294,6 +294,9 @@ About: Latest FreeTube News: 'Últimas noticias de FreeTube' #On Channel Page + Blog: Blog + Website: Sitio web + Email: Correo electrónico Channel: Subscriber: 'Suscriptor' Subscribers: 'Suscriptores' diff --git a/static/locales/es.yaml b/static/locales/es.yaml index fa1403f7..ba10fdaa 100644 --- a/static/locales/es.yaml +++ b/static/locales/es.yaml @@ -171,7 +171,7 @@ Settings: Legacy Formats: 'Legacy' Audio Formats: 'Solo audio' Default Quality: - Default Quality: 'Calidad predeterminada' + Default Quality: 'Calidad Predeterminada' Auto: 'Automático' 144p: '144p' 240p: '240p' @@ -182,36 +182,37 @@ Settings: 1440p: '1440p' 4k: '4k' 8k: '8k' + Playlist Next Video Interval: Intervalo de Siguiente Video en Playlist Privacy Settings: - Privacy Settings: 'Privacidad' - Remember History: 'Recordar historial' + Privacy Settings: 'Ajustes de Privacidad' + Remember History: 'Recordar Historial' Save Watched Progress: 'Guardar progreso reproducido' - Clear Search Cache: 'Borrar cache de búsqueda' + Clear Search Cache: 'Borrar Cache de Búsqueda' Are you sure you want to clear out your search cache?: '¿Seguro de que quieres borrar la cache de búsqueda?' - Search cache has been cleared: '¡Hecho!' + Search cache has been cleared: 'El cache de búsqueda ha sido eliminado' Remove Watch History: 'Borrar historial de reproducción' Are you sure you want to remove your entire watch history?: '¿Seguro de que quieres borrar el historial de reproducción?' - Watch history has been cleared: '¡Hecho!' + Watch history has been cleared: 'El Historial de Reproducción ha sido eliminado' Remove All Subscriptions / Profiles: 'Borrar todas las suscripciones y perfiles' Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: '¿Estás seguro de que quieres borrar todas las suscripciones y perfiles? Esta operación será irreversible.' Subscription Settings: - Subscription Settings: 'Suscripciones' + Subscription Settings: 'Ajustes de Suscripciones' Hide Videos on Watch: 'Ocultar videos vistos' Fetch Feeds from RSS: 'Obtener suscripciones usando RSS' - Manage Subscriptions: 'Administrar suscripciones' + Manage Subscriptions: 'Administrar Suscripciones' Data Settings: - Data Settings: 'Datos locales' - Select Import Type: 'Tipo de importación' - Select Export Type: 'Tipo de exportación' - Import Subscriptions: 'Importar suscripciones' + Data Settings: 'Ajustes de Datos' + Select Import Type: 'Seleccionar Tipo de Importación' + Select Export Type: 'Seleccionar Tipo de Exportación' + Import Subscriptions: 'Importar Suscripciones' Import FreeTube: 'Importar FreeTube' Import YouTube: 'Importar YouTube' Import NewPipe: 'Importar NewPipe' - Export Subscriptions: 'Exportar suscripciones' + Export Subscriptions: 'Exportar Suscripciones' Export FreeTube: 'Exportar FreeTube' Export YouTube: 'Exportar YouTube' Export NewPipe: 'Exportar NewPipe' @@ -270,16 +271,17 @@ Settings: #& No Distraction Free Settings: - Hide Video Likes And Dislikes: No mostrar likes/dislikes en videos - Hide Video Views: No mostrar visitas en videos - Hide Live Chat: No mostrar chat - Hide Popular Videos: No mostrar más populares - Hide Trending Videos: No mostrar tendencias - Hide Recommended Videos: No mostrar videos recomendados - Hide Comment Likes: No mostrar likes de comentarios - Hide Channel Subscribers: No mostrar suscriptores en canales - Distraction Free Settings: No distraer - Hide Active Subscriptions: Ocultar suscripciones activas + Hide Video Likes And Dislikes: Ocultar Likes/Dislikes del Video + Hide Video Views: Ocultar las Vistas del Video + Hide Live Chat: Ocultar Chat en Vivo + Hide Popular Videos: Ocultar Videos Populares + Hide Trending Videos: Ocultar Tendencias + Hide Recommended Videos: Ocultar Videos Recomendados + Hide Comment Likes: Ocultar Likes de Comentarios + Hide Channel Subscribers: Ocultar Suscriptores de Canales + Distraction Free Settings: Sin Distracción + Hide Active Subscriptions: Ocultar Suscripciones Activas + Hide Playlists: Ocultar las Playlists The app needs to restart for changes to take effect. Restart and apply change?: ¿Quieres reiniciar FreeTube ahora para aplicar los cambios? Proxy Settings: @@ -340,7 +342,7 @@ About: Mastodon: Mastodon Email: Correo electrónico Blog: Blog - Website: Página web + Website: Sitio web Please check for duplicates before posting: Por favor, antes de publicar asegúrate de no duplicar temas GitHub issues: Sugerencias en GitHub @@ -396,6 +398,7 @@ Profile: Other Channels: Otros canales Subscription List: Lista de suscripciones Profile Select: Seleccionar perfil + Profile Filter: Filtro de Perfil Channel: Subscriber: 'Suscriptor' Subscribers: 'Suscriptores' @@ -488,7 +491,7 @@ Video: Year: 'Año' Years: 'Años' Ago: 'Hace' - Upcoming: 'Comenzará el' + Upcoming: 'Se estrenará el' Published on: 'Publicado el' # $ is replaced with the number and % with the unit (days, hours, minutes...) Publicationtemplate: 'Hace $ %' @@ -529,20 +532,20 @@ Playlist: #& About View Full Playlist: 'Ver la lista de reproducción completa' Videos: 'Videos' - View: 'Vista' + View: 'Ver' Views: 'Vistas' Last Updated On: 'Se actualizó por última vez el' Share Playlist: Share Playlist: 'Compartir lista de reproducción' Copy YouTube Link: 'Copiar enlace YouTube' Open in YouTube: 'Abrir en YouTube' - Copy Invidious Link: 'Copiar enlace Invidious' + Copy Invidious Link: 'Copiar Enlace de Invidious' Open in Invidious: 'Abrir en Invidious' # On Video Watch Page #* Published #& Views -Toggle Theatre Mode: 'Pasar al modo cine' +Toggle Theatre Mode: 'Activar Modo Cine' Change Format: Change Video Formats: 'Cambiar formato de video' Use Dash Formats: 'Usar formato Dash' @@ -553,41 +556,43 @@ Change Format: Dash formats are not available for this video: El formato Dash no está disponible para este video Share: - Share Video: 'Compartir video' + Share Video: 'Compartir Video' Copy Link: 'Copiar enlace' Open Link: 'Abrir enlace' Copy Embed: 'Copiar código encrustado' Open Embed: 'Abrir código encrustado' # On Click - Invidious URL copied to clipboard: 'El enlace de Invidious ha sido copiado al portapapeles' - Invidious Embed URL copied to clipboard: 'El enlace encrustada de Invidious ha sido - copiada al portapapeles' - YouTube URL copied to clipboard: 'El enlace de Youtube ha sido copiado al portapapeles' - YouTube Embed URL copied to clipboard: 'El enlace encrustado de Youtube ha sido - copiado al portapapeles' + Invidious URL copied to clipboard: 'Enlace de Invidious copiado al porta-papeles' + Invidious Embed URL copied to clipboard: 'Enlace Incrustado de Invidious copiado + al porta-papeles' + YouTube URL copied to clipboard: 'Enlace de YouTube copiado al porta-papeles' + YouTube Embed URL copied to clipboard: 'Enlace Incrustado de YouTube copiado al + porta-papeles' Include Timestamp: Incluir marcas de tiempo - YouTube Channel URL copied to clipboard: Enlace youtube copiado - Invidious Channel URL copied to clipboard: Enlace Invidious copiado -Mini Player: 'Reproductor Mini' + YouTube Channel URL copied to clipboard: Enlace del Canal de YouTube copiado al + porta-papeles + Invidious Channel URL copied to clipboard: Enlace del Canal de Invidious copiado + al porta-papeles +Mini Player: 'Mini Reproductor' Comments: Comments: 'Comentarios' - Click to View Comments: 'Ver comentarios' - Getting comment replies, please wait: 'Obteniendo las respuestas. Por favor, espera' - Show Comments: 'Ver comentarios' - Hide Comments: 'Esconder comentarios' + Click to View Comments: 'Ver Comentarios' + Getting comment replies, please wait: 'Obteniendo las respuestas. Por favor, espera...' + Show Comments: 'Ver Comentarios' + Hide Comments: 'Ocultar Comentarios' # Context: View 10 Replies, View 1 Reply View: 'Ver' - Hide: 'Esconder' + Hide: 'Ocultar' Replies: 'Respuestas' - Reply: 'Respuesta' + Reply: 'Responder' There are no comments available for this video: 'Aún no hay comentarios' Load More Comments: 'Más comentarios' There are no more comments for this video: No hay más comentarios en este video - Newest first: Comentarios más recientes + Newest first: Los más Recientes Primero Top comments: Mejores comentarios Sort by: Ordenar por No more comments available: No hay más comentarios -Up Next: 'Siguientes' +Up Next: 'A Continuación' # Toast Messages Local API Error (Click to copy): 'Error de la API local (Click para copiar el código)' @@ -615,15 +620,16 @@ A new blog is now available, $. Click to view more: Nueva publicación del blog Download From Site: Descargar de la web Version $ is now available! Click for more details: La versión $ está disponible! Click para saber más -The playlist has been reversed: Orden invertido +The playlist has been reversed: Orden de Playlist invertido This video is unavailable because of missing formats. This can happen due to country unavailability.: Este video no está disponible por no tener un formato válido. Esto puede suceder por la falta de acceso de este formato a tu región. Tooltips: Subscription Settings: - Fetch Feeds from RSS: Si lo habilitas, FreeTube usará RSS por defecto para obtener - tus suscripciones. RSS es más rápido e impide el bloqueo de IP, pero no podrá - obtener cierta información como la duración de videos o si un video es en directo + Fetch Feeds from RSS: Si lo habilitas, FreeTube usará RSS en lugar de su método + por defecto para obtener tus actualizaciones de suscripciones. RSS es más rápido + e impide el bloqueo de IP, pero no provee cierta información como la duración + de un video o si es en directo Player Settings: Default Video Format: Selecciona el formato usado para reproducir videos. El formato Dash proporciona resoluciones más altas. El formato Legacy está limitado a 720p, @@ -648,3 +654,4 @@ Tooltips: Preferred API Backend: Elige el backend que FreeTube utiliza para obtener datos. La API local es un extractor incluido. La API Invidious requiere un servidor Invidious al que conectarse. +More: Más diff --git a/static/locales/es_AR.yaml b/static/locales/es_AR.yaml index fecf1c90..ce2438c4 100644 --- a/static/locales/es_AR.yaml +++ b/static/locales/es_AR.yaml @@ -273,7 +273,7 @@ Settings: Distraction Free Settings: Configuraciones para evitar distraerse The app needs to restart for changes to take effect. Restart and apply change?: Esta aplicación necesita reiniciarse para que los cambios entren en efecto. ¿Reiniciar - y aplicar cambios? + y aplicar el cambio? About: #On About page About: '' @@ -296,6 +296,9 @@ About: Latest FreeTube News: '' + Website: Sitio web + Email: Correo electrónico + Blog: Blog Profile: All Channels: '' Profile Manager: '' @@ -477,8 +480,8 @@ Playing next video in 5 seconds. Click to cancel: '' Canceled next video autoplay: '' 'The playlist has ended. Enable loop to continue playing': '' -Yes: '' -No: '' +Yes: 'Sí' +No: 'No' A new blog is now available, $. Click to view more: Un nuevo blog está disponible, $. Hacé click para ver más Download From Site: Descargar desde el sitio diff --git a/static/locales/et.yaml b/static/locales/et.yaml index e55de676..0907d44a 100644 --- a/static/locales/et.yaml +++ b/static/locales/et.yaml @@ -266,6 +266,7 @@ About: Latest FreeTube News: '' + Email: E-post Profile: Profile Select: '' All Channels: '' diff --git a/static/locales/fi.yaml b/static/locales/fi.yaml index 51cd58a8..0f39d595 100644 --- a/static/locales/fi.yaml +++ b/static/locales/fi.yaml @@ -62,6 +62,7 @@ Search Filters: Fetching results. Please wait: 'Haetaan tuloksia. Odota hetki' Fetch more results: 'Hae lisää tuloksia' # Sidebar + There are no more results for this search: Ei lisää tuloksia tällä haulla Subscriptions: # On Subscriptions Page Subscriptions: 'Tilaukset' @@ -79,6 +80,12 @@ Most Popular: 'Suosituimmat' Playlists: 'Soittolistat' User Playlists: Your Playlists: 'Omat soittolistat' + Playlist Message: Tämä sivu ei kuvasta täysin toimivia soittolistoja. Se listaa + vain tallentamasi tai tykkäämäsi videot. Kun tämä on valmis, kaikki täällä olevat + videot siirretään "Tykkäykset"soittolistaan. + Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Et + ole tallentanut videoita. Paina "Tallenna" painiketta videon kulmassa tallentaaksesi + sen tänne History: # On History Page History: 'Historia' @@ -276,7 +283,7 @@ Settings: Distraction Free Settings: Häiriöttömän tilan asetukset Hide Video Views: Piilota videon katselukerrat The app needs to restart for changes to take effect. Restart and apply change?: Sovellus - on käynnistettävä uudelleen, jotta sovellukset tulevat voimaan. Käynnistetäänkö + on käynnistettävä uudelleen, jotta muutokset tulevat voimaan. Käynnistetäänkö uudelleen? About: #On About page @@ -307,6 +314,11 @@ About: Latest FreeTube News: 'Viimeisimmät Freetube-uutiset' #On Channel Page + GitHub issues: GitHub-ongelmat + Report a problem: Ilmoita ongelmasta + FAQ: UKK + Blog: Blogi + Email: Sähköposti Channel: Subscriber: 'Tilaaja' Subscribers: 'Tilaajat' @@ -585,3 +597,4 @@ Tooltips: Kun valittuna, paikallinen API käyttää vanhoja formaatteja Invidiousin käyttämien sijaan. Tämä auttaa, jos Invidiousin palauttamat videot eivät toimi maarajoituksien takia +More: Lisää diff --git a/static/locales/fr-FR.yaml b/static/locales/fr-FR.yaml index 6a98430c..36a4dab0 100644 --- a/static/locales/fr-FR.yaml +++ b/static/locales/fr-FR.yaml @@ -91,7 +91,7 @@ User Playlists: Playlist Message: Cette page ne reflète pas les listes de lecture entièrement fonctionnelles. Elle ne répertorie que les vidéos que vous avez enregistrées ou mises en favoris. Une fois le travail terminé, toutes les vidéos actuellement présentes ici seront - migrées vers une liste de lecture «Favoris». + migrées vers une liste de lecture « Favoris ». History: # On History Page History: 'Historique' @@ -294,7 +294,7 @@ Settings: Hide Comment Likes: Masquer les J'aime dans les commentaires Hide Channel Subscribers: Masquer le nombre d'abonnés des chaînes Hide Video Views: Masquer les vues des vidéos - Hide Live Chat: Masquer le chat en direct + Hide Live Chat: Masquer le tchat en direct Hide Popular Videos: Masquer les vidéos populaires Hide Trending Videos: Masquer les tendances Hide Recommended Videos: Masquer les vidéos recommandées @@ -356,7 +356,7 @@ About: #On Channel Page Channel Rules: Règles du salon - Website: Site internet + Website: Site web Source Code: Code source Release Notes: Notes de version Email: Courriel @@ -373,7 +373,7 @@ About: Donate: Faire un don Useful Links: Liens utiles Translate: Aidez-nous à traduire FreeTube - Chat on Matrix: Chatter sur Matrix + Chat on Matrix: Discuter sur Matrix Mastodon: Mastodon Report a problem: Signaler un problème View License: Voir la license @@ -384,7 +384,7 @@ About: room rules: règles du salon Please read the: Veuillez lire les Please check for duplicates before posting: Veuillez vérifier s'il y a des doublons - avant de poster + avant de publier GitHub issues: Les problèmes identifiés par la communauté sur GitHub FreeTube Wiki: Wiki de FreeTube GitHub releases: Les différentes versions de FreeTube disponibles sur GitHub diff --git a/static/locales/hi.yaml b/static/locales/hi.yaml index 510154ca..7a465c9d 100644 --- a/static/locales/hi.yaml +++ b/static/locales/hi.yaml @@ -293,6 +293,7 @@ About: Latest FreeTube News: '' + Email: ईमेल Profile: Profile Select: '' All Channels: '' diff --git a/static/locales/hr.yaml b/static/locales/hr.yaml index 622710eb..a8de7c80 100644 --- a/static/locales/hr.yaml +++ b/static/locales/hr.yaml @@ -201,6 +201,8 @@ Settings: Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Stvarno želiš ukloniti sve pretplate i profile? Ovo je nepovratna radnja. Remove All Subscriptions / Profiles: Ukloni sve pretplate/profile + Automatically Remove Video Meta Files: Automatski ukloni datoteke metapodataka + videa Subscription Settings: Subscription Settings: 'Postavke pretplata' Hide Videos on Watch: 'Sakrij video nakon gledanja' @@ -663,6 +665,10 @@ Tooltips: 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 ili stanja „uživo” + Privacy Settings: + Remove Video Meta Files: Kad je aktivirano, FreeTube automatski uklanja datoteke + metapodataka koji su stvoreni tijekom reprodukcije videa, kad se zatvori stranica + gledanja. 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. diff --git a/static/locales/hu.yaml b/static/locales/hu.yaml index 565e3796..5152ba75 100644 --- a/static/locales/hu.yaml +++ b/static/locales/hu.yaml @@ -211,6 +211,7 @@ Settings: Remove All Subscriptions / Profiles: 'Összes feliratkozás és profil eltávolítása' Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Biztosan törli az összes feliratkozást és profilt? A művelet nem vonható vissza.' + Automatically Remove Video Meta Files: Videométafájlok önműködő eltávolítása Subscription Settings: Subscription Settings: 'Feliratkozás beállításai' Hide Videos on Watch: 'Videók elrejtése megtekintés után' @@ -304,7 +305,7 @@ Settings: Ip: IP-cím Your Info: Az Ön adatai Clicking on Test Proxy will send a request to: 'A Meghatalmazás-ellenőrzés gombra - kattintva kérést küld a következő címre:' + kattintva kérést küld a következő címre' Test Proxy: Meghatalmazás-ellenőrzés Proxy Port Number: Meghatalmazás kikötőszáma Proxy Host: Meghatalmazás gazdaszámítógép @@ -346,7 +347,7 @@ About: Latest FreeTube News: 'Legfrissebb FreeTube hírek' these people and projects: ezek emberek és projektek - FreeTube is made possible by: 'A FreeTube engedélyezése:' + FreeTube is made possible by: 'A FreeTube engedélyezése' Donate: Hozzájárulás Credits: Közreműködők Translate: Fordítás @@ -546,7 +547,7 @@ Playlist: Videos: 'Videók' View: 'Megtekintés' Views: 'Megtekintések' - Last Updated On: 'Utoljára frissítve:' + Last Updated On: 'Utoljára frissítve' Share Playlist: Share Playlist: 'Lejátszási lista megosztása' Copy YouTube Link: 'YouTube hivatkozás másolása' @@ -664,6 +665,9 @@ Tooltips: visszaadott örökölt formátumokat fogja használni az Invidious által visszaadottak helyett. Segít, ha az Invidious által visszaküldött videókat nem lehet lejátszani az ország korlátozása miatt + Privacy Settings: + Remove Video Meta Files: Ha engedélyezve van, a FreeTube önműködőén törli a videolejátszás + során létrehozott métafájlokat, amikor a nézési oldal bezárul. Playing Next Video Interval: A következő videó lejátszása folyamatban van. Kattintson a törléshez. | A következő videó lejátszása {nextVideoInterval} másodperc múlva történik. Kattintson a törléshez. | A következő videó lejátszása {nextVideoInterval} diff --git a/static/locales/id.yaml b/static/locales/id.yaml index 04342b9a..f3bac887 100644 --- a/static/locales/id.yaml +++ b/static/locales/id.yaml @@ -207,6 +207,7 @@ Settings: Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Apakah Anda yakin ingin menghapus semua langganan dan profil? Tindakan ini tidak bisa diurungkan.' + Automatically Remove Video Meta Files: Secara Otomatis Hapus File Meta Video Subscription Settings: Subscription Settings: 'Pengaturan Langganan' Hide Videos on Watch: 'Sembunyikan Video saat Menonton' @@ -654,6 +655,9 @@ Tooltips: Preferred API Backend: Pilih layanan yang digunakan oleh FreeTube untuk mengambil data. API lokal adalah ekstraktor bawaan. API Invidious membutuhkan sambungan ke server Invidious. + Privacy Settings: + Remove Video Meta Files: Saat diaktifkan, FreeTube secara otomatis menghapus file + meta yang dibuat selama pemutaran video, saat halaman tonton ditutup. Playing Next Video Interval: Langsung putar video berikutnya. Klik untuk batal. | Putar video berikutnya dalam {nextVideoInterval} detik. Klik untuk batal. | Putar video berikutnya dalam {nextVideoInterval} detik. Klik untuk batal. diff --git a/static/locales/is.yaml b/static/locales/is.yaml new file mode 100644 index 00000000..5ce703e8 --- /dev/null +++ b/static/locales/is.yaml @@ -0,0 +1,621 @@ +# Put the name of your locale in the same language +Locale Name: 'Íslenska' +FreeTube: 'FreeTube' +# Currently on Subscriptions, Playlists, and History +'This part of the app is not ready yet. Come back later when progress has been made.': >- + Þessi hluti forritsins er ekki tilbúinn. Skoðaðu þetta seinna þegar meira hefur + verið unnið í þessu. + +# Webkit Menu Bar +File: 'Skrá' +Quit: 'Hætta' +Edit: 'Breyta' +Undo: 'Afturkalla' +Redo: 'Endurtaka' +Cut: 'Klippa' +Copy: 'Afrita' +Paste: 'Líma' +Delete: 'Eyða' +Select all: 'Velja allt' +Reload: 'Endurlesa' +Force Reload: 'Þvinga endurlestur' +Toggle Developer Tools: 'Víxla forritaratólum af/á' +Actual size: 'Raunstærð' +Zoom in: 'Renna að' +Zoom out: 'Renna frá' +Toggle fullscreen: 'Víxla skjáfylli af/á' +Window: 'Gluggi' +Minimize: 'Lágmarka' +Close: 'Loka' +Back: 'Til baka' +Forward: 'Áfram' + +Version $ is now available! Click for more details: 'Útgáfa $ er tiltæk! Smelltu + til að skoða nánar' +Download From Site: 'Sækja af vefsvæði' +A new blog is now available, $. Click to view more: 'Ný bloggfærsla er núna er tiltæk, + $. Smelltu til að skoða nánar' + +# Search Bar +Search / Go to URL: 'Leita / Fara á slóð' + # In Filter Button +Search Filters: + Search Filters: 'Leitarsíur' + Sort By: + Sort By: 'Raða eftir' + Most Relevant: 'Mest viðeigandi' + Rating: 'Einkunn' + Upload Date: 'Dags. innsendingar' + View Count: 'Fjöldi áhorfa' + Time: + Time: 'Tími' + Any Time: 'Hvenær sem er' + Last Hour: 'Síðustu klukkustund' + Today: 'Í dag' + This Week: 'Í þessari viku' + This Month: 'Í þessum mánuði' + This Year: 'Á þessu ári' + Type: + Type: 'Tegund' + All Types: 'Allar tegundir' + Videos: 'Myndskeið' + Channels: 'Rásir' + #& Playlists + Duration: + Duration: 'Tímalengd' + All Durations: 'Allar tímalengdir' + Short (< 4 minutes): 'Stutt (< 4 mínútur)' + Long (> 20 minutes): 'Langt (> 20 mínútur)' + # On Search Page + Search Results: 'Leitarniðurstöður' + Fetching results. Please wait: 'Sæki niðurstöður. Hinkraðu aðeins' + Fetch more results: 'Sækja fleiri niðurstöður' + There are no more results for this search: 'Engar fleiri niðurstöður samsvara leitinni + þinni' +# Sidebar +Subscriptions: + # On Subscriptions Page + Subscriptions: 'Áskriftir' + Latest Subscriptions: 'Síðustu áskriftir' + This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: 'Þetta + notkunarsnið er með mikinn fjölda áskrifta. Þvinga notkun á RSS til að forðast + takmarkanir á magni' + 'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'Listi + með áskriftum er tómur í augnablikinu. Gerstu áskrifandi að rásum og þær munu + birtast hér.' + 'Getting Subscriptions. Please wait.': 'Sæki áskriftir. Hinkraðu aðeins.' + Refresh Subscriptions: 'Endurlesa áskriftir' + Load More Videos: 'Hlaða inn fleiri myndskeiðum' +More: 'Meira' +Trending: 'Í umræðunni' +Most Popular: 'Vinsælast' +Playlists: 'Spilunarlistar' +User Playlists: + Your Playlists: 'Spilunarlistarnir þínir' + Playlist Message: 'Þessi síða endurspeglar ekki alveg fullvirka spilunarlista. Hún + telur aðeins upp þau myndskeið sem þú hefur vistað eða sett í eftirlæti. Þegar + verkinu er lokið munu öll þessi myndskeið færast yfir í ''Eftirlæti''-spilunarlista.' + Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: 'Listinn + þinn yfir vistuð myndskeið er tómur. Smelltu á vistunarhnapp myndskeiðs til að + það birtist hér' +History: + # On History Page + History: 'Vinnsluferill' + Watch History: 'Áhorfsferill' + Your history list is currently empty.: 'Listi með vinnsluferli er tómur í augnablikinu.' +Settings: + # On Settings Page + Settings: 'Stillingar' + The app needs to restart for changes to take effect. Restart and apply change?: 'Þú + þarft að endurræsa forritið svo breytingarnar taki gildi. á að endurræsa og virkja + breytingar?' + General Settings: + General Settings: 'Almennar stillingar' + Check for Updates: 'Athuga með uppfærslur' + Check for Latest Blog Posts: 'Athuga með nýjustu bloggfærslur' + Fallback to Non-Preferred Backend on Failure: 'Nota varaleið um ekki-forgangsbakenda + þegar villa kemur upp' + Enable Search Suggestions: 'Virkja tillögur í leit' + Default Landing Page: 'Sjálfgefin upphafssíða' + Locale Preference: 'Umbeðin staðfærsla' + Preferred API Backend: + Preferred API Backend: 'Forgangsbakendi API-kerfisviðmóts' + Local API: 'Staðvært API-kerfisviðmót' + Invidious API: 'Invidious API-kerfisviðmót' + Video View Type: + Video View Type: 'Tegund myndskeiðsskoðunar' + Grid: 'Reitir' + List: 'Listi' + Thumbnail Preference: + Thumbnail Preference: 'Kjörstillingar smámynda' + Default: 'Sjálfgefið' + Beginning: 'Upphaf' + Middle: 'Miðja' + End: 'Endir' + 'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious-tilvik + (sjálfgefið er https://invidious.snopyta.org)' + View all Invidious instance information: 'Skoða allar upplýsingar um Invidious-tilvik' + Region for Trending: 'Landssvæði sem skal miða vinsældir við' + #! List countries + Theme Settings: + Theme Settings: 'Þemastillingar' + Match Top Bar with Main Color: 'Láta toppstiku samsvara aðallit' + Expand Side Bar by Default: 'Fletta sjálfgefið út hliðarstiku' + Disable Smooth Scrolling: 'Gera mjúkt skrun óvirkt' + UI Scale: 'Kvörðun viðmóts' + Base Theme: + Base Theme: 'Grunnþema' + Black: 'Svart' + Dark: 'Dökkt' + Light: 'Ljóst' + Main Color Theme: + Main Color Theme: 'Aðallitur þema' + Red: 'Rautt' + Pink: 'Bleikt' + Purple: 'Purpurablátt' + Deep Purple: 'Dökkpurpurablátt' + Indigo: 'Djúpfjólublátt' + Blue: 'Blátt' + Light Blue: 'Ljósblátt' + Cyan: 'Blágrænt' + Teal: 'Djúpblágrænt' + Green: 'Grænt' + Light Green: 'Ljósgrænt' + Lime: 'Límónugrænt' + Yellow: 'Gult' + Amber: 'Raflitt' + Orange: 'Appelsínugult' + Deep Orange: 'Dimmappelsínugult' + Secondary Color Theme: 'Aukalitur þema' + #* Main Color Theme + Player Settings: + Player Settings: 'Stillingar spilara' + Force Local Backend for Legacy Formats: 'Þvinga notkun staðværs bakenda fyrir + eldri skráasnið' + Play Next Video: 'Spila næsta myndskeið' + Turn on Subtitles by Default: 'Sjálfgefið kveikja á skjátextum' + Autoplay Videos: 'Spila myndskeið sjálfkrafa' + Proxy Videos Through Invidious: 'Beina myndskeiðum í gegnum Invidious-milliþjón' + Autoplay Playlists: 'Spila spilunarlista sjálfkrafa' + Enable Theatre Mode by Default: 'Sjálfgefið virkja bíóham (theater mode)' + Playlist Next Video Interval: 'Millibil afspilunar næsta myndskeiðs í spilunarlista' + Default Volume: 'Sjálfgefinn hljóðstyrkur' + Default Playback Rate: 'Sjálfgefinn afspilunarhraði' + Default Video Format: + Default Video Format: 'Sjálfgefið skráasnið myndskeiða' + Dash Formats: 'DASH-skráasnið' + Legacy Formats: 'Eldri skráasnið' + Audio Formats: 'Hljóðskráasnið' + Default Quality: + Default Quality: 'Sjálfgefin gæði' + Auto: 'Sjálfvirkt' + 144p: '144p' + 240p: '240p' + 360p: '360p' + 480p: '480p' + 720p: '720p' + 1080p: '1080p' + 1440p: '1440p' + 4k: '4k' + 8k: '8k' + Privacy Settings: + Privacy Settings: 'Stillingar gagnaleyndar' + Remember History: 'Muna vinnsluferil' + Save Watched Progress: 'Vista framvindu áhorfs' + Clear Search Cache: 'Hreinsa skyndiminni leitar' + Are you sure you want to clear out your search cache?: 'Ertu viss um að þú viljir + eyða skyndiminni leitar?' + Search cache has been cleared: 'Skyndiminni leitar var hreinsað' + Remove Watch History: 'Fjarlægja áhorfsferil' + Are you sure you want to remove your entire watch history?: 'Ertu viss um að þú + viljir fjarlægja allan áhorfsferilinn þinn?' + Watch history has been cleared: 'Áhorfsferill var hreinsaður' + Remove All Subscriptions / Profiles: 'Fjarlægja allar áskriftir / notkunarsnið' + Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Ertu + viss um að þú viljir fjarlægja allar áskriftir og notkunarsnið? Ekki er hægt + að afturkalla þetta.' + Automatically Remove Video Meta Files: Sjálfvirkt fjarlægja lýsigögn úr myndskeiðaskrám + Subscription Settings: + Subscription Settings: 'Stillingar áskrifta' + Hide Videos on Watch: 'Fela myndskeið eftir áhorf' + Fetch Feeds from RSS: 'Ná í streymi úr RSS' + Manage Subscriptions: 'Sýsla með áskriftir' + Distraction Free Settings: + Distraction Free Settings: 'Truflanaminnkandi stillingar' + Hide Video Views: 'Fela fjölda áhorfa á myndskeið' + Hide Video Likes And Dislikes: 'Fela hve mörgum líkar eða mislíkar myndskeið' + Hide Channel Subscribers: 'Fela fjölda áskrifenda myndskeiða' + Hide Comment Likes: 'Fela hve mörgum líkar athugasemdir' + Hide Recommended Videos: 'Fela myndskeið sem mælt er með' + Hide Trending Videos: 'Fela myndskeið í umræðunni' + Hide Popular Videos: 'Fela vinsæl myndskeið' + Hide Playlists: 'Fela spilunarlista' + Hide Live Chat: 'Fela spjall í beinni' + Hide Active Subscriptions: 'Fela virkar áskriftir' + Data Settings: + Data Settings: 'Stillingar gagna' + Select Import Type: 'Veldu tegund innflutnings' + Select Export Type: 'Veldu tegund útflutnings' + Import Subscriptions: 'Flytja inn áskriftir' + Import FreeTube: 'Flytja inn FreeTube' + Import YouTube: 'Flytja inn YouTube' + Import NewPipe: 'Flytja inn NewPipe' + Check for Legacy Subscriptions: 'Athuga með eldri áskriftir' + Export Subscriptions: 'Flytja út áskriftir' + Export FreeTube: 'Flytja út FreeTube' + Export YouTube: 'Flytja út YouTube' + Export NewPipe: 'Flytja út NewPipe' + Import History: 'Flytja inn vinnsluferil' + Export History: 'Flytja út vinnsluferil' + Profile object has insufficient data, skipping item: 'Atriði notkunarsniðs er + ekki með næg gögn, sleppi þessu' + All subscriptions and profiles have been successfully imported: 'Innflutningur + á öllum áskriftum og notkunarsniðum tókst' + All subscriptions have been successfully imported: 'Innflutningur á öllum áskriftum + tókst' + One or more subscriptions were unable to be imported: 'Ekki tókst að flytja inn + eina eða fleiri áskriftir' + Invalid subscriptions file: 'Ógild áskriftaskrá' + This might take a while, please wait: 'Þetta getur tekið dálítinn tíma, sýndu + smá þolinmæði' + Invalid history file: 'Ógild vinnsluferilskrá' + Subscriptions have been successfully exported: 'Úflutningur á áskriftum tókst' + History object has insufficient data, skipping item: 'Atriði vinnsluferils er + ekki með næg gögn, sleppi þessu' + All watched history has been successfully imported: 'Allur áhorfsferillinn var + fluttur inn' + All watched history has been successfully exported: 'Allur áhorfsferillinn var + fluttur út' + Unable to read file: 'Gat ekki lesið skrá' + Unable to write file: 'Gat ekki skrifað skrá' + Unknown data key: 'Óþekktur gagnalykill' + How do I import my subscriptions?: 'Hvernig flyt ég inn áskriftirnar mínar?' + Manage Subscriptions: 'Sýsla með áskriftir' + Proxy Settings: + Proxy Settings: 'Stillingar milliþjóns (proxy)' + Enable Tor / Proxy: 'Virkja Tor / milliþjón' + Proxy Protocol: 'Samskiptamáti milliþjóns' + Proxy Host: 'Hýsilvél milliþjóns' + Proxy Port Number: 'Númer á gátt milliþjóns' + Clicking on Test Proxy will send a request to: 'Ef smellt er á ''Prófa milliþjón'' + verður send beiðni á' + Test Proxy: 'Prófa milliþjón' + Your Info: 'Upplýsingar um þig' + Ip: 'IP-vistfang' + Country: 'Land' + Region: 'Hérað' + City: 'Borg/Sveitarfélag' + Error getting network information. Is your proxy configured properly?: 'Það tókst + ekki að sækja upplýsingar um netkerfið. Er milliþjónninn rétt uppsettur?' +About: + #On About page + About: 'Um hugbúnaðinn' + Beta: 'Beta-prófunarútgáfa' + Source code: 'Grunnkóði' + Licensed under the AGPLv3: 'Gefið út með AGPLv3-notkunarleyfi' + View License: 'Skoða notkunarleyfi' + Downloads / Changelog: 'Sóttar skrár / Breytingaskrá' + GitHub releases: 'Útgáfur af GitHub' + Help: 'Hjálp' + FreeTube Wiki: 'FreeTube wikivefur' + FAQ: 'FAQ / Algengar spurningar' + Report a problem: 'Tilkynna vandamál' + GitHub issues: 'GitHub verkbeiðnir' + Please check for duplicates before posting: 'Athugaðu hvort fyrir séu eins fyrirspurnir + áður en þú sendir nýja' + Website: 'Vefsvæði' + Blog: 'Blogg' + Email: 'Tölvupóstur' + Mastodon: 'Mastodon' + Chat on Matrix: 'Spjall á Matrix' + Please read the: 'Endilega lestu' + room rules: 'reglur spjallsins' + Translate: 'Þýða' + Credits: 'Framlög' + FreeTube is made possible by: 'FreeTube er gert mögulegt af' + these people and projects: 'þessu fólki og verkefnum' + Donate: 'Styrkja' + +Profile: + Profile Select: 'Val á notkunarsniði' + Profile Filter: 'Sía notkunarsnið' + All Channels: 'Allar rásir' + Profile Manager: 'Sýsla með notkunarsnið' + Create New Profile: 'Búa til nýtt notkunarsnið' + Edit Profile: 'Breyta notkunarsniði' + Color Picker: 'Litaplokkari' + Custom Color: 'Sérsniðinn litur' + Profile Preview: 'Forskoðun notkunarsniðs' + Create Profile: 'Búa til notkunarsnið' + Update Profile: 'Uppfæra notkunarsnið' + Make Default Profile: 'Gera að sjálfgefnu notkunarsniði' + Delete Profile: 'Eyða notkunarsniði' + Are you sure you want to delete this profile?: 'Ertu viss um að þú viljir eyða þessu + notkunarsniði?' + All subscriptions will also be deleted.: 'Öllum áskriftum verður einnig eytt.' + Profile could not be found: 'Notkunarsnið fannst ekki' + Your profile name cannot be empty: 'Nafn notkunarsniðsins má ekki vera tómt' + Profile has been created: 'Notkunarsnið hefur verið útbúið' + Profile has been updated: 'Notkunarsnið hefur verið uppfært' + Your default profile has been set to $: 'Sjálfgefið notandasnið þitt hefur stillt + sem $' + Removed $ from your profiles: 'Fjarlægði $ úr notkunarsniðunum þínum' + Your default profile has been changed to your primary profile: 'Sjálfgefið notandasnið + þitt hefur stillt á aðalnotkunarsniðið þitt' + $ is now the active profile: '$ er núna virka notkunarsniðið' + Subscription List: 'Áskriftalisti' + Other Channels: 'Aðrar rásir' + $ selected: '$ valið' + Select All: 'Velja allt' + Select None: 'Velja ekkert' + Delete Selected: 'Eyða völdu' + Add Selected To Profile: 'Breyta völdu við notkunarsnið' + No channel(s) have been selected: 'Engin rás hefur verið valin' + ? 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. + : 'Þetta er aðalnotkunarsnið þitt. Ertu viss um að þú viljir eyða völdu rásunum? + Þessum sömu rásum verður eytt úr öllum þeim notkunarsniðum þar sem þær finnast.' + Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: 'Ertu + viss um að þú viljir eyða völdu rásunum? Þetta mun ekki eyða rásunum úr öðrum + notkunarsniðum.' +#On Channel Page +Channel: + Subscriber: 'Áskrifandi' + Subscribers: 'Áskrifendur' + Subscribe: 'Gerast áskrifandi' + Unsubscribe: 'Segja upp áskrift' + Channel has been removed from your subscriptions: 'Rás var fjarlægð úr áskriftunum + þínum' + Removed subscription from $ other channel(s): 'Fjarlægði áskrift úr $ rás(um) til + viðbótar' + Added channel to your subscriptions: 'Bætti rás í áskriftirnar þínar' + Search Channel: 'Leita á rás' + Your search results have returned 0 results: 'Leitin skilaði 0 niðurstöðum' + Sort By: 'Raða eftir' + Videos: + Videos: 'Myndskeið' + This channel does not currently have any videos: 'Þessi rás er ekki með nein myndskeið' + Sort Types: + Newest: 'Nýjast' + Oldest: 'Elst' + Most Popular: 'Vinsælast' + Playlists: + Playlists: 'Spilunarlistar' + This channel does not currently have any playlists: 'Þessi rás er ekki með neina + spilunarlista' + Sort Types: + Last Video Added: 'Síðast viðbætta myndskeið' + Newest: 'Nýjast' + Oldest: 'Elst' + About: + About: 'Um rásina' + Channel Description: 'Lýsing á rás' + Featured Channels: 'Rásir í deiglunni' +Video: + Mark As Watched: 'Merkja sem búið að horfa á' + Remove From History: 'Fjarlægja úr vinnsluferli' + Video has been marked as watched: 'Myndskeið hefur verið merkt sem skoðað' + Video has been removed from your history: 'Myndskeið hefur verið fjarlægt úr vinnsluferlinum + þínum' + Save Video: 'Vista myndskeið' + Video has been saved: 'Myndskeið hefur verið vistað' + Video has been removed from your saved list: 'Myndskeið hefur verið fjarlægt úr + listanum yfir vistað' + Open in YouTube: 'Opna í YouTube' + Copy YouTube Link: 'Afrita YouTube-tengil' + Open YouTube Embedded Player: 'Opna ívafinn YouTube-spilara' + Copy YouTube Embedded Player Link: 'Afrita tengil á ívafinn YouTube-spilara' + Open in Invidious: 'Opna í Invidious' + Copy Invidious Link: 'Afrita Invidious-tengil' + Open Channel in YouTube: 'Opna rás í YouTube' + Copy YouTube Channel Link: 'Afrita tengil YouTube-rásar' + Open Channel in Invidious: 'Opna rás í Invidious' + Copy Invidious Channel Link: 'Afrita tengil Invidious-rásar' + View: 'Áhorf' + Views: 'Áhorf' + Loop Playlist: 'Endurtaka spilunarlista endalaust' + Shuffle Playlist: 'Stokka spilunarlista' + Reverse Playlist: 'Snúa við spilunarlista' + Play Next Video: 'Spila næsta myndskeið' + Play Previous Video: 'Spila fyrra myndskeið' + # Context is "X People Watching" + Watching: 'Verið að horfa' + Watched: 'Búið að horfa' + Autoplay: 'Spila sjálfkrafa' + Starting soon, please refresh the page to check again: 'Byrjar bráðum, endurlestu + síðuna til að fylgjast með' + # As in a Live Video + Live: 'Beint' + Live Now: 'Í beinni útsendingu núna' + Live Chat: 'Spjall í beinni' + Enable Live Chat: 'Virkja spjall í beinni' + Live Chat is currently not supported in this build.: 'Spjall í beinni er ekki stutt + í þessari byggingarútgáfu.' + 'Chat is disabled or the Live Stream has ended.': 'Spjall er óvirkt eða að beinu + streymi er lokið.' + Live chat is enabled. Chat messages will appear here once sent.: 'Beint spjall + er virkt. Skilaboð spjallsins munu birtast hér.' + 'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': 'Spjall + í beinni er ekki stutt í Invidious API-kerfisviðmótinu. Nauðsynlegt er að vera + með beina tengingu við YouTube.' + Download Video: 'Sækja myndskeið' + video only: 'einungis myndmerki' + audio only: 'einungis hljóð' + Audio: + Low: 'Lág' + Medium: 'Miðlungs' + High: 'Há' + Best: 'Best' + Published: + Jan: 'Jan' + Feb: 'Feb' + Mar: 'Mar' + Apr: 'Apr' + May: 'Maí' + Jun: 'Jún' + Jul: 'Júl' + Aug: 'Ágú' + Sep: 'Sep' + Oct: 'Okt' + Nov: 'Nóv' + Dec: 'Des' + Second: 'sekúndu' + Seconds: 'sekúndum' + Minute: 'mínútu' + Minutes: 'mínútum' + Hour: 'klukkustund' + Hours: 'klukkustundum' + Day: 'degi' + Days: 'dögum' + Week: 'viku' + Weeks: 'vikum' + Month: 'mánuði' + Months: 'mánuðum' + Year: 'ári' + Years: 'árum' + Ago: 'síðan' + Upcoming: 'Frumsýnt' + Published on: 'Gefið út' + Streamed on: 'Streymt' + Started streaming on: 'Byrjaði streymi' + # $ is replaced with the number and % with the unit (days, hours, minutes...) + Publicationtemplate: '$ % síðan' +#& Videos +Videos: + #& Sort By + Sort By: + Newest: 'Nýjast' + Oldest: 'Elst' + #& Most Popular +#& Playlists +Playlist: + #& About + View Full Playlist: 'Sjá allan spilunarlistann' + Videos: 'Myndskeið' + View: 'Áhorf' + Views: 'Áhorf' + Last Updated On: 'Síðast uppfært' + Share Playlist: + Share Playlist: 'Deila spilunarlista' + Copy YouTube Link: 'Afrita YouTube-tengil' + Open in YouTube: 'Opna í YouTube' + Copy Invidious Link: 'Afrita Invidious-tengil' + Open in Invidious: 'Opna í Invidious' + +# On Video Watch Page +#* Published +#& Views +Toggle Theatre Mode: 'Víxla bíóham af/á' +Change Format: + Change Video Formats: 'Skipta um myndskeiðasnið' + Use Dash Formats: 'Nota DASH-skráasnið' + Use Legacy Formats: 'Nota eldri skráasnið' + Use Audio Formats: 'Nota hljóðskráasnið' + Dash formats are not available for this video: 'DASH-skráasnið eru ekki tiltæk fyrir + þetta myndskeið' + Audio formats are not available for this video: 'Hljóðskráasnið eru ekki tiltæk + fyrir þetta myndskeið' +Share: + Share Video: 'Deila myndskeiði' + Include Timestamp: 'Hafa með tímamerki' + Copy Link: 'Afrita tengil' + Open Link: 'Opna tengil' + Copy Embed: 'Afrita ívafið' + Open Embed: 'Opna ívafið' + # On Click + Invidious URL copied to clipboard: 'Invidious-slóð afrituð á klippispjaldið' + Invidious Embed URL copied to clipboard: 'Ívafin Invidious-slóð afrituð á klippispjaldið' + Invidious Channel URL copied to clipboard: 'Slóð Invidious-rásar afrituð á klippispjaldið' + YouTube URL copied to clipboard: 'YouTube-slóð afrituð á klippispjaldið' + YouTube Embed URL copied to clipboard: 'Ívafin YouTube-slóð afrituð á klippispjaldið' + YouTube Channel URL copied to clipboard: 'Slóð YouTube-rásar afrituð á klippispjaldið' + +Mini Player: 'Smáspilari' +Comments: + Comments: 'Athugasemdir' + Click to View Comments: 'Smelltu til að skoða athugasemdir' + Getting comment replies, please wait: 'Sæki svör við athugasemdum, bíddu aðeins' + There are no more comments for this video: 'Það eru engar fleiri athugasemdir við + þetta myndskeið' + Show Comments: 'Birta athugasemdir' + Hide Comments: 'Fela athugasemdir' + Sort by: 'Raða eftir' + Top comments: 'Efstu athugasemdir' + Newest first: 'Nýjasta fyrst' + # Context: View 10 Replies, View 1 Reply + View: 'Skoða' + Hide: 'Fela' + Replies: 'Svör' + Reply: 'Svara' + There are no comments available for this video: 'Engar athugasemdir eru tiltækar + fyrir þetta myndskeið' + Load More Comments: 'Hlaða inn fleiri athugasemdum' + No more comments available: 'Engar fleiri athugasemdir eru tiltækar' +Up Next: 'Næst í spilun' + +#Tooltips +Tooltips: + General Settings: + Preferred API Backend: 'Veldu bakendann sem FreeTube notar til að ná í gögn. Staðværa + API-kerfisviðmótið er innbyggður skrapari. Invidious API-kerfisviðmótið krefst + tengingar við Invidious-netþjón.' + Fallback to Non-Preferred Backend on Failure: 'Þegar forgangsbakendi API-kerfisviðmóts + á í vandræðum, mun FreeTube reyna sjálfkrafa að nota ekki-forgangsbakenda API-kerfisviðmóts + sem varaleið, þegar þetta er virkjað' + Thumbnail Preference: 'Öllum smámyndum í FreeTube verður skipt út fyrir ramma + með myndskeiðinu í stað sjálfgefinnar smámyndar' + Invidious Instance: 'Tilvik Invidious-netþjóns sem FreeTube mun tengjast fyrir + beðnir í API-kerfisviðmót. Hreinsaðu út fyrirliggjandi tilvik til að sjá lista + yfir opinber tilvik sem hægt er að velja um' + Region for Trending: 'Landssvæði sem skal miða vinsældir við gerir þér kleift + að velja í hvaða landi aukning á vinsældum í umræðunni skal miða við. Ekki eru + öll löndin sem birtast raunverulega studd af YouTube' + Player Settings: + Force Local Backend for Legacy Formats: 'Virkar bara þegar Invidious API-kerfisviðmótið + er sjálfgefið hjá þér. Þegar þetta er virkt, mun staðværa API-kerfisviðmótið + keyra og nota þau eldri skráasnið sem finnast í stað þeirra sem Invidious gefur + upp. Hjálpar til þegar myndskeið sem Invidious gefur upp spilast ekki vegna + landsháðra takmarkana' + Proxy Videos Through Invidious: 'Mun tengjast við Invidious til að miðla myndskeiðum + í stað þess að tengjast beint við YouTube. Tekur fram fyrir valin API-kerfisviðmót' + Default Video Format: 'Stillu skráasniðin sem notuð eru við afspilun myndskeiða. + DASH-snið (Dynamic Adaptive Streaming over HTTP) er hægt að spila í meiri gæðum. + Eldri snið takmarkast við 720p en nota minni bandbreidd. Hljóðsnið eru streymi + einungis með hljóði' + Subscription Settings: + Fetch Feeds from RSS: 'Þegar þetta er virkt, mun FreeTube nota RSS í stað sjálfgefinnar + aðferðar við að safna streymi áskriftarinnar þinnar. RSS er hraðvirkara og kemur + í veg fyrir útilokun IP-vistfanga, en nær ekki að birta ákveðnar upplýsingar + á borð við tímalengd myndskeiða eða stöðu í beinni útsendingu' + +# Toast Messages + Privacy Settings: + Remove Video Meta Files: Þegar þetta er virkt, eyðir FreeTube sjálfkrafa lýsigagnaskrám + sem útbúnar eru við afspilun, þegar skoðunarsíðunni er lokað. +Local API Error (Click to copy): 'Villa í staðværu API-kerfisviðmóti (smella til að + afrita)' +Invidious API Error (Click to copy): 'Villa í Invidious API-kerfisviðmóti (smella + til að afrita)' +Falling back to Invidious API: 'Nota til vara Invidious API-kerfisviðmót' +Falling back to the local API: 'Nota til vara staðvært API-kerfisviðmót' +This video is unavailable because of missing formats. This can happen due to country unavailability.: 'Þetta + myndskeiðer ekki tiltækt vegna þess að það vantar skráasnið. Þetta getur gest ef + þau eru ekki tiltæk í viðkomandi landi.' +Subscriptions have not yet been implemented: 'Áskriftir eru enn ekki frágengnar' +Loop is now disabled: 'Endurtekning er núna óvirk' +Loop is now enabled: 'Endurtekning er núna virk' +Shuffle is now disabled: 'Stokkun er núna óvirk' +Shuffle is now enabled: 'Stokkun er núna virk' +The playlist has been reversed: 'Spilunarlistanum hefur verið snúið' +Playing Next Video: 'Spila næsta myndskeið' +Playing Previous Video: 'Spila fyrra myndskeið' +Playing Next Video Interval: 'Spila næsta myndskeið strax. Smelltu til að hætta við. + | Spila næsta myndskeið eftir {nextVideoInterval} sekúndu. Smelltu til að hætta + við. | Spila næsta myndskeið eftir {nextVideoInterval} sekúndur. Smelltu til að + hætta við.' +Canceled next video autoplay: 'Hætti við sjálfvirka afspilun næsta myndskeiðs' +'The playlist has ended. Enable loop to continue playing': 'Spilunarlistinn er kominn + út á enda. Virkjaðu óendanlega endurtekningu til að halda afspilun áfram' + +Yes: 'Já' +No: 'Nei' diff --git a/static/locales/it.yaml b/static/locales/it.yaml index a414bbf0..9243bb25 100644 --- a/static/locales/it.yaml +++ b/static/locales/it.yaml @@ -65,7 +65,7 @@ Search Filters: Fetching results. Please wait: 'Caricamento risultati. Attendi' Fetch more results: 'Carica più risultati' # Sidebar - There are no more results for this search: Non ci sono altri risultati per questa + There are no more results for this search: Non ci sono più risultati per questa ricerca Subscriptions: # On Subscriptions Page @@ -86,11 +86,11 @@ Playlists: 'Playlist' User Playlists: Your Playlists: 'Le tue playlist' Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: La - lista preferiti è vuota. Clicca sul tasto salva in basso a destra di un video + lista preferiti è vuota. Clicca sul tasto Salva in basso a destra di un video per vederlo qui Playlist Message: Questa pagina non è rappresentativa di una playlist completa. Mostra solo video che hai salvato o aggiunti ai preferiti. A lavoro finito, tutti - i video attualmente qui verrano spostati in una playlist dei 'preferiti'. + i video attualmente qui verrano spostati in una playlist dei «Preferiti». History: # On History Page History: 'Cronologia' @@ -126,7 +126,8 @@ Settings: #! List countries Check for Latest Blog Posts: Controlla gli ultimi post del blog Check for Updates: Controlla gli aggiornamenti - View all Invidious instance information: Espandi informazioni delle istanze Invidious + View all Invidious instance information: Visualizza tutti i dati della istanza + Invidious Theme Settings: Theme Settings: 'Impostazioni Tema' Match Top Bar with Main Color: 'Abbina la barra superiore con il colore principale' @@ -186,6 +187,7 @@ Settings: 1440p: '1440p' 4k: '4k' 8k: '8k' + Playlist Next Video Interval: Intervallo video successivo nella playlist Privacy Settings: Privacy Settings: 'Impostazioni privacy' Remember History: 'Salva la Cronologia' @@ -293,6 +295,7 @@ Settings: Hide Live Chat: Nascondi la chat live Hide Video Likes And Dislikes: Nascondi Mi piace e Non mi piace Hide Active Subscriptions: Nascondi le iscrizioni attive + Hide Playlists: Nascondi le playlist The app needs to restart for changes to take effect. Restart and apply change?: L'applicazione deve essere riavviata per applicare i cambiamenti. Riavviare e applicare i cambiamenti ora? @@ -308,8 +311,8 @@ Settings: Country: Paese Ip: Ip Your Info: Le tue informazioni - Test Proxy: Test Proxy - Clicking on Test Proxy will send a request to: Cliccando su "Testa Proxy" verrà + Test Proxy: Testa proxy + Clicking on Test Proxy will send a request to: Cliccando su «Testa proxy» verrà inviata una richiesta a Proxy Port Number: Numero di porta Proxy Proxy Host: Host Proxy @@ -349,7 +352,7 @@ About: Blog: Blog GitHub issues: Segnalazioni GitHub Report a problem: Segnala un problema - FAQ: Domande Frequenti + FAQ: Domande frequenti FreeTube Wiki: Wiki FreeTube Help: Aiuto Downloads / Changelog: Download / Changelog @@ -360,11 +363,11 @@ About: Translate: Traduci room rules: Regole stanza Please read the: Si prega di leggere - Chat on Matrix: Chat su Matrix + Chat on Matrix: Chatta su Matrix Mastodon: Mastodon - Email: Email + Email: E-mail Website: Sito web - Please check for duplicates before posting: Perfavore controlla se ci sono duplicati + Please check for duplicates before posting: Per favore controlla se ci sono duplicati prima di pubblicare View License: Vedi licenza Licensed under the AGPLv3: Distribuito sotto la licenza AGPLv3 @@ -631,6 +634,7 @@ Profile: Profile Manager: Gestione Profili All Channels: Tutti i Canali Profile Select: Seleziona il Profilo + Profile Filter: Filtro profilo This video is unavailable because of missing formats. This can happen due to country unavailability.: Questo video non è disponibile a causa di alcuni formati mancanti. Questo può succedere in caso di mancata disponibilità del paese. @@ -650,7 +654,7 @@ Tooltips: Fetch Feeds from RSS: Quando abilitato, FreeTube userà gli RSS invece del metodo standard per leggere la tua lista istrizioni. Gli RSS sono più veloci e impediscono il blocco dell'IP ma non mostrano informazioni come la durata video o lo stato - delle live + delle dirette General Settings: Invidious Instance: L'istanza Invidious che FreeTube usa per le chiamate API. Pulisci l'istanza attuale per vedere una lista di istanze pubbliche da cui scegliere @@ -665,3 +669,8 @@ Tooltips: Region for Trending: La regione delle tendenze permette di scegliere la nazione di cui si vogliono vedere i video di tendenza. Non tutte le nazioni mostrate sono ufficialmente supportate da YouTube +Playing Next Video Interval: Riproduzione del video successivo in pochissimo tempo. + Fare clic per annullare. | Riproduzione del video successivo tra {nextVideoInterval} + secondo. Fare clic per annullare. | Riproduzione del video successivo tra {nextVideoInterval} + secondi. Fare clic per annullare. +More: Altro diff --git a/static/locales/ja.yaml b/static/locales/ja.yaml index 3f8a722f..dfd664e5 100644 --- a/static/locales/ja.yaml +++ b/static/locales/ja.yaml @@ -318,9 +318,9 @@ About: Please read the: 確認してください Chat on Matrix: Matrix でチャット Mastodon: Mastodon - Email: メール アドレス + Email: 電子メール Blog: ブログ - Website: WEB サイト + Website: ウェブサイト Please check for duplicates before posting: 投稿する前に重複を確認してください GitHub issues: GitHub の課題ツール Report a problem: 問題の報告 diff --git a/static/locales/nl.yaml b/static/locales/nl.yaml index dc211420..8d80fab9 100644 --- a/static/locales/nl.yaml +++ b/static/locales/nl.yaml @@ -79,7 +79,7 @@ Subscriptions: This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Dit profiel heeft een groot aantal abonnementen. RSS wordt geforceerd om tariefbeperkingen te voorkomen - Load More Videos: Laad Meer Video's + Load More Videos: Meer Video's Laden Trending: 'Trending' Most Popular: 'Populair' Playlists: 'Afspeellijsten' @@ -204,6 +204,7 @@ Settings: u zeker dat u alle abonnementen en profielen wil verwijderen? Dit kan niet worden ontdaan. Remove All Subscriptions / Profiles: Verwijder alle Abonnementen / Profielen + Automatically Remove Video Meta Files: Verwijder Video Meta-bestanden Automatisch Subscription Settings: Subscription Settings: 'Abonnement instellingen' Hide Videos on Watch: 'Verberg Video''s Zodra Bekeken' @@ -354,7 +355,7 @@ About: Please read the: Lees alstublieft de Chat on Matrix: Chat op Matrix Mastodon: Mastodon - Email: Email + Email: E-mail Blog: Blog Website: Website Please check for duplicates before posting: Controleer op duplicaten voordat u een @@ -554,7 +555,7 @@ Comments: Replies: 'Reacties' Reply: 'Reactie' There are no comments available for this video: 'Er zijn geen reacties op deze video' - Load More Comments: 'Laad Meer Reacties' + Load More Comments: 'Meer Reacties Laden' There are no more comments for this video: Er zijn geen verdere reacties op deze video No more comments available: Er zijn niet meer reacties beschikbaar @@ -667,6 +668,10 @@ Tooltips: Region for Trending: Met trend regio kan je instellen uit welk land je trending video's je wil zien. Niet alle weergegeven landen worden ook daadwerkelijk ondersteund door YouTube + Privacy Settings: + Remove Video Meta Files: Wanneer ingeschakeld zal FreeTube automatisch meta bestanden + die worden gecreëerd tijdens het afspelen van video's verwijderen zodra de pagina + wordt gesloten. Playing Next Video Interval: Volgende video wordt afgespeeld. Klik om te onderbreken. | Volgende video wordt afgespeeld in {nextVideoInterval} seconde. Klik om te onderbreken. | Volgende video wordt afgespeeld in {nextVideoInterval} seconden. Klik om te onderbreken. diff --git a/static/locales/pl.yaml b/static/locales/pl.yaml index db0cf040..083bc548 100644 --- a/static/locales/pl.yaml +++ b/static/locales/pl.yaml @@ -244,6 +244,7 @@ Settings: jesteś pewny/a, że chcesz usunąć wszystkie subskrypcje i profile? Nie będzie można tego cofnąć. Remove All Subscriptions / Profiles: Usuń wszystkie subskrypcje / profile + Automatically Remove Video Meta Files: Samoczynnie usuwaj pliki metadanych filmu Data Settings: How do I import my subscriptions?: Jak mogę zaimportować swoje subskrypcje? Unknown data key: Nieznany klucz danych @@ -356,7 +357,7 @@ About: Wiki: Wiki Report an Issue: Zgłoś problem Channel Rules: Zasady kanału - Email: Email + Email: E-mail License: Licencja Beta: Beta Donate: Wesprzyj @@ -675,6 +676,9 @@ Tooltips: 720p, ale zużywają mniej przepustowości. Formaty audio odtwarzają tylko dźwięk Proxy Videos Through Invidious: Będzie dostarczał filmy, łącząc się z Invidious, a nie bezpośrednio z YouTube. Nadpisuje ustawienia API + Privacy Settings: + Remove Video Meta Files: Po włączeniu FreeTube samoczynnie usunie pliki metadanych + utworzone podczas odtwarzania filmu, gdy tylko strona odtwarzania zostanie zamknięta. Playing Next Video Interval: Odtwarzanie kolejnego filmu już za chwilę. Wciśnij aby przerwać. | Odtwarzanie kolejnego filmu za {nextVideoInterval} sekundę. Wciśnij aby przerwać. | Odtwarzanie kolejnego filmu za {nextVideoInterval} sekund. Wciśnij diff --git a/static/locales/pt-BR.yaml b/static/locales/pt-BR.yaml index 515ae532..37778548 100644 --- a/static/locales/pt-BR.yaml +++ b/static/locales/pt-BR.yaml @@ -343,7 +343,7 @@ About: #On Channel Page GitHub issues: Problemas com o GitHub Report a problem: Reportar um problema - FAQ: FAQs + FAQ: Perguntas frequentes FreeTube Wiki: Wiki do FreeTube Help: Ajuda GitHub releases: Lançamentos do GitHub diff --git a/static/locales/pt-PT.yaml b/static/locales/pt-PT.yaml index 2bd9cbc2..e7b64010 100644 --- a/static/locales/pt-PT.yaml +++ b/static/locales/pt-PT.yaml @@ -88,11 +88,12 @@ Most Popular: Mais Populares Playlists: Listas de Reprodução User Playlists: Your Playlists: As suas Listas de Reprodução - Playlist Message: Esta página não é indicativa do resultado final. Apenas mostra - vídeos que foram guardados ou marcados como favoritos. Quando estiver pronta, + Playlist Message: Esta página não é indicativa do resultado final. Apenas mostra + vídeos que foram guardados ou marcados como favoritos. Quando estiver pronta, todos os vídeos que estiverem aqui serão postos numa lista chamada 'Favoritos'. - Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: A sua lista está vazia. Carregue no botão com a estrela no canto de um vídeo para o - guardar aqui. + Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: A + sua lista está vazia. Carregue no botão com a estrela no canto de um vídeo para + o guardar aqui. History: # On History Page History: Histórico @@ -129,7 +130,8 @@ Settings: End: Fim 'Invidious Instance (Default is https://invidious.snopyta.org)': Instância Invidious (Por omissão é https://invidious.snopyta.org) - View all Invidious instance information: Mostrar toda a informação sobre esta instância Invidious + View all Invidious instance information: Mostrar toda a informação sobre esta + instância Invidious Region for Trending: Região para as tendências #! List countries Theme Settings: @@ -275,14 +277,17 @@ Settings: Proxy Protocol: Protocolo do Intermediário Proxy Host: Endereço do Intermediário Proxy Port Number: Porto do Intermediário - Clicking on Test Proxy will send a request to: Carregar em Testar Intermediário irá enviar um pedido a + Clicking on Test Proxy will send a request to: Carregar em Testar Intermediário + irá enviar um pedido a Test Proxy: Testar Intermediário Your Info: A sua Informação Ip: Ip Country: País Region: Região City: Cidade - Error getting network information. Is your proxy configured properly?: Houve um erro a receber a informação sobre a sua rede. Verifique que o seu intermediário está configurado correctamente. + Error getting network information. Is your proxy configured properly?: Houve um + erro a receber a informação sobre a sua rede. Verifique que o seu intermediário + está configurado correctamente. About: #On About page About: Sobre @@ -293,14 +298,15 @@ About: Downloads / Changelog: Descarregar / Mudanças GitHub releases: Lançamentos no GitHub Help: Ajuda - FreeTube Wiki: Wiki do FreeTube - FAQ: Perguntas Frequentes + FreeTube Wiki: Wiki do FreeTube + FAQ: Perguntas frequentes Report a problem: Relatar um problema GitHub issues: Problemas no GitHub - Please check for duplicates before posting: É favor verificar se um problema já foi relatado - Website: Site + Please check for duplicates before posting: É favor verificar se um problema já + foi relatado + Website: Saite Blog: Blogue - Email: Email + Email: Correio eletrónico Mastodon: Mastodon Chat on Matrix: Chat no Matrix Please read the: Por favor leia as diff --git a/static/locales/pt.yaml b/static/locales/pt.yaml index f9896ff4..7cc20d47 100644 --- a/static/locales/pt.yaml +++ b/static/locales/pt.yaml @@ -289,6 +289,10 @@ About: Latest FreeTube News: 'Notícias recentes sobre FreeTube' + FAQ: Perguntas frequentes + Blog: Blogue + Website: Sítio Web + Email: Correio eletrónico Profile: Profile Select: 'Selecção de perfil' All Channels: 'Todos os Canais' diff --git a/static/locales/ru.yaml b/static/locales/ru.yaml index 19739547..5938ce74 100644 --- a/static/locales/ru.yaml +++ b/static/locales/ru.yaml @@ -354,7 +354,7 @@ About: Mastodon: Mastodon Email: Электронная почта Blog: Блог - Website: Сайт + Website: Веб-сайт Report a problem: Сообщить о проблеме FAQ: FAQ FreeTube Wiki: Вики-сайт FreeTube @@ -396,7 +396,7 @@ Channel: About: 'О канале' Channel Description: 'Описание канала' Featured Channels: 'Избранные каналы' - Added channel to your subscriptions: Канаь добавлен в ваши подписки + Added channel to your subscriptions: Канал добавлен в ваши подписки Removed subscription from $ other channel(s): Подписка удалена с $ другого(их) канала(ов) Channel has been removed from your subscriptions: Канал был удалён из ваших подписок Video: diff --git a/static/locales/sl.yaml b/static/locales/sl.yaml index 5f63f9ff..930f5c3e 100644 --- a/static/locales/sl.yaml +++ b/static/locales/sl.yaml @@ -30,8 +30,8 @@ Close: 'Zapri' Back: 'Nazaj' Forward: 'Naprej' -Version $ is now available! Click for more details: 'Na voljo je različica $!·· ·· - Za več podrobnosti kliknite tukaj' +Version $ is now available! Click for more details: 'Na voljo je različica $!· Za + več podrobnosti kliknite tukaj' Download From Site: 'Prenesi iz spletne strani' A new blog is now available, $. Click to view more: 'Na voljo je nov članek, $. Kliknite tukaj, če ga želite prebrati' @@ -71,6 +71,7 @@ Search Filters: Fetching results. Please wait: 'Pridobivamo rezultate. Prosimo, počakajte' Fetch more results: 'Pridobi več rezultatov' # Sidebar + There are no more results for this search: Nič več rezultatov Subscriptions: # On Subscriptions Page Subscriptions: 'Naročnine' @@ -81,14 +82,21 @@ Subscriptions: 'Getting Subscriptions. Please wait.': 'Pridobivamo naročnine. Prosimo, počakajte.' Refresh Subscriptions: 'Osveži naročnine' This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Ta - profil ima veliko količino naročnin.·· ·· Da bi se izognili omejitvi hitrosti, - bo uporabljen RSS + profil ima veliko količino naročnin.· Da bi se izognili omejitvi hitrosti, bo + uporabljen RSS Load More Videos: Naloži več videoposnetkov Trending: 'Priljubljeno' Most Popular: 'Najbolj popularno' Playlists: 'Seznami predvajanja' User Playlists: Your Playlists: 'Vaši seznami predvajanja' + Playlist Message: Ta stran ne odraža stanja popolnoma delujočih seznamov predvajanja. + Na njej so prikazani zgolj videoposnetki, ki ste jih shranili ali označili kot + priljubljene. Ko bo delo končano, bodo ti videoposnetki preseljeni v Seznam priljubljenih + videoposnetkov. + Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Nimate + shranjenih videoposnetkov. Kliknite na gumb Shrani v kotu videoposnetka, da bo + ta dodan tukaj History: # On History Page History: 'Zgodovina' @@ -125,6 +133,7 @@ Settings: (prevzeta je https://invidious.snopyta.org)' Region for Trending: 'Regija za priljubljene videoposnetke' #! List countries + View all Invidious instance information: Prikaži vse podatke o Invidious domeni Theme Settings: Theme Settings: 'Nastavitve tem' Match Top Bar with Main Color: 'Uskladi zgornji trak z glavno barvo' @@ -185,6 +194,7 @@ Settings: 1440p: '1440p' 4k: '4k' 8k: '8k' + Playlist Next Video Interval: Razmik med videoposnetki v seznamu predvajanja Privacy Settings: Privacy Settings: 'Nastavitve zasebnosti' Remember History: 'Zapomni si zgodovino' @@ -199,8 +209,8 @@ Settings: Watch history has been cleared: 'Zgodovina gledanj je bila izbrisana' Remove All Subscriptions / Profiles: 'Izbriši vse naročnine/profile' Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Ste - prepričani, da želite izbrisati vse naročnine in profile?·· ·· Te odločitve - ni mogoče razveljaviti.' + prepričani, da želite izbrisati vse naročnine in profile?· Te odločitve ni + mogoče razveljaviti.' Subscription Settings: Subscription Settings: 'Nastavitve naročnin' Hide Videos on Watch: 'Skrij gledane videoposnetke' @@ -244,6 +254,7 @@ Settings: Unknown data key: 'Neznan podatkovni ključ' How do I import my subscriptions?: 'Kako lahko uvozim moje naročnine?' Check for Legacy Subscriptions: Poišči zapuščinske naročnine + Manage Subscriptions: Upravljaj z naročninami Advanced Settings: Advanced Settings: 'Napredne nastavitve' Enable Debug Mode (Prints data to the console): 'Vklopi razhroščevalni način (podatke @@ -280,9 +291,28 @@ Settings: Hide Channel Subscribers: Skrij število naročnikov Hide Video Views: Skrij število ogledov Distraction Free Settings: Brezmotenjske nastavitve + Hide Active Subscriptions: Skrij aktivne naročnine + Hide Playlists: Skrij sezname predvajanja The app needs to restart for changes to take effect. Restart and apply change?: Program se mora ponovno zagnati, preden bodo spremembe uveljavljene. Ga želite ponovno zagnati zdaj? + Proxy Settings: + Error getting network information. Is your proxy configured properly?: Prišlo + je do napake pri pridobivanju informacij o omrežju. Ali je vaš namestnik pravilno + nastavljen? + City: Mesto + Region: Regija + Country: Država + Ip: IP naslov + Your Info: Vaši podatki + Test Proxy: Preizkusi namestnik + Clicking on Test Proxy will send a request to: Ko kliknete na Preizkusi namestnik, + bo poizvedba poslana na + Proxy Port Number: Številka vrat namestnika + Proxy Settings: Nastavitve namestnika + Proxy Host: Gostitelj namestnika + Proxy Protocol: Protokol namestnika + Enable Tor / Proxy: Vklopi Tor/namestnik About: #On About page About: 'O programu' @@ -314,6 +344,31 @@ About: Latest FreeTube News: 'Najnovejše FreeTube novice' + Donate: Doniraj + these people and projects: teh ljudi in projektov + FreeTube is made possible by: FreeTube obstaja zaradi + Credits: Zahvale + Translate: Prevedi + room rules: sobna pravila + Please read the: Prosimo, preberite + Chat on Matrix: Klepetajte na Matrixu + Mastodon: Mastodon + Email: E-pošta + Blog: Blog + Website: Spletna stran + Please check for duplicates before posting: Prosimo, da pred pošiljanjem preverite, + da ni dvojnikov + GitHub issues: GitHub težave + Report a problem: Prijavi napako + FAQ: Pogosto zastavljena vprašanja + FreeTube Wiki: FreeTube wiki + Help: Pomoč + GitHub releases: Github izdaje + Downloads / Changelog: Prenosi in dnevnik sprememb + View License: Ogled licence + Licensed under the AGPLv3: Licencirano pod AGPLv3 + Source code: Izvirna koda + Beta: Beta Profile: Profile Select: 'Izberi profil' All Channels: 'Vsi kanali' @@ -350,12 +405,14 @@ Profile: No channel(s) have been selected: 'Označili niste nobenih kanalov' ? 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. - : 'To je vaš primarni profil.·· ·· Ste prepričani, da želite izbrisati označene - kanale?·· ·· Kanali bodo izbrisani v vseh profilih, kjer se nahajajo.' + : 'To je vaš primarni profil.· Ste prepričani, da želite izbrisati označene kanale?· Kanali + bodo izbrisani v vseh profilih, kjer se nahajajo.' Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: 'Ste - prepričani, da želite izbrisati označene kanale?·· ·· Kanali ne bodo izbrisani - iz drugih profilov.' + prepričani, da želite izbrisati označene kanale? + + · Kanali ne bodo izbrisani iz drugih profilov.' #On Channel Page + Profile Filter: Filter profilov Channel: Subscriber: 'Naročnik' Subscribers: 'Naročnikov' @@ -425,8 +482,9 @@ Video: Live chat is enabled. Chat messages will appear here once sent.: 'Pogovor v živo je vklopljen.' 'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': 'Pogovor - v živo trenutno ni podprt v Invidious APV.·· ·· Potrebna je neposredna povezava - z YouTube-om.' + v živo trenutno ni podprt v Invidious APV. + + · Potrebna je neposredna povezava z YouTubom.' Published: Jan: 'jan.' Feb: 'feb.' @@ -468,6 +526,16 @@ Video: audio only: Samo avdio video only: Samo video Download Video: Prenesi videoposnetek + Started streaming on: Pretok začet dne + Streamed on: Pretočeno dne + Copy Invidious Channel Link: Kopiraj povezavo Invidious kanala + Open Channel in Invidious: Odpri ta kanal v Invidiousu + Copy YouTube Channel Link: Kopiraj povezavo YouTube kanala + Open Channel in YouTube: Odpri ta kanal v YouTubu + Video has been removed from your saved list: Videoposnetek je bil odstranjen iz + seznama + Video has been saved: Videoposnetek je bil shranjen + Save Video: Shrani videoposnetek Videos: #& Sort By Sort By: @@ -514,6 +582,8 @@ Share: Invidious Embed URL copied to clipboard: 'Invidious vložek URL kopiran' YouTube URL copied to clipboard: 'YouTube URL kopiran' YouTube Embed URL copied to clipboard: 'YouTube vložek URL kopiran' + YouTube Channel URL copied to clipboard: URL YouTube kanala je bil kopiran + Invidious Channel URL copied to clipboard: URL Invidious kanala je bil kopiran Mini Player: 'Mini predvajalnik' Comments: Comments: 'Komentarji' @@ -554,8 +624,14 @@ Playing Previous Video: 'Predvaja se prejšnji videoposnetek' Playing next video in 5 seconds. Click to cancel: 'Naslednji videoposnetek čez 5 sekund. Kliknite za preklic.' Canceled next video autoplay: 'Samodejno predvajanje preklicano' -'The playlist has ended. Enable loop to continue playing': 'Seznama predvajanja je - konec. ·· ·· Vklopite ponovno predvajanje, če želite nadaljevati' +'The playlist has ended. Enable loop to continue playing': "Seznama predvajanja je\ + \ konec. \n· Vklopite ponovno predvajanje, če želite nadaljevati" Yes: 'Da' No: 'Ne' +More: Več +Tooltips: + General Settings: + Preferred API Backend: Izberite zaledje, ki ga FreeTube uporablja za pridobivanje + podatkov. Lokalni APV je vgrajeni . Invidious APV za delovanje potrebuje Invidious + strežnik. diff --git a/static/locales/sr.yaml b/static/locales/sr.yaml new file mode 100644 index 00000000..0003cb04 --- /dev/null +++ b/static/locales/sr.yaml @@ -0,0 +1,574 @@ +# Put the name of your locale in the same language +Locale Name: 'Француски' +FreeTube: 'FreeTube' +# Currently on Subscriptions, Playlists, and History +'This part of the app is not ready yet. Come back later when progress has been made.': >- + Овај део апликације још није спреман. Вратите се касније када буде постигнут напредак. + +# Webkit Menu Bar +File: 'Датотека' +Quit: 'Затвори' +Edit: 'Промени' +Undo: 'Поништи' +Redo: 'Обнови' +Cut: 'Исеци' +Copy: 'Копирај' +Paste: 'Прилепи' +Delete: 'Избриши' +Select all: 'Све одабрати' +Reload: 'Освежи' +Force Reload: 'Натерај освежавање' +Toggle Developer Tools: 'Укључите/искључите алате за програмере' +Actual size: 'Тренутна величина' +Zoom in: 'Повећај' +Zoom out: 'Смањи' +Toggle fullscreen: 'Цео екран' +Window: 'Прозор' +Minimize: 'Минимизуј' +Close: 'Затвори' +Back: 'Назад' +Forward: 'Напред' + +Version $ is now available! Click for more details: 'Верзија $ је сада достуна! Кликните + за више детаља' +Download From Site: 'Преузми са сајта' +A new blog is now available, $. Click to view more: 'Нови блог је сада доступан, $. + Кликни за приказ више' + +# Search Bar +Search / Go to URL: 'Претражи / иди на УРЛ' + # In Filter Button +Search Filters: + Search Filters: 'Филтери претраге' + Sort By: + Sort By: 'Среди по' + Most Relevant: 'Најрелевантније' + Rating: 'Оцена' + Upload Date: 'Датум отпремања' + View Count: 'Број прегледа' + Time: + Time: 'Датум' + Any Time: 'Све' + Last Hour: 'Последњи сат' + Today: 'Данас' + This Week: 'Ове недеље' + This Month: 'Овај месец' + This Year: 'Ова година' + Type: + Type: 'Тип' + All Types: 'Сва' + Videos: 'Видео' + Channels: 'Канали' + #& Playlists + Duration: + Duration: 'Трајање' + All Durations: 'Све' + Short (< 4 minutes): 'Кратко (< 4 минута)' + Long (> 20 minutes): 'Дугачко (> 20 минута)' + # On Search Page + Search Results: 'Резултати претраге' + Fetching results. Please wait: 'Примање резултата. Сачекајте' + Fetch more results: 'Покажи још резултата' + There are no more results for this search: 'Нема више резултата за ову претрагу' +# Sidebar +Subscriptions: + # On Subscriptions Page + Subscriptions: 'Праћења' + Latest Subscriptions: 'Задња праћења' + This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: 'Овај + профил има велики број праћења. Присиљавање RSS-а да се избегне ограничење' + 'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'Ваша + листа прећења је тренутно празна. Почните да додајете прећење да бисте их видели + овде.' + 'Getting Subscriptions. Please wait.': 'Примање праћења. Сачекајте.' + Refresh Subscriptions: 'Освежи праћења' + Load More Videos: 'Учитај више видео записа' +More: 'Још' +Trending: 'Тренда' +Most Popular: 'Нај популарније' +Playlists: 'Плејлисте' +User Playlists: + Your Playlists: 'Ваше плејлисте' + Playlist Message: 'Ова страница се не одражава у потпуности радне плејлисте. Она + само приказује видео записе које сте сачували или фаворизирали. Када је посао + завршио, сви видео записи одавде ће се преместити на плејлисту "Омиљени".' + Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: 'Нисте + сачували ни један видео. Кликни на дугме Сачувај на углу видео записа да бисте + је овде навели' +History: + # On History Page + History: 'Историја' + Watch History: 'Види историју' + Your history list is currently empty.: 'Ваша историја је празна.' +Settings: + # On Settings Page + Settings: 'Подешавања' + The app needs to restart for changes to take effect. Restart and apply change?: 'Апликација + треба да се поново покрене како би промене ступиле на снагу. Поново покрените + и примените промене?' + General Settings: + General Settings: 'Општа подешавања' + Check for Updates: 'Провери ажурирања' + Check for Latest Blog Posts: 'Провери најновије поруке блога' + Fallback to Non-Preferred Backend on Failure: 'Повратак на неомиљени Backend на + неуспех' + Enable Search Suggestions: 'Покажи предлоге за претрагу' + Default Landing Page: 'Подразумевана почетна страница' + Locale Preference: 'Локална преференција' + Preferred API Backend: + Preferred API Backend: 'Омиљени API Backend' + Local API: 'Локални API' + Invidious API: 'Invidious API' + Video View Type: + Video View Type: 'Тип приказа видеа' + Grid: 'Решетка' + List: 'Листа' + Thumbnail Preference: + Thumbnail Preference: 'Преференције сличице' + Default: 'Подразумевано' + Beginning: 'Почетак' + Middle: 'Средина' + End: 'Крај' + 'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious инстанца + (Подразумевано је https://invidious.snopyta.org)' + View all Invidious instance information: 'Погледајте информације свих Invidious + инстанце' + Region for Trending: 'Регион за тренд' + #! List countries + Theme Settings: + Theme Settings: 'Подешавања теме' + Match Top Bar with Main Color: 'Усклади горњу траку са главном бојом' + Expand Side Bar by Default: 'Подразумевано прошири бочну траку' + Disable Smooth Scrolling: 'Онемогући глатко померање' + UI Scale: 'UI скала' + Base Theme: + Base Theme: 'Основна тема' + Black: 'Црна' + Dark: 'Тамна' + Light: 'Светла' + Main Color Theme: + Main Color Theme: 'Главна боја теме' + Red: 'Црвено' + Pink: 'Розе' + Purple: 'Љубичасто' + Deep Purple: 'Тамно љубичасто' + Indigo: 'Индиго' + Blue: 'Плаво' + Light Blue: 'Светло плаво' + Cyan: 'Цијан' + Teal: 'Teal' + Green: 'Зелено' + Light Green: 'Светло зелено' + Lime: 'Лимун зелено' + Yellow: 'Жуто' + Amber: 'Амбер' + Orange: 'Наранђасто' + Deep Orange: 'Тамно нарађасто' + Secondary Color Theme: 'Секундарна боја теме' + #* Main Color Theme + Player Settings: + Player Settings: 'Подешавања плејера' + Force Local Backend for Legacy Formats: 'форсирај локални Backend за Legacy формате' + Play Next Video: 'Пусти следећи видео' + Turn on Subtitles by Default: 'Подразумевано упали титлове' + Autoplay Videos: 'Ауто-пусти видео' + Proxy Videos Through Invidious: 'Прокси видео преко Invidious' + Autoplay Playlists: 'Ауто-пусти плејлисте' + Enable Theatre Mode by Default: 'Подразумевано активирај театар мод' + Playlist Next Video Interval: 'Интервал следећег видеа из плејлисте' + Default Volume: 'Подразумевана јачина' + Default Playback Rate: 'Подразумевана брзина репродукције' + Default Video Format: + Default Video Format: 'Подразумеван формат видеа' + Dash Formats: 'Dash формати' + Legacy Formats: 'Legacy формати' + Audio Formats: 'Аудио формати' + Default Quality: + Default Quality: 'Подразумеван квалитет' + Auto: 'Ауто' + 144p: '144p' + 240p: '240p' + 360p: '360p' + 480p: '480p' + 720p: '720p' + 1080p: '1080p' + 1440p: '1440p' + 4k: '4k' + 8k: '8k' + Privacy Settings: + Privacy Settings: 'Подешавања приватности' + Remember History: 'Запамти историју' + Save Watched Progress: 'Сачувај напредак видеа' + Clear Search Cache: 'Испразни кеш претраге' + Are you sure you want to clear out your search cache?: 'Јесте ли сигурни да желите + да очистите кеш претраге?' + Search cache has been cleared: 'Кеш претраживања је обрисано' + Remove Watch History: 'Избриши историју гледања' + Are you sure you want to remove your entire watch history?: 'Сигурно желите да + избришете целу историју гледања?' + Watch history has been cleared: 'Историја је избрисана' + Remove All Subscriptions / Profiles: 'Обриши сва праћења/профили' + Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Да + ли сте сигурни да желите уклонити сва праћења и профиле? Ово се не може поништити.' + Subscription Settings: + Subscription Settings: 'Подешавања праћења' + Hide Videos on Watch: 'Сакриј одгледани видео записи' + Fetch Feeds from RSS: 'Дохват RSS-а' + Manage Subscriptions: 'Управљај ста пратиш' + Distraction Free Settings: + Distraction Free Settings: 'Подешавања дистракције' + Hide Video Views: 'Сакриј број приказа видеа' + Hide Video Likes And Dislikes: 'Сакриј видео лајкове' + Hide Channel Subscribers: 'Сакриј број праћења канала' + Hide Comment Likes: 'Сакриј лајковање из коментара' + Hide Recommended Videos: 'Сакриј препоручене видее' + Hide Trending Videos: 'Сакриј видее у тренду' + Hide Popular Videos: 'Сакриј популарне видее' + Hide Playlists: 'Сакриј плејлисте' + Hide Live Chat: 'Сакриј уживо ћаскање' + Hide Active Subscriptions: 'Сакриј активна праћења' + Data Settings: + Data Settings: 'Подешавања података' + Select Import Type: 'Одабери тип увоза' + Select Export Type: 'Одабери тип извоза' + Import Subscriptions: 'Увоз праћења' + Import FreeTube: 'Увоз FreeTube' + Import YouTube: 'Увоз YouTube' + Import NewPipe: 'Увоз NewPipe' + Check for Legacy Subscriptions: 'Провери да ли постоје стара праћања' + Export Subscriptions: 'Извоз праћања' + Export FreeTube: 'Извоз FreeTube' + Export YouTube: 'Извоз YouTube' + Export NewPipe: 'Извоз NewPipe' + Import History: 'Увоз историје' + Export History: 'Извоз историје' + Profile object has insufficient data, skipping item: 'Објект профила нема довољно + података, прескакање' + All subscriptions and profiles have been successfully imported: 'Сва праћања и + профили су успешно увезени' + All subscriptions have been successfully imported: 'Сва праћања су успешно увезене' + One or more subscriptions were unable to be imported: 'Увоз једне или више праћења + није успео' + Invalid subscriptions file: 'Датотека праћења није добра' + This might take a while, please wait: 'Ово би могло потрајати неко време, молим + вас причекајте' + Invalid history file: 'Неважећа датотека историје' + Subscriptions have been successfully exported: 'Праћења су успешно извезени' + History object has insufficient data, skipping item: 'Објект историје нема довољно + података, прескакање' + All watched history has been successfully imported: 'Цела историја гледања је + успешно увезена' + All watched history has been successfully exported: 'Цела историја гледања је + успешно извезена' + Unable to read file: 'Није могуће читати датотеку' + Unable to write file: 'Није могуће писати датотеку' + Unknown data key: 'Непознат кључ података' + How do I import my subscriptions?: 'Како унети моја праћања?' + Manage Subscriptions: 'Управљај праћањима' + Proxy Settings: + Proxy Settings: 'Подешавања проксија' + Enable Tor / Proxy: 'Активирај Tor/Прокси' + Proxy Protocol: 'Протокол проксија' + Proxy Host: 'Хост проксија' + Proxy Port Number: 'Порт за прокси' + Clicking on Test Proxy will send a request to: 'Клик на „Пробај Прокси“ послаће + захтев на' + Test Proxy: 'Пробај Прокси' + Your Info: 'Ваше информације' + Ip: 'IP' + Country: 'Земља' + Region: 'Регион' + City: 'Град' + Error getting network information. Is your proxy configured properly?: 'Грешка + у добијању информација о мрежи. Да ли је ваш проки правилно подешен?' +About: + #On About page + About: 'О програму' + Beta: 'Бета' + Source code: 'Изворни код' + Licensed under the AGPLv3: 'Лиценциран под AGPLv3' + View License: 'Види лиценцу' + Downloads / Changelog: 'Преузимања/Листа промена' + GitHub releases: 'Доступна издања на GitHub' + Help: 'Помоћ' + FreeTube Wiki: 'Wiki од FreeTube-а' + FAQ: 'FAQ' + Report a problem: 'Пријави проблем' + GitHub issues: 'Проблеми које је заједничка идентификовала на GitHub' + Please check for duplicates before posting: 'Молимо проверите дупликате пре објављивања' + Website: 'Вебсајт' + Blog: 'Блог' + Email: 'Е-пошта' + Mastodon: 'Mastodon' + Chat on Matrix: 'Ћаскање на Matrix' + Please read the: 'Прочитајте' + room rules: 'правила собе' + Translate: 'Превод' + Credits: 'Призњања' + FreeTube is made possible by: 'FreeTube је омогућено од' + these people and projects: 'ови људи и пројекти' + Donate: 'Донација' + +Profile: + Profile Select: 'Одабир профила' + Profile Filter: 'Филтер профила' + All Channels: 'Сви канали' + Profile Manager: 'Менаџер профила' + Create New Profile: 'Креирај нови профил' + Edit Profile: 'Уреди профил' + Color Picker: 'Селектор боја' + Custom Color: 'Прилагођена боја' + Profile Preview: 'Преглед профила' + Create Profile: 'Креирај профил' + Update Profile: 'Ажурирај профил' + Make Default Profile: 'Креирај подразумевани профил' + Delete Profile: 'Избриши профил' + Are you sure you want to delete this profile?: 'Сигурно желите да избришете овај + профил?' + All subscriptions will also be deleted.: 'Сва праћања ће такође бити избрисани.' + Profile could not be found: 'Профил не може да се нађе' + Your profile name cannot be empty: 'Име профила не може да буде празно' + Profile has been created: 'Профил је креиран' + Profile has been updated: 'Профил је ажуриран' + Your default profile has been set to $: 'Ваш подразумеван профил је постављен на + $' + Removed $ from your profiles: 'Уклоњено $ од ваших профила' + Your default profile has been changed to your primary profile: 'Ваш подразумевани + профил је промењен на ваш примарни профил' + $ is now the active profile: '$ је сада активан профил' + Subscription List: 'Листа праћања' + Other Channels: 'Остали канали' + $ selected: '$ одабрано' + Select All: 'Све одабрати' + Select None: 'Скини одабирање' + Delete 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 + 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.: 'Јесте + ли сигурни да желите да избришете одабране канале? Ово неће избрисати канал из + било којег другог профила.' +#On Channel Page +Channel: + Subscriber: 'Пратилац' + Subscribers: 'Пратиоци' + Subscribe: 'Прати' + Unsubscribe: 'Не прати више' + Channel has been removed from your subscriptions: 'Канал је уклоњен из праћања' + Removed subscription from $ other channel(s): 'Праћење уклоњен из $ остала канала' + Added channel to your subscriptions: 'Канал додат у прећења' + Search Channel: 'Тражи канал' + Your search results have returned 0 results: 'Резултати претраге вратили су 0 резултата' + Sort By: 'Среди по' + Videos: + Videos: 'Видео' + This channel does not currently have any videos: 'Овај канал тренутно нема видео' + Sort Types: + Newest: 'Најновије' + Oldest: 'Нај старије' + Most Popular: 'Нај популарније' + Playlists: + Playlists: 'Плејлиста' + This channel does not currently have any playlists: 'Овај канал тренутно нема + ни једну плејлисту' + Sort Types: + Last Video Added: 'Задњи додат видео' + Newest: 'Нај новије' + Oldest: 'Нај старије' + About: + About: 'О...' + Channel Description: 'Опис канала' + Featured Channels: 'Истакнути канали' +Video: + Mark As Watched: 'Означи као погледано' + Remove From History: 'Уклони из историје' + Video has been marked as watched: 'Видео је постављен као гледан' + Video has been removed from your history: 'Видео је уклоњеј из историје' + Save Video: 'Сачувај видео' + Video has been saved: 'Видео је сачуван' + Video has been removed from your saved list: 'Видео је уклоњен из сачуване листе' + Open in YouTube: 'Отвори у YouTube' + Copy YouTube Link: 'Копирај YouTube везу' + Open YouTube Embedded Player: 'Отвори у Youtube-NoCookie' + Copy YouTube Embedded Player Link: 'Копирај Youtube-NoCookie везу' + Open in Invidious: 'Отвори у Invidious' + Copy Invidious Link: 'Копирај Invidious везу' + Open Channel in YouTube: 'Отвори канал у YouTube' + Copy YouTube Channel Link: 'Копирај везу YouTube канала' + Open Channel in Invidious: 'Отвори канал у Invidious' + Copy Invidious Channel Link: 'Копирај везу Invidious канала' + View: 'Прегледа' + Views: 'Прегледа' + Loop Playlist: 'Безкрајна плејлиста' + Shuffle Playlist: 'Промешај плејлисту' + Reverse Playlist: 'Обрни плејлисту' + Play Next Video: 'Пусти следећи видео' + Play Previous Video: 'Пусти претходни видео' + # Context is "X People Watching" + Watching: 'Гледа се' + Watched: 'Одгледано' + Autoplay: 'Аутоматско покретање' + Starting soon, please refresh the page to check again: 'Ускоро почиње, освежите + страницу да бисте поново проверили' + # As in a Live Video + Live: 'Директно' + Live Now: 'Директно сада' + Live Chat: 'Директно ћаскање' + Enable Live Chat: 'Упали директно ћаскање' + Live Chat is currently not supported in this build.: 'Директно ћаскање тренутно + није подржан у овој изградњи.' + 'Chat is disabled or the Live Stream has ended.': 'Ћаскање је угашено или директан + пренос је завршен.' + Live chat is enabled. Chat messages will appear here once sent.: '' + 'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': '' + Download Video: '' + video only: '' + audio only: '' + Audio: + Low: '' + Medium: '' + High: '' + Best: '' + Published: + Jan: '' + Feb: '' + Mar: '' + Apr: '' + May: '' + Jun: '' + Jul: '' + Aug: '' + Sep: '' + Oct: '' + Nov: '' + Dec: '' + Second: '' + Seconds: '' + Minute: '' + Minutes: '' + Hour: '' + Hours: '' + Day: '' + Days: '' + Week: '' + Weeks: '' + Month: '' + Months: '' + Year: '' + Years: '' + Ago: '' + Upcoming: '' + Published on: '' + Streamed on: '' + Started streaming on: '' + # $ is replaced with the number and % with the unit (days, hours, minutes...) + Publicationtemplate: '' +#& Videos +Videos: + #& Sort By + Sort By: + Newest: '' + Oldest: '' + #& Most Popular +#& Playlists +Playlist: + #& About + View Full Playlist: '' + Videos: '' + View: '' + Views: '' + Last Updated On: '' + Share Playlist: + Share Playlist: '' + Copy YouTube Link: '' + Open in YouTube: '' + Copy Invidious Link: '' + Open in Invidious: '' + +# On Video Watch Page +#* Published +#& Views +Toggle Theatre Mode: '' +Change Format: + Change Video Formats: '' + Use Dash Formats: '' + Use Legacy Formats: '' + Use Audio Formats: '' + Dash formats are not available for this video: '' + Audio formats are not available for this video: '' +Share: + Share Video: '' + Include Timestamp: '' + Copy Link: '' + Open Link: '' + Copy Embed: '' + Open Embed: '' + # On Click + Invidious URL copied to clipboard: '' + Invidious Embed URL copied to clipboard: '' + Invidious Channel URL copied to clipboard: '' + YouTube URL copied to clipboard: '' + YouTube Embed URL copied to clipboard: '' + YouTube Channel URL copied to clipboard: '' + +Mini Player: '' +Comments: + Comments: '' + Click to View Comments: '' + Getting comment replies, please wait: '' + There are no more comments for this video: '' + Show Comments: '' + Hide Comments: '' + Sort by: '' + Top comments: '' + Newest first: '' + # Context: View 10 Replies, View 1 Reply + View: '' + Hide: '' + Replies: '' + Reply: '' + There are no comments available for this video: '' + Load More Comments: '' + No more comments available: '' +Up Next: '' + +#Tooltips +Tooltips: + General Settings: + Preferred API Backend: '' + Fallback to Non-Preferred Backend on Failure: '' + Thumbnail Preference: '' + Invidious Instance: '' + Region for Trending: '' + Player Settings: + Force Local Backend for Legacy Formats: '' + Proxy Videos Through Invidious: '' + Default Video Format: '' + Subscription Settings: + Fetch Feeds from RSS: 'Када је омогућено, FreeTube ће користити РСС уместо свог + подразумеваног метода за прикупљање вашег праћења. РСС је бржи и спречава блокирање + ИП-а, али не пружа одређене информације попут трајања видеа или статуса уживо' + +# Toast Messages +Local API Error (Click to copy): '' +Invidious API Error (Click to copy): '' +Falling back to Invidious API: '' +Falling back to the local API: '' +This video is unavailable because of missing formats. This can happen due to country unavailability.: '' +Subscriptions have not yet been implemented: 'Праћења још увек нису примењени' +Loop is now disabled: '' +Loop is now enabled: '' +Shuffle is now disabled: '' +Shuffle is now enabled: '' +The playlist has been reversed: '' +Playing Next Video: '' +Playing Previous Video: '' +Playing Next Video Interval: '' +Canceled next video autoplay: '' +'The playlist has ended. Enable loop to continue playing': '' + +Yes: '' +No: '' diff --git a/static/locales/sv.yaml b/static/locales/sv.yaml index 937a9ffa..8879fa7d 100644 --- a/static/locales/sv.yaml +++ b/static/locales/sv.yaml @@ -70,6 +70,8 @@ Search Filters: Fetching results. Please wait: 'Hämtar resultat. Snälla vänta' Fetch more results: 'Hämta fler resultat' # Sidebar + There are no more results for this search: Det finns inte fler resultat för den + här sökningen Subscriptions: # On Subscriptions Page Subscriptions: 'Prenumerationer' @@ -342,7 +344,7 @@ About: Mastodon: Mastodon Email: E-post Blog: Blogg - Website: Webbsida + Website: Webbplats Please check for duplicates before posting: Vänligen kontrollera om dubbletter innan du postar GitHub issues: GitHub-problem diff --git a/static/locales/tr.yaml b/static/locales/tr.yaml index ff7a23c0..3090f6ba 100644 --- a/static/locales/tr.yaml +++ b/static/locales/tr.yaml @@ -206,6 +206,8 @@ Settings: Remove All Subscriptions / Profiles: 'Tüm Abonelikler/Profilleri Temizle' Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Tüm abonelikler/profilleri temizlemek istediğinizden emin misiniz? Geri alınamaz.' + Automatically Remove Video Meta Files: Video Meta Dosyalarını Otomatik Olarak + Kaldır Subscription Settings: Subscription Settings: 'Abonelik Ayarları' Hide Videos on Watch: 'İzlenmiş Videoları Gizle' @@ -661,6 +663,9 @@ Tooltips: Region for Trending: Trendlerin bölgesi, hangi ülkenin trend videolarını görüntülemek istediğinizi seçmenize olanak tanır. Görüntülenen ülkelerden bazıları YouTube tarafından desteklenmemektedir + Privacy Settings: + Remove Video Meta Files: Etkinleştirildiğinde, izleme sayfası kapatıldığında video + oynatma sırasında oluşturulan meta dosyaları otomatik olarak silinir. Playing Next Video Interval: Sonraki video hemen oynatılıyor. İptal etmek için tıklayın. | Sonraki video {nextVideoInterval} saniye içinde oynatılıyor. İptal etmek için tıklayın. | Sonraki video {nextVideoInterval} saniye içinde oynatılıyor. İptal etmek diff --git a/static/locales/uk.yaml b/static/locales/uk.yaml index 84f44844..511b36c1 100644 --- a/static/locales/uk.yaml +++ b/static/locales/uk.yaml @@ -211,6 +211,7 @@ Settings: Remove All Subscriptions / Profiles: 'Видалити всі підписки / профілі' Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Справді хочете вилучити всі підписки та профілі? Цю дію не можна скасувати.' + Automatically Remove Video Meta Files: Автоматично вилучати метафайли відео Subscription Settings: Subscription Settings: 'Налаштування підписки' Hide Videos on Watch: 'Ховати відео при перегляді' @@ -617,6 +618,9 @@ Tooltips: ІР, але не надає дані, як-от тривалість відео або стан трансляції' # Toast Messages + Privacy Settings: + Remove Video Meta Files: Якщо увімкнено, FreeTube автоматично видаляє метафайли, + створені під час відтворення відео, коли сторінку перегляду закрито. Local API Error (Click to copy): 'Помилка локального API (натисніть, щоб скопіювати)' Invidious API Error (Click to copy): 'Помилка Invidious API (натисніть, щоб скопіювати)' Falling back to Invidious API: 'Повернення до API Invidious' diff --git a/static/locales/zh-CN.yaml b/static/locales/zh-CN.yaml index 3770f8a3..62529036 100644 --- a/static/locales/zh-CN.yaml +++ b/static/locales/zh-CN.yaml @@ -175,6 +175,7 @@ Settings: 1440p: '1440p' 4k: '4k' 8k: '8k' + Playlist Next Video Interval: 播放列表 下一个影片时间间隔 Subscription Settings: Subscription Settings: '订阅设置' Hide Videos on Watch: '观看时隐藏视频' @@ -222,6 +223,7 @@ Settings: Clear Search Cache: 清除搜索缓存 Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 您确定您想移除所有订阅和配置文件吗?这无法撤销。 Remove All Subscriptions / Profiles: 移除所有订阅 / 配置文件 + Automatically Remove Video Meta Files: 自动删除硬盘元数据文件 Data Settings: Subscriptions have been successfully exported: 订阅已成功导出 This might take a while, please wait: 这可能需要一段时间,请稍候 @@ -264,6 +266,7 @@ Settings: Hide Video Views: 隐藏视频观看数量 Distraction Free Settings: 零打扰设置 Hide Active Subscriptions: 隐藏活跃的订阅 + Hide Playlists: 隐藏播放列表 The app needs to restart for changes to take effect. Restart and apply change?: 应用需要重启让修改生效。重启以应用修改? Proxy Settings: Proxy Protocol: 代理协议 @@ -278,6 +281,7 @@ Settings: Test Proxy: 测试代理 Clicking on Test Proxy will send a request to: 点击测试代理将会发送一个请求给 Proxy Port Number: 代理端口号 + Proxy Host: 代理主机 About: #On About page About: '关于' @@ -305,6 +309,21 @@ About: #On Channel Page Source code: 源代码 Beta: 测试版 + Website: 网站 + Blog: 博客 + Email: 电子邮件 + Donate: 捐款 + Credits: 贡献者 + Translate: 翻译 + Please read the: 请阅读 + Chat on Matrix: 在 Matrix 上聊天 + Mastodon: Mastodon + FAQ: 常见问题 + FreeTube Wiki: FreeTube维基 + Help: 说明 + GitHub releases: GitHub 版本 + View License: 查看授权 + Licensed under the AGPLv3: 以 AGPLv3 协议授权 Channel: Subscriber: '订阅者' Subscribers: '订阅者' @@ -414,6 +433,9 @@ Video: Open Channel in YouTube: 在YouTube打开频道 Started streaming on: 开始在线直播于 Streamed on: 在线直播于 + Video has been removed from your saved list: 视频已从你的播放列表移除 + Video has been saved: 视频已保存 + Save Video: 保存视频到播放列表 Videos: #& Sort By Sort By: diff --git a/static/locales/zh-TW.yaml b/static/locales/zh-TW.yaml index cf43977b..17dfc93c 100644 --- a/static/locales/zh-TW.yaml +++ b/static/locales/zh-TW.yaml @@ -121,9 +121,9 @@ Settings: Match Top Bar with Main Color: '頂部功能表欄對應主色彩' Base Theme: Base Theme: '基本主題' - Black: '黑' - Dark: '深' - Light: '淺' + Black: '黑色' + Dark: '深色' + Light: '淺色' Main Color Theme: Main Color Theme: '主題色' Red: '紅' @@ -161,7 +161,7 @@ Settings: Default Playback Rate: '預設播放速度' Default Video Format: Default Video Format: '預設影片格式' - Dash Formats: 'Dash格式' + Dash Formats: '儀錶盤格式' Legacy Formats: '傳統格式' Audio Formats: '音訊格式' Default Quality: @@ -224,6 +224,7 @@ Settings: Privacy Settings: 隱私設定 Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 您確定要移除所有訂閱與設定檔嗎嗎? 注意:這無法復原。 Remove All Subscriptions / Profiles: 移除所有訂閱/設定檔 + Automatically Remove Video Meta Files: 自動刪除影片元檔案 Data Settings: How do I import my subscriptions?: 我要如何匯入我的訂閱? Unknown data key: 未知的資料金鑰 @@ -479,11 +480,11 @@ Playlist: Toggle Theatre Mode: '切換為劇院模式' Change Format: Change Video Formats: '變更影片格式' - Use Dash Formats: '使用Dash格式' + Use Dash Formats: '使用儀錶盤格式' Use Legacy Formats: '使用傳統格式' Use Audio Formats: '使用音訊格式' Audio formats are not available for this video: 這個影片沒有音訊格式 - Dash formats are not available for this video: 這個影片沒有Dash格式 + Dash formats are not available for this video: 這個影片沒有儀錶盤格式 Share: Share Video: '分享影片' Copy Link: '複製連結' @@ -584,7 +585,7 @@ Tooltips: Subscription Settings: Fetch Feeds from RSS: 啟用後,FreeTube將使用RSS代替它的預設方法來抓取您的訂閱來源。RSS的速度較快,而且可以防止IP封鎖,但它可能不會提供某些資訊,例如影片長度或是直播狀態。 Player Settings: - Default Video Format: 設定要用於影片播放的格式。Dash格式有更高的品質。傳統格式會限制在 720p但頻寬需求更低。音訊格式為僅有音訊的串流 + Default Video Format: 設定要用於影片播放的格式。儀錶盤格式有更高的畫質。傳統格式會限制在 720p 但頻寬需求更低。音訊格式為僅有音訊的串流 Proxy Videos Through Invidious: 將連線到 Invidious而非直接連線到 YouTube 來提供影片。覆寫 API 偏好 Force Local Backend for Legacy Formats: 僅當 Invidious API是您預設 API 時才有效。啟用後,區域 API 將會執行並使用由其回傳的的傳統格式,而非 Invidious 回傳的格式。對因為國家地區限制而無法播放 Invidious回傳的影片時有幫助 @@ -596,6 +597,8 @@ Tooltips: Preferred API Backend: 選擇 FreeTube 要用於取得YouTube資料的伺服器。本地 API 是內建擷取器。Invidious API 需要 Invidious 伺服器才能連線。 Region for Trending: 發燒影片區域可以讓您選擇想要顯示哪個國家的發燒影片。 注意:並非所有國家都被YouTube支援 + Privacy Settings: + Remove Video Meta Files: 如果啟用,FreeTube會在關閉觀看頁面時,自動刪除影片播放過程中建立的暫存檔案。 Playing Next Video Interval: 馬上播放下一個影片。點擊取消。| 播放下一個影片的時間為{nextVideoInterval}秒。點擊取消。| 播放下一個影片的時間為{nextVideoInterval}秒。點擊取消。 More: 更多