Merge branch 'development'

This commit is contained in:
Preston 2021-05-17 16:30:27 -04:00
commit 70ff00c00d
98 changed files with 8383 additions and 3028 deletions

View File

@ -11,7 +11,7 @@ jobs:
build: build:
strategy: strategy:
matrix: matrix:
node-version: [12.x] node-version: [14.x]
runtime: [ linux-x64, linux-arm64, win-x64, osx-x64 ] runtime: [ linux-x64, linux-arm64, win-x64, osx-x64 ]
include: include:
- runtime: linux-x64 - runtime: linux-x64

50
.github/workflows/report.yml vendored Normal file
View File

@ -0,0 +1,50 @@
# This is a basic workflow to help you get started with Actions
name: Project Board Automation
on:
issues:
types: [labeled, unlabeled, closed, deleted]
jobs:
assign-issues-to-projects:
runs-on: ubuntu-latest
steps:
# For bug reports
- name: New bug issue
uses: alex-page/github-project-automation-plus@v0.5.1
if: github.event.action == 'labeled' && contains(github.event.issue.labels.*.name, 'bug')
with:
project: Bug Reports
column: To assign
repo-token: ${{ secrets.PUSH_TOKEN }}
action: update
- name: Bug label removed
uses: alex-page/github-project-automation-plus@v0.5.1
if: github.event.action == 'unlabeled' || github.event.action == 'closed' || github.event.action == 'deleted'
with:
action: delete
project: Bug Reports
column: To assign
repo-token: ${{ secrets.PUSH_TOKEN }}
# For feature requests
- name: New feature issue
uses: alex-page/github-project-automation-plus@v0.5.1
if: github.event.action == 'labeled' && contains(github.event.issue.labels.*.name, 'enhancement')
with:
project: Feature Requests
column: To assign
repo-token: ${{ secrets.PUSH_TOKEN }}
action: update
- name: Feature request label removed
uses: alex-page/github-project-automation-plus@v0.5.1
if: github.event.action == 'unlabeled' || github.event.action == 'closed' || github.event.action == 'deleted'
with:
action: delete
project: Feature Requests
column: To assign
repo-token: ${{ secrets.PUSH_TOKEN }}

View File

@ -20,7 +20,7 @@ if (platform == 'darwin') {
arch = Arch.arm64 arch = Arch.arm64
} }
if (args[3] === 'arm32') { if (args[2] === 'arm32') {
arch = Arch.armv7l arch = Arch.armv7l
} }
@ -69,6 +69,19 @@ const config = {
icon: '_icons/icon.svg', icon: '_icons/icon.svg',
target: ['deb', 'zip', 'apk', 'rpm', 'AppImage', 'pacman'], target: ['deb', 'zip', 'apk', 'rpm', 'AppImage', 'pacman'],
}, },
deb: {
depends: [
"libgtk-3-0",
"libnotify4",
"libnss3",
"libxss1",
"libxtst6",
"xdg-utils",
"libatspi2.0-0",
"libuuid1",
"libsecret-1-0"
]
},
mac: { mac: {
category: 'public.app-category.utilities', category: 'public.app-category.utilities',
icon: '_icons/iconMac.icns', icon: '_icons/iconMac.icns',

3337
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -8,105 +8,104 @@
"url": "https://github.com/FreeTubeApp/FreeTube/issues" "url": "https://github.com/FreeTubeApp/FreeTube/issues"
}, },
"dependencies": { "dependencies": {
"@electron/remote": "^1.0.4", "@electron/remote": "^1.1.0",
"@fortawesome/fontawesome-svg-core": "^1.2.34", "@fortawesome/fontawesome-svg-core": "^1.2.35",
"@fortawesome/free-brands-svg-icons": "^5.15.2", "@fortawesome/free-brands-svg-icons": "^5.15.3",
"@fortawesome/free-solid-svg-icons": "^5.15.2", "@fortawesome/free-solid-svg-icons": "^5.15.3",
"@fortawesome/vue-fontawesome": "^2.0.2", "@fortawesome/vue-fontawesome": "^2.0.2",
"@silvermine/videojs-quality-selector": "^1.2.4", "@silvermine/videojs-quality-selector": "^1.2.5",
"autolinker": "^3.14.2", "autolinker": "^3.14.3",
"bulma-pro": "^0.2.0", "bulma-pro": "^0.2.0",
"dateformat": "^4.5.1", "dateformat": "^4.5.1",
"electron-context-menu": "^2.5.0", "electron-context-menu": "^3.0.0",
"http-proxy-agent": "^4.0.1", "http-proxy-agent": "^4.0.1",
"https-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0",
"jquery": "^3.6.0", "jquery": "^3.6.0",
"js-yaml": "^4.0.0", "js-yaml": "^4.1.0",
"lodash.debounce": "^4.0.8", "lodash.debounce": "^4.0.8",
"lodash.isequal": "^4.5.0", "lodash.isequal": "^4.5.0",
"lodash.uniqwith": "^4.5.0", "lodash.uniqwith": "^4.5.0",
"markdown": "^0.5.0", "markdown": "^0.5.0",
"material-design-icons": "^3.0.1", "material-design-icons": "^3.0.1",
"nedb": "^1.8.0", "nedb": "^1.8.0",
"node-forge": "^0.10.0",
"opml-to-json": "^1.0.1", "opml-to-json": "^1.0.1",
"rss-parser": "^3.12.0", "rss-parser": "^3.12.0",
"socks-proxy-agent": "^5.0.0", "socks-proxy-agent": "^5.0.0",
"video.js": "7.10.2", "video.js": "^7.10.2",
"videojs-abloop": "^1.2.0", "videojs-abloop": "^1.2.0",
"videojs-contrib-quality-levels": "^2.0.9", "videojs-contrib-quality-levels": "^2.1.0",
"videojs-http-source-selector": "^1.1.6", "videojs-http-source-selector": "^1.1.6",
"videojs-overlay": "^2.1.4", "videojs-overlay": "^2.1.4",
"videojs-replay": "^1.1.0", "videojs-replay": "^1.1.0",
"videojs-vtt-thumbnails-freetube": "0.0.15", "videojs-vtt-thumbnails-freetube": "0.0.15",
"vue": "^2.6.12", "vue": "^2.6.12",
"vue-electron": "^1.0.6", "vue-electron": "^1.0.6",
"vue-i18n": "^8.23.0", "vue-i18n": "^8.24.4",
"vue-observe-visibility": "^1.0.0", "vue-observe-visibility": "^1.0.0",
"vue-router": "^3.5.1", "vue-router": "^3.5.1",
"vuex": "^3.6.2", "vuex": "^3.6.2",
"xml2json": "^0.12.0", "xml2json": "^0.12.0",
"youtube-chat": "git+https://github.com/IcedCoffeee/youtube-chat.git", "youtube-chat": "git+https://github.com/IcedCoffeee/youtube-chat.git",
"youtube-suggest": "^1.1.0", "youtube-suggest": "^1.1.2",
"yt-channel-info": "^1.3.0", "yt-channel-info": "^2.1.1",
"yt-comment-scraper": "^3.0.2", "yt-comment-scraper": "^4.0.1",
"yt-dash-manifest-generator": "1.1.0", "yt-dash-manifest-generator": "1.1.0",
"yt-trending-scraper": "^1.1.0", "yt-trending-scraper": "^2.0.0",
"yt-xml2vtt": "^1.2.0", "ytdl-core": "^4.8.0",
"ytdl-core": "^4.5.0", "ytpl": "^2.2.1",
"ytpl": "^2.0.5", "ytsr": "^3.5.0"
"ytsr": "^3.3.1"
}, },
"description": "A private YouTube client", "description": "A private YouTube client",
"devDependencies": { "devDependencies": {
"@babel/core": "^7.13.8", "@babel/core": "^7.14.2",
"@babel/plugin-proposal-class-properties": "^7.13.0", "@babel/plugin-proposal-class-properties": "^7.13.0",
"@babel/plugin-proposal-object-rest-spread": "^7.13.8", "@babel/plugin-proposal-object-rest-spread": "^7.14.2",
"@babel/preset-env": "^7.13.9", "@babel/preset-env": "^7.14.2",
"@babel/preset-typescript": "^7.13.0", "@babel/preset-typescript": "^7.13.0",
"@typescript-eslint/eslint-plugin": "^4.16.1", "@typescript-eslint/eslint-plugin": "^4.23.0",
"@typescript-eslint/parser": "^4.16.1", "@typescript-eslint/parser": "^4.23.0",
"acorn": "^8.0.5", "acorn": "^8.2.4",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"babel-loader": "^8.2.2", "babel-loader": "^8.2.2",
"copy-webpack-plugin": "8.0.0", "copy-webpack-plugin": "8.1.1",
"css-loader": "^5.1.1", "css-loader": "^5.2.4",
"devtron": "^1.4.0", "electron": "^12.0.7",
"electron": "^12.0.0",
"electron-builder": "^22.10.5", "electron-builder": "^22.10.5",
"electron-builder-squirrel-windows": "^22.10.5", "electron-builder-squirrel-windows": "^22.11.4",
"electron-debug": "^3.2.0", "electron-debug": "^3.2.0",
"electron-rebuild": "^2.3.5", "electron-rebuild": "^2.3.5",
"eslint": "^7.21.0", "eslint": "^7.26.0",
"eslint-config-prettier": "^8.1.0", "eslint-config-prettier": "^8.3.0",
"eslint-config-standard": "^16.0.2", "eslint-config-standard": "^16.0.2",
"eslint-plugin-import": "^2.22.1", "eslint-plugin-import": "^2.23.2",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-prettier": "^3.3.1", "eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-promise": "^4.3.1", "eslint-plugin-promise": "^5.1.0",
"eslint-plugin-standard": "^5.0.0", "eslint-plugin-standard": "^5.0.0",
"eslint-plugin-vue": "^7.7.0", "eslint-plugin-vue": "^7.9.0",
"fast-glob": "^3.2.5", "fast-glob": "^3.2.5",
"file-loader": "^6.2.0", "file-loader": "^6.2.0",
"html-webpack-plugin": "^5.2.0", "html-webpack-plugin": "^5.3.1",
"jest": "^26.6.3", "jest": "^26.6.3",
"mini-css-extract-plugin": "^1.3.9", "mini-css-extract-plugin": "^1.6.0",
"node-abi": "^2.20.0", "node-abi": "^2.26.0",
"node-loader": "^1.0.2", "node-loader": "^2.0.0",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"prettier": "^2.2.1", "prettier": "^2.3.0",
"sass": "^1.32.8", "sass": "^1.32.13",
"sass-loader": "^11.0.1", "sass-loader": "^11.1.1",
"style-loader": "^2.0.0", "style-loader": "^2.0.0",
"tree-kill": "1.2.2", "tree-kill": "1.2.2",
"typescript": "^4.2.2", "typescript": "^4.2.4",
"url-loader": "^4.1.1", "url-loader": "^4.1.1",
"vue-devtools": "^5.1.4", "vue-devtools": "^5.1.4",
"vue-eslint-parser": "^7.6.0", "vue-eslint-parser": "^7.6.0",
"vue-loader": "^15.9.6", "vue-loader": "^15.9.7",
"vue-style-loader": "^4.1.3", "vue-style-loader": "^4.1.3",
"vue-template-compiler": "^2.6.12", "vue-template-compiler": "^2.6.12",
"webpack": "^5.24.3", "webpack": "^5.37.0",
"webpack-cli": "^4.5.0", "webpack-cli": "^4.7.0",
"webpack-dev-server": "^3.11.2" "webpack-dev-server": "^3.11.2"
}, },
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
@ -149,5 +148,5 @@
"test": "run-s rebuild:node pack:workers jest", "test": "run-s rebuild:node pack:workers jest",
"test:watch": "run-s rebuild:node pack:workers jest:watch" "test:watch": "run-s rebuild:node pack:workers jest:watch"
}, },
"version": "0.12.0" "version": "0.13.0"
} }

View File

@ -1,7 +1,14 @@
import { app, BrowserWindow, Menu, ipcMain, screen } from 'electron' import { app, BrowserWindow, Menu, ipcMain, screen } from 'electron'
import { productName } from '../../package.json'
import Datastore from 'nedb' import Datastore from 'nedb'
if (process.argv.includes('--version')) {
console.log(`v${app.getVersion()}`)
app.exit(0)
} else {
runApp()
}
function runApp() {
require('@electron/remote/main').initialize() require('@electron/remote/main').initialize()
require('electron-context-menu')({ require('electron-context-menu')({
@ -18,15 +25,13 @@ const settingsDb = new Datastore({
autoload: true autoload: true
}) })
// set app name
app.setName(productName)
// disable electron warning // disable electron warning
process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true' process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true'
const path = require('path') const path = require('path')
const isDev = process.env.NODE_ENV === 'development' const isDev = process.env.NODE_ENV === 'development'
const isDebug = process.argv.includes('--debug') const isDebug = process.argv.includes('--debug')
let mainWindow let mainWindow
let openedWindows = []
let startupUrl let startupUrl
// CORS somehow gets re-enabled in Electron v9.0.4 // CORS somehow gets re-enabled in Electron v9.0.4
@ -35,6 +40,7 @@ let startupUrl
app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors') app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors')
app.commandLine.appendSwitch('enable-accelerated-video-decode') app.commandLine.appendSwitch('enable-accelerated-video-decode')
app.commandLine.appendSwitch('enable-file-cookies')
app.commandLine.appendSwitch('ignore-gpu-blacklist') app.commandLine.appendSwitch('ignore-gpu-blacklist')
// See: https://stackoverflow.com/questions/45570589/electron-protocol-handler-not-working-on-windows // See: https://stackoverflow.com/questions/45570589/electron-protocol-handler-not-working-on-windows
@ -206,7 +212,6 @@ if (!isDev) {
async function installDevTools () { async function installDevTools () {
try { try {
/* eslint-disable */ /* eslint-disable */
require('devtron').install()
require('vue-devtools').install() require('vue-devtools').install()
/* eslint-enable */ /* eslint-enable */
} catch (err) { } catch (err) {
@ -214,11 +219,11 @@ async function installDevTools () {
} }
} }
function createWindow (useProxy = false, proxyUrl = '') { function createWindow (useProxy = false, proxyUrl = '', replaceMainWindow = true) {
/** /**
* Initial window options * Initial window options
*/ */
mainWindow = new BrowserWindow({ const newWindow = new BrowserWindow({
backgroundColor: '#fff', backgroundColor: '#fff',
icon: isDev icon: isDev
? path.join(__dirname, '../../_icons/iconColor.png') ? path.join(__dirname, '../../_icons/iconColor.png')
@ -236,18 +241,36 @@ function createWindow (useProxy = false, proxyUrl = '') {
}, },
show: false show: false
}) })
openedWindows.push(newWindow)
if (replaceMainWindow) {
mainWindow = newWindow
}
mainWindow.setBounds({ newWindow.setBounds({
width: 1200, width: 1200,
height: 800 height: 800
}) })
if (useProxy) { if (useProxy) {
mainWindow.webContents.session.setProxy({ newWindow.webContents.session.setProxy({
proxyRules: proxyUrl proxyRules: proxyUrl
}) })
} }
// Set CONSENT cookie on reasonable domains
[
'http://www.youtube.com',
'https://www.youtube.com',
'http://youtube.com',
'https://youtube.com'
].forEach(url => {
newWindow.webContents.session.cookies.set({
url: url,
name: 'CONSENT',
value: 'YES+'
})
})
settingsDb.findOne({ settingsDb.findOne({
_id: 'bounds' _id: 'bounds'
}, function (err, doc) { }, function (err, doc) {
@ -265,7 +288,7 @@ function createWindow (useProxy = false, proxyUrl = '') {
.reduce((accumulator, { size: { width } }) => accumulator + width, 0) .reduce((accumulator, { size: { width } }) => accumulator + width, 0)
if (allDisplaysSummaryWidth >= bounds.x) { if (allDisplaysSummaryWidth >= bounds.x) {
mainWindow.setBounds({ newWindow.setBounds({
x: bounds.x, x: bounds.x,
y: bounds.y, y: bounds.y,
width: bounds.width, width: bounds.width,
@ -273,19 +296,23 @@ function createWindow (useProxy = false, proxyUrl = '') {
}) })
} }
if (maximized) { if (maximized) {
mainWindow.maximize() newWindow.maximize()
} }
}) })
// If called multiple times
// Duplicate menu items will be added
if (replaceMainWindow) {
// eslint-disable-next-line // eslint-disable-next-line
setMenu() setMenu()
}
// load root file/url // load root file/url
if (isDev) { if (isDev) {
mainWindow.loadURL('http://localhost:9080') newWindow.loadURL('http://localhost:9080')
} else { } else {
/* eslint-disable-next-line */ /* eslint-disable-next-line */
mainWindow.loadFile(`${__dirname}/index.html`) newWindow.loadFile(`${__dirname}/index.html`)
global.__static = path global.__static = path
.join(__dirname, '/static') .join(__dirname, '/static')
@ -293,18 +320,47 @@ function createWindow (useProxy = false, proxyUrl = '') {
} }
// Show when loaded // Show when loaded
mainWindow.on('ready-to-show', () => { newWindow.on('ready-to-show', () => {
mainWindow.show() newWindow.show()
mainWindow.focus() newWindow.focus()
}) })
mainWindow.on('closed', () => { newWindow.on('close', () => {
// Clear cache and storage if it's the last window
if (openedWindows.length === 1) {
newWindow.webContents.session.clearCache()
newWindow.webContents.session.clearStorageData({
storages: [
'appcache',
'cookies',
'filesystem',
'indexdb',
'shadercache',
'websql',
'serviceworkers',
'cachestorage'
]
})
}
})
newWindow.on('closed', () => {
// Remove closed window
openedWindows = openedWindows.filter((window) => window !== newWindow)
if (newWindow === mainWindow) {
// Replace mainWindow to avoid accessing `mainWindow.webContents`
// Which raises "Object has been destroyed" error
mainWindow = openedWindows[0]
}
console.log('closed') console.log('closed')
}) })
}
// Save closing window bounds & maximized status
ipcMain.on('setBounds', (_e, data) => { ipcMain.on('setBounds', (_e, data) => {
const value = { const value = {
...mainWindow.getBounds(), ...mainWindow.getNormalBounds(),
maximized: mainWindow.isMaximized() maximized: mainWindow.isMaximized()
} }
@ -359,30 +415,19 @@ function createWindow (useProxy = false, proxyUrl = '') {
ipcMain.on('disableProxy', () => { ipcMain.on('disableProxy', () => {
mainWindow.webContents.session.setProxy({}) mainWindow.webContents.session.setProxy({})
}) })
}
ipcMain.on('createNewWindow', () => {
createWindow(false, '', false)
})
app.on('window-all-closed', () => { app.on('window-all-closed', () => {
if (process.platform !== 'darwin') { if (process.platform !== 'darwin') {
app.quit() app.quit()
} }
mainWindow.webContents.session.clearCache()
mainWindow.webContents.session.clearStorageData({
storages: [
'appcache',
'cookies',
'filesystem',
'indexdb',
'shadercache',
'websql',
'serviceworkers',
'cachestorage'
]
})
}) })
app.on('activate', () => { app.on('activate', () => {
if (mainWindow === null) { if (mainWindow === null || mainWindow === undefined) {
createWindow() createWindow()
} }
}) })
@ -554,3 +599,4 @@ function setMenu () {
const menu = Menu.buildFromTemplate(template) const menu = Menu.buildFromTemplate(template)
Menu.setApplicationMenu(menu) Menu.setApplicationMenu(menu)
} }
}

View File

@ -1,4 +1,5 @@
import Vue from 'vue' import Vue from 'vue'
import { mapActions } from 'vuex'
import { ObserveVisibility } from 'vue-observe-visibility' import { ObserveVisibility } from 'vue-observe-visibility'
import FtFlexBox from './components/ft-flex-box/ft-flex-box.vue' import FtFlexBox from './components/ft-flex-box/ft-flex-box.vue'
import TopNav from './components/top-nav/top-nav.vue' import TopNav from './components/top-nav/top-nav.vue'
@ -9,6 +10,7 @@ import FtButton from './components/ft-button/ft-button.vue'
import FtToast from './components/ft-toast/ft-toast.vue' import FtToast from './components/ft-toast/ft-toast.vue'
import FtProgressBar from './components/ft-progress-bar/ft-progress-bar.vue' import FtProgressBar from './components/ft-progress-bar/ft-progress-bar.vue'
import $ from 'jquery' import $ from 'jquery'
import { app } from '@electron/remote'
import { markdown } from 'markdown' import { markdown } from 'markdown'
import Parser from 'rss-parser' import Parser from 'rss-parser'
@ -41,6 +43,7 @@ export default Vue.extend({
}, },
data: function () { data: function () {
return { return {
dataReady: false,
hideOutlines: true, hideOutlines: true,
showUpdatesBanner: false, showUpdatesBanner: false,
showBlogBanner: false, showBlogBanner: false,
@ -85,14 +88,17 @@ export default Vue.extend({
} }
}, },
mounted: function () { mounted: function () {
this.$store.dispatch('grabUserSettings') const v = this
this.$store.dispatch('grabUserSettings').then(() => {
this.$store.dispatch('grabAllProfiles', this.$t('Profile.All Channels')).then(() => {
this.$store.dispatch('grabHistory') this.$store.dispatch('grabHistory')
this.$store.dispatch('grabAllProfiles', this.$t('Profile.All Channels'))
this.$store.dispatch('grabAllPlaylists') this.$store.dispatch('grabAllPlaylists')
this.$store.commit('setUsingElectron', useElectron) this.$store.commit('setUsingElectron', useElectron)
this.checkThemeSettings() this.checkThemeSettings()
this.checkLocale() this.checkLocale()
v.dataReady = true
if (useElectron) { if (useElectron) {
console.log('User is using Electron') console.log('User is using Electron')
this.activateKeyboardShortcuts() this.activateKeyboardShortcuts()
@ -105,14 +111,27 @@ export default Vue.extend({
this.checkForNewUpdates() this.checkForNewUpdates()
this.checkForNewBlogPosts() this.checkForNewBlogPosts()
}, 500) }, 500)
})
})
}, },
methods: { methods: {
checkLocale: function () { checkLocale: function () {
const locale = localStorage.getItem('locale') const locale = localStorage.getItem('locale')
if (locale === null) { if (locale === null || locale === 'system') {
// TODO: Get User default locale const systemLocale = app.getLocale().replace(/-|_/, '_')
const findLocale = Object.keys(this.$i18n.messages).find((locale) => {
const localeName = locale.replace(/-|_/, '_')
return localeName.includes(systemLocale)
})
if (typeof findLocale !== 'undefined') {
this.$i18n.locale = findLocale
localStorage.setItem('locale', 'system')
} else {
this.$i18n.locale = 'en-US' this.$i18n.locale = 'en-US'
localStorage.setItem('locale', 'en-US')
}
} else { } else {
this.$i18n.locale = locale this.$i18n.locale = locale
} }
@ -268,15 +287,99 @@ export default Vue.extend({
}, },
openAllLinksExternally: function () { openAllLinksExternally: function () {
// Open links externally by default
$(document).on('click', 'a[href^="http"]', (event) => { $(document).on('click', 'a[href^="http"]', (event) => {
const el = event.currentTarget const el = event.currentTarget
console.log(useElectron) console.log(useElectron)
console.log(el) console.log(el)
if (typeof (shell) !== 'undefined') {
event.preventDefault() event.preventDefault()
// Check if it's a YouTube link
const youtubeUrlPattern = /^https?:\/\/((www\.)?youtube\.com(\/embed)?|youtu\.be)\/.*$/
const isYoutubeLink = youtubeUrlPattern.test(el.href)
if (isYoutubeLink) {
this.handleYoutubeLink(el.href)
} else {
// Open links externally by default
if (typeof (shell) !== 'undefined') {
shell.openExternal(el.href) shell.openExternal(el.href)
} }
}
})
},
handleYoutubeLink: function (href) {
this.$store.dispatch('getYoutubeUrlInfo', href).then((result) => {
switch (result.urlType) {
case 'video': {
const { videoId, timestamp } = result
this.$router.push({
path: `/watch/${videoId}`,
query: timestamp ? { timestamp } : {}
})
break
}
case 'playlist': {
const { playlistId, query } = result
this.$router.push({
path: `/playlist/${playlistId}`,
query
})
break
}
case 'search': {
const { searchQuery, query } = result
this.$router.push({
path: `/search/${encodeURIComponent(searchQuery)}`,
query
})
break
}
case 'hashtag': {
// TODO: Implement a hashtag related view
let message = 'Hashtags have not yet been implemented, try again later'
if (this.$te(message) && this.$t(message) !== '') {
message = this.$t(message)
}
this.showToast({
message: message
})
break
}
case 'channel': {
const { channelId } = result
this.$router.push({
path: `/channel/${channelId}`
})
break
}
case 'invalid_url': {
// Do nothing
break
}
default: {
// Unknown URL type
let message = 'Unknown YouTube url type, cannot be opened in app'
if (this.$te(message) && this.$t(message) !== '') {
message = this.$t(message)
}
this.showToast({
message: message
})
}
}
}) })
}, },
@ -284,14 +387,7 @@ export default Vue.extend({
const v = this const v = this
electron.ipcRenderer.on('openUrl', function (event, url) { electron.ipcRenderer.on('openUrl', function (event, url) {
if (url) { if (url) {
v.$store.dispatch('getVideoParamsFromUrl', url).then(({ videoId, timestamp }) => { v.handleYoutubeLink(url)
if (videoId) {
v.$router.push({
path: `/watch/${videoId}`,
query: timestamp ? { timestamp } : {}
})
}
})
} }
}) })
@ -302,6 +398,10 @@ export default Vue.extend({
window.onbeforeunload = (e) => { window.onbeforeunload = (e) => {
electron.ipcRenderer.send('setBounds') electron.ipcRenderer.send('setBounds')
} }
} },
...mapActions([
'showToast'
])
} }
}) })

View File

@ -27,6 +27,7 @@
/> />
</ft-flex-box> </ft-flex-box>
<transition <transition
v-if="dataReady"
mode="out-in" mode="out-in"
name="fade" name="fade"
> >

View File

@ -249,6 +249,10 @@ export default Vue.extend({
const primaryProfile = JSON.parse(JSON.stringify(this.profileList[0])) const primaryProfile = JSON.parse(JSON.stringify(this.profileList[0]))
const subscriptions = [] const subscriptions = []
this.showToast({
message: this.$t('Settings.Data Settings.This might take a while, please wait')
})
this.updateShowProgressBar(true) this.updateShowProgressBar(true)
this.setProgressBarPercentage(0) this.setProgressBarPercentage(0)
@ -258,6 +262,11 @@ export default Vue.extend({
const snippet = channel.snippet const snippet = channel.snippet
if (typeof snippet === 'undefined') { if (typeof snippet === 'undefined') {
const message = this.$t('Settings.Data Settings.Invalid subscriptions file')
this.showToast({
message: message
})
throw new Error('Unable to find channel data') throw new Error('Unable to find channel data')
} }
@ -321,12 +330,7 @@ export default Vue.extend({
} }
const filePath = response.filePaths[0] const filePath = response.filePaths[0]
try {
this.handleYoutubeImportFile(filePath) this.handleYoutubeImportFile(filePath)
} catch (err) {
console.log(err)
}
}) })
}, },
@ -569,7 +573,8 @@ export default Vue.extend({
} }
}, },
exportFreeTubeSubscriptions: function () { exportFreeTubeSubscriptions: async function () {
await this.compactProfiles()
const userData = app.getPath('userData') const userData = app.getPath('userData')
const subscriptionsDb = `${userData}/profiles.db` const subscriptionsDb = `${userData}/profiles.db`
const date = new Date() const date = new Date()
@ -929,7 +934,7 @@ export default Vue.extend({
} }
}) })
if (Object.keys(historyObject).length < requiredKeys.length) { if (Object.keys(historyObject).length < (requiredKeys.length - 2)) {
this.showToast({ this.showToast({
message: this.$t('Settings.Data Settings.History object has insufficient data, skipping item') message: this.$t('Settings.Data Settings.History object has insufficient data, skipping item')
}) })
@ -945,7 +950,8 @@ export default Vue.extend({
}) })
}, },
exportHistory: function () { exportHistory: async function () {
await this.compactHistory()
const userData = app.getPath('userData') const userData = app.getPath('userData')
const historyDb = `${userData}/history.db` const historyDb = `${userData}/history.db`
const date = new Date() const date = new Date()
@ -1102,8 +1108,10 @@ export default Vue.extend({
...mapActions([ ...mapActions([
'invidiousAPICall', 'invidiousAPICall',
'updateProfile', 'updateProfile',
'compactProfiles',
'updateShowProgressBar', 'updateShowProgressBar',
'updateHistory', 'updateHistory',
'compactHistory',
'showToast', 'showToast',
'getRandomColor', 'getRandomColor',
'calculateColorLuminance' 'calculateColorLuminance'

View File

@ -12,7 +12,6 @@
text-decoration: none; text-decoration: none;
transition: 0.3s; transition: 0.3s;
border-radius: 4px; border-radius: 4px;
outline: none;
white-space: nowrap; white-space: nowrap;
font-weight: 500; font-weight: 500;
vertical-align: middle; vertical-align: middle;

View File

@ -27,6 +27,10 @@ export default Vue.extend({
type: Boolean, type: Boolean,
default: false default: false
}, },
selectOnFocus: {
type: Boolean,
default: false
},
disabled: { disabled: {
type: Boolean, type: Boolean,
default: false default: false
@ -130,6 +134,13 @@ export default Vue.extend({
handleInputBlur: function () { handleInputBlur: function () {
if (!this.searchState.isPointerInList) { this.searchState.showOptions = false } if (!this.searchState.isPointerInList) { this.searchState.showOptions = false }
},
handleFocus: function(e) {
this.searchState.showOptions = true
if (this.selectOnFocus) {
e.target.select()
}
} }
} }
}) })

View File

@ -27,7 +27,7 @@
:placeholder="placeholder" :placeholder="placeholder"
:disabled="disabled" :disabled="disabled"
@input="e => handleInput(e.target.value)" @input="e => handleInput(e.target.value)"
@focus="searchState.showOptions = true" @focus="handleFocus"
@blur="handleInputBlur" @blur="handleInputBlur"
@keydown="e => handleKeyDown(e.keyCode)" @keydown="e => handleKeyDown(e.keyCode)"
> >

View File

@ -42,6 +42,7 @@ export default Vue.extend({
isLive: false, isLive: false,
isFavorited: false, isFavorited: false,
isUpcoming: false, isUpcoming: false,
isPremium: false,
hideViews: false, hideViews: false,
optionsValues: [ optionsValues: [
'history', 'history',
@ -321,6 +322,7 @@ export default Vue.extend({
this.description = this.data.description this.description = this.data.description
this.isLive = this.data.liveNow || this.data.lengthSeconds === 'undefined' this.isLive = this.data.liveNow || this.data.lengthSeconds === 'undefined'
this.isUpcoming = this.data.isUpcoming || this.data.premiere this.isUpcoming = this.data.isUpcoming || this.data.premiere
this.isPremium = this.data.premium || false
this.viewCount = this.data.viewCount this.viewCount = this.data.viewCount
if (typeof (this.data.premiereTimestamp) !== 'undefined') { if (typeof (this.data.premiereTimestamp) !== 'undefined') {
@ -383,7 +385,7 @@ export default Vue.extend({
title: this.title, title: this.title,
author: this.channelName, author: this.channelName,
authorId: this.channelId, authorId: this.channelId,
published: '', published: this.publishedText.split(',')[0],
description: this.description, description: this.description,
viewCount: this.viewCount, viewCount: this.viewCount,
lengthSeconds: this.data.lengthSeconds, lengthSeconds: this.data.lengthSeconds,
@ -393,9 +395,7 @@ export default Vue.extend({
paid: false, paid: false,
type: 'video' type: 'video'
} }
this.updateHistory(videoData) this.updateHistory(videoData)
this.showToast({ this.showToast({
message: this.$t('Video.Video has been marked as watched') message: this.$t('Video.Video has been marked as watched')
}) })

View File

@ -13,6 +13,7 @@
> >
<router-link <router-link
class="thumbnailLink" class="thumbnailLink"
tabindex="-1"
:to="{ :to="{
path: `/watch/${id}`, path: `/watch/${id}`,
query: playlistId ? {playlistId} : {} query: playlistId ? {playlistId} : {}
@ -80,7 +81,7 @@
> >
<span>{{ channelName }}</span> <span>{{ channelName }}</span>
</router-link> </router-link>
<template v-if="!isLive && !isUpcoming && !hideViews"> <template v-if="!isLive && !isUpcoming && !isPremium && !hideViews">
<span class="viewCount"> {{ parsedViewCount }}</span> <span class="viewCount"> {{ parsedViewCount }}</span>
<span v-if="viewCount === 1">{{ $t("Video.View").toLowerCase() }}</span> <span v-if="viewCount === 1">{{ $t("Video.View").toLowerCase() }}</span>
<span v-else>{{ $t("Video.Views").toLowerCase() }}</span> <span v-else>{{ $t("Video.Views").toLowerCase() }}</span>

View File

@ -43,6 +43,10 @@ export default Vue.extend({
type: Array, type: Array,
default: () => { return [] } default: () => { return [] }
}, },
adaptiveFormats: {
type: Array,
default: () => { return [] }
},
dashSrc: { dashSrc: {
type: Array, type: Array,
default: null default: null
@ -51,7 +55,7 @@ export default Vue.extend({
type: Array, type: Array,
default: null default: null
}, },
captionList: { captionHybridList: {
type: Array, type: Array,
default: () => { return [] } default: () => { return [] }
}, },
@ -62,6 +66,10 @@ export default Vue.extend({
thumbnail: { thumbnail: {
type: String, type: String,
default: '' default: ''
},
videoId: {
type: String,
required: true
} }
}, },
data: function () { data: function () {
@ -73,8 +81,11 @@ export default Vue.extend({
useDash: false, useDash: false,
useHls: false, useHls: false,
selectedDefaultQuality: '', selectedDefaultQuality: '',
selectedQuality: '',
using60Fps: false,
maxFramerate: 0, maxFramerate: 0,
activeSourceList: [], activeSourceList: [],
activeAdaptiveFormats: [],
mouseTimeout: null, mouseTimeout: null,
touchTimeout: null, touchTimeout: null,
lastTouchTime: null, lastTouchTime: null,
@ -142,16 +153,14 @@ export default Vue.extend({
autoplayVideos: function () { autoplayVideos: function () {
return this.$store.getters.getAutoplayVideos return this.$store.getters.getAutoplayVideos
}
}, },
watch: {
sourceList: function () { useSponsorBlock: function () {
this.determineFormatType() return this.$store.getters.getUseSponsorBlock
}, },
captionList: function () {
this.player.caption({ sponsorBlockShowSkippedToast: function () {
data: this.captionList return this.$store.getters.getSponsorBlockShowSkippedToast
})
} }
}, },
mounted: function () { mounted: function () {
@ -186,6 +195,7 @@ export default Vue.extend({
}, },
methods: { methods: {
initializePlayer: async function () { initializePlayer: async function () {
console.log(this.adaptiveFormats)
const videoPlayer = document.getElementById(this.id) const videoPlayer = document.getElementById(this.id)
if (videoPlayer !== null) { if (videoPlayer !== null) {
if (!this.useDash) { if (!this.useDash) {
@ -195,10 +205,12 @@ export default Vue.extend({
this.player = videojs(videoPlayer, { this.player = videojs(videoPlayer, {
html5: { html5: {
preloadTextTracks: false,
vhs: { vhs: {
limitRenditionByPlayerDimensions: false, limitRenditionByPlayerDimensions: false,
smoothQualityChange: false, smoothQualityChange: false,
allowSeeksWithinUnsafeLiveWindow: true allowSeeksWithinUnsafeLiveWindow: true,
handlePartialData: true
} }
} }
}) })
@ -214,14 +226,12 @@ export default Vue.extend({
} }
if (this.useDash) { if (this.useDash) {
this.dataSetup.plugins.httpSourceSelector = { // this.dataSetup.plugins.httpSourceSelector = {
default: 'auto' // default: 'auto'
} // }
this.player.httpSourceSelector() // this.player.httpSourceSelector()
setTimeout(() => { this.createDashQualitySelector(this.player.qualityLevels())
this.determineDefaultQualityDash()
}, 400)
} }
if (this.autoplayVideos) { if (this.autoplayVideos) {
@ -240,12 +250,16 @@ export default Vue.extend({
this.player.controlBar.getChild('volumePanel').on('mousewheel', this.mouseScrollVolume) this.player.controlBar.getChild('volumePanel').on('mousewheel', this.mouseScrollVolume)
this.player.on('fullscreenchange', this.fullscreenOverlay) this.player.on('fullscreenchange', this.fullscreenOverlay)
this.player.on('fullscreenchange', this.toggleFullscreenClass)
const v = this const v = this
this.player.on('ready', function () { this.player.on('ready', function () {
v.$emit('ready') v.$emit('ready')
v.checkAspectRatio() v.checkAspectRatio()
if (v.captionHybridList.length !== 0) {
v.transformAndInsertCaptions()
}
}) })
this.player.on('ended', function () { this.player.on('ended', function () {
@ -272,6 +286,109 @@ export default Vue.extend({
} }
}) })
} }
setTimeout(() => { this.fetchSponsorBlockInfo() }, 100)
},
fetchSponsorBlockInfo() {
if (this.useSponsorBlock) {
this.$store.dispatch('sponsorBlockSkipSegments', {
videoId: this.videoId,
categories: ['sponsor']
}).then((skipSegments) => {
this.player.on('timeupdate', () => {
this.skipSponsorBlocks(skipSegments)
})
skipSegments.forEach(({
category,
segment: [startTime, endTime]
}) => {
this.addSponsorBlockMarker({
time: startTime,
duration: endTime - startTime,
color: this.sponsorBlockCategoryColor(category)
})
})
})
}
},
skipSponsorBlocks(skipSegments) {
const currentTime = this.player.currentTime()
let newTime = null
let skippedCategory = null
skipSegments.forEach(({ category, segment: [startTime, endTime] }) => {
if (startTime <= currentTime && currentTime < endTime) {
newTime = endTime
skippedCategory = category
}
})
if (newTime !== null) {
if (this.sponsorBlockShowSkippedToast) {
this.showSkippedSponsorSegmentInformation(skippedCategory)
}
this.player.currentTime(newTime)
}
},
showSkippedSponsorSegmentInformation(category) {
const translatedCategory = this.sponsorBlockTranslatedCategory(category)
this.showToast({
message: `${this.$t('Video.Skipped segment')} ${translatedCategory}`
})
},
sponsorBlockTranslatedCategory(category) {
switch (category) {
case 'sponsor':
return this.$t('Video.Sponsor Block category.sponsor')
case 'intro':
return this.$t('Video.Sponsor Block category.intro')
case 'outro':
return this.$t('Video.Sponsor Block category.outro')
case 'selfpromo':
return this.$t('Video.Sponsor Block category.self-promotion')
case 'interaction':
return this.$t('Video.Sponsor Block category.interaction')
case 'music_offtopic':
return this.$t('Video.Sponsor Block category.music offtopic')
default:
console.error(`Unknown translation for SponsorBlock category ${category}`)
return category
}
},
sponsorBlockCategoryColor(category) {
// TODO: allow to set these colors in settings
switch (category) {
case 'sponsor':
return 'var(--accent-color)'
case 'intro':
return 'var(--accent-color)'
case 'outro':
return 'var(--accent-color)'
case 'selfpromo':
return 'var(--accent-color)'
case 'interaction':
return 'var(--accent-color)'
case 'music_offtopic':
return 'var(--accent-color)'
default:
console.error(`Unknown SponsorBlock category ${category}`)
return 'var(--accent-color)'
}
},
addSponsorBlockMarker(marker) {
const markerDiv = videojs.dom.createEl('div', {}, {})
markerDiv.className = 'sponsorBlockMarker'
markerDiv.style.height = '100%'
markerDiv.style.position = 'absolute'
markerDiv.style['background-color'] = marker.color
markerDiv.style.width = (marker.duration / this.player.duration()) * 100 + '%'
markerDiv.style.marginLeft = (marker.time / this.player.duration()) * 100 + '%'
this.player.el().querySelector('.vjs-progress-holder').appendChild(markerDiv)
}, },
checkAspectRatio() { checkAspectRatio() {
@ -417,11 +534,60 @@ export default Vue.extend({
determineDefaultQualityDash: function () { determineDefaultQualityDash: function () {
if (this.defaultQuality === 'auto') { if (this.defaultQuality === 'auto') {
return this.setDashQualityLevel('auto')
} }
this.player.qualityLevels().levels_.sort((a, b) => { let formatsToTest
if (typeof this.activeAdaptiveFormats !== 'undefined' && this.activeAdaptiveFormats.length > 0) {
formatsToTest = this.activeAdaptiveFormats.filter((format) => {
return format.height === this.defaultQuality
})
if (formatsToTest.length === 0) {
formatsToTest = this.activeAdaptiveFormats.filter((format) => {
return format.height < this.defaultQuality
})
}
formatsToTest = formatsToTest.sort((a, b) => {
if (a.height === b.height) {
return b.bitrate - a.bitrate
} else {
return b.height - a.height
}
})
} else {
formatsToTest = this.player.qualityLevels().levels_.filter((format) => {
return format.height === this.defaultQuality
})
if (formatsToTest.length === 0) {
formatsToTest = this.player.qualityLevels().levels_.filter((format) => {
return format.height < this.defaultQuality
})
}
formatsToTest = formatsToTest.sort((a, b) => {
if (a.height === b.height) {
return b.bitrate - a.bitrate
} else {
return b.height - a.height
}
})
}
// TODO: Test formats to determine if HDR / 60 FPS and skip them based on
// User settings
this.setDashQualityLevel(formatsToTest[0].bitrate)
// Old logic. Revert if needed
/* this.player.qualityLevels().levels_.sort((a, b) => {
if (a.height === b.height) {
return a.bitrate - b.bitrate
} else {
return a.height - b.height return a.height - b.height
}
}).forEach((ql, index, arr) => { }).forEach((ql, index, arr) => {
const height = ql.height const height = ql.height
const width = ql.width const width = ql.width
@ -432,26 +598,151 @@ export default Vue.extend({
upperLevel = arr[index + 1] upperLevel = arr[index + 1]
} }
if (this.defaultQuality === quality) { if (this.defaultQuality === quality && upperLevel === null) {
ql.enabled = true this.setDashQualityLevel(height, true)
} else if (upperLevel !== null) { } else if (upperLevel !== null) {
const upperHeight = upperLevel.height const upperHeight = upperLevel.height
const upperWidth = upperLevel.width const upperWidth = upperLevel.width
const upperQuality = upperWidth < upperHeight ? upperWidth : upperHeight const upperQuality = upperWidth < upperHeight ? upperWidth : upperHeight
if (this.defaultQuality >= quality && this.defaultQuality < upperQuality) { if (this.defaultQuality >= quality && this.defaultQuality === upperQuality) {
ql.enabled = true this.setDashQualityLevel(height, true)
} else { } else if (this.defaultQuality >= quality && this.defaultQuality < upperQuality) {
ql.enabled = false this.setDashQualityLevel(height)
} }
} else if (index === 0 && quality > this.defaultQuality) { } else if (index === 0 && quality > this.defaultQuality) {
ql.enabled = true this.setDashQualityLevel(height)
} else if (index === (arr.length - 1) && quality < this.defaultQuality) { } else if (index === (arr.length - 1) && quality < this.defaultQuality) {
this.setDashQualityLevel(height)
}
}) */
},
setDashQualityLevel: function (bitrate) {
let adaptiveFormat = null
if (bitrate !== 'auto') {
adaptiveFormat = this.activeAdaptiveFormats.find((format) => {
return format.bitrate === bitrate
})
}
let qualityLabel = adaptiveFormat ? adaptiveFormat.qualityLabel : ''
this.player.qualityLevels().levels_.sort((a, b) => {
if (a.height === b.height) {
return a.bitrate - b.bitrate
} else {
return a.height - b.height
}
}).forEach((ql, index, arr) => {
if (bitrate === 'auto' || bitrate === ql.bitrate) {
ql.enabled = true ql.enabled = true
ql.enabled_(true)
if (bitrate !== 'auto' && qualityLabel === '') {
qualityLabel = ql.height + 'p'
}
} else { } else {
ql.enabled = false ql.enabled = false
ql.enabled_(false)
} }
}) })
const selectedQuality = bitrate === 'auto' ? 'auto' : qualityLabel
const qualityElement = document.getElementById('vjs-current-quality')
qualityElement.innerText = selectedQuality
this.selectedQuality = selectedQuality
const qualityItems = $('.quality-item').get()
$('.quality-item').removeClass('quality-selected')
qualityItems.forEach((item) => {
const qualityText = $(item).find('.vjs-menu-item-text').get(0)
if (qualityText.innerText === selectedQuality.toLowerCase()) {
$(item).addClass('quality-selected')
}
})
/* if (this.selectedQuality === qualityLevel && this.using60Fps === is60Fps) {
return
}
let foundSelectedQuality = false
this.using60Fps = is60Fps
this.player.qualityLevels().levels_.sort((a, b) => {
if (a.height === b.height) {
return a.bitrate - b.bitrate
} else {
return a.height - b.height
}
}).forEach((ql, index, arr) => {
if (foundSelectedQuality) {
ql.enabled = false
ql.enabled_(false)
} else if (qualityLevel === 'auto') {
ql.enabled = true
ql.enabled_(true)
} else if (ql.height === qualityLevel) {
ql.enabled = true
ql.enabled_(true)
foundSelectedQuality = true
let lowerQuality
let higherQuality
if ((index - 1) !== -1) {
lowerQuality = arr[index - 1]
}
if ((index + 1) < arr.length) {
higherQuality = arr[index + 1]
}
if (typeof (lowerQuality) !== 'undefined' && lowerQuality.height === ql.height && lowerQuality.bitrate < ql.bitrate && !is60Fps) {
ql.enabled = false
ql.enabled_(false)
foundSelectedQuality = false
}
if (typeof (higherQuality) !== 'undefined' && higherQuality.height === ql.height && higherQuality.bitrate > ql.bitrate && is60Fps) {
ql.enabled = false
ql.enabled_(false)
foundSelectedQuality = false
}
} else {
ql.enabled = false
ql.enabled_(false)
}
})
let selectedQuality = qualityLevel
if (selectedQuality !== 'auto' && is60Fps) {
selectedQuality = selectedQuality + 'p60'
} else if (selectedQuality !== 'auto') {
selectedQuality = selectedQuality + 'p'
}
const qualityElement = document.getElementById('vjs-current-quality')
qualityElement.innerText = selectedQuality
this.selectedQuality = qualityLevel
const qualityItems = $('.quality-item').get()
$('.quality-item').removeClass('quality-selected')
qualityItems.forEach((item) => {
const qualityText = $(item).find('.vjs-menu-item-text').get(0)
if (qualityText.innerText === selectedQuality) {
$(item).addClass('quality-selected')
}
})
// const currentTime = this.player.currentTime()
// this.player.currentTime(0)
// this.player.currentTime(currentTime) */
}, },
enableDashFormat: function () { enableDashFormat: function () {
@ -622,13 +913,125 @@ export default Vue.extend({
v.toggleFullWindow() v.toggleFullWindow()
}, },
createControlTextEl: function (button) { createControlTextEl: function (button) {
return $(button).html($('<div id="fullwindow" class="vjs-icon-fullwindow-enter vjs-button"></div>') // Add class name to button to be able to target it with CSS selector
.attr('title', 'Fullwindow')) return $(button)
.addClass('vjs-button-fullwindow')
.html($('<div id="fullwindow" class="vjs-icon-fullwindow-enter vjs-button"></div>')
.attr('title', 'Full Window'))
} }
}) })
videojs.registerComponent('fullWindowButton', fullWindowButton) videojs.registerComponent('fullWindowButton', fullWindowButton)
}, },
createDashQualitySelector: function (levels) {
const v = this
if (levels.levels_.length === 0) {
setTimeout(() => {
this.createDashQualitySelector(this.player.qualityLevels())
}, 200)
return
}
const VjsButton = videojs.getComponent('Button')
const dashQualitySelector = videojs.extend(VjsButton, {
constructor: function(player, options) {
VjsButton.call(this, player, options)
},
handleClick: function(event) {
console.log(event)
const selectedQuality = event.target.innerText
const bitrate = selectedQuality === 'auto' ? 'auto' : parseInt(event.target.attributes.bitrate.value)
v.setDashQualityLevel(bitrate)
},
createControlTextEl: function (button) {
const beginningHtml = `<div class="vjs-quality-level-value">
<span id="vjs-current-quality">1080p</span>
</div>
<div class="vjs-quality-level-menu vjs-menu">
<ul class="vjs-menu-content" role="menu">`
const endingHtml = '</ul></div>'
let qualityHtml = `<li class="vjs-menu-item quality-item" role="menuitemradio" tabindex="-1" aria-checked="false" aria-disabled="false">
<span class="vjs-menu-item-text">Auto</span>
<span class="vjs-control-text" aria-live="polite"></span>
</li>`
levels.levels_.sort((a, b) => {
if (b.height === a.height) {
return b.bitrate - a.bitrate
} else {
return b.height - a.height
}
}).forEach((quality, index, array) => {
let fps
let qualityLabel
let bitrate
if (typeof v.adaptiveFormats !== 'undefined' && v.adaptiveFormats.length > 0) {
const adaptiveFormat = v.adaptiveFormats.find((format) => {
return format.bitrate === quality.bitrate
})
v.activeAdaptiveFormats.push(adaptiveFormat)
fps = adaptiveFormat.fps
qualityLabel = adaptiveFormat.qualityLabel ? adaptiveFormat.qualityLabel : quality.height + 'p'
bitrate = quality.bitrate
} else {
fps = 30
qualityLabel = quality.height + 'p'
bitrate = quality.bitrate
}
qualityHtml = qualityHtml + `<li class="vjs-menu-item quality-item" role="menuitemradio" tabindex="-1" aria-checked="false" aria-disabled="false" fps="${fps}" bitrate="${bitrate}">
<span class="vjs-menu-item-text" fps="${fps}" bitrate="${bitrate}">${qualityLabel}</span>
<span class="vjs-control-text" aria-live="polite"></span>
</li>`
// Old logic, revert if needed.
/* let is60Fps = false
if (index < array.length - 1 && array[index + 1].height === quality.height) {
if (array[index + 1].bitrate < quality.bitrate) {
is60Fps = true
}
}
const qualityText = is60Fps ? quality.height + 'p60' : quality.height + 'p'
qualityHtml = qualityHtml + `<li class="vjs-menu-item quality-item" role="menuitemradio" tabindex="-1" aria-checked="false aria-disabled="false">
<span class="vjs-menu-item-text">${qualityText}</span>
<span class="vjs-control-text" aria-live="polite"></span>
</li>` */
})
return $(button).html(
$(beginningHtml + qualityHtml + endingHtml).attr(
'title',
'Select Quality'
))
}
})
videojs.registerComponent('dashQualitySelector', dashQualitySelector)
this.player.controlBar.addChild('dashQualitySelector', {}, this.player.controlBar.children_.length - 1)
this.determineDefaultQualityDash()
},
transformAndInsertCaptions: async function() {
let captionList
if (this.captionHybridList[0] instanceof Promise) {
captionList = await Promise.all(this.captionHybridList)
this.$emit('store-caption-list', captionList)
} else {
captionList = this.captionHybridList
}
for (const caption of captionList) {
this.player.addRemoteTextTrack({
kind: 'subtitles',
src: caption.baseUrl || caption.url,
srclang: caption.languageCode,
label: caption.label || caption.name.simpleText,
type: caption.type
}, true)
}
},
toggleFullWindow: function() { toggleFullWindow: function() {
if (!this.player.isFullscreen_) { if (!this.player.isFullscreen_) {
if (this.player.isFullWindow) { if (this.player.isFullWindow) {
@ -720,6 +1123,14 @@ export default Vue.extend({
} }
}, },
toggleFullscreenClass: function () {
if (this.player.isFullscreen()) {
$('body').addClass('vjs--full-screen-enabled')
} else {
$('body').removeClass('vjs--full-screen-enabled')
}
},
handleTouchStart: function (event) { handleTouchStart: function (event) {
const v = this const v = this
this.touchPauseTimeout = setTimeout(() => { this.touchPauseTimeout = setTimeout(() => {
@ -927,6 +1338,7 @@ export default Vue.extend({
}, },
...mapActions([ ...mapActions([
'showToast',
'calculateColorLuminance' 'calculateColorLuminance'
]) ])
} }

View File

@ -18,15 +18,6 @@
:label="source.qualityLabel" :label="source.qualityLabel"
:selected="source.qualityLabel === selectedDefaultQuality" :selected="source.qualityLabel === selectedDefaultQuality"
> >
<track
v-for="(caption, index) in captionList"
:key="index + '_caption'"
kind="subtitles"
:src="caption.baseUrl || caption.url"
:srclang="caption.languageCode"
:label="caption.label || caption.name.simpleText"
:type="caption.type"
>
</video> </video>
</div> </div>
</template> </template>

View File

@ -1,6 +1,7 @@
import Vue from 'vue' import Vue from 'vue'
import $ from 'jquery' import $ from 'jquery'
import { mapActions } from 'vuex' import { mapActions } from 'vuex'
import { app } from '@electron/remote'
import FtCard from '../ft-card/ft-card.vue' import FtCard from '../ft-card/ft-card.vue'
import FtSelect from '../ft-select/ft-select.vue' import FtSelect from '../ft-select/ft-select.vue'
import FtInput from '../ft-input/ft-input.vue' import FtInput from '../ft-input/ft-input.vue'
@ -96,11 +97,13 @@ export default Vue.extend({
}, },
localeOptions: function () { localeOptions: function () {
return Object.keys(this.$i18n.messages) return ['system'].concat(Object.keys(this.$i18n.messages))
}, },
localeNames: function () { localeNames: function () {
const names = [] const names = [
this.$t('Settings.General Settings.System Default')
]
Object.keys(this.$i18n.messages).forEach((locale) => { Object.keys(this.$i18n.messages).forEach((locale) => {
const localeName = this.$i18n.messages[locale]['Locale Name'] const localeName = this.$i18n.messages[locale]['Locale Name']
@ -167,7 +170,7 @@ export default Vue.extend({
this.updateInvidiousInstanceBounce = debounce(this.updateInvidiousInstance, 500) this.updateInvidiousInstanceBounce = debounce(this.updateInvidiousInstance, 500)
this.currentLocale = this.$i18n.locale this.currentLocale = localStorage.getItem('locale')
}, },
beforeDestroy: function () { beforeDestroy: function () {
if (this.invidiousInstance === '') { if (this.invidiousInstance === '') {
@ -190,18 +193,41 @@ export default Vue.extend({
}, },
updateLocale: function (locale) { updateLocale: function (locale) {
if (locale === 'system') {
const systemLocale = app.getLocale().replace(/-|_/, '_')
const findLocale = Object.keys(this.$i18n.messages).find((locale) => {
const localeName = locale.replace(/-|_/, '_')
return localeName.includes(systemLocale)
})
if (typeof findLocale !== 'undefined') {
this.$i18n.locale = findLocale
this.currentLocale = 'system'
localStorage.setItem('locale', 'system')
} else {
// Translating this string isn't needed because the user will always see it in English
this.showToast({
message: 'Locale not found, defaulting to English (US)'
})
this.$i18n.locale = 'en-US'
this.currentLocale = 'en-US'
localStorage.setItem('locale', 'en-US')
}
} else {
this.$i18n.locale = locale this.$i18n.locale = locale
this.currentLocale = locale this.currentLocale = locale
localStorage.setItem('locale', locale) localStorage.setItem('locale', locale)
}
const payload = { const payload = {
isDev: this.isDev, isDev: this.isDev,
locale: locale locale: this.currentLocale
} }
this.getRegionData(payload) this.getRegionData(payload)
}, },
...mapActions([ ...mapActions([
'showToast',
'updateEnableSearchSuggestions', 'updateEnableSearchSuggestions',
'updateBackendFallback', 'updateBackendFallback',
'updateCheckForUpdates', 'updateCheckForUpdates',

View File

@ -62,7 +62,7 @@
</div> </div>
<ft-flex-box> <ft-flex-box>
<ft-slider <ft-slider
:label="$t('Settings.Player Settings.Playlist Next Video Interval')" :label="$t('Settings.Player Settings.Next Video Interval')"
:default-value="defaultInterval" :default-value="defaultInterval"
:min-value="0" :min-value="0"
:max-value="60" :max-value="60"

View File

@ -33,6 +33,10 @@ export default Vue.extend({
saveWatchedProgress: function () { saveWatchedProgress: function () {
return this.$store.getters.getSaveWatchedProgress return this.$store.getters.getSaveWatchedProgress
}, },
removeVideoMetaFiles: function () {
return this.$store.getters.getRemoveVideoMetaFiles
},
profileList: function () { profileList: function () {
return this.$store.getters.getProfileList return this.$store.getters.getProfileList
}, },
@ -66,6 +70,13 @@ export default Vue.extend({
this.updateRememberHistory(value) this.updateRememberHistory(value)
}, },
handleVideoMetaFiles: function (value) {
if (!value) {
this.updateRemoveVideoMetaFiles(false)
}
this.updateRemoveVideoMetaFiles(value)
},
handleRemoveHistory: function (option) { handleRemoveHistory: function (option) {
this.showRemoveHistoryPrompt = false this.showRemoveHistoryPrompt = false
@ -102,6 +113,7 @@ export default Vue.extend({
...mapActions([ ...mapActions([
'updateRememberHistory', 'updateRememberHistory',
'updateRemoveVideoMetaFiles',
'removeAllHistory', 'removeAllHistory',
'updateSaveWatchedProgress', 'updateSaveWatchedProgress',
'clearSessionSearchHistory', 'clearSessionSearchHistory',

View File

@ -23,6 +23,15 @@
@change="updateSaveWatchedProgress" @change="updateSaveWatchedProgress"
/> />
</div> </div>
<div class="switchColumn">
<ft-toggle-switch
:label="$t('Settings.Privacy Settings.Automatically Remove Video Meta Files')"
:compact="true"
:default-value="removeVideoMetaFiles"
:tooltip="$t('Tooltips.Privacy Settings.Remove Video Meta Files')"
@change="handleVideoMetaFiles"
/>
</div>
</div> </div>
<br> <br>
<ft-flex-box> <ft-flex-box>

View File

@ -1,7 +1,6 @@
import Vue from 'vue' import Vue from 'vue'
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue' import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
import SideNavMoreOptions from '../side-nav-more-options/side-nav-more-options.vue' import SideNavMoreOptions from '../side-nav-more-options/side-nav-more-options.vue'
import router from '../../router/index.js'
export default Vue.extend({ export default Vue.extend({
name: 'SideNav', name: 'SideNav',
@ -60,7 +59,7 @@ export default Vue.extend({
}, },
methods: { methods: {
navigate: function (route) { navigate: function (route) {
router.push('/' + route) this.$router.push('/' + route)
}, },
goToChannel: function (id) { goToChannel: function (id) {

View File

@ -7,11 +7,14 @@
<div class="inner"> <div class="inner">
<div <div
class="navOption topNavOption mobileShow" class="navOption topNavOption mobileShow"
role="button"
tabindex="0"
@click="navigate('subscriptions')" @click="navigate('subscriptions')"
> >
<font-awesome-icon <font-awesome-icon
icon="rss" icon="rss"
class="navIcon" class="navIcon"
fixed-width
/> />
<p class="navLabel"> <p class="navLabel">
{{ $t("Subscriptions.Subscriptions") }} {{ $t("Subscriptions.Subscriptions") }}
@ -20,11 +23,15 @@
<div <div
v-if="!hideTrendingVideos" v-if="!hideTrendingVideos"
class="navOption mobileHidden" class="navOption mobileHidden"
role="button"
tabindex="0"
@click="navigate('trending')" @click="navigate('trending')"
@keypress="navigate('trending')"
> >
<font-awesome-icon <font-awesome-icon
icon="fire" icon="fire"
class="navIcon" class="navIcon"
fixed-width
/> />
<p class="navLabel"> <p class="navLabel">
{{ $t("Trending") }} {{ $t("Trending") }}
@ -33,11 +40,15 @@
<div <div
v-if="!hidePopularVideos" v-if="!hidePopularVideos"
class="navOption mobileHidden" class="navOption mobileHidden"
role="button"
tabindex="0"
@click="navigate('popular')" @click="navigate('popular')"
@keypress="navigate('popular')"
> >
<font-awesome-icon <font-awesome-icon
icon="users" icon="users"
class="navIcon" class="navIcon"
fixed-width
/> />
<p class="navLabel"> <p class="navLabel">
{{ $t("Most Popular") }} {{ $t("Most Popular") }}
@ -46,11 +57,15 @@
<div <div
v-if="!hidePlaylists" v-if="!hidePlaylists"
class="navOption mobileShow" class="navOption mobileShow"
role="button"
tabindex="0"
@click="navigate('userplaylists')" @click="navigate('userplaylists')"
@keypress="navigate('userplaylists')"
> >
<font-awesome-icon <font-awesome-icon
icon="bookmark" icon="bookmark"
class="navIcon" class="navIcon"
fixed-width
/> />
<p class="navLabel"> <p class="navLabel">
{{ $t("Playlists") }} {{ $t("Playlists") }}
@ -61,11 +76,15 @@
/> />
<div <div
class="navOption mobileShow" class="navOption mobileShow"
role="button"
tabindex="0"
@click="navigate('history')" @click="navigate('history')"
@keypress="navigate('history')"
> >
<font-awesome-icon <font-awesome-icon
icon="history" icon="history"
class="navIcon" class="navIcon"
fixed-width
/> />
<p class="navLabel"> <p class="navLabel">
{{ $t("History.History") }} {{ $t("History.History") }}
@ -74,11 +93,15 @@
<hr> <hr>
<div <div
class="navOption mobileShow" class="navOption mobileShow"
role="button"
tabindex="0"
@click="navigate('settings')" @click="navigate('settings')"
@keypress="navigate('settings')"
> >
<font-awesome-icon <font-awesome-icon
icon="sliders-h" icon="sliders-h"
class="navIcon" class="navIcon"
fixed-width
/> />
<p class="navLabel"> <p class="navLabel">
{{ $t("Settings.Settings") }} {{ $t("Settings.Settings") }}
@ -86,11 +109,15 @@
</div> </div>
<div <div
class="navOption mobileHidden" class="navOption mobileHidden"
role="button"
tabindex="0"
@click="navigate('about')" @click="navigate('about')"
@keypress="navigate('about')"
> >
<font-awesome-icon <font-awesome-icon
icon="info-circle" icon="info-circle"
class="navIcon" class="navIcon"
fixed-width
/> />
<p class="navLabel"> <p class="navLabel">
{{ $t("About.About") }} {{ $t("About.About") }}
@ -105,7 +132,10 @@
:key="index" :key="index"
class="navChannel mobileHidden" class="navChannel mobileHidden"
:title="channel.name" :title="channel.name"
role="button"
tabindex="0"
@click="goToChannel(channel.id)" @click="goToChannel(channel.id)"
@keypress="goToChannel(channel.id)"
> >
<div <div
class="thumbnailContainer" class="thumbnailContainer"

View File

@ -0,0 +1,25 @@
.relative {
position: relative;
}
.card {
width: 85%;
margin: 0 auto;
margin-bottom: 10px;
}
.center {
text-align: center;
}
@media only screen and (max-width: 680px) {
.card {
width: 90%;
}
}
@media only screen and (max-width: 500px) {
.sponsorBlockSettingsFlexBox {
justify-content: flex-start;
}
}

View File

@ -0,0 +1,48 @@
import Vue from 'vue'
import { mapActions } from 'vuex'
import FtCard from '../ft-card/ft-card.vue'
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
import FtInput from '../ft-input/ft-input.vue'
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
export default Vue.extend({
name: 'SponsorBlockSettings',
components: {
'ft-card': FtCard,
'ft-toggle-switch': FtToggleSwitch,
'ft-input': FtInput,
'ft-flex-box': FtFlexBox
},
computed: {
useSponsorBlock: function () {
return this.$store.getters.getUseSponsorBlock
},
sponsorBlockUrl: function () {
return this.$store.getters.getSponsorBlockUrl
},
sponsorBlockShowSkippedToast: function () {
return this.$store.getters.getSponsorBlockShowSkippedToast
}
},
methods: {
handleUpdateSponsorBlock: function (value) {
this.updateUseSponsorBlock(value)
},
handleUpdateSponsorBlockUrl: function (value) {
const sponsorBlockUrlWithoutTrailingSlash = value.replace(/\/$/, '')
const sponsorBlockUrlWithoutApiSuffix = sponsorBlockUrlWithoutTrailingSlash.replace(/\/api$/, '')
this.updateSponsorBlockUrl(sponsorBlockUrlWithoutApiSuffix)
},
handleUpdateSponsorBlockShowSkippedToast: function (value) {
this.updateSponsorBlockShowSkippedToast(value)
},
...mapActions([
'updateUseSponsorBlock',
'updateSponsorBlockUrl',
'updateSponsorBlockShowSkippedToast'
])
}
})

View File

@ -0,0 +1,37 @@
<template>
<ft-card
class="relative card"
>
<h3
class="videoTitle"
>
{{ $t("Settings.SponsorBlock Settings.SponsorBlock Settings") }}
</h3>
<ft-flex-box class="sponsorBlockSettingsFlexBox">
<ft-toggle-switch
:label="$t('Settings.SponsorBlock Settings.Enable SponsorBlock')"
:default-value="useSponsorBlock"
@change="handleUpdateSponsorBlock"
/>
</ft-flex-box>
<ft-flex-box class="sponsorBlockSettingsFlexBox">
<ft-toggle-switch
:label="$t('Settings.SponsorBlock Settings.Notify when sponsor segment is skipped')"
:default-value="sponsorBlockShowSkippedToast"
@change="handleUpdateSponsorBlockShowSkippedToast"
/>
</ft-flex-box>
<ft-flex-box>
<ft-input
:placeholder="$t('Settings.SponsorBlock Settings[\'SponsorBlock API Url (Default is https://sponsor.ajay.app)\']')"
:show-arrow="false"
:show-label="true"
:value="sponsorBlockUrl"
@input="handleUpdateSponsorBlockUrl"
/>
</ft-flex-box>
</ft-card>
</template>
<script src="./sponsor-block-settings.js" />
<style scoped src="./sponsor-block-settings.css" />

View File

@ -1,11 +1,12 @@
import Vue from 'vue' import Vue from 'vue'
import { mapActions } from 'vuex'
import FtInput from '../ft-input/ft-input.vue' import FtInput from '../ft-input/ft-input.vue'
import FtSearchFilters from '../ft-search-filters/ft-search-filters.vue' import FtSearchFilters from '../ft-search-filters/ft-search-filters.vue'
import FtProfileSelector from '../ft-profile-selector/ft-profile-selector.vue' import FtProfileSelector from '../ft-profile-selector/ft-profile-selector.vue'
import $ from 'jquery' import $ from 'jquery'
import router from '../../router/index.js'
import debounce from 'lodash.debounce' import debounce from 'lodash.debounce'
import ytSuggest from 'youtube-suggest' import ytSuggest from 'youtube-suggest'
const { ipcRenderer } = require('electron')
export default Vue.extend({ export default Vue.extend({
name: 'TopNav', name: 'TopNav',
@ -49,6 +50,18 @@ export default Vue.extend({
backendPreference: function () { backendPreference: function () {
return this.$store.getters.getBackendPreference return this.$store.getters.getBackendPreference
},
forwardText: function () {
return this.$t('Forward')
},
backwardText: function () {
return this.$t('Backward')
},
newWindowText: function () {
return this.$t('Open New Window')
} }
}, },
mounted: function () { mounted: function () {
@ -89,22 +102,63 @@ export default Vue.extend({
searchInput.blur() searchInput.blur()
} }
const { videoId, timestamp } = await this.$store.dispatch('getVideoParamsFromUrl', query) this.$store.dispatch('getYoutubeUrlInfo', query).then((result) => {
const playlistId = await this.$store.dispatch('getPlaylistIdFromUrl', query) switch (result.urlType) {
case 'video': {
const { videoId, timestamp } = result
console.log(playlistId)
if (videoId) {
this.$router.push({ this.$router.push({
path: `/watch/${videoId}`, path: `/watch/${videoId}`,
query: timestamp ? { timestamp } : {} query: timestamp ? { timestamp } : {}
}) })
} else if (playlistId) { break
}
case 'playlist': {
const { playlistId, query } = result
this.$router.push({ this.$router.push({
path: `/playlist/${playlistId}` path: `/playlist/${playlistId}`,
query
}) })
} else { break
router.push({ }
case 'search': {
const { searchQuery, query } = result
this.$router.push({
path: `/search/${encodeURIComponent(searchQuery)}`,
query
})
break
}
case 'hashtag': {
// TODO: Implement a hashtag related view
let message = 'Hashtags have not yet been implemented, try again later'
if (this.$t(message) && this.$t(message) !== '') {
message = this.$t(message)
}
this.showToast({
message: message
})
break
}
case 'channel': {
const { channelId } = result
this.$router.push({
path: `/channel/${channelId}`
})
break
}
case 'invalid_url':
default: {
this.$router.push({
path: `/search/${encodeURIComponent(query)}`, path: `/search/${encodeURIComponent(query)}`,
query: { query: {
sortBy: this.searchSettings.sortBy, sortBy: this.searchSettings.sortBy,
@ -114,7 +168,10 @@ export default Vue.extend({
} }
}) })
} }
}
})
// Close the filter panel
this.showFilters = false this.showFilters = false
}, },
@ -195,6 +252,14 @@ export default Vue.extend({
toggleSideNav: function () { toggleSideNav: function () {
this.$store.commit('toggleSideNav') this.$store.commit('toggleSideNav')
} },
createNewWindow: function () {
ipcRenderer.send('createNewWindow')
},
...mapActions([
'showToast'
])
} }
}) })

View File

@ -66,6 +66,10 @@
@media only screen and (min-width: 681px) @media only screen and (min-width: 681px)
display: none display: none
.navNewWindowIcon
@media only screen and (max-width: 680px)
display: none
.logo // parts that make up the logo .logo // parts that make up the logo
display: flex display: flex
align-items: center align-items: center

View File

@ -7,22 +7,42 @@
<font-awesome-icon <font-awesome-icon
class="menuIcon navIcon" class="menuIcon navIcon"
icon="bars" icon="bars"
role="button"
tabindex="0"
@click="toggleSideNav" @click="toggleSideNav"
@keypress="toggleSideNav"
/> />
<font-awesome-icon <font-awesome-icon
class="navBackIcon navIcon" class="navBackIcon navIcon"
icon="arrow-left" icon="arrow-left"
role="button"
tabindex="0"
:title="forwardText"
@click="historyBack" @click="historyBack"
@keypress="historyBack"
/> />
<font-awesome-icon <font-awesome-icon
class="navForwardIcon navIcon" class="navForwardIcon navIcon"
icon="arrow-right" icon="arrow-right"
role="button"
tabindex="0"
:title="forwardText"
@click="historyForward" @click="historyForward"
@keypress="historyForward"
/> />
<font-awesome-icon <font-awesome-icon
class="navSearchIcon navIcon" class="navSearchIcon navIcon"
icon="search" icon="search"
role="button"
tabindex="0"
@click="toggleSearchContainer" @click="toggleSearchContainer"
@keypress="toggleSearchContainer"
/>
<font-awesome-icon
class="navNewWindowIcon navIcon"
icon="clone"
:title="newWindowText"
@click="createNewWindow"
/> />
<div class="logo"> <div class="logo">
<div <div
@ -39,6 +59,7 @@
:placeholder="$t('Search / Go to URL')" :placeholder="$t('Search / Go to URL')"
class="searchInput" class="searchInput"
:is-search="true" :is-search="true"
:select-on-focus="true"
:data-list="searchSuggestionsDataList" :data-list="searchSuggestionsDataList"
@input="getSearchSuggestionsDebounce" @input="getSearchSuggestionsDebounce"
@click="goToSearch" @click="goToSearch"
@ -46,7 +67,10 @@
<font-awesome-icon <font-awesome-icon
class="navFilterIcon navIcon" class="navFilterIcon navIcon"
icon="filter" icon="filter"
role="button"
tabindex="0"
@click="showFilters = !showFilters" @click="showFilters = !showFilters"
@keypress="showFilters = !showFilters"
/> />
</div> </div>
<ft-search-filters <ft-search-filters

View File

@ -34,6 +34,7 @@
height: 60px; height: 60px;
border-radius: 200px 200px 200px 200px; border-radius: 200px 200px 200px 200px;
-webkit-border-radius: 200px 200px 200px 200px; -webkit-border-radius: 200px 200px 200px 200px;
cursor: pointer;
} }
.commentAuthor { .commentAuthor {
@ -41,6 +42,7 @@
font-size: 14px; font-size: 14px;
margin-left: 68px; margin-left: 68px;
margin-top: 0px; margin-top: 0px;
cursor: pointer;
} }
.commentText { .commentText {

View File

@ -227,6 +227,7 @@ export default Vue.extend({
parseLocalCommentData: function (response, index = null) { parseLocalCommentData: function (response, index = null) {
const commentData = response.comments.map((comment) => { const commentData = response.comments.map((comment) => {
comment.authorLink = comment.authorId
comment.showReplies = false comment.showReplies = false
comment.authorThumb = comment.authorThumb[0].url comment.authorThumb = comment.authorThumb[0].url
comment.replies = [] comment.replies = []
@ -273,6 +274,7 @@ export default Vue.extend({
this.invidiousAPICall(payload).then((response) => { this.invidiousAPICall(payload).then((response) => {
const commentData = response.comments.map((comment) => { const commentData = response.comments.map((comment) => {
comment.showReplies = false comment.showReplies = false
comment.authorLink = comment.authorId
comment.authorThumb = comment.authorThumbnails[1].url.replace('https://yt3.ggpht.com', `${this.invidiousInstance}/ggpht/`) comment.authorThumb = comment.authorThumbnails[1].url.replace('https://yt3.ggpht.com', `${this.invidiousInstance}/ggpht/`)
if (this.hideCommentLikes) { if (this.hideCommentLikes) {
comment.likes = null comment.likes = null
@ -338,6 +340,7 @@ export default Vue.extend({
this.$store.dispatch('invidiousAPICall', payload).then((response) => { this.$store.dispatch('invidiousAPICall', payload).then((response) => {
const commentData = response.comments.map((comment) => { const commentData = response.comments.map((comment) => {
comment.showReplies = false comment.showReplies = false
comment.authorLink = comment.authorId
comment.authorThumb = comment.authorThumbnails[1].url.replace('https://yt3.ggpht.com', `${this.invidiousInstance}/ggpht/`) comment.authorThumb = comment.authorThumbnails[1].url.replace('https://yt3.ggpht.com', `${this.invidiousInstance}/ggpht/`)
if (this.hideCommentLikes) { if (this.hideCommentLikes) {
comment.likes = null comment.likes = null
@ -372,6 +375,10 @@ export default Vue.extend({
}) })
}, },
goToChannel: function (channelId) {
this.$router.push({ path: `/channel/${channelId}` })
},
...mapActions([ ...mapActions([
'showToast', 'showToast',
'toLocalePublicationString', 'toLocalePublicationString',

View File

@ -45,8 +45,12 @@
<img <img
:src="comment.authorThumb" :src="comment.authorThumb"
class="commentThumbnail" class="commentThumbnail"
@click="goToChannel(comment.authorLink)"
>
<p
class="commentAuthor"
@click="goToChannel(comment.authorLink)"
> >
<p class="commentAuthor">
{{ comment.author }} {{ comment.author }}
<span class="commentDate"> <span class="commentDate">
{{ comment.time }} {{ comment.time }}

View File

@ -55,9 +55,8 @@ export default Vue.extend({
descriptionText = descriptionText.replace(/&v.+?(?=")/g, '') descriptionText = descriptionText.replace(/&v.+?(?=")/g, '')
descriptionText = descriptionText.replace(/&redirect-token.+?(?=")/g, '') descriptionText = descriptionText.replace(/&redirect-token.+?(?=")/g, '')
descriptionText = descriptionText.replace(/&redir_token.+?(?=")/g, '') descriptionText = descriptionText.replace(/&redir_token.+?(?=")/g, '')
descriptionText = descriptionText.replace(/href="http(s)?:\/\/youtube\.com/g, 'href="freetube://https://youtube.com') descriptionText = descriptionText.replace(/href="\//g, 'href="https://www.youtube.com/')
descriptionText = descriptionText.replace(/href="\/watch/g, 'href="freetube://https://youtube.com') // TODO: Implement hashtag support
descriptionText = descriptionText.replace(/href="\/results\?search_query=/g, 'href="freetube://')
descriptionText = descriptionText.replace(/href="\/hashtag\//g, 'href="freetube://') descriptionText = descriptionText.replace(/href="\/hashtag\//g, 'href="freetube://')
descriptionText = descriptionText.replace(/yt\.www\.watch\.player\.seekTo/g, 'changeDuration') descriptionText = descriptionText.replace(/yt\.www\.watch\.player\.seekTo/g, 'changeDuration')

View File

@ -74,7 +74,7 @@
v-if="theatrePossible" v-if="theatrePossible"
:title="$t('Toggle Theatre Mode')" :title="$t('Toggle Theatre Mode')"
class="theatreModeButton option" class="theatreModeButton option"
icon="expand-alt" icon="tv"
theme="secondary" theme="secondary"
@click="$emit('theatre-mode')" @click="$emit('theatre-mode')"
/> />

View File

@ -161,7 +161,7 @@ export default Vue.extend({
comment.messageHtml = comment.messageHtml + text.text comment.messageHtml = comment.messageHtml + text.text
} }
} else if (typeof (text.alt) !== 'undefined') { } else if (typeof (text.alt) !== 'undefined') {
const htmlImg = `<img src="${text.url}" alt="${text.alt}" />` const htmlImg = `<img src="${text.url}" alt="${text.alt}" height="24" width="24" />`
comment.messageHtml = comment.messageHtml + htmlImg comment.messageHtml = comment.messageHtml + htmlImg
} else { } else {
comment.messageHtml = comment.messageHtml + text.text comment.messageHtml = comment.messageHtml + text.text

View File

@ -27,7 +27,7 @@ Vue.component('FontAwesomeIcon', FontAwesomeIcon)
Vue.use(VueI18n) Vue.use(VueI18n)
// List of locales approved for use // List of locales approved for use
const activeLocales = ['en-US', 'en_GB', 'ar', 'bg', 'cs', 'da', 'de-DE', 'el', 'es', 'es-MX', 'fi', 'fr-FR', 'gl', 'he', 'hu', 'hr', 'id', 'it', 'ja', 'nl', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ru', 'sk', 'sl', 'sv', 'tr', 'vi', 'zh-CN', 'zh-TW'] const activeLocales = ['en-US', 'en_GB', 'ar', 'bg', 'cs', 'da', 'de-DE', 'el', 'es', 'es-MX', 'fi', 'fr-FR', 'gl', 'he', 'hu', 'hr', 'id', '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 = {} const messages = {}
/* eslint-disable-next-line */ /* eslint-disable-next-line */
const fileLocation = isDev ? 'static/locales/' : `${__dirname}/static/locales/` const fileLocation = isDev ? 'static/locales/' : `${__dirname}/static/locales/`
@ -46,7 +46,7 @@ activeLocales.forEach((locale) => {
const i18n = new VueI18n({ const i18n = new VueI18n({
locale: 'en-US', // set locale locale: 'en-US', // set locale
fallbackLocale: { fallbackLocale: {
default: 'en-US' default: 'en-US' // for the case systems locale has no corresponding .yaml file en-US gets set
}, },
messages // set locale messages messages // set locale messages
}) })

View File

@ -13,7 +13,6 @@ if (window && window.process && window.process.type === 'renderer') {
const remote = require('@electron/remote') const remote = require('@electron/remote')
dbLocation = remote.app.getPath('userData') dbLocation = remote.app.getPath('userData')
dbLocation = dbLocation + '/history.db' dbLocation = dbLocation + '/history.db'
} else { } else {
dbLocation = 'history.db' dbLocation = 'history.db'
@ -77,6 +76,10 @@ const actions = {
dispatch('grabHistory') dispatch('grabHistory')
} }
}) })
},
compactHistory (_) {
historyDb.persistence.compactDatafile()
} }
} }

View File

@ -47,6 +47,7 @@ const getters = {
const actions = { const actions = {
grabAllProfiles ({ rootState, dispatch, commit }, defaultName = null) { grabAllProfiles ({ rootState, dispatch, commit }, defaultName = null) {
return new Promise((resolve, reject) => {
profileDb.find({}, (err, results) => { profileDb.find({}, (err, results) => {
if (!err) { if (!err) {
if (results.length === 0) { if (results.length === 0) {
@ -72,14 +73,19 @@ const actions = {
}) })
if (profileIndex !== -1) { if (profileIndex !== -1) {
dispatch('updateActiveProfile', profileIndex) commit('setActiveProfile', profileIndex)
} }
} }
commit('setProfileList', profiles) commit('setProfileList', profiles)
} }
resolve()
} else {
reject(err)
} }
}) })
})
}, },
grabProfileInfo (_, profileId) { grabProfileInfo (_, profileId) {
@ -103,7 +109,7 @@ const actions = {
textColor: textColor, textColor: textColor,
subscriptions: [] subscriptions: []
} }
console.log(defaultProfile)
profileDb.update({ _id: 'allChannels' }, defaultProfile, { upsert: true }, (err, numReplaced) => { profileDb.update({ _id: 'allChannels' }, defaultProfile, { upsert: true }, (err, numReplaced) => {
if (!err) { if (!err) {
dispatch('grabAllProfiles') dispatch('grabAllProfiles')
@ -135,6 +141,10 @@ const actions = {
}) })
}, },
compactProfiles (_) {
profileDb.persistence.compactDatafile()
},
updateActiveProfile ({ commit }, index) { updateActiveProfile ({ commit }, index) {
commit('setActiveProfile', index) commit('setActiveProfile', index)
} }

View File

@ -47,6 +47,7 @@ const state = {
enableSearchSuggestions: true, enableSearchSuggestions: true,
rememberHistory: true, rememberHistory: true,
saveWatchedProgress: true, saveWatchedProgress: true,
removeVideoMetaFiles: true,
autoplayVideos: true, autoplayVideos: true,
autoplayPlaylists: true, autoplayPlaylists: true,
playNextVideo: false, playNextVideo: false,
@ -77,7 +78,10 @@ const state = {
hidePopularVideos: false, hidePopularVideos: false,
hidePlaylists: false, hidePlaylists: false,
hideLiveChat: false, hideLiveChat: false,
hideActiveSubscriptions: false hideActiveSubscriptions: false,
useSponsorBlock: false,
sponsorBlockUrl: 'https://sponsor.ajay.app',
sponsorBlockShowSkippedToast: true
} }
const getters = { const getters = {
@ -141,6 +145,10 @@ const getters = {
return state.saveWatchedProgress return state.saveWatchedProgress
}, },
getRemoveVideoMetaFiles: () => {
return state.removeVideoMetaFiles
},
getAutoplayVideos: () => { getAutoplayVideos: () => {
return state.autoplayVideos return state.autoplayVideos
}, },
@ -259,11 +267,24 @@ const getters = {
getHideActiveSubscriptions: () => { getHideActiveSubscriptions: () => {
return state.hideActiveSubscriptions return state.hideActiveSubscriptions
},
getUseSponsorBlock: () => {
return state.useSponsorBlock
},
getSponsorBlockUrl: () => {
return state.sponsorBlockUrl
},
getSponsorBlockShowSkippedToast: () => {
return state.sponsorBlockShowSkippedToast
} }
} }
const actions = { const actions = {
grabUserSettings ({ dispatch, commit, rootState }) { grabUserSettings ({ dispatch, commit, rootState }) {
return new Promise((resolve, reject) => {
settingsDb.find({}, (err, results) => { settingsDb.find({}, (err, results) => {
if (!err) { if (!err) {
console.log(results) console.log(results)
@ -280,6 +301,7 @@ const actions = {
commit('setBackendFallback', result.value) commit('setBackendFallback', result.value)
break break
case 'defaultProfile': case 'defaultProfile':
console.log('IN SETTING DEFAULT:', result.value)
commit('setDefaultProfile', result.value) commit('setDefaultProfile', result.value)
break break
case 'checkForUpdates': case 'checkForUpdates':
@ -328,6 +350,9 @@ const actions = {
case 'saveWatchedProgress': case 'saveWatchedProgress':
commit('setSaveWatchedProgress', result.value) commit('setSaveWatchedProgress', result.value)
break break
case 'removeVideoMetaFiles':
commit('setRemoveVideoMetaFiles', result.value)
break
case 'autoplayVideos': case 'autoplayVideos':
commit('setAutoplayVideos', result.value) commit('setAutoplayVideos', result.value)
break break
@ -407,9 +432,20 @@ const actions = {
case 'hideActiveSubscriptions': case 'hideActiveSubscriptions':
commit('setHideActiveSubscriptions', result.value) commit('setHideActiveSubscriptions', result.value)
break break
case 'useSponsorBlock':
commit('setUseSponsorBlock', result.value)
break
case 'sponsorBlockUrl':
commit('setSponsorBlockUrl', result.value)
break
case 'sponsorBlockShowSkippedToast':
commit('setSponsorBlockShowSkippedToast', result.value)
} }
}) })
resolve()
} }
reject(err)
})
}) })
}, },
@ -550,6 +586,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) { updateAutoplayVideos ({ commit }, autoplayVideos) {
settingsDb.update({ _id: 'autoplayVideos' }, { _id: 'autoplayVideos', value: autoplayVideos }, { upsert: true }, (err, numReplaced) => { settingsDb.update({ _id: 'autoplayVideos' }, { _id: 'autoplayVideos', value: autoplayVideos }, { upsert: true }, (err, numReplaced) => {
if (!err) { if (!err) {
@ -765,6 +809,30 @@ const actions = {
commit('setHideLiveChat', hideLiveChat) commit('setHideLiveChat', hideLiveChat)
} }
}) })
},
updateUseSponsorBlock ({ commit }, useSponsorBlock) {
settingsDb.update({ _id: 'useSponsorBlock' }, { _id: 'useSponsorBlock', value: useSponsorBlock }, { upsert: true }, (err, numReplaced) => {
if (!err) {
commit('setUseSponsorBlock', useSponsorBlock)
}
})
},
updateSponsorBlockUrl ({ commit }, sponsorBlockUrl) {
settingsDb.update({ _id: 'sponsorBlockUrl' }, { _id: 'sponsorBlockUrl', value: sponsorBlockUrl }, { upsert: true }, (err, numReplaced) => {
if (!err) {
commit('setSponsorBlockUrl', sponsorBlockUrl)
}
})
},
updateSponsorBlockShowSkippedToast ({ commit }, sponsorBlockShowSkippedToast) {
settingsDb.update({ _id: 'sponsorBlockShowSkippedToast' }, { _id: 'sponsorBlockShowSkippedToast', value: sponsorBlockShowSkippedToast }, { upsert: true }, (err, numReplaced) => {
if (!err) {
commit('setSponsorBlockShowSkippedToast', sponsorBlockShowSkippedToast)
}
})
} }
} }
@ -817,6 +885,11 @@ const mutations = {
setSaveWatchedProgress (state, saveWatchedProgress) { setSaveWatchedProgress (state, saveWatchedProgress) {
state.saveWatchedProgress = saveWatchedProgress state.saveWatchedProgress = saveWatchedProgress
}, },
setRemoveVideoMetaFiles (state, removeVideoMetaFiles) {
state.removeVideoMetaFiles = removeVideoMetaFiles
},
setAutoplayVideos (state, autoplayVideos) { setAutoplayVideos (state, autoplayVideos) {
state.autoplayVideos = autoplayVideos state.autoplayVideos = autoplayVideos
}, },
@ -918,6 +991,15 @@ const mutations = {
}, },
setHideActiveSubscriptions (state, hideActiveSubscriptions) { setHideActiveSubscriptions (state, hideActiveSubscriptions) {
state.hideActiveSubscriptions = hideActiveSubscriptions state.hideActiveSubscriptions = hideActiveSubscriptions
},
setUseSponsorBlock (state, useSponsorBlock) {
state.useSponsorBlock = useSponsorBlock
},
setSponsorBlockUrl (state, sponsorBlockUrl) {
state.sponsorBlockUrl = sponsorBlockUrl
},
setSponsorBlockShowSkippedToast (state, sponsorBlockShowSkippedToast) {
state.sponsorBlockShowSkippedToast = sponsorBlockShowSkippedToast
} }
} }

View File

@ -0,0 +1,38 @@
import $ from 'jquery'
import forge from 'node-forge'
const state = {}
const getters = {}
const actions = {
sponsorBlockSkipSegments ({ rootState }, { videoId, categories }) {
return new Promise((resolve, reject) => {
const messageDigestSha256 = forge.md.sha256.create()
messageDigestSha256.update(videoId)
const videoIdHashPrefix = messageDigestSha256.digest().toHex().substring(0, 4)
const requestUrl = `${rootState.settings.sponsorBlockUrl}/api/skipSegments/${videoIdHashPrefix}?categories=${JSON.stringify(categories)}`
$.getJSON(requestUrl, (response) => {
const segments = response
.filter((result) => result.videoID === videoId)
.flatMap((result) => result.segments)
resolve(segments)
}).fail((xhr, textStatus, error) => {
console.log(xhr)
console.log(textStatus)
console.log(requestUrl)
console.log(error)
reject(xhr)
})
})
}
}
const mutations = {}
export default {
state,
getters,
actions,
mutations
}

View File

@ -239,25 +239,143 @@ const actions = {
return extractors.reduce((a, c) => a || c(), null) || paramsObject return extractors.reduce((a, c) => a || c(), null) || paramsObject
}, },
getPlaylistIdFromUrl (_, url) { getYoutubeUrlInfo ({ state }, urlStr) {
/** @type {URL} */ // Returns
let urlObject // - urlType [String] `video`, `playlist`
//
// If `urlType` is "video"
// - videoId [String]
// - timestamp [String]
//
// If `urlType` is "playlist"
// - playlistId [String]
// - query [Object]
//
// If `urlType` is "search"
// - searchQuery [String]
// - query [Object]
//
// If `urlType` is "hashtag"
// Nothing else
//
// If `urlType` is "channel"
// - channelId [String]
//
// If `urlType` is "unknown"
// Nothing else
//
// If `urlType` is "invalid_url"
// Nothing else
const { videoId, timestamp } = actions.getVideoParamsFromUrl(null, urlStr)
if (videoId) {
return {
urlType: 'video',
videoId,
timestamp
}
}
let url
try { try {
urlObject = new URL(url) url = new URL(urlStr)
} catch (e) { } catch {
return false return {
urlType: 'invalid_url'
}
}
let urlType = 'unknown'
const channelPattern =
/^\/(?:c\/|channel\/|user\/)?([^/]+)(?:\/join)?\/?$/
const typePatterns = new Map([
['playlist', /^\/playlist\/?$/],
['search', /^\/results\/?$/],
['hashtag', /^\/hashtag\/([^/?&#]+)$/],
['channel', channelPattern]
])
for (const [type, pattern] of typePatterns) {
const matchFound = pattern.test(url.pathname)
if (matchFound) {
urlType = type
break
}
} }
const extractors = [ switch (urlType) {
// anything with /playlist?list= case 'playlist': {
function() { if (!url.searchParams.has('list')) {
if (urlObject.pathname === '/playlist' && urlObject.searchParams.has('list')) { throw new Error('Playlist: "list" field not found')
return urlObject.searchParams.get('list')
} }
}
]
return extractors.reduce((a, c) => a || c(), null) || false const playlistId = url.searchParams.get('list')
url.searchParams.delete('list')
const query = {}
for (const [param, value] of url.searchParams) {
query[param] = value
}
return {
urlType: 'playlist',
playlistId,
query
}
}
case 'search': {
if (!url.searchParams.has('search_query')) {
throw new Error('Search: "search_query" field not found')
}
const searchQuery = url.searchParams.get('search_query')
url.searchParams.delete('search_query')
const searchSettings = state.searchSettings
const query = {
sortBy: searchSettings.sortBy,
time: searchSettings.time,
type: searchSettings.type,
duration: searchSettings.duration
}
for (const [param, value] of url.searchParams) {
query[param] = value
}
return {
urlType: 'search',
searchQuery,
query
}
}
case 'hashtag': {
return {
urlType: 'hashtag'
}
}
case 'channel': {
const channelId = url.pathname.match(channelPattern)[1]
if (!channelId) {
throw new Error('Channel: could not extract id')
}
return {
urlType: 'channel',
channelId
}
}
default: {
// Unknown URL type
return {
urlType: 'unknown'
}
}
}
}, },
padNumberWithLeadingZeros(_, payload) { padNumberWithLeadingZeros(_, payload) {

View File

@ -347,7 +347,7 @@ const actions = {
} }
ytdl.getInfo(videoId, { ytdl.getInfo(videoId, {
lang: localStorage.getItem('locale'), lang: 'en-US',
requestOptions: { agent } requestOptions: { agent }
}).then((result) => { }).then((result) => {
resolve(result) resolve(result)

View File

@ -448,6 +448,10 @@ body.vjs-full-window {
.vjs-icon-fullwindow-enter:before, .video-js .vjs-fullwindow-control .vjs-icon-placeholder:before { .vjs-icon-fullwindow-enter:before, .video-js .vjs-fullwindow-control .vjs-icon-placeholder:before {
content: url(assets/img/open_fullwindow.svg); content: url(assets/img/open_fullwindow.svg);
} }
/* Hide button in full screen mode */
.vjs--full-screen-enabled .vjs-button-fullwindow {
display: none;
}
.vjs-icon-fullwindow-exit, .video-js.vjs-fullwindow .vjs-fullwindow-control .vjs-icon-placeholder { .vjs-icon-fullwindow-exit, .video-js.vjs-fullwindow .vjs-fullwindow-control .vjs-icon-placeholder {
font-family: VideoJS; font-family: VideoJS;
@ -643,6 +647,48 @@ body.vjs-full-window {
display: none; display: none;
} }
.vjs-quality-level-value {
width: 100%;
height: 100%;
}
.vjs-quality-level-value span {
line-height: 40px;
}
.vjs-quality-level-value:hover + .vjs-quality-level-menu {
display: block;
}
.vjs-quality-level-menu {
display: none;
position: absolute;
bottom: 30px;
left: -33px;
z-index: 5;
background-color: #151b17;
width: 100px;
max-height: 225px;
overflow-y: auto;
}
.vjs-quality-level-menu:hover {
display: block;
}
.vjs-quality-level-menu .vjs-menu-item {
padding: 5px;
}
.quality-selected {
background-color: var(--primary-color);
color: var(--text-with-main-color);
}
.quality-selected:hover {
background-color: var(--primary-color-hover) !important;
}
.vjs-menu .vjs-menu-content { .vjs-menu .vjs-menu-content {
display: block; display: block;
padding: 0; padding: 0;
@ -1064,6 +1110,10 @@ body.vjs-full-window {
margin-left: -1px; margin-left: -1px;
} }
.video-js .vjs-volume-tooltip {
display: none;
}
.video-js .vjs-volume-panel { .video-js .vjs-volume-panel {
transition: width 1s; transition: width 1s;
} }

View File

@ -29,7 +29,7 @@ export default Vue.extend({
{ {
icon: 'question-circle', icon: 'question-circle',
title: this.$t('About.Help'), title: this.$t('About.Help'),
content: `<a href="https://github.com/FreeTubeApp/FreeTube/wiki">${this.$t('About.FreeTube Wiki')}</a> / <a href="https://github.com/FreeTubeApp/FreeTube/wiki/F.A.Q.">${this.$t('About.FAQ')}</a>` content: `<a href="https://docs.freetubeapp.io/">${this.$t('About.FreeTube Wiki')}</a> / <a href="https://docs.freetubeapp.io/faq/">${this.$t('About.FAQ')}</a>`
}, },
{ {
icon: 'exclamation-circle', icon: 'exclamation-circle',
@ -44,7 +44,7 @@ export default Vue.extend({
{ {
icon: 'newspaper', icon: 'newspaper',
title: this.$t('About.Blog'), title: this.$t('About.Blog'),
content: '<a href="https://freetube.writeas.com/">https://freetube.writeas.com/</a>' content: '<a href="https://blog.freetubeapp.io">https://blog.freetubeapp.io</a>'
}, },
{ {
icon: 'envelope', icon: 'envelope',
@ -69,7 +69,7 @@ export default Vue.extend({
{ {
icon: 'users', icon: 'users',
title: this.$t('About.Credits'), title: this.$t('About.Credits'),
content: `${this.$t('About.FreeTube is made possible by')} <a href="https://github.com/FreeTubeApp/FreeTube/wiki/Credits">${this.$t('About.these people and projects')}</a>` content: `${this.$t('About.FreeTube is made possible by')} <a href="https://docs.freetubeapp.io/credits/">${this.$t('About.these people and projects')}</a>`
}, },
{ {
icon: 'heart', icon: 'heart',

View File

@ -257,7 +257,7 @@ export default Vue.extend({
} }
this.thumbnailUrl = response.authorThumbnails[2].url this.thumbnailUrl = response.authorThumbnails[2].url
this.channelDescription = autolinker.link(response.description) this.channelDescription = autolinker.link(response.description)
this.relatedChannels = response.relatedChannels this.relatedChannels = response.relatedChannels.items
if (response.authorBanners !== null) { if (response.authorBanners !== null) {
const bannerUrl = response.authorBanners[response.authorBanners.length - 1].url const bannerUrl = response.authorBanners[response.authorBanners.length - 1].url

View File

@ -70,6 +70,7 @@
</div> </div>
<ft-input <ft-input
:placeholder="$t('Channel.Search Channel')" :placeholder="$t('Channel.Search Channel')"
:select-on-focus="true"
class="channelSearch" class="channelSearch"
@click="newSearch" @click="newSearch"
/> />

View File

@ -7,7 +7,7 @@ import FtListVideo from '../../components/ft-list-video/ft-list-video.vue'
import FtFlexBox from '../../components/ft-flex-box/ft-flex-box.vue' import FtFlexBox from '../../components/ft-flex-box/ft-flex-box.vue'
export default Vue.extend({ export default Vue.extend({
name: 'Search', name: 'Playlist',
components: { components: {
'ft-loader': FtLoader, 'ft-loader': FtLoader,
'ft-card': FtCard, 'ft-card': FtCard,
@ -40,25 +40,14 @@ export default Vue.extend({
watch: { watch: {
$route () { $route () {
// react to route changes... // react to route changes...
const payload = { this.getPlaylist()
query: this.$route.params.query,
options: {},
nextPage: false
}
if (typeof (this.sessionSearchHistory[this.query]) !== 'undefined' && this.query !== this.$route.params.query) {
this.isLoading = true
this.shownResults = []
// Replacing the data right away causes a strange error where the data
// Shown is mixed from 2 different search results. So we'll wait a moment
// Before showing the results.
setTimeout(this.replaceShownResults, 100, this.sessionSearchHistory[this.query])
} else {
this.performSearch(payload)
}
} }
}, },
mounted: function () { mounted: function () {
this.getPlaylist()
},
methods: {
getPlaylist: function () {
this.playlistId = this.$route.params.id this.playlistId = this.$route.params.id
switch (this.backendPreference) { switch (this.backendPreference) {
@ -70,7 +59,6 @@ export default Vue.extend({
break break
} }
}, },
methods: {
getPlaylistLocal: function () { getPlaylistLocal: function () {
this.isLoading = true this.isLoading = true

View File

@ -136,17 +136,17 @@ export default Vue.extend({
return null return null
}) })
const returnDataInvidious = [] const dataToShow = []
returnData.forEach((video) => { returnData.forEach((video) => {
if (video.type === 'video') { if (video.type === 'video') {
const authId = video.author.channelID const authId = video.author.channelID
const publishDate = video.uploadedAt const publishDate = video.uploadedAt
let videoDuration = video.duration let videoDuration = video.duration
const videoId = video.id const videoId = video.id
if (video.duration !== null && video.duration !== '') { if (videoDuration !== null && videoDuration !== '' && videoDuration !== 'LIVE') {
videoDuration = ytTrendScraper.calculate_length_in_seconds(video.duration) videoDuration = ytTrendScraper.calculate_length_in_seconds(video.duration)
} }
returnDataInvidious.push( dataToShow.push(
{ {
videoId: videoId, videoId: videoId,
title: video.title, title: video.title,
@ -160,22 +160,22 @@ export default Vue.extend({
published: publishDate, published: publishDate,
publishedText: publishDate, publishedText: publishDate,
lengthSeconds: videoDuration, lengthSeconds: videoDuration,
liveNow: video.isLive, liveNow: video.isLive || videoDuration === 'LIVE',
paid: false, paid: false,
premium: false, premium: false,
isUpcoming: false, isUpcoming: false,
timeText: video.duration timeText: videoDuration
} }
) )
} else { } else {
returnDataInvidious.push(video) dataToShow.push(video)
} }
}) })
if (payload.nextPage) { if (payload.nextPage) {
this.shownResults = this.shownResults.concat(returnDataInvidious) this.shownResults = this.shownResults.concat(dataToShow)
} else { } else {
this.shownResults = returnDataInvidious this.shownResults = dataToShow
} }
this.nextPageRef = result.continuation this.nextPageRef = result.continuation

View File

@ -9,6 +9,7 @@ import PrivacySettings from '../../components/privacy-settings/privacy-settings.
import DataSettings from '../../components/data-settings/data-settings.vue' import DataSettings from '../../components/data-settings/data-settings.vue'
import DistractionSettings from '../../components/distraction-settings/distraction-settings.vue' import DistractionSettings from '../../components/distraction-settings/distraction-settings.vue'
import ProxySettings from '../../components/proxy-settings/proxy-settings.vue' import ProxySettings from '../../components/proxy-settings/proxy-settings.vue'
import SponsorBlockSettings from '../../components/sponsor-block-settings/sponsor-block-settings.vue'
export default Vue.extend({ export default Vue.extend({
name: 'Settings', name: 'Settings',
@ -22,6 +23,7 @@ export default Vue.extend({
'privacy-settings': PrivacySettings, 'privacy-settings': PrivacySettings,
'data-settings': DataSettings, 'data-settings': DataSettings,
'distraction-settings': DistractionSettings, 'distraction-settings': DistractionSettings,
'proxy-settings': ProxySettings 'proxy-settings': ProxySettings,
'sponsor-block-settings': SponsorBlockSettings
} }
}) })

View File

@ -8,6 +8,7 @@
<privacy-settings /> <privacy-settings />
<data-settings /> <data-settings />
<proxy-settings /> <proxy-settings />
<sponsor-block-settings />
</div> </div>
</template> </template>

View File

@ -1,6 +1,5 @@
import Vue from 'vue' import Vue from 'vue'
import { mapActions } from 'vuex' import { mapActions } from 'vuex'
import xml2vtt from 'yt-xml2vtt'
import $ from 'jquery' import $ from 'jquery'
import fs from 'fs' import fs from 'fs'
import ytDashGen from 'yt-dash-manifest-generator' import ytDashGen from 'yt-dash-manifest-generator'
@ -33,6 +32,7 @@ export default Vue.extend({
}, },
beforeRouteLeave: function (to, from, next) { beforeRouteLeave: function (to, from, next) {
this.handleRouteChange() this.handleRouteChange()
window.removeEventListener('beforeunload', this.handleWatchProgress)
next() next()
}, },
data: function() { data: function() {
@ -69,7 +69,8 @@ export default Vue.extend({
activeSourceList: [], activeSourceList: [],
videoSourceList: [], videoSourceList: [],
audioSourceList: [], audioSourceList: [],
captionSourceList: [], adaptiveFormats: [],
captionHybridList: [], // [] -> Promise[] -> string[] (URIs)
recommendedVideos: [], recommendedVideos: [],
downloadLinks: [], downloadLinks: [],
watchingPlaylist: false, watchingPlaylist: false,
@ -91,6 +92,9 @@ export default Vue.extend({
rememberHistory: function () { rememberHistory: function () {
return this.$store.getters.getRememberHistory return this.$store.getters.getRememberHistory
}, },
removeVideoMetaFiles: function () {
return this.$store.getters.getRemoveVideoMetaFiles
},
saveWatchedProgress: function () { saveWatchedProgress: function () {
return this.$store.getters.getSaveWatchedProgress return this.$store.getters.getSaveWatchedProgress
}, },
@ -153,7 +157,7 @@ export default Vue.extend({
this.firstLoad = true this.firstLoad = true
this.activeFormat = this.defaultVideoFormat this.activeFormat = this.defaultVideoFormat
this.videoStoryboardSrc = '' this.videoStoryboardSrc = ''
this.captionSourceList = [] this.captionHybridList = []
this.downloadLinks = [] this.downloadLinks = []
this.checkIfPlaylist() this.checkIfPlaylist()
@ -193,6 +197,8 @@ export default Vue.extend({
break break
} }
} }
window.addEventListener('beforeunload', this.handleWatchProgress)
}, },
methods: { methods: {
changeTimestamp: function(timestamp) { changeTimestamp: function(timestamp) {
@ -290,17 +296,6 @@ export default Vue.extend({
this.isLiveContent = result.player_response.videoDetails.isLiveContent this.isLiveContent = result.player_response.videoDetails.isLiveContent
this.isUpcoming = result.player_response.videoDetails.isUpcoming ? result.player_response.videoDetails.isUpcoming : false this.isUpcoming = result.player_response.videoDetails.isUpcoming ? result.player_response.videoDetails.isUpcoming : false
if (!this.isLive && !this.isUpcoming) {
const captionTracks =
result.player_response.captions &&
result.player_response.captions.playerCaptionsTracklistRenderer
.captionTracks
if (typeof captionTracks !== 'undefined') {
await this.createCaptionUrls(captionTracks)
}
}
if (this.videoDislikeCount === null && !this.hideVideoLikesAndDislikes) { if (this.videoDislikeCount === null && !this.hideVideoLikesAndDislikes) {
this.videoDislikeCount = 0 this.videoDislikeCount = 0
} }
@ -317,7 +312,7 @@ export default Vue.extend({
} }
} }
if (this.isLive && !this.isUpcoming) { if ((this.isLive || this.isLiveContent) && !this.isUpcoming) {
this.enableLegacyFormat() this.enableLegacyFormat()
this.videoSourceList = result.formats.filter((format) => { this.videoSourceList = result.formats.filter((format) => {
@ -365,8 +360,15 @@ export default Vue.extend({
} else { } else {
this.videoLengthSeconds = parseInt(result.videoDetails.lengthSeconds) this.videoLengthSeconds = parseInt(result.videoDetails.lengthSeconds)
if (result.player_response.streamingData !== undefined) { if (result.player_response.streamingData !== undefined) {
if (typeof (result.player_response.streamingData.formats) !== 'undefined') {
this.videoSourceList = result.player_response.streamingData.formats.reverse() this.videoSourceList = result.player_response.streamingData.formats.reverse()
this.downloadLinks = result.formats.map((format) => { } else {
this.videoSourceList = result.player_response.streamingData.adaptiveFormats.reverse()
}
this.adaptiveFormats = this.videoSourceList
this.downloadLinks = result.formats.filter((format) => {
return typeof format.mimeType !== 'undefined'
}).map((format) => {
const qualityLabel = format.qualityLabel || format.bitrate const qualityLabel = format.qualityLabel || format.bitrate
const itag = format.itag const itag = format.itag
const fps = format.fps ? (format.fps + 'fps') : 'kbps' const fps = format.fps ? (format.fps + 'fps') : 'kbps'
@ -387,16 +389,35 @@ export default Vue.extend({
return object return object
}) })
let captionLinks = result.player_response.captions
if (typeof captionLinks !== 'undefined') { const captionTracks =
captionLinks = captionLinks.playerCaptionsTracklistRenderer.captionTracks.map((caption) => { result.player_response.captions &&
result.player_response.captions.playerCaptionsTracklistRenderer
.captionTracks
if (typeof captionTracks !== 'undefined') {
const locale = this.$i18n.locale
if (locale !== null) {
const standardLocale = locale.replace('_', '-')
const noLocaleCaption = !captionTracks.some(track =>
track.languageCode === standardLocale && track.kind !== 'asr'
)
if (!standardLocale.startsWith('en') && noLocaleCaption) {
const baseUrl = result.player_response.captions.playerCaptionsRenderer.baseUrl
this.tryAddingTranslatedLocaleCaption(captionTracks, standardLocale, baseUrl)
}
}
this.captionHybridList = this.createCaptionPromiseList(captionTracks)
const captionLinks = captionTracks.map((caption) => {
const label = `${caption.name.simpleText} (${caption.languageCode}) - text/vtt` const label = `${caption.name.simpleText} (${caption.languageCode}) - text/vtt`
const object = {
return {
url: caption.baseUrl, url: caption.baseUrl,
label: label label: label
} }
return object
}) })
this.downloadLinks = this.downloadLinks.concat(captionLinks) this.downloadLinks = this.downloadLinks.concat(captionLinks)
@ -415,7 +436,9 @@ export default Vue.extend({
if (this.proxyVideos) { if (this.proxyVideos) {
this.dashSrc = await this.createInvidiousDashManifest() this.dashSrc = await this.createInvidiousDashManifest()
} else { } else {
this.dashSrc = await this.createLocalDashManifest(result.player_response.streamingData.adaptiveFormats) const adaptiveFormats = result.player_response.streamingData.adaptiveFormats
this.dashSrc = await this.createLocalDashManifest(adaptiveFormats)
this.adaptiveFormats = adaptiveFormats
} }
this.audioSourceList = result.player_response.streamingData.adaptiveFormats.filter((format) => { this.audioSourceList = result.player_response.streamingData.adaptiveFormats.filter((format) => {
@ -524,8 +547,9 @@ export default Vue.extend({
this.videoPublished = result.published * 1000 this.videoPublished = result.published * 1000
this.videoDescriptionHtml = result.descriptionHtml this.videoDescriptionHtml = result.descriptionHtml
this.recommendedVideos = result.recommendedVideos this.recommendedVideos = result.recommendedVideos
this.adaptiveFormats = result.adaptiveFormats
this.isLive = result.liveNow this.isLive = result.liveNow
this.captionSourceList = result.captions.map(caption => { this.captionHybridList = result.captions.map(caption => {
caption.url = this.invidiousInstance + caption.url caption.url = this.invidiousInstance + caption.url
caption.type = '' caption.type = ''
caption.dataSource = 'invidious' caption.dataSource = 'invidious'
@ -678,6 +702,21 @@ export default Vue.extend({
this.updateHistory(videoData) this.updateHistory(videoData)
}, },
handleWatchProgress: function () {
if (this.rememberHistory && !this.isUpcoming && !this.isLoading && !this.isLive) {
const player = this.$refs.videoPlayer.player
if (player !== null && this.saveWatchedProgress) {
const currentTime = this.getWatchedProgress()
const payload = {
videoId: this.videoId,
watchProgress: currentTime
}
this.updateWatchProgress(payload)
}
}
},
checkIfWatched: function () { checkIfWatched: function () {
const historyIndex = this.historyCache.findIndex((video) => { const historyIndex = this.historyCache.findIndex((video) => {
return video.videoId === this.videoId return video.videoId === this.videoId
@ -839,71 +878,63 @@ export default Vue.extend({
}, },
handleVideoEnded: function () { handleVideoEnded: function () {
const nextVideoInterval = this.defaultInterval if (!this.watchingPlaylist && !this.playNextVideo) {
if (this.watchingPlaylist) { return
this.playNextTimeout = setTimeout(() => {
const player = this.$refs.videoPlayer.player
if (player !== null && player.paused()) {
this.$refs.watchVideoPlaylist.playNextVideo()
} }
}, nextVideoInterval * 1000)
this.showToast({ const nextVideoInterval = this.defaultInterval
message: this.$tc('Playing Next Video Interval', nextVideoInterval, { nextVideoInterval: nextVideoInterval }),
time: (nextVideoInterval * 1000) + 500,
action: () => {
clearTimeout(this.playNextTimeout)
this.showToast({
message: this.$t('Canceled next video autoplay')
})
}
})
} else if (this.playNextVideo) {
this.playNextTimeout = setTimeout(() => { this.playNextTimeout = setTimeout(() => {
const player = this.$refs.videoPlayer.player const player = this.$refs.videoPlayer.player
if (player !== null && player.paused()) { if (player !== null && player.paused()) {
if (this.watchingPlaylist) {
this.$refs.watchVideoPlaylist.playNextVideo()
} else {
const nextVideoId = this.recommendedVideos[0].videoId const nextVideoId = this.recommendedVideos[0].videoId
this.$router.push( this.$router.push({
{
path: `/watch/${nextVideoId}` path: `/watch/${nextVideoId}`
} })
)
this.showToast({ this.showToast({
message: this.$t('Playing Next Video') message: this.$t('Playing Next Video')
}) })
} }
}, 5000) }
}, nextVideoInterval * 1000)
let countDownTimeLeftInSecond = nextVideoInterval
const showCountDownMessage = () => {
// Will not display "Playing next video in no time" as it's too late to cancel
// Also there is a separate message when playing next video
if (countDownTimeLeftInSecond <= 0) {
clearInterval(countDownIntervalId)
return
}
this.showToast({ this.showToast({
message: this.$t('Playing next video in 5 seconds. Click to cancel'), message: this.$tc('Playing Next Video Interval', countDownTimeLeftInSecond, { nextVideoInterval: countDownTimeLeftInSecond }),
time: 5500, // To avoid message flashing
// `time` is manually tested to be 700
time: 700,
action: () => { action: () => {
clearTimeout(this.playNextTimeout) clearTimeout(this.playNextTimeout)
clearInterval(countDownIntervalId)
this.showToast({ this.showToast({
message: this.$t('Canceled next video autoplay') message: this.$t('Canceled next video autoplay')
}) })
} }
}) })
// At least this var should be updated AFTER showing the message
countDownTimeLeftInSecond = countDownTimeLeftInSecond - 1
} }
// Execute once before scheduling it
showCountDownMessage()
const countDownIntervalId = setInterval(showCountDownMessage, 1000)
}, },
handleRouteChange: function () { handleRouteChange: function () {
clearTimeout(this.playNextTimeout) clearTimeout(this.playNextTimeout)
if (this.rememberHistory && !this.isUpcoming && !this.isLoading && !this.isLive) { this.handleWatchProgress()
const player = this.$refs.videoPlayer.player
if (player !== null && this.saveWatchedProgress) {
const currentTime = this.getWatchedProgress()
const payload = {
videoId: this.videoId,
watchProgress: currentTime
}
console.log('update watch progress')
this.updateWatchProgress(payload)
}
}
if (!this.isUpcoming && !this.isLoading) { if (!this.isUpcoming && !this.isLoading) {
const player = this.$refs.videoPlayer.player const player = this.$refs.videoPlayer.player
@ -928,6 +959,31 @@ export default Vue.extend({
}, 200) }, 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) { handleVideoError: function (error) {
@ -1047,29 +1103,80 @@ export default Vue.extend({
}) })
}, },
createCaptionUrls: function (captionTracks) { tryAddingTranslatedLocaleCaption: function (captionTracks, locale, baseUrl) {
this.captionSourceList = captionTracks.map(caption => { const enCaptionIdx = captionTracks.findIndex(track =>
track.languageCode === 'en' && track.kind !== 'asr'
)
const enCaptionExists = enCaptionIdx !== -1
const asrEnabled = captionTracks.some(track => track.kind === 'asr')
if (enCaptionExists || asrEnabled) {
let label
let url
if (this.$te('Video.translated from English') && this.$t('Video.translated from English') !== '') {
label = `${this.$t('Locale Name')} (${this.$t('Video.translated from English')})`
} else {
label = `${this.$t('Locale Name')} (translated from English)`
}
if (enCaptionExists) {
url = new URL(captionTracks[enCaptionIdx].baseUrl)
} else {
url = new URL(baseUrl)
url.searchParams.set('lang', 'en')
url.searchParams.set('kind', 'asr')
}
url.searchParams.set('tlang', locale)
captionTracks.unshift({
baseUrl: url.toString(),
name: { simpleText: label },
languageCode: locale
})
}
},
createCaptionPromiseList: function (captionTracks) {
return captionTracks.map(caption => new Promise((resolve, reject) => {
caption.type = 'text/vtt' caption.type = 'text/vtt'
caption.charset = 'charset=utf-8' caption.charset = 'charset=utf-8'
caption.dataSource = 'local' caption.dataSource = 'local'
$.get(caption.baseUrl, response => { const url = new URL(caption.baseUrl)
xml2vtt url.searchParams.set('fmt', 'vtt')
.Parse(new XMLSerializer().serializeToString(response))
.then(vtt => { $.get(url.toString(), response => {
// The character '#' needs to be percent-encoded in a (data) URI
// because it signals an identifier, which means anything after it
// is automatically removed when the URI is used as a source
let vtt = response.replace(/#/g, '%23')
// A lot of videos have messed up caption positions that need to be removed
// This can be either because this format isn't really used by YouTube
// or because it's expected for the player to be able to somehow
// wrap the captions so that they won't step outside its boundaries
//
// Auto-generated captions are also all aligned to the start
// so those instances must also be removed
// In addition, all aligns seem to be fixed to "start" when they do pop up in normal captions
// If it's prominent enough that people start to notice, it can be removed then
if (caption.kind === 'asr') {
vtt = vtt.replace(/ align:start| position:\d{1,3}%/g, '')
} else {
vtt = vtt.replace(/ position:\d{1,3}%/g, '')
}
caption.baseUrl = `data:${caption.type};${caption.charset},${vtt}` caption.baseUrl = `data:${caption.type};${caption.charset},${vtt}`
}) resolve(caption)
.catch(err =>
console.log(`Error while converting XML to VTT : ${err}`)
)
}).fail((xhr, textStatus, error) => { }).fail((xhr, textStatus, error) => {
console.log(xhr) console.log(xhr)
console.log(textStatus) console.log(textStatus)
console.log(error) console.log(error)
reject(error)
}) })
}))
return caption
})
}, },
getWatchedProgress: function () { getWatchedProgress: function () {

View File

@ -18,15 +18,18 @@
ref="videoPlayer" ref="videoPlayer"
:dash-src="dashSrc" :dash-src="dashSrc"
:source-list="activeSourceList" :source-list="activeSourceList"
:caption-list="captionSourceList" :adaptive-formats="adaptiveFormats"
:caption-hybrid-list="captionHybridList"
:storyboard-src="videoStoryboardSrc" :storyboard-src="videoStoryboardSrc"
:format="activeFormat" :format="activeFormat"
:thumbnail="thumbnail" :thumbnail="thumbnail"
:video-id="videoId"
class="videoPlayer" class="videoPlayer"
:class="{ theatrePlayer: useTheatreMode }" :class="{ theatrePlayer: useTheatreMode }"
@ready="checkIfWatched" @ready="checkIfWatched"
@ended="handleVideoEnded" @ended="handleVideoEnded"
@error="handleVideoError" @error="handleVideoError"
@store-caption-list="captionHybridList = $event"
/> />
<div <div
v-if="!isLoading && isUpcoming" v-if="!isLoading && isUpcoming"

View File

@ -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"}]

View File

@ -18,7 +18,7 @@ Delete: 'حذف'
Select all: 'تحديد الكل' Select all: 'تحديد الكل'
Reload: 'إعادة تحميل' Reload: 'إعادة تحميل'
Force Reload: 'فرض إعادة التحميل' Force Reload: 'فرض إعادة التحميل'
Toggle Developer Tools: 'تفعيل أدوات المطوّر' Toggle Developer Tools: 'فتح أدوات المطوّر'
Actual size: 'الحجم الأصلي' Actual size: 'الحجم الأصلي'
Zoom in: 'تكبير' Zoom in: 'تكبير'
Zoom out: 'تصغير' Zoom out: 'تصغير'
@ -64,6 +64,7 @@ Search Filters:
Fetching results. Please wait: 'جاري إحضار النتائج. الرجاء الانتظار' Fetching results. Please wait: 'جاري إحضار النتائج. الرجاء الانتظار'
Fetch more results: 'إحضار المزيد من النتائج' Fetch more results: 'إحضار المزيد من النتائج'
# Sidebar # Sidebar
There are no more results for this search: لم يتبقى المزيد من النتائج لهذا البحث
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: 'الاشتراكات' Subscriptions: 'الاشتراكات'
@ -80,6 +81,11 @@ Most Popular: 'الأكثر شعبية'
Playlists: 'قوائم التشغيل' Playlists: 'قوائم التشغيل'
User Playlists: User Playlists:
Your Playlists: 'قوائم التشغيل الخاصة بك' Your Playlists: 'قوائم التشغيل الخاصة بك'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: ليس
لديك أي فيديو محتفظ عليه. إضغط على زر "إحفظ" في زاوية الفيديو لكي يحفظ هنا
Playlist Message: هذه الصفحة لا تظهر قائمات التشغيل بشكل كامل, وإنما تظهر فيديوات
إحتفضت عليها أو فضّلتها. عندما يكمل العمل بالكامل على هذه الصفحة, سترى كل فيديواتك
هنا تنتقل إلى قائمة تشغيل تسمى "المفضلة".
History: History:
# On History Page # On History Page
History: 'السجلّ' History: 'السجلّ'
@ -115,6 +121,8 @@ Settings:
#! List countries #! List countries
Check for Latest Blog Posts: تحقق من أحدث منشورات المدونة Check for Latest Blog Posts: تحقق من أحدث منشورات المدونة
Check for Updates: تحقّق من وجود تحديثات Check for Updates: تحقّق من وجود تحديثات
View all Invidious instance information: عرض جميع نماذج Invidious
System Default: افتراضي النظام
Theme Settings: Theme Settings:
Theme Settings: 'إعدادات السِمة' Theme Settings: 'إعدادات السِمة'
Match Top Bar with Main Color: 'طابق الشريط العلوي مع اللون الأساسي' Match Top Bar with Main Color: 'طابق الشريط العلوي مع اللون الأساسي'
@ -175,6 +183,8 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: الفاصل الزمني لتشغيل الفيديو التالي في قائمة التشغيل
Next Video Interval: الفاصل الزمني للفيديو التالي
Privacy Settings: Privacy Settings:
Privacy Settings: 'إعدادات الخصوصية' Privacy Settings: 'إعدادات الخصوصية'
Remember History: 'تذّكر سجلّ المشاهدة' Remember History: 'تذّكر سجلّ المشاهدة'
@ -191,6 +201,7 @@ Settings:
أنت متأكد أنك تريد إزالة جميع الاشتراكات والملفات الشخصية؟ لا يمكن التراجع عن أنت متأكد أنك تريد إزالة جميع الاشتراكات والملفات الشخصية؟ لا يمكن التراجع عن
هذا. هذا.
Remove All Subscriptions / Profiles: إزالة جميع الاشتراكات \ الملفات الشخصية Remove All Subscriptions / Profiles: إزالة جميع الاشتراكات \ الملفات الشخصية
Automatically Remove Video Meta Files: إزالة ملفات تعريف الفيديو تلقائيًا
Subscription Settings: Subscription Settings:
Subscription Settings: 'إعدادات الاشتراك' Subscription Settings: 'إعدادات الاشتراك'
Hide Videos on Watch: 'أخفِ الفيديوهات عند مشاهدتها' Hide Videos on Watch: 'أخفِ الفيديوهات عند مشاهدتها'
@ -265,7 +276,7 @@ Settings:
Data Settings: إعدادات البيانات Data Settings: إعدادات البيانات
One or more subscriptions were unable to be imported: تعذر استيراد واحد أو أكثر One or more subscriptions were unable to be imported: تعذر استيراد واحد أو أكثر
من الاشتراكات من الاشتراكات
Check for Legacy Subscriptions: تحقق من وجود اشتراك قديم Check for Legacy Subscriptions: تحقق من وجود اشتراكات بالصيغة القديمة
Manage Subscriptions: إدارة الإشتراكات Manage Subscriptions: إدارة الإشتراكات
Distraction Free Settings: Distraction Free Settings:
Hide Live Chat: اخفي الدردشة المباشرة Hide Live Chat: اخفي الدردشة المباشرة
@ -273,10 +284,12 @@ Settings:
Hide Trending Videos: اخفي الفيديوهات الرائجة Hide Trending Videos: اخفي الفيديوهات الرائجة
Hide Recommended Videos: اخفي الفيديوهات الموصّى بها Hide Recommended Videos: اخفي الفيديوهات الموصّى بها
Hide Comment Likes: اخفي اعجابات التعليقات Hide Comment Likes: اخفي اعجابات التعليقات
Hide Channel Subscribers: اخفي اشتراكات القنوات Hide Channel Subscribers: اخف عدد اشتراكات القناة
Hide Video Views: اخفي عدد مشاهدات الفيديوهات Hide Video Views: اخف عدد مشاهدات الفيديو
Hide Video Likes And Dislikes: إخفاء الإعجاب وعدم الإعجاب للفيديو Hide Video Likes And Dislikes: إخفاء الإعجاب وعدم الإعجاب للفيديو
Distraction Free Settings: إعدادات عدم الإزعاج Distraction Free Settings: إعدادات عدم الإزعاج
Hide Active Subscriptions: اخفي الإشتراكات الناشطة
Hide Playlists: إخفاء قوائم التشغيل
The app needs to restart for changes to take effect. Restart and apply change?: البرنامج The app needs to restart for changes to take effect. Restart and apply change?: البرنامج
يحتاج لإعادة التشغيل كي يسري مفعول التغييرات. هل تريد إعادة التشغيل و تطبيق التغييرات؟ يحتاج لإعادة التشغيل كي يسري مفعول التغييرات. هل تريد إعادة التشغيل و تطبيق التغييرات؟
Proxy Settings: Proxy Settings:
@ -291,6 +304,10 @@ Settings:
Proxy Protocol: بروتوكول البروكسي Proxy Protocol: بروتوكول البروكسي
Enable Tor / Proxy: تفعيل تور / البروكسي Enable Tor / Proxy: تفعيل تور / البروكسي
Proxy Settings: خيارات البروكسي Proxy Settings: خيارات البروكسي
Error getting network information. Is your proxy configured properly?: هنالك خطأ
في جلب معلومات الشبكة. هل ضبطت إعدادات وكيلك بصورة صحيحة؟
Clicking on Test Proxy will send a request to: النقر على اختبار البروكسي سيؤدي
إلى إرسال طلب إلى
About: About:
#On About page #On About page
About: 'حول' About: 'حول'
@ -335,6 +352,17 @@ About:
View License: اعرض الرخصة View License: اعرض الرخصة
Source code: الشفرة المصدرية Source code: الشفرة المصدرية
Beta: تجريبي 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: Profile:
All Channels: 'جميع القنوات' All Channels: 'جميع القنوات'
Profile Manager: 'مدير الملف الشخصي' Profile Manager: 'مدير الملف الشخصي'
@ -376,6 +404,7 @@ Profile:
$ selected: $ تم اختياره $ selected: $ تم اختياره
Other Channels: قنوات أُخرى Other Channels: قنوات أُخرى
Subscription List: قائمة الاشتراكات Subscription List: قائمة الاشتراكات
Profile Filter: مرشح الملف الشخصي
Channel: Channel:
Subscriber: 'مُشترِك' Subscriber: 'مُشترِك'
Subscribers: 'مُشترِكين' Subscribers: 'مُشترِكين'
@ -465,7 +494,7 @@ Video:
Year: 'سنة' Year: 'سنة'
Years: 'سنوات' Years: 'سنوات'
Ago: 'منذ' Ago: 'منذ'
Upcoming: 'العرض الأول في' Upcoming: 'يبدأ العرض'
Published on: 'نُشر في' Published on: 'نُشر في'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: 'قبل $ %' Publicationtemplate: 'قبل $ %'
@ -480,12 +509,12 @@ Video:
الصفحة للتحقق مرة أخرى الصفحة للتحقق مرة أخرى
Audio: Audio:
Best: الأفضل Best: الأفضل
High: عالٍ High: عال
Medium: متوسط Medium: متوسط
Low: منخفض Low: منخفض
audio only: صوت فقط audio only: الصوت فقط
video only: فيديو فقط video only: الفيديو فقط
Download Video: نزّل الفيديو Download Video: تحميل الفيديو
Started streaming on: بدأ البث على Started streaming on: بدأ البث على
Streamed on: تبث على Streamed on: تبث على
Copy Invidious Channel Link: انسخ رابط قناة انفيديوس Copy Invidious Channel Link: انسخ رابط قناة انفيديوس
@ -494,6 +523,8 @@ Video:
Open Channel in YouTube: افتح القناة على يوتيوب Open Channel in YouTube: افتح القناة على يوتيوب
Video has been saved: تم حفظ الفيديو Video has been saved: تم حفظ الفيديو
Save Video: احفظ الفيديو Save Video: احفظ الفيديو
Video has been removed from your saved list: تمت إزالة الفيديو من قائمتك المحفوظة
translated from English: مترجمة من الإنجليزية
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -590,21 +621,44 @@ Version $ is now available! Click for more details: الإصدار $ متاح
Tooltips: Tooltips:
General Settings: General Settings:
Thumbnail Preference: كلّ الصّور المصغّرة في FreeTube سيتمّ استبدالها بإطار من Thumbnail Preference: كلّ الصّور المصغّرة في FreeTube سيتمّ استبدالها بإطار من
الفيديو بدل من الصّورة المصغّرة الافتراضيّة الفيديو بدل من الصّورة المصغّرة الافتراضيّة.
Preferred API Backend: اختر الواجهة الخلفية التي يستخدمها FreeTube لجلب البيانات Preferred API Backend: اختر الواجهة الخلفية التي يستخدمها FreeTube لجلب البيانات.
. الAPI المحلي هو مستخرج محلي . الAPI التابع لInvidious يتطلب التواصل مع خادم الواجهة البرمجية المحلية للتطبيق هي مستخرج محلي. الواجهة البرمجية للتطبيق التابعة
شبكة Invidious . لInvidious (بديل لموقع يوتيوب) يتطلب التواصل مع خادم شبكة Invidious.
Invidious Instance: واجهة Invidious البرمجية المستخدمة من قبل FreeTube. امسح الواجهة Invidious Instance: واجهة Invidious البرمجية المستخدمة من قبل FreeTube. امسح الواجهة
البرمجية الحالية للاختيار من قائمة الواجهات البرمجية الحالية للاختيار من قائمة الواجهات.
Fallback to Non-Preferred Backend on Failure: عند تواجد مشكلة مع الواجهة البرمجية Fallback to Non-Preferred Backend on Failure: عند التفعيل اذا واجه الAPI المفضّل
المفضلة لك، سوف يقوم فريتيوب باستخدام الواجهات الأخرى عند تفعيل هذا الخيار لديك أيّ مشكلة، سيحاول FreeTube استخدام الAPI الغير مفضّل لديك تلقائيّاً كإجراء
Region for Trending: يمكّنك اختيار الدولة من عرض الفيديوهات الشائعة التابعة للدولة التراجع.
التي تفضل . ليست كل البلدان المعروضة في هذه القائمة مدعومة من قبل يوتيوب Region for Trending: الانتشار المحلي (Trend) يسمح لك بأن تشاهد الفيديوهات الأكثر
انتشارا حسب الدولة. ليست كل الدول المعروضة في هذه القائمة مدعومة من طرف يوتيوب.
Player Settings: Player Settings:
Proxy Videos Through Invidious: سيتم الاتصال ب Invidious لتقديم مقاطع الفيديو Proxy Videos Through Invidious: سيتم الاتصال ب Invidious لتقديم مقاطع الفيديو
بدلاً من إجراء اتصال مباشر مع يوتيوب. يلغي تفضيل الواجهة البرمجية بدلاً من إجراء اتصال مباشر مع يوتيوب. يلغي تفضيل الواجهة البرمجية.
Force Local Backend for Legacy Formats: تعمل فقط عندما تكون واجهة Invidious البرمجية Force Local Backend for Legacy Formats: تعمل فقط عندما تكون واجهة Invidious البرمجية
هي الاختيار الافتراضي . عند تفعيل هذا الخيار ، ستعمل الواجهة البرمجية المحلية هي الاختيار الافتراضي . عند تفعيل هذا الخيار ، ستعمل الواجهة البرمجية المحلية
باستخدام التنسيقات القديمة التي تم إرجاعها من قبلها بدلاً من أن تستخدم الصيغ باستخدام التنسيقات القديمة التي تم إرجاعها من قبلها بدلاً من أن تستخدم الصيغ
التي تم إرجاعها من قبل Invidious . يساعد هذا الخيار عندما لا تعمل الفيديوهات التي تم إرجاعها من قبل Invidious . يساعد هذا الخيار عندما لا تعمل الفيديوهات
التي تم إرجاعها من قبل 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: المزيد
Playing Next Video Interval: سيتم تشغيل الفيديو التالي على الفور.| إضغط للإلغاء.|
سيبدأ الفيديو التالي في {nextVideoInterval} ثانية.| إضغط للإلغاء.
Hashtags have not yet been implemented, try again later: لم يتم تنفيذ علامات التصنيف
بعد، حاول مرة أخرى لاحقا
Unknown YouTube url type, cannot be opened in app: نوع URL غير معروف على YouTube،
لا يمكن فتحه في التطبيق
Open New Window: افتح نافذة جديدة

View File

@ -132,6 +132,7 @@ Settings:
#! List countries #! List countries
View all Invidious instance information: Преглед на пълна информация за Invidious View all Invidious instance information: Преглед на пълна информация за Invidious
обекта обекта
System Default: Стандартен за системата
Theme Settings: Theme Settings:
Theme Settings: 'Настройки на изгледа на приложението' Theme Settings: 'Настройки на изгледа на приложението'
Match Top Bar with Main Color: 'Съвпадане на горната лента с основната цветова Match Top Bar with Main Color: 'Съвпадане на горната лента с основната цветова
@ -178,7 +179,7 @@ Settings:
Default Playback Rate: 'Скорост на възпроизвеждане' Default Playback Rate: 'Скорост на възпроизвеждане'
Default Video Format: Default Video Format:
Default Video Format: 'Видео формат' Default Video Format: 'Видео формат'
Dash Formats: 'Dash формати' Dash Formats: 'DASH формати'
Legacy Formats: 'Стари формати' Legacy Formats: 'Стари формати'
Audio Formats: 'Аудио формати' Audio Formats: 'Аудио формати'
Default Quality: Default Quality:
@ -194,6 +195,7 @@ Settings:
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Интервал за следващо видео в плейлист Playlist Next Video Interval: Интервал за следващо видео в плейлист
Next Video Interval: Интервал за следващо видео
Privacy Settings: Privacy Settings:
Privacy Settings: 'Настройки за поверителност' Privacy Settings: 'Настройки за поверителност'
Remember History: 'Запазване на историята' Remember History: 'Запазване на историята'
@ -210,6 +212,7 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Сигурни Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Сигурни
ли сте, че искате да премахнете всички абонаменти и профили? Това не може да ли сте, че искате да премахнете всички абонаменти и профили? Това не може да
бъде възстановено.' бъде възстановено.'
Automatically Remove Video Meta Files: Автоматично премахване на видео метафайловете
Subscription Settings: Subscription Settings:
Subscription Settings: 'Настройки на абонаменти' Subscription Settings: 'Настройки на абонаменти'
Hide Videos on Watch: 'Скриване на видеата при гледане' Hide Videos on Watch: 'Скриване на видеата при гледане'
@ -532,6 +535,7 @@ Video:
списък списък
Video has been saved: Видеото е запазено Video has been saved: Видеото е запазено
Save Video: Запазване на видео Save Video: Запазване на видео
translated from English: преведено от английски
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -559,10 +563,10 @@ Playlist:
Toggle Theatre Mode: 'Режим "Широк екран"' Toggle Theatre Mode: 'Режим "Широк екран"'
Change Format: Change Format:
Change Video Formats: 'Смяна видео формати' Change Video Formats: 'Смяна видео формати'
Use Dash Formats: 'Използване на Dash формати' Use Dash Formats: 'Използване на DASH формати'
Use Legacy Formats: 'Използване на стари формати' Use Legacy Formats: 'Използване на стари формати'
Use Audio Formats: 'Използване на аудио формати' Use Audio Formats: 'Използване на аудио формати'
Dash formats are not available for this video: 'Dash форматите не са достъпни за Dash formats are not available for this video: 'DASH форматите не са достъпни за
това видео' това видео'
Audio formats are not available for this video: 'Аудио форматите не са достъпни Audio formats are not available for this video: 'Аудио форматите не са достъпни
за това видео' за това видео'
@ -628,36 +632,45 @@ Yes: 'Да'
No: 'Не' No: 'Не'
Tooltips: Tooltips:
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Когато е активирано, FreeTube ще използва RSS вместо метода Fetch Feeds from RSS: FreeTube ще използва RSS вместо метода по подразбиране за
по подразбиране за получаване на абонаментите. RSS е по-бърз метод и преодолява получаване на абонаментите. RSS е по-бърз метод и преодолява блокиранията на
блокиранията на IP адреса, но не получава някои съпътстващи данни, като продължителност IP адреса, но не получава някои съпътстващи данни, като продължителност на видеото
на видеото или дали е на живо или дали е на живо
Player Settings: Player Settings:
Default Video Format: Настройка на използваните формати. Dash форматите могат Default Video Format: Настройка на използваните формати. DASH форматите могат
да показват видеа с по-високо качество. Старите формати са ограничени до макс. да показват видеа с по-високо качество. Старите формати са ограничени до макс.
720р, но пък генерират по-малък трафик. Аудио форматите предават само звук 720р, но пък генерират по-малък трафик. Аудио форматите предават само звук.
Proxy Videos Through Invidious: Ще се свърже с Invidious, за да изтегли видеото, Proxy Videos Through Invidious: Ще се свърже с Invidious, за да изтегли видеото,
вместо да прави дирекна връзка с YouTube. Пренебрегва настройките на локалния вместо да прави дирекна връзка с YouTube. Пренебрегва настройките на локалния
интерфейс интерфейс.
Force Local Backend for Legacy Formats: Действа само когато по подразбиране е Force Local Backend for Legacy Formats: Действа само когато по подразбиране е
избран Invidious интерфейс. Когато е активиран, локалният интерфейс ще използва избран Invidious интерфейс. Когато е активиран, локалният интерфейс ще използва
старите формати вместо тези на Invidious. Това помага когато видеата, получавани старите формати вместо тези на Invidious. Това помага когато видеата, получавани
от Invidious не вървят поради регионални ограничения от Invidious не вървят поради регионални ограничения.
General Settings: General Settings:
Region for Trending: Регионът на набиращите популярност дава възможност да се Region for Trending: Регионът на набиращите популярност дава възможност да се
избере страната, за която това се отнася. Не всички страни показани тук се поддържат избере страната, за която това се отнася. Не всички страни показани тук се поддържат
от YouTube от YouTube.
Invidious Instance: Сървър на Invidious, към който FreeTube ще се свързва. Премахнете Invidious Instance: Сървър на Invidious, към който FreeTube ще се свързва. Премахнете
настоящия избор, за да видите списък с други възможни сървъри настоящия избор, за да видите списък с други възможни сървъри.
Thumbnail Preference: Всички миниатюри във FreeTube ще бъдат подменени с кадър Thumbnail Preference: Всички миниатюри във FreeTube ще бъдат подменени с кадър
от клипа вместо тези по подразбиране от клипа вместо тези по подразбиране.
Fallback to Non-Preferred Backend on Failure: Когато избраният интерфейс срещне Fallback to Non-Preferred Backend on Failure: Когато избраният интерфейс срещне
проблем, FreeTube ще опита да премине автоматично към друг метод, ако има избран проблем, FreeTube ще опита да премине автоматично към друг метод, ако има избран
такъв такъв.
Preferred API Backend: Избиране на начина, по който FreeTube получава данните. Preferred API Backend: Избиране на начина, по който FreeTube получава данните.
Локалният интерфейс има вградено извличане. Invidious интерфейсът изисква Invidious Локалният интерфейс има вградено извличане. Invidious интерфейсът изисква Invidious
сървър, към който да се свърже. сървър, към който да се свърже.
Privacy Settings:
Remove Video Meta Files: Когато страницата за гледане бъде затворена, FreeTube
автоматично ще изтрива метафайловете, създадени по време на възпроизвеждане
на видеото.
More: Още More: Още
Playing Next Video Interval: Пускане на следващото видео веднага. Щракнете за отказ. Playing Next Video Interval: Пускане на следващото видео веднага. Щракнете за отказ.
| Пускане на следващото видео след {nextVideoInterval} секунда. Щракнете за отказl. | Пускане на следващото видео след {nextVideoInterval} секунда. Щракнете за отказ.
| Пускане на следващото видео след {nextVideoInterval} секунди. Щракнете за отказ. | Пускане на следващото видео след {nextVideoInterval} секунди. Щракнете за отказ.
Hashtags have not yet been implemented, try again later: Хаштаговете все още не са
реализирани, опитайте отново по-късно
Unknown YouTube url type, cannot be opened in app: Неизвестен тип URL адрес за YouTube,
не може да се отвори в приложението
Open New Window: Отваряне на нов прозорец

View File

@ -22,62 +22,65 @@ Toggle Developer Tools: 'ডেভেলপার যন্ত্র টগল
Actual size: 'প্রকৃত আকার' Actual size: 'প্রকৃত আকার'
Zoom in: 'সম্প্রসারিত করো (জুম)' Zoom in: 'সম্প্রসারিত করো (জুম)'
Zoom out: 'সংকুচিত করো(জুম)' Zoom out: 'সংকুচিত করো(জুম)'
Toggle fullscreen: '' Toggle fullscreen: 'পূর্ণ-স্ক্রিন'
Window: 'উইন্ডো' Window: 'উইন্ডো'
Minimize: '' Minimize: 'ক্ষুদ্রকরণ'
Close: '' Close: 'বন্ধ'
Back: '' Back: 'পিছনে'
Forward: '' 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: '' Download From Site: 'সাইট থেকে ডাউনলোড করো'
A new blog is now available, $. Click to view more: 'নতুন ব্লগ আছে, $. আরো দেখতে টিপ
দাও'
# Search Bar # Search Bar
Search / Go to URL: '' Search / Go to URL: 'অনুসন্ধান / ইউআরএলে যাও'
# In Filter Button # In Filter Button
Search Filters: Search Filters:
Search Filters: '' Search Filters: 'অনুসন্ধান ছাঁকনি'
Sort By: Sort By:
Sort By: '' Sort By: 'সাজানোর পদ্ধতি'
Most Relevant: '' Most Relevant: 'সবচেয়ে প্রাসঙ্গিক'
Rating: '' Rating: ''
Upload Date: '' Upload Date: 'ছাপানোর তারিখ'
View Count: '' View Count: 'দৃশ্য সংখ্যা'
Time: Time:
Time: '' Time: 'সময়'
Any Time: '' Any Time: 'যেকোনো সময়'
Last Hour: '' Last Hour: 'শেষ ঘণ্টা'
Today: '' Today: 'আজকে'
This Week: '' This Week: 'এই সপ্তাহে'
This Month: '' This Month: 'এই মাসে'
This Year: '' This Year: 'এই বছর'
Type: Type:
Type: '' Type: 'ধরণ'
All Types: '' All Types: 'সব ধরণ'
Videos: '' Videos: 'ভিডিও'
Channels: '' Channels: 'চ্যানেল'
#& Playlists #& Playlists
Duration: Duration:
Duration: 'সময়কাল' Duration: 'সময়কাল'
All Durations: '' All Durations: 'সকল দৈর্ঘ্যের'
Short (< 4 minutes): '' Short (< 4 minutes): 'ছোট (< মিনিট)'
Long (> 20 minutes): '' Long (> 20 minutes): 'লম্বা (> ২০ মিনিট)'
# On Search Page # On Search Page
Search Results: '' Search Results: 'অনুসন্ধান ফলাফল'
Fetching results. Please wait: '' Fetching results. Please wait: 'ফলাফল আনা হচ্ছে, একটু অপেক্ষা করো'
Fetch more results: '' Fetch more results: 'আরো ফলাফল আনো'
# Sidebar # Sidebar
There are no more results for this search: এই অনুসন্ধানের আর কোনো ফলাফল নেই
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: '' Subscriptions: 'সদস্যতা'
Latest Subscriptions: '' Latest Subscriptions: 'শেষ সদস্যতা'
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: '' This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: ''
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': '' 'Your Subscription list is currently empty. Start adding subscriptions to see them here.': ''
'Getting Subscriptions. Please wait.': '' 'Getting Subscriptions. Please wait.': ''
Refresh Subscriptions: '' Refresh Subscriptions: ''
Load More Videos: '' Load More Videos: ''
Trending: '' Trending: 'চলছে'
Most Popular: '' Most Popular: ''
Playlists: '' Playlists: ''
User Playlists: User Playlists:
@ -86,7 +89,7 @@ User Playlists:
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: '' Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: ''
History: History:
# On History Page # On History Page
History: '' History: 'ইতিহাস'
Watch History: '' Watch History: ''
Your history list is currently empty.: '' Your history list is currently empty.: ''
Settings: Settings:
@ -259,7 +262,7 @@ About:
Donate: '' Donate: ''
Beta: '' Beta: ''
License: '' License: ''
Email: '' Email: 'ই-মেইল'
Channel Rules: '' Channel Rules: ''
Report an Issue: '' Report an Issue: ''
Wiki: '' Wiki: ''
@ -521,3 +524,4 @@ Canceled next video autoplay: ''
Yes: '' Yes: ''
No: '' No: ''
Open New Window: নতুন জানালা খুলো

View File

@ -273,6 +273,9 @@ About:
Latest FreeTube News: '' Latest FreeTube News: ''
Blog: Blog
Website: Lloc web
Email: Correu-e
Profile: Profile:
Profile Select: '' Profile Select: ''
All Channels: '' All Channels: ''

View File

@ -133,6 +133,7 @@ Settings:
#! List countries #! List countries
View all Invidious instance information: Zobrazit všechny informace o instanci View all Invidious instance information: Zobrazit všechny informace o instanci
Invidious Invidious
System Default: Výchozí nastavení systému
Theme Settings: Theme Settings:
Theme Settings: 'Nastavení motivu' Theme Settings: 'Nastavení motivu'
Match Top Bar with Main Color: 'Přizpůsobit hlavní lištu hlavní barvě' Match Top Bar with Main Color: 'Přizpůsobit hlavní lištu hlavní barvě'
@ -177,7 +178,7 @@ Settings:
Default Playback Rate: 'Výchozí rychlost přehrávání' Default Playback Rate: 'Výchozí rychlost přehrávání'
Default Video Format: Default Video Format:
Default Video Format: 'Výchozí formát videa' Default Video Format: 'Výchozí formát videa'
Dash Formats: 'Formát Dash' Dash Formats: 'Formát DASH'
Legacy Formats: 'Starší formáty' Legacy Formats: 'Starší formáty'
Audio Formats: 'Zvukové formáty' Audio Formats: 'Zvukové formáty'
Default Quality: Default Quality:
@ -192,7 +193,8 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Interval dalšího seznamu videí Playlist Next Video Interval: Interval pro další video na playlistu
Next Video Interval: Další interval videa
Privacy Settings: Privacy Settings:
Privacy Settings: 'Nastavení soukromí' Privacy Settings: 'Nastavení soukromí'
Remember History: 'Zapamatovat historii' Remember History: 'Zapamatovat historii'
@ -208,6 +210,7 @@ Settings:
Remove All Subscriptions / Profiles: 'Odstranit všechna odebírání / profily' 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 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.' 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:
Subscription Settings: 'Nastavení odebírání' Subscription Settings: 'Nastavení odebírání'
Hide Videos on Watch: 'Skrýt videa při přehrávání' Hide Videos on Watch: 'Skrýt videa při přehrávání'
@ -345,8 +348,8 @@ About:
room rules: pravidla místnosti room rules: pravidla místnosti
Please read the: Prosím, přečtěte si Please read the: Prosím, přečtěte si
Chat on Matrix: Chat na síti Matrix Chat on Matrix: Chat na síti Matrix
Mastodon: mastodon Mastodon: Mastodon
Email: Email Email: E-mail
Blog: Blog Blog: Blog
Website: Webová stránka Website: Webová stránka
FAQ: Často kladené dotazy FAQ: Často kladené dotazy
@ -410,7 +413,7 @@ Channel:
Channel has been removed from your subscriptions: 'Kanál byl odebrán z vašich odběrů' Channel has been removed from your subscriptions: 'Kanál byl odebrán z vašich odběrů'
Removed subscription from $ other channel(s): 'Odběr odebrán z $ jiných kanálů' Removed subscription from $ other channel(s): 'Odběr odebrán z $ jiných kanálů'
Added channel to your subscriptions: 'K vašim odběrům byl přidán kanál' Added channel to your subscriptions: 'K vašim odběrům byl přidán kanál'
Search Channel: 'Hledat kanál' Search Channel: 'Hledat v kanálu'
Your search results have returned 0 results: 'Vaše vyhledávání přineslo 0 výsledků' Your search results have returned 0 results: 'Vaše vyhledávání přineslo 0 výsledků'
Sort By: 'Seřadit podle' Sort By: 'Seřadit podle'
Videos: Videos:
@ -513,7 +516,7 @@ Video:
Upcoming: 'Premiéra' Upcoming: 'Premiéra'
Published on: 'Publikováno' Published on: 'Publikováno'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: 'před $ %' Publicationtemplate: 'před $ %'
#& Videos #& Videos
Started streaming on: Začátek vysílání Started streaming on: Začátek vysílání
Streamed on: Vysíláno Streamed on: Vysíláno
@ -521,6 +524,7 @@ Video:
Save Video: Uložit video Save Video: Uložit video
Video has been removed from your saved list: Video bylo odstraněno z vašeho uloženého Video has been removed from your saved list: Video bylo odstraněno z vašeho uloženého
seznamu seznamu
translated from English: přeloženo z angličtiny
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -548,10 +552,10 @@ Playlist:
Toggle Theatre Mode: 'Přepnout režim divadla' Toggle Theatre Mode: 'Přepnout režim divadla'
Change Format: Change Format:
Change Video Formats: 'Změnit formát videa' Change Video Formats: 'Změnit formát videa'
Use Dash Formats: 'Použít Dash formáty' Use Dash Formats: 'Použít DASH formáty'
Use Legacy Formats: 'Použít starší formáty' Use Legacy Formats: 'Použít starší formáty'
Use Audio Formats: 'Použít zvukové formáty' Use Audio Formats: 'Použít zvukové formáty'
Dash formats are not available for this video: 'Dash formáty nejsou pro toto video Dash formats are not available for this video: 'DASH formáty nejsou pro toto video
dostupné' dostupné'
Audio formats are not available for this video: 'Zvukové formáty nejsou pro toto Audio formats are not available for this video: 'Zvukové formáty nejsou pro toto
video dostupné' video dostupné'
@ -605,31 +609,35 @@ Tooltips:
Invidious.' Invidious.'
Fallback to Non-Preferred Backend on Failure: 'Pokud má vaše preferované API problém, Fallback to Non-Preferred Backend on Failure: 'Pokud má vaše preferované API problém,
FreeTube se automaticky pokusí použít vaše nepreferované API jako záložní metodu, FreeTube se automaticky pokusí použít vaše nepreferované API jako záložní metodu,
pokud je povoleno' pokud je povoleno.'
Thumbnail Preference: 'Všechny miniatury v celém FreeTube budou nahrazeny rámečkem Thumbnail Preference: 'Všechny miniatury v celém FreeTube budou nahrazeny snímkem
videa namísto výchozí miniatury' z videa namísto výchozí miniatury.'
Invidious Instance: 'Invidious instance, ke které se FreeTube připojí pro volání Invidious Instance: 'Invidious instance, ke které se FreeTube připojí za účelem
API. Smazáním aktuální instance zobrazíte seznam veřejných instancí, ze kterých volání API. Smazáním aktuální instance zobrazíte seznam veřejných instancí,
si můžete vybrat' ze kterých si můžete vybrat.'
Region for Trending: 'Region trendů vám umožní vybrat si videa trendů jednotlivých Region for Trending: 'Region trendů vám umožní vybrat si zemi, ze které si přejete
zemí, které chcete zobrazit. Ne všechny zobrazené země ale YouTube aktuálně zobrazovat videa trendů. Ne všechny zobrazené země jsou ale službou YouTube
podporuje' reálně podporovány.'
Player Settings: Player Settings:
Force Local Backend for Legacy Formats: 'Funguje pouze v případě, že je výchozím Force Local Backend for Legacy Formats: 'Funguje pouze v případě, že je výchozím
nastavením API Invidious. Je-li povoleno, spustí se místní API a použije starší nastavením API Invidious. Je-li povoleno, spustí se místní API a použije starší
formáty místo těch, které vrátí Invidious. V některých zemích je zakázáno přehrání, formáty místo těch, které vrátí Invidious. Může pomoci, pokud videa z Invidious
toto může překonat toto omezení' nemohou být přehrána kvůli regionálnímu omezení.'
Proxy Videos Through Invidious: 'Připojí se k Invidious, aby poskytoval videa Proxy Videos Through Invidious: 'Připojí se k Invidious, aby poskytoval videa
namísto přímého připojení k YouTube. Toto přepíše předvolby API' namísto přímého připojení k YouTube. Toto přepíše předvolby API.'
Default Video Format: 'Nastavte formáty použité při přehrávání videa. Formáty Default Video Format: 'Nastavte formáty použité při přehrávání videa. Formáty
Dash mohou hrát vyšší kvality. Starší formáty jsou omezeny na maximálně 720p, DASH umožní přehrávat vyšší kvality. Starší formáty jsou omezeny na maximálně
ale používají menší šířku pásma. Zvukové formáty jsou pouze zvukové streamy' 720p, ale používají menší šířku pásma. Zvukové formáty jsou streamy obsahující
pouze audio.'
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: 'Je-li povoleno, FreeTube použije RSS místo své výchozí Fetch Feeds from RSS: 'Je-li povoleno, FreeTube použije RSS místo své výchozí
metody pro získání vašeho odebírání kanálů. RSS je rychlejší a brání blokování metody pro získání vašeho odebírání kanálů. RSS je rychlejší a brání blokování
IP, ale neposkytuje určité informace, jako je délka videa a podobně' IP, ale neposkytuje určité informace, jako je délka videa a podobně'
# Toast Messages # 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)' 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)' 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' Falling back to Invidious API: 'Přepínám na Invidious API'
@ -653,7 +661,12 @@ Canceled next video autoplay: 'Automatické přehrávání dalšího videa bylo
Yes: 'Ano' Yes: 'Ano'
No: 'Ne' No: 'Ne'
Playing Next Video Interval: Přehrávání dalšího videa v žádném čase. Kliknutím zrušíte. Playing Next Video Interval: Přehrávání dalšího videa bez prodlevy Kliknutím zrušíte.
| Přehrávání dalšího videa za {nextVideoInterval} s. Kliknutím zrušíte. | Přehrávání | Přehrávání dalšího videa za {nextVideoInterval} s. Kliknutím zrušíte. | Přehrávání
dalšího videa za {nextVideoInterval} s. Kliknutím zrušíte. dalšího videa za {nextVideoInterval} s. Kliknutím zrušíte.
More: Více More: Více
Hashtags have not yet been implemented, try again later: Hashtagy nebyly dosud implementovány,
zkuste to znovu později
Unknown YouTube url type, cannot be opened in app: Neznámý typ adresy URL YouTube,
nelze v aplikaci otevřít
Open New Window: Otevřít nové okno

View File

@ -1,7 +1,7 @@
FreeTube: FreeTube FreeTube: FreeTube
# Currently on Subscriptions, Playlists, and History # Currently on Subscriptions, Playlists, and History
'This part of the app is not ready yet. Come back later when progress has been made.': >- '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. wieder.
# Webkit Menu Bar # Webkit Menu Bar
@ -70,13 +70,13 @@ Subscriptions:
Subscriptions: Abonnements Subscriptions: Abonnements
Latest Subscriptions: Neueste Abonnements Latest Subscriptions: Neueste Abonnements
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': Deine '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. zu sehen.
'Getting Subscriptions. Please wait.': Rufe Abonnements ab. Bitte warten. 'Getting Subscriptions. Please wait.': Rufe Abonnements ab. Bitte warten.
Refresh Subscriptions: Abonnements aktualisieren Refresh Subscriptions: Abonnements aktualisieren
Getting Subscriptions. Please wait.: Lade Abonnements. Bitte warten. Getting Subscriptions. Please wait.: Lade Abonnements. Bitte warten.
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Dieses 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 erzwingen
Load More Videos: Lade mehr Videos Load More Videos: Lade mehr Videos
Trending: Trends Trending: Trends
@ -85,12 +85,12 @@ Playlists: Wiedergabelisten
User Playlists: User Playlists:
Your Playlists: Deine Wiedergabelisten 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 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 gespeicherten Videos sind leer. Klicke auf die Schaltfläche „Speichern“ in der
der Ecke eines Videos, damit es hier aufgelistet wird Ecke eines Videos, damit es hier aufgelistet wird
Playlist Message: Diese Seite spiegelt nicht die vollständig funktionierenden Wiedergabelisten Playlist Message: Diese Seite spiegelt nicht die vollständig funktionierenden Wiedergabelisten
wider. Sie listet nur Videos auf, die Sie gespeichert oder favorisiert haben. wider. Sie listet nur Videos auf, die Du gespeichert oder favorisiert hast. Wenn
Wenn die Arbeiten abgeschlossen sind, werden alle Videos, die sich derzeit hier die Arbeiten abgeschlossen sind, werden alle Videos, die sich derzeit hier befinden,
befinden, in eine Wiedergabeliste "Favoriten" migriert. in eine Wiedergabeliste „Favoriten“ migriert.
History: History:
# On History Page # On History Page
History: Verlauf History: Verlauf
@ -110,7 +110,7 @@ Settings:
Preferred API Backend: Preferred API Backend:
Preferred API Backend: Bevorzugtes API-System Preferred API Backend: Bevorzugtes API-System
Local API: Lokale API Local API: Lokale API
Invidious API: Invidious API Invidious API: Invidious-API
Video View Type: Video View Type:
Video View Type: Videoansichtstyp Video View Type: Videoansichtstyp
Grid: Gitter Grid: Gitter
@ -130,7 +130,7 @@ Settings:
View all Invidious instance information: Alle Informationen zur Invidious-Instanz View all Invidious instance information: Alle Informationen zur Invidious-Instanz
anzeigen anzeigen
Theme Settings: Theme Settings:
Theme Settings: Thema Einstellungen Theme Settings: Thema-Einstellungen
Match Top Bar with Main Color: Obere Leiste an Hauptfarbe anpassen Match Top Bar with Main Color: Obere Leiste an Hauptfarbe anpassen
Base Theme: Base Theme:
Base Theme: Grundlegendes Thema Base Theme: Grundlegendes Thema
@ -174,7 +174,7 @@ Settings:
Default Playback Rate: Standard-Wiedergabegeschwindigkeit Default Playback Rate: Standard-Wiedergabegeschwindigkeit
Default Video Format: Default Video Format:
Default Video Format: Standard-Videoformat Default Video Format: Standard-Videoformat
Dash Formats: DASH-Formate Dash Formats: DASH-Format
Legacy Formats: Legacy Formate Legacy Formats: Legacy Formate
Audio Formats: Audioformate Audio Formats: Audioformate
Default Quality: Default Quality:
@ -189,6 +189,7 @@ Settings:
1440p: 1440p 1440p: 1440p
4k: 4k 4k: 4k
8k: 8k 8k: 8k
Playlist Next Video Interval: Zeit zwischen automatischer Videowiedergabe
Subscription Settings: Subscription Settings:
Subscription Settings: Abonnement-Einstellungen Subscription Settings: Abonnement-Einstellungen
Hide Videos on Watch: Verstecke Videos bei Wiedergabe 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 du sicher, dass du alle Abonnements und Profile löschen möchtest? Diese Aktion
kann nicht rückgängig gemacht werden. kann nicht rückgängig gemacht werden.
Remove All Subscriptions / Profiles: Alle Abonnements / Profile löschen Remove All Subscriptions / Profiles: Alle Abonnements / Profile löschen
Automatically Remove Video Meta Files: Meta-Dateien von Videos automatisch löschen
Data Settings: Data Settings:
How do I import my subscriptions?: Wie importiere ich meine Abonnements? How do I import my subscriptions?: Wie importiere ich meine Abonnements?
Unknown data key: Unbekannter Datenschlüssel Unknown data key: Unbekannter Datenschlüssel
@ -295,6 +297,7 @@ Settings:
Hide Video Views: Video-Aufrufe verbergen Hide Video Views: Video-Aufrufe verbergen
Distraction Free Settings: Einstellungen für ablenkungsfreien Modus Distraction Free Settings: Einstellungen für ablenkungsfreien Modus
Hide Active Subscriptions: Aktive Abonnements ausblenden 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 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 die Änderungen anzuwenden muss die Anwendung neustarten. Jetzt neustarten und
Änderungen aktivieren? Änderungen aktivieren?
@ -350,7 +353,7 @@ About:
This software is FOSS and released under the GNU Affero General Public License v3.0.: Diese 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. freie Software ist unter der AGPL-3.0 lizenziert.
Translate via Weblate: Auf Weblate übersetzen Translate via Weblate: Auf Weblate übersetzen
Website: Webseite Website: Website
Source Code: Quellcode Source Code: Quellcode
Release Notes: Versionshinweise Release Notes: Versionshinweise
Blog: Blog Blog: Blog
@ -359,7 +362,7 @@ About:
Wiki: Wiki Wiki: Wiki
Report an Issue: Fehler melden Report an Issue: Fehler melden
Channel Rules: Kanalregeln Channel Rules: Kanalregeln
Email: Email Email: E-Mail
License: Lizenz License: Lizenz
Beta: Beta Beta: Beta
Donate: Spenden Donate: Spenden
@ -375,7 +378,7 @@ About:
Mastodon: Mastodon Mastodon: Mastodon
Please check for duplicates before posting: Bitte überprüfe vor dem Absenden, ob Please check for duplicates before posting: Bitte überprüfe vor dem Absenden, ob
es Duplikate gibt es Duplikate gibt
GitHub issues: GitHub Issues GitHub issues: GitHub-Probleme
Report a problem: Problem melden Report a problem: Problem melden
FreeTube Wiki: FreeTube Wiki FreeTube Wiki: FreeTube Wiki
GitHub releases: GitHub Veröffentlichungen GitHub releases: GitHub Veröffentlichungen
@ -504,6 +507,7 @@ Video:
Videos entfernt Videos entfernt
Video has been saved: Video wurde gespeichert Video has been saved: Video wurde gespeichert
Save Video: Video speichern Save Video: Video speichern
translated from English: Aus dem Englischen übersetzt
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -538,12 +542,12 @@ Share Playlist:
Toggle Theatre Mode: Kinomodus umschalten Toggle Theatre Mode: Kinomodus umschalten
Change Format: Change Format:
Change Video Formats: Ändere Videoformat Change Video Formats: Ändere Videoformat
Use Dash Formats: Nutze DASH-Format Use Dash Formats: DASH-Format benutzen
Use Legacy Formats: Nutze Altformat Use Legacy Formats: Nutze Altformat
Use Audio Formats: Nutze Audioformat Use Audio Formats: Nutze Audioformat
Audio formats are not available for this video: Es sind keine Audioformate für dieses Audio formats are not available for this video: Es sind keine Audioformate für dieses
Video verfügbar Video verfügbar
Dash formats are not available for this video: Das DASH-Format ist für dieses Video Dash formats are not available for this video: DASH-Formate sind für dieses Video
nicht verfügbar nicht verfügbar
Share: Share:
Share Video: Teile das Video Share Video: Teile das Video
@ -649,6 +653,7 @@ Profile:
Other Channels: Andere Kanäle Other Channels: Andere Kanäle
Subscription List: Abonnement-Liste Subscription List: Abonnement-Liste
Profile Select: Profilauswahl Profile Select: Profilauswahl
Profile Filter: Profilfilter
The playlist has been reversed: Die Wiedergabeliste wurde umgedreht 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, A new blog is now available, $. Click to view more: Ein neuer Blogeintrag ist verfügbar,
$. Um ihn zu öffnen klicken $. Um ihn zu öffnen klicken
@ -657,33 +662,45 @@ Version $ is now available! Click for more details: Version $ ist jetzt verfüg
mehr Details klicken mehr Details klicken
Tooltips: Tooltips:
General Settings: General Settings:
Thumbnail Preference: Alle Videovoransichten in FreeTube werden durch ein Einzelbild Thumbnail Preference: Alle Thumbnails in FreeTube werden durch ein Standbild aus
aus dem Video ersetzt und entsprechen somit nicht mehr der Standardvoransicht. dem Video ersetzt und entsprechen somit nicht mehr dem Standart-Vorschaubild.
Invidious Instance: Die Invidious-Instanz, welche FreeTube für API-Aufrufe verwendet. Invidious Instance: Die Invidious-Instanz, welche FreeTube für API-Calls verwendet.
Leere die aktuelle Instanz, um eine vollständige Liste der verfügbaren Server Leere die aktuelle Instanz, um eine vollständige Liste der verfügbaren Server
anzuzeigen. anzuzeigen.
Fallback to Non-Preferred Backend on Failure: Erlaube FreeTube, falls die bevorzugte Fallback to Non-Preferred Backend on Failure: Erlaube FreeTube, falls die bevorzugte
API nicht verfügbar sein sollte, automatisch die nicht bevorzugte Alternative API nicht verfügbar sein sollte, automatisch eine alternative API zu nutzen.
zu nutzen.
Preferred API Backend: Wähle das Backend, welches FreeTube zum Laden der Daten Preferred API Backend: Wähle das Backend, welches FreeTube zum Laden der Daten
nutzen soll. Die lokale API ist ein integrierter Extrahierer. Die Invidious nutzen soll. Die lokale API ist ein integrierter Extrahierer. Die Invidious-API
API dagegen verwendet einen externen Server. dagegen verwendet einen externen Server.
Region for Trending: Die Trendregion erlaubt es dir auszuwählen, aus welchem Land 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 die Trends angezeigt werden sollen. Nicht alle Optionen werden auch von YouTube
unterstützt unterstützt.
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Mit dieser Option nutzt FreeTube einen RSS-Feed von Youtube Fetch Feeds from RSS: Sobald aktiviert wird FreeTube RSS anstatt der Standartmethode
um deine Abonnements zu aktualisieren. RSS ist sowohl schneller als auch sicherer, nutzen, um deine Abos zu aktualisieren. RSS ist schneller und verhindert das
wenn du oft temporär von YouTube geblockt wirst(Error 429). Allerdings sind Blockieren deiner IP-Adresse, doch gewisse Informationen, wie z.B. die Dauer
nicht alle Videoinformationen, wie Videodauer oder Live-Status, verfügbar. des Videos oder der Status eines Livestreams, werden nicht mehr verfügbar sein
Player Settings: Player Settings:
Default Video Format: Auswahl der Formate bei der Videowiedergabe. Dash-Formate Default Video Format: Auswahl der Formate bei der Videowiedergabe. DASH-Formate
bieten eine höhere Qualität, Legacy-Formate sind auf 720p begrenzt, benötigen bieten eine höhere Qualität, LEGACY-Formate sind auf 720p begrenzt, benötigen
dafür aber auch weniger Bandbreite. Audioformate umfassen reine Audiostreams. dafür aber auch weniger Bandbreite. Audioformate beinhalten nur den Ton.
Proxy Videos Through Invidious: Zu Invidious verbinden, um Videos abzurufen, anstatt Proxy Videos Through Invidious: Zu Invidious verbinden, um Videos abzurufen, anstatt
eine direkten Verbindung zu YouTube aufzubauen. Überschreibt die API-Präferenz. eine direkten Verbindung zu YouTube aufzubauen. Überschreibt die API-Präferenz.
Force Local Backend for Legacy Formats: Dies funktioniert nur wenn du die Invidious Force Local Backend for Legacy Formats: Funktioniert nur, wenn du die Invidious-API
API als Standard ausgewählt hast. Die lokale API wird bei der Verwendung von als Standard ausgewählt hast. Die lokale API wird bei der Verwendung von "Legacy"
Legacy Formaten diese verwenden, anstatt auf Invidious zurückzugreifen. Dies -Formaten diese verwenden, anstatt auf Invidious zurückzugreifen. Dies hilft
hilft dann, wenn Videos von Invidious nicht abspielbar sind. Zum Beispiel aufgrund dann, wenn Videos von Invidious aufgrund von Ländersperren nicht abspielbar
von Landesbeschränkungen. sind.
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
Hashtags have not yet been implemented, try again later: Hashtags wurden noch nicht
implementiert, bitte versuche es später noch einmal
Unknown YouTube url type, cannot be opened in app: Unbekannte YouTube-Adresse, kann
in FreeTube nicht geöffnet werden

View File

@ -47,7 +47,7 @@ Search Filters:
Last Hour: 'Τελευταίας ώρας' Last Hour: 'Τελευταίας ώρας'
Today: 'Σήμερα' Today: 'Σήμερα'
This Week: 'Τρέχουσα Εβδομάδα' This Week: 'Τρέχουσα Εβδομάδα'
This Month: 'Αυτό το μήνα' This Month: 'Τρέχων μήνα'
This Year: 'Τρέχων έτος' This Year: 'Τρέχων έτος'
Type: Type:
Type: 'Είδος' Type: 'Είδος'
@ -170,7 +170,7 @@ Settings:
Autoplay Videos: 'Αυτόματη αναπαραγωγή βίντεο' Autoplay Videos: 'Αυτόματη αναπαραγωγή βίντεο'
Proxy Videos Through Invidious: 'Βίντεο μέσω του διακομιστή μεσολάβησης Invidious' Proxy Videos Through Invidious: 'Βίντεο μέσω του διακομιστή μεσολάβησης Invidious'
Autoplay Playlists: 'Αυτόματη αναπαραγωγή της λίστας αναπαραγωγής' Autoplay Playlists: 'Αυτόματη αναπαραγωγή της λίστας αναπαραγωγής'
Enable Theatre Mode by Default: 'Ενεργοποίση λειτουργίας κινηματογράφου από προεπιλογή' Enable Theatre Mode by Default: 'Ενεργοποίηση λειτουργίας κινηματογράφου από προεπιλογή'
Default Volume: 'Προεπιλεγμένο επίπεδο έντασης' Default Volume: 'Προεπιλεγμένο επίπεδο έντασης'
Default Playback Rate: 'Προεπιλεγμένη ταχύτητα αναπαραγωγής' Default Playback Rate: 'Προεπιλεγμένη ταχύτητα αναπαραγωγής'
Default Video Format: Default Video Format:
@ -190,6 +190,8 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Παύση μεταξύ Βίντεο στη λίστα αναπαραγωγής
Next Video Interval: Επόμενο διάστημα του βίντεο
Privacy Settings: Privacy Settings:
Privacy Settings: 'Ρυθμίσεις απορρήτου' Privacy Settings: 'Ρυθμίσεις απορρήτου'
Remember History: 'Διατήρηση ιστορικού' Remember History: 'Διατήρηση ιστορικού'
@ -206,6 +208,7 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Είστε Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Είστε
βέβαιοι ότι θέλετε να καταργήσετε όλες τις συνδρομές και τα προφίλ; Αυτό δεν βέβαιοι ότι θέλετε να καταργήσετε όλες τις συνδρομές και τα προφίλ; Αυτό δεν
μπορεί να αναιρεθεί.' μπορεί να αναιρεθεί.'
Automatically Remove Video Meta Files: Αυτόματη αφαίρεση μετα-αρχείων βίντεο
Subscription Settings: Subscription Settings:
Subscription Settings: 'Ρυθμίσεις Συνδρομών' Subscription Settings: 'Ρυθμίσεις Συνδρομών'
Hide Videos on Watch: 'Απόκρυψη των βίντεο κατά την αναπαραγωγή' Hide Videos on Watch: 'Απόκρυψη των βίντεο κατά την αναπαραγωγή'
@ -290,6 +293,7 @@ Settings:
Hide Channel Subscribers: Απόκρυψη συνδρομών καναλιού Hide Channel Subscribers: Απόκρυψη συνδρομών καναλιού
Hide Video Views: Απόκρυψη προβολών βίντεο Hide Video Views: Απόκρυψη προβολών βίντεο
Hide Active Subscriptions: Απόκρυψη ενεργών συνδρομών Hide Active Subscriptions: Απόκρυψη ενεργών συνδρομών
Hide Playlists: Απόκρυψη λιστών αναπαραγωγής
The app needs to restart for changes to take effect. Restart and apply change?: Η The app needs to restart for changes to take effect. Restart and apply change?: Η
εφαρμογή πρέπει να κάνει επανεκκίνηση για να εφαρμοστούν οι αλλαγές. Επανεκκίνηση εφαρμογή πρέπει να κάνει επανεκκίνηση για να εφαρμοστούν οι αλλαγές. Επανεκκίνηση
και εφαρμογή αλλαγών; και εφαρμογή αλλαγών;
@ -411,6 +415,7 @@ Profile:
βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα κανάλια; Αυτό δε θα διαγράψει βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα κανάλια; Αυτό δε θα διαγράψει
το κανάλι από οποιοδήποτε άλλο προφίλ.' το κανάλι από οποιοδήποτε άλλο προφίλ.'
#On Channel Page #On Channel Page
Profile Filter: Φίλτρο προφίλ
Channel: Channel:
Subscriber: 'Συνδρομητής' Subscriber: 'Συνδρομητής'
Subscribers: 'Συνδρομητές' Subscribers: 'Συνδρομητές'
@ -462,7 +467,7 @@ Video:
View: 'Προβολή' View: 'Προβολή'
Views: 'Προβολές' Views: 'Προβολές'
Loop Playlist: 'Επανάληψη λίστας αναπαραγωγής' Loop Playlist: 'Επανάληψη λίστας αναπαραγωγής'
Shuffle Playlist: 'Τυχαία αναπαραγωγή' Shuffle Playlist: 'Τυχαία σειρά στη λίστα αναπαραγωγής'
Reverse Playlist: 'Αντιστροφή της λίστας αναπαραγωγής' Reverse Playlist: 'Αντιστροφή της λίστας αναπαραγωγής'
Play Next Video: 'Αναπαραγωγή επόμενου βίντεο' Play Next Video: 'Αναπαραγωγή επόμενου βίντεο'
Play Previous Video: 'Αναπαραγωγή προηγούμενου βίντεο' Play Previous Video: 'Αναπαραγωγή προηγούμενου βίντεο'
@ -537,6 +542,7 @@ Video:
λίστα σας λίστα σας
Video has been saved: Το βίντεο έχει αποθηκευτεί Video has been saved: Το βίντεο έχει αποθηκευτεί
Save Video: Αποθήκευση βίντεο Save Video: Αποθήκευση βίντεο
translated from English: μεταφράστηκε από τα Αγγλικά
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -653,27 +659,41 @@ Tooltips:
Player Settings: Player Settings:
Default Video Format: Ορίστε τις μορφές που χρησιμοποιούνται κατά την αναπαραγωγή Default Video Format: Ορίστε τις μορφές που χρησιμοποιούνται κατά την αναπαραγωγή
ενός βίντεο. Οι μορφές DASH μπορούν να παίξουν υψηλότερη ποιότητα. Οι παλαιότερες ενός βίντεο. Οι μορφές DASH μπορούν να παίξουν υψηλότερη ποιότητα. Οι παλαιότερες
μορφές περιορίζονται σε μέγιστο ανάλυσγς 720p αλλά χρησιμοποιούν λιγότερους μορφές περιορίζονται σε μέγιστο ανάλυσης 720p αλλά χρησιμοποιούν λιγότερους
πόρους. Οι μορφές ήχου περιλαμβάνουν ροές μόνο ήχου πόρους. Οι μορφές ήχου περιλαμβάνουν ροές μόνο ήχου.
Proxy Videos Through Invidious: Θα συνδεθεί με το Invidious για να σερβίρει τα Proxy Videos Through Invidious: Θα συνδεθεί με το Invidious για να εξυπηρετήσει
βίντεο αντί να κάνει μια άμεση σύνδεση με το YouTube. Παράκαμψη προτίμησης API τα βίντεο αντί να κάνει μια άμεση σύνδεση με το YouTube. Παράκαμψη προτίμησης
API.
Force Local Backend for Legacy Formats: Λειτουργεί μόνο όταν το Invidious API Force Local Backend for Legacy Formats: Λειτουργεί μόνο όταν το Invidious API
είναι η προεπιλογή σας. Όταν ενεργοποιηθεί, το τοπικό API θα χρησιμοποιήσει είναι η προεπιλογή σας. Όταν ενεργοποιηθεί, το τοπικό API θα χρησιμοποιήσει
τις μορφές παλαιού τύπου που επιστρέφονται από αυτό αντί για αυτές που επιστρέφονται τις μορφές παλαιού τύπου που επιστρέφονται από αυτό αντί για αυτές που επιστρέφονται
από το Invidious. Βοηθά όταν τα βίντεο που επιστρέφονται από το Invidious δεν από το Invidious. Βοηθά όταν τα βίντεο που επιστρέφονται από το Invidious δεν
αναπαράγονται λόγω περιορισμών χώρας αναπαράγονται λόγω περιορισμών χώρας.
General Settings: General Settings:
Region for Trending: Η περιοχή των τάσεων σας επιτρέπει να επιλέξετε τα δημοφιλή Region for Trending: Η περιοχή των τάσεων σας επιτρέπει να επιλέξετε τα δημοφιλή
βίντεο της χώρας που θέλετε να εμφανίζονται. Δεν υποστηρίζονται όλες οι χώρες βίντεο της χώρας που θέλετε να εμφανίζονται. Δεν υποστηρίζονται όλες οι χώρες
που προβάλλονται από το YouTube που προβάλλονται από το YouTube.
Thumbnail Preference: Όλες οι μικρογραφίες του FreeTube θα αντικατασταθούν με Thumbnail Preference: Όλες οι μικρογραφίες του FreeTube θα αντικατασταθούν με
ένα πλαίσιο του βίντεο αντί για την προεπιλεγμένη μικρογραφία ένα πλαίσιο του βίντεο αντί για την προεπιλεγμένη μικρογραφία.
Fallback to Non-Preferred Backend on Failure: Όταν το προτιμώμενο API αντιμετωπίζει Fallback to Non-Preferred Backend on Failure: Όταν το προτιμώμενο API αντιμετωπίζει
πρόβλημα, το FreeTube θα προσπαθήσει να χρησιμοποιήσει το μη προτιμώμενο API πρόβλημα, το FreeTube θα προσπαθήσει να χρησιμοποιήσει το μη προτιμώμενο API
ως εναλλακτική μέθοδο όταν ενεργοποιηθεί ως εναλλακτική μέθοδο όταν ενεργοποιηθεί.
Preferred API Backend: Επέλεξε το σύστημα με το οποίο το Freetube θα συλλέγει Preferred API Backend: Επέλεξε το σύστημα με το οποίο το Freetube θα συλλέγει
δεδομένα. Το τοπικό API είναι ένα ενσωματωμένο εργαλείο. Ενώ το Invidious API δεδομένα. Το τοπικό API είναι ένα ενσωματωμένο εργαλείο. Ενώ το Invidious API
απαιτεί έναν Invidious server για να συνδεθεί. απαιτεί έναν Invidious server για να συνδεθεί.
Invidious Instance: Το στιγμιότυπο Invidious στο οποίο το FreeTube θα συνδεθεί Invidious Instance: Το στιγμιότυπο Invidious στο οποίο το FreeTube θα συνδεθεί
για κλήσεις διεπαφής. Καθαρίστε το παρόν στιγμιότυπο για να δείτε μια λίστα για κλήσεις διεπαφής. Καθαρίστε το παρόν στιγμιότυπο για να δείτε μια λίστα
δημόσιων στιγμιότυπων προς επιλογή δημόσιων στιγμιότυπων προς επιλογή.
Privacy Settings:
Remove Video Meta Files: Όταν είναι ενεργοποιημένο, το FreeTube διαγράφει αυτόματα
τα μετα-αρχεία που δημιουργήθηκαν κατά την αναπαραγωγή βίντεο, όταν η σελίδα
παρακολούθησης είναι κλειστή.
Playing Next Video Interval: Αναπαραγωγή επόμενου βίντεο άμεσα. Κάντε κλικ για ακύρωση.
| Αναπαραγωγή επόμενου βίντεο σε {nextVideoInterval} δευτερόλεπτο. Κάντε κλικ για
ακύρωση. | Αναπαραγωγή επόμενου βίντεο σε {nextVideoInterval} δευτερόλεπτα. Κάντε
κλικ για ακύρωση.
More: Περισσότερα
Hashtags have not yet been implemented, try again later: Τα Hashtags δεν έχουν ακόμη
εφαρμοστεί, δοκιμάστε ξανά αργότερα
Unknown YouTube url type, cannot be opened in app: Άγνωστος τύπος διεύθυνσης URL YouTube,
δεν είναι δυνατό να ανοίξει στην εφαρμογή

View File

@ -28,6 +28,7 @@ Minimize: Minimize
Close: Close Close: Close
Back: Back Back: Back
Forward: Forward Forward: Forward
Open New Window: Open New Window
Version $ is now available! Click for more details: Version $ is now available! Click Version $ is now available! Click for more details: Version $ is now available! Click
for more details for more details
@ -112,6 +113,7 @@ Settings:
Enable Search Suggestions: Enable Search Suggestions Enable Search Suggestions: Enable Search Suggestions
Default Landing Page: Default Landing Page Default Landing Page: Default Landing Page
Locale Preference: Locale Preference Locale Preference: Locale Preference
System Default: System Default
Preferred API Backend: Preferred API Backend:
Preferred API Backend: Preferred API Backend Preferred API Backend: Preferred API Backend
Local API: Local API Local API: Local API
@ -171,12 +173,12 @@ Settings:
Proxy Videos Through Invidious: Proxy Videos Through Invidious Proxy Videos Through Invidious: Proxy Videos Through Invidious
Autoplay Playlists: Autoplay Playlists Autoplay Playlists: Autoplay Playlists
Enable Theatre Mode by Default: Enable Theatre Mode by Default Enable Theatre Mode by Default: Enable Theatre Mode by Default
Playlist Next Video Interval: Playlist Next Video Interval Next Video Interval: Next Video Interval
Default Volume: Default Volume Default Volume: Default Volume
Default Playback Rate: Default Playback Rate Default Playback Rate: Default Playback Rate
Default Video Format: Default Video Format:
Default Video Format: Default Video Format Default Video Format: Default Video Format
Dash Formats: Dash Formats Dash Formats: DASH Formats
Legacy Formats: Legacy Formats Legacy Formats: Legacy Formats
Audio Formats: Audio Formats Audio Formats: Audio Formats
Default Quality: Default Quality:
@ -195,6 +197,7 @@ Settings:
Privacy Settings: Privacy Settings Privacy Settings: Privacy Settings
Remember History: Remember History Remember History: Remember History
Save Watched Progress: Save Watched Progress Save Watched Progress: Save Watched Progress
Automatically Remove Video Meta Files: Automatically Remove Video Meta Files
Clear Search Cache: Clear Search Cache Clear Search Cache: Clear Search Cache
Are you sure you want to clear out your search cache?: Are you sure you want to Are you sure you want to clear out your search cache?: Are you sure you want to
clear out your search cache? clear out your search cache?
@ -277,6 +280,11 @@ Settings:
Region: Region Region: Region
City: City City: City
Error getting network information. Is your proxy configured properly?: Error getting network information. Is your proxy configured properly? Error getting network information. Is your proxy configured properly?: Error getting network information. Is your proxy configured properly?
SponsorBlock Settings:
SponsorBlock Settings: SponsorBlock Settings
Enable SponsorBlock: Enable SponsorBlock
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': SponsorBlock API Url (Default is https://sponsor.ajay.app)
Notify when sponsor segment is skipped: Notify when sponsor segment is skipped
About: About:
#On About page #On About page
About: About About: About
@ -466,8 +474,17 @@ Video:
Published on: Published on Published on: Published on
Streamed on: Streamed on Streamed on: Streamed on
Started streaming on: Started streaming on Started streaming on: Started streaming on
translated from English: translated from English
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: $ % ago Publicationtemplate: $ % ago
Skipped segment: Skipped segment
Sponsor Block category:
sponsor: sponsor
intro: intro
outro: outro
self-promotion: self-promotion
interaction: interaction
music offtopic: music offtopic
#& Videos #& Videos
Videos: Videos:
#& Sort By #& Sort By
@ -496,10 +513,10 @@ Playlist:
Toggle Theatre Mode: Toggle Theatre Mode Toggle Theatre Mode: Toggle Theatre Mode
Change Format: Change Format:
Change Video Formats: Change Video Formats Change Video Formats: Change Video Formats
Use Dash Formats: Use Dash Formats Use Dash Formats: Use DASH Formats
Use Legacy Formats: Use Legacy Formats Use Legacy Formats: Use Legacy Formats
Use Audio Formats: Use Audio Formats Use Audio Formats: Use Audio Formats
Dash formats are not available for this video: Dash formats are not available for Dash formats are not available for this video: DASH formats are not available for
this video this video
Audio formats are not available for this video: Audio formats are not available Audio formats are not available for this video: Audio formats are not available
for this video for this video
@ -548,29 +565,32 @@ Tooltips:
to connect to. to connect to.
Fallback to Non-Preferred Backend on Failure: When your preferred API has a problem, 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 FreeTube will automatically attempt to use your non-preferred API as a fallback
method when enabled method when enabled.
Thumbnail Preference: All thumbnails throughout FreeTube will be replaced with Thumbnail Preference: All thumbnails throughout FreeTube will be replaced with
a frame of the video instead of the default thumbnail a frame of the video instead of the default thumbnail.
Invidious Instance: The Invidious instance that FreeTube will connect to for API Invidious Instance: The Invidious instance that FreeTube will connect to for API
calls. Clear the current instance to see a list of public instances to choose calls. Clear the current instance to see a list of public instances to choose
from from.
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 videos you want to have displayed. Not all countries displayed are actually
supported by YouTube supported by YouTube.
Player Settings: Player Settings:
Force Local Backend for Legacy Formats: Only works when the Invidious API is your 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 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 that instead of the ones returned by Invidious. Helps when the videos returned
by Invidious don't play due to country restrictions by Invidious don't play due to country restrictions.
Proxy Videos Through Invidious: Will connect to Invidious to serve videos instead Proxy Videos Through Invidious: Will connect to Invidious to serve videos instead
of making a direct connection to YouTube. Overrides API preference of making a direct connection to YouTube. Overrides API preference.
Default Video Format: Set the formats used when a video plays. Dash formats can Default Video Format: Set the formats used when a video plays. DASH formats can
play higher qualities. Legacy formats are limited to a max of 720p but use less play higher qualities. Legacy formats are limited to a max of 720p but use less
bandwidth. Audio formats are audio only streams bandwidth. Audio formats are audio only streams.
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: When enabled, FreeTube will use RSS instead of its default 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, 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 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 # Toast Messages
Local API Error (Click to copy): Local API Error (Click to copy) Local API Error (Click to copy): Local API Error (Click to copy)
@ -581,6 +601,8 @@ This video is unavailable because of missing formats. This can happen due to cou
video is unavailable because of missing formats. This can happen due to country video is unavailable because of missing formats. This can happen due to country
unavailability. unavailability.
Subscriptions have not yet been implemented: Subscriptions have not yet been implemented Subscriptions have not yet been implemented: Subscriptions have not yet been implemented
Unknown YouTube url type, cannot be opened in app: Unknown YouTube url type, cannot be opened in app
Hashtags have not yet been implemented, try again later: Hashtags have not yet been implemented, try again later
Loop is now disabled: Loop is now disabled Loop is now disabled: Loop is now disabled
Loop is now enabled: Loop is now enabled Loop is now enabled: Loop is now enabled
Shuffle is now disabled: Shuffle is now disabled Shuffle is now disabled: Shuffle is now disabled

View File

@ -44,7 +44,7 @@ Search Filters:
Sort By: 'Sort By' Sort By: 'Sort By'
Most Relevant: 'Most Relevant' Most Relevant: 'Most Relevant'
Rating: 'Rating' Rating: 'Rating'
Upload Date: 'Upload Date' Upload Date: 'Upload date'
View Count: 'View Count' View Count: 'View Count'
Time: Time:
Time: 'Time' Time: 'Time'
@ -70,6 +70,7 @@ Search Filters:
Fetching results. Please wait: 'Fetching results. Please wait' Fetching results. Please wait: 'Fetching results. Please wait'
Fetch more results: 'Fetch more results' Fetch more results: 'Fetch more results'
# Sidebar # Sidebar
There are no more results for this search: There are no more results for this search
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: 'Subscriptions' Subscriptions: 'Subscriptions'
@ -86,6 +87,12 @@ Most Popular: 'Most Popular'
Playlists: 'Playlists' Playlists: 'Playlists'
User Playlists: User Playlists:
Your Playlists: 'Your 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: History:
# On History Page # On History Page
History: 'History' History: 'History'
@ -121,6 +128,8 @@ Settings:
(Default is https://invidious.snopyta.org)' (Default is https://invidious.snopyta.org)'
Region for Trending: 'Region for Trending' Region for Trending: 'Region for Trending'
#! List countries #! List countries
View all Invidious instance information: View all Invidious instance information
System Default: System Default
Theme Settings: Theme Settings:
Theme Settings: 'Theme Settings' Theme Settings: 'Theme Settings'
Match Top Bar with Main Color: 'Match top bar with main colour' Match Top Bar with Main Color: 'Match top bar with main colour'
@ -165,7 +174,7 @@ Settings:
Default Playback Rate: 'Default Playback Rate' Default Playback Rate: 'Default Playback Rate'
Default Video Format: Default Video Format:
Default Video Format: 'Default Video Format' Default Video Format: 'Default Video Format'
Dash Formats: 'Dash Formats' Dash Formats: 'DASH Formats'
Legacy Formats: 'Legacy Formats' Legacy Formats: 'Legacy Formats'
Audio Formats: 'Audio Formats' Audio Formats: 'Audio Formats'
Default Quality: Default Quality:
@ -180,6 +189,8 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Playlist Next Video Interval
Next Video Interval: Next Video Interval
Privacy Settings: Privacy Settings:
Privacy Settings: 'Privacy Settings' Privacy Settings: 'Privacy Settings'
Remember History: 'Remember History' Remember History: 'Remember History'
@ -196,6 +207,7 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Are Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Are
you sure you want to remove all subscriptions and profiles? This cannot be you sure you want to remove all subscriptions and profiles? This cannot be
undone.' undone.'
Automatically Remove Video Meta Files: Automatically Remove Video Meta Files
Subscription Settings: Subscription Settings:
Subscription Settings: 'Subscription Settings' Subscription Settings: 'Subscription Settings'
Hide Videos on Watch: 'Hide Videos on Watch' Hide Videos on Watch: 'Hide Videos on Watch'
@ -239,6 +251,7 @@ Settings:
Unknown data key: 'Unknown data key' Unknown data key: 'Unknown data key'
How do I import my subscriptions?: 'How do I import my subscriptions?' How do I import my subscriptions?: 'How do I import my subscriptions?'
Check for Legacy Subscriptions: Check for Legacy Subscriptions Check for Legacy Subscriptions: Check for Legacy Subscriptions
Manage Subscriptions: Manage Subscriptions
Advanced Settings: Advanced Settings:
Advanced Settings: 'Advanced Settings' Advanced Settings: 'Advanced Settings'
Enable Debug Mode (Prints data to the console): 'Enable Debug Mode (Prints data Enable Debug Mode (Prints data to the console): 'Enable Debug Mode (Prints data
@ -277,9 +290,32 @@ Settings:
Hide Video Views: Hide Video Views Hide Video Views: Hide Video Views
Hide Active Subscriptions: Hide Active Subscriptions Hide Active Subscriptions: Hide Active Subscriptions
Distraction Free Settings: Distraction Free Settings 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 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 app needs to restart for changes to take effect. Do you want to restart and apply
the changes? 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
SponsorBlock Settings:
Notify when sponsor segment is skipped: Notify when sponsor segment is skipped
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': SponsorBlock API
Url (Default is https://sponsor.ajay.app)
Enable SponsorBlock: Enable SponsorBlock
SponsorBlock Settings: SponsorBlock Settings
About: About:
#On About page #On About page
About: About About: About
@ -289,7 +325,7 @@ About:
Donate: Donate Donate: Donate
Beta: Beta Beta: Beta
License: License License: License
Email: Email Email: E-mail
Channel Rules: Channel Rules Channel Rules: Channel Rules
Report an Issue: Report an Issue Report an Issue: Report an Issue
Wiki: Wiki Wiki: Wiki
@ -301,6 +337,22 @@ About:
Website: Website Website: Website
Translate via Weblate: Translate via Weblate 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:
Profile Select: 'Profile Select' Profile Select: 'Profile Select'
All Channels: 'All Channels' All Channels: 'All Channels'
@ -342,6 +394,7 @@ Profile:
you sure you want to delete the selected channels? This will not delete the channel you sure you want to delete the selected channels? This will not delete the channel
from any other profile.' from any other profile.'
#On Channel Page #On Channel Page
Profile Filter: Profile Filter
Channel: Channel:
Subscriber: 'Subscriber' Subscriber: 'Subscriber'
Subscribers: 'Subscribers' Subscribers: 'Subscribers'
@ -461,6 +514,19 @@ Video:
Open Channel in Invidious: Open this Channel in Invidious Open Channel in Invidious: Open this Channel in Invidious
Copy YouTube Channel Link: Copy the Link of this YouTube Channel Copy YouTube Channel Link: Copy the Link of this YouTube Channel
Open Channel in YouTube: Open this Channel in YouTube 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
translated from English: translated from English
Sponsor Block category:
music offtopic: music offtopic
interaction: interaction
self-promotion: self-promotion
outro: outro
intro: intro
sponsor: sponsor
Skipped segment: Skipped segment
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -488,10 +554,10 @@ Playlist:
Toggle Theatre Mode: 'Toggle Theatre Mode' Toggle Theatre Mode: 'Toggle Theatre Mode'
Change Format: Change Format:
Change Video Formats: 'Change Video Formats' Change Video Formats: 'Change Video Formats'
Use Dash Formats: 'Use Dash Formats' Use Dash Formats: 'Use DASH Formats'
Use Legacy Formats: 'Use Legacy Formats' Use Legacy Formats: 'Use Legacy Formats'
Use Audio Formats: 'Use Audio Formats' Use Audio Formats: 'Use Audio Formats'
Dash formats are not available for this video: 'Dash formats are not available for Dash formats are not available for this video: 'DASH formats are not available for
this video' this video'
Audio formats are not available for this video: 'Audio formats are not available Audio formats are not available for this video: 'Audio formats are not available
for this video' for this video'
@ -560,29 +626,41 @@ Tooltips:
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: When enabled, FreeTube will use RSS instead of its default 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, 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 doesnt provide certain information like video duration, or live status
Player Settings: Player Settings:
Default Video Format: Set the formats used when a video plays. Dash formats can 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, play higher qualities. Legacy formats are limited to a max of 720p but use less
but use less bandwidth. Audio formats stream only audio bandwidth. Audio formats are audio only streams.
Proxy Videos Through Invidious: Will connect to Invidious to serve videos instead Proxy Videos Through Invidious: Will connect to Invidious to serve videos instead
of making a direct connection to YouTube. Overrides API preference of making a direct connection to YouTube. Overrides API preference.
Force Local Backend for Legacy Formats: This only works when the Invidious API Force Local Backend for Legacy Formats: Only works when the Invidious API is your
is your default. When enabled, the local API will run and use the legacy formats default. When enabled, the local API will run and use the legacy formats returned
returned by that instead of the ones returned by Invidious. It helps when the by that instead of the ones returned by Invidious. Helps when the videos returned
videos returned by Invidious can't play because of regional restrictions by Invidious dont play due to country restrictions.
General Settings: 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 countrys trending
videos you want to have displayed. Not all countries displayed are actually videos you want to have displayed. Not all countries displayed are actually
supported by YouTube supported by YouTube.
Invidious Instance: The Invidious instance that FreeTube will connect to for API Invidious Instance: The Invidious instance that FreeTube will connect to for API
calls. Clear the current instance to see a list of public instances to choose calls. Clear the current instance to see a list of public instances to choose
from from.
Thumbnail Preference: All thumbnails throughout FreeTube will be replaced with Thumbnail Preference: All thumbnails throughout FreeTube will be replaced with
a frame of the video instead of the default thumbnail a frame of the video instead of the default thumbnail.
Fallback to Non-Preferred Backend on Failure: When your preferred API has a problem, 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 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. 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 The local API is a built-in extractor. The Invidious API requires an Invidious
server to connect to. server to connect to.
Privacy Settings:
Remove Video Meta Files: When enabled, FreeTube automatically deletes meta files
created during video playback, when the watch page is closed.
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
Hashtags have not yet been implemented, try again later: Hashtags have not yet been
implemented, try again later
Unknown YouTube url type, cannot be opened in app: Unknown YouTube url type, cannot
be opened in app
Open New Window: Open New Window

View File

@ -258,6 +258,9 @@ About:
Latest FreeTube News: '' Latest FreeTube News: ''
Blog: Blogo
Website: Retejo
Email: Retpoŝto
Profile: Profile:
Profile Select: '' Profile Select: ''
All Channels: '' All Channels: ''

View File

@ -294,6 +294,9 @@ About:
Latest FreeTube News: 'Últimas noticias de FreeTube' Latest FreeTube News: 'Últimas noticias de FreeTube'
#On Channel Page #On Channel Page
Blog: Blog
Website: Sitio web
Email: Correo electrónico
Channel: Channel:
Subscriber: 'Suscriptor' Subscriber: 'Suscriptor'
Subscribers: 'Suscriptores' Subscribers: 'Suscriptores'

View File

@ -171,7 +171,7 @@ Settings:
Legacy Formats: 'Legacy' Legacy Formats: 'Legacy'
Audio Formats: 'Solo audio' Audio Formats: 'Solo audio'
Default Quality: Default Quality:
Default Quality: 'Calidad predeterminada' Default Quality: 'Calidad Predeterminada'
Auto: 'Automático' Auto: 'Automático'
144p: '144p' 144p: '144p'
240p: '240p' 240p: '240p'
@ -182,36 +182,37 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Intervalo de Siguiente Video en Playlist
Privacy Settings: Privacy Settings:
Privacy Settings: 'Privacidad' Privacy Settings: 'Ajustes de Privacidad'
Remember History: 'Recordar historial' Remember History: 'Recordar Historial'
Save Watched Progress: 'Guardar progreso reproducido' 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 Are you sure you want to clear out your search cache?: '¿Seguro de que quieres
borrar la cache de búsqueda?' 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' Remove Watch History: 'Borrar historial de reproducción'
Are you sure you want to remove your entire watch history?: '¿Seguro de que quieres Are you sure you want to remove your entire watch history?: '¿Seguro de que quieres
borrar el historial de reproducción?' 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' 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 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 seguro de que quieres borrar todas las suscripciones y perfiles? Esta operación
será irreversible.' será irreversible.'
Subscription Settings: Subscription Settings:
Subscription Settings: 'Suscripciones' Subscription Settings: 'Ajustes de Suscripciones'
Hide Videos on Watch: 'Ocultar videos vistos' Hide Videos on Watch: 'Ocultar videos vistos'
Fetch Feeds from RSS: 'Obtener suscripciones usando RSS' Fetch Feeds from RSS: 'Obtener suscripciones usando RSS'
Manage Subscriptions: 'Administrar suscripciones' Manage Subscriptions: 'Administrar Suscripciones'
Data Settings: Data Settings:
Data Settings: 'Datos locales' Data Settings: 'Ajustes de Datos'
Select Import Type: 'Tipo de importación' Select Import Type: 'Seleccionar Tipo de Importación'
Select Export Type: 'Tipo de exportación' Select Export Type: 'Seleccionar Tipo de Exportación'
Import Subscriptions: 'Importar suscripciones' Import Subscriptions: 'Importar Suscripciones'
Import FreeTube: 'Importar FreeTube' Import FreeTube: 'Importar FreeTube'
Import YouTube: 'Importar YouTube' Import YouTube: 'Importar YouTube'
Import NewPipe: 'Importar NewPipe' Import NewPipe: 'Importar NewPipe'
Export Subscriptions: 'Exportar suscripciones' Export Subscriptions: 'Exportar Suscripciones'
Export FreeTube: 'Exportar FreeTube' Export FreeTube: 'Exportar FreeTube'
Export YouTube: 'Exportar YouTube' Export YouTube: 'Exportar YouTube'
Export NewPipe: 'Exportar NewPipe' Export NewPipe: 'Exportar NewPipe'
@ -270,16 +271,17 @@ Settings:
#& No #& No
Distraction Free Settings: Distraction Free Settings:
Hide Video Likes And Dislikes: No mostrar likes/dislikes en videos Hide Video Likes And Dislikes: Ocultar Likes/Dislikes del Video
Hide Video Views: No mostrar visitas en videos Hide Video Views: Ocultar las Vistas del Video
Hide Live Chat: No mostrar chat Hide Live Chat: Ocultar Chat en Vivo
Hide Popular Videos: No mostrar más populares Hide Popular Videos: Ocultar Videos Populares
Hide Trending Videos: No mostrar tendencias Hide Trending Videos: Ocultar Tendencias
Hide Recommended Videos: No mostrar videos recomendados Hide Recommended Videos: Ocultar Videos Recomendados
Hide Comment Likes: No mostrar likes de comentarios Hide Comment Likes: Ocultar Likes de Comentarios
Hide Channel Subscribers: No mostrar suscriptores en canales Hide Channel Subscribers: Ocultar Suscriptores de Canales
Distraction Free Settings: No distraer Distraction Free Settings: Sin Distracción
Hide Active Subscriptions: Ocultar suscripciones activas 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 The app needs to restart for changes to take effect. Restart and apply change?: ¿Quieres
reiniciar FreeTube ahora para aplicar los cambios? reiniciar FreeTube ahora para aplicar los cambios?
Proxy Settings: Proxy Settings:
@ -340,7 +342,7 @@ About:
Mastodon: Mastodon Mastodon: Mastodon
Email: Correo electrónico Email: Correo electrónico
Blog: Blog Blog: Blog
Website: Página web Website: Sitio web
Please check for duplicates before posting: Por favor, antes de publicar asegúrate Please check for duplicates before posting: Por favor, antes de publicar asegúrate
de no duplicar temas de no duplicar temas
GitHub issues: Sugerencias en GitHub GitHub issues: Sugerencias en GitHub
@ -396,6 +398,7 @@ Profile:
Other Channels: Otros canales Other Channels: Otros canales
Subscription List: Lista de suscripciones Subscription List: Lista de suscripciones
Profile Select: Seleccionar perfil Profile Select: Seleccionar perfil
Profile Filter: Filtro de Perfil
Channel: Channel:
Subscriber: 'Suscriptor' Subscriber: 'Suscriptor'
Subscribers: 'Suscriptores' Subscribers: 'Suscriptores'
@ -488,7 +491,7 @@ Video:
Year: 'Año' Year: 'Año'
Years: 'Años' Years: 'Años'
Ago: 'Hace' Ago: 'Hace'
Upcoming: 'Comenzará el' Upcoming: 'Se estrenará el'
Published on: 'Publicado el' Published on: 'Publicado el'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: 'Hace $ %' Publicationtemplate: 'Hace $ %'
@ -518,6 +521,7 @@ Video:
de guardados de guardados
Video has been saved: El video ha sido guardado Video has been saved: El video ha sido guardado
Save Video: Guardiar video Save Video: Guardiar video
translated from English: traducido del Inglés
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -529,20 +533,20 @@ Playlist:
#& About #& About
View Full Playlist: 'Ver la lista de reproducción completa' View Full Playlist: 'Ver la lista de reproducción completa'
Videos: 'Videos' Videos: 'Videos'
View: 'Vista' View: 'Ver'
Views: 'Vistas' Views: 'Vistas'
Last Updated On: 'Se actualizó por última vez el' Last Updated On: 'Se actualizó por última vez el'
Share Playlist: Share Playlist:
Share Playlist: 'Compartir lista de reproducción' Share Playlist: 'Compartir lista de reproducción'
Copy YouTube Link: 'Copiar enlace YouTube' Copy YouTube Link: 'Copiar enlace YouTube'
Open in YouTube: 'Abrir en 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' Open in Invidious: 'Abrir en Invidious'
# On Video Watch Page # On Video Watch Page
#* Published #* Published
#& Views #& Views
Toggle Theatre Mode: 'Pasar al modo cine' Toggle Theatre Mode: 'Activar Modo Cine'
Change Format: Change Format:
Change Video Formats: 'Cambiar formato de video' Change Video Formats: 'Cambiar formato de video'
Use Dash Formats: 'Usar formato Dash' Use Dash Formats: 'Usar formato Dash'
@ -553,41 +557,43 @@ Change Format:
Dash formats are not available for this video: El formato Dash no está disponible Dash formats are not available for this video: El formato Dash no está disponible
para este video para este video
Share: Share:
Share Video: 'Compartir video' Share Video: 'Compartir Video'
Copy Link: 'Copiar enlace' Copy Link: 'Copiar enlace'
Open Link: 'Abrir enlace' Open Link: 'Abrir enlace'
Copy Embed: 'Copiar código encrustado' Copy Embed: 'Copiar código encrustado'
Open Embed: 'Abrir código encrustado' Open Embed: 'Abrir código encrustado'
# On Click # On Click
Invidious URL copied to clipboard: 'El enlace de Invidious ha sido copiado al portapapeles' Invidious URL copied to clipboard: 'Enlace de Invidious copiado al porta-papeles'
Invidious Embed URL copied to clipboard: 'El enlace encrustada de Invidious ha sido Invidious Embed URL copied to clipboard: 'Enlace Incrustado de Invidious copiado
copiada al portapapeles' al porta-papeles'
YouTube URL copied to clipboard: 'El enlace de Youtube ha sido copiado al portapapeles' YouTube URL copied to clipboard: 'Enlace de YouTube copiado al porta-papeles'
YouTube Embed URL copied to clipboard: 'El enlace encrustado de Youtube ha sido YouTube Embed URL copied to clipboard: 'Enlace Incrustado de YouTube copiado al
copiado al portapapeles' porta-papeles'
Include Timestamp: Incluir marcas de tiempo Include Timestamp: Incluir marcas de tiempo
YouTube Channel URL copied to clipboard: Enlace youtube copiado YouTube Channel URL copied to clipboard: Enlace del Canal de YouTube copiado al
Invidious Channel URL copied to clipboard: Enlace Invidious copiado porta-papeles
Mini Player: 'Reproductor Mini' Invidious Channel URL copied to clipboard: Enlace del Canal de Invidious copiado
al porta-papeles
Mini Player: 'Mini Reproductor'
Comments: Comments:
Comments: 'Comentarios' Comments: 'Comentarios'
Click to View Comments: 'Ver comentarios' Click to View Comments: 'Ver Comentarios'
Getting comment replies, please wait: 'Obteniendo las respuestas. Por favor, espera' Getting comment replies, please wait: 'Obteniendo las respuestas. Por favor, espera...'
Show Comments: 'Ver comentarios' Show Comments: 'Ver Comentarios'
Hide Comments: 'Esconder comentarios' Hide Comments: 'Ocultar Comentarios'
# Context: View 10 Replies, View 1 Reply # Context: View 10 Replies, View 1 Reply
View: 'Ver' View: 'Ver'
Hide: 'Esconder' Hide: 'Ocultar'
Replies: 'Respuestas' Replies: 'Respuestas'
Reply: 'Respuesta' Reply: 'Responder'
There are no comments available for this video: 'Aún no hay comentarios' There are no comments available for this video: 'Aún no hay comentarios'
Load More Comments: 'Más comentarios' Load More Comments: 'Más comentarios'
There are no more comments for this video: No hay más comentarios en este video 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 Top comments: Mejores comentarios
Sort by: Ordenar por Sort by: Ordenar por
No more comments available: No hay más comentarios No more comments available: No hay más comentarios
Up Next: 'Siguientes' Up Next: 'A Continuación'
# Toast Messages # Toast Messages
Local API Error (Click to copy): 'Error de la API local (Click para copiar el código)' Local API Error (Click to copy): 'Error de la API local (Click para copiar el código)'
@ -615,15 +621,16 @@ A new blog is now available, $. Click to view more: Nueva publicación del blog
Download From Site: Descargar de la web Download From Site: Descargar de la web
Version $ is now available! Click for more details: La versión $ está disponible! Version $ is now available! Click for more details: La versión $ está disponible!
Click para saber más 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 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 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. la falta de acceso de este formato a tu región.
Tooltips: Tooltips:
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Si lo habilitas, FreeTube usará RSS por defecto para obtener Fetch Feeds from RSS: Si lo habilitas, FreeTube usará RSS en lugar de su método
tus suscripciones. RSS es más rápido e impide el bloqueo de IP, pero no podrá por defecto para obtener tus actualizaciones de suscripciones. RSS es más rápido
obtener cierta información como la duración de videos o si un video es en directo 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: Player Settings:
Default Video Format: Selecciona el formato usado para reproducir videos. El formato 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, Dash proporciona resoluciones más altas. El formato Legacy está limitado a 720p,
@ -644,7 +651,11 @@ Tooltips:
Thumbnail Preference: Todas las miniaturas en FreeTube serán reemplazadas con Thumbnail Preference: Todas las miniaturas en FreeTube serán reemplazadas con
un frame del vídeo en lugar de la miniatura por defecto un frame del vídeo en lugar de la miniatura por defecto
Fallback to Non-Preferred Backend on Failure: Si la API primaria falla, FreeTube Fallback to Non-Preferred Backend on Failure: Si la API primaria falla, FreeTube
utilizará automáticamente la API secundara si se habilita utilizará automáticamente la API secundara si se habilita.
Preferred API Backend: Elige el backend que FreeTube utiliza para obtener datos. 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 La API local es un extractor incluido. La API Invidious requiere un servidor
Invidious al que conectarse. Invidious al que conectarse.
More: Más
Unknown YouTube url type, cannot be opened in app: Tipo de LRU desconocido. No se
puede abrir en applicación
Open New Window: Abrir ventana nueva

View File

@ -273,7 +273,7 @@ Settings:
Distraction Free Settings: Configuraciones para evitar distraerse Distraction Free Settings: Configuraciones para evitar distraerse
The app needs to restart for changes to take effect. Restart and apply change?: Esta 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 aplicación necesita reiniciarse para que los cambios entren en efecto. ¿Reiniciar
y aplicar cambios? y aplicar el cambio?
About: About:
#On About page #On About page
About: '' About: ''
@ -296,6 +296,9 @@ About:
Latest FreeTube News: '' Latest FreeTube News: ''
Website: Sitio web
Email: Correo electrónico
Blog: Blog
Profile: Profile:
All Channels: '' All Channels: ''
Profile Manager: '' Profile Manager: ''
@ -477,8 +480,8 @@ Playing next video in 5 seconds. Click to cancel: ''
Canceled next video autoplay: '' Canceled next video autoplay: ''
'The playlist has ended. Enable loop to continue playing': '' 'The playlist has ended. Enable loop to continue playing': ''
Yes: '' Yes: ''
No: '' No: 'No'
A new blog is now available, $. Click to view more: Un nuevo blog está disponible, A new blog is now available, $. Click to view more: Un nuevo blog está disponible,
$. Hacé click para ver más $. Hacé click para ver más
Download From Site: Descargar desde el sitio Download From Site: Descargar desde el sitio

View File

@ -70,6 +70,7 @@ Search Filters:
Fetching results. Please wait: 'Laen tulemusi. Palun oota üks hetk' Fetching results. Please wait: 'Laen tulemusi. Palun oota üks hetk'
Fetch more results: 'Lae veel andmeid' Fetch more results: 'Lae veel andmeid'
# Sidebar # Sidebar
There are no more results for this search: Sellel otsingul pole rohkem vastuseid
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: 'Tellimused' Subscriptions: 'Tellimused'
@ -78,11 +79,18 @@ Subscriptions:
tellimuste loend on hetkel tühi. Telli kanaleid ja sa näed neid siin loendis.' tellimuste loend on hetkel tühi. Telli kanaleid ja sa näed neid siin loendis.'
'Getting Subscriptions. Please wait.': 'Laen tellimusi, palun oota.' 'Getting Subscriptions. Please wait.': 'Laen tellimusi, palun oota.'
Refresh Subscriptions: 'Värskenda tellimusi' Refresh Subscriptions: 'Värskenda tellimusi'
Trending: '' Load More Videos: Laadi veel videosid
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Sellel
profiilil on väga palju tellimusi. Vältimaks serveripoolseid piiranguid teen RSS-voo
päringud harvemini
Trending: 'Populaarsed videod'
Most Popular: 'Populaarseimad' Most Popular: 'Populaarseimad'
Playlists: 'Esitusloendid' Playlists: 'Esitusloendid'
User Playlists: User Playlists:
Your Playlists: 'Sinu esitusloendid' Your Playlists: 'Sinu esitusloendid'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Sa
pole veel videosid siia salvestanud. Selleks palun vajuta video nurgas asuvat
salvestusnuppu
History: History:
# On History Page # On History Page
History: 'Ajalugu' History: 'Ajalugu'
@ -94,17 +102,18 @@ Settings:
General Settings: General Settings:
General Settings: 'Üldised seadistused' General Settings: 'Üldised seadistused'
Check for Updates: 'Kontrolli uuendusi' Check for Updates: 'Kontrolli uuendusi'
Check for Latest Blog Posts: '' Check for Latest Blog Posts: 'Vaata viimaseid blogipostitusi'
Fallback to Non-Preferred Backend on Failure: '' Fallback to Non-Preferred Backend on Failure: 'Luba vigade korral kasutada teist
Enable Search Suggestions: '' taustateenust'
Default Landing Page: '' Enable Search Suggestions: 'Kasuta otsingusoovitusi'
Locale Preference: '' Default Landing Page: 'Vaikimisi avaleht'
Locale Preference: 'Lokaadi eelistus'
Preferred API Backend: Preferred API Backend:
Preferred API Backend: '' Preferred API Backend: 'Eelistatud taustateenuste API'
Local API: '' Local API: 'API kohalikus arvutis'
Invidious API: '' Invidious API: 'API Invidious''e veebirakenduses'
Video View Type: Video View Type:
Video View Type: '' Video View Type: 'Kasutatav videote vaade'
Grid: 'Võrgustik' Grid: 'Võrgustik'
List: 'Loend' List: 'Loend'
Thumbnail Preference: Thumbnail Preference:
@ -113,99 +122,115 @@ Settings:
Beginning: 'Alguses' Beginning: 'Alguses'
Middle: 'Keskel' Middle: 'Keskel'
End: 'Lõpus' End: 'Lõpus'
'Invidious Instance (Default is https://invidious.snopyta.org)': '' 'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious''e
Region for Trending: '' veebirakendus (vaikimisi kasutatav sait on https://invidious.snopyta.org)'
Region for Trending: 'Mis geograafia alusel tuvastame populaarsemad videod'
#! List countries #! List countries
System Default: Arvuti vaikeseadistused
View all Invidious instance information: Vaata kõike teavet kasutatava Invidious'e
veebirakenduse kohta
Theme Settings: Theme Settings:
Theme Settings: '' Theme Settings: 'Välimuse seadistused'
Match Top Bar with Main Color: '' Match Top Bar with Main Color: 'Kasuta ülaribal põhivärvi'
Base Theme: Base Theme:
Base Theme: '' Base Theme: 'Põhiteema'
Black: '' Black: 'Must'
Dark: '' Dark: 'Tume'
Light: '' Light: 'Hele'
Main Color Theme: Main Color Theme:
Main Color Theme: '' Main Color Theme: 'Põhiline värviteema'
Red: '' Red: 'Punane'
Pink: '' Pink: 'Roosa'
Purple: '' Purple: 'Purpurpunane'
Deep Purple: '' Deep Purple: 'Sügavpurpurpunane'
Indigo: '' Indigo: 'Indigosinine'
Blue: '' Blue: 'Sinine'
Light Blue: '' Light Blue: 'Helesinine'
Cyan: '' Cyan: 'Rohekassinine'
Teal: '' Teal: 'Sinakasroheline'
Green: '' Green: 'Roheline'
Light Green: '' Light Green: 'Heleroheline'
Lime: '' Lime: 'Kollakasroheline'
Yellow: '' Yellow: 'Kollane'
Amber: '' Amber: 'Merevaigukollane'
Orange: '' Orange: 'Oranž'
Deep Orange: '' Deep Orange: 'Sügavoranž'
Secondary Color Theme: '' Secondary Color Theme: 'Värvide alamteema'
#* Main Color Theme #* Main Color Theme
UI Scale: Kasutajaliidese suurus
Disable Smooth Scrolling: Ära kasuta sujuvat kerimist
Expand Side Bar by Default: Vaikimis näita külgriba laiana
Player Settings: Player Settings:
Player Settings: '' Player Settings: 'Videomängija seadistused'
Force Local Backend for Legacy Formats: '' Force Local Backend for Legacy Formats: 'Pärandvormingute puhul kasuta sundkorras
Play Next Video: '' kohalikku taustateenust'
Turn on Subtitles by Default: '' Play Next Video: 'Esita ka järgmist videot'
Turn on Subtitles by Default: 'Vaikimisi näita subtiitreid'
Autoplay Videos: 'Esita videod automaatselt' Autoplay Videos: 'Esita videod automaatselt'
Proxy Videos Through Invidious: '' Proxy Videos Through Invidious: 'Puhverda videosid Invidious''e veebiteenuse kaudu'
Autoplay Playlists: '' Autoplay Playlists: 'Automaatselt mängi esitusloendit'
Enable Theatre Mode by Default: '' Enable Theatre Mode by Default: 'Vaikimisi kasuta teatrivaadet (laia vaadet)'
Default Volume: '' Default Volume: 'Vaikimisi helivaljus'
Default Playback Rate: '' Default Playback Rate: 'Vaikimisi videoesituse kiirus'
Default Video Format: Default Video Format:
Default Video Format: '' Default Video Format: 'Vaikimisi videovorming'
Dash Formats: '' Dash Formats: 'DASH-vormingud'
Legacy Formats: '' Legacy Formats: 'Pärandvormingud'
Audio Formats: '' Audio Formats: 'Helivormingud'
Default Quality: Default Quality:
Default Quality: '' Default Quality: 'Vaikimisi videokvaliteet'
Auto: '' Auto: 'Vali automaatselt'
144p: '' 144p: '144p'
240p: '' 240p: '240p'
360p: '' 360p: '360p'
480p: '' 480p: '480p'
720p: '' 720p: '720p'
1080p: '' 1080p: '1080p'
1440p: '' 1440p: '1440p'
4k: '' 4k: '4k'
8k: '' 8k: '8k'
Next Video Interval: Viivitus järgmise video esitamisel
Privacy Settings: Privacy Settings:
Privacy Settings: '' Privacy Settings: 'Privaatsuse seadistused'
Remember History: '' Remember History: 'Jäta ajalugu meelde'
Save Watched Progress: '' Save Watched Progress: 'Salvesta vaatamise olek'
Clear Search Cache: '' Clear Search Cache: 'Kustuta otsingute ajalugu'
Are you sure you want to clear out your search cache?: '' Are you sure you want to clear out your search cache?: 'Kas sa oled kindel, et
Search cache has been cleared: '' soovid kustutada sinu otsingute ajaloo?'
Remove Watch History: '' Search cache has been cleared: 'Otsingute ajalugu on nüüd kustutatud'
Are you sure you want to remove your entire watch history?: '' Remove Watch History: 'Kustuta vaatamiste ajalugu'
Watch history has been cleared: '' Are you sure you want to remove your entire watch history?: 'Kas sa oled kindel,
Remove All Subscriptions / Profiles: '' et soovid kustutada kogu sinu vaatamiste ajaloo?'
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: '' Watch history has been cleared: 'Vaatamiste ajalugu on nüüd kustutatud'
Remove All Subscriptions / Profiles: 'Kustuta kõik tellimused / profiilid'
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Kas
sa oled kindel, et soovid kustutada kõik tellimused/profiilid? Seda tegevust
ei saa tagasi pöörata.'
Automatically Remove Video Meta Files: Automaatselt kustuta videote metateave
Subscription Settings: Subscription Settings:
Subscription Settings: '' Subscription Settings: 'Tellimuste seadistused'
Hide Videos on Watch: '' Hide Videos on Watch: 'Vaatamisel peida videod'
Fetch Feeds from RSS: '' Fetch Feeds from RSS: 'Laadi RSS-uudisvood'
Manage Subscriptions: '' Manage Subscriptions: 'Halda tellimusi'
Data Settings: Data Settings:
Data Settings: '' Data Settings: 'Andmehaldus'
Select Import Type: '' Select Import Type: 'Vali imporditava faili vorming'
Select Export Type: '' Select Export Type: 'Vali eksporditava faili vorming'
Import Subscriptions: '' Import Subscriptions: 'Impordi tellimused'
Import FreeTube: '' Import FreeTube: 'Kasuta FreeTube vormingut'
Import YouTube: '' Import YouTube: 'Kasuta YouTube vormingut'
Import NewPipe: '' Import NewPipe: 'Kasuta NewPipe vormingut'
Export Subscriptions: '' Export Subscriptions: 'Ekspordi tellimused'
Export FreeTube: '' Export FreeTube: 'Ekspordi FreeTube vormingus'
Export YouTube: '' Export YouTube: 'Ekspordi YouTube vormingus'
Export NewPipe: '' Export NewPipe: 'Ekspordi NewPipe vormingus'
Import History: '' Import History: 'Impordi ajalugu'
Export History: '' Export History: 'Ekspordi ajalugu'
Profile object has insufficient data, skipping item: '' Profile object has insufficient data, skipping item: 'Osal profiilis pole piisavalt
All subscriptions and profiles have been successfully imported: '' andmeid ja selle jätan vahele'
All subscriptions have been successfully imported: '' All subscriptions and profiles have been successfully imported: 'Kõikide tellimuste
ja profiilide import õnnestus'
All subscriptions have been successfully imported: 'Kõikide tellimuste õnnestus'
One or more subscriptions were unable to be imported: 'Ühte või enamat tellimust One or more subscriptions were unable to be imported: 'Ühte või enamat tellimust
ei õnnestunud importida' ei õnnestunud importida'
Invalid subscriptions file: 'Vigane tellimuste fail' Invalid subscriptions file: 'Vigane tellimuste fail'
@ -220,8 +245,10 @@ Settings:
edukalt eksporditud' edukalt eksporditud'
Unable to read file: 'Faili lugemine ei õnnestu' Unable to read file: 'Faili lugemine ei õnnestu'
Unable to write file: 'Faili kirjutamine ei õnnestu' Unable to write file: 'Faili kirjutamine ei õnnestu'
Unknown data key: '' Unknown data key: 'Tundmatu andmevõti'
How do I import my subscriptions?: '' How do I import my subscriptions?: 'Kuidas ma saan oma tellimusi importida?'
Manage Subscriptions: Halda tellimusi
Check for Legacy Subscriptions: Kontrolli pärandvormingus tellimuste olemasolu
Advanced Settings: Advanced Settings:
Advanced Settings: '' Advanced Settings: ''
Enable Debug Mode (Prints data to the console): '' Enable Debug Mode (Prints data to the console): ''
@ -244,9 +271,39 @@ Settings:
#& Yes #& Yes
#& No #& No
Distraction Free Settings:
Hide Active Subscriptions: Peida aktiivsed tellimused
Hide Live Chat: Peida veebivestlused
Hide Playlists: Peida esitusloendid
Hide Popular Videos: Peida enimvaadatud videod
Hide Trending Videos: Peida populaarsust koguvad videod
Hide Recommended Videos: Peida soovitatud videod
Hide Comment Likes: Peida kommentaaride meeldimised
Hide Channel Subscribers: Peida kanalite tellijad
Hide Video Likes And Dislikes: Peida videote meeldimiste ja mittemeeldimiste arvud
Hide Video Views: Peida videote vaatamiskordade arv
Distraction Free Settings: Seadista endale võimalikult rahulik videote vaatamine
Proxy Settings:
Error getting network information. Is your proxy configured properly?: Võrguteavet
ei õnnestu leida. Kas sa oled puhverserveri ikka korralikult seadistanud?
City: Linn
Region: Piirkond
Country: Riik
Ip: IP-aadress
Your Info: Sinu andmed
Clicking on Test Proxy will send a request to: Puhverserveri testimisel saadame
päringu aadressile
Test Proxy: Testi puhverserverit
Proxy Port Number: Puhverserveri pordi number
Proxy Host: Puhverserveri aadress
Proxy Protocol: Puhverserveri protokoll
Enable Tor / Proxy: Kasuta Tor'i või puhverserverit
Proxy Settings: Puhverserveri seadistused
The app needs to restart for changes to take effect. Restart and apply change?: See
rakendus vajab muudatuste jõustamiseks uuesti käivitamist. Kas teeme seda nüüd?
About: About:
#On About page #On About page
About: '' About: 'Rakenduse teave'
#& About #& About
'This software is FOSS and released under the GNU Affero General Public License v3.0.': '' 'This software is FOSS and released under the GNU Affero General Public License v3.0.': ''
@ -266,156 +323,215 @@ About:
Latest FreeTube News: '' Latest FreeTube News: ''
Email: E-post
Donate: Toeta meid
these people and projects: tänu nendele inimestele ja projektidele
FreeTube is made possible by: FreeTube loomine ja arendamine on olnud võimalik
Credits: Tänuavaldused
Translate: Tõlked
room rules: jututoa reeglitega
Please read the: Palun kindlasti tutvu
Chat on Matrix: Vestle meiega Matrix'i võrgus
Mastodon: Mikroblogiteenus Mastodon
Blog: Ajaveeb
Website: Veebisait
Please check for duplicates before posting: Enne uue veateate tegemist palun kontrolli,
kas sellest on juba meile teada antud
GitHub issues: Teata vigadest GitHub'i vahendusel
Report a problem: Vead ja probleemid
FAQ: KKK
FreeTube Wiki: FreeTube viki
Help: Abiteave
GitHub releases: Avaldatud versioonid leiad GitHub'ist
Downloads / Changelog: Allalaadimised ja muudatuste logi
View License: Vaata litsentsiteavet inglise keeles
Licensed under the AGPLv3: Avaldatud AGPLv3 litsentsi alusel
Source code: Lähtekood
Beta: beetaversioon
Profile: Profile:
Profile Select: '' Profile Select: 'Vali profiil'
All Channels: '' All Channels: 'Kõik kanalid'
Profile Manager: '' Profile Manager: 'Profiilihaldur'
Create New Profile: '' Create New Profile: 'Loo uus profiil'
Edit Profile: '' Edit Profile: 'Muuda profiili'
Color Picker: '' Color Picker: 'Vali värv'
Custom Color: '' Custom Color: 'Vali täpne värv'
Profile Preview: '' Profile Preview: 'Profiili eelvaade'
Create Profile: '' Create Profile: 'Loo profiil'
Update Profile: '' Update Profile: 'Uuenda profiili'
Make Default Profile: '' Make Default Profile: 'Määra vaikimisi profiiliks'
Delete Profile: '' Delete Profile: 'Kustuta profiil'
Are you sure you want to delete this profile?: '' Are you sure you want to delete this profile?: 'Kas sa kindlasti soovid selle profiili
All subscriptions will also be deleted.: '' kustutada?'
Profile could not be found: '' All subscriptions will also be deleted.: 'Samaga kustutame ka kõik tellimused.'
Your profile name cannot be empty: '' Profile could not be found: 'Profiili ei leidunud'
Profile has been created: '' Your profile name cannot be empty: 'Profiilil peab olema nimi'
Profile has been updated: '' Profile has been created: 'Profiili loomine õnnestus'
Your default profile has been set to $: '' Profile has been updated: 'Profiili uuendamine õnnestus'
Removed $ from your profiles: '' Your default profile has been set to $: 'Määrasin $ sinu vaikimisi profiiliks'
Your default profile has been changed to your primary profile: '' Removed $ from your profiles: 'Kustutasin $ sinu profiilide loendist'
$ is now the active profile: '' Your default profile has been changed to your primary profile: 'Muutsin sinu esmase
Subscription List: '' profiili vaikimisi kasutatavaks profiiliks'
Other Channels: '' $ is now the active profile: '$ on nüüd kasutusel olev profiil'
$ selected: '' Subscription List: 'Tellimuste loend'
Select All: '' Other Channels: 'Muud kanalid'
Select None: '' $ selected: '$ on valitud'
Delete Selected: '' Select All: 'Vali kõik'
Add Selected To Profile: '' Select None: 'Ära vali mitte midagi'
No channel(s) have been selected: '' Delete Selected: 'Kustuta valik'
Add Selected To Profile: 'Lisa valik profiilile'
No channel(s) have been selected: 'Sa pole kanaleid valinud'
? This is your primary profile. Are you sure you want to delete the selected channels? The ? This is your primary profile. Are you sure you want to delete the selected channels? The
same channels will be deleted in any profile they are found in. same channels will be deleted in any profile they are found in.
: '' : 'See on sinu algne profiil. Kas sa kindlasti soovid kustutada valitud kanalid?
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: '' Me kustutame nad sel juhul ka kõikidest profiilidest.'
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: 'Kas
sa kindlasti soovid kustutada valitud kanalid? Sellega me ei kustuta neid teistest
profiilidest.'
#On Channel Page #On Channel Page
Profile Filter: Sirvi profiile
Channel: Channel:
Subscriber: '' Subscriber: 'Tellija'
Subscribers: '' Subscribers: 'Tellijad'
Subscribe: '' Subscribe: 'Telli'
Unsubscribe: '' Unsubscribe: 'Lõpeta tellimus'
Channel has been removed from your subscriptions: '' Channel has been removed from your subscriptions: 'Kustutasin kanali sinu tellimustest'
Removed subscription from $ other channel(s): '' Removed subscription from $ other channel(s): 'Kustutasin tellimuse ka $''st must
Added channel to your subscriptions: '' kanalist'
Search Channel: '' Added channel to your subscriptions: 'Lisasin kanali sinu tellimuste hulka'
Your search results have returned 0 results: '' Search Channel: 'Otsi kanalit'
Sort By: '' Your search results have returned 0 results: 'Otsingul on 0 tulemust'
Sort By: 'Sortimise alus'
Videos: Videos:
Videos: '' Videos: 'Videod'
This channel does not currently have any videos: '' This channel does not currently have any videos: 'Sellel kanalik pole hetkel ühtegi
videot'
Sort Types: Sort Types:
Newest: '' Newest: 'Uusimad'
Oldest: '' Oldest: 'Vanimad'
Most Popular: '' Most Popular: 'Kõike populaarsemad'
Playlists: Playlists:
Playlists: '' Playlists: 'Esitusloendid'
This channel does not currently have any playlists: '' This channel does not currently have any playlists: 'Sellel kanalil pole hetkel
ühtegi esitusloendit'
Sort Types: Sort Types:
Last Video Added: '' Last Video Added: 'Viimati lisatud video'
Newest: '' Newest: 'Uusimad'
Oldest: '' Oldest: 'Vanimad'
About: About:
About: '' About: 'Kanali teave'
Channel Description: '' Channel Description: 'Kanali kirjeldus'
Featured Channels: '' Featured Channels: 'Soovitatud kanalid'
Video: Video:
Mark As Watched: '' Mark As Watched: 'Märgi vaadatuks'
Remove From History: '' Remove From History: 'Kustuta ajaloost'
Video has been marked as watched: '' Video has been marked as watched: 'Video on märgitud vaadatuks'
Video has been removed from your history: '' Video has been removed from your history: 'Video on kustutatud sinu vaatamiste ajaloost'
Open in YouTube: '' Open in YouTube: 'Ava YouTube''is'
Copy YouTube Link: '' Copy YouTube Link: 'Kopeeri YouTube''i link'
Open YouTube Embedded Player: '' Open YouTube Embedded Player: 'Ava YouTube''i lõimitud meediamängija'
Copy YouTube Embedded Player Link: '' Copy YouTube Embedded Player Link: 'Kopeeri YouTube''i lõimitud meediamängija link'
Open in Invidious: '' Open in Invidious: 'Ava Invidious''e veebirakenduses'
Copy Invidious Link: '' Copy Invidious Link: 'Kopeeri Invidious''e veebirakenduse link'
View: '' View: 'Vaatamine'
Views: '' Views: 'Vaatamist'
Loop Playlist: '' Loop Playlist: 'Korda esitusloendit'
Shuffle Playlist: '' Shuffle Playlist: 'Sega esitusloend'
Reverse Playlist: '' Reverse Playlist: 'Pööra esitusloend tagurpidi'
Play Next Video: '' Play Next Video: 'Esita järgmist videot'
Play Previous Video: '' Play Previous Video: 'Esita eelmist videot'
# Context is "X People Watching" # Context is "X People Watching"
Watching: '' Watching: 'Vaatan'
Watched: '' Watched: 'Vaadatud'
Autoplay: '' Autoplay: 'Automaatne esitus'
Starting soon, please refresh the page to check again: '' Starting soon, please refresh the page to check again: 'Kuvamine algab varsti, vajadusel
värskenda uuesti kontrollimiseks lehte'
# As in a Live Video # As in a Live Video
Live: '' Live: 'Otse eetris'
Live Now: '' Live Now: 'Otse eetris'
Live Chat: '' Live Chat: 'Vestlus reaalajas'
Enable Live Chat: '' Enable Live Chat: 'Luba reaalajas vestlust'
Live Chat is currently not supported in this build.: '' Live Chat is currently not supported in this build.: 'Reaalajas vestlus ei ole selles
'Chat is disabled or the Live Stream has ended.': '' versioonis toetatud.'
Live chat is enabled. Chat messages will appear here once sent.: '' 'Chat is disabled or the Live Stream has ended.': 'Reaalajas vestlus kas ei ole
'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': '' toetatud või on otseetris edastus lõppenud.'
Live chat is enabled. Chat messages will appear here once sent.: 'Reaalajas vestlus
on kasutusel. Sõnumid on nähtaval kohe pärast saatmist.'
'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': 'Kui
kasutad Invidious''e veebiteenuse-põhist API''t, siis reaalajas vestlus ei ole
toetatud. Selleks on vajalik otseliidestus YouTube''ga.'
Published: Published:
Jan: '' Jan: 'Jaan'
Feb: '' Feb: 'Veeb'
Mar: '' Mar: 'Mar'
Apr: '' Apr: 'Apr'
May: '' May: 'Mai'
Jun: '' Jun: 'Juuni'
Jul: '' Jul: 'Juuli'
Aug: '' Aug: 'Aug'
Sep: '' Sep: 'Sep'
Oct: '' Oct: 'Okt'
Nov: '' Nov: 'Nov'
Dec: '' Dec: 'Dets'
Second: '' Second: 'Sekund'
Seconds: '' Seconds: 'Sekundit'
Minute: '' Minute: 'Minut'
Minutes: '' Minutes: 'Minutit'
Hour: '' Hour: 'Tund'
Hours: '' Hours: 'Tundi'
Day: '' Day: 'Päev'
Days: '' Days: 'Päeva'
Week: '' Week: 'Nädal'
Weeks: '' Weeks: 'Nädalat'
Month: '' Month: 'Kuu'
Months: '' Months: 'Kuud'
Year: '' Year: 'Aasta'
Years: '' Years: 'Aastat'
Ago: '' Ago: 'tagasi'
Upcoming: '' Upcoming: 'Esilinastus'
Published on: '' Published on: 'Avaldatud'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: '' Publicationtemplate: '$ % tagasi'
#& Videos #& Videos
Copy Invidious Channel Link: Kopeeri kanali link Invidious'e veebirakenduses
Open Channel in Invidious: Ava kanal Invidious'e veebirakenduses
Copy YouTube Channel Link: Kopeeri YouTube'i kanali link
Open Channel in YouTube: Ava kanal YouTube'is
Video has been removed from your saved list: Video on kustutatud sinu salvestatud
videote loendist
Video has been saved: Video on salvestatud
Save Video: Salvesta video
translated from English: tõlgitud inglise keelest
Started streaming on: Voogedastus algas
Streamed on: Voogedastatud
Audio:
High: Kõrge kvaliteet
Medium: Keskmine kvaliteet
Low: Madal kvaliteet
Best: Parim kvaliteet
audio only: vaid helivoog
video only: vaid videovoog
Download Video: Laadi video alla
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
Newest: '' Newest: 'Uusim'
Oldest: '' Oldest: 'Vanim'
#& Most Popular #& Most Popular
#& Playlists #& Playlists
Playlist: Playlist:
#& About #& About
View Full Playlist: '' View Full Playlist: 'Näita kogu esitusloendit'
Videos: '' Videos: 'Videod'
View: '' View: 'Vaata'
Views: '' Views: 'vaatamist'
Last Updated On: '' Last Updated On: 'Viimati uuendatud'
Share Playlist: Share Playlist:
Share Playlist: '' Share Playlist: 'Jaga esitusloendit'
Copy YouTube Link: '' Copy YouTube Link: 'Kopeeri YouTube''i link'
Open in YouTube: '' Open in YouTube: 'Ava YouTube''is'
Copy Invidious Link: '' Copy Invidious Link: 'Kopeeri Invidious''e veebirakenduse link'
Open in Invidious: '' Open in Invidious: 'Ava Invidious''e veebirakenduses'
# On Video Watch Page # On Video Watch Page
#* Published #* Published
@ -479,3 +595,5 @@ Canceled next video autoplay: 'Tühistasin järgmise video automaatse esituse'
Yes: 'Jah' Yes: 'Jah'
No: 'Ei' No: 'Ei'
More: Veel
Open New Window: Ava uus aken

540
static/locales/eu.yaml Normal file
View File

@ -0,0 +1,540 @@
# Put the name of your locale in the same language
Locale Name: 'Euskera'
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.': >-
Zati hau ez dago prest oraindik. Itzuli aurrerago aurrerapenak egin direnean.
# 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): ''
Long (> 20 minutes): ''
# 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: ''
'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: ''
Enable Search Suggestions: ''
Default Landing Page: ''
Locale Preference: ''
Preferred API Backend:
Preferred API Backend: ''
Local 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)': ''
View all Invidious instance information: ''
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: ''
Base Theme:
Base Theme: ''
Black: ''
Dark: ''
Light: ''
Main Color Theme:
Main Color Theme: ''
Red: ''
Pink: ''
Purple: ''
Deep Purple: ''
Indigo: ''
Blue: ''
Light Blue: ''
Cyan: ''
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: ''
Play Next Video: ''
Turn on Subtitles by Default: ''
Autoplay Videos: ''
Proxy Videos Through 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: ''
Legacy Formats: ''
Audio Formats: ''
Default Quality:
Default Quality: ''
Auto: ''
144p: ''
240p: ''
360p: ''
480p: ''
720p: ''
1080p: ''
1440p: ''
4k: ''
8k: ''
Privacy Settings:
Privacy Settings: ''
Remember History: ''
Save Watched Progress: ''
Automatically Remove Video Meta Files: ''
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: ''
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: ''
Import YouTube: ''
Import NewPipe: ''
Check for Legacy Subscriptions: ''
Export Subscriptions: ''
Export FreeTube: ''
Export YouTube: ''
Export 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: ''
Proxy Protocol: ''
Proxy Host: ''
Proxy Port Number: ''
Clicking on Test Proxy will send a request to: ''
Test Proxy: ''
Your Info: ''
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: ''
View License: ''
Downloads / Changelog: ''
GitHub releases: ''
Help: ''
FreeTube Wiki: ''
FAQ: ''
Report a problem: ''
GitHub issues: ''
Please check for duplicates before posting: ''
Website: ''
Blog: ''
Email: ''
Mastodon: ''
Chat on Matrix: ''
Please read the: ''
room rules: ''
Translate: ''
Credits: ''
FreeTube is made possible by: ''
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: ''
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: ''
Copy YouTube Link: ''
Open YouTube Embedded Player: ''
Copy YouTube Embedded Player Link: ''
Open in Invidious: ''
Copy Invidious Link: ''
Open Channel in YouTube: ''
Copy YouTube Channel Link: ''
Open Channel in Invidious: ''
Copy Invidious Channel Link: ''
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: ''
translated from English: ''
# $ 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: ''
Privacy Settings:
Remove Video Meta Files: ''
# 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: ''

View File

@ -31,17 +31,17 @@ Forward: 'Eteenpäin'
Search / Go to URL: 'Etsi / Mene osoitteeseen' Search / Go to URL: 'Etsi / Mene osoitteeseen'
# In Filter Button # In Filter Button
Search Filters: Search Filters:
Search Filters: 'Etsi suodattimia' Search Filters: 'Hakusuodattimet'
Sort By: Sort By:
Sort By: 'Lajitteluperuste' Sort By: 'Lajitteluperuste'
Most Relevant: 'Osuvin' Most Relevant: 'Osuvin'
Rating: 'Arvosana' Rating: 'Arvio'
Upload Date: 'Latauspäivämäärä' Upload Date: 'Latauspäivämäärä'
View Count: 'Katselumäärä' View Count: 'Näyttökerrat'
Time: Time:
Time: 'Aika' Time: 'Aika'
Any Time: 'Milloin tahansa' Any Time: 'Milloin tahansa'
Last Hour: 'Edellinen tunti' Last Hour: 'Viime tunti'
Today: 'Tänään' Today: 'Tänään'
This Week: 'Tällä viikolla' This Week: 'Tällä viikolla'
This Month: 'Tässä kuussa' This Month: 'Tässä kuussa'
@ -62,6 +62,7 @@ Search Filters:
Fetching results. Please wait: 'Haetaan tuloksia. Odota hetki' Fetching results. Please wait: 'Haetaan tuloksia. Odota hetki'
Fetch more results: 'Hae lisää tuloksia' Fetch more results: 'Hae lisää tuloksia'
# Sidebar # Sidebar
There are no more results for this search: Ei lisää tuloksia tällä haulla
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: 'Tilaukset' Subscriptions: 'Tilaukset'
@ -79,6 +80,12 @@ Most Popular: 'Suosituimmat'
Playlists: 'Soittolistat' Playlists: 'Soittolistat'
User Playlists: User Playlists:
Your Playlists: 'Omat soittolistat' 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 soittolistaan "Tykkäykset".
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: History:
# On History Page # On History Page
History: 'Historia' History: 'Historia'
@ -114,6 +121,8 @@ Settings:
#! List countries #! List countries
Check for Latest Blog Posts: Tarkista tuoreimmat blogimerkinnät Check for Latest Blog Posts: Tarkista tuoreimmat blogimerkinnät
Check for Updates: Tarkista päivitykset Check for Updates: Tarkista päivitykset
View all Invidious instance information: Invidious instancen tiedot
System Default: Järjestelmän oletus
Theme Settings: Theme Settings:
Theme Settings: 'Teema-asetukset' Theme Settings: 'Teema-asetukset'
Match Top Bar with Main Color: 'Käytä pääväriä yläpalkissa' Match Top Bar with Main Color: 'Käytä pääväriä yläpalkissa'
@ -175,6 +184,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4K' 4k: '4K'
8k: '8K' 8k: '8K'
Next Video Interval: Seuraavan videon väli
Subscription Settings: Subscription Settings:
Subscription Settings: 'Tilausasetukset' Subscription Settings: 'Tilausasetukset'
Hide Videos on Watch: 'Piilota katsotut videot' Hide Videos on Watch: 'Piilota katsotut videot'
@ -229,6 +239,7 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Haluatko Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Haluatko
cvarmasti poistaa kaikki tilaukset ja profiilit. Tätä toimintoa ei voi perua. cvarmasti poistaa kaikki tilaukset ja profiilit. Tätä toimintoa ei voi perua.
Remove All Subscriptions / Profiles: Poista kaikki tilaukset / profiilit Remove All Subscriptions / Profiles: Poista kaikki tilaukset / profiilit
Automatically Remove Video Meta Files: Poista videoiden metadata automaattisesti
Data Settings: Data Settings:
How do I import my subscriptions?: Kuinka voin tuoda tilaukseni? How do I import my subscriptions?: Kuinka voin tuoda tilaukseni?
Unknown data key: Tuntematon data-avain Unknown data key: Tuntematon data-avain
@ -265,6 +276,7 @@ Settings:
Select Import Type: Valitse Tuonnin tyyppi Select Import Type: Valitse Tuonnin tyyppi
Data Settings: Data-asetukset Data Settings: Data-asetukset
Check for Legacy Subscriptions: Tarkista vanhat tilaukset Check for Legacy Subscriptions: Tarkista vanhat tilaukset
Manage Subscriptions: Hallitse tilauksia
Distraction Free Settings: Distraction Free Settings:
Hide Live Chat: Piilota Live-keskustelu Hide Live Chat: Piilota Live-keskustelu
Hide Popular Videos: Piilota suositut videot Hide Popular Videos: Piilota suositut videot
@ -275,9 +287,25 @@ Settings:
Hide Video Likes And Dislikes: Piilota videon tykkäykset Hide Video Likes And Dislikes: Piilota videon tykkäykset
Distraction Free Settings: Häiriöttömän tilan asetukset Distraction Free Settings: Häiriöttömän tilan asetukset
Hide Video Views: Piilota videon katselukerrat Hide Video Views: Piilota videon katselukerrat
Hide Active Subscriptions: Piilota aktiiviset tilaukset
Hide Playlists: Piilota soittolistat
The app needs to restart for changes to take effect. Restart and apply change?: Sovellus 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? uudelleen?
Proxy Settings:
Error getting network information. Is your proxy configured properly?: Virhe verkkoyhteyden
tietojen saamisessa. Onko välityspalvelin määritetty oikein?
Ip: Ip-osoite
Your Info: Tietosi
Country: Valtio
Test Proxy: Testaa välityspalvelin
Region: Alue
City: Kaupunki
Proxy Port Number: Välityspalvelimen portin numero
Proxy Host: Välityspalvelin
Proxy Settings: Välityspalvelimen asetukset
Enable Tor / Proxy: Ota käyttöön Tor/välityspalvelin
Proxy Protocol: Välityspalvelimen protokolla
About: About:
#On About page #On About page
About: 'Tietoja' About: 'Tietoja'
@ -307,6 +335,30 @@ About:
Latest FreeTube News: 'Viimeisimmät Freetube-uutiset' Latest FreeTube News: 'Viimeisimmät Freetube-uutiset'
#On Channel Page #On Channel Page
GitHub issues: GitHub-ongelmat
Report a problem: Ilmoita ongelmasta
FAQ: UKK
Blog: Blogi
Email: Sähköposti
Licensed under the AGPLv3: Lisensoitu AGPLv3:n alle
Chat on Matrix: Matrix
these people and projects: nämä henkilöt ja projektit
room rules: huoneen säännöt
Please read the: Lue
View License: Katso lisenssi
Please check for duplicates before posting: Tarkista kopioiden varalta ennen julkaisua
Website: Verkkosivu
Mastodon: Mastodon
Translate: Käännös
Credits: Kiitokset
Help: Apua
FreeTube is made possible by: FreeTuben mahdollistavat
GitHub releases: GitHub julkaisut
Downloads / Changelog: Lataukset/muutosloki
Beta: Beta
FreeTube Wiki: FreeTube Wiki
Donate: Lahjoita
Source code: Lähdekoodi
Channel: Channel:
Subscriber: 'Tilaaja' Subscriber: 'Tilaaja'
Subscribers: 'Tilaajat' Subscribers: 'Tilaajat'
@ -390,7 +442,7 @@ Video:
Years: 'Vuotta' Years: 'Vuotta'
Ago: 'sitten' Ago: 'sitten'
Upcoming: 'Ensiesitys' Upcoming: 'Ensiesitys'
Minutes: Minuutit Minutes: Minuuttia
Minute: Minuutti Minute: Minuutti
Published on: 'Julkaistu' Published on: 'Julkaistu'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
@ -449,12 +501,12 @@ Playlist:
Toggle Theatre Mode: 'Teatteritila' Toggle Theatre Mode: 'Teatteritila'
Change Format: Change Format:
Change Video Formats: 'Vaihda videoformaattia' Change Video Formats: 'Vaihda videoformaattia'
Use Dash Formats: 'Käytä Dash-formaatteja' Use Dash Formats: 'Käytä DASH-formaatteja'
Use Legacy Formats: 'Käytä Legacy-formaatteja' Use Legacy Formats: 'Käytä Legacy-formaatteja'
Use Audio Formats: 'Käytä ääniformaatteja' Use Audio Formats: 'Käytä ääniformaatteja'
Audio formats are not available for this video: Audioformaatit eivät ole saatavilla Audio formats are not available for this video: Audioformaatit eivät ole saatavilla
tähän videoon tähän videoon
Dash formats are not available for this video: Dash-formaatit eivät ole saatavilla Dash formats are not available for this video: DASH-formaatit eivät ole saatavilla
tähän videoon tähän videoon
Share: Share:
Share Video: 'Jaa video' Share Video: 'Jaa video'
@ -521,7 +573,7 @@ Profile:
Your default profile has been set to $: Oletusprofiiliksesi on määritetty $ Your default profile has been set to $: Oletusprofiiliksesi on määritetty $
Profile has been updated: Profiili on päivitetty Profile has been updated: Profiili on päivitetty
Profile has been created: Profiili on luotu Profile has been created: Profiili on luotu
Your profile name cannot be empty: Profiilisi nimi ei voi olla tyhjä Your profile name cannot be empty: Profiililla täytyy olla nimi
Profile could not be found: Profiilia ei löydetty Profile could not be found: Profiilia ei löydetty
All subscriptions will also be deleted.: Kaikki tilaukset tullaan myös poistamaan. All subscriptions will also be deleted.: Kaikki tilaukset tullaan myös poistamaan.
Are you sure you want to delete this profile?: Haluatko varmasti poistaa tämän profiilin? Are you sure you want to delete this profile?: Haluatko varmasti poistaa tämän profiilin?
@ -542,7 +594,7 @@ Profile:
? This is your primary profile. Are you sure you want to delete the selected channels? The ? This is your primary profile. Are you sure you want to delete the selected channels? The
same channels will be deleted in any profile they are found in. same channels will be deleted in any profile they are found in.
: Tämä on ensisijainen profiilisi. Haluatko poistaa valitut kanavat? Kanavat poistetaan : Tämä on ensisijainen profiilisi. Haluatko poistaa valitut kanavat? Kanavat poistetaan
kaikista profiileista joissa ne ovat. myös muista profiileista.
No channel(s) have been selected: Kanavia ei ole valittu No channel(s) have been selected: Kanavia ei ole valittu
Add Selected To Profile: Lisää valitut profiiliin Add Selected To Profile: Lisää valitut profiiliin
Delete Selected: Poista valitut Delete Selected: Poista valitut
@ -551,8 +603,9 @@ Profile:
$ selected: $ valittu $ selected: $ valittu
Other Channels: Muut kanavat Other Channels: Muut kanavat
Subscription List: Tilauslista Subscription List: Tilauslista
Profile Filter: Profiilisuodatin
Version $ is now available! Click for more details: Versio $ on nyt saatavilla! Napsauta Version $ is now available! Click for more details: Versio $ on nyt saatavilla! Napsauta
lisätietoja saadaksesi lisätietoja
This video is unavailable because of missing formats. This can happen due to country unavailability.: Tämä This video is unavailable because of missing formats. This can happen due to country unavailability.: Tämä
video ei ole saatavilla puuttuvien formaattien takia. Tämä voi tapahtua koska video video ei ole saatavilla puuttuvien formaattien takia. Tämä voi tapahtua koska video
ei ole saatavilla maassasi. ei ole saatavilla maassasi.
@ -563,25 +616,32 @@ Tooltips:
General Settings: General Settings:
Preferred API Backend: Valitse taustaohjelma, jota Freetube käyttää datan noutamiseen. Preferred API Backend: Valitse taustaohjelma, jota Freetube käyttää datan noutamiseen.
Paikallinen API on ohjelmiston sisäinen. Invidious API vaatii yhteyden Invidious-palvelimeen. Paikallinen API on ohjelmiston sisäinen. Invidious API vaatii yhteyden Invidious-palvelimeen.
Region for Trending: Valinta sallii sinun valita minkä maan Nousevat videot sinulle Region for Trending: Valitsee minkä maan Nousevat videot sinulle näytetään. Kaikki
näytetään. Kaikki listatut maat eivät ole YouTuben tukemia listatut maat eivät ole YouTuben tukemia.
Invidious Instance: Invidious instanssi jota Freetube käyttää. Tyhjennä kenttä Invidious Instance: Invidious instanssi jota Freetube käyttää. Tyhjennä kenttä
nähdäksesi listan julkisista instansseista nähdäksesi listan julkisista instansseista.
Thumbnail Preference: Kaikki pikkukuvat Freetubessa korvataan ruudulla videosta Thumbnail Preference: Kaikki pikkukuvat Freetubessa korvataan ruudulla videosta
alkuperäisen pikkukuvan sijaan alkuperäisen pikkukuvan sijaan.
Fallback to Non-Preferred Backend on Failure: Kun valitsemasi API kohtaa ongelman, Fallback to Non-Preferred Backend on Failure: Kun valitsemasi API kohtaa ongelman,
Freetube yrittää automaattisestia käyttää toissijaista vaihtoehtoa Freetube yrittää automaattisestia käyttää toissijaista vaihtoehtoa.
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Kun valittuna, FreeTube käyttää RSS-syötettä oletusmetodin Fetch Feeds from RSS: Kun valittuna, FreeTube käyttää RSS-syötettä oletusmetodin
sijaan tilauslistasi hakemisessa. RSS on nopeampi ja ehkäisee IP-estoa, mutta sijaan tilauslistasi hakemisessa. RSS on nopeampi ja ehkäisee IP-estoa, mutta
ei anna tietoja kuten videon kesto tai livetila ei anna tietoja, kuten videon kesto tai livetila
Player Settings: Player Settings:
Default Video Format: Aseta videon toistamisessa käytätettävä formaatti. Dash-formaatit Default Video Format: Aseta videon toistamisessa käytätettävä formaatti. DASH-formaatit
toistavat korkealaatuisempia videoita. Legacy-formaatit ovvat rajoitettu 720p-resoluutioon, toistavat korkealaatuisempia videoita. Legacy-formaatit ovat rajoitettu 720p-resoluutioon,
mutta kkäyttävät väheämmän kaistaa. Audioformaatit ovat vain äänistriimeihin mutta käyttävät vähemmän dataa. Audioformaatit ovat vain äänistriimeihin
Proxy Videos Through Invidious: Yhdistää Invidious-palvelimeen suoran YouTuben-yhteyden Proxy Videos Through Invidious: Yhdistää Invidious-palvelimeen suoran YouTuben-yhteyden
sijaan. Ohittaa API-valinnan sijaan. Ohittaa API-valinnan.
Force Local Backend for Legacy Formats: Toimii vain kun Invidious API on oletuksena. Force Local Backend for Legacy Formats: Toimii vain kun Invidious API on oletuksena.
Kun valittuna, paikallinen API käyttää vanhoja formaatteja Invidiousin käyttämien Kun valittuna, paikallinen API käyttää vanhoja formaatteja Invidiousin käyttämien
sijaan. Tämä auttaa, jos Invidiousin palauttamat videot eivät toimi maarajoituksien sijaan. Tämä auttaa, jos Invidiousin palauttamat videot eivät toimi maarajoituksien
takia takia.
More: Lisää
Playing Next Video Interval: Seuraava video alkaa. Klikkaa peruuttaaksesi. |Seuraava
video alkaa {nextVideoInterval} sekunnin kuluttua. Klikkaa peruuttaaksesi. | Seuraava
video alkaa {nextVideoInterval} sekunnin kuluttua. Klikkaa peruuttaaksesi.
Hashtags have not yet been implemented, try again later: Hashtageja ei vielä ole lisätty,
yritä uudelleen myöhemmin.
Open New Window: Avaa uusi ikkuna

View File

@ -91,7 +91,7 @@ User Playlists:
Playlist Message: Cette page ne reflète pas les listes de lecture entièrement fonctionnelles. 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. 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 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: History:
# On History Page # On History Page
History: 'Historique' History: 'Historique'
@ -129,6 +129,7 @@ Settings:
Check for Updates: Vérifier les mises à jour Check for Updates: Vérifier les mises à jour
View all Invidious instance information: Voir les informations de toutes les instances View all Invidious instance information: Voir les informations de toutes les instances
Invidious Invidious
System Default: Valeur par défaut du système
Theme Settings: Theme Settings:
Theme Settings: 'Paramètres du thème' Theme Settings: 'Paramètres du thème'
Match Top Bar with Main Color: 'Faire correspondre la barre supérieure à la couleur Match Top Bar with Main Color: 'Faire correspondre la barre supérieure à la couleur
@ -176,7 +177,7 @@ Settings:
Default Playback Rate: 'Vitesse de lecture par défaut' Default Playback Rate: 'Vitesse de lecture par défaut'
Default Video Format: Default Video Format:
Default Video Format: 'Format de vidéo par défaut' Default Video Format: 'Format de vidéo par défaut'
Dash Formats: 'Format Dash' Dash Formats: 'Format DASH'
Legacy Formats: 'Format Legacy' Legacy Formats: 'Format Legacy'
Audio Formats: 'Format Audio' Audio Formats: 'Format Audio'
Default Quality: Default Quality:
@ -191,6 +192,9 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Intervalle de la prochaine vidéo dans la liste de
lecture
Next Video Interval: Intervalle vidéo suivante
Subscription Settings: Subscription Settings:
Subscription Settings: 'Paramètres des abonnements' Subscription Settings: 'Paramètres des abonnements'
Hide Videos on Watch: 'Masquer les vidéos visionnées' Hide Videos on Watch: 'Masquer les vidéos visionnées'
@ -247,6 +251,8 @@ Settings:
sûr(e) de vouloir supprimer tous les abonnements et les profils ? Cette action sûr(e) de vouloir supprimer tous les abonnements et les profils ? Cette action
est définitive. est définitive.
Remove All Subscriptions / Profiles: Supprimer tous les Abonnements / Profils Remove All Subscriptions / Profiles: Supprimer tous les Abonnements / Profils
Automatically Remove Video Meta Files: Suppression automatique des MétaFichiers
vidéo
Data Settings: Data Settings:
How do I import my subscriptions?: Comment importer mes abonnements ? How do I import my subscriptions?: Comment importer mes abonnements ?
Subscriptions have been successfully exported: Les abonnements ont été exportés Subscriptions have been successfully exported: Les abonnements ont été exportés
@ -292,12 +298,13 @@ Settings:
Hide Comment Likes: Masquer les J'aime dans les commentaires Hide Comment Likes: Masquer les J'aime dans les commentaires
Hide Channel Subscribers: Masquer le nombre d'abonnés des chaînes Hide Channel Subscribers: Masquer le nombre d'abonnés des chaînes
Hide Video Views: Masquer les vues des vidéos 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 Popular Videos: Masquer les vidéos populaires
Hide Trending Videos: Masquer les tendances Hide Trending Videos: Masquer les tendances
Hide Recommended Videos: Masquer les vidéos recommandées Hide Recommended Videos: Masquer les vidéos recommandées
Distraction Free Settings: Mode sans distraction Distraction Free Settings: Mode sans distraction
Hide Active Subscriptions: Masquer les abonnements actifs Hide Active Subscriptions: Masquer les abonnements actifs
Hide Playlists: Masquer les listes de lecture
The app needs to restart for changes to take effect. Restart and apply change?: L'application The app needs to restart for changes to take effect. Restart and apply change?: L'application
doit être redémarrée pour que les changements prennent effet. Redémarrer et appliquer doit être redémarrée pour que les changements prennent effet. Redémarrer et appliquer
les changements ? les changements ?
@ -318,6 +325,13 @@ Settings:
Proxy Protocol: Protocole du proxy Proxy Protocol: Protocole du proxy
Enable Tor / Proxy: Activer Tor / Proxy Enable Tor / Proxy: Activer Tor / Proxy
Proxy Settings: Paramètres du proxy Proxy Settings: Paramètres du proxy
SponsorBlock Settings:
Notify when sponsor segment is skipped: Notification lorsqu'un segment sponsorisé
est ignoré
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': URL de l'API SponsorBlock
(la valeur par défaut est https://sponsor.ajay.app)
Enable SponsorBlock: Activer SponsorBlock
SponsorBlock Settings: Paramètres de SponsorBlock
About: About:
#On About page #On About page
About: 'À propos' About: 'À propos'
@ -353,7 +367,7 @@ About:
#On Channel Page #On Channel Page
Channel Rules: Règles du salon Channel Rules: Règles du salon
Website: Site internet Website: Site web
Source Code: Code source Source Code: Code source
Release Notes: Notes de version Release Notes: Notes de version
Email: Courriel Email: Courriel
@ -370,7 +384,7 @@ About:
Donate: Faire un don Donate: Faire un don
Useful Links: Liens utiles Useful Links: Liens utiles
Translate: Aidez-nous à traduire FreeTube Translate: Aidez-nous à traduire FreeTube
Chat on Matrix: Chatter sur Matrix Chat on Matrix: Discuter sur Matrix
Mastodon: Mastodon Mastodon: Mastodon
Report a problem: Signaler un problème Report a problem: Signaler un problème
View License: Voir la license View License: Voir la license
@ -381,7 +395,7 @@ About:
room rules: règles du salon room rules: règles du salon
Please read the: Veuillez lire les Please read the: Veuillez lire les
Please check for duplicates before posting: Veuillez vérifier s'il y a des doublons 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 GitHub issues: Les problèmes identifiés par la communauté sur GitHub
FreeTube Wiki: Wiki de FreeTube FreeTube Wiki: Wiki de FreeTube
GitHub releases: Les différentes versions de FreeTube disponibles sur GitHub GitHub releases: Les différentes versions de FreeTube disponibles sur GitHub
@ -509,6 +523,15 @@ Video:
enregistrée enregistrée
Video has been saved: La vidéo a été enregistrée Video has been saved: La vidéo a été enregistrée
Save Video: Enregistrer la vidéo Save Video: Enregistrer la vidéo
translated from English: traduit de langlais
Sponsor Block category:
music offtopic: musique hors sujet
interaction: interaction
sponsor: sponsor
self-promotion: autopromotion
outro: outro
intro: intro
Skipped segment: Segment ignoré
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -536,12 +559,12 @@ Playlist:
Toggle Theatre Mode: 'Mode Cinéma' Toggle Theatre Mode: 'Mode Cinéma'
Change Format: Change Format:
Change Video Formats: 'Changer le format de la vidéo' Change Video Formats: 'Changer le format de la vidéo'
Use Dash Formats: 'Utiliser le format Dash' Use Dash Formats: 'Utiliser le format DASH'
Use Legacy Formats: 'Utiliser le format Legacy' Use Legacy Formats: 'Utiliser le format Legacy'
Use Audio Formats: 'Utiliser le format Audio' Use Audio Formats: 'Utiliser le format Audio'
Audio formats are not available for this video: Le format Audio n'est pas disponible Audio formats are not available for this video: Le format Audio n'est pas disponible
pour cette vidéo pour cette vidéo
Dash formats are not available for this video: Le format Dash n'est pas disponible Dash formats are not available for this video: Le format DASH n'est pas disponible
pour cette vidéo pour cette vidéo
Share: Share:
Share Video: 'Partager la vidéo' Share Video: 'Partager la vidéo'
@ -647,6 +670,7 @@ Profile:
Select All: Tout sélectionner Select All: Tout sélectionner
$ selected: $ sélectionné(s) $ selected: $ sélectionné(s)
Other Channels: Autres chaînes Other Channels: Autres chaînes
Profile Filter: Filtre de profil
The playlist has been reversed: La liste de lecture a été inversée The playlist has been reversed: La liste de lecture a été inversée
A new blog is now available, $. Click to view more: Un nouveau billet est maintenant A new blog is now available, $. Click to view more: Un nouveau billet est maintenant
disponible, $. Cliquez pour en savoir plus disponible, $. Cliquez pour en savoir plus
@ -664,29 +688,43 @@ Tooltips:
comme la durée de la vidéo ou le statut en direct comme la durée de la vidéo ou le statut en direct
Player Settings: Player Settings:
Default Video Format: Définir les formats utilisés lors de la lecture d'une vidéo. Default Video Format: Définir les formats utilisés lors de la lecture d'une vidéo.
Les formats Dash peuvent être lus en qualité supérieure. Les formats Legacy Les formats DASH peuvent être lus en qualité supérieure. Les formats Legacy
sont limités à un maximum de 720p mais utilisent moins de bande passante. Les sont limités à un maximum de 720p mais utilisent moins de bande passante. Les
formats audio sont des flux audio uniquement formats audio sont des flux audio uniquement.
Proxy Videos Through Invidious: Se connectera à Invidious pour lire des vidéos Proxy Videos Through Invidious: Se connectera à Invidious pour lire des vidéos
au lieu d'établir une connexion directe avec YouTube. Remplace les préférences au lieu d'établir une connexion directe avec YouTube. Remplace les préférences
de l'API de l'API.
Force Local Backend for Legacy Formats: Ne fonctionne que lorsque l'API Invidious Force Local Backend for Legacy Formats: Ne fonctionne que lorsque l'API Invidious
est activée par défaut. Lorsqu'elle est activée, l'API locale s'exécute et utilise est activée par défaut. Lorsqu'elle est activée, l'API locale s'exécute et utilise
les formats Legacy renvoyés par celle-ci au lieu de ceux renvoyés par Invidious. les formats Legacy renvoyés par celle-ci au lieu de ceux renvoyés par Invidious.
Utile lorsque les vidéos renvoyées par Invidious ne sont pas lues en raison Utile lorsque les vidéos renvoyées par Invidious ne sont pas lues en raison
de restrictions pays de restrictions pays.
General Settings: General Settings:
Invidious Instance: L'instance Invidious à laquelle FreeTube se connectera pour Invidious Instance: L'instance Invidious à laquelle FreeTube se connectera pour
les appels d'API. Effacez l'instance actuelle pour voir une liste d'instances les appels d'API. Effacez l'instance actuelle pour voir une liste d'instances
publiques parmi lesquelles choisir publiques parmi lesquelles choisir.
Thumbnail Preference: Toutes les miniatures de FreeTube seront remplacées par Thumbnail Preference: Toutes les miniatures de FreeTube seront remplacées par
une image de la vidéo au lieu de la vignette par défaut une image de la vidéo au lieu de la vignette par défaut.
Fallback to Non-Preferred Backend on Failure: Lorsque votre API préférée a un Fallback to Non-Preferred Backend on Failure: Lorsque votre API préférée a un
problème, FreeTube tentera automatiquement d'utiliser votre API non préférée problème, FreeTube tentera automatiquement d'utiliser votre API non préférée
comme méthode de secours lorsqu'elle est activée comme méthode de secours lorsqu'elle est activée.
Preferred API Backend: Choisissez le backend que FreeTube utilise pour obtenir Preferred API Backend: Choisissez le backend que FreeTube utilise pour obtenir
les données. L'API locale est un extracteur intégré. L'API Invidious nécessite les données. L'API locale est un extracteur intégré. L'API Invidious nécessite
un serveur Invidious pour se connecter. un serveur Invidious pour se connecter.
Region for Trending: Ceci vous permet de choisir les vidéos tendance du pays que Region for Trending: Ceci vous permet de choisir les vidéos tendance du pays que
vous souhaitez afficher. Attention, certains pays affichés ne sont pas pris vous souhaitez afficher. Attention, certains pays affichés ne sont pas pris
en charge par YouTube en charge par YouTube.
Privacy Settings:
Remove Video Meta Files: Lorsqu'il est activé, FreeTube supprime automatiquement
les MétaFichiers créés pendant la lecture de la vidéo, dès que la page de la
vidéo est quittée.
More: Plus
Playing Next Video Interval: Lecture de la prochaine vidéo en un rien de temps. Cliquez
pour annuler. | Lecture de la prochaine vidéo dans {nextVideoInterval} seconde.
Cliquer pour annuler. | Lecture de la vidéo suivante dans {l'intervalle vidéo suivant}
secondes. Cliquer pour annuler.
Hashtags have not yet been implemented, try again later: Les hashtags n'ont pas encore
été implémentés, réessayez plus tard
Unknown YouTube url type, cannot be opened in app: Type durl YouTube inconnu, ne
peut pas être ouvert dans lapplication
Open New Window: Ouvrir une nouvelle fenêtre

View File

@ -171,7 +171,7 @@ Settings:
Default Playback Rate: 'ברירת המחדל למהירות הצפייה' Default Playback Rate: 'ברירת המחדל למהירות הצפייה'
Default Video Format: Default Video Format:
Default Video Format: 'תצורת הסרטונים כברירת־המחדל' Default Video Format: 'תצורת הסרטונים כברירת־המחדל'
Dash Formats: 'תצורות Dash' Dash Formats: 'תצורות DASH'
Legacy Formats: 'תצורות מיושנות' Legacy Formats: 'תצורות מיושנות'
Audio Formats: 'תצורות שמע' Audio Formats: 'תצורות שמע'
Default Quality: Default Quality:
@ -186,6 +186,8 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: מרווח זמן לפני ניגון הסרטון הבא בפלייליסט
Next Video Interval: משך הסרטון הבא
Privacy Settings: Privacy Settings:
Privacy Settings: 'הגדרות פרטיות' Privacy Settings: 'הגדרות פרטיות'
Remember History: 'זכור את היסטוריית הצפייה' Remember History: 'זכור את היסטוריית הצפייה'
@ -201,6 +203,7 @@ Settings:
Remove All Subscriptions / Profiles: 'מחק את כל המנויים / פרופילים' Remove All Subscriptions / Profiles: 'מחק את כל המנויים / פרופילים'
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'האם Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'האם
אתם בטוחים שאתם רוצים למחוק כל את המנויים והפרופילים? פעולה זו היא לא הפיכה.' אתם בטוחים שאתם רוצים למחוק כל את המנויים והפרופילים? פעולה זו היא לא הפיכה.'
Automatically Remove Video Meta Files: להסיר אוטומטית קובצי נתוני על של הסרטון
Subscription Settings: Subscription Settings:
Subscription Settings: 'הגדרות מנויים' Subscription Settings: 'הגדרות מנויים'
Hide Videos on Watch: 'הסתר סרטונים לאחר הצפייה' Hide Videos on Watch: 'הסתר סרטונים לאחר הצפייה'
@ -281,6 +284,7 @@ Settings:
Distraction Free Settings: הגדרות להשבתת הסחות Distraction Free Settings: הגדרות להשבתת הסחות
Hide Video Views: הסתרת תצוגות סרטונים Hide Video Views: הסתרת תצוגות סרטונים
Hide Active Subscriptions: הסתרת מינויים פעילים Hide Active Subscriptions: הסתרת מינויים פעילים
Hide Playlists: הסתרת פלייליסטים
The app needs to restart for changes to take effect. Restart and apply change?: צריך The app needs to restart for changes to take effect. Restart and apply change?: צריך
להפעיל את היישומון מחדש כדי שהשינויים ייכנסו לתוקף. להפעיל מחדש ולהחיל את השינוי? להפעיל את היישומון מחדש כדי שהשינויים ייכנסו לתוקף. להפעיל מחדש ולהחיל את השינוי?
Proxy Settings: Proxy Settings:
@ -401,6 +405,7 @@ Profile:
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: 'האם Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: 'האם
אתם בטוחים שאתם רוצים למחוק את הערוצים שבחרתם? הערוצים לא יימחקו משאר הפרופילים.' אתם בטוחים שאתם רוצים למחוק את הערוצים שבחרתם? הערוצים לא יימחקו משאר הפרופילים.'
#On Channel Page #On Channel Page
Profile Filter: מסנן פרופילים
Channel: Channel:
Subscriber: 'מנוי' Subscriber: 'מנוי'
Subscribers: 'מנויים' Subscribers: 'מנויים'
@ -497,7 +502,7 @@ Video:
Upcoming: 'שידור הבכורה ישודר ב־' Upcoming: 'שידור הבכורה ישודר ב־'
Published on: 'פורסם' Published on: 'פורסם'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: 'לפני $ %' Publicationtemplate: 'לפני $ %'
#& Videos #& Videos
Audio: Audio:
Best: איכות הכי טובה Best: איכות הכי טובה
@ -516,6 +521,7 @@ Video:
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: שמירת סרטון
translated from English: תורגם מאנגלית
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -543,10 +549,10 @@ Playlist:
Toggle Theatre Mode: 'הפעלו / בטלו מצב קולנוע' Toggle Theatre Mode: 'הפעלו / בטלו מצב קולנוע'
Change Format: Change Format:
Change Video Formats: 'שינוי תצורות הסרטונים' Change Video Formats: 'שינוי תצורות הסרטונים'
Use Dash Formats: 'שימוש בתצורות Dash' Use Dash Formats: 'שימוש בתצורות DASH'
Use Legacy Formats: 'שימוש בתצורות המיושנות' Use Legacy Formats: 'שימוש בתצורות המיושנות'
Use Audio Formats: 'שימוש בתצורות שמע' Use Audio Formats: 'שימוש בתצורות שמע'
Dash formats are not available for this video: 'לא קיימות תצורות Dash לסרטון הזה' Dash formats are not available for this video: 'לא קיימות תצורות DASH לסרטון הזה'
Audio formats are not available for this video: 'לא קיימות תצורות שמע לסרטון הזה' Audio formats are not available for this video: 'לא קיימות תצורות שמע לסרטון הזה'
Share: Share:
Share Video: 'שתפו את הסרטון' Share Video: 'שתפו את הסרטון'
@ -610,25 +616,25 @@ Tooltips:
General Settings: General Settings:
Fallback to Non-Preferred Backend on Failure: כאשר ל־API המועדף עליך יש בעיה, Fallback to Non-Preferred Backend on Failure: כאשר ל־API המועדף עליך יש בעיה,
FreeTube ינסה להשתמש ב־API בעדיפות הנמוכה יותר באופן אוטומטי כשיטת נסיגה כאשר FreeTube ינסה להשתמש ב־API בעדיפות הנמוכה יותר באופן אוטומטי כשיטת נסיגה כאשר
האפשרות פעילה האפשרות פעילה.
Preferred API Backend: נא לבחור את המנגנון לשימוש FreeTube כדי לקבל נתונים. ה־API Preferred API Backend: נא לבחור את המנגנון לשימוש FreeTube כדי לקבל נתונים. ה־API
המקומי הוא מחלץ מובנה. ה־API של Invidious דורש התחברות לשרת Invidious. המקומי הוא מחלץ מובנה. ה־API של Invidious דורש התחברות לשרת Invidious.
Region for Trending: מגמות אזוריות מאפשר לך לבחור סרטונים חמים של איזו מדינה מעניין Region for Trending: מגמות אזוריות מאפשר לך לבחור סרטונים חמים של איזו מדינה מעניין
אותך לראות. לא כל המדינות שמוצגות אכן נתמכות על ידי YouTube אותך לראות. לא כל המדינות שמוצגות אכן נתמכות על ידי YouTube.
Invidious Instance: העותק של Invidious שאליו FreeTube יתחבר לפניות API. מחיקת Invidious Instance: העותק של Invidious שאליו FreeTube יתחבר לפניות API. מחיקת
העותק הנוכחי תעלה רשימה של עותקים ציבוריים לבחור מביניהם העותק הנוכחי תעלה רשימה של עותקים ציבוריים לבחור מביניהם.
Thumbnail Preference: כל התמונות הייצוגיות ברחבי FreeTube תוחלפנה בתמונית מתוך Thumbnail Preference: כל התמונות הממוזערות ברחבי FreeTube יוחלפו בפריים מתוך הסרטון
הסרטון במקום התמונה הייצוגית כבררת המחדל במקום התמונה הממוזערת כברירת המחדל.
Player Settings: Player Settings:
Force Local Backend for Legacy Formats: עובד רק כאשר ה־API של Invidious הוא ברירת Force Local Backend for Legacy Formats: עובד רק כאשר ה־API של Invidious הוא ברירת
המחדל שלך. כאשר האפשרות פעילה, ה־API המקומי יופעל וישתמש בתצורות המיושנות שהוחזרו המחדל שלך. כאשר האפשרות פעילה, ה־API המקומי יופעל וישתמש בתצורות המיושנות שהוחזרו
על ידיו במקום באלו שהוחזרו על ידי Invidious. מועיל כאשר הסרטונים שמוחזרים על על ידיו במקום באלו שהוחזרו על ידי Invidious. מועיל כאשר הסרטונים שמוחזרים על
ידי Invidious לא מתנגנים עקב מגבלות חוקיות במדינה ידי Invidious לא מתנגנים עקב מגבלות חוקיות במדינה.
Proxy Videos Through Invidious: יתבצע חיבור ל־Invidious כדי להגיש סרטונים במקום Proxy Videos Through Invidious: יתבצע חיבור ל־Invidious כדי להגיש סרטונים במקום
להתחבר ישירות ל־YouTube. דורס את העדפת ה־API להתחבר ישירות ל־YouTube. דורס את העדפת ה־API.
Default Video Format: קביעת התצורות בעת ניגון סרטונים. תצורות Dash יכולות לנגן Default Video Format: קביעת התצורות בעת ניגון סרטונים. תצורות DASH יכולות לנגן
באיכויות גבוהות יותר. התצורות המיושנות מוגבלות ל־720 פיקסלים לכל היותר אך משתמשות באיכויות גבוהות יותר. התצורות המיושנות מוגבלות ל־720 פיקסלים לכל היותר אך משתמשות
בפחות רוחב פס. תצורות שמע הן הזרמות של שמע בלבד בפחות רוחב פס. תצורות שמע הן הזרמות של שמע בלבד.
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: כאשר אפשרות זו פעילה. FreeTube ישתמש ב־RSS במקום בשיטת ברירת Fetch Feeds from RSS: כאשר אפשרות זו פעילה. FreeTube ישתמש ב־RSS במקום בשיטת ברירת
המחדל לאיסוף הזנת המינויים שלך. RSS היא שיטה מהירה יותר ומונעת חסימת IP אבל המחדל לאיסוף הזנת המינויים שלך. RSS היא שיטה מהירה יותר ומונעת חסימת IP אבל

View File

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

View File

@ -125,6 +125,7 @@ Settings:
Check for Latest Blog Posts: Traži najnovije objave na blogu Check for Latest Blog Posts: Traži najnovije objave na blogu
Check for Updates: Traži nove verzije Check for Updates: Traži nove verzije
View all Invidious instance information: Prikaži podatke svih Invidious primjeraka View all Invidious instance information: Prikaži podatke svih Invidious primjeraka
System Default: Standard sustava
Theme Settings: Theme Settings:
Theme Settings: 'Postavke teme' Theme Settings: 'Postavke teme'
Match Top Bar with Main Color: 'Koristi glavnu boju u gornjoj traci' Match Top Bar with Main Color: 'Koristi glavnu boju u gornjoj traci'
@ -170,7 +171,7 @@ Settings:
Default Playback Rate: 'Standardna brzina reprodukcije' Default Playback Rate: 'Standardna brzina reprodukcije'
Default Video Format: Default Video Format:
Default Video Format: 'Standardni videoformat' Default Video Format: 'Standardni videoformat'
Dash Formats: 'Dash formati' Dash Formats: 'DASH formati'
Legacy Formats: 'Stari formati' Legacy Formats: 'Stari formati'
Audio Formats: 'Audioformati' Audio Formats: 'Audioformati'
Default Quality: Default Quality:
@ -185,6 +186,8 @@ Settings:
1440p: '1440 p' 1440p: '1440 p'
4k: '4 k' 4k: '4 k'
8k: '8 k' 8k: '8 k'
Playlist Next Video Interval: Interval sljedećeg videa zbirke
Next Video Interval: Interval za sljedeći video
Privacy Settings: Privacy Settings:
Privacy Settings: 'Postavke privatnosti' Privacy Settings: 'Postavke privatnosti'
Remember History: 'Zapamti povijest' Remember History: 'Zapamti povijest'
@ -200,6 +203,8 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Stvarno 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. želiš ukloniti sve pretplate i profile? Ovo je nepovratna radnja.
Remove All Subscriptions / Profiles: Ukloni sve pretplate/profile Remove All Subscriptions / Profiles: Ukloni sve pretplate/profile
Automatically Remove Video Meta Files: Automatski ukloni datoteke metapodataka
videa
Subscription Settings: Subscription Settings:
Subscription Settings: 'Postavke pretplata' Subscription Settings: 'Postavke pretplata'
Hide Videos on Watch: 'Sakrij video nakon gledanja' Hide Videos on Watch: 'Sakrij video nakon gledanja'
@ -287,6 +292,7 @@ Settings:
Hide Video Views: Sakrij broj gledanja videa Hide Video Views: Sakrij broj gledanja videa
Distraction Free Settings: Postavke za nesmetan rad Distraction Free Settings: Postavke za nesmetan rad
Hide Active Subscriptions: Sakrij aktivne pretplate Hide Active Subscriptions: Sakrij aktivne pretplate
Hide Playlists: Sakrij zbirke
The app needs to restart for changes to take effect. Restart and apply change?: Promjene The app needs to restart for changes to take effect. Restart and apply change?: Promjene
će se primijeniti nakon ponovnog pokeretanja programa. Ponovo pokrenuti program? će se primijeniti nakon ponovnog pokeretanja programa. Ponovo pokrenuti program?
Proxy Settings: Proxy Settings:
@ -410,6 +416,7 @@ Profile:
$ selected: $ je odabran $ selected: $ je odabran
Other Channels: Ostali kanali Other Channels: Ostali kanali
Subscription List: Popis pretplata Subscription List: Popis pretplata
Profile Filter: Filtar profila
Channel: Channel:
Subscriber: 'Pretplatnik' Subscriber: 'Pretplatnik'
Subscribers: 'Pretplatnici' Subscribers: 'Pretplatnici'
@ -502,7 +509,7 @@ Video:
Upcoming: 'Premijera' Upcoming: 'Premijera'
Published on: 'Objavljeno' Published on: 'Objavljeno'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: 'prije $ %' Publicationtemplate: 'prije $ %'
#& Videos #& Videos
Autoplay: Automatska reprodukcija Autoplay: Automatska reprodukcija
Play Previous Video: Reproduciraj prethodni video Play Previous Video: Reproduciraj prethodni video
@ -530,6 +537,7 @@ Video:
spremljenih spremljenih
Video has been saved: Video je spremljen Video has been saved: Video je spremljen
Save Video: Spremi video Save Video: Spremi video
translated from English: prevedeno iz engleskog
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -557,12 +565,12 @@ Playlist:
Toggle Theatre Mode: 'Uključi/isključi kazališni modus' Toggle Theatre Mode: 'Uključi/isključi kazališni modus'
Change Format: Change Format:
Change Video Formats: 'Promijeni videoformate' Change Video Formats: 'Promijeni videoformate'
Use Dash Formats: 'Koristi Dash-formate' Use Dash Formats: 'Koristi DASH formate'
Use Legacy Formats: 'Koristi stare formate' Use Legacy Formats: 'Koristi stare formate'
Use Audio Formats: 'Koristi audioformate' Use Audio Formats: 'Koristi audioformate'
Audio formats are not available for this video: Audioformati nisu dostupni za ovaj Audio formats are not available for this video: Audioformati nisu dostupni za ovaj
video video
Dash formats are not available for this video: Dash formati nisu dostupni za ovaj Dash formats are not available for this video: DASH formati nisu dostupni za ovaj
video video
Share: Share:
Share Video: 'Dijeli video' Share Video: 'Dijeli video'
@ -632,31 +640,44 @@ This video is unavailable because of missing formats. This can happen due to cou
u zemlji. u zemlji.
Tooltips: Tooltips:
Player Settings: Player Settings:
Default Video Format: Postavi formate za reprodukciju videa. Dash formati mogu Default Video Format: Postavi formate za reprodukciju videa. DASH formati mogu
reproducirati višu kvalitetu slike. Stari formati su ograničeni na 720 p, ali reproducirati višu kvalitetu slike. Stari formati su ograničeni na 720 p, ali
su zato brži. Audioformati sadrže samo audiosnimke su zato brži. Audioformati sadrže samo audiosnimke.
Proxy Videos Through Invidious: Za reprodukciju videa povezat će se s Invidiousom Proxy Videos Through Invidious: Za reprodukciju videa povezat će se s Invidiousom
umjesto izravnog povezivanja s YouTubeom. Zanemaruje postavke sučelja umjesto izravnog povezivanja s YouTubeom. Zanemaruje postavke sučelja.
Force Local Backend for Legacy Formats: Radi samo, kad se Invidious postavi kao Force Local Backend for Legacy Formats: Radi samo, kad se Invidious postavi kao
standardno sučelje. Kad je aktivirano, lokalno sučelje će pokretati i koristiti standardno sučelje. Kad je aktivirano, lokalno sučelje će pokretati i koristiti
stare formate umjesto onih koje dostavlja Invidious. Pomaže u slučajevima, kad stare formate umjesto onih koje dostavlja Invidious. Pomaže u slučajevima, kad
je reprodukcija videa koje dostavlja Invidious u zemlji zabranjena/ograničena je reprodukcija videa koje dostavlja Invidious u zemlji zabranjena/ograničena.
General Settings: General Settings:
Invidious Instance: Invidious primjerak na koji će se FreeTube povezati za pozive Invidious Instance: Invidious primjerak na koji će se FreeTube povezati za pozive
sučelja. Isprazni trenutačni primjerak za prikaz popisa javnih primjeraka koje sučelja. Isprazni trenutačni primjerak za prikaz popisa javnih primjeraka koje
možeš odabrati možeš odabrati.
Thumbnail Preference: U FreeTubeu će se sve minijature zamijeniti s jednim kadrom Thumbnail Preference: U FreeTubeu će se sve minijature zamijeniti s jednim kadrom
videa umjesto standardne minijature videa umjesto standardne minijature.
Fallback to Non-Preferred Backend on Failure: Ako primarno odabrano sučelje ima Fallback to Non-Preferred Backend on Failure: Ako primarno odabrano sučelje ima
problema, FreeTube će automatski pokušati koristiti sekundarno sučelje kao zamjensku problema, FreeTube će automatski pokušati koristiti sekundarno sučelje kao zamjensku
metodu, ako je aktivirano metodu, ako je aktivirano.
Preferred API Backend: Odaberi pozadinski sustav koji FreeTube koristi za dobivanje Preferred API Backend: Odaberi pozadinski sustav koji FreeTube koristi za dobivanje
podataka. Lokalno sučelje je ugrađeni sustav. Invidious sučelje zahtijeva Invidious podataka. Lokalno sučelje je ugrađeni sustav. Invidious sučelje zahtijeva Invidious
poslužitelja na koji će se povezati. poslužitelja na koji će se povezati.
Region for Trending: 'Regija trendova omogućuje biranje prikaza videa u trendu Region for Trending: 'Regija trendova omogućuje biranje prikaza videa u trendu
za određenu zemlju. YouTube zapravo ne podržava sve prikazane zemlje' za određenu zemlju. YouTube zapravo ne podržava sve prikazane zemlje.'
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Kad je aktivirano, FreeTube će koristiti RSS umjesto vlastite Fetch Feeds from RSS: Kad je aktivirano, FreeTube će koristiti RSS umjesto vlastite
standardne metode za dohvaćanje podataka tvoje pretplate. RSS je brži i sprečava standardne metode za dohvaćanje podataka tvoje pretplate. RSS je brži i sprečava
blokiranje IP adresa, ali ne pruža određene podatke kao što su trajanje videa blokiranje IP adresa, ali ne pruža određene podatke kao što su trajanje videa
ili stanja „uživo” ili stanja „uživo”
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.
More: Još
Hashtags have not yet been implemented, try again later: Hashtagovi još nisu implementirani,
pokušaj kasnije ponovo
Unknown YouTube url type, cannot be opened in app: Nepoznata vrsta URL adrese na YouTubeu,
ne može se otvoriti u programu
Open New Window: Otvori novi prozor

View File

@ -135,6 +135,7 @@ Settings:
#! List countries #! List countries
View all Invidious instance information: Az Invidious példány összes tájékoztatásának View all Invidious instance information: Az Invidious példány összes tájékoztatásának
megtekintése megtekintése
System Default: Rendszer alapértelmezett
Theme Settings: Theme Settings:
Theme Settings: 'Téma beállítások' Theme Settings: 'Téma beállítások'
Match Top Bar with Main Color: 'Illessze a felső sávot a fő színnel' Match Top Bar with Main Color: 'Illessze a felső sávot a fő színnel'
@ -180,7 +181,8 @@ Settings:
Default Playback Rate: 'Alapértelmezett lejátszási sebesség' Default Playback Rate: 'Alapértelmezett lejátszási sebesség'
Default Video Format: Default Video Format:
Default Video Format: 'Alapértelmezett videóformátum' Default Video Format: 'Alapértelmezett videóformátum'
Dash Formats: 'Kötőjel formátumok' Dash Formats: 'DASH (Dinamikus adaptív sávszélességű folyamatos átvitel HTTP-n
keresztül) formátumok'
Legacy Formats: 'Örökölt formátumok' Legacy Formats: 'Örökölt formátumok'
Audio Formats: 'Hangformátumok' Audio Formats: 'Hangformátumok'
Default Quality: Default Quality:
@ -196,6 +198,7 @@ Settings:
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Lejátszási lista következő videó intervalluma Playlist Next Video Interval: Lejátszási lista következő videó intervalluma
Next Video Interval: Következő videó időköze
Privacy Settings: Privacy Settings:
Privacy Settings: 'Adatvédelmi beállítások' Privacy Settings: 'Adatvédelmi beállítások'
Remember History: 'Előzmények megjegyzése' Remember History: 'Előzmények megjegyzése'
@ -211,6 +214,7 @@ Settings:
Remove All Subscriptions / Profiles: 'Összes feliratkozás és profil eltávolítása' 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 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.' 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:
Subscription Settings: 'Feliratkozás beállításai' Subscription Settings: 'Feliratkozás beállításai'
Hide Videos on Watch: 'Videók elrejtése megtekintés után' Hide Videos on Watch: 'Videók elrejtése megtekintés után'
@ -304,7 +308,7 @@ Settings:
Ip: IP-cím Ip: IP-cím
Your Info: Az Ön adatai Your Info: Az Ön adatai
Clicking on Test Proxy will send a request to: 'A Meghatalmazás-ellenőrzés gombra 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 Test Proxy: Meghatalmazás-ellenőrzés
Proxy Port Number: Meghatalmazás kikötőszáma Proxy Port Number: Meghatalmazás kikötőszáma
Proxy Host: Meghatalmazás gazdaszámítógép Proxy Host: Meghatalmazás gazdaszámítógép
@ -313,6 +317,12 @@ Settings:
Proxy Settings: Meghatalmazás beállításai Proxy Settings: Meghatalmazás beállításai
Error getting network information. Is your proxy configured properly?: Hiba a Error getting network information. Is your proxy configured properly?: Hiba a
hálózati adatok lekérésekor. Megfelelő a meghatalmazás beállítása? hálózati adatok lekérésekor. Megfelelő a meghatalmazás beállítása?
SponsorBlock Settings:
Notify when sponsor segment is skipped: Értesítés a szponzorált szegmens kihagyásáról
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': 'SponsorBlock API
URL címe (Alapértelmezés: https://sponsor.ajay.app)'
Enable SponsorBlock: SponsorBlock engedélyezése
SponsorBlock Settings: SponsorBlock beállításai
About: About:
#On About page #On About page
About: 'Névjegy' About: 'Névjegy'
@ -346,7 +356,7 @@ About:
Latest FreeTube News: 'Legfrissebb FreeTube hírek' Latest FreeTube News: 'Legfrissebb FreeTube hírek'
these people and projects: ezek emberek és projektek 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 Donate: Hozzájárulás
Credits: Közreműködők Credits: Közreműködők
Translate: Fordítás Translate: Fordítás
@ -514,7 +524,7 @@ Video:
Upcoming: 'Az első előadás hamarosan lesz' Upcoming: 'Az első előadás hamarosan lesz'
Published on: 'Megjelent' Published on: 'Megjelent'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: '$ % ezelőtt' Publicationtemplate: '$ % ezelőtt'
#& Videos #& Videos
Audio: Audio:
Best: Legjobb Best: Legjobb
@ -533,6 +543,15 @@ Video:
Video has been removed from your saved list: A videót eltávolítottuk a mentett listáról Video has been removed from your saved list: A videót eltávolítottuk a mentett listáról
Video has been saved: A videó mentve Video has been saved: A videó mentve
Save Video: Videó mentése Save Video: Videó mentése
translated from English: angolról fordítva
Sponsor Block category:
music offtopic: témán kívüli zene
interaction: kölcsönhatás
self-promotion: önreklám
outro: kivezetés
intro: bevezetés
sponsor: szponzor
Skipped segment: Szegmens kihagyva
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -546,7 +565,7 @@ Playlist:
Videos: 'Videók' Videos: 'Videók'
View: 'Megtekintés' View: 'Megtekintés'
Views: 'Megtekintések' Views: 'Megtekintések'
Last Updated On: 'Utoljára frissítve:' Last Updated On: 'Utoljára frissítve'
Share Playlist: Share Playlist:
Share Playlist: 'Lejátszási lista megosztása' Share Playlist: 'Lejátszási lista megosztása'
Copy YouTube Link: 'YouTube hivatkozás másolása' Copy YouTube Link: 'YouTube hivatkozás másolása'
@ -560,11 +579,13 @@ Playlist:
Toggle Theatre Mode: 'Mozi mód be-/kikapcsolása' Toggle Theatre Mode: 'Mozi mód be-/kikapcsolása'
Change Format: Change Format:
Change Video Formats: 'Videoformátumok módosítása' Change Video Formats: 'Videoformátumok módosítása'
Use Dash Formats: 'Kötőjel formátumok használata' Use Dash Formats: 'DASH (Dinamikus adaptív sávszélességű folyamatos átvitel HTTP-n
keresztül) formátumok használata'
Use Legacy Formats: 'Örökölt formátumok használata' Use Legacy Formats: 'Örökölt formátumok használata'
Use Audio Formats: 'Hangformátumok használata' Use Audio Formats: 'Hangformátumok használata'
Dash formats are not available for this video: 'Kötőjel formátumok nem állnak rendelkezésre Dash formats are not available for this video: 'DASH (Dinamikus adaptív sávszélességű
ehhez a videóhoz' folyamatos átvitel HTTP-n keresztül) formátumok nem állnak rendelkezésre ehhez
a videóhoz'
Audio formats are not available for this video: 'Hangformátumok nem érhetők el ehhez Audio formats are not available for this video: 'Hangformátumok nem érhetők el ehhez
a videóhoz' a videóhoz'
Share: Share:
@ -637,15 +658,15 @@ Tooltips:
használatához Invidious-kiszolgáló szükséges. használatához Invidious-kiszolgáló szükséges.
Region for Trending: A népszerűk körzetével kiválaszthatja, mely ország népszerű Region for Trending: A népszerűk körzetével kiválaszthatja, mely ország népszerű
videóit szeretné megjeleníteni. Nem minden megjelenített országot támogat a videóit szeretné megjeleníteni. Nem minden megjelenített országot támogat a
YouTube YouTube.
Invidious Instance: Invidious példány, amelyhez a FreeTube csatlakozni fog az Invidious Instance: Invidious példány, amelyhez a FreeTube csatlakozni fog az
API-hívásokhoz. Törölje az aktuális példányt a nyilvános példányok listájának API-hívásokhoz. Törölje az aktuális példányt a nyilvános példányok listájának
megjelenítéséhez megjelenítéséhez.
Thumbnail Preference: A FreeTube összes miniatűrökét az alapértelmezett miniatűr Thumbnail Preference: A FreeTube összes miniatűrökét az alapértelmezett miniatűr
helyett egy képkocka váltja fel helyett egy képkocka váltja fel.
Fallback to Non-Preferred Backend on Failure: Ha az Ön által előnyben részesített Fallback to Non-Preferred Backend on Failure: Ha az Ön által előnyben részesített
API-val hibába merül fel, a FreeTube önműködően megpróbálja a nem előnyben API-t API-val hibába merül fel, a FreeTube önműködően megpróbálja a nem előnyben API-t
tartalékként használni, ha engedélyezve van tartalékként használni, ha engedélyezve van.
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Ha engedélyezve van, a FreeTube az alapértelmezett módszer Fetch Feeds from RSS: Ha engedélyezve van, a FreeTube az alapértelmezett módszer
helyett RSS-t fog használni a feliratkozás hírcsatornájának megragadásához. helyett RSS-t fog használni a feliratkozás hírcsatornájának megragadásához.
@ -653,19 +674,28 @@ Tooltips:
például a videó időtartamát vagy az élő állapotot például a videó időtartamát vagy az élő állapotot
Player Settings: Player Settings:
Default Video Format: Állítsa be a videó lejátszásakor használt formátumokat. Default Video Format: Állítsa be a videó lejátszásakor használt formátumokat.
A kötőjel formátumok magasabb minőséget játszhatnak le. Az örökölt formátumok A DASH (dinamikus adaptív sávszélességű folyamatos átvitel HTTP-n keresztül)
legfeljebb 720 képpontra korlátozódnak, de kevesebb sávszélességet használnak. formátumok magasabb minőséget játszhatnak le. Az örökölt formátumok legfeljebb
A hangformátumok csak hang-adatfolyamok 720 képpontra korlátozódnak, de kevesebb sávszélességet használnak. A hangformátumok
csak hang-adatfolyamok.
Proxy Videos Through Invidious: Csatlakozik az Invidious szolgáltatáshoz, hogy Proxy Videos Through Invidious: Csatlakozik az Invidious szolgáltatáshoz, hogy
videókat szolgáltasson, ahelyett, hogy közvetlen kapcsolatot létesítene a YouTube videókat szolgáltasson, ahelyett, hogy közvetlen kapcsolatot létesítene a YouTube
szolgáltatással. Felülbírálja az API beállítást szolgáltatással. Felülbírálja az API beállítást.
Force Local Backend for Legacy Formats: Csak akkor működik, ha az Invidious API Force Local Backend for Legacy Formats: Csak akkor működik, ha az Invidious API
az alapértelmezett. Ha engedélyezve van, a helyi API futni fog, és az általa az alapértelmezett. Ha engedélyezve van, a helyi API futni fog, és az általa
visszaadott örökölt formátumokat fogja használni az Invidious által visszaadottak 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 helyett. Segít, ha az Invidious által visszaküldött videókat nem lehet lejátszani
az ország korlátozása miatt 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 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 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} történik. 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. másodperc múlva történik. Kattintson a törléshez.
More: Több More: Több
Hashtags have not yet been implemented, try again later: A kettőskeresztescímke még
nincs megvalósítva. Próbálkozzon később.
Unknown YouTube url type, cannot be opened in app: Ismeretlen YouTube URL-típusa,
nem nyitható meg az alkalmazásban
Open New Window: Új ablak megnyitása

View File

@ -131,6 +131,7 @@ Settings:
Region for Trending: 'Wilayah untuk Sedang Tren' Region for Trending: 'Wilayah untuk Sedang Tren'
#! List countries #! List countries
View all Invidious instance information: Lihat semua informasi situs Invidious View all Invidious instance information: Lihat semua informasi situs Invidious
System Default: Sistem standar
Theme Settings: Theme Settings:
Theme Settings: 'Pengaturan Tema' Theme Settings: 'Pengaturan Tema'
Match Top Bar with Main Color: 'Samakan Bilah Atas dengan Warna Utama' Match Top Bar with Main Color: 'Samakan Bilah Atas dengan Warna Utama'
@ -175,7 +176,7 @@ Settings:
Default Playback Rate: 'Laju Pemutaran Bawaan' Default Playback Rate: 'Laju Pemutaran Bawaan'
Default Video Format: Default Video Format:
Default Video Format: 'Format Video Bawaan' Default Video Format: 'Format Video Bawaan'
Dash Formats: 'Format Dash' Dash Formats: 'Format DASH'
Legacy Formats: 'Format Lama' Legacy Formats: 'Format Lama'
Audio Formats: 'Format Audio' Audio Formats: 'Format Audio'
Default Quality: Default Quality:
@ -191,6 +192,7 @@ Settings:
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Interval Video dalam Daftar Putar Playlist Next Video Interval: Interval Video dalam Daftar Putar
Next Video Interval: Interval Video Selanjutnya
Privacy Settings: Privacy Settings:
Privacy Settings: 'Pengaturan Privasi' Privacy Settings: 'Pengaturan Privasi'
Remember History: 'Ingat Riwayat' Remember History: 'Ingat Riwayat'
@ -207,6 +209,7 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Apakah 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 Anda yakin ingin menghapus semua langganan dan profil? Tindakan ini tidak bisa
diurungkan.' diurungkan.'
Automatically Remove Video Meta Files: Secara Otomatis Hapus File Meta Video
Subscription Settings: Subscription Settings:
Subscription Settings: 'Pengaturan Langganan' Subscription Settings: 'Pengaturan Langganan'
Hide Videos on Watch: 'Sembunyikan Video saat Menonton' Hide Videos on Watch: 'Sembunyikan Video saat Menonton'
@ -403,6 +406,7 @@ Profile:
Anda yakin ingin menghapus kanal yang terpilih? Tindakan ini tidak akan menghapus Anda yakin ingin menghapus kanal yang terpilih? Tindakan ini tidak akan menghapus
kanalnya dari profil lain.' kanalnya dari profil lain.'
#On Channel Page #On Channel Page
Profile Filter: Filter Profil
Channel: Channel:
Subscriber: 'Pelanggan' Subscriber: 'Pelanggan'
Subscribers: 'Pelanggan' Subscribers: 'Pelanggan'
@ -503,7 +507,7 @@ Video:
Upcoming: 'Segera tayang di' Upcoming: 'Segera tayang di'
Published on: 'Dipublikasi pada' Published on: 'Dipublikasi pada'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: '$ % yang lalu' Publicationtemplate: '$ % yang lalu'
#& Videos #& Videos
Audio: Audio:
Best: Terbaik Best: Terbaik
@ -525,6 +529,7 @@ Video:
Anda Anda
Video has been saved: Video telah disimpan Video has been saved: Video telah disimpan
Save Video: Simpan Video Save Video: Simpan Video
translated from English: diterjemahkan dari Bahasa Inggris
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -552,10 +557,10 @@ Playlist:
Toggle Theatre Mode: 'Mode Teater' Toggle Theatre Mode: 'Mode Teater'
Change Format: Change Format:
Change Video Formats: 'Ubah Format Video' Change Video Formats: 'Ubah Format Video'
Use Dash Formats: 'Gunakan Format Dash' Use Dash Formats: 'Gunakan Format DASH'
Use Legacy Formats: 'Gunakan Format Legasi' Use Legacy Formats: 'Gunakan Format Legasi'
Use Audio Formats: 'Gunakan Format Audio' Use Audio Formats: 'Gunakan Format Audio'
Dash formats are not available for this video: 'Format dash tidak tersedia untuk Dash formats are not available for this video: 'Format DASH tidak tersedia untuk
video ini' video ini'
Audio formats are not available for this video: 'Format audio tidak tersedia untuk Audio formats are not available for this video: 'Format audio tidak tersedia untuk
video ini' video ini'
@ -628,32 +633,39 @@ Tooltips:
IP, tetapi tidak menyediakan informasi tertentu seperti durasi video atau status IP, tetapi tidak menyediakan informasi tertentu seperti durasi video atau status
siaran langsung siaran langsung
Player Settings: Player Settings:
Default Video Format: Atur format yang digunakan ketika video diputar. Format Default Video Format: Atur format video. Format DASH bisa memutar kualitas yang
dash bisa memutar kualitas yang lebih tinggi. Format lama terbatas ke maks 720p lebih tinggi. Format lama terbatas ke maks 720p tetapi dengan bandwidth yang
tetapi dengan bandwidth yang lebih rendah. Format audio hanya berisi stream lebih rendah. Format audio hanya berisi stream audio.
audio
Proxy Videos Through Invidious: Akan menyambung ke Invidious daripada YouTube. Proxy Videos Through Invidious: Akan menyambung ke Invidious daripada YouTube.
Menimpa preferensi API Menimpa preferensi API.
Force Local Backend for Legacy Formats: Hanya bekerja jika APi Invidious diatur Force Local Backend for Legacy Formats: Hanya bekerja jika APi Invidious diatur
sebagai default. Ketika diaktifkan, API lokal akan berjalan dan menggunakan sebagai default. Ketika diaktifkan, API lokal akan berjalan dan menggunakan
format lama yang dihasilkan oleh API lokal daripada yang dihasilkan oleh API format lama yang dihasilkan oleh API lokal daripada yang dihasilkan oleh API
Invidious. Membantu saat video yang ditampilkan oleh Invidious tidak bisa diputar Invidious. Membantu saat video yang ditampilkan oleh Invidious tidak bisa diputar
karena dibatasi oleh wilayah pemutaran karena dibatasi oleh wilayah pemutaran.
General Settings: General Settings:
Region for Trending: Wilayah tren memungkinkan Anda memilih video yang sedang Region for Trending: Wilayah tren memungkinkan Anda memilih video yang sedang
ngetren dari negara tersebut untuk ditampilkan. Tidak semua daftar negara didukung ngetren dari negara tersebut untuk ditampilkan. Tidak semua daftar negara didukung
oleh YouTube oleh YouTube.
Invidious Instance: Situs Invidious yang akan tersambung dengan FreeTube untuk Invidious Instance: Situs Invidious yang akan tersambung dengan FreeTube untuk
panggilan API. Hapus situs saat ini untuk melihat daftar situs publik yang didukung panggilan API. Hapus situs saat ini untuk melihat daftar situs publik yang didukung.
Thumbnail Preference: Semua thumbnail di dalam aplikasi FreeTube akan diganti Thumbnail Preference: Semua thumbnail di dalam aplikasi FreeTube akan diganti
dengan frame dari video dengan frame dari video.
Fallback to Non-Preferred Backend on Failure: Ketika API yang Anda pilih memiliki Fallback to Non-Preferred Backend on Failure: Ketika API yang Anda pilih memiliki
masalah, FreeTube akan secara otomatis menggunakan layanan API lainnya sebagai masalah, FreeTube akan secara otomatis menggunakan layanan API lainnya sebagai
cadangan jika diaktifkan cadangan jika diaktifkan.
Preferred API Backend: Pilih layanan yang digunakan oleh FreeTube untuk mengambil Preferred API Backend: Pilih layanan yang digunakan oleh FreeTube untuk mengambil
data. API lokal adalah ekstraktor bawaan. API Invidious membutuhkan sambungan data. API lokal adalah ekstraktor bawaan. API Invidious membutuhkan sambungan
ke server Invidious. 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. | Playing Next Video Interval: Langsung putar video berikutnya. Klik untuk batal. |
Putar video berikutnya dalam {nextVideoInterval} detik. Klik untuk batal. | Putar Putar video berikutnya dalam {nextVideoInterval} detik. Klik untuk batal. | Putar
video berikutnya dalam {nextVideoInterval} detik. Klik untuk batal. video berikutnya dalam {nextVideoInterval} detik. Klik untuk batal.
More: Lebih banyak More: Lebih banyak
Hashtags have not yet been implemented, try again later: Hashtag belum diimplementasikan,
silakan coba lagi nanti
Unknown YouTube url type, cannot be opened in app: Tipe URL YouTube tidak dikenal,
tidak bisa dibuka di aplikasi
Open New Window: Buka Jendela Baru

642
static/locales/is.yaml Normal file
View File

@ -0,0 +1,642 @@
# 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
System Default: Sjálfgefið í kerfinu
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'
Next Video Interval: Bil í næsta myndskeið
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?'
SponsorBlock Settings:
Notify when sponsor segment is skipped: Láta vita þegar kostaður bútur er hunsaður
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': SponsorBlock API-slóð
(sjálfgefið er https://sponsor.ajay.app)
Enable SponsorBlock: Virkja SponsorBlock
SponsorBlock Settings: Stillingar SponsorBlock
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: 'Besta'
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: 'Fyrir $ % síðan'
#& Videos
translated from English: þýtt úr ensku
Sponsor Block category:
music offtopic: tónlist óskyld efni
interaction: gagnvirkni
self-promotion: sjálfskynning
intro: kynning
sponsor: kostunaraðili
Skipped segment: Búti sleppt
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'
Hashtags have not yet been implemented, try again later: Ekki er ennþá stuðningur
við myllumerki (hashtags), prófaðu aftur síðar
Unknown YouTube url type, cannot be opened in app: Óþekkt gerð YouTube-slóðar, er
ekki hægt að opna í forritinu
Open New Window: Opna í nýjum glugga

View File

@ -65,7 +65,7 @@ Search Filters:
Fetching results. Please wait: 'Caricamento risultati. Attendi' Fetching results. Please wait: 'Caricamento risultati. Attendi'
Fetch more results: 'Carica più risultati' Fetch more results: 'Carica più risultati'
# Sidebar # 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 ricerca
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
@ -86,11 +86,11 @@ Playlists: 'Playlist'
User Playlists: User Playlists:
Your Playlists: 'Le tue playlist' 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 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 per vederlo qui
Playlist Message: Questa pagina non è rappresentativa di una playlist completa. Playlist Message: Questa pagina non è rappresentativa di una playlist completa.
Mostra solo video che hai salvato o aggiunti ai preferiti. A lavoro finito, tutti 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: History:
# On History Page # On History Page
History: 'Cronologia' History: 'Cronologia'
@ -126,7 +126,8 @@ Settings:
#! List countries #! List countries
Check for Latest Blog Posts: Controlla gli ultimi post del blog Check for Latest Blog Posts: Controlla gli ultimi post del blog
Check for Updates: Controlla gli aggiornamenti 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:
Theme Settings: 'Impostazioni Tema' Theme Settings: 'Impostazioni Tema'
Match Top Bar with Main Color: 'Abbina la barra superiore con il colore principale' Match Top Bar with Main Color: 'Abbina la barra superiore con il colore principale'
@ -186,6 +187,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Intervallo video successivo nella playlist
Privacy Settings: Privacy Settings:
Privacy Settings: 'Impostazioni privacy' Privacy Settings: 'Impostazioni privacy'
Remember History: 'Salva la Cronologia' Remember History: 'Salva la Cronologia'
@ -293,6 +295,7 @@ Settings:
Hide Live Chat: Nascondi la chat live Hide Live Chat: Nascondi la chat live
Hide Video Likes And Dislikes: Nascondi Mi piace e Non mi piace Hide Video Likes And Dislikes: Nascondi Mi piace e Non mi piace
Hide Active Subscriptions: Nascondi le iscrizioni attive 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 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 deve essere riavviata per applicare i cambiamenti. Riavviare e applicare i cambiamenti
ora? ora?
@ -308,8 +311,8 @@ Settings:
Country: Paese Country: Paese
Ip: Ip Ip: Ip
Your Info: Le tue informazioni Your Info: Le tue informazioni
Test Proxy: Test Proxy Test Proxy: Testa proxy
Clicking on Test Proxy will send a request to: Cliccando su "Testa Proxy" verrà Clicking on Test Proxy will send a request to: Cliccando su «Testa proxy» verrà
inviata una richiesta a inviata una richiesta a
Proxy Port Number: Numero di porta Proxy Proxy Port Number: Numero di porta Proxy
Proxy Host: Host Proxy Proxy Host: Host Proxy
@ -349,7 +352,7 @@ About:
Blog: Blog Blog: Blog
GitHub issues: Segnalazioni GitHub GitHub issues: Segnalazioni GitHub
Report a problem: Segnala un problema Report a problem: Segnala un problema
FAQ: Domande Frequenti FAQ: Domande frequenti
FreeTube Wiki: Wiki FreeTube FreeTube Wiki: Wiki FreeTube
Help: Aiuto Help: Aiuto
Downloads / Changelog: Download / Changelog Downloads / Changelog: Download / Changelog
@ -360,9 +363,9 @@ About:
Translate: Traduci Translate: Traduci
room rules: Regole stanza room rules: Regole stanza
Please read the: Si prega di leggere Please read the: Si prega di leggere
Chat on Matrix: Chat su Matrix Chat on Matrix: Chatta su Matrix
Mastodon: Mastodon Mastodon: Mastodon
Email: Email Email: E-mail
Website: Sito web Website: Sito web
Please check for duplicates before posting: Per favore controlla se ci sono duplicati Please check for duplicates before posting: Per favore controlla se ci sono duplicati
prima di pubblicare prima di pubblicare
@ -631,6 +634,7 @@ Profile:
Profile Manager: Gestione Profili Profile Manager: Gestione Profili
All Channels: Tutti i Canali All Channels: Tutti i Canali
Profile Select: Seleziona il Profilo 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 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 video non è disponibile a causa di alcuni formati mancanti. Questo può succedere
in caso di mancata disponibilità del paese. 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 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 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 il blocco dell'IP ma non mostrano informazioni come la durata video o lo stato
delle live delle dirette
General Settings: General Settings:
Invidious Instance: L'istanza Invidious che FreeTube usa per le chiamate API. 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 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 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 di cui si vogliono vedere i video di tendenza. Non tutte le nazioni mostrate
sono ufficialmente supportate da YouTube 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

View File

@ -176,6 +176,8 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4K' 4k: '4K'
8k: '8K' 8k: '8K'
Playlist Next Video Interval: 次の再生リストを再生する間隔
Next Video Interval: 次のビデオまでの間隔
Subscription Settings: Subscription Settings:
Subscription Settings: '登録チャンネルの設定' Subscription Settings: '登録チャンネルの設定'
Hide Videos on Watch: '視聴済み動画の非表示' Hide Videos on Watch: '視聴済み動画の非表示'
@ -224,6 +226,7 @@ Settings:
Privacy Settings: 個人情報の設定 Privacy Settings: 個人情報の設定
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: すべての登録チャンネルとプロファイルを削除しますか?元に戻せません。 Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: すべての登録チャンネルとプロファイルを削除しますか?元に戻せません。
Remove All Subscriptions / Profiles: 登録とプロファイルをすべて削除 Remove All Subscriptions / Profiles: 登録とプロファイルをすべて削除
Automatically Remove Video Meta Files: 動画のメタファイルの自動削除
Data Settings: Data Settings:
How do I import my subscriptions?: 私の登録情報を取り込むにはどうしたらいいですか? How do I import my subscriptions?: 私の登録情報を取り込むにはどうしたらいいですか?
Unknown data key: 不明なデータ キー Unknown data key: 不明なデータ キー
@ -266,6 +269,7 @@ Settings:
Hide Video Likes And Dislikes: 評価の非表示 Hide Video Likes And Dislikes: 評価の非表示
Distraction Free Settings: 集中モード Distraction Free Settings: 集中モード
Hide Active Subscriptions: 使用中の登録チャンネルの非表示 Hide Active Subscriptions: 使用中の登録チャンネルの非表示
Hide Playlists: 再生リストの非表示
The app needs to restart for changes to take effect. Restart and apply change?: 変更の反映には、アプリの再起動が必要です。再起動して変更を適用しますか? The app needs to restart for changes to take effect. Restart and apply change?: 変更の反映には、アプリの再起動が必要です。再起動して変更を適用しますか?
Proxy Settings: Proxy Settings:
Error getting network information. Is your proxy configured properly?: ネットワーク情報の取得中にエラーが発生しました。プロキシーを正しく設定してますか? Error getting network information. Is your proxy configured properly?: ネットワーク情報の取得中にエラーが発生しました。プロキシーを正しく設定してますか?
@ -318,9 +322,9 @@ About:
Please read the: 確認してください Please read the: 確認してください
Chat on Matrix: Matrix でチャット Chat on Matrix: Matrix でチャット
Mastodon: Mastodon Mastodon: Mastodon
Email: メール アドレス Email: 電子メール
Blog: ブログ Blog: ブログ
Website: WEB サイト Website: ウェブサイト
Please check for duplicates before posting: 投稿する前に重複を確認してください Please check for duplicates before posting: 投稿する前に重複を確認してください
GitHub issues: GitHub の課題ツール GitHub issues: GitHub の課題ツール
Report a problem: 問題の報告 Report a problem: 問題の報告
@ -445,6 +449,7 @@ Video:
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: 動画の保存
translated from English: 英語から翻訳
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -566,6 +571,7 @@ Profile:
? This is your primary profile. Are you sure you want to delete the selected channels? The ? This is your primary profile. Are you sure you want to delete the selected channels? The
same channels will be deleted in any profile they are found in. same channels will be deleted in any profile they are found in.
: これは上位のプロファイルです。選択したチャンネルを削除しますか?同じチャンネルがほかのプロファイルにも登録されていれば削除されます。 : これは上位のプロファイルです。選択したチャンネルを削除しますか?同じチャンネルがほかのプロファイルにも登録されていれば削除されます。
Profile Filter: プロファイルのフィルター
The playlist has been reversed: 再生リストを逆順にしました The playlist has been reversed: 再生リストを逆順にしました
A new blog is now available, $. Click to view more: '新着ブログ公開、$。クリックしてブログを読む' A new blog is now available, $. Click to view more: '新着ブログ公開、$。クリックしてブログを読む'
Download From Site: サイトからダウンロード Download From Site: サイトからダウンロード
@ -588,3 +594,11 @@ Tooltips:
Fallback to Non-Preferred Backend on Failure: 有効にすると、選択した API で取得できなければ、FreeTube Fallback to Non-Preferred Backend on Failure: 有効にすると、選択した API で取得できなければ、FreeTube
は自動的に他の API での取得を試みます。 は自動的に他の API での取得を試みます。
Region for Trending: 急上昇の地域設定では、急上昇動画を表示する国を選択できます。YouTube は、すべての国に対応していません。 Region for Trending: 急上昇の地域設定では、急上昇動画を表示する国を選択できます。YouTube は、すべての国に対応していません。
Privacy Settings:
Remove Video Meta Files: 有効にすると、FreeTube はビデオ再生中に作成したメタファイルは、再生ページを閉じるときに自動的に削除されます。
Playing Next Video Interval: すぐに次のビデオを再生します。クリックするとキャンセル。|次のビデオを {nextVideoInterval}
秒で再生します。クリックするとキャンセル。|次のビデオを {nextVideoInterval} 秒で再生します。クリックするとキャンセル。
More: もっと見る
Hashtags have not yet been implemented, try again later: ハッシュタグは未実装です。実装後に実行してください
Unknown YouTube url type, cannot be opened in app: 不明な YouTube URL の種類、アプリで実行できません
Open New Window: 新しいウィンドウを開く

View File

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

View File

@ -1,12 +1,12 @@
# Put the name of your locale in the same language # Put the name of your locale in the same language
Locale Name: 'Latina' Locale Name: 'Latina (LA)'
FreeTube: 'FreeTube' FreeTube: 'FreeTube'
# Currently on Subscriptions, Playlists, and History # Currently on Subscriptions, Playlists, and History
'This part of the app is not ready yet. Come back later when progress has been made.': >- 'This part of the app is not ready yet. Come back later when progress has been made.': >-
Haec programmatis pars perfecta non est. Remea cum in hac profectum sit. Haec programmatis pars perfecta non est. Remea cum in hac profectum sit.
# Webkit Menu Bar # Webkit Menu Bar
File: '' File: 'volumen'
Quit: 'Exi' Quit: 'Exi'
Edit: 'Muta' Edit: 'Muta'
Undo: 'Tolle' Undo: 'Tolle'

View File

@ -18,11 +18,11 @@ Delete: 'Slett'
Select all: 'Velg alt' Select all: 'Velg alt'
Reload: 'Last inn på nytt' Reload: 'Last inn på nytt'
Force Reload: 'Tving gjeninnlasting' Force Reload: 'Tving gjeninnlasting'
Toggle Developer Tools: 'Veksle utviklerverktøy' Toggle Developer Tools: 'Utviklerverktøy'
Actual size: 'Faktisk størrelse' Actual size: 'Faktisk størrelse'
Zoom in: 'Forstørr' Zoom in: 'Forstørr'
Zoom out: 'Forminsk' Zoom out: 'Forminsk'
Toggle fullscreen: 'Veksle fullskjermsvisning' Toggle fullscreen: 'Fullskjermsvisning'
Window: 'Vindu' Window: 'Vindu'
Minimize: 'Minimer' Minimize: 'Minimer'
Close: 'Lukk' Close: 'Lukk'
@ -61,11 +61,10 @@ Search Filters:
Long (> 20 minutes): 'Lang (> 20 minutter)' Long (> 20 minutes): 'Lang (> 20 minutter)'
# On Search Page # On Search Page
Search Results: 'Søkeresultater' Search Results: 'Søkeresultater'
Fetching results. Please wait: 'Henter resultater. Vent.' Fetching results. Please wait: 'Henter resultater'
Fetch more results: 'Hent flere resultater' Fetch more results: 'Hent flere resultater'
# Sidebar # Sidebar
There are no more results for this search: Det er ikke flere resultat for dette There are no more results for this search: Søket ga ingen flere resultater
søket
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: 'Abonnementer' Subscriptions: 'Abonnementer'
@ -77,18 +76,18 @@ Subscriptions:
Getting Subscriptions. Please wait.: Henter abonnementer. Vent. Getting Subscriptions. Please wait.: Henter abonnementer. Vent.
Load More Videos: Last flere videoer Load More Videos: Last flere videoer
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Denne This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Denne
profilen har mange abonnementer. Påtvinger RSS for å unngå adgangsbegrensning. profilen har mange abonnementer. Påtvinger RSS for å unngå adgangsbegrensning
Trending: 'På vei opp' Trending: 'På vei opp'
Most Popular: 'Mest populært' Most Popular: 'Mest populært'
Playlists: 'Spillelister' Playlists: 'Spillelister'
User Playlists: User Playlists:
Your Playlists: 'Dine spillelister' Your Playlists: 'Dine spillelister'
Playlist Message: Denne siden reflekterer ikke fullstendig fungerende spillelister. Playlist Message: Denne siden reflekterer ikke fullstendig fungerende spillelister.
Den lister kun opp videoer du har lagret eller favorittmerket. Når arbeidet er Den viser kun videoer du har lagret eller favorittmerket. Når arbeidet er fullført,
fullført, vil alle videoer som vises her bli flyttet til en «Favoritt»-spilleliste. vil alle videoer som vises her bli flyttet til en «Favoritt»-spilleliste.
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Dine Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Du
lagrede videoer er tomme. klikk på "Lagre"-knappen i hjørnet av en video for å har ikke lagret noen videoer enda. Trykk på «Lagre»-knappen i hjørnet av en video
liste den opp her. for å sende den hit
History: History:
# On History Page # On History Page
History: 'Historikk' History: 'Historikk'
@ -118,15 +117,16 @@ Settings:
Beginning: 'Begynnelsen' Beginning: 'Begynnelsen'
Middle: 'Midten' Middle: 'Midten'
End: 'Slutten' End: 'Slutten'
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Individious-instans 'Invidious Instance (Default is https://invidious.snopyta.org)': 'Individious-forekomst
(forvalget er https://invidious.snopyta.org)' (forvalget er https://invidious.snopyta.org)'
Region for Trending: 'Region for På vei opp' Region for Trending: 'Region for «På vei opp»'
#! List countries #! List countries
Check for Updates: Se etter oppdateringer Check for Updates: Se etter oppdateringer
View all Invidious instance information: Vis info om alle Invidious-instanser View all Invidious instance information: Vis info om alle Invidious-forekomster
Check for Latest Blog Posts: Se etter nye bloggposter Check for Latest Blog Posts: Se etter nye blogginnlegg
System Default: Systemforvalg
Theme Settings: Theme Settings:
Theme Settings: 'Tema innstillinger' Theme Settings: 'Draktvalg'
Match Top Bar with Main Color: 'Bruk hovedfarge i toppbjelke' Match Top Bar with Main Color: 'Bruk hovedfarge i toppbjelke'
Base Theme: Base Theme:
Base Theme: 'Hovedtema' Base Theme: 'Hovedtema'
@ -134,7 +134,7 @@ Settings:
Dark: 'Mørk' Dark: 'Mørk'
Light: 'Lys' Light: 'Lys'
Main Color Theme: Main Color Theme:
Main Color Theme: 'Hovedfargedrakt' Main Color Theme: 'Hovedfarge'
Red: 'Rød' Red: 'Rød'
Pink: 'Rosa' Pink: 'Rosa'
Purple: 'Lilla' Purple: 'Lilla'
@ -143,38 +143,38 @@ Settings:
Blue: 'Blå' Blue: 'Blå'
Light Blue: 'Lyseblå' Light Blue: 'Lyseblå'
Cyan: 'Cyanblå' Cyan: 'Cyanblå'
Teal: 'Turkis' Teal: 'Blågrønn'
Green: 'Grønn' Green: 'Grønn'
Light Green: 'Lysegrønn' Light Green: 'Lysegrønn'
Lime: 'Limegrønn' Lime: 'Lime'
Yellow: 'Gul' Yellow: 'Gul'
Amber: 'Rav' Amber: 'Ravgul'
Orange: 'Oransje' Orange: 'Oransje'
Deep Orange: 'Dyp oransje' Deep Orange: 'Dyp oransje'
Secondary Color Theme: 'Sekundær fargedrakt' Secondary Color Theme: 'Sekundærfarge'
#* Main Color Theme #* Main Color Theme
UI Scale: Grensesnittskala UI Scale: Grensesnittskala
Disable Smooth Scrolling: Skru av myk rulling Disable Smooth Scrolling: S av myk rulling
Expand Side Bar by Default: Utvid sidestolpe som forvalg Expand Side Bar by Default: Utvidet sidefelt som forvalg
Player Settings: Player Settings:
Player Settings: 'Spillerinnstillinger' Player Settings: 'Videoavspillingsinnstillinger'
Force Local Backend for Legacy Formats: 'Påtving lokal bakende for forelede formater' Force Local Backend for Legacy Formats: 'Påtving lokal bakende for forelede formater'
Play Next Video: 'Spill av neste video' Play Next Video: 'Spill av neste video'
Turn on Subtitles by Default: 'Slå på undertekster som standard' Turn on Subtitles by Default: 'Undertekster som forvalg'
Autoplay Videos: 'Auto-spill videoer' Autoplay Videos: 'Spill av videoer automatisk'
Proxy Videos Through Invidious: 'Mellomtjen videoer gjennom Invidious' Proxy Videos Through Invidious: 'Mellomtjen videoer gjennom Invidious'
Autoplay Playlists: 'Autospillings-spillelister' Autoplay Playlists: 'Spill av spillelister automatisk'
Enable Theatre Mode by Default: 'Kinomodus som standardvalg' Enable Theatre Mode by Default: 'Kinomodus som standardvalg'
Default Volume: 'Standardvolum' Default Volume: 'Standardvolum'
Default Playback Rate: 'Forvalgt avspillingshastighet' Default Playback Rate: 'Avspillingshastighet'
Default Video Format: Default Video Format:
Default Video Format: 'Forvalgt videoformat' Default Video Format: 'Videoformat'
Dash Formats: 'DASH-formater' Dash Formats: 'DASH-formater'
Legacy Formats: 'Gamle formater' Legacy Formats: 'Gamle formater'
Audio Formats: 'Lydformater' Audio Formats: 'Lydformater'
Default Quality: Default Quality:
Default Quality: 'Forvalgt kvalitet' Default Quality: 'Kvalitetsinnstilling'
Auto: 'Auto' Auto: 'Automatisk'
144p: '144p' 144p: '144p'
240p: '240p' 240p: '240p'
360p: '360p' 360p: '360p'
@ -182,12 +182,14 @@ Settings:
720p: '720p' 720p: '720p'
1080p: '1080p' 1080p: '1080p'
1440p: '1440p' 1440p: '1440p'
4k: 'UHD' 4k: '4k'
8k: '8k UHD' 8k: '8k'
Playlist Next Video Interval: Intervall for avspilling av neste i spilleliste
Next Video Interval: Intervall mellom videoer
Privacy Settings: Privacy Settings:
Privacy Settings: 'Personvernsinnstillinger' Privacy Settings: 'Personvernsinnstillinger'
Remember History: 'Husk historikk' Remember History: 'Husk historikk'
Save Watched Progress: 'Lagre framdriftsposisjon' Save Watched Progress: 'Lagre visningsposisjon'
Clear Search Cache: 'Tøm søkehurtiglager' Clear Search Cache: 'Tøm søkehurtiglager'
Are you sure you want to clear out your search cache?: 'Tøm søkehurtiglager?' Are you sure you want to clear out your search cache?: 'Tøm søkehurtiglager?'
Search cache has been cleared: 'Søkehurtiglager tømt' Search cache has been cleared: 'Søkehurtiglager tømt'
@ -198,6 +200,7 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Er Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Er
du sikker på at du vil fjerne alle abonnementer og profiler? Dette kan ikke du sikker på at du vil fjerne alle abonnementer og profiler? Dette kan ikke
angres. angres.
Automatically Remove Video Meta Files: Fjern metadata automatisk fra videoer
Subscription Settings: Subscription Settings:
Subscription Settings: 'Abonnementsinnstillinger' Subscription Settings: 'Abonnementsinnstillinger'
Hide Videos on Watch: 'Skjul sette videoer' Hide Videos on Watch: 'Skjul sette videoer'
@ -255,11 +258,11 @@ Settings:
Manage Subscriptions: Håndter abonnementer Manage Subscriptions: Håndter abonnementer
Unable to read file: Kunne ikke lese fil Unable to read file: Kunne ikke lese fil
Invalid subscriptions file: Ugyldig abonnementsfil Invalid subscriptions file: Ugyldig abonnementsfil
Profile object has insufficient data, skipping item: Profilobjekt har utilstrekkelig Profile object has insufficient data, skipping item: Hopper over profilobjektet
data. Hopper over element. siden det har utilstrekkelig data.
Check for Legacy Subscriptions: Se etter foreldede abonnementer Check for Legacy Subscriptions: Se etter foreldede abonnementer
Subscriptions have been successfully exported: Abonnementer eksportert Subscriptions have been successfully exported: Abonnementer eksportert
This might take a while, please wait: Dette kan ta sin tid This might take a while, please wait: Dette kan ta litt tid
Export History: Historikk-eksport Export History: Historikk-eksport
Import History: Historikk-import Import History: Historikk-import
Export NewPipe: NewPipe-eksport Export NewPipe: NewPipe-eksport
@ -275,8 +278,8 @@ Settings:
Data Settings: Datainnstillinger Data Settings: Datainnstillinger
Proxy Settings: Proxy Settings:
Region: Region Region: Region
Clicking on Test Proxy will send a request to: Klikk på «Test mellomtjener» for Clicking on Test Proxy will send a request to: Hvis du trykker på «Test mellomtjener»
å sende en forespørsel til sender vi en forespørsel til
Error getting network information. Is your proxy configured properly?: Klarte Error getting network information. Is your proxy configured properly?: Klarte
ikke å hente nettverksinfo. Er din mellomtjener satt opp riktig? ikke å hente nettverksinfo. Er din mellomtjener satt opp riktig?
Test Proxy: Test mellomtjener Test Proxy: Test mellomtjener
@ -290,7 +293,7 @@ Settings:
Enable Tor / Proxy: Skru på Tor/mellomtjener Enable Tor / Proxy: Skru på Tor/mellomtjener
Proxy Settings: Mellomtjenerinnstillinger Proxy Settings: Mellomtjenerinnstillinger
Distraction Free Settings: Distraction Free Settings:
Hide Trending Videos: Gjem På vei opp Hide Trending Videos: Skjul «På vei opp»
Hide Video Likes And Dislikes: Skjul video-gunst Hide Video Likes And Dislikes: Skjul video-gunst
Distraction Free Settings: Distraksjonsfri-innstillinger Distraction Free Settings: Distraksjonsfri-innstillinger
Hide Active Subscriptions: Skjul aktive abonnementer Hide Active Subscriptions: Skjul aktive abonnementer
@ -299,9 +302,10 @@ Settings:
Hide Channel Subscribers: Skjul kanalabonnementer Hide Channel Subscribers: Skjul kanalabonnementer
Hide Popular Videos: Skjul populære videoer Hide Popular Videos: Skjul populære videoer
Hide Video Views: Skjul videovisninger Hide Video Views: Skjul videovisninger
Hide Live Chat: Gjem direktechat Hide Live Chat: Skjul sanntidssludring
Hide Playlists: Skjul spillelister
The app needs to restart for changes to take effect. Restart and apply change?: Start The app needs to restart for changes to take effect. Restart and apply change?: Start
programmet på ny for å bruke de nye endringene? programmet på ny for å ta i bruk endringene?
About: About:
#On About page #On About page
About: 'Om' About: 'Om'
@ -389,8 +393,8 @@ Video:
din' din'
Open in YouTube: 'Åpne i YouTube' Open in YouTube: 'Åpne i YouTube'
Copy YouTube Link: 'Kopier YouTube-lenke' Copy YouTube Link: 'Kopier YouTube-lenke'
Open YouTube Embedded Player: 'Åpne innebygd YouTube-spiller' Open YouTube Embedded Player: 'Åpne innebygd YouTube-avspiller'
Copy YouTube Embedded Player Link: 'Kopier lenke til innebygd YouTube-spiller' Copy YouTube Embedded Player Link: 'Kopier lenke til innebygd YouTube-avspiller'
Open in Invidious: 'Åpne i Invidious' Open in Invidious: 'Åpne i Invidious'
Copy Invidious Link: 'Kopier Invidious-lenke' Copy Invidious Link: 'Kopier Invidious-lenke'
View: 'Vis' View: 'Vis'
@ -400,18 +404,17 @@ Video:
Watched: 'Sett' Watched: 'Sett'
# As in a Live Video # As in a Live Video
Live: 'Direkte' Live: 'Direkte'
Live Now: 'Direkte' Live Now: 'Direkte'
Live Chat: 'Direktechat' Live Chat: 'Sanntidssludring'
Enable Live Chat: 'Slå på direktechat' Enable Live Chat: 'Slå på sanntidssludring'
Live Chat is currently not supported in this build.: 'Direktechat er ikke støttet Live Chat is currently not supported in this build.: 'Sanntidssludring støttes ikke
i den nåværende versjonen.' i denne versjonen.'
'Chat is disabled or the Live Stream has ended.': 'Chatten er slått av eller direktesendingen 'Chat is disabled or the Live Stream has ended.': 'Sludringen er slått av, eller
er avsluttet.' er direktesendingen avsluttet.'
Live chat is enabled. Chat messages will appear here once sent.: 'Direktechat er Live chat is enabled. Chat messages will appear here once sent.: 'Sanntidssludring
slått på. Chatmeldinger vil bli vist her når de er sendt.' er påslått. Meldinger vil vises her når de er sendt.'
'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': 'Sanntidssludring 'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': 'Sanntidssludring
støttes for tiden ikke med Invidious-API-et. En direkte tilkobling til YouTube støttes for tiden ikke med Invidious-API-et. Direkte tilkobling til YouTube kreves.'
kreves.'
Published: Published:
Jan: 'Jan' Jan: 'Jan'
Feb: 'Feb' Feb: 'Feb'
@ -443,7 +446,7 @@ Video:
Minute: Minutt Minute: Minutt
Published on: 'Publisert' Published on: 'Publisert'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: '$ % siden' Publicationtemplate: '$ % siden'
#& Videos #& Videos
Audio: Audio:
High: Høy High: Høy
@ -471,6 +474,7 @@ Video:
Open Channel in YouTube: Åpne kanal i YouTube Open Channel in YouTube: Åpne kanal i YouTube
Play Previous Video: Spill av forrige video Play Previous Video: Spill av forrige video
Play Next Video: Spill av neste video Play Next Video: Spill av neste video
translated from English: oversatt fra engelsk
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -495,7 +499,7 @@ Playlist:
# On Video Watch Page # On Video Watch Page
#* Published #* Published
#& Views #& Views
Toggle Theatre Mode: 'Veksle teatermodus' Toggle Theatre Mode: 'Teatermodus'
Change Format: Change Format:
Change Video Formats: 'Endre videoformater' Change Video Formats: 'Endre videoformater'
Use Dash Formats: 'Bruk DASH-formater' Use Dash Formats: 'Bruk DASH-formater'
@ -509,24 +513,24 @@ Share:
Share Video: 'Del video' Share Video: 'Del video'
Copy Link: 'Kopier lenke' Copy Link: 'Kopier lenke'
Open Link: 'Åpne lenke' Open Link: 'Åpne lenke'
Copy Embed: 'Kopier innebygd' Copy Embed: 'Kopier innebyggingslenke'
Open Embed: 'Åpne innebygd' Open Embed: 'Åpne innebyggingslenke'
# On Click # On Click
Invidious URL copied to clipboard: 'Invidious-nettadresse kopiert til utklippstavle' Invidious URL copied to clipboard: 'Invidious-nettadresse kopiert til utklippstavle'
Invidious Embed URL copied to clipboard: 'Innebygd Invidious-nettadresse kopiert Invidious Embed URL copied to clipboard: 'Innebyggingslenke for Invidious kopiert
til utklippstavle' til utklippstavle'
YouTube URL copied to clipboard: 'YouTube-nettadresse kopiert til utklippstavle' YouTube URL copied to clipboard: 'YouTube-nettadresse kopiert til utklippstavle'
YouTube Embed URL copied to clipboard: 'Innebygd YouTube-nettadresse kopiert til YouTube Embed URL copied to clipboard: 'Innebygd YouTube-nettadresse kopiert til
utklippstavle' utklippstavle'
YouTube Channel URL copied to clipboard: YouTube-kanalnettadresse kopiert til utklippstavle YouTube Channel URL copied to clipboard: YouTube-kanalnettadresse kopiert til utklippstavle
Include Timestamp: Inkluder tidsstempel Include Timestamp: Inkluder tidsstempel
Invidious Channel URL copied to clipboard: Ugyldig kanalnettadresse kopiert til Invidious Channel URL copied to clipboard: Invidious-kanalnettadresse kopiert til
utklippstavle utklippstavle
Mini Player: 'Minispiller' Mini Player: 'Miniavspiller'
Comments: Comments:
Comments: 'Kommentarer' Comments: 'Kommentarer'
Click to View Comments: 'Klikk for å vise kommentarer' Click to View Comments: 'Klikk for å vise kommentarer'
Getting comment replies, please wait: 'Henter kommentarsvar, vent.' Getting comment replies, please wait: 'Henter kommentarsvar'
Show Comments: 'Vis kommentarer' Show Comments: 'Vis kommentarer'
Hide Comments: 'Skjul kommentarer' Hide Comments: 'Skjul kommentarer'
# Context: View 10 Replies, View 1 Reply # Context: View 10 Replies, View 1 Reply
@ -534,8 +538,8 @@ Comments:
Hide: 'Skjul' Hide: 'Skjul'
Replies: 'Svar' Replies: 'Svar'
Reply: 'Svar' Reply: 'Svar'
There are no comments available for this video: 'Det finnes ingen tilgjengelige There are no comments available for this video: 'Det er ingen kommentarer tilgjengelige
kommentarer for denne videoen' denne videoen'
Load More Comments: 'Last inn flere kommentarer' Load More Comments: 'Last inn flere kommentarer'
No more comments available: Ingen flere kommentarer tilgjengelig No more comments available: Ingen flere kommentarer tilgjengelig
Newest first: Nyeste først Newest first: Nyeste først
@ -581,7 +585,7 @@ Profile:
Are you sure you want to delete this profile?: Er du sikker på at du vil slette Are you sure you want to delete this profile?: Er du sikker på at du vil slette
denne profilen? denne profilen?
Delete Profile: Slett profil Delete Profile: Slett profil
Make Default Profile: Gjør til forvalgt profil Make Default Profile: Angi som forvalgt profil
Update Profile: Oppdater profil Update Profile: Oppdater profil
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: Er Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: Er
du sikker på at du vil fjerne de valgte kanalene? Disse vil ikke bli slettet fra du sikker på at du vil fjerne de valgte kanalene? Disse vil ikke bli slettet fra
@ -599,49 +603,62 @@ Profile:
All Channels: Alle kanaler All Channels: Alle kanaler
? This is your primary profile. Are you sure you want to delete the selected channels? The ? This is your primary profile. Are you sure you want to delete the selected channels? The
same channels will be deleted in any profile they are found in. same channels will be deleted in any profile they are found in.
: Dette er din hovedprofil. Er du sikker på at du ønsker å slette valgte kanaler? : Dette er din hovedprofil. Er du sikker på at du ønsker å slette de valgte kanalene?
De samme kanalene vil bli slettet i enhver profil de finnes i. De samme kanalene vil bli slettet i enhver profil de finnes i.
Select None: Fravelg alt Select None: Velg ingen
Delete Selected: Slett valgte Delete Selected: Slett valgte
Add Selected To Profile: Legg til valgt i profil Add Selected To Profile: Legg til valgt i profil
Subscription List: Abonnementsliste Subscription List: Abonnementsliste
Profile Preview: Profilforhåndsvisning Profile Preview: Profilforhåndsvisning
Custom Color: Egendefinert farge Custom Color: Egendefinert farge
Profile Filter: Profilfilter
This video is unavailable because of missing formats. This can happen due to country unavailability.: Denne This video is unavailable because of missing formats. This can happen due to country unavailability.: Denne
videoen er utilgjengelig grunnet manglende formater. Dette kan skyldes tilgangbegrensninger videoen er utilgjengelig grunnet manglende formater. Dette kan skyldes tilgangbegrensninger
i ditt land. i ditt land.
Tooltips: Tooltips:
General Settings: General Settings:
Invidious Instance: Invidious-forekomsten som FreeTube vil koble til for API-kall. Invidious Instance: Invidious-forekomsten FreeTube kobler til for API-kall. Fjern
Fjern den gjeldene forekomsten for å se en liste over offentlige forekomster den gjeldene forekomsten for å se en liste over offentlige forekomster å velge
å velge mellom mellom.
Thumbnail Preference: Alle miniatyrbilder i FreeTube vil bli erstattet av et bilde Thumbnail Preference: Alle miniatyrbilder i FreeTube vil bli erstattet av et bilde
av videoen i stedet for standardminiatyrbildet av videoen i stedet for forvalgt miniatyrbilde.
Fallback to Non-Preferred Backend on Failure: Når ditt foretrukne API har et problem, Fallback to Non-Preferred Backend on Failure: Når ditt foretrukne API har et problem,
vil FreeTube prøve å automatisk bruke ditt ikke-foretrukne API som en tilbakefallingsmetode vil FreeTube automatisk prøve å bruke ditt ikke-foretrukne API som en tilbakefallsmetode
dersom det er aktivert dersom det er aktivert.
Region for Trending: Trendregionen lar deg enkelt velge hvilkets lands populære Region for Trending: Trendregionen lar deg enkelt velge hvilkets lands populære
videoer du ønsker å vise. Ikke alle land som vises støttes for tiden av YouTube. videoer du ønsker å vise. Ikke alle land som vises støttes av YouTube.
Preferred API Backend: Velg bakenden FreeTube bruker til å hente data. Det lokale Preferred API Backend: Velg metoden FreeTube bruker til å hente data. Det lokale
API-et er en innebygd utpakker. Invidious-API-et krever en Invidious-tjener API-et er en innebygd utpakker. Invidious-API-et krever en Invidious-tjener
å koble til. å koble til.
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Når påskrudd, vil FreeTube bruke RSS istedenfor dens forvalgte Fetch Feeds from RSS: Bruk RSS istedenfor FreeTube sin forvalgte metode for innhenting
metode for å hente din abonnementsstrøm. RSS er raskere og forhindrer IP-blokkering, av din abonnementsstrøm. RSS er raskere og forhindrer IP-blokkering, men mangler
men har ikke gitt info som videovarighet, eller sanntidsstatus. noe info som videovarighet og sanntidsstatus.
Player Settings: Player Settings:
Default Video Format: Sett formater brukt når en video spilles. DASH-formater Default Video Format: Sett formater brukt når en video spilles. DASH-formater
kan spille høyere kvaliteter. Foreldede formater er begrenset til maks. 720p, kan spille høyere kvaliteter. Foreldede formater er begrenset til maks. 720p,
men bruker mindre båndbredde. Lydformater er kun lydstrømmer. men bruker mindre båndbredde. Lydformater er kun lydstrømmer.
Force Local Backend for Legacy Formats: Fungerer kun når Invidious-API-et er satt Force Local Backend for Legacy Formats: Fungerer kun med Invidious-API-et som
som forvalg. Når påslått vil det lokale API-et kjøre og bruke de foreldede formatene forvalg. Når påslått vil det lokale API-et kjøre og bruke de foreldede formatene
som returneres derfra, istedenfor dem returnert av Invidious. Hjelper når videoer som returneres derfra, istedenfor dem returnert av Invidious. Hjelper når videoer
returnert av Invidious ikke spilles som følge av regionsrestriksjoner. returnert av Invidious ikke spilles som følge av regionsrestriksjoner.
Proxy Videos Through Invidious: Kobler til Invidious for å vertstjene videoer Proxy Videos Through Invidious: Kobler til Invidious for å servere videoer istedenfor
istedenfor å gjøre direkte tilkoblinger til YouTube. (Overskriver API-preferanse.) å koble direkte til YouTube. Overstyrer API-innstilling.
A new blog is now available, $. Click to view more: En ny bloggpost er nå tilgjengelig, Privacy Settings:
$. Klikk for å se den Remove Video Meta Files: Hvis denne instillingen er på, vil FreeTube automatisk
slette metadata generert under videoavspilling når du lukker avspillingsiden.
A new blog is now available, $. Click to view more: Et nytt blogginnlegg er nå tilgjengelig,
$. Trykk her for å se mer
The playlist has been reversed: Spillelisten har blitt snudd The playlist has been reversed: Spillelisten har blitt snudd
Download From Site: Last ned fra nettsiden Download From Site: Last ned fra nettside
Version $ is now available! Click for more details: Versjon $ er nå tilgjengelig. Version $ is now available! Click for more details: Versjon $ er nå tilgjengelig!
Klikk for flere detaljer. Trykk her for detaljer
Playing Next Video Interval: Spiller av neste video nå. Klikk for å avbryte. | Spiller
av neste video om {nextVideoInterval} sekund. Klikk for å avbryte. | Spiller av
neste video om {nextVideoInterval} sekunder. Klikk for å avbryte.
More: Mer
Unknown YouTube url type, cannot be opened in app: Ukjent YouTube-nettadressetype,
kan ikke åpnes i programmet
Hashtags have not yet been implemented, try again later: Emneknagger er ikke implementert
enda, prøv igjen senere
Open New Window: Åpne et nytt vindu

View File

@ -44,7 +44,7 @@ Search Filters:
Time: Time:
Time: 'Tijd' Time: 'Tijd'
Any Time: 'Ooit' Any Time: 'Ooit'
Last Hour: 'Laatste uur' Last Hour: 'Afgelopen uur'
Today: 'Vandaag' Today: 'Vandaag'
This Week: 'Deze week' This Week: 'Deze week'
This Month: 'Deze maand' This Month: 'Deze maand'
@ -62,7 +62,7 @@ Search Filters:
Long (> 20 minutes): 'Lang (> 20 minuten)' Long (> 20 minutes): 'Lang (> 20 minuten)'
# On Search Page # On Search Page
Search Results: 'Zoekresultaten' Search Results: 'Zoekresultaten'
Fetching results. Please wait: 'Resultaten verzamelen. Een momentje' Fetching results. Please wait: 'Resultaten verzamelen. Even geduld aub'
Fetch more results: 'Meer resultaten laden' Fetch more results: 'Meer resultaten laden'
# Sidebar # Sidebar
There are no more results for this search: Er zijn geen verdere resultaten voor There are no more results for this search: Er zijn geen verdere resultaten voor
@ -70,24 +70,24 @@ Search Filters:
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: 'Abonnementen' Subscriptions: 'Abonnementen'
Latest Subscriptions: 'Nieuwste Van Abonnementen' Latest Subscriptions: 'Nieuwste Abonnementen'
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'U 'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'U
heeft nog geen Abonnementen. Voeg abonnementen toe om ze hier te zien' heeft nog geen Abonnementen. Voeg abonnementen toe om ze hier te zien'
'Getting Subscriptions. Please wait.': '' 'Getting Subscriptions. Please wait.': ''
Refresh Subscriptions: Vernieuw abonnementen Refresh Subscriptions: Vernieuw abonnementen
Getting Subscriptions. Please wait.: Abonnementen verzamelen. Een momentje. Getting Subscriptions. Please wait.: Abonnementen verzamelen. Even geduld aub.
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Dit 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 profiel heeft een groot aantal abonnementen. Forceer RSS om snelheidsbeperking
te voorkomen te vermijden
Load More Videos: Laad Meer Video's Load More Videos: Meer Video's Laden
Trending: 'Trending' Trending: 'Trending'
Most Popular: 'Populair' Most Popular: 'Populair'
Playlists: 'Afspeellijsten' Playlists: 'Afspeellijsten'
User Playlists: User Playlists:
Your Playlists: 'Uw afspeellijsten' Your Playlists: 'Uw afspeellijsten'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Je Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Je
opgeslagen video's is leeg. Klik op de video opslaan knop in de hoek van een video opgeslagen video's is leeg. Klik op de opslaan knop in de hoek van een video om
om het hier in de lijst te plaatsen het hier in de lijst te plaatsen
Playlist Message: Deze pagina is niet reflectief van volledig functionele afspeellijst. Playlist Message: Deze pagina is niet reflectief van volledig functionele afspeellijst.
Er worden alleen video's weergegeven die jij hebt opgeslagen of gefavoriet. Wanneer Er worden alleen video's weergegeven die jij hebt opgeslagen of gefavoriet. Wanneer
we klaar zijn met de ontwikkeling van deze feature zullen al deze video's worden we klaar zijn met de ontwikkeling van deze feature zullen al deze video's worden
@ -112,7 +112,7 @@ Settings:
Local API: 'Lokale API' Local API: 'Lokale API'
Invidious API: 'Invidious API' Invidious API: 'Invidious API'
Video View Type: Video View Type:
Video View Type: 'Video Toontype' Video View Type: 'Type Videoweergave'
Grid: 'Raster' Grid: 'Raster'
List: 'Lijst' List: 'Lijst'
Thumbnail Preference: Thumbnail Preference:
@ -130,14 +130,14 @@ Settings:
View all Invidious instance information: Bekijk alle Invidious-instantiegegevens View all Invidious instance information: Bekijk alle Invidious-instantiegegevens
Theme Settings: Theme Settings:
Theme Settings: 'Thema Instellingen' Theme Settings: 'Thema Instellingen'
Match Top Bar with Main Color: 'Paar Bovenste Balk met Primaire Kleur' Match Top Bar with Main Color: 'Laat de bovenste balk overeenkomen met de hoofdkleur'
Base Theme: Base Theme:
Base Theme: 'Basisthema' Base Theme: 'Basisthema'
Black: 'Zwart' Black: 'Zwart'
Dark: 'Donker' Dark: 'Donker'
Light: 'Licht' Light: 'Licht'
Main Color Theme: Main Color Theme:
Main Color Theme: 'Primaire Themakleur' Main Color Theme: 'Hoofdkleur Thema'
Red: 'Rood' Red: 'Rood'
Pink: 'Roze' Pink: 'Roze'
Purple: 'Paars' Purple: 'Paars'
@ -161,7 +161,7 @@ Settings:
Disable Smooth Scrolling: Vloeiend Scrollen Uitschakelen Disable Smooth Scrolling: Vloeiend Scrollen Uitschakelen
Player Settings: Player Settings:
Player Settings: 'Speler Instellingen' Player Settings: 'Speler Instellingen'
Force Local Backend for Legacy Formats: 'Forceer Lokale Backend Voor Legacy Indelingen' Force Local Backend for Legacy Formats: 'Lokale Backend Forceren voor Oudere Formaten'
Play Next Video: 'Volgende Video Automatisch Afspelen' Play Next Video: 'Volgende Video Automatisch Afspelen'
Turn on Subtitles by Default: 'Schakel Ondertiteling Standaard in' Turn on Subtitles by Default: 'Schakel Ondertiteling Standaard in'
Autoplay Videos: 'Video''s Automatisch Afspelen' Autoplay Videos: 'Video''s Automatisch Afspelen'
@ -171,10 +171,10 @@ Settings:
Default Volume: 'Standaard Volume' Default Volume: 'Standaard Volume'
Default Playback Rate: 'Standaard Afspeelsnelheid' Default Playback Rate: 'Standaard Afspeelsnelheid'
Default Video Format: Default Video Format:
Default Video Format: 'Standaard Video-Indeling' Default Video Format: 'Standaard Videoformaat'
Dash Formats: 'Dash Indelingen' Dash Formats: 'DASH Formaten'
Legacy Formats: 'Legacy Indelingen' Legacy Formats: 'Verouderde formaten'
Audio Formats: 'Audio Indelingen' Audio Formats: 'Audio Formaten'
Default Quality: Default Quality:
Default Quality: 'Standaard Videokwaliteit' Default Quality: 'Standaard Videokwaliteit'
Auto: 'Automatisch' Auto: 'Automatisch'
@ -187,22 +187,25 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Afspeellijst Volgende Video Tussentijd
Next Video Interval: Volgende Video Tussenpauze Duur
Privacy Settings: Privacy Settings:
Privacy Settings: 'Privacy Instellingen' Privacy Settings: 'Privacy Instellingen'
Remember History: 'Herinner Geschiedenis' Remember History: 'Onthoud Geschiedenis'
Save Watched Progress: 'Herinner Video Voortgang' Save Watched Progress: 'Bewaar Bekeken Voortgang'
Clear Search Cache: 'Verwijder Zoek-cache' Clear Search Cache: 'Verwijder Zoek-Cache'
Are you sure you want to clear out your search cache?: 'Weet u zeker dat u de Are you sure you want to clear out your search cache?: 'Weet u zeker dat u de
zoek-cache wil verwijderen?' zoek-cache wil verwijderen?'
Search cache has been cleared: 'De zoek-cache is verwijdert' Search cache has been cleared: 'De zoek-cache is verwijderd'
Remove Watch History: 'Verwijder Kijkgeschiedenis' Remove Watch History: 'Verwijder Kijkgeschiedenis'
Are you sure you want to remove your entire watch history?: 'Weet u zeker dat Are you sure you want to remove your entire watch history?: 'Weet u zeker dat
u uw volledige kijkgeschiedenis wil verwijderen?' u uw volledige kijkgeschiedenis wil verwijderen?'
Watch history has been cleared: 'Kijkgeschiedenis is verwijdert' Watch history has been cleared: 'Kijkgeschiedenis is verwijderd'
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Weet Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Weet
u zeker dat u alle abonnementen en profielen wil verwijderen? Dit kan niet worden u zeker dat u alle abonnementen en profielen wil verwijderen? Dit kan niet worden
ontdaan. ontdaan.
Remove All Subscriptions / Profiles: Verwijder alle Abonnementen / Profielen Remove All Subscriptions / Profiles: Verwijder alle Abonnementen / Profielen
Automatically Remove Video Meta Files: Video-Metabestanden Automatisch Verwijderen
Subscription Settings: Subscription Settings:
Subscription Settings: 'Abonnement instellingen' Subscription Settings: 'Abonnement instellingen'
Hide Videos on Watch: 'Verberg Video''s Zodra Bekeken' Hide Videos on Watch: 'Verberg Video''s Zodra Bekeken'
@ -248,7 +251,7 @@ Settings:
niet genoeg data, item word overgeslagen niet genoeg data, item word overgeslagen
Subscriptions have been successfully exported: Abonnementen zijn met succes geïmporteerd Subscriptions have been successfully exported: Abonnementen zijn met succes geïmporteerd
Invalid history file: Ongeldig geschiedenisbestand Invalid history file: Ongeldig geschiedenisbestand
This might take a while, please wait: Dit kan eventjes duren, een momentje This might take a while, please wait: Dit kan eventjes duren, even geduld aub
Invalid subscriptions file: Ongeldig abonnementenbestand Invalid subscriptions file: Ongeldig abonnementenbestand
One or more subscriptions were unable to be imported: Een of meer abonnementen One or more subscriptions were unable to be imported: Een of meer abonnementen
konden niet worden geïmporteerd konden niet worden geïmporteerd
@ -292,9 +295,10 @@ Settings:
Hide Video Views: Verberg Weergaven Hide Video Views: Verberg Weergaven
Distraction Free Settings: Afleidingsvrije Instellingen Distraction Free Settings: Afleidingsvrije Instellingen
Hide Active Subscriptions: Verberg Actieve Abonnementen Hide Active Subscriptions: Verberg Actieve Abonnementen
Hide Playlists: Verberg Afspeellijst
The app needs to restart for changes to take effect. Restart and apply change?: De The app needs to restart for changes to take effect. Restart and apply change?: De
applicatie moet opnieuw opstarten om de veranderingen aan te brengen. Wilt u opnieuw applicatie moet opnieuw opstarten om de veranderingen aan te brengen. Wilt u opnieuw
opstarten? opstarten en verandering toepassen?
Proxy Settings: Proxy Settings:
Error getting network information. Is your proxy configured properly?: Fout bij Error getting network information. Is your proxy configured properly?: Fout bij
het opvragen van netwerk informatie. Is uw proxy correct geconfigureerd? het opvragen van netwerk informatie. Is uw proxy correct geconfigureerd?
@ -305,7 +309,7 @@ Settings:
Your Info: Uw Informatie Your Info: Uw Informatie
Test Proxy: Test Proxy Test Proxy: Test Proxy
Clicking on Test Proxy will send a request to: Door op Test Proxy te klikken zal Clicking on Test Proxy will send a request to: Door op Test Proxy te klikken zal
er een request worden verstuurd naar er een verzoek worden verstuurd naar
Proxy Port Number: Proxy Poortnummer Proxy Port Number: Proxy Poortnummer
Proxy Host: Proxy Host Proxy Host: Proxy Host
Proxy Protocol: Proxy Protocol Proxy Protocol: Proxy Protocol
@ -344,7 +348,7 @@ About:
#On Channel Page #On Channel Page
Donate: Doneer Donate: Doneer
these people and projects: deze mensen en project these people and projects: deze mensen en projecten
FreeTube is made possible by: FreeTube is mogelijk gemaakt door FreeTube is made possible by: FreeTube is mogelijk gemaakt door
Credits: Met dank aan Credits: Met dank aan
Translate: Vertalen Translate: Vertalen
@ -352,7 +356,7 @@ About:
Please read the: Lees alstublieft de Please read the: Lees alstublieft de
Chat on Matrix: Chat op Matrix Chat on Matrix: Chat op Matrix
Mastodon: Mastodon Mastodon: Mastodon
Email: Email Email: E-mail
Blog: Blog Blog: Blog
Website: Website Website: Website
Please check for duplicates before posting: Controleer op duplicaten voordat u een Please check for duplicates before posting: Controleer op duplicaten voordat u een
@ -375,18 +379,19 @@ Channel:
Unsubscribe: 'Afmelden' Unsubscribe: 'Afmelden'
Search Channel: 'Zoek op Kanaal' Search Channel: 'Zoek op Kanaal'
Your search results have returned 0 results: 'Uw zoekactie heeft 0 resultaten opgeleverd' Your search results have returned 0 results: 'Uw zoekactie heeft 0 resultaten opgeleverd'
Sort By: 'Sorteer Bij' Sort By: 'Sorteer Op'
Videos: Videos:
Videos: 'Video''s' Videos: 'Video''s'
This channel does not currently have any videos: 'Dit kanaal heeft nog geen video''s' This channel does not currently have any videos: 'Dit kanaal heeft op dit moment
nog geen video''s'
Sort Types: Sort Types:
Newest: 'Nieuwste' Newest: 'Nieuwste'
Oldest: 'Oudste' Oldest: 'Oudste'
Most Popular: 'Meest Populair' Most Popular: 'Meest Populair'
Playlists: Playlists:
Playlists: 'Afspeellijsten' Playlists: 'Afspeellijsten'
This channel does not currently have any playlists: 'Dit kanaal heeft nog geen This channel does not currently have any playlists: 'Dit kanaal heeft momenteel
afspeellijsten' nog geen afspeellijsten'
Sort Types: Sort Types:
Last Video Added: 'Laatst Toegevoegd' Last Video Added: 'Laatst Toegevoegd'
Newest: 'Nieuwste' Newest: 'Nieuwste'
@ -464,12 +469,12 @@ Video:
#& Videos #& Videos
Autoplay: Automatisch Afspelen Autoplay: Automatisch Afspelen
Play Previous Video: Speel Vorige Video af Play Previous Video: Speel Vorige Video af
Play Next Video: Volgende Video Automatisch Afspelen Play Next Video: Volgende Video Afspelen
Reverse Playlist: Playlist Omkeren Reverse Playlist: Afspeellijst Omkeren
Shuffle Playlist: Schuifelen Playlist Shuffle Playlist: Afspeellijst in willekeurige volgorde afspelen
Loop Playlist: Herhaal Playlist Loop Playlist: Herhaal Playlist
Starting soon, please refresh the page to check again: Begint spoedig, a.u.b. herlaad Starting soon, please refresh the page to check again: Start binnenkort, vernieuw
de pagina om nog maal te checken de pagina om opnieuw te controleren
Audio: Audio:
Best: Beste Best: Beste
High: Hoog High: Hoog
@ -488,6 +493,7 @@ Video:
video's lijst video's lijst
Video has been saved: Video is opgeslagen Video has been saved: Video is opgeslagen
Save Video: Video Opslaan Save Video: Video Opslaan
translated from English: vertaald vanuit het engels
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -514,13 +520,13 @@ Playlist:
#& Views #& Views
Toggle Theatre Mode: 'Schakel Theatermodus In' Toggle Theatre Mode: 'Schakel Theatermodus In'
Change Format: Change Format:
Change Video Formats: 'Verander Video indeling' Change Video Formats: 'Verander Video Formaten'
Use Dash Formats: 'Gebruik Dash Indelingen' Use Dash Formats: 'Gebruik DASH Formaten'
Use Legacy Formats: 'Gebruik Legacy Indelingen' Use Legacy Formats: 'Gebruik Legacy Formaten'
Use Audio Formats: 'Gebruik Audio Indelingen' Use Audio Formats: 'Gebruik Audio Formaten'
Audio formats are not available for this video: Audio indelingen zijn niet beschikbaar Audio formats are not available for this video: Audio formaten zijn niet beschikbaar
voor deze video voor deze video
Dash formats are not available for this video: Dash indelingen zijn niet beschikbaar Dash formats are not available for this video: DASH formaten zijn niet beschikbaar
voor deze video voor deze video
Share: Share:
Share Video: 'Deel Video' Share Video: 'Deel Video'
@ -535,7 +541,7 @@ Share:
YouTube URL copied to clipboard: 'YouTube URL is gekopieerd naar het klembord' YouTube URL copied to clipboard: 'YouTube URL is gekopieerd naar het klembord'
YouTube Embed URL copied to clipboard: 'YouTube Insluitlink is gekopieerd naar het YouTube Embed URL copied to clipboard: 'YouTube Insluitlink is gekopieerd naar het
klemboard' klemboard'
Include Timestamp: Begrijp Tijdstempel In Include Timestamp: Inclusief Tijdstempel
YouTube Channel URL copied to clipboard: YouTube URL is gekopieerd naar het klembord YouTube Channel URL copied to clipboard: YouTube URL is gekopieerd naar het klembord
Invidious Channel URL copied to clipboard: Invidious Kanaal URL is gekopieerd naar Invidious Channel URL copied to clipboard: Invidious Kanaal URL is gekopieerd naar
het klembord het klembord
@ -543,7 +549,7 @@ Mini Player: 'Minispeler'
Comments: Comments:
Comments: 'Reacties' Comments: 'Reacties'
Click to View Comments: 'Klik om Reacties Te Tonen' Click to View Comments: 'Klik om Reacties Te Tonen'
Getting comment replies, please wait: 'Reacties worden verzameld, een momentje' Getting comment replies, please wait: 'Reacties worden verzameld, even geduld aub'
Show Comments: 'Toon Reacties' Show Comments: 'Toon Reacties'
Hide Comments: 'Verberg Reacties' Hide Comments: 'Verberg Reacties'
# Context: View 10 Replies, View 1 Reply # Context: View 10 Replies, View 1 Reply
@ -551,14 +557,15 @@ Comments:
Hide: 'Verberg' Hide: 'Verberg'
Replies: 'Reacties' Replies: 'Reacties'
Reply: 'Reactie' Reply: 'Reactie'
There are no comments available for this video: 'Er zijn geen reacties op deze video' There are no comments available for this video: 'Er zijn geen reacties beschikbaar
Load More Comments: 'Laad Meer Reacties' voor deze video'
Load More Comments: 'Meer Reacties Laden'
There are no more comments for this video: Er zijn geen verdere reacties op deze There are no more comments for this video: Er zijn geen verdere reacties op deze
video video
No more comments available: Er zijn niet meer reacties beschikbaar No more comments available: Er zijn geen reacties meer beschikbaar
Newest first: Nieuwste Eerst Newest first: Nieuwste Eerst
Top comments: Bovenste reacties Top comments: Top Reacties
Sort by: Sorteer Bij Sort by: Sorteer Op
Up Next: 'Volgende' Up Next: 'Volgende'
# Toast Messages # Toast Messages
@ -569,8 +576,8 @@ Falling back to the local API: 'Terugvallen op lokale API'
Subscriptions have not yet been implemented: 'Abonnementen zijn nog niet geïmplementeerd' Subscriptions have not yet been implemented: 'Abonnementen zijn nog niet geïmplementeerd'
Loop is now disabled: 'Herhalen is nu uitgeschakeld' Loop is now disabled: 'Herhalen is nu uitgeschakeld'
Loop is now enabled: 'Herhalen is nu ingeschakeld' Loop is now enabled: 'Herhalen is nu ingeschakeld'
Shuffle is now disabled: 'Schuifelen is nu uitgeschakeld' Shuffle is now disabled: 'Willekeurig afspelen is nu uitgeschakeld'
Shuffle is now enabled: 'Schuifelen is nu ingeschakeld' Shuffle is now enabled: 'Willekeurig afspelen is nu ingeschakeld'
Playing Next Video: 'Volgende Video Word Afgespeeld' Playing Next Video: 'Volgende Video Word Afgespeeld'
Playing Previous Video: 'Vorige Video Word Afgespeeld' Playing Previous Video: 'Vorige Video Word Afgespeeld'
Playing next video in 5 seconds. Click to cancel: 'Volgende Video Begint in 5 Seconden. Playing next video in 5 seconds. Click to cancel: 'Volgende Video Begint in 5 Seconden.
@ -586,14 +593,14 @@ Profile:
$ is now the active profile: $ is nu het actieve profiel $ is now the active profile: $ is nu het actieve profiel
Your default profile has been changed to your primary profile: Uw standaardprofiel Your default profile has been changed to your primary profile: Uw standaardprofiel
is veranderd naar uw hoofdprofiel is veranderd naar uw hoofdprofiel
Removed $ from your profiles: $ is verwijdert uit uw profielen Removed $ from your profiles: $ is verwijderd uit uw profielen
Your default profile has been set to $: Uw standaard profiel is ingesteld op $ Your default profile has been set to $: Uw standaard profiel is ingesteld op $
Profile has been updated: Profiel is geüpdate Profile has been updated: Profiel is geüpdate
Profile has been created: Profiel is aangemaakt Profile has been created: Profiel is aangemaakt
Your profile name cannot be empty: U profiel naam kan niet leeg zijn Your profile name cannot be empty: Uw profielnaam mag niet leeg zijn
Profile could not be found: Profiel kon niet worden gevonden Profile could not be found: Profiel kon niet worden gevonden
All subscriptions will also be deleted.: Alle abonnementen zullen worden verwijderd. All subscriptions will also be deleted.: Alle abonnementen zullen ook worden verwijderd.
Are you sure you want to delete this profile?: Weet u zeker dat u dit profiel wil Are you sure you want to delete this profile?: Weet u zeker dat u dit profiel wilt
verwijderen? verwijderen?
Delete Profile: Verwijder Profiel Delete Profile: Verwijder Profiel
Make Default Profile: Creëer Standaard Profiel Make Default Profile: Creëer Standaard Profiel
@ -603,7 +610,7 @@ Profile:
Custom Color: Eigen Kleur Custom Color: Eigen Kleur
Color Picker: Kleur Kiezer Color Picker: Kleur Kiezer
Edit Profile: Pas Profiel aan Edit Profile: Pas Profiel aan
Create New Profile: Creëer een Nieuw Profile Create New Profile: Creëer een Nieuw Profiel
Profile Manager: Beheer Profiel Profile Manager: Beheer Profiel
All Channels: Alle Kanalen All Channels: Alle Kanalen
Profile Select: Selecteer een Profiel Profile Select: Selecteer een Profiel
@ -622,28 +629,29 @@ Profile:
$ selected: $ is geselecteerd $ selected: $ is geselecteerd
Other Channels: Andere Kanalen Other Channels: Andere Kanalen
Subscription List: Abonnementen Subscription List: Abonnementen
Profile Filter: Profielfilter
A new blog is now available, $. Click to view more: Een nieuwe blogpost is beschikbaar, A new blog is now available, $. Click to view more: Een nieuwe blogpost is beschikbaar,
$. Klik voor meer informatie $. Klik voor meer informatie
Download From Site: Download van de Website Download From Site: Download van de Website
Version $ is now available! Click for more details: Versie $ is nu beschikbaar! Klik Version $ is now available! Click for more details: Versie $ is nu beschikbaar! Klik
voor meer informatie voor meer informatie
This video is unavailable because of missing formats. This can happen due to country unavailability.: Deze This video is unavailable because of missing formats. This can happen due to country unavailability.: Deze
video is niet beschikbaar vanwege ontbrekende video indelingen. Dit kan gebeuren video is niet beschikbaar vanwege ontbrekende videoformaten. Dit kan gebeuren als
als de video niet in uw land beschikbaar is. de video niet in uw land beschikbaar is.
Tooltips: Tooltips:
Player Settings: Player Settings:
Default Video Format: Selecteer de video indeling dat wordt gebruikt wanneer u Default Video Format: Selecteer de video indeling die wordt gebruikt wanneer u
een video afspeelt. Dash kan video's afspelen met hogere kwaliteitsinstellingen. een video afspeelt. DASH kan video's afspelen met hogere kwaliteitsinstellingen.
Legacy gaat niet hoger dan 720p maar gebruikt minder bandbreedte. Audio zal Legacy gaat niet hoger dan 720p maar gebruikt minder bandbreedte. Audio zal
alleen het geluid streamen alleen het geluid streamen.
Force Local Backend for Legacy Formats: Dit zal alleen werken wanneer Invidious Force Local Backend for Legacy Formats: Dit zal alleen werken wanneer Invidious
is geselecteerd als de standaard API. Wanneer ingeschakeld zal de lokale API is geselecteerd als de standaard API. Wanneer ingeschakeld zal de lokale API
legacy video indelingen gebruiken in plaats van de video indeling die worden legacy video indelingen gebruiken in plaats van de video indeling die worden
teruggegeven door Invidious. Dit kan helpen wanneer een video die word gestreamed teruggegeven door Invidious. Dit kan helpen wanneer een video die wordt gestreamed
via Invidious niet afspeelt in verband met regio restricties via Invidious niet afspeelt in verband met regio restricties.
Proxy Videos Through Invidious: FreeTube zal verbinden met Invidious en via daar Proxy Videos Through Invidious: FreeTube zal verbinden met Invidious en daar de
de video's downloaden in de plaats van de video's rechstreeks bij YouTube vandaan video's downloaden in de plaats van de video's rechtstreeks bij YouTube vandaan
te halen. Dit overschrijft de ingestelde API voorkeur te halen. Dit overschrijft de ingestelde API voorkeur.
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Wanneer ingeschakeld zal FreeTube RSS gebruiken in plaats Fetch Feeds from RSS: Wanneer ingeschakeld zal FreeTube RSS gebruiken in plaats
van de standaard methode om de videolijsten van je abonnementen te verzamelen. van de standaard methode om de videolijsten van je abonnementen te verzamelen.
@ -652,15 +660,28 @@ Tooltips:
General Settings: General Settings:
Invidious Instance: Dit is de Invidious instantie waar FreeTube mee zal verbinden Invidious Instance: Dit is de Invidious instantie waar FreeTube mee zal verbinden
om API calls te maken. Verwijder de momenteel geselecteerd instantie om een om API calls te maken. Verwijder de momenteel geselecteerd instantie om een
lijst van publieke instanties te tonen lijst van publieke instanties te tonen.
Thumbnail Preference: Alle thumbnails in FreeTube zullen worden vervangen met Thumbnail Preference: Alle thumbnails in FreeTube zullen worden vervangen met
een momentopname in plaats van de standaard thumbnail een momentopname uit de video in plaats van de standaard thumbnail.
Fallback to Non-Preferred Backend on Failure: Wanneer het API met voorkeur problemen Fallback to Non-Preferred Backend on Failure: Wanneer het API met voorkeur problemen
heeft dan zal FreeTube automatisch terugvallen op het alternatieve niet-voorkeur geeft dan zal FreeTube automatisch terugvallen op het alternatieve niet-voorkeur
API als deze instelling is ingeschakeld API wanneer deze instelling is ingeschakeld.
Preferred API Backend: Kies de backend die FreeTube gebruikt om data te verzamelen. Preferred API Backend: Kies de backend die FreeTube gebruikt om data te verzamelen.
De lokale API is een ingebouwde extractor. De Invidious API moet worden verbonden De lokale API is een ingebouwde extractor. De Invidious API moet worden verbonden
met een Invidious server. met een Invidious server.
Region for Trending: Met trend regio kan je instellen uit welk land je trending 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 video's je wil zien. Niet alle weergegeven landen worden ook daadwerkelijk ondersteund
door YouTube 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.
More: Meer
Hashtags have not yet been implemented, try again later: Hastags zijn nog niet geïmplementeerd,
probeer het later nogmaals
Unknown YouTube url type, cannot be opened in app: Onbekende YouTube url type, de
url kan niet worden geopend in de app
Open New Window: Open Nieuw Venster

View File

@ -132,13 +132,13 @@ Settings:
End: 'Slutt' End: 'Slutt'
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious-førekomst 'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious-førekomst
(Standard er https://invidious.snopyta.org)' (Standard er https://invidious.snopyta.org)'
View all Invidious instance information: 'Vis all Invidious-førekomstinformasjon' View all Invidious instance information: 'Vis informasjon om alle Invidious-førekomstar'
Region for Trending: 'Region for På veg opp' Region for Trending: 'Region for På veg opp'
#! List countries #! List countries
Theme Settings: Theme Settings:
Theme Settings: 'Temainnstillingar' Theme Settings: 'Temainnstillingar'
Match Top Bar with Main Color: '' Match Top Bar with Main Color: 'Match topplinja med hovudfargen.'
Expand Side Bar by Default: '' Expand Side Bar by Default: 'Utvid sidefeltet som forval'
Disable Smooth Scrolling: 'Deaktiver jevn rulling' Disable Smooth Scrolling: 'Deaktiver jevn rulling'
UI Scale: 'Skalering av brukargrensesnitt' UI Scale: 'Skalering av brukargrensesnitt'
Base Theme: Base Theme:
@ -155,7 +155,7 @@ Settings:
Indigo: 'Indigo' Indigo: 'Indigo'
Blue: 'Blå' Blue: 'Blå'
Light Blue: 'Lyseblå' Light Blue: 'Lyseblå'
Cyan: '' Cyan: 'Turkis'
Teal: 'Blågrøn' Teal: 'Blågrøn'
Green: 'Grøn' Green: 'Grøn'
Light Green: 'Lysegrøn' Light Green: 'Lysegrøn'
@ -167,12 +167,12 @@ Settings:
Secondary Color Theme: 'Sekundærfargetema' Secondary Color Theme: 'Sekundærfargetema'
#* Main Color Theme #* Main Color Theme
Player Settings: Player Settings:
Player Settings: 'Videospelarinnstillingar' Player Settings: 'Videoavspelingsinnstillingar'
Force Local Backend for Legacy Formats: '' Force Local Backend for Legacy Formats: ''
Play Next Video: 'Spel av neste video' Play Next Video: 'Spel av neste video'
Turn on Subtitles by Default: 'Slå på undertekst som standard' Turn on Subtitles by Default: 'Slå på undertekst som standardval'
Autoplay Videos: 'Spel av videoar automatisk' Autoplay Videos: 'Spel av videoar automatisk'
Proxy Videos Through Invidious: '' Proxy Videos Through Invidious: 'Mellomtjen videoar gjennom Invidious'
Autoplay Playlists: 'Spel av spelelister automatisk' Autoplay Playlists: 'Spel av spelelister automatisk'
Enable Theatre Mode by Default: 'Kinomodus som standardval' Enable Theatre Mode by Default: 'Kinomodus som standardval'
Default Volume: 'Standardvolum' Default Volume: 'Standardvolum'
@ -197,7 +197,7 @@ Settings:
Privacy Settings: Privacy Settings:
Privacy Settings: 'Personvernsinnstillingar' Privacy Settings: 'Personvernsinnstillingar'
Remember History: 'Husk historikk' Remember History: 'Husk historikk'
Save Watched Progress: '' Save Watched Progress: 'Lagre framgangsdrift'
Clear Search Cache: 'Slett søkebuffer' Clear Search Cache: 'Slett søkebuffer'
Are you sure you want to clear out your search cache?: 'Er du sikker på at du Are you sure you want to clear out your search cache?: 'Er du sikker på at du
vil slette søkebufferen?' vil slette søkebufferen?'
@ -206,24 +206,28 @@ Settings:
Are you sure you want to remove your entire watch history?: 'Er du sikker på at Are you sure you want to remove your entire watch history?: 'Er du sikker på at
du vil fjerne heile sjåarhistorikken din?' du vil fjerne heile sjåarhistorikken din?'
Watch history has been cleared: 'Sjåarhistorikk har blitt fjerna' Watch history has been cleared: 'Sjåarhistorikk har blitt fjerna'
Remove All Subscriptions / Profiles: '' Remove All Subscriptions / Profiles: 'Fjern alle abonnentar / profil'
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: '' Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Er
du sikker på at du vil fjerne alle abonnentar og profil? Dette kan ikkje bli
ugjort.'
Automatically Remove Video Meta Files: Fjern metadata automatisk frå videoar
Subscription Settings: Subscription Settings:
Subscription Settings: 'Abonnementinnstillingar' Subscription Settings: 'Abonnementinnstillingar'
Hide Videos on Watch: '' Hide Videos on Watch: 'Skjul sette videoar'
Fetch Feeds from RSS: 'Hent feedar frå RSS' Fetch Feeds from RSS: 'Hent feedar frå RSS'
Manage Subscriptions: 'Behandle abonnement' Manage Subscriptions: 'Behandle abonnement'
Distraction Free Settings: Distraction Free Settings:
Distraction Free Settings: '' Distraction Free Settings: 'Distraksjonsfri-instillingar'
Hide Video Views: 'Gøym videovisingar' Hide Video Views: 'Gøym videovisingar'
Hide Video Likes And Dislikes: '' Hide Video Likes And Dislikes: ''
Hide Channel Subscribers: 'Gøym kanalabonnement' Hide Channel Subscribers: 'Gøym kanalabonnement'
Hide Comment Likes: '' Hide Comment Likes: ''
Hide Recommended Videos: 'Gøym anbefalte videoar' Hide Recommended Videos: 'Gøym anbefalte videoar'
Hide Trending Videos: '' Hide Trending Videos: 'Gøym På veg opp'
Hide Popular Videos: 'Gøym populære videoar' Hide Popular Videos: 'Gøym populære videoar'
Hide Live Chat: 'Gøym direktechat' Hide Live Chat: 'Gøym direktechat'
Hide Active Subscriptions: 'Gøym aktive abonnement' Hide Active Subscriptions: 'Gøym aktive abonnement'
Hide Playlists: Skjul spelelister
Data Settings: Data Settings:
Data Settings: 'Datainnstillingar' Data Settings: 'Datainnstillingar'
Select Import Type: 'Vel importtype' Select Import Type: 'Vel importtype'
@ -245,7 +249,8 @@ Settings:
og profila har blitt importert' og profila har blitt importert'
All subscriptions have been successfully imported: 'Alle abonnement har blitt All subscriptions have been successfully imported: 'Alle abonnement har blitt
importert' importert'
One or more subscriptions were unable to be imported: '' One or more subscriptions were unable to be imported: 'Eit eller fleire abonnentar
kunne ikkje importerast'
Invalid subscriptions file: 'Ugyldig abonnementfil' Invalid subscriptions file: 'Ugyldig abonnementfil'
This might take a while, please wait: 'Dette kan ta ei stund, venleg vent' This might take a while, please wait: 'Dette kan ta ei stund, venleg vent'
Invalid history file: 'Ugyldig historiefil' Invalid history file: 'Ugyldig historiefil'
@ -262,14 +267,14 @@ Settings:
How do I import my subscriptions?: 'Korleis importerer eg abonnementa mine?' How do I import my subscriptions?: 'Korleis importerer eg abonnementa mine?'
Manage Subscriptions: 'Behandle abonnement' Manage Subscriptions: 'Behandle abonnement'
Proxy Settings: Proxy Settings:
Proxy Settings: 'Proxyinnstillingar' Proxy Settings: 'Mellomtenarinnstillingar'
Enable Tor / Proxy: 'Aktiver Tor / Proxy' Enable Tor / Proxy: 'Skru på Tor / Mellomtenar'
Proxy Protocol: 'Proxyprotokoll' Proxy Protocol: 'Mellomtenarprotokoll'
Proxy Host: 'Proxyvert' Proxy Host: 'Mellomtenarvert'
Proxy Port Number: 'Proxyportnummer' Proxy Port Number: 'Mellomtenar-portnummer'
Clicking on Test Proxy will send a request to: 'Klikk på testproxyen du vil sende Clicking on Test Proxy will send a request to: 'Klikk på testtenaren du vil sende
ein førespurnad til' ein førespurnad til'
Test Proxy: 'Test proxy' Test Proxy: 'Test mellomtenar'
Your Info: 'Din informasjon' Your Info: 'Din informasjon'
Ip: 'IP-adresse' Ip: 'IP-adresse'
Country: 'Land' Country: 'Land'
@ -312,7 +317,7 @@ Profile:
Create New Profile: 'Lag ny profil' Create New Profile: 'Lag ny profil'
Edit Profile: 'Rediger profil' Edit Profile: 'Rediger profil'
Color Picker: 'Fargeveljar' Color Picker: 'Fargeveljar'
Custom Color: '' Custom Color: 'Eigendefinert farge'
Profile Preview: 'Forhandsvising av profil' Profile Preview: 'Forhandsvising av profil'
Create Profile: 'Lag profil' Create Profile: 'Lag profil'
Update Profile: 'Oppdater profil' Update Profile: 'Oppdater profil'
@ -325,11 +330,11 @@ Profile:
Your profile name cannot be empty: 'Profilnamnet ditt kan ikkje vere tomt' Your profile name cannot be empty: 'Profilnamnet ditt kan ikkje vere tomt'
Profile has been created: 'Profilet har blitt laga' Profile has been created: 'Profilet har blitt laga'
Profile has been updated: 'Profilet har blitt oppdatert' Profile has been updated: 'Profilet har blitt oppdatert'
Your default profile has been set to $: 'Standardprofilet ditt har blitt satt til Your default profile has been set to $: 'Ditt standardprofil har blitt satt til
$' $'
Removed $ from your profiles: 'Fjerna $ frå profila dine' Removed $ from your profiles: 'Fjerna $ frå profila dine'
Your default profile has been changed to your primary profile: 'Standardprofilet Your default profile has been changed to your primary profile: 'Standardprofilet
ditt har blitt endra til primærprofilet ditt' ditt har blitt endra til ditt hovudprofil'
$ is now the active profile: '$ er no det aktive profilet' $ is now the active profile: '$ er no det aktive profilet'
Subscription List: 'Abonnementliste' Subscription List: 'Abonnementliste'
Other Channels: 'Andre kanalar' Other Channels: 'Andre kanalar'
@ -347,6 +352,7 @@ Profile:
du sikker på at du vil fjerne dei valte kanalane? Dette vil ikkje slette kanalane du sikker på at du vil fjerne dei valte kanalane? Dette vil ikkje slette kanalane
frå andre profil.' frå andre profil.'
#On Channel Page #On Channel Page
Profile Filter: Profilfilter
Channel: Channel:
Subscriber: 'Abonnent' Subscriber: 'Abonnent'
Subscribers: 'Abonnentar' Subscribers: 'Abonnentar'
@ -354,7 +360,7 @@ Channel:
Unsubscribe: 'Opphev abonnement' Unsubscribe: 'Opphev abonnement'
Channel has been removed from your subscriptions: 'Kanalen har blitt fjerna frå Channel has been removed from your subscriptions: 'Kanalen har blitt fjerna frå
dine abonnement' dine abonnement'
Removed subscription from $ other channel(s): '' Removed subscription from $ other channel(s): 'Fjerna abonnement frå $ kanal(ar)'
Added channel to your subscriptions: 'Lagt til kanal til dine abonnentar' Added channel to your subscriptions: 'Lagt til kanal til dine abonnentar'
Search Channel: 'Søk i kanal' Search Channel: 'Søk i kanal'
Your search results have returned 0 results: 'Søket gitt gav 0 resultat' Your search results have returned 0 results: 'Søket gitt gav 0 resultat'
@ -390,8 +396,8 @@ Video:
over lagra videoar' over lagra videoar'
Open in YouTube: 'Opne i YouTube' Open in YouTube: 'Opne i YouTube'
Copy YouTube Link: 'Kopier YouTube-lenke' Copy YouTube Link: 'Kopier YouTube-lenke'
Open YouTube Embedded Player: '' Open YouTube Embedded Player: 'Opne innebygd YouTube-spelar'
Copy YouTube Embedded Player Link: '' Copy YouTube Embedded Player Link: 'Kopier lenke til innebygd YouTube-spelar'
Open in Invidious: 'Opne i Invidious' Open in Invidious: 'Opne i Invidious'
Copy Invidious Link: 'Kopier Invidious-lenke' Copy Invidious Link: 'Kopier Invidious-lenke'
Open Channel in YouTube: 'Opne kanal i YouTube' Open Channel in YouTube: 'Opne kanal i YouTube'
@ -402,7 +408,7 @@ Video:
Views: 'Visingar' Views: 'Visingar'
Loop Playlist: 'Gjenta speleliste' Loop Playlist: 'Gjenta speleliste'
Shuffle Playlist: 'Spel av tilfeldig frå spelelista' Shuffle Playlist: 'Spel av tilfeldig frå spelelista'
Reverse Playlist: '' Reverse Playlist: 'Snu spelelista'
Play Next Video: 'Spel av neste video' Play Next Video: 'Spel av neste video'
Play Previous Video: 'Spel av førre video' Play Previous Video: 'Spel av førre video'
# Context is "X People Watching" # Context is "X People Watching"
@ -422,7 +428,9 @@ Video:
er avslutta.' er avslutta.'
Live chat is enabled. Chat messages will appear here once sent.: 'Direktechat er Live chat is enabled. Chat messages will appear here once sent.: 'Direktechat er
slått på. Chatmeldingar vil bli vist her når dei er sendt.' slått på. Chatmeldingar vil bli vist her når dei er sendt.'
'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': '' 'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': 'Direktechat
er førebels ikkje støtta av Invidious-API-et. Ei direkte tilkopling til YouTube
er krevja.'
Download Video: 'Last ned video' Download Video: 'Last ned video'
video only: 'berre video' video only: 'berre video'
audio only: 'berre lyd' audio only: 'berre lyd'
@ -466,6 +474,7 @@ Video:
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: '$ % sidan' Publicationtemplate: '$ % sidan'
#& Videos #& Videos
translated from English: omsett frå englesk
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -477,7 +486,7 @@ Playlist:
#& About #& About
View Full Playlist: 'Vis heile spelelista' View Full Playlist: 'Vis heile spelelista'
Videos: 'Videoar' Videos: 'Videoar'
View: '' View: 'Vising'
Views: 'Visingar' Views: 'Visingar'
Last Updated On: 'Sist oppdatert' Last Updated On: 'Sist oppdatert'
Share Playlist: Share Playlist:
@ -551,7 +560,7 @@ Tooltips:
Thumbnail Preference: 'Alle miniatyrbilete i FreeTube vil bli erstatta av eit Thumbnail Preference: 'Alle miniatyrbilete i FreeTube vil bli erstatta av eit
bilete av videoen i staden for standardminiatyrbiletet' bilete av videoen i staden for standardminiatyrbiletet'
Invidious Instance: 'Invidious-førekomsten som FreeTube vil kople til for API-kall. Invidious Instance: 'Invidious-førekomsten som FreeTube vil kople til for API-kall.
Fjern den gjeldene førekomsten for å sjå ei liste over offentlige førekomstar Fjern den gjeldene førekomsten for å sjå ei liste over offentlege førekomstar
å velje mellom' å velje mellom'
Region for Trending: '' Region for Trending: ''
Player Settings: Player Settings:
@ -586,3 +595,10 @@ Canceled next video autoplay: 'Avbryt automatisk avspeling av neste video'
Yes: 'Ja' Yes: 'Ja'
No: 'Nei' No: 'Nei'
Unknown YouTube url type, cannot be opened in app: Ukjent type YouTube-nettadresse,
kan ikkje opnast i applikasjonen
Playing Next Video Interval: Speler av neste video no. Klikk for å avbryte. | Speler
av neste video om {nextVideoInterval} sekund. Klikk for å avbryte. | Speler av neste
video om {nextVideoInterval} sekund. Klikk for å avbryte.
More: Meir
Open New Window: Opne nytt vindauge

View File

@ -172,7 +172,7 @@ Settings:
Default Playback Rate: 'Domyślna szybkość odtwarzania' Default Playback Rate: 'Domyślna szybkość odtwarzania'
Default Video Format: Default Video Format:
Default Video Format: 'Domyślny format filmów' Default Video Format: 'Domyślny format filmów'
Dash Formats: 'Formaty Dash' Dash Formats: 'Formaty DASH'
Legacy Formats: 'Stare formaty' Legacy Formats: 'Stare formaty'
Audio Formats: 'Formaty audio' Audio Formats: 'Formaty audio'
Default Quality: Default Quality:
@ -187,6 +187,8 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Przerwa przed kolejną pozycją playlisty
Next Video Interval: Czas do następnego filmu
Subscription Settings: Subscription Settings:
Subscription Settings: 'Ustawienia subskrypcji' Subscription Settings: 'Ustawienia subskrypcji'
Hide Videos on Watch: 'Ukrywaj filmy po obejrzeniu' Hide Videos on Watch: 'Ukrywaj filmy po obejrzeniu'
@ -243,6 +245,7 @@ Settings:
jesteś pewny/a, że chcesz usunąć wszystkie subskrypcje i profile? Nie będzie jesteś pewny/a, że chcesz usunąć wszystkie subskrypcje i profile? Nie będzie
można tego cofnąć. można tego cofnąć.
Remove All Subscriptions / Profiles: Usuń wszystkie subskrypcje / profile Remove All Subscriptions / Profiles: Usuń wszystkie subskrypcje / profile
Automatically Remove Video Meta Files: Samoczynnie usuwaj pliki metadanych filmu
Data Settings: Data Settings:
How do I import my subscriptions?: Jak mogę zaimportować swoje subskrypcje? How do I import my subscriptions?: Jak mogę zaimportować swoje subskrypcje?
Unknown data key: Nieznany klucz danych Unknown data key: Nieznany klucz danych
@ -293,6 +296,7 @@ Settings:
Hide Video Likes And Dislikes: Schowaj łapki w górę i w dół Hide Video Likes And Dislikes: Schowaj łapki w górę i w dół
Hide Video Views: Schowaj obejrzenia filmu Hide Video Views: Schowaj obejrzenia filmu
Hide Active Subscriptions: Schowaj aktywne subskrypcje Hide Active Subscriptions: Schowaj aktywne subskrypcje
Hide Playlists: Ukryj playlistę
The app needs to restart for changes to take effect. Restart and apply change?: Aplikacja The app needs to restart for changes to take effect. Restart and apply change?: Aplikacja
musi zostać ponownie uruchomiona, aby zmiany zostały wprowadzone. Uruchomić ponownie musi zostać ponownie uruchomiona, aby zmiany zostały wprowadzone. Uruchomić ponownie
i zastosować zmiany? i zastosować zmiany?
@ -354,7 +358,7 @@ About:
Wiki: Wiki Wiki: Wiki
Report an Issue: Zgłoś problem Report an Issue: Zgłoś problem
Channel Rules: Zasady kanału Channel Rules: Zasady kanału
Email: Email Email: E-mail
License: Licencja License: Licencja
Beta: Beta Beta: Beta
Donate: Wesprzyj Donate: Wesprzyj
@ -499,6 +503,7 @@ Video:
zachowanych zachowanych
Video has been saved: Film został zachowany Video has been saved: Film został zachowany
Save Video: Zachowaj film Save Video: Zachowaj film
translated from English: przetłumaczone z angielskiego
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -526,12 +531,12 @@ Playlist:
Toggle Theatre Mode: 'Aktywuj tryb kinowy' Toggle Theatre Mode: 'Aktywuj tryb kinowy'
Change Format: Change Format:
Change Video Formats: 'Zmień formaty wideo' Change Video Formats: 'Zmień formaty wideo'
Use Dash Formats: 'Użyj formatów Dash' Use Dash Formats: 'Użyj formatów DASH'
Use Legacy Formats: 'Użyj starych formatów' Use Legacy Formats: 'Użyj starych formatów'
Use Audio Formats: 'Użyj formatów audio' Use Audio Formats: 'Użyj formatów audio'
Audio formats are not available for this video: Formaty audio nie są dostępne dla Audio formats are not available for this video: Formaty audio nie są dostępne dla
tego filmu tego filmu
Dash formats are not available for this video: Formaty Dash nie są dostępne dla Dash formats are not available for this video: Formaty DASH nie są dostępne dla
tego filmu tego filmu
Share: Share:
Share Video: 'Podziel się filmem' Share Video: 'Podziel się filmem'
@ -633,6 +638,7 @@ Profile:
$ selected: Wybrano $ $ selected: Wybrano $
Other Channels: Inne kanały Other Channels: Inne kanały
Subscription List: Lista subskrypcji Subscription List: Lista subskrypcji
Profile Filter: Filtr profilu
The playlist has been reversed: Playlista została odwrócona The playlist has been reversed: Playlista została odwrócona
A new blog is now available, $. Click to view more: Nowy wpis na blogu jest dostępny, A new blog is now available, $. Click to view more: Nowy wpis na blogu jest dostępny,
$. Kliknij, aby zobaczyć więcej $. Kliknij, aby zobaczyć więcej
@ -651,24 +657,37 @@ Tooltips:
General Settings: General Settings:
Fallback to Non-Preferred Backend on Failure: Po włączeniu, kiedy twój preferowany Fallback to Non-Preferred Backend on Failure: Po włączeniu, kiedy twój preferowany
API napotka problem, FreeTube samoczynnie spróbuje użyć niepreferowanego API API napotka problem, FreeTube samoczynnie spróbuje użyć niepreferowanego API
jako metody zapasowej jako metody zapasowej.
Preferred API Backend: Wybierz back-end , który FreeTube użyje do uzyskiwania Preferred API Backend: Wybierz back-end , który FreeTube użyje do uzyskiwania
danych. Lokalne API jest wbudowanym ekstraktorem. API Invidious wymaga połączenia danych. Lokalne API jest wbudowanym ekstraktorem. API Invidious wymaga połączenia
z serwerem Invidious. z serwerem Invidious.
Region for Trending: Obszar filmów „Na czasie” pozwala wybrać kraj, z którego Region for Trending: Obszar filmów „Na czasie” pozwala wybrać kraj, z którego
chciałbyś zobaczyć filmy zdobywające popularność. Nie wszystkie wyświetlone chciałbyś zobaczyć filmy zdobywające popularność. Nie wszystkie wyświetlone
kraje są obsługiwane przez YouTube kraje są obsługiwane przez YouTube.
Invidious Instance: Serwer Invidious, którym FreeTube będzie się łączył do wywołań Invidious Instance: Serwer Invidious, którym FreeTube będzie się łączył do wywołań
API. Wyczyść pole z serwerem, by zobaczyć listę publicznych serwerów do wyboru API. Wyczyść pole z serwerem, by zobaczyć listę publicznych serwerów do wyboru.
Thumbnail Preference: Wszystkie miniaturki na FreeTube zostaną zastąpione klatką Thumbnail Preference: Wszystkie miniaturki na FreeTube zostaną zastąpione klatką
z filmu zamiast miniaturki domyślnej z filmu zamiast miniaturki domyślnej.
Player Settings: Player Settings:
Force Local Backend for Legacy Formats: Działa tylko, kiedy API Invidious jest Force Local Backend for Legacy Formats: Działa tylko, kiedy API Invidious jest
ustawiony jako domyślny. Gdy opcja jest włączona, do odtwarzania starych formatów ustawiony jako domyślny. Gdy opcja jest włączona, do odtwarzania starych formatów
zostanie użyty lokalny API, zamiast API Invidious. Pomaga w przypadkach, gdy zostanie użyty lokalny API, zamiast API Invidious. Pomaga w przypadkach, gdy
filmy zwracane przez Invidious nie odtwarzają się z powodu blokady regionalnej filmy zwracane przez Invidious nie odtwarzają się z powodu blokady regionalnej.
Default Video Format: Ustaw formaty, które zostaną użyte do odtwarzania filmów. Default Video Format: Ustaw formaty, które zostaną użyte do odtwarzania filmów.
Formaty Dash obsługują wyższe rozdzielczości. Stare formaty są ograniczone do Formaty DASH obsługują wyższe rozdzielczości. Stare formaty są ograniczone do
720p, ale zużywają mniej przepustowości. Formaty audio odtwarzają tylko dźwięk 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, Proxy Videos Through Invidious: Będzie dostarczał filmy, łącząc się z Invidious,
a nie bezpośrednio z YouTube. Nadpisuje ustawienia API 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
aby przerwać.
More: Więcej
Unknown YouTube url type, cannot be opened in app: Nieznany typ adresu URL YouTube,
nie można go otworzyć w aplikacji
Hashtags have not yet been implemented, try again later: Hashtagi nie zostały jeszcze
wprowadzone, spróbuj później
Open New Window: Otwórz nowe okno

View File

@ -185,6 +185,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Intervalo do próximo vídeo da lista de reprodução
Subscription Settings: Subscription Settings:
Subscription Settings: 'Configurações de inscrições' Subscription Settings: 'Configurações de inscrições'
Hide Videos on Watch: 'Esconder vídeos após assisti-los' Hide Videos on Watch: 'Esconder vídeos após assisti-los'
@ -241,6 +242,8 @@ Settings:
certeza de que quer apagar todas as inscrições e perfis? Esta ação não pode certeza de que quer apagar todas as inscrições e perfis? Esta ação não pode
ser desfeita. ser desfeita.
Remove All Subscriptions / Profiles: Remover Todas as Inscrições / Perfis Remove All Subscriptions / Profiles: Remover Todas as Inscrições / Perfis
Automatically Remove Video Meta Files: Remover automaticamente os metarquivos
de vídeo
Data Settings: Data Settings:
Subscriptions have been successfully exported: Inscrições foram exportadas com Subscriptions have been successfully exported: Inscrições foram exportadas com
sucesso sucesso
@ -291,6 +294,7 @@ Settings:
Hide Video Likes And Dislikes: Ocultar curtidas e desgostos do vídeo Hide Video Likes And Dislikes: Ocultar curtidas e desgostos do vídeo
Hide Video Views: Ocultar Visualizações de Vídeo Hide Video Views: Ocultar Visualizações de Vídeo
Hide Active Subscriptions: Ocultar Inscrições Ativas Hide Active Subscriptions: Ocultar Inscrições Ativas
Hide Playlists: Ocultar listas de reprodução
The app needs to restart for changes to take effect. Restart and apply change?: O The app needs to restart for changes to take effect. Restart and apply change?: O
aplicativo necessita reiniciar para as mudanças fazerem efeito. Reiniciar e aplicar aplicativo necessita reiniciar para as mudanças fazerem efeito. Reiniciar e aplicar
mudança? mudança?
@ -343,7 +347,7 @@ About:
#On Channel Page #On Channel Page
GitHub issues: Problemas com o GitHub GitHub issues: Problemas com o GitHub
Report a problem: Reportar um problema Report a problem: Reportar um problema
FAQ: FAQs FAQ: Perguntas frequentes
FreeTube Wiki: Wiki do FreeTube FreeTube Wiki: Wiki do FreeTube
Help: Ajuda Help: Ajuda
GitHub releases: Lançamentos do GitHub GitHub releases: Lançamentos do GitHub
@ -458,7 +462,7 @@ Video:
Minute: Minuto Minute: Minuto
Published on: 'Publicado em' Published on: 'Publicado em'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: 'Há $ % atrás' Publicationtemplate: 'Há $ %'
#& Videos #& Videos
Started streaming on: Transmissão iniciada em Started streaming on: Transmissão iniciada em
Streamed on: Transmitido em Streamed on: Transmitido em
@ -486,6 +490,7 @@ Video:
vídeos salvos vídeos salvos
Video has been saved: O vídeo foi salvo Video has been saved: O vídeo foi salvo
Save Video: Salvar vídeo Save Video: Salvar vídeo
translated from English: Traduzido do inglês
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -518,7 +523,7 @@ Change Format:
Use Audio Formats: 'Usar formato de áudio' Use Audio Formats: 'Usar formato de áudio'
Audio formats are not available for this video: Formatos de áudio não disponíveis Audio formats are not available for this video: Formatos de áudio não disponíveis
para este vídeo para este vídeo
Dash formats are not available for this video: Formatos Dash não disponíveis para Dash formats are not available for this video: Formatos DASH não disponíveis para
este vídeo este vídeo
Share: Share:
Share Video: 'Compartilhar vídeo' Share Video: 'Compartilhar vídeo'
@ -621,6 +626,7 @@ Profile:
Profile has been updated: Perfil atualizado Profile has been updated: Perfil atualizado
Profile has been created: Perfil criado Profile has been created: Perfil criado
Your profile name cannot be empty: Seu nome de perfil não pode ficar em branco Your profile name cannot be empty: Seu nome de perfil não pode ficar em branco
Profile Filter: Filtro de Perfil
Version $ is now available! Click for more details: Versão $ está disponível agora! Version $ is now available! Click for more details: Versão $ está disponível agora!
Clique para mais detalhes Clique para mais detalhes
A new blog is now available, $. Click to view more: Um novo blog está disponível, A new blog is now available, $. Click to view more: Um novo blog está disponível,
@ -633,34 +639,42 @@ This video is unavailable because of missing formats. This can happen due to cou
Tooltips: Tooltips:
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Quando ativado, o FreeTube usará RSS em vez de seu método Fetch Feeds from RSS: Quando ativado, o FreeTube usará RSS em vez de seu método
padrão para obter o feed de sua assinatura. O RSS é mais rápido e evita o bloqueio padrão para obter o feed de sua assinatura. O RSS é mais rápido e evita bloqueio
de IP, mas não fornece certas informações como duração do vídeo ou status ao de IP, mas não fornece certas informações como duração do vídeo ou status ao
vivo vivo
Player Settings: Player Settings:
Default Video Format: Define os formatos usados quando um vídeo é reproduzido. Default Video Format: Define os formatos usados quando um vídeo é reproduzido.
Formatos Dash podem reproduzir qualidades mais altas. Os formatos antigos são Formatos DASH podem reproduzir qualidades mais altas. Os formatos antigos são
limitados a um máximo de 720p, mas usam menos largura de banda. Formatos de limitados a um máximo de 720p, mas usam menos largura de banda. Formatos de
áudio são para transmissões sem vídeo áudio são para transmissões sem vídeo.
Proxy Videos Through Invidious: Conectar-se-á ao Invidious para obter vídeos em Proxy Videos Through Invidious: Conectar-se-á ao Invidious para obter vídeos em
vez de fazer uma conexão direta com o YouTube. Ignora a preferência da API vez de fazer uma conexão direta com o YouTube. Ignora a preferência da API.
Force Local Backend for Legacy Formats: Só funciona quando a API do Invidious Force Local Backend for Legacy Formats: Só funciona quando a API do Invidious
é predefinida. Quando ativada, a API local será executada e usará os formatos é predefinida. Quando ativada, a API local será executada e usará os formatos
antigos retornados por ela em vez dos retornados pelo Invidious. É útil quando antigos retornados por ela em vez dos retornados pelo Invidious. É útil quando
os vídeos retornados pelo Invidious não são reproduzidos devido a restrições os vídeos retornados pelo Invidious não são reproduzidos devido a restrições
de país de país.
General Settings: General Settings:
Region for Trending: A região de tendências permite escolher quais vídeos de tendências Region for Trending: A região de tendências lhe permite de escolher quais vídeos
do país você quer exibir. Nem todos os países exibidos são realmente suportados de tendências do país você quer exibir. Nem todos os países exibidos são realmente
pelo YouTube suportados pelo YouTube.
Invidious Instance: A instância Invidious à qual o FreeTube se conectará para Invidious Instance: A instância Invidious à qual o FreeTube se conectará para
chamadas de API. Limpe a instância atual para ver uma lista de instâncias públicas chamadas de API. Apague a instância atual para ver uma lista de instâncias públicas
para escolher para escolher.
Thumbnail Preference: Todas as miniaturas do FreeTube serão substituídas por um Thumbnail Preference: Todas as miniaturas do FreeTube serão substituídas por um
quadro do vídeo em vez da miniatura padrão quadro do vídeo em vez da miniatura padrão.
Fallback to Non-Preferred Backend on Failure: Quando a sua API preferida tiver Fallback to Non-Preferred Backend on Failure: Quando a sua API preferida tiver
um problema, o FreeTube tentará automaticamente usar sua API não preferida como um problema, o FreeTube tentará usar automaticamente sua API não preferida em
um método substituto quando ativado substituição quando ativado.
Preferred API Backend: Escolha o backend que o FreeTube usa para obter os dados. Preferred API Backend: Escolha o backend que o FreeTube usa para obter os dados.
A API local é um extrator integrado. A API Invidious requer um servidor Invidious A API local é um extrator integrado. A API Invidious requer um servidor Invidious
para se conectar. para se conectar.
Privacy Settings:
Remove Video Meta Files: Quando ativado, o FreeTube exclui automaticamente os
metarquivos criados durante a reprodução do vídeo quando a página de exibição
é fechada.
More: Mais More: Mais
Playing Next Video Interval: Reproduzindo o próximo vídeo imediatamente. Clique para
cancelar. | Reproduzindo o próximo vídeo em {nextVideoInterval} segundo(s). Clique
para cancelar. | Reproduzindo o próximo vídeo em {nextVideoInterval} segundos. Clique
para cancelar.

View File

@ -91,8 +91,9 @@ User Playlists:
Playlist Message: Esta página não é indicativa do resultado final. Apenas mostra 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, 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'. 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 Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Os
guardar aqui. seus vídeos guardados estão vazios. Clique no botão gravar no canto de um vídeo
para ser listado aqui
History: History:
# On History Page # On History Page
History: Histórico History: Histórico
@ -112,7 +113,7 @@ Settings:
Preferido em Caso de Falha Preferido em Caso de Falha
Enable Search Suggestions: Activar Sugestões de Pesquisa Enable Search Suggestions: Activar Sugestões de Pesquisa
Default Landing Page: Página Inicial Default Landing Page: Página Inicial
Locale Preference: Localização Locale Preference: Idioma
Preferred API Backend: Preferred API Backend:
Preferred API Backend: Sistema de Ligação Favorito Preferred API Backend: Sistema de Ligação Favorito
Local API: API Local Local API: API Local
@ -129,9 +130,11 @@ Settings:
End: Fim End: Fim
'Invidious Instance (Default is https://invidious.snopyta.org)': Instância Invidious 'Invidious Instance (Default is https://invidious.snopyta.org)': Instância Invidious
(Por omissão é https://invidious.snopyta.org) (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 Region for Trending: Região para as tendências
#! List countries #! List countries
System Default: Definições do sistema
Theme Settings: Theme Settings:
Theme Settings: Definições de Tema Theme Settings: Definições de Tema
Match Top Bar with Main Color: Utilizar Cor Principal Para Barra Superior Match Top Bar with Main Color: Utilizar Cor Principal Para Barra Superior
@ -178,7 +181,7 @@ Settings:
Default Playback Rate: Velocidade de Reprodução Default Playback Rate: Velocidade de Reprodução
Default Video Format: Default Video Format:
Default Video Format: Formato de Vídeo Default Video Format: Formato de Vídeo
Dash Formats: Formato Dash Dash Formats: Formatos DASH
Legacy Formats: Formato Antigo Legacy Formats: Formato Antigo
Audio Formats: Formato de Áudio Audio Formats: Formato de Áudio
Default Quality: Default Quality:
@ -193,6 +196,7 @@ Settings:
1440p: 1440p 1440p: 1440p
4k: 4k 4k: 4k
8k: 8k 8k: 8k
Next Video Interval: Próximo intervalo de vídeo
Privacy Settings: Privacy Settings:
Privacy Settings: Definições de Privacidade Privacy Settings: Definições de Privacidade
Remember History: Lembrar Histórico Remember History: Lembrar Histórico
@ -209,6 +213,8 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Tem Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Tem
a certeza de que quer apagar todas as suas subscrições e perfis? Esta acção a certeza de que quer apagar todas as suas subscrições e perfis? Esta acção
não pode ser revertida. não pode ser revertida.
Automatically Remove Video Meta Files: Remover automaticamente os metficheiros
de vídeo
Subscription Settings: Subscription Settings:
Subscription Settings: Definições de Subscrições Subscription Settings: Definições de Subscrições
Hide Videos on Watch: Esconder Vídeos Visualisados Hide Videos on Watch: Esconder Vídeos Visualisados
@ -230,6 +236,7 @@ Settings:
Hide Popular Videos: Esconder Mais Populares Hide Popular Videos: Esconder Mais Populares
Hide Live Chat: Esconder Chat ao Vivo Hide Live Chat: Esconder Chat ao Vivo
Hide Active Subscriptions: Esconder Subscrições da barra lateral Hide Active Subscriptions: Esconder Subscrições da barra lateral
Hide Playlists: Ocultar listas de reprodução
Data Settings: Data Settings:
Data Settings: Definições de dados Data Settings: Definições de dados
Select Import Type: Escolher tipo de importação Select Import Type: Escolher tipo de importação
@ -275,14 +282,16 @@ Settings:
Proxy Protocol: Protocolo do Intermediário Proxy Protocol: Protocolo do Intermediário
Proxy Host: Endereço do Intermediário Proxy Host: Endereço do Intermediário
Proxy Port Number: Porto 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 Test Proxy: Testar Intermediário
Your Info: A sua Informação Your Info: A sua Informação
Ip: Ip Ip: Ip
Country: País Country: País
Region: Região Region: Região
City: Cidade 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?: Erro ao
obter informações da rede. O seu proxy está configurado corretamente?
About: About:
#On About page #On About page
About: Sobre About: Sobre
@ -294,13 +303,14 @@ About:
GitHub releases: Lançamentos no GitHub GitHub releases: Lançamentos no GitHub
Help: Ajuda Help: Ajuda
FreeTube Wiki: Wiki do FreeTube FreeTube Wiki: Wiki do FreeTube
FAQ: Perguntas Frequentes FAQ: Perguntas frequentes
Report a problem: Relatar um problema Report a problem: Relatar um problema
GitHub issues: Problemas no GitHub GitHub issues: Problemas no GitHub
Please check for duplicates before posting: É favor verificar se um problema já foi relatado Please check for duplicates before posting: É favor verificar se um problema já
Website: Site foi relatado
Website: Saite
Blog: Blogue Blog: Blogue
Email: Email Email: Correio eletrónico
Mastodon: Mastodon Mastodon: Mastodon
Chat on Matrix: Chat no Matrix Chat on Matrix: Chat no Matrix
Please read the: Por favor leia as Please read the: Por favor leia as
@ -352,6 +362,7 @@ Profile:
os canais em mais nenhum perfil. os canais em mais nenhum perfil.
#On Channel Page #On Channel Page
Profile Select: Selecção de perfil Profile Select: Selecção de perfil
Profile Filter: Filtro de Perfil
Channel: Channel:
Subscriber: Subscritor Subscriber: Subscritor
Subscribers: Subscritores Subscribers: Subscritores
@ -399,7 +410,7 @@ Video:
Copy Invidious Link: Copiar Ligação para Invidious Copy Invidious Link: Copiar Ligação para Invidious
Open Channel in YouTube: Abrir Canal no Youtube Open Channel in YouTube: Abrir Canal no Youtube
Copy YouTube Channel Link: Copiar Ligação para Youtube Copy YouTube Channel Link: Copiar Ligação para Youtube
Open Channel in Invidious: Abrir Calan no Invidious Open Channel in Invidious: Abrir Canal no Invidious
Copy Invidious Channel Link: Copiar Ligação para Invidious Copy Invidious Channel Link: Copiar Ligação para Invidious
View: Visualização View: Visualização
Views: Visualizações Views: Visualizações
@ -459,7 +470,7 @@ Video:
Year: Ano Year: Ano
Years: Anos Years: Anos
Ago: Ago:
Upcoming: Estreia em breve Upcoming: Futuramente em
Published on: Publicado a Published on: Publicado a
Streamed on: Transmitido a Streamed on: Transmitido a
Started streaming on: Transmissão iniciada a Started streaming on: Transmissão iniciada a
@ -471,6 +482,7 @@ Video:
Reverse Playlist: Inverter lista de reprodução Reverse Playlist: Inverter lista de reprodução
Shuffle Playlist: Baralhar lista de reprodução Shuffle Playlist: Baralhar lista de reprodução
Loop Playlist: Repetir lista de reprodução Loop Playlist: Repetir lista de reprodução
translated from English: Traduzido do inglês
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -498,10 +510,10 @@ Playlist:
Toggle Theatre Mode: Alternar Modo Cinema Toggle Theatre Mode: Alternar Modo Cinema
Change Format: Change Format:
Change Video Formats: Mudar Formato do Vídeo Change Video Formats: Mudar Formato do Vídeo
Use Dash Formats: Utilizar Formato Dash Use Dash Formats: Usar formatos DASH
Use Legacy Formats: Utilizar Formato Antigo Use Legacy Formats: Utilizar Formato Antigo
Use Audio Formats: Utilizar Formatos de Áudio Use Audio Formats: Utilizar Formatos de Áudio
Dash formats are not available for this video: Formato DASH não disponível para Dash formats are not available for this video: Formatos DASH não disponíveis para
este vídeo este vídeo
Audio formats are not available for this video: Formato áudio não disponível para Audio formats are not available for this video: Formato áudio não disponível para
este vídeo este vídeo
@ -549,39 +561,43 @@ Up Next: A Seguir
#Tooltips #Tooltips
Tooltips: Tooltips:
General Settings: General Settings:
Preferred API Backend: O sistema que FreeTube utilizará para se ligar ao Youtube. Preferred API Backend: Escolha o backend que o FreeTube usa para obter os dados.
O API local existe como parte do FreeTube e faz ligações directas ao Youtube. O API local é um extrator incorporado. A API Invidious requer um servidor Invidious
O API Invidious necessita de uma ligação a um servidor Invidious para se conectar.
Fallback to Non-Preferred Backend on Failure: Quando o seu sistema preferido encontrar Fallback to Non-Preferred Backend on Failure: Quando a sua API preferida tiver
um erro, o FreeTube vai automaticamente tentar usar o sistema não preferido um problema, o FreeTube tentará usar automaticamente a sua API não preferida
como uma salvaguarda, caso esta opção esteja activada em substituição quando ativado.
Thumbnail Preference: Todas as antevisões dos vídeos no FreeTube vão ser substituidas Thumbnail Preference: Todas as miniaturas do FreeTube serão substituídas por um
por um fotograma do vídeo quadro do vídeo em vez da miniatura padrão.
Invidious Instance: A instância Invidious à qual o FreeTube irá ligar-se para Invidious Instance: A instância Invidious à qual o FreeTube se conectará para
ir buscar dados. Apague o que está escrito para ver uma lista de instâncias chamadas de API. Apague a instância atual para ver uma lista de instâncias públicas
públicas disponíveis para escolher.
Region for Trending: A região permite-lhe escolher de qual país quer que seja Region for Trending: A região de tendências permite-lhe de escolher quais vídeos
utilizado pela secção das tendências. Nem todos os países apresentados estão de tendências do país que quer exibir. Nem todos os países exibidos são realmente
de facto a funcionar devido ao Youtube suportados pelo YouTube.
Player Settings: Player Settings:
Force Local Backend for Legacy Formats: Apenas funciona quando o API Invidious Force Local Backend for Legacy Formats: Só funciona quando a API do Invidious
é o seu sistema preferido. Quando activado, o API local irá ser usado para ir é predefinida. Quando ativada, a API local será executada e usará os formatos
buscar os formatos antigos, invés daqueles devolvidos pelo Invidious. Útil quando antigos retornados por ela em vez dos retornados pelo Invidious. É útil quando
os vídeos dados pelo Invidious não funcionam devido a restrições geográficas os vídeos retornados pelo Invidious não são reproduzidos devido a restrições
Proxy Videos Through Invidious: O FreeTube irá ligar-se ao Invidious para apresentar de país.
vídeos em vez de fazer uma ligação directa ao Youtube. Ignora a escolha de sistema Proxy Videos Through Invidious: Conectar-se-á ao Invidious para obter vídeos em
preferido vez de fazer uma conexão direta com o YouTube. Ignora a preferência da API.
Default Video Format: Define o formato utilizado quando um vídeo é reproduzido. Default Video Format: Define os formatos usados quando um vídeo é reproduzido.
O formato DASH consegue reproduzir melhor qualidades. O formato antigo está Formatos DASH podem reproduzir qualidades mais altas. Os formatos antigos são
limitado a 720p, mas utiliza menos rede. Formatos áudio são para transmissões limitados a um máximo de 720p, mas usam menos largura de banda. Formatos de
sem vídeo áudio são para transmissões sem vídeo.
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Quando activado, o FreeTube irá buscar as suas subscrições Fetch Feeds from RSS: Quando ativado, o FreeTube usará RSS em vez do método padrão
através de RSS em vez do método normal. RSS é mais rápido e previne ser limitado dele para obter o feed da sua assinatura. O RSS é mais rápido e evita bloqueio
por fazer demasiadas ligações ao Youtube, mas não disponibiliza informação tal de IP, mas não fornece certas informações como duração do vídeo ou estado ao
como a duração de um vídeo ou se este é ao vivo vivo
# Toast Messages # Toast Messages
Privacy Settings:
Remove Video Meta Files: Quando ativado, o FreeTube exclui automaticamente os
metficheiros criados durante a reprodução do vídeo quando a página de exibição
é fechada.
Local API Error (Click to copy): API local encontrou um erro (Clique para copiar) Local API Error (Click to copy): API local encontrou um erro (Clique para copiar)
Invidious API Error (Click to copy): API Invidious encontrou um erro (Clique para Invidious API Error (Click to copy): API Invidious encontrou um erro (Clique para
copiar) copiar)
@ -606,3 +622,13 @@ Canceled next video autoplay: Reprodução automática cancelada
Yes: Sim Yes: Sim
No: Não No: Não
The playlist has been reversed: A lista de reprodução foi invertida The playlist has been reversed: A lista de reprodução foi invertida
Playing Next Video Interval: Reproduzindo o próximo vídeo imediatamente. Clique para
cancelar. | Reproduzindo o próximo vídeo em {nextVideoInterval} segundo(s). Clique
para cancelar. | Reproduzindo o próximo vídeo em {nextVideoInterval} segundos. Clique
para cancelar.
More: Mais
Hashtags have not yet been implemented, try again later: Os Hashtags ainda não foram
implementados, tente novamente mais tarde
Unknown YouTube url type, cannot be opened in app: Tipo de url do YouTube desconhecido,
não pode ser aberto numa app
Open New Window: Abrir uma nova janela

View File

@ -289,6 +289,10 @@ About:
Latest FreeTube News: 'Notícias recentes sobre FreeTube' Latest FreeTube News: 'Notícias recentes sobre FreeTube'
FAQ: Perguntas frequentes
Blog: Blogue
Website: Sítio Web
Email: Correio eletrónico
Profile: Profile:
Profile Select: 'Selecção de perfil' Profile Select: 'Selecção de perfil'
All Channels: 'Todos os Canais' All Channels: 'Todos os Canais'

View File

@ -189,9 +189,10 @@ Settings:
Remember History: '' Remember History: ''
Save Watched Progress: '' Save Watched Progress: ''
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?: 'Sunteti siguri ca doriti
Search cache has been cleared: '' sa stergeti chache-ul cautarilor ?'
Remove Watch History: '' Search cache has been cleared: 'Cache-ul cautarilor a fost sters'
Remove Watch History: 'Sterge Istoricul Vizualizarilor'
Are you sure you want to remove your entire watch history?: '' Are you sure you want to remove your entire watch history?: ''
Watch history has been cleared: '' Watch history has been cleared: ''
Remove All Subscriptions / Profiles: '' Remove All Subscriptions / Profiles: ''

View File

@ -1,7 +1,7 @@
FreeTube: 'FreeTube' FreeTube: 'FreeTube'
# Currently on Subscriptions, Playlists, and History # Currently on Subscriptions, Playlists, and History
'This part of the app is not ready yet. Come back later when progress has been made.': >- 'This part of the app is not ready yet. Come back later when progress has been made.': >-
Эта часть приложения еще не готова. Вернитесь позже, когда будет достигнут прогресс. Эта часть приложения ещё не готова. Вернитесь позже, когда будет достигнут прогресс.
# Webkit Menu Bar # Webkit Menu Bar
File: 'Файл' File: 'Файл'
@ -127,21 +127,21 @@ Settings:
View all Invidious instance information: Показать все доступные экземпляры Invidious View all Invidious instance information: Показать все доступные экземпляры Invidious
Theme Settings: Theme Settings:
Theme Settings: 'Настройки темы' Theme Settings: 'Настройки темы'
Match Top Bar with Main Color: 'Совместить верхнюю панель с основным цветом' Match Top Bar with Main Color: 'Верхняя панель основного цвета'
Base Theme: Base Theme:
Base Theme: 'Базовая тема' Base Theme: 'Базовая тема'
Black: 'Чёрная' Black: 'Чёрная'
Dark: 'Тёмная' Dark: 'Тёмная'
Light: 'Светлая' Light: 'Светлая'
Main Color Theme: Main Color Theme:
Main Color Theme: 'Основная цветовая тема' Main Color Theme: 'Тема основного цвета'
Red: 'Красная' Red: 'Красная'
Pink: 'Розовая' Pink: 'Розовая'
Purple: 'Фиолетовая' Purple: 'Фиолетовая'
Deep Purple: 'Тёмно-фиолетовая' Deep Purple: 'Тёмно-фиолетовая'
Indigo: 'Индиго' Indigo: 'Индиго'
Blue: 'Синия' Blue: 'Синяя'
Light Blue: 'Светло-синия' Light Blue: 'Светло-синяя'
Cyan: 'Голубая' Cyan: 'Голубая'
Teal: 'Бирюзовая' Teal: 'Бирюзовая'
Green: 'Зелёная' Green: 'Зелёная'
@ -186,6 +186,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Задержка перед автовоспроизведением
Subscription Settings: Subscription Settings:
Subscription Settings: 'Настройки подписки' Subscription Settings: 'Настройки подписки'
Hide Videos on Watch: 'Скрыть видео после просмотра' Hide Videos on Watch: 'Скрыть видео после просмотра'
@ -241,6 +242,7 @@ Settings:
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Вы Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Вы
уверены, что хотите удалить все подписки и профили? Это нельзя отменить. уверены, что хотите удалить все подписки и профили? Это нельзя отменить.
Remove All Subscriptions / Profiles: Удалить все подписки/профили Remove All Subscriptions / Profiles: Удалить все подписки/профили
Automatically Remove Video Meta Files: Автоматическое удаление мета-файлов видео
Data Settings: Data Settings:
How do I import my subscriptions?: Как мне импортировать свои подписки? How do I import my subscriptions?: Как мне импортировать свои подписки?
Unknown data key: Неизвестный ключ данных Unknown data key: Неизвестный ключ данных
@ -290,6 +292,7 @@ Settings:
Hide Video Likes And Dislikes: Скрыть лайки и дизлайки к видео Hide Video Likes And Dislikes: Скрыть лайки и дизлайки к видео
Hide Video Views: Скрыть просмотры видео Hide Video Views: Скрыть просмотры видео
Hide Active Subscriptions: Скрыть активные подписки Hide Active Subscriptions: Скрыть активные подписки
Hide Playlists: Скрыть плейлисты
The app needs to restart for changes to take effect. Restart and apply change?: Чтобы The app needs to restart for changes to take effect. Restart and apply change?: Чтобы
изменения вступили в силу, необходимо перезапустить приложение. Перезапустить изменения вступили в силу, необходимо перезапустить приложение. Перезапустить
и применить изменения? и применить изменения?
@ -297,7 +300,7 @@ Settings:
Error getting network information. Is your proxy configured properly?: Ошибка Error getting network information. Is your proxy configured properly?: Ошибка
при получении информации о сети. Вы уверены, что прокси настроен правильно? при получении информации о сети. Вы уверены, что прокси настроен правильно?
Your Info: Ваша информация Your Info: Ваша информация
Clicking on Test Proxy will send a request to: Нажмите на rкнопку "Протестировать Clicking on Test Proxy will send a request to: Нажмите на кнопку "Протестировать
соединение", чтобы отправить запрос на соединение", чтобы отправить запрос на
Test Proxy: Протестировать соединение Test Proxy: Протестировать соединение
Proxy Port Number: Порт прокси-сервера Proxy Port Number: Порт прокси-сервера
@ -352,7 +355,7 @@ About:
Mastodon: Mastodon Mastodon: Mastodon
Email: Электронная почта Email: Электронная почта
Blog: Блог Blog: Блог
Website: Сайт Website: Веб-сайт
Report a problem: Сообщить о проблеме Report a problem: Сообщить о проблеме
FAQ: FAQ FAQ: FAQ
FreeTube Wiki: Вики-сайт FreeTube FreeTube Wiki: Вики-сайт FreeTube
@ -394,7 +397,7 @@ Channel:
About: 'О канале' About: 'О канале'
Channel Description: 'Описание канала' Channel Description: 'Описание канала'
Featured Channels: 'Избранные каналы' Featured Channels: 'Избранные каналы'
Added channel to your subscriptions: Канаь добавлен в ваши подписки Added channel to your subscriptions: Канал добавлен в ваши подписки
Removed subscription from $ other channel(s): Подписка удалена с $ другого(их) канала(ов) Removed subscription from $ other channel(s): Подписка удалена с $ другого(их) канала(ов)
Channel has been removed from your subscriptions: Канал был удалён из ваших подписок Channel has been removed from your subscriptions: Канал был удалён из ваших подписок
Video: Video:
@ -464,9 +467,9 @@ Video:
Autoplay: Автовоспроизведение Autoplay: Автовоспроизведение
Play Previous Video: Воспроизвести предыдущее видео Play Previous Video: Воспроизвести предыдущее видео
Play Next Video: Воспроизводить следующее видео Play Next Video: Воспроизводить следующее видео
Reverse Playlist: Обратный плейлист Reverse Playlist: Обратный порядок плейлиста
Shuffle Playlist: Перемешанный плейлист Shuffle Playlist: Перемешать плейлист
Loop Playlist: Циклический плейлист Loop Playlist: Зациклить плейлист
Starting soon, please refresh the page to check again: Скоро начнётся, обновите Starting soon, please refresh the page to check again: Скоро начнётся, обновите
страницу, чтобы проверить ещё раз страницу, чтобы проверить ещё раз
Audio: Audio:
@ -483,9 +486,10 @@ Video:
Open Channel in YouTube: Открыть канал в YouTube Open Channel in YouTube: Открыть канал в YouTube
Streamed on: Транслировано Streamed on: Транслировано
Started streaming on: Трансляция начата на Started streaming on: Трансляция начата на
Video has been removed from your saved list: Видео было удалено из списка сохраненных Video has been removed from your saved list: Видео было удалено из списка сохранённых
Video has been saved: Видео было добавлено в сохраненные Video has been saved: Видео было добавлено в сохранённые
Save Video: Добавить видео в сохраненные Save Video: Добавить видео в сохранённые
translated from English: переведен с Английского
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -566,17 +570,17 @@ Invidious API Error (Click to copy): 'Ошибка invidious API (Нажмите
Falling back to Invidious API: 'Возврат к Invidious API' Falling back to Invidious API: 'Возврат к Invidious API'
Falling back to the local API: 'Возврат к локальному API' Falling back to the local API: 'Возврат к локальному API'
Subscriptions have not yet been implemented: 'Подписки ещё не реализованы' Subscriptions have not yet been implemented: 'Подписки ещё не реализованы'
Loop is now disabled: 'Цикл теперь отключён' Loop is now disabled: 'Зацикливание теперь отключено'
Loop is now enabled: 'Цикл теперь включён' Loop is now enabled: 'Зацикливание теперь включено'
Shuffle is now disabled: 'Перемешивание теперь отключено' Shuffle is now disabled: 'Перемешивание теперь отключено'
Shuffle is now enabled: 'Перемешивание теперь включено' Shuffle is now enabled: 'Перемешивание теперь включено'
Playing Next Video: 'Воспроизвести следующее видео' Playing Next Video: 'Воспроизведение следующего видео'
Playing Previous Video: 'Воспроизвести предыдущее видео' Playing Previous Video: 'Воспроизведение предыдущего видео'
Playing next video in 5 seconds. Click to cancel: 'Воспроизведение следующего видео Playing next video in 5 seconds. Click to cancel: 'Воспроизведение следующего видео
через 5 секунд. Нажмите, чтобы отменить.' через 5 секунд. Нажмите, чтобы отменить.'
Canceled next video autoplay: 'Отменено автовоспроизведение следующего видео' Canceled next video autoplay: 'Отменено автовоспроизведение следующего видео'
'The playlist has ended. Enable loop to continue playing': 'Плейлист закончился. 'The playlist has ended. Enable loop to continue playing': 'Плейлист закончился.
Включите цикл, чтобы продолжить воспроизведение' Включите зацикливание, чтобы продолжить воспроизведение'
Yes: 'Да' Yes: 'Да'
No: 'Нет' No: 'Нет'
@ -617,11 +621,12 @@ Profile:
No channel(s) have been selected: Канал(ы) не были выбраны No channel(s) have been selected: Канал(ы) не были выбраны
Add Selected To Profile: Добавить выбранное в профиль Add Selected To Profile: Добавить выбранное в профиль
Delete Selected: Удалить выбранное Delete Selected: Удалить выбранное
Select None: Выбрать ничего Select None: Не выбрано
Select All: Выбрать все Select All: Выбрать все
$ selected: $ выбрано $ selected: $ выбрано
Other Channels: Другие каналы Other Channels: Другие каналы
Subscription List: Список подписок Subscription List: Список подписок
Profile Filter: Фильтры профилей
The playlist has been reversed: Плейлист был перевёрнут The playlist has been reversed: Плейлист был перевёрнут
A new blog is now available, $. Click to view more: Теперь доступен новый блог $. A new blog is now available, $. Click to view more: Теперь доступен новый блог $.
Нажмите, чтобы увидеть больше Нажмите, чтобы увидеть больше
@ -629,7 +634,7 @@ Download From Site: Скачать с сайта
Version $ is now available! Click for more details: Версия $ уже доступна! Нажмите, Version $ is now available! Click for more details: Версия $ уже доступна! Нажмите,
чтобы узнать больше чтобы узнать больше
This video is unavailable because of missing formats. This can happen due to country unavailability.: Это This video is unavailable because of missing formats. This can happen due to country unavailability.: Это
видео недоступно из-за отсутствия форматов. Это может произойти из-за недоступности видео недоступно из-за отсутствия форматов. Это может произойти из-за ограничений
страны. страны.
Tooltips: Tooltips:
General Settings: General Settings:
@ -644,14 +649,13 @@ Tooltips:
Preferred API Backend: Выберите серверную часть, которую FreeTube использует для Preferred API Backend: Выберите серверную часть, которую FreeTube использует для
получения данных. Локальный API - это встроенный экстрактор. Invidious API требует получения данных. Локальный API - это встроенный экстрактор. Invidious API требует
подключения к Invidious серверу. подключения к Invidious серверу.
Region for Trending: Область тенденций позволяет вам выбрать популярные видео Region for Trending: Регион трендов позволяет вам выбрать популярные видео из
из страны, которые вы хотите отображать. Не все отображаемые страны на самом выбранной страны. Не все отображаемые страны поддерживаются YouTube
деле поддерживаются YouTube
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: Если этот параметр включен, FreeTube будет использовать Fetch Feeds from RSS: Если этот параметр включен, FreeTube будет получать вашу
RSS вместо метода по умолчанию для получения вашего канала подписки. RSS работает ленту подписок с помощью RSS, а не как обычно. RSS работает быстрее и предотвращает
быстрее и предотвращает блокировку IP, но не предоставляет определенную информацию, блокировку IP, но не предоставляет определенную информацию, такую как продолжительность
такую как продолжительность видео или статус в реальном времени видео или сведения о том, транслируется ли видео в реальном времени
Player Settings: Player Settings:
Default Video Format: Установите форматы, используемые при воспроизведении видео. Default Video Format: Установите форматы, используемые при воспроизведении видео.
Формат dash может воспроизводить более высокое качество. Устаревшие форматы Формат dash может воспроизводить более высокое качество. Устаревшие форматы
@ -664,3 +668,17 @@ Tooltips:
устаревшие форматы, возвращаемые им, вместо форматов, возвращаемых Invidious. устаревшие форматы, возвращаемые им, вместо форматов, возвращаемых Invidious.
Помогает, когда видео, возвращенные Invidious, не воспроизводятся из-за ограничений Помогает, когда видео, возвращенные Invidious, не воспроизводятся из-за ограничений
страны страны
Privacy Settings:
Remove Video Meta Files: Если этот параметр включен, FreeTube автоматически удаляет
метафайлы, созданные во время воспроизведения видео, когда страница просмотра
закрывается.
More: Больше
Playing Next Video Interval: Воспроизведение следующего видео без задержки. Нажмите
для отмены. | Воспроизведение следующего видео через {nextVideoInterval} сек. Нажмите
для отмены. | Воспроизведение следующего видео через {nextVideoInterval} сек. Нажмите
для отмены.
Hashtags have not yet been implemented, try again later: Хештеги еще не реализованы,
попробуйте позже
Unknown YouTube url type, cannot be opened in app: Неизвестный тип URL-адреса YouTube,
не может быть открыт в приложении
Open New Window: Открыть новое окно

View File

@ -1,5 +1,5 @@
# Put the name of your locale in the same language # Put the name of your locale in the same language
Locale Name: 'English (US)' Locale Name: 'ᱥᱟᱱᱛᱟᱲᱤ'
FreeTube: 'FreeTube' FreeTube: 'FreeTube'
# Currently on Subscriptions, Playlists, and History # Currently on Subscriptions, Playlists, and History
'This part of the app is not ready yet. Come back later when progress has been made.': >- 'This part of the app is not ready yet. Come back later when progress has been made.': >-

View File

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

View File

@ -30,8 +30,8 @@ Close: 'Zapri'
Back: 'Nazaj' Back: 'Nazaj'
Forward: 'Naprej' Forward: 'Naprej'
Version $ is now available! Click for more details: 'Na voljo je različica $!·· ·· Version $ is now available! Click for more details: 'Na voljo je različica $!· Za
Za več podrobnosti kliknite tukaj' več podrobnosti kliknite tukaj'
Download From Site: 'Prenesi iz spletne strani' Download From Site: 'Prenesi iz spletne strani'
A new blog is now available, $. Click to view more: 'Na voljo je nov članek, $. Kliknite A new blog is now available, $. Click to view more: 'Na voljo je nov članek, $. Kliknite
tukaj, če ga želite prebrati' tukaj, če ga želite prebrati'
@ -71,6 +71,7 @@ Search Filters:
Fetching results. Please wait: 'Pridobivamo rezultate. Prosimo, počakajte' Fetching results. Please wait: 'Pridobivamo rezultate. Prosimo, počakajte'
Fetch more results: 'Pridobi več rezultatov' Fetch more results: 'Pridobi več rezultatov'
# Sidebar # Sidebar
There are no more results for this search: Nič več rezultatov
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: 'Naročnine' Subscriptions: 'Naročnine'
@ -81,14 +82,21 @@ Subscriptions:
'Getting Subscriptions. Please wait.': 'Pridobivamo naročnine. Prosimo, počakajte.' 'Getting Subscriptions. Please wait.': 'Pridobivamo naročnine. Prosimo, počakajte.'
Refresh Subscriptions: 'Osveži naročnine' Refresh Subscriptions: 'Osveži naročnine'
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Ta 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, profil ima veliko količino naročnin.· Da bi se izognili omejitvi hitrosti, bo
bo uporabljen RSS uporabljen RSS
Load More Videos: Naloži več videoposnetkov Load More Videos: Naloži več videoposnetkov
Trending: 'Priljubljeno' Trending: 'Priljubljeno'
Most Popular: 'Najbolj popularno' Most Popular: 'Najbolj popularno'
Playlists: 'Seznami predvajanja' Playlists: 'Seznami predvajanja'
User Playlists: User Playlists:
Your Playlists: 'Vaši seznami predvajanja' 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: History:
# On History Page # On History Page
History: 'Zgodovina' History: 'Zgodovina'
@ -125,6 +133,7 @@ Settings:
(prevzeta je https://invidious.snopyta.org)' (prevzeta je https://invidious.snopyta.org)'
Region for Trending: 'Regija za priljubljene videoposnetke' Region for Trending: 'Regija za priljubljene videoposnetke'
#! List countries #! List countries
View all Invidious instance information: Prikaži vse podatke o Invidious domeni
Theme Settings: Theme Settings:
Theme Settings: 'Nastavitve tem' Theme Settings: 'Nastavitve tem'
Match Top Bar with Main Color: 'Uskladi zgornji trak z glavno barvo' Match Top Bar with Main Color: 'Uskladi zgornji trak z glavno barvo'
@ -185,6 +194,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Razmik med videoposnetki v seznamu predvajanja
Privacy Settings: Privacy Settings:
Privacy Settings: 'Nastavitve zasebnosti' Privacy Settings: 'Nastavitve zasebnosti'
Remember History: 'Zapomni si zgodovino' Remember History: 'Zapomni si zgodovino'
@ -199,8 +209,8 @@ Settings:
Watch history has been cleared: 'Zgodovina gledanj je bila izbrisana' Watch history has been cleared: 'Zgodovina gledanj je bila izbrisana'
Remove All Subscriptions / Profiles: 'Izbriši vse naročnine/profile' 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 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 prepričani, da želite izbrisati vse naročnine in profile?· Te odločitve ni
ni mogoče razveljaviti.' mogoče razveljaviti.'
Subscription Settings: Subscription Settings:
Subscription Settings: 'Nastavitve naročnin' Subscription Settings: 'Nastavitve naročnin'
Hide Videos on Watch: 'Skrij gledane videoposnetke' Hide Videos on Watch: 'Skrij gledane videoposnetke'
@ -244,6 +254,7 @@ Settings:
Unknown data key: 'Neznan podatkovni ključ' Unknown data key: 'Neznan podatkovni ključ'
How do I import my subscriptions?: 'Kako lahko uvozim moje naročnine?' How do I import my subscriptions?: 'Kako lahko uvozim moje naročnine?'
Check for Legacy Subscriptions: Poišči zapuščinske naročnine Check for Legacy Subscriptions: Poišči zapuščinske naročnine
Manage Subscriptions: Upravljaj z naročninami
Advanced Settings: Advanced Settings:
Advanced Settings: 'Napredne nastavitve' Advanced Settings: 'Napredne nastavitve'
Enable Debug Mode (Prints data to the console): 'Vklopi razhroščevalni način (podatke 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 Channel Subscribers: Skrij število naročnikov
Hide Video Views: Skrij število ogledov Hide Video Views: Skrij število ogledov
Distraction Free Settings: Brezmotenjske nastavitve 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 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 se mora ponovno zagnati, preden bodo spremembe uveljavljene. Ga želite ponovno
zagnati zdaj? 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: About:
#On About page #On About page
About: 'O programu' About: 'O programu'
@ -314,6 +344,31 @@ About:
Latest FreeTube News: 'Najnovejše FreeTube novice' 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:
Profile Select: 'Izberi profil' Profile Select: 'Izberi profil'
All Channels: 'Vsi kanali' All Channels: 'Vsi kanali'
@ -350,12 +405,14 @@ Profile:
No channel(s) have been selected: 'Označili niste nobenih kanalov' 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 ? This is your primary profile. Are you sure you want to delete the selected channels? The
same channels will be deleted in any profile they are found in. same channels will be deleted in any profile they are found in.
: 'To je vaš primarni profil.·· ·· Ste prepričani, da želite izbrisati označene : 'To je vaš primarni profil.· Ste prepričani, da želite izbrisati označene kanale?· Kanali
kanale?·· ·· Kanali bodo izbrisani v vseh profilih, kjer se nahajajo.' 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 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 prepričani, da želite izbrisati označene kanale?
iz drugih profilov.'
· Kanali ne bodo izbrisani iz drugih profilov.'
#On Channel Page #On Channel Page
Profile Filter: Filter profilov
Channel: Channel:
Subscriber: 'Naročnik' Subscriber: 'Naročnik'
Subscribers: 'Naročnikov' Subscribers: 'Naročnikov'
@ -425,8 +482,9 @@ Video:
Live chat is enabled. Chat messages will appear here once sent.: 'Pogovor v živo Live chat is enabled. Chat messages will appear here once sent.: 'Pogovor v živo
je vklopljen.' je vklopljen.'
'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': 'Pogovor '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 v živo trenutno ni podprt v Invidious APV.
z YouTube-om.'
· Potrebna je neposredna povezava z YouTubom.'
Published: Published:
Jan: 'jan.' Jan: 'jan.'
Feb: 'feb.' Feb: 'feb.'
@ -468,6 +526,16 @@ Video:
audio only: Samo avdio audio only: Samo avdio
video only: Samo video video only: Samo video
Download Video: Prenesi videoposnetek 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: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -514,6 +582,8 @@ Share:
Invidious Embed URL copied to clipboard: 'Invidious vložek URL kopiran' Invidious Embed URL copied to clipboard: 'Invidious vložek URL kopiran'
YouTube URL copied to clipboard: 'YouTube URL kopiran' YouTube URL copied to clipboard: 'YouTube URL kopiran'
YouTube Embed URL copied to clipboard: 'YouTube vložek 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' Mini Player: 'Mini predvajalnik'
Comments: Comments:
Comments: 'Komentarji' 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 Playing next video in 5 seconds. Click to cancel: 'Naslednji videoposnetek čez 5
sekund. Kliknite za preklic.' sekund. Kliknite za preklic.'
Canceled next video autoplay: 'Samodejno predvajanje preklicano' Canceled next video autoplay: 'Samodejno predvajanje preklicano'
'The playlist has ended. Enable loop to continue playing': 'Seznama predvajanja je 'The playlist has ended. Enable loop to continue playing': "Seznama predvajanja je\
konec. ·· ·· Vklopite ponovno predvajanje, če želite nadaljevati' \ konec. \n· Vklopite ponovno predvajanje, če želite nadaljevati"
Yes: 'Da' Yes: 'Da'
No: 'Ne' 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.

574
static/locales/sr.yaml Normal file
View File

@ -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: ''

View File

@ -70,6 +70,8 @@ Search Filters:
Fetching results. Please wait: 'Hämtar resultat. Snälla vänta' Fetching results. Please wait: 'Hämtar resultat. Snälla vänta'
Fetch more results: 'Hämta fler resultat' Fetch more results: 'Hämta fler resultat'
# Sidebar # Sidebar
There are no more results for this search: Det finns inte fler resultat för den
här sökningen
Subscriptions: Subscriptions:
# On Subscriptions Page # On Subscriptions Page
Subscriptions: 'Prenumerationer' Subscriptions: 'Prenumerationer'
@ -342,7 +344,7 @@ About:
Mastodon: Mastodon Mastodon: Mastodon
Email: E-post Email: E-post
Blog: Blogg Blog: Blogg
Website: Webbsida Website: Webbplats
Please check for duplicates before posting: Vänligen kontrollera om dubbletter innan Please check for duplicates before posting: Vänligen kontrollera om dubbletter innan
du postar du postar
GitHub issues: GitHub-problem GitHub issues: GitHub-problem

View File

@ -1,6 +1,6 @@
# Put the name of your locale in the same language # Put the name of your locale in the same language
Locale Name: 'Türkçe' Locale Name: 'Türkçe'
FreeTube: 'Freetube' FreeTube: 'FreeTube'
# Currently on Subscriptions, Playlists, and History # Currently on Subscriptions, Playlists, and History
'This part of the app is not ready yet. Come back later when progress has been made.': >- 'This part of the app is not ready yet. Come back later when progress has been made.': >-
Uygulamanın bu bölümü henüz hazır değil. Tamamlanınca geri gel. Uygulamanın bu bölümü henüz hazır değil. Tamamlanınca geri gel.
@ -76,7 +76,7 @@ Subscriptions:
Subscriptions: 'Abonelikler' Subscriptions: 'Abonelikler'
Latest Subscriptions: 'En Yeni' Latest Subscriptions: 'En Yeni'
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'Abonelik 'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'Abonelik
listeniz şu anda boş. Burada görmek için abone olmaya başlayın.' listeniz şu anda boş. Aboneliklerinizi görebilmek için abone olmaya başlayın.'
'Getting Subscriptions. Please wait.': 'Abonelikler yükleniyor. Lütfen bekleyin.' 'Getting Subscriptions. Please wait.': 'Abonelikler yükleniyor. Lütfen bekleyin.'
Refresh Subscriptions: 'Abonelikleri Yenile' Refresh Subscriptions: 'Abonelikleri Yenile'
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Bu This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Bu
@ -88,8 +88,8 @@ Playlists: 'Oynatma Listeleri'
User Playlists: User Playlists:
Your Playlists: 'Oynatma Listelerin' Your Playlists: 'Oynatma Listelerin'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Kaydedilen Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Kaydedilen
videolarınız boş. Burada listelenmesi için videonun köşesindeki kaydet düğmesine videolarınız boş. Kaydedilen videolarınızın burada listelenmesi için videonun
tıklayın köşesindeki kaydet düğmesine tıklayın
Playlist Message: Bu sayfa, tam olarak çalışan oynatma listelerini yansıtmamaktadır. Playlist Message: Bu sayfa, tam olarak çalışan oynatma listelerini yansıtmamaktadır.
Yalnızca kaydettiğiniz veya favorilerinize eklediğiniz videoları listeler. İş Yalnızca kaydettiğiniz veya favorilerinize eklediğiniz videoları listeler. İş
bittiğinde, şu anda burada bulunan tüm videolar bir 'Favoriler' oynatma listesine bittiğinde, şu anda burada bulunan tüm videolar bir 'Favoriler' oynatma listesine
@ -109,7 +109,7 @@ Settings:
Fallback to Non-Preferred Backend on Failure: 'Hata Durumunda Tercih Edilmeyen Fallback to Non-Preferred Backend on Failure: 'Hata Durumunda Tercih Edilmeyen
Arka Uca Geç' Arka Uca Geç'
Enable Search Suggestions: 'Arama Önerilerini Etkinleştir' Enable Search Suggestions: 'Arama Önerilerini Etkinleştir'
Default Landing Page: 'Varsayılanılış Ekranı' Default Landing Page: 'Öntanımlıılış Ekranı'
Locale Preference: 'Tercih Edilen Yerel Ayar' Locale Preference: 'Tercih Edilen Yerel Ayar'
Preferred API Backend: Preferred API Backend:
Preferred API Backend: 'Tercih Edilen API Arka Ucu' Preferred API Backend: 'Tercih Edilen API Arka Ucu'
@ -121,15 +121,16 @@ Settings:
List: 'Liste' List: 'Liste'
Thumbnail Preference: Thumbnail Preference:
Thumbnail Preference: 'Küçük Resim Tercihi' Thumbnail Preference: 'Küçük Resim Tercihi'
Default: 'Varsayılan' Default: 'Öntanımlı'
Beginning: 'Başlangıç' Beginning: 'Başlangıç'
Middle: 'Orta' Middle: 'Orta'
End: 'Bitiş' End: 'Bitiş'
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious Örneği 'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious Örneği
(Varsayılan https://invidious.snopyta.org)' (Öntanımlı olarak https://invidious.snopyta.org)'
Region for Trending: 'Trendler İçin Bölge Tercihi' Region for Trending: 'Trendler İçin Bölge Tercihi'
#! List countries #! List countries
View all Invidious instance information: Tüm Invidious örnek bilgilerini görüntüle View all Invidious instance information: Tüm Invidious örnek bilgilerini görüntüle
System Default: Sistem Öntanımlı Değeri
Theme Settings: Theme Settings:
Theme Settings: 'Tema Ayarları' Theme Settings: 'Tema Ayarları'
Match Top Bar with Main Color: 'Üst Barı Ana Renk ile Eşleştir' Match Top Bar with Main Color: 'Üst Barı Ana Renk ile Eşleştir'
@ -166,20 +167,20 @@ Settings:
Force Local Backend for Legacy Formats: 'Eski Biçimler için Yerel Arka Ucu Kullanmaya Force Local Backend for Legacy Formats: 'Eski Biçimler için Yerel Arka Ucu Kullanmaya
Zorla' Zorla'
Play Next Video: 'Sonraki Videoyu Oynat' Play Next Video: 'Sonraki Videoyu Oynat'
Turn on Subtitles by Default: 'Altyazıyı Varsayılan Olarak Aç' Turn on Subtitles by Default: 'Alt Yazıları Öntanımlı Olarak Aç'
Autoplay Videos: 'Videoları Otomatik Başlat' Autoplay Videos: 'Videoları Otomatik Başlat'
Proxy Videos Through Invidious: 'Videolari Invidious Üzerinden Aktar' Proxy Videos Through Invidious: 'Videolari Invidious Üzerinden Aktar'
Autoplay Playlists: 'Oytma Listelerini Otomatik Başlat' Autoplay Playlists: 'Oytma Listelerini Otomatik Başlat'
Enable Theatre Mode by Default: 'Sinema Modunu Varsayılan Olarak Etkinleştir' Enable Theatre Mode by Default: 'Sinema Modunu Öntanımlı Olarak Etkinleştir'
Default Volume: 'Varsayılan Ses Düzeyi' Default Volume: 'Öntanımlı Ses Düzeyi'
Default Playback Rate: 'Varsayılan Oynatma Hızı' Default Playback Rate: 'Öntanımlı Oynatma Hızı'
Default Video Format: Default Video Format:
Default Video Format: 'Varsayılan Video Biçimi' Default Video Format: 'Öntanımlı Video Biçimi'
Dash Formats: 'Dash Biçimleri' Dash Formats: 'DASH Biçimleri'
Legacy Formats: 'Eski Biçimler' Legacy Formats: 'Eski Biçimler'
Audio Formats: 'Ses Biçimi' Audio Formats: 'Ses Biçimleri'
Default Quality: Default Quality:
Default Quality: 'Varsayılan Kalite' Default Quality: 'Öntanımlı Kalite'
Auto: 'Otomatik' Auto: 'Otomatik'
144p: '144p' 144p: '144p'
240p: '240p' 240p: '240p'
@ -191,6 +192,7 @@ Settings:
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Oynatma Listesi Sonraki Video Aralığı Playlist Next Video Interval: Oynatma Listesi Sonraki Video Aralığı
Next Video Interval: Sonraki Video Aralığı
Privacy Settings: Privacy Settings:
Privacy Settings: 'Gizlilik Ayarları' Privacy Settings: 'Gizlilik Ayarları'
Remember History: 'Geçmişi Hatırla' Remember History: 'Geçmişi Hatırla'
@ -206,6 +208,8 @@ Settings:
Remove All Subscriptions / Profiles: 'Tüm Abonelikler/Profilleri Temizle' 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 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.' 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:
Subscription Settings: 'Abonelik Ayarları' Subscription Settings: 'Abonelik Ayarları'
Hide Videos on Watch: 'İzlenmiş Videoları Gizle' Hide Videos on Watch: 'İzlenmiş Videoları Gizle'
@ -309,6 +313,12 @@ Settings:
Proxy Protocol: Vekil Sunucu Protokolü Proxy Protocol: Vekil Sunucu Protokolü
Enable Tor / Proxy: Tor / Vekil Sunucu Etkinleştir Enable Tor / Proxy: Tor / Vekil Sunucu Etkinleştir
Proxy Settings: Vekil Sunucu Ayarları Proxy Settings: Vekil Sunucu Ayarları
SponsorBlock Settings:
Notify when sponsor segment is skipped: Sponsor bölümü atlandığında bildir
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': SponsorBlock API
URL'si (Öntanımlı olarak https://sponsor.ajay.app)
Enable SponsorBlock: SponsorBlock'u Etkinleştir
SponsorBlock Settings: SponsorBlock Ayarları
About: About:
#On About page #On About page
About: 'Hakkında' About: 'Hakkında'
@ -340,7 +350,7 @@ About:
Latest FreeTube News: 'En Yeni FreeTube Haberleri' Latest FreeTube News: 'En Yeni FreeTube Haberleri'
Translate via Weblate: Weblate'de Çevir Translate via Weblate: Weblate'de Çevir
Website: Web Sitesi Website: İnternet Sitesi
Source Code: Kaynak Kodları Source Code: Kaynak Kodları
Release Notes: Sürüm Notları Release Notes: Sürüm Notları
Blog: Blog Blog: Blog
@ -363,8 +373,8 @@ About:
Please read the: Lütfen okuyun Please read the: Lütfen okuyun
Chat on Matrix: Matrix'te sohbet et Chat on Matrix: Matrix'te sohbet et
Mastodon: Mastodon Mastodon: Mastodon
Please check for duplicates before posting: Lütfen göndermeden önce yinelenmeleri Please check for duplicates before posting: Lütfen bildirmeden önce bildirilmiş
denetleyin olup olmadığını kontrol edin
GitHub issues: GitHub sorunları GitHub issues: GitHub sorunları
Report a problem: Sorun bildir Report a problem: Sorun bildir
FreeTube Wiki: FreeTube Wiki FreeTube Wiki: FreeTube Wiki
@ -384,7 +394,7 @@ Profile:
Profile Preview: 'Profil Önizleme' Profile Preview: 'Profil Önizleme'
Create Profile: 'Profil Oluştur' Create Profile: 'Profil Oluştur'
Update Profile: 'Profili Güncelle' Update Profile: 'Profili Güncelle'
Make Default Profile: 'Varsayılan Profil Yap' Make Default Profile: 'Öntanımlı Profil Yap'
Delete Profile: 'Profili Sil' Delete Profile: 'Profili Sil'
Are you sure you want to delete this profile?: 'Bu profili silmek istediğinizden Are you sure you want to delete this profile?: 'Bu profili silmek istediğinizden
emin misiniz?' emin misiniz?'
@ -393,9 +403,9 @@ Profile:
Your profile name cannot be empty: 'Profil adı boş bırakılamaz' Your profile name cannot be empty: 'Profil adı boş bırakılamaz'
Profile has been created: 'Profil oluşturuldu' Profile has been created: 'Profil oluşturuldu'
Profile has been updated: 'Profil güncellendi' Profile has been updated: 'Profil güncellendi'
Your default profile has been set to $: 'Varsayılan profiliniz $ olarak ayarlandı' Your default profile has been set to $: 'Öntanımlı profiliniz $ olarak ayarlandı'
Removed $ from your profiles: '$ Profillerinizden kaldırıldı' Removed $ from your profiles: '$ Profillerinizden kaldırıldı'
Your default profile has been changed to your primary profile: 'Varsayılan profiliniz Your default profile has been changed to your primary profile: 'Öntanımlı profiliniz
birincil profiliniz olarak değiştirildi' birincil profiliniz olarak değiştirildi'
$ is now the active profile: '$ artık etkin profil' $ is now the active profile: '$ artık etkin profil'
Subscription List: 'Abonelik Listesi' Subscription List: 'Abonelik Listesi'
@ -417,13 +427,13 @@ Profile:
Profile Filter: Profil Filtresi Profile Filter: Profil Filtresi
Channel: Channel:
Subscriber: 'Abone' Subscriber: 'Abone'
Subscribers: 'Aboneler' Subscribers: 'Abone'
Subscribe: 'Abone ol' Subscribe: 'Abone ol'
Unsubscribe: 'Abonelikten çık' Unsubscribe: 'Abonelikten çık'
Channel has been removed from your subscriptions: 'Kanal aboneliklerinizden kaldırıldı' Channel has been removed from your subscriptions: 'Kanal aboneliklerinizden kaldırıldı'
Removed subscription from $ other channel(s): 'Diğer $ kanallarından abonelik kaldırıldı' Removed subscription from $ other channel(s): 'Diğer $ kanallarından abonelik kaldırıldı'
Added channel to your subscriptions: 'Kanal aboneliklerinize eklendi' Added channel to your subscriptions: 'Kanal aboneliklerinize eklendi'
Search Channel: 'Kanal ara' Search Channel: 'Kanalda ara'
Your search results have returned 0 results: 'Arama sonuçlarınız 0 sonuç verdi' Your search results have returned 0 results: 'Arama sonuçlarınız 0 sonuç verdi'
Sort By: 'Sırala' Sort By: 'Sırala'
Videos: Videos:
@ -514,7 +524,7 @@ Video:
Upcoming: 'İlk gösterim tarihi' Upcoming: 'İlk gösterim tarihi'
Published on: 'Yayımlanma tarihi' Published on: 'Yayımlanma tarihi'
# $ is replaced with the number and % with the unit (days, hours, minutes...) # $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: '$ % önce' Publicationtemplate: '$ % önce'
#& Videos #& Videos
Audio: Audio:
Best: En iyi Best: En iyi
@ -533,6 +543,15 @@ Video:
Video has been removed from your saved list: Video, kaydedilen listenizden kaldırıldı Video has been removed from your saved list: Video, kaydedilen listenizden kaldırıldı
Video has been saved: Video kaydedildi Video has been saved: Video kaydedildi
Save Video: Videoyu Kaydet Save Video: Videoyu Kaydet
translated from English: İngilizceden çevrildi
Sponsor Block category:
music offtopic: müzik konu dışı
interaction: etkileşim
self-promotion: kendini tanıtma
outro: çıkış
intro: giriş
sponsor: sponsor
Skipped segment: Atlanan bölüm
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -559,13 +578,13 @@ Playlist:
#& Views #& Views
Toggle Theatre Mode: 'Tiyatro Modunu Aç/Kapat' Toggle Theatre Mode: 'Tiyatro Modunu Aç/Kapat'
Change Format: Change Format:
Change Video Formats: 'Video Biçimini Değiştir' Change Video Formats: 'Video Biçimlerini Değiştir'
Use Dash Formats: 'Dash Biçimi Kullan' Use Dash Formats: 'DASH Biçimlerini Kullan'
Use Legacy Formats: 'Eski Biçimleri Kullan' Use Legacy Formats: 'Eski Biçimleri Kullan'
Use Audio Formats: 'Ses Biçimi Kullan' Use Audio Formats: 'Ses Biçimlerini Kullan'
Dash formats are not available for this video: 'Dash biçimi bu video için kullanılabilir Dash formats are not available for this video: 'DASH biçimleri bu video için kullanılabilir
değil' değil'
Audio formats are not available for this video: 'Ses biçimi bu video için kullanılabilir Audio formats are not available for this video: 'Ses biçimleri bu video için kullanılabilir
değil' değil'
Share: Share:
Share Video: 'Videoyu Paylaş' Share Video: 'Videoyu Paylaş'
@ -635,34 +654,42 @@ Tooltips:
önüne geçer, ancak video süresi veya canlı yayın durumu gibi belirli bilgileri önüne geçer, ancak video süresi veya canlı yayın durumu gibi belirli bilgileri
sağlamaz sağlamaz
Player Settings: Player Settings:
Default Video Format: Bir video oynatılırken kullanılan biçimleri ayarlayın. Dash Default Video Format: Bir video oynatılırken kullanılan biçimleri ayarlayın. DASH
biçimleri daha yüksek kalitelerde oynatabilir. Eski biçimler en fazla 720p ile biçimleri daha yüksek kalitelerde oynatabilir. Eski biçimler en fazla 720p ile
sınırlıdır ancak daha az bant genişliği kullanır. Ses biçimleri yalnızca ses sınırlıdır ancak daha az bant genişliği kullanır. Ses biçimleri yalnızca ses
akışlarıdır akışlarıdır.
Proxy Videos Through Invidious: Videoları sunmak için YouTube ile doğrudan bağlantı Proxy Videos Through Invidious: Videoları sunmak için YouTube ile doğrudan bağlantı
kurmak yerine Invidious'a bağlanılacak. API tercihini geçersiz kılar kurmak yerine Invidious'a bağlanılacak. API tercihini geçersiz kılar.
Force Local Backend for Legacy Formats: Yalnızca Invidious API'si öntanımlı seçeneğiniz Force Local Backend for Legacy Formats: Yalnızca Invidious API'si öntanımlı seçeneğiniz
olduğunda çalışır. Etkinleştirildiğinde, yerel API çalışacak ve Invidious tarafından olduğunda çalışır. Etkinleştirildiğinde, yerel API çalışacak ve Invidious tarafından
döndürülen biçimler yerine onun döndürdüğü eski biçimler kullanılacaktır. Invidious döndürülen biçimler yerine onun döndürdüğü eski biçimler kullanılacaktır. Invidious
tarafından döndürülen videolar ülke kısıtlamaları nedeniyle oynatılmadığında tarafından döndürülen videolar ülke kısıtlamaları nedeniyle oynatılmadığında
yardımcı olur yardımcı olur.
General Settings: General Settings:
Invidious Instance: FreeTube'un API çağrıları için bağlanacağı Invidious örneği. Invidious Instance: FreeTube'un API çağrıları için bağlanacağı Invidious örneği.
Aralarından seçim yapabileceğiniz herkese açık örneklerin bir listesini görmek Aralarından seçim yapabileceğiniz herkese açık örneklerin bir listesini görmek
için geçerli örneği temizleyin için geçerli örneği temizleyin.
Thumbnail Preference: FreeTube'daki tüm küçük resimler, öntanımlı küçük resim Thumbnail Preference: FreeTube'daki tüm küçük resimler, öntanımlı küçük resim
yerine videonun bir karesiyle değiştirilecektir yerine videonun bir karesiyle değiştirilecektir.
Fallback to Non-Preferred Backend on Failure: Etkinleştirildiğinde, tercih ettiğiniz Fallback to Non-Preferred Backend on Failure: Etkinleştirildiğinde, tercih ettiğiniz
API'de bir sorun olduğunda FreeTube otomatik olarak tercih edilmeyen API'nizi API'de bir sorun olduğunda FreeTube otomatik olarak tercih edilmeyen API'nizi
yedek yöntem olarak kullanmaya çalışır yedek yöntem olarak kullanmaya çalışır.
Preferred API Backend: FreeTube'un veri elde etmek için kullandığı arka ucu seçin. Preferred API Backend: FreeTube'un veri elde etmek için kullandığı arka ucu seçin.
Yerel API yerleşik bir çıkarıcıdır. Invidious API'si, bağlanmak için bir Invidious Yerel API yerleşik bir çıkarıcıdır. Invidious API'si, bağlanmak için bir Invidious
sunucusu gerektirir. sunucusu gerektirir.
Region for Trending: Trendlerin bölgesi, hangi ülkenin trend videolarını görüntülemek 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 istediğinizi seçmenize olanak tanır. Görüntülenen ülkelerden bazıları YouTube
tarafından desteklenmemektedir 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. 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 | 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 tıklayın. | Sonraki video {nextVideoInterval} saniye içinde oynatılıyor. İptal etmek
için tıklayın. için tıklayın.
More: Daha Fazla More: Daha Fazla
Hashtags have not yet been implemented, try again later: Hashtag'ler henüz uygulanmadı,
daha sonra tekrar deneyin
Unknown YouTube url type, cannot be opened in app: Bilinmeyen YouTube URL türü, uygulamada
ılamıyor
Open New Window: Yeni Pencere Aç

View File

@ -85,15 +85,15 @@ Subscriptions:
Load More Videos: 'Завантажити більше відео' Load More Videos: 'Завантажити більше відео'
Trending: 'Популярне' Trending: 'Популярне'
Most Popular: 'Найпопулярніші' Most Popular: 'Найпопулярніші'
Playlists: 'Списки відтворення' Playlists: 'Добірки'
User Playlists: User Playlists:
Your Playlists: 'Ваші списки відтворення' Your Playlists: 'Ваші добірки'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Збережені Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Збережені
відео порожні. Клацніть на кнопку збереження у куті відео, щоб воно було перелічено відео порожні. Клацніть на кнопку збереження у куті відео, щоб воно було перелічено
тут тут
Playlist Message: Ця сторінка не відображає повністю робочих списків відтворення. Playlist Message: Ця сторінка не показує повністю робочих добірок. На ній перелічено
На ній перелічено лише відео, які ви зберегли або вибрали. Коли робота закінчиться, лише відео, які ви зберегли або вибрали. Коли робота завершиться, усі відео, які
усі відео, які зараз знаходяться тут, буде переміщено до списку відтворення "Вибране". зараз знаходяться тут, буде переміщено до добірки "Вибране".
History: History:
# On History Page # On History Page
History: 'Історія' History: 'Історія'
@ -113,8 +113,8 @@ Settings:
проблема, FreeTube спробує автоматично використати допоміжний API у якості резервного, проблема, FreeTube спробує автоматично використати допоміжний API у якості резервного,
якщо він увімкнений' якщо він увімкнений'
Enable Search Suggestions: 'Увімкнути рекомендації пошуку' Enable Search Suggestions: 'Увімкнути рекомендації пошуку'
Default Landing Page: 'Головна сторінка за замовчуванням' Default Landing Page: 'Типова головна сторінка'
Locale Preference: 'Локальні преференції' Locale Preference: 'Локальні налаштування'
Preferred API Backend: Preferred API Backend:
Preferred API Backend: 'Головний API бекенд' Preferred API Backend: 'Головний API бекенд'
Local API: 'Локальний API' Local API: 'Локальний API'
@ -135,6 +135,7 @@ Settings:
#! List countries #! List countries
View all Invidious instance information: Перегляд усіх відомостей про екземпляр View all Invidious instance information: Перегляд усіх відомостей про екземпляр
Invidious Invidious
System Default: За системними налаштуваннями
Theme Settings: Theme Settings:
Theme Settings: 'Налаштування теми' Theme Settings: 'Налаштування теми'
Match Top Bar with Main Color: 'Верхня панель основного кольору' Match Top Bar with Main Color: 'Верхня панель основного кольору'
@ -174,17 +175,17 @@ Settings:
Turn on Subtitles by Default: 'Увімкнути субтитри за замовченням' Turn on Subtitles by Default: 'Увімкнути субтитри за замовченням'
Autoplay Videos: 'Автоматичне відтворення відео' Autoplay Videos: 'Автоматичне відтворення відео'
Proxy Videos Through Invidious: 'Проксі-відео через Invidious' Proxy Videos Through Invidious: 'Проксі-відео через Invidious'
Autoplay Playlists: 'Автоматичне відтворення списків' Autoplay Playlists: 'Автоматичне відтворення добірок'
Enable Theatre Mode by Default: 'Усталено увімкнений режим театру' Enable Theatre Mode by Default: 'Типово увімкнути режим театру'
Default Volume: 'Гучніть за замовченням' Default Volume: 'Типова гучність'
Default Playback Rate: 'Усталена швидкість відтворення' Default Playback Rate: 'Типова швидкість відтворення'
Default Video Format: Default Video Format:
Default Video Format: 'Формат відео за замовченням' Default Video Format: 'Типовий формат відео'
Dash Formats: 'Формати Dash' Dash Formats: 'Формати DASH'
Legacy Formats: 'Застарілі формати' Legacy Formats: 'Застарілі формати'
Audio Formats: 'Аудіо формати' Audio Formats: 'Аудіо формати'
Default Quality: Default Quality:
Default Quality: 'Якість за замовченням' Default Quality: 'Типова якість'
Auto: 'Автоматично' Auto: 'Автоматично'
144p: '144p' 144p: '144p'
240p: '240p' 240p: '240p'
@ -196,6 +197,7 @@ Settings:
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: Інтервал відтворення наступного відео Playlist Next Video Interval: Інтервал відтворення наступного відео
Next Video Interval: Інтервал до наступного відео
Privacy Settings: Privacy Settings:
Privacy Settings: 'Налаштування приватності' Privacy Settings: 'Налаштування приватності'
Remember History: 'Збрігати історію' Remember History: 'Збрігати історію'
@ -211,6 +213,7 @@ Settings:
Remove All Subscriptions / Profiles: 'Видалити всі підписки / профілі' Remove All Subscriptions / Profiles: 'Видалити всі підписки / профілі'
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Справді Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 'Справді
хочете вилучити всі підписки та профілі? Цю дію не можна скасувати.' хочете вилучити всі підписки та профілі? Цю дію не можна скасувати.'
Automatically Remove Video Meta Files: Автоматично вилучати метафайли відео
Subscription Settings: Subscription Settings:
Subscription Settings: 'Налаштування підписки' Subscription Settings: 'Налаштування підписки'
Hide Videos on Watch: 'Ховати відео при перегляді' Hide Videos on Watch: 'Ховати відео при перегляді'
@ -227,7 +230,7 @@ Settings:
Hide Popular Videos: 'Не показувати популярні відео' Hide Popular Videos: 'Не показувати популярні відео'
Hide Live Chat: 'Не показувати живий чат' Hide Live Chat: 'Не показувати живий чат'
Hide Active Subscriptions: Сховати активні підписки Hide Active Subscriptions: Сховати активні підписки
Hide Playlists: Сховати списки відтворення Hide Playlists: Сховати добірки
Data Settings: Data Settings:
Data Settings: 'Налаштування даних' Data Settings: 'Налаштування даних'
Select Import Type: 'Оберіть тип імпорту' Select Import Type: 'Оберіть тип імпорту'
@ -303,6 +306,12 @@ Settings:
Proxy Protocol: Проксі-протокол Proxy Protocol: Проксі-протокол
Enable Tor / Proxy: Увімкнути Tor / Проксі Enable Tor / Proxy: Увімкнути Tor / Проксі
Proxy Settings: Налаштування проксі Proxy Settings: Налаштування проксі
SponsorBlock Settings:
Notify when sponsor segment is skipped: Сповіщати про пропуск спонсорованого відтинка
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': URL-адреса API SponsorBlock
(типово https://sponsor.ajay.app)
Enable SponsorBlock: Увімкнути SponsorBlock
SponsorBlock Settings: Налаштування SponsorBlock
About: About:
#On About page #On About page
About: 'Про' About: 'Про'
@ -410,9 +419,8 @@ Channel:
Oldest: 'Найдавніші' Oldest: 'Найдавніші'
Most Popular: 'Найпопулярніші' Most Popular: 'Найпопулярніші'
Playlists: Playlists:
Playlists: 'Списки відтворення' Playlists: 'Добірки'
This channel does not currently have any playlists: 'Цей канал наразі не має списків This channel does not currently have any playlists: 'Цей канал наразі не має добірок'
відтворення'
Sort Types: Sort Types:
Last Video Added: 'Останнє додане відео' Last Video Added: 'Останнє додане відео'
Newest: 'Найновіші' Newest: 'Найновіші'
@ -438,9 +446,9 @@ Video:
Copy Invidious Channel Link: 'Копіювати посилання на канал Invidious' Copy Invidious Channel Link: 'Копіювати посилання на канал Invidious'
View: 'Перегляд' View: 'Перегляд'
Views: 'Перегляди' Views: 'Перегляди'
Loop Playlist: 'Циклічний список відтворення' Loop Playlist: 'Зациклити добірку'
Shuffle Playlist: 'Перемішати список відтворення' Shuffle Playlist: 'Перемішати добірку'
Reverse Playlist: 'Змінити напрямок списку відтворення' Reverse Playlist: 'Змінити напрямок добірки'
Play Next Video: 'Відтворити наступне відео' Play Next Video: 'Відтворити наступне відео'
Play Previous Video: 'Відтворити попереднє відео' Play Previous Video: 'Відтворити попереднє відео'
# Context is "X People Watching" # Context is "X People Watching"
@ -509,6 +517,15 @@ Video:
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: Зберегти відео
translated from English: перекладено з англійської
Sponsor Block category:
music offtopic: музика по за темою
interaction: взаємодія
self-promotion: самореклама
outro: кінцівка
intro: вступ
sponsor: спонсор
Skipped segment: Пропущений відтинок
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -518,13 +535,13 @@ Videos:
#& Playlists #& Playlists
Playlist: Playlist:
#& About #& About
View Full Playlist: 'Переглянути повний список відтворення' View Full Playlist: 'Переглянути всю добірку'
Videos: 'Відео' Videos: 'Відео'
View: 'Перегляд' View: 'Перегляд'
Views: 'Переглядів' Views: 'Переглядів'
Last Updated On: 'Востаннє оновлено' Last Updated On: 'Востаннє оновлено'
Share Playlist: Share Playlist:
Share Playlist: 'Поділитися списком відтворення' Share Playlist: 'Поділитися добіркою'
Copy YouTube Link: 'Копіювати посилання youTube' Copy YouTube Link: 'Копіювати посилання youTube'
Open in YouTube: 'Відкрити в YouTube' Open in YouTube: 'Відкрити в YouTube'
Copy Invidious Link: 'Копіювати посилання Invidious' Copy Invidious Link: 'Копіювати посилання Invidious'
@ -536,10 +553,10 @@ Playlist:
Toggle Theatre Mode: 'Перемкнути режим театру' Toggle Theatre Mode: 'Перемкнути режим театру'
Change Format: Change Format:
Change Video Formats: 'Зміна форматів відео' Change Video Formats: 'Зміна форматів відео'
Use Dash Formats: 'Використовувати формати Dash' Use Dash Formats: 'Використовувати формати DASH'
Use Legacy Formats: 'Використовувати застарілі формати' Use Legacy Formats: 'Використовувати застарілі формати'
Use Audio Formats: 'Використовувати аудіоформати' Use Audio Formats: 'Використовувати аудіоформати'
Dash formats are not available for this video: 'Формати Dash недоступні для цього Dash formats are not available for this video: 'Формати DASH недоступні для цього
відео' відео'
Audio formats are not available for this video: 'Аудіоформати недоступні для цього Audio formats are not available for this video: 'Аудіоформати недоступні для цього
відео' відео'
@ -587,36 +604,39 @@ Up Next: 'Далі вгору'
Tooltips: Tooltips:
General Settings: General Settings:
Preferred API Backend: 'Виберіть сервер, який FreeTube використовує для отримання Preferred API Backend: 'Виберіть сервер, який FreeTube використовує для отримання
даних. Локальний API є вбудованим витягувачем. Для API Invidious потрібен сервер даних. Локальний API є вбудованим видобувачем. Для API Invidious потрібен сервер
Invidious для з'' єднання.' Invidious для з'' єднання.'
Fallback to Non-Preferred Backend on Failure: 'Коли бажаний API має проблеми, Fallback to Non-Preferred Backend on Failure: 'Коли бажаний API має проблеми,
FreeTube автоматично спробує використовувати ваш не вибраний API як запасний FreeTube автоматично спробує використовувати ваш не вибраний API як запасний
метод, коли його увімкнено' метод, коли його увімкнено.'
Thumbnail Preference: 'Усі ескізи у FreeTube заміняться на кадр відео, а не на Thumbnail Preference: 'Усі ескізи у FreeTube заміняться на кадр відео, а не на
типову мініатюру' типову мініатюру.'
Invidious Instance: 'Сервер Invidious, до якого FreeTube під''єднуватиметься для Invidious Instance: 'Сервер Invidious, до якого FreeTube під''єднуватиметься для
викликів API. Очистьте поточний сервер, щоб побачити список загальнодоступних викликів API. Очистьте поточний сервер, щоб побачити список загальнодоступних
серверів на вибір' серверів на вибір.'
Region for Trending: 'Регіон популярного дозволяє вам вибрати популярні відео Region for Trending: 'Регіон популярного дозволяє вам вибрати популярні відео
країни, які ви хочете бачити. Не всі показані країни насправді підтримуються країни, які ви хочете бачити. Не всі показані країни насправді підтримуються
YouTube' YouTube.'
Player Settings: Player Settings:
Force Local Backend for Legacy Formats: 'Працює, лише якщо API Invidious використовується Force Local Backend for Legacy Formats: 'Працює, лише якщо API Invidious використовується
типовим. Якщо увімкнено, локальний API буде запущено і використовуватиме застарілі типовим. Якщо увімкнено, локальний API буде запущено і використовуватиме застарілі
формати, які було повернуто Invidious. Допомагає, коли відео, повернуті Invidious, формати, які було повернуто Invidious. Допомагає, коли відео, повернуті Invidious,
не відтворюються через обмеження в країні' не відтворюються через обмеження в країні.'
Proxy Videos Through Invidious: 'Під’єднається до Invidious, щоб дивитися відео, Proxy Videos Through Invidious: 'Під’єднається до Invidious, щоб дивитися відео,
а не встановлювати пряме з’єднання з YouTube. Замінює налаштування API' а не встановлювати пряме з’єднання з YouTube. Замінює налаштування API.'
Default Video Format: 'Встановіть формати, що використовуються під час відтворення Default Video Format: 'Встановіть формати, що використовуються під час відтворення
відео. Формати Dash можуть відтворюватися в кращій якості. Старі формати мають відео. Формати DASH можуть відтворюватися в кращій якості. Старі формати мають
обмеження у 720p, але використовують меншу пропускну здатність. Формати аудіо обмеження у 720p, але використовують меншу пропускну здатність. Формати аудіо
— це лише аудіопотоки' — це лише аудіопотоки.'
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: 'Якщо ввімкнено, FreeTube використовуватиме RSS замість Fetch Feeds from RSS: 'Якщо ввімкнено, FreeTube використовуватиме RSS замість
стандартного способу захоплення каналу підписки. RSS швидше і запобігає блокуванню стандартного способу захоплення каналу підписки. RSS швидше і запобігає блокуванню
ІР, але не надає дані, як-от тривалість відео або стан трансляції' ІР, але не надає дані, як-от тривалість відео або стан трансляції'
# Toast Messages # Toast Messages
Privacy Settings:
Remove Video Meta Files: Якщо увімкнено, FreeTube автоматично видаляє метафайли,
створені під час відтворення відео, коли сторінку перегляду закрито.
Local API Error (Click to copy): 'Помилка локального API (натисніть, щоб скопіювати)' Local API Error (Click to copy): 'Помилка локального API (натисніть, щоб скопіювати)'
Invidious API Error (Click to copy): 'Помилка Invidious API (натисніть, щоб скопіювати)' Invidious API Error (Click to copy): 'Помилка Invidious API (натисніть, щоб скопіювати)'
Falling back to Invidious API: 'Повернення до API Invidious' Falling back to Invidious API: 'Повернення до API Invidious'
@ -629,13 +649,13 @@ Loop is now disabled: 'Цикл вимкнено'
Loop is now enabled: 'Цикл увімкнено' Loop is now enabled: 'Цикл увімкнено'
Shuffle is now disabled: 'Випадковий порядок вимкнено' Shuffle is now disabled: 'Випадковий порядок вимкнено'
Shuffle is now enabled: 'Випадковий порядок увімкнено' Shuffle is now enabled: 'Випадковий порядок увімкнено'
The playlist has been reversed: 'Список відтворення обернено' The playlist has been reversed: 'Добірку обернено'
Playing Next Video: 'Відтворення наступного відео' Playing Next Video: 'Відтворення наступного відео'
Playing Previous Video: 'Відтворення попереднього відео' Playing Previous Video: 'Відтворення попереднього відео'
Playing next video in 5 seconds. Click to cancel: 'Відтворення наступного відео за Playing next video in 5 seconds. Click to cancel: 'Відтворення наступного відео за
5 секунд. Клацніть, щоб скасувати операцію.' 5 секунд. Клацніть, щоб скасувати операцію.'
Canceled next video autoplay: 'Скасовано автовідтворення наступного відео' Canceled next video autoplay: 'Скасовано автовідтворення наступного відео'
'The playlist has ended. Enable loop to continue playing': 'Список відтворення закінчився. 'The playlist has ended. Enable loop to continue playing': 'Добірка завершилася.
Увімкніть цикл, щоб продовжити відтворення' Увімкніть цикл, щоб продовжити відтворення'
Yes: 'Так' Yes: 'Так'
@ -645,3 +665,8 @@ Playing Next Video Interval: Відтворення наступного від
Клацніть, щоб скасувати. | Відтворення наступного відео через {nextVideoInterval} Клацніть, щоб скасувати. | Відтворення наступного відео через {nextVideoInterval}
секунд. Клацніть, щоб скасувати. секунд. Клацніть, щоб скасувати.
More: Докладніше More: Докладніше
Hashtags have not yet been implemented, try again later: Хештеги ще не впроваджені,
спробуйте пізніше
Unknown YouTube url type, cannot be opened in app: Невідомий тип URL-адреси YouTube,
його не можна відкрити в застосункові
Open New Window: Відкрити нове вікно

View File

@ -175,6 +175,7 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: 播放列表 下一个影片时间间隔
Subscription Settings: Subscription Settings:
Subscription Settings: '订阅设置' Subscription Settings: '订阅设置'
Hide Videos on Watch: '观看时隐藏视频' Hide Videos on Watch: '观看时隐藏视频'
@ -222,6 +223,7 @@ Settings:
Clear Search Cache: 清除搜索缓存 Clear Search Cache: 清除搜索缓存
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 您确定您想移除所有订阅和配置文件吗?这无法撤销。 Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 您确定您想移除所有订阅和配置文件吗?这无法撤销。
Remove All Subscriptions / Profiles: 移除所有订阅 / 配置文件 Remove All Subscriptions / Profiles: 移除所有订阅 / 配置文件
Automatically Remove Video Meta Files: 自动删除硬盘元数据文件
Data Settings: Data Settings:
Subscriptions have been successfully exported: 订阅已成功导出 Subscriptions have been successfully exported: 订阅已成功导出
This might take a while, please wait: 这可能需要一段时间,请稍候 This might take a while, please wait: 这可能需要一段时间,请稍候
@ -264,6 +266,7 @@ Settings:
Hide Video Views: 隐藏视频观看数量 Hide Video Views: 隐藏视频观看数量
Distraction Free Settings: 零打扰设置 Distraction Free Settings: 零打扰设置
Hide Active Subscriptions: 隐藏活跃的订阅 Hide Active Subscriptions: 隐藏活跃的订阅
Hide Playlists: 隐藏播放列表
The app needs to restart for changes to take effect. Restart and apply change?: 应用需要重启让修改生效。重启以应用修改? The app needs to restart for changes to take effect. Restart and apply change?: 应用需要重启让修改生效。重启以应用修改?
Proxy Settings: Proxy Settings:
Proxy Protocol: 代理协议 Proxy Protocol: 代理协议
@ -278,6 +281,7 @@ Settings:
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: 代理主机
About: About:
#On About page #On About page
About: '关于' About: '关于'
@ -305,6 +309,21 @@ About:
#On Channel Page #On Channel Page
Source code: 源代码 Source code: 源代码
Beta: 测试版 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: Channel:
Subscriber: '订阅者' Subscriber: '订阅者'
Subscribers: '订阅者' Subscribers: '订阅者'
@ -414,6 +433,9 @@ Video:
Open Channel in YouTube: 在YouTube打开频道 Open Channel in YouTube: 在YouTube打开频道
Started streaming on: 开始在线直播于 Started streaming on: 开始在线直播于
Streamed on: 在线直播于 Streamed on: 在线直播于
Video has been removed from your saved list: 视频已从你的播放列表移除
Video has been saved: 视频已保存
Save Video: 保存视频到播放列表
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:

View File

@ -116,14 +116,15 @@ Settings:
Check for Latest Blog Posts: 檢查最新的部落格貼文 Check for Latest Blog Posts: 檢查最新的部落格貼文
Check for Updates: 檢查更新 Check for Updates: 檢查更新
View all Invidious instance information: 檢視所有 Invidious 站台的資訊 View all Invidious instance information: 檢視所有 Invidious 站台的資訊
System Default: 系統預設值
Theme Settings: Theme Settings:
Theme Settings: '主題設定' Theme Settings: '主題設定'
Match Top Bar with Main Color: '頂部功能表欄對應主色彩' Match Top Bar with Main Color: '頂部功能表欄對應主色彩'
Base Theme: Base Theme:
Base Theme: '基本主題' Base Theme: '基本主題'
Black: '黑' Black: '黑'
Dark: '深' Dark: '深'
Light: '淺' Light: '淺'
Main Color Theme: Main Color Theme:
Main Color Theme: '主題色' Main Color Theme: '主題色'
Red: '紅' Red: '紅'
@ -161,7 +162,7 @@ Settings:
Default Playback Rate: '預設播放速度' Default Playback Rate: '預設播放速度'
Default Video Format: Default Video Format:
Default Video Format: '預設影片格式' Default Video Format: '預設影片格式'
Dash Formats: 'Dash格式' Dash Formats: 'DASH 格式'
Legacy Formats: '傳統格式' Legacy Formats: '傳統格式'
Audio Formats: '音訊格式' Audio Formats: '音訊格式'
Default Quality: Default Quality:
@ -176,6 +177,8 @@ Settings:
1440p: '1440p' 1440p: '1440p'
4k: '4k' 4k: '4k'
8k: '8k' 8k: '8k'
Playlist Next Video Interval: 播放清單 下一個影片間隔時間
Next Video Interval: 下一個影片區段
Subscription Settings: Subscription Settings:
Subscription Settings: '訂閱設定' Subscription Settings: '訂閱設定'
Hide Videos on Watch: '觀看時隱藏影片' Hide Videos on Watch: '觀看時隱藏影片'
@ -223,6 +226,7 @@ Settings:
Privacy Settings: 隱私設定 Privacy Settings: 隱私設定
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 您確定要移除所有訂閱與設定檔嗎嗎? 注意:這無法復原。 Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: 您確定要移除所有訂閱與設定檔嗎嗎? 注意:這無法復原。
Remove All Subscriptions / Profiles: 移除所有訂閱/設定檔 Remove All Subscriptions / Profiles: 移除所有訂閱/設定檔
Automatically Remove Video Meta Files: 自動刪除影片元檔案
Data Settings: Data Settings:
How do I import my subscriptions?: 我要如何匯入我的訂閱? How do I import my subscriptions?: 我要如何匯入我的訂閱?
Unknown data key: 未知的資料金鑰 Unknown data key: 未知的資料金鑰
@ -265,6 +269,7 @@ Settings:
Hide Recommended Videos: 隱藏推薦影片 Hide Recommended Videos: 隱藏推薦影片
Hide Channel Subscribers: 隱藏頻道訂閱者 Hide Channel Subscribers: 隱藏頻道訂閱者
Hide Active Subscriptions: 隱藏作用中的訂閱 Hide Active Subscriptions: 隱藏作用中的訂閱
Hide Playlists: 隱藏播放清單
The app needs to restart for changes to take effect. Restart and apply change?: 此變更需要重啟讓修改生效。重啟並且套用變更? The app needs to restart for changes to take effect. Restart and apply change?: 此變更需要重啟讓修改生效。重啟並且套用變更?
Proxy Settings: Proxy Settings:
Error getting network information. Is your proxy configured properly?: 取得網路資訊時發生錯誤。您的代理伺服器設定正確嗎? Error getting network information. Is your proxy configured properly?: 取得網路資訊時發生錯誤。您的代理伺服器設定正確嗎?
@ -280,6 +285,12 @@ Settings:
Proxy Protocol: 代理伺服器協定 Proxy Protocol: 代理伺服器協定
Enable Tor / Proxy: 啟用 Tor 或代理伺服器 Enable Tor / Proxy: 啟用 Tor 或代理伺服器
Proxy Settings: 代理伺服器設定 Proxy Settings: 代理伺服器設定
SponsorBlock Settings:
Notify when sponsor segment is skipped: 當贊助商片段被跳過時通知
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': SponsorBlock API
網址(預設為 https://sponsor.ajay.app
Enable SponsorBlock: 啟用 SponsorBlock
SponsorBlock Settings: SponsorBlock 設定
About: About:
#On About page #On About page
About: '關於' About: '關於'
@ -328,7 +339,7 @@ About:
room rules: 聊天室規則 room rules: 聊天室規則
Please read the: 請閱讀 Please read the: 請閱讀
Chat on Matrix: 在 Matrix 上聊天 Chat on Matrix: 在 Matrix 上聊天
Mastodon: Mastodon Mastodon: Mastodon(長毛象/萬象)
Please check for duplicates before posting: 提交前請檢查有無重複的問題 Please check for duplicates before posting: 提交前請檢查有無重複的問題
GitHub issues: GitHub 問題追蹤器 GitHub issues: GitHub 問題追蹤器
Report a problem: 回報問題 Report a problem: 回報問題
@ -363,7 +374,7 @@ Channel:
About: About:
About: '關於' About: '關於'
Channel Description: '頻道說明' Channel Description: '頻道說明'
Featured Channels: '列出頻道' Featured Channels: '推薦頻道'
Added channel to your subscriptions: 已新增頻道至您的訂閱 Added channel to your subscriptions: 已新增頻道至您的訂閱
Removed subscription from $ other channel(s): 從$個其他頻道移除訂閱 Removed subscription from $ other channel(s): 從$個其他頻道移除訂閱
Channel has been removed from your subscriptions: 頻道已從您的訂閱中移除 Channel has been removed from your subscriptions: 頻道已從您的訂閱中移除
@ -445,11 +456,20 @@ Video:
Open Channel in Invidious: 在Invidious開啟頻道 Open Channel in Invidious: 在Invidious開啟頻道
Copy YouTube Channel Link: 複製YouTube頻道連結 Copy YouTube Channel Link: 複製YouTube頻道連結
Open Channel in YouTube: 在YouTube開啟頻道 Open Channel in YouTube: 在YouTube開啟頻道
Started streaming on: '開始直播時間:' Started streaming on: '開始直播時間'
Streamed on: 直播於 Streamed on: 直播於
Video has been removed from your saved list: 影片已從您的播放清單移除 Video has been removed from your saved list: 影片已從您的播放清單移除
Video has been saved: 影片已儲存 Video has been saved: 影片已儲存
Save Video: 儲存影片至播放清單 Save Video: 儲存影片至播放清單
translated from English: 從英文翻譯
Sponsor Block category:
music offtopic: 音樂離題
interaction: 互動
self-promotion: 自我推廣
outro: 其他
intro: 介紹
sponsor: 贊助商
Skipped segment: 已跳過的片段
Videos: Videos:
#& Sort By #& Sort By
Sort By: Sort By:
@ -477,11 +497,11 @@ Playlist:
Toggle Theatre Mode: '切換為劇院模式' Toggle Theatre Mode: '切換為劇院模式'
Change Format: Change Format:
Change Video Formats: '變更影片格式' Change Video Formats: '變更影片格式'
Use Dash Formats: '使用Dash格式' Use Dash Formats: '使用 DASH 格式'
Use Legacy Formats: '使用傳統格式' Use Legacy Formats: '使用傳統格式'
Use Audio Formats: '使用音訊格式' Use Audio Formats: '使用音訊格式'
Audio formats are not available for this video: 這個影片沒有音訊格式 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: 這個影片沒有 DASH 格式
Share: Share:
Share Video: '分享影片' Share Video: '分享影片'
Copy Link: '複製連結' Copy Link: '複製連結'
@ -500,7 +520,7 @@ Mini Player: '迷你播放器'
Comments: Comments:
Comments: '留言' Comments: '留言'
Click to View Comments: '點擊查看留言' Click to View Comments: '點擊查看留言'
Getting comment replies, please wait: '取留言中,請稍候...' Getting comment replies, please wait: '取留言中,請稍候...'
Show Comments: '查看留言' Show Comments: '查看留言'
Hide Comments: '隱藏留言' Hide Comments: '隱藏留言'
# Context: View 10 Replies, View 1 Reply # Context: View 10 Replies, View 1 Reply
@ -572,6 +592,7 @@ Profile:
$ selected: $個選取的 $ selected: $個選取的
Other Channels: 其他頻道 Other Channels: 其他頻道
Subscription List: 訂閱清單 Subscription List: 訂閱清單
Profile Filter: 設定檔篩選器
The playlist has been reversed: 播放清單已反轉 The playlist has been reversed: 播放清單已反轉
A new blog is now available, $. Click to view more: 已有新的部落格文章,$。點擊以檢視更多 A new blog is now available, $. Click to view more: 已有新的部落格文章,$。點擊以檢視更多
Download From Site: 從網站下載 Download From Site: 從網站下載
@ -579,17 +600,25 @@ Version $ is now available! Click for more details: 版本更新囉! 最新版
This video is unavailable because of missing formats. This can happen due to country unavailability.: 沒有這個影片因為缺少格式。這個可能發生由於國家不可用。 This video is unavailable because of missing formats. This can happen due to country unavailability.: 沒有這個影片因為缺少格式。這個可能發生由於國家不可用。
Tooltips: Tooltips:
Subscription Settings: Subscription Settings:
Fetch Feeds from RSS: 啟用後FreeTube 將使用 RSS 而非預設方式來取得您的訂閱推送。RSS 更快而且可避免 IP 封鎖,但不提供某些訊息,如影片長度與即時狀態 Fetch Feeds from RSS: 啟用後FreeTube將使用RSS代替它的預設方法來抓取您的訂閱來源。RSS的速度較快而且可以防止IP封鎖但它可能不會提供某些資訊例如影片長度或是直播狀態。
Player Settings: Player Settings:
Default Video Format: 設定要用於影片播放的格式。Dash格式有更高的品質。傳統格式會限制在 720p但頻寬需求更低。音訊格式為僅有音訊的串流 Default Video Format: 設定要用於影片播放的格式。DASH 格式有更高的畫質。傳統格式會限制在 720p 但頻寬需求更低。音訊格式為僅有音訊的串流
Proxy Videos Through Invidious: 將連線到 Invidious而非直接連線到 YouTube 來提供影片。覆寫 API 偏好 Proxy Videos Through Invidious: 將連線到 Invidious 而非直接連線到 YouTube 來提供影片。覆寫 API 偏好
Force Local Backend for Legacy Formats: 僅當 Invidious API是您預設 API 時才有效。啟用後,區域 API Force Local Backend for Legacy Formats: 僅當 Invidious API 是您預設 API 時才有效。啟用後,區域
將會執行並使用由其回傳的的傳統格式,而非 Invidious 回傳的格式。對因為國家地區限制而無法播放 Invidious回傳的影片時有幫助 API 將會執行並使用由其回傳的的傳統格式,而非 Invidious 回傳的格式。對因為國家地區限制而無法播放 Invidious 回傳的影片時有幫助
General Settings: General Settings:
Invidious Instance: FreeTube將連線為 API呼叫的Invidious實例。清除目前的實例以檢視可供選擇的公用實例清單 Invidious Instance: FreeTube 將連線到 Invidious 站台進行 API 呼叫。清除目前的站台以檢視可供選擇的公開站台清單。
Thumbnail Preference: FreeTube中所有縮圖都會被替換為影片畫面而非預設縮圖 Thumbnail Preference: FreeTube 中所有縮圖都會被替換為影片畫面而非預設縮圖
Fallback to Non-Preferred Backend on Failure: 當您的偏好API 有問題時FreeTube將自動嘗試使用您的非偏好API Fallback to Non-Preferred Backend on Failure: 當您的偏好 API 有問題時FreeTube 將自動嘗試使用您的非偏好
作為汰退方案 API 作為汰退方案
Preferred API Backend: 選擇 FreeTube 要用於取得YouTube資料的伺服器。本地 API 是內建擷取器。Invidious Preferred API Backend: 選擇 FreeTube 要用於取得YouTube資料的伺服器。本地 API 是內建擷取器。Invidious
API 需要 Invidious 伺服器才能連線。 API 需要 Invidious 伺服器才能連線。
Region for Trending: 發燒影片區域可以讓您選擇想要顯示哪個國家的發燒影片。 注意:並非所有國家都被YouTube支援 Region for Trending: 熱門影片區域可以讓您選擇想要顯示哪個國家的熱門影片。注意:並非所有國家都被 YouTube 支援。
Privacy Settings:
Remove Video Meta Files: 如果啟用FreeTube會在關閉觀看頁面時自動刪除影片播放過程中建立的暫存檔案。
Playing Next Video Interval: 馬上播放下一個影片。點擊取消。| 播放下一個影片的時間為{nextVideoInterval}秒。點擊取消。|
播放下一個影片的時間為{nextVideoInterval}秒。點擊取消。
More: 更多
Hashtags have not yet been implemented, try again later: 尚未實作主題標籤,請稍後再試
Unknown YouTube url type, cannot be opened in app: 未知的 YouTube url 類型,無法在應用程式開啟
Open New Window: 開啟新視窗