Merge branch 'development'
This commit is contained in:
commit
91b7570823
|
@ -22,7 +22,6 @@ module.exports = {
|
|||
// order matters: from least important to most important in terms of overriding
|
||||
// Prettier + Vue: https://medium.com/@gogl.alex/how-to-properly-set-up-eslint-with-prettier-for-vue-or-nuxt-in-vscode-e42532099a9c
|
||||
extends: [
|
||||
'prettier/vue',
|
||||
'prettier',
|
||||
'eslint:recommended',
|
||||
'plugin:vue/recommended',
|
||||
|
|
|
@ -41,7 +41,7 @@ jobs:
|
|||
with:
|
||||
path: 'package.json'
|
||||
follow-symlinks: false
|
||||
|
||||
|
||||
- name: Set Version Number Variable
|
||||
id: versionNumber
|
||||
uses: actions/github-script@v3
|
||||
|
@ -58,13 +58,13 @@ jobs:
|
|||
return "${{env.VERSION_NUMBER }}"
|
||||
}
|
||||
# script: if ${{ env.IS_DEV }} then echo "::set-output name=VERSION_NUMBER::${{ env.VERSION_NUMBER_NIGHTLY }}" else echo "::set-output name=VERSION_NUMBER::${{ env.VERSION_NUMBER }}" fi
|
||||
|
||||
|
||||
- name: Update package.json version
|
||||
uses: jossef/action-set-json-field@v1
|
||||
with:
|
||||
file: package.json
|
||||
field: version
|
||||
value: ${{ steps.versionNumber.outputs.result }}
|
||||
value: ${{ steps.versionNumber.outputs.result }}
|
||||
|
||||
|
||||
- name: Install libarchive-tools
|
||||
|
@ -156,12 +156,12 @@ jobs:
|
|||
name: freetube_${{ steps.versionNumber.outputs.result }}_amd64.pacman
|
||||
path: build/freetube-${{ steps.versionNumber.outputs.result }}.pacman
|
||||
|
||||
- name: Upload Web Build
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
with:
|
||||
name: freetube_${{ steps.versionNumber.outputs.result }}_static_web
|
||||
path: dist/web
|
||||
# - name: Upload Web Build
|
||||
# uses: actions/upload-artifact@v2
|
||||
# if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
# with:
|
||||
# name: freetube_${{ steps.versionNumber.outputs.result }}_static_web
|
||||
# path: dist/web
|
||||
|
||||
- name: Upload Windows .exe Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<p align="center">
|
||||
<img src="https://freetubeapp.github.io/images/logoColor.png" width=500 align="center">
|
||||
<img src="https://docs.freetubeapp.io/images/logoColor.png" width=500 align="center">
|
||||
</p>
|
||||
|
||||
FreeTube is an open source desktop YouTube player built with privacy in mind.
|
||||
|
|
BIN
_icons/icon.ico
BIN
_icons/icon.ico
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 162 KiB |
|
@ -0,0 +1,9 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" version="1">
|
||||
<path style="opacity:0.2" d="M 8.2,5 C 5.8732,5 4,6.8732001 4,9.2000001 V 21.8 44.2 56.8 C 4,59.1268 5.8732,61 8.2,61 H 20.8 33.960547 43.2 C 52.5072,61 60,53.5072 60,44.2 V 36.921093 21.8 9.2000001 C 60,6.8732001 58.1268,5 55.8,5 H 43.2 20.8 Z"/>
|
||||
<path style="fill:#e4e4e4" d="M 8.2,4 C 5.8732,4 4,5.8732001 4,8.2000001 V 20.8 43.2 55.8 C 4,58.1268 5.8732,60 8.2,60 H 20.8 33.960547 43.2 C 52.5072,60 60,52.5072 60,43.2 V 35.921093 20.8 8.2000001 C 60,5.8732001 58.1268,4 55.8,4 H 43.2 20.8 Z"/>
|
||||
<path style="opacity:0.1" d="M 14.75,13 C 13.2265,13 12,14.274565 12,15.857422 v 30 C 12,50.143136 17.5,53 20.25,53 H 23 v -2.857422 -4.285156 -30 C 23,14.274565 21.7735,13 20.25,13 Z m 14.091797,0 C 27.267271,13 26,14.2265 26,15.75 v 5.5 C 26,22.7735 27.267271,24 28.841797,24 H 45.894531 C 50.157689,24 53,18.5 53,15.75 V 13 H 50.158203 45.894531 Z M 27.320312,27 A 1.2913161,1.1414724 0 0 0 26,28.142578 v 7.359375 7.359375 a 1.2913161,1.1414724 0 0 0 1.935547,0.986328 l 7.210937,-3.679687 7.208985,-3.679688 a 1.2913161,1.1414724 0 0 0 0,-1.976562 L 35.146484,30.833984 27.935547,27.154297 A 1.2913161,1.1414724 0 0 0 27.320312,27 Z"/>
|
||||
<path style="fill:#f04242" d="M 14.75,12 C 13.2265,12 12,13.274286 12,14.857143 v 30 C 12,49.142857 17.5,52 20.25,52 H 23 v -2.857143 -4.285714 -30 C 23,13.274286 21.7735,12 20.25,12 Z"/>
|
||||
<path style="fill:#f04242" d="M 26,20.25 C 26,21.7735 27.267579,23 28.842105,23 H 45.894737 C 50.157895,23 53,17.5 53,14.75 V 12 H 50.157895 45.894737 28.842105 C 27.267579,12 26,13.2265 26,14.75 Z"/>
|
||||
<path style="fill:#14a4df" d="m 27.321275,26.000307 a 1.2913161,1.1414724 0 0 0 -1.321274,1.142629 v 7.358815 7.358816 a 1.2913161,1.1414724 0 0 0 1.936147,0.986925 l 7.209509,-3.679407 7.209511,-3.679409 a 1.2913161,1.1414724 0 0 0 0,-1.976244 l -7.209511,-3.679408 -7.209509,-3.679407 a 1.2913161,1.1414724 0 0 0 -0.614873,-0.15331 z"/>
|
||||
<path style="fill:#ffffff;opacity:0.2" d="M 8.1992188 4 C 5.8724189 4 4 5.8724189 4 8.1992188 L 4 9.1992188 C 4 6.8724189 5.8724189 5 8.1992188 5 L 55.800781 5 C 58.127581 5 60 6.8724189 60 9.1992188 L 60 8.1992188 C 60 5.8724189 58.127581 4 55.800781 4 L 8.1992188 4 z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -16,10 +16,14 @@ if (platform == 'darwin') {
|
|||
} else if (platform == 'linux') {
|
||||
let arch = Arch.x64
|
||||
|
||||
if (args[2] === 'arm') {
|
||||
if (args[2] === 'arm64') {
|
||||
arch = Arch.arm64
|
||||
}
|
||||
|
||||
if (args[3] === 'arm32') {
|
||||
arch = Arch.armv7l
|
||||
}
|
||||
|
||||
targets = Platform.LINUX.createTarget(['deb', 'zip', 'apk', 'rpm', 'AppImage', 'pacman'], arch)
|
||||
}
|
||||
|
||||
|
@ -40,7 +44,7 @@ const config = {
|
|||
]
|
||||
}
|
||||
],
|
||||
files: ['_icons/iconColor.*', './dist/**/*', '!./dist/web/**/*'],
|
||||
files: ['_icons/iconColor.*', 'icon.svg', './dist/**/*', '!./dist/web/**/*'],
|
||||
dmg: {
|
||||
contents: [
|
||||
{
|
||||
|
@ -62,7 +66,7 @@ const config = {
|
|||
},
|
||||
linux: {
|
||||
category: 'Network',
|
||||
icon: '_icons/icon.png',
|
||||
icon: '_icons/icon.svg',
|
||||
target: ['deb', 'zip', 'apk', 'rpm', 'AppImage', 'pacman'],
|
||||
},
|
||||
mac: {
|
||||
|
@ -80,7 +84,7 @@ const config = {
|
|||
}
|
||||
},
|
||||
win: {
|
||||
icon: '_icons/iconColor.ico',
|
||||
icon: '_icons/icon.ico',
|
||||
target: ['nsis', 'zip', 'portable', 'squirrel'],
|
||||
},
|
||||
nsis: {
|
||||
|
|
|
@ -15,7 +15,7 @@ const whiteListedModules = []
|
|||
const config = {
|
||||
name: 'main',
|
||||
mode: process.env.NODE_ENV,
|
||||
devtool: isDevMode ? '#cheap-module-eval-source-map' : false,
|
||||
devtool: isDevMode ? 'eval-cheap-module-source-map' : false,
|
||||
entry: {
|
||||
main: path.join(__dirname, '../src/main/index.js'),
|
||||
},
|
||||
|
@ -24,18 +24,19 @@ const config = {
|
|||
rules: [
|
||||
{
|
||||
test: /\.(j|t)s$/,
|
||||
loader: ['babel-loader'],
|
||||
use: 'babel-loader',
|
||||
exclude: /node_modules/,
|
||||
},
|
||||
{
|
||||
test: /\.node$/,
|
||||
use: 'node-loader',
|
||||
loader: 'node-loader',
|
||||
},
|
||||
],
|
||||
},
|
||||
node: {
|
||||
__dirname: isDevMode,
|
||||
__filename: isDevMode,
|
||||
global: isDevMode,
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
|
|
|
@ -18,7 +18,7 @@ const whiteListedModules = ['vue']
|
|||
const config = {
|
||||
name: 'renderer',
|
||||
mode: process.env.NODE_ENV,
|
||||
devtool: isDevMode ? '#cheap-module-eval-source-map' : false,
|
||||
devtool: isDevMode ? 'eval-cheap-module-source-map' : false,
|
||||
entry: {
|
||||
renderer: path.join(__dirname, '../src/renderer/main.js'),
|
||||
},
|
||||
|
@ -37,7 +37,7 @@ const config = {
|
|||
},
|
||||
{
|
||||
test: /\.node$/,
|
||||
use: 'node-loader',
|
||||
loader: 'node-loader',
|
||||
},
|
||||
{
|
||||
test: /\.vue$/,
|
||||
|
@ -102,6 +102,7 @@ const config = {
|
|||
node: {
|
||||
__dirname: isDevMode,
|
||||
__filename: isDevMode,
|
||||
global: isDevMode,
|
||||
},
|
||||
plugins: [
|
||||
// new WriteFilePlugin(),
|
||||
|
|
|
@ -13,7 +13,7 @@ const isDevMode = process.env.NODE_ENV === 'development'
|
|||
const config = {
|
||||
name: 'workers',
|
||||
mode: process.env.NODE_ENV,
|
||||
devtool: isDevMode ? '#cheap-module-eval-source-map' : false,
|
||||
devtool: isDevMode ? 'eval-cheap-module-source-map' : false,
|
||||
entry: {
|
||||
workerSample: path.join(__dirname, '../src/utilities/workerSample.ts'),
|
||||
},
|
||||
|
@ -32,13 +32,14 @@ const config = {
|
|||
},
|
||||
{
|
||||
test: /\.node$/,
|
||||
use: 'node-loader',
|
||||
loader: 'node-loader',
|
||||
},
|
||||
],
|
||||
},
|
||||
node: {
|
||||
__dirname: isDevMode,
|
||||
__filename: isDevMode,
|
||||
global: isDevMode,
|
||||
},
|
||||
plugins: [
|
||||
// new WriteFilePlugin(),
|
||||
|
|
File diff suppressed because it is too large
Load Diff
101
package.json
101
package.json
|
@ -8,6 +8,7 @@
|
|||
"url": "https://github.com/FreeTubeApp/FreeTube/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"@electron/remote": "^1.0.4",
|
||||
"@fortawesome/fontawesome-svg-core": "^1.2.34",
|
||||
"@fortawesome/free-brands-svg-icons": "^5.15.2",
|
||||
"@fortawesome/free-solid-svg-icons": "^5.15.2",
|
||||
|
@ -15,11 +16,11 @@
|
|||
"@silvermine/videojs-quality-selector": "^1.2.4",
|
||||
"autolinker": "^3.14.2",
|
||||
"bulma-pro": "^0.2.0",
|
||||
"dateformat": "^4.4.1",
|
||||
"electron-context-menu": "^2.4.0",
|
||||
"dateformat": "^4.5.1",
|
||||
"electron-context-menu": "^2.5.0",
|
||||
"http-proxy-agent": "^4.0.1",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"jquery": "^3.5.1",
|
||||
"jquery": "^3.6.0",
|
||||
"js-yaml": "^4.0.0",
|
||||
"lodash.debounce": "^4.0.8",
|
||||
"lodash.isequal": "^4.5.0",
|
||||
|
@ -27,8 +28,8 @@
|
|||
"markdown": "^0.5.0",
|
||||
"material-design-icons": "^3.0.1",
|
||||
"nedb": "^1.8.0",
|
||||
"opml-to-json": "1.0.1",
|
||||
"rss-parser": "^3.10.0",
|
||||
"opml-to-json": "^1.0.1",
|
||||
"rss-parser": "^3.12.0",
|
||||
"socks-proxy-agent": "^5.0.0",
|
||||
"video.js": "7.10.2",
|
||||
"videojs-abloop": "^1.2.0",
|
||||
|
@ -39,73 +40,73 @@
|
|||
"videojs-vtt-thumbnails-freetube": "0.0.15",
|
||||
"vue": "^2.6.12",
|
||||
"vue-electron": "^1.0.6",
|
||||
"vue-i18n": "^8.22.4",
|
||||
"vue-i18n": "^8.23.0",
|
||||
"vue-observe-visibility": "^1.0.0",
|
||||
"vue-router": "^3.4.9",
|
||||
"vuex": "^3.6.0",
|
||||
"vue-router": "^3.5.1",
|
||||
"vuex": "^3.6.2",
|
||||
"xml2json": "^0.12.0",
|
||||
"youtube-chat": "^1.1.0",
|
||||
"youtube-chat": "git+https://github.com/IcedCoffeee/youtube-chat.git",
|
||||
"youtube-suggest": "^1.1.0",
|
||||
"yt-channel-info": "^1.2.2",
|
||||
"yt-comment-scraper": "^3.0.0",
|
||||
"yt-channel-info": "^1.3.0",
|
||||
"yt-comment-scraper": "^3.0.2",
|
||||
"yt-dash-manifest-generator": "1.1.0",
|
||||
"yt-trending-scraper": "1.1.0",
|
||||
"yt-trending-scraper": "^1.1.0",
|
||||
"yt-xml2vtt": "^1.2.0",
|
||||
"ytdl-core": "^4.4.5",
|
||||
"ytdl-core": "^4.5.0",
|
||||
"ytpl": "^2.0.5",
|
||||
"ytsr": "^3.2.4"
|
||||
"ytsr": "^3.3.1"
|
||||
},
|
||||
"description": "A private YouTube client",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.12.10",
|
||||
"@babel/plugin-proposal-class-properties": "^7.12.1",
|
||||
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
|
||||
"@babel/preset-env": "^7.12.11",
|
||||
"@babel/preset-typescript": "^7.12.7",
|
||||
"@typescript-eslint/eslint-plugin": "^4.14.0",
|
||||
"@typescript-eslint/parser": "^4.14.0",
|
||||
"acorn": "^8.0.4",
|
||||
"@babel/core": "^7.13.8",
|
||||
"@babel/plugin-proposal-class-properties": "^7.13.0",
|
||||
"@babel/plugin-proposal-object-rest-spread": "^7.13.8",
|
||||
"@babel/preset-env": "^7.13.9",
|
||||
"@babel/preset-typescript": "^7.13.0",
|
||||
"@typescript-eslint/eslint-plugin": "^4.16.1",
|
||||
"@typescript-eslint/parser": "^4.16.1",
|
||||
"acorn": "^8.0.5",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-loader": "^8.2.2",
|
||||
"copy-webpack-plugin": "6.4.0",
|
||||
"css-loader": "^5.0.1",
|
||||
"copy-webpack-plugin": "8.0.0",
|
||||
"css-loader": "^5.1.1",
|
||||
"devtron": "^1.4.0",
|
||||
"electron": "11.1.1",
|
||||
"electron-builder": "^22.9.1",
|
||||
"electron-builder-squirrel-windows": "^22.10.4",
|
||||
"electron": "^12.0.0",
|
||||
"electron-builder": "^22.10.5",
|
||||
"electron-builder-squirrel-windows": "^22.10.5",
|
||||
"electron-debug": "^3.2.0",
|
||||
"electron-rebuild": "^2.3.4",
|
||||
"eslint": "^7.18.0",
|
||||
"eslint-config-prettier": "^7.2.0",
|
||||
"electron-rebuild": "^2.3.5",
|
||||
"eslint": "^7.21.0",
|
||||
"eslint-config-prettier": "^8.1.0",
|
||||
"eslint-config-standard": "^16.0.2",
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-prettier": "^3.3.1",
|
||||
"eslint-plugin-promise": "^4.2.1",
|
||||
"eslint-plugin-promise": "^4.3.1",
|
||||
"eslint-plugin-standard": "^5.0.0",
|
||||
"eslint-plugin-vue": "^7.4.1",
|
||||
"eslint-plugin-vue": "^7.7.0",
|
||||
"fast-glob": "^3.2.5",
|
||||
"file-loader": "^6.2.0",
|
||||
"html-webpack-plugin": "^4.5.1",
|
||||
"html-webpack-plugin": "^5.2.0",
|
||||
"jest": "^26.6.3",
|
||||
"mini-css-extract-plugin": "^1.3.4",
|
||||
"node-abi": "^2.19.3",
|
||||
"mini-css-extract-plugin": "^1.3.9",
|
||||
"node-abi": "^2.20.0",
|
||||
"node-loader": "^1.0.2",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.2.1",
|
||||
"sass": "^1.32.5",
|
||||
"sass-loader": "^10.1.1",
|
||||
"sass": "^1.32.8",
|
||||
"sass-loader": "^11.0.1",
|
||||
"style-loader": "^2.0.0",
|
||||
"tree-kill": "1.2.2",
|
||||
"typescript": "^4.1.3",
|
||||
"typescript": "^4.2.2",
|
||||
"url-loader": "^4.1.1",
|
||||
"vue-devtools": "^5.1.4",
|
||||
"vue-eslint-parser": "^7.4.1",
|
||||
"vue-eslint-parser": "^7.6.0",
|
||||
"vue-loader": "^15.9.6",
|
||||
"vue-style-loader": "^4.1.2",
|
||||
"vue-style-loader": "^4.1.3",
|
||||
"vue-template-compiler": "^2.6.12",
|
||||
"webpack": "4.44.2",
|
||||
"webpack-cli": "3.3.12",
|
||||
"webpack": "^5.24.3",
|
||||
"webpack-cli": "^4.5.0",
|
||||
"webpack-dev-server": "^3.11.2"
|
||||
},
|
||||
"license": "AGPL-3.0-or-later",
|
||||
|
@ -119,9 +120,11 @@
|
|||
},
|
||||
"scripts": {
|
||||
"build": "run-s rebuild:electron pack build-release",
|
||||
"build:arm": "run-s rebuild:electron pack build-release:arm",
|
||||
"build:arm64": "run-s rebuild:electron pack build-release:arm64",
|
||||
"build:arm32": "run-s rebuild:electron pack build-release:arm32",
|
||||
"build-release": "node _scripts/build.js",
|
||||
"build-release:arm": "node _scripts/build.js arm",
|
||||
"build-release:arm64": "node _scripts/build.js arm64",
|
||||
"build-release:arm32": "node _scripts/build.js arm32",
|
||||
"debug": "run-s rebuild:electron debug-runner",
|
||||
"debug-runner": "node _scripts/dev-runner.js --remote-debug",
|
||||
"dev": "run-s rebuild:electron dev-runner",
|
||||
|
@ -133,11 +136,11 @@
|
|||
"jest:watch": "jest --watch",
|
||||
"lint-fix": "eslint --fix --ext .js,.ts,.vue ./",
|
||||
"lint": "eslint --ext .js,.ts,.vue ./",
|
||||
"pack": "run-p pack:main pack:renderer pack:web pack:workers",
|
||||
"pack:main": "webpack --mode=production --env.NODE_ENV=production --hide-modules --config _scripts/webpack.main.config.js",
|
||||
"pack:renderer": "webpack --mode=production --env.NODE_ENV=production --hide-modules --config _scripts/webpack.renderer.config.js",
|
||||
"pack:web": "webpack --mode=production --env.NODE_ENV=production --hide-modules --config _scripts/webpack.web.config.js",
|
||||
"pack:workers": "webpack --mode=production --env.NODE_ENV=production --hide-modules --config _scripts/webpack.workers.config.js",
|
||||
"pack": "run-p pack:main pack:renderer pack:workers",
|
||||
"pack:main": "webpack --mode=production --node-env=production --config _scripts/webpack.main.config.js",
|
||||
"pack:renderer": "webpack --mode=production --node-env=production --config _scripts/webpack.renderer.config.js",
|
||||
"pack:web": "webpack --mode=production --node-env=production --config _scripts/webpack.web.config.js",
|
||||
"pack:workers": "webpack --mode=production --node-env=production --config _scripts/webpack.workers.config.js",
|
||||
"postinstall": "electron-rebuild",
|
||||
"prettier": "prettier --write \"{src,_scripts}/**/*.{js,ts,vue}\"",
|
||||
"rebuild:electron": "run-s electron-builder-install electron-rebuild",
|
||||
|
|
|
@ -2,6 +2,8 @@ import { app, BrowserWindow, Menu, ipcMain, screen } from 'electron'
|
|||
import { productName } from '../../package.json'
|
||||
import Datastore from 'nedb'
|
||||
|
||||
require('@electron/remote/main').initialize()
|
||||
|
||||
require('electron-context-menu')({
|
||||
showSearchWithGoogle: false,
|
||||
showSaveImageAs: true,
|
||||
|
@ -32,6 +34,9 @@ let startupUrl
|
|||
// This line can possible be removed if the issue is fixed upstream
|
||||
app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors')
|
||||
|
||||
app.commandLine.appendSwitch('enable-accelerated-video-decode')
|
||||
app.commandLine.appendSwitch('ignore-gpu-blacklist')
|
||||
|
||||
// See: https://stackoverflow.com/questions/45570589/electron-protocol-handler-not-working-on-windows
|
||||
// remove so we can register each time as we run the app.
|
||||
app.removeAsDefaultProtocolClient('freetube')
|
||||
|
@ -226,7 +231,8 @@ function createWindow (useProxy = false, proxyUrl = '') {
|
|||
nodeIntegrationInWorker: false,
|
||||
webSecurity: false,
|
||||
backgroundThrottling: false,
|
||||
enableRemoteModule: true
|
||||
enableRemoteModule: true,
|
||||
contextIsolation: false
|
||||
},
|
||||
show: false
|
||||
})
|
||||
|
|
|
@ -284,20 +284,11 @@ export default Vue.extend({
|
|||
const v = this
|
||||
electron.ipcRenderer.on('openUrl', function (event, url) {
|
||||
if (url) {
|
||||
v.$store.dispatch('getVideoIdFromUrl', url).then((result) => {
|
||||
if (result) {
|
||||
v.$store.dispatch('getVideoParamsFromUrl', url).then(({ videoId, timestamp }) => {
|
||||
if (videoId) {
|
||||
v.$router.push({
|
||||
path: `/watch/${result}`
|
||||
})
|
||||
} else {
|
||||
v.$router.push({
|
||||
path: `/search/${encodeURIComponent(url)}`,
|
||||
query: {
|
||||
sortBy: v.searchSettings.sortBy,
|
||||
time: v.searchSettings.time,
|
||||
type: v.searchSettings.type,
|
||||
duration: v.searchSettings.duration
|
||||
}
|
||||
path: `/watch/${videoId}`,
|
||||
query: timestamp ? { timestamp } : {}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
|
|
@ -6,11 +6,11 @@ import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
|
|||
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
|
||||
import FtPrompt from '../ft-prompt/ft-prompt.vue'
|
||||
|
||||
import { remote } from 'electron'
|
||||
import fs from 'fs'
|
||||
import { opmlToJSON } from 'opml-to-json'
|
||||
import ytch from 'yt-channel-info'
|
||||
|
||||
const remote = require('@electron/remote')
|
||||
const app = remote.app
|
||||
const dialog = remote.dialog
|
||||
|
||||
|
|
|
@ -37,6 +37,9 @@ export default Vue.extend({
|
|||
hidePopularVideos: function () {
|
||||
return this.$store.getters.getHidePopularVideos
|
||||
},
|
||||
hidePlaylists: function () {
|
||||
return this.$store.getters.getHidePlaylists
|
||||
},
|
||||
hideLiveChat: function () {
|
||||
return this.$store.getters.getHideLiveChat
|
||||
},
|
||||
|
@ -61,6 +64,7 @@ export default Vue.extend({
|
|||
'updateHideRecommendedVideos',
|
||||
'updateHideTrendingVideos',
|
||||
'updateHidePopularVideos',
|
||||
'updateHidePlaylists',
|
||||
'updateHideLiveChat',
|
||||
'updateHideActiveSubscriptions',
|
||||
'updatePlayNextVideo',
|
||||
|
|
|
@ -59,6 +59,12 @@
|
|||
:default-value="hidePopularVideos"
|
||||
@change="updateHidePopularVideos"
|
||||
/>
|
||||
<ft-toggle-switch
|
||||
:label="$t('Settings.Distraction Free Settings.Hide Playlists')"
|
||||
:compact="true"
|
||||
:default-value="hidePlaylists"
|
||||
@change="updateHidePlaylists"
|
||||
/>
|
||||
<ft-toggle-switch
|
||||
:label="$t('Settings.Distraction Free Settings.Hide Live Chat')"
|
||||
:compact="true"
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
.card {
|
||||
width: 85%;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 30px;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
.card {
|
||||
width: 85%;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.selected {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
::v-deep .select-label {
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
::v-deep .select {
|
||||
text-align-last: center;
|
||||
}
|
|
@ -6,15 +6,17 @@ import FtFlexBox from '../../components/ft-flex-box/ft-flex-box.vue'
|
|||
import FtChannelBubble from '../../components/ft-channel-bubble/ft-channel-bubble.vue'
|
||||
import FtButton from '../../components/ft-button/ft-button.vue'
|
||||
import FtPrompt from '../../components/ft-prompt/ft-prompt.vue'
|
||||
import FtSelect from '../ft-select/ft-select.vue'
|
||||
|
||||
export default Vue.extend({
|
||||
name: 'FtProfileAllChannelsList',
|
||||
name: 'FtProfileFilterChannelsList',
|
||||
components: {
|
||||
'ft-card': FtCard,
|
||||
'ft-flex-box': FtFlexBox,
|
||||
'ft-channel-bubble': FtChannelBubble,
|
||||
'ft-button': FtButton,
|
||||
'ft-prompt': FtPrompt
|
||||
'ft-prompt': FtPrompt,
|
||||
'ft-select': FtSelect
|
||||
},
|
||||
props: {
|
||||
profile: {
|
||||
|
@ -25,7 +27,8 @@ export default Vue.extend({
|
|||
data: function () {
|
||||
return {
|
||||
channels: [],
|
||||
selectedLength: 0
|
||||
selectedLength: 0,
|
||||
filteredProfileIndex: 0
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
@ -38,44 +41,21 @@ export default Vue.extend({
|
|||
profileList: function () {
|
||||
return this.$store.getters.getProfileList
|
||||
},
|
||||
profileNameList: function () {
|
||||
return this.profileList.flatMap((profile) => profile.name !== this.profile.name ? [profile.name] : [])
|
||||
},
|
||||
selectedText: function () {
|
||||
const localeText = this.$t('Profile.$ selected')
|
||||
return localeText.replace('$', this.selectedLength)
|
||||
},
|
||||
primaryProfile: function () {
|
||||
return JSON.parse(JSON.stringify(this.profileList[0]))
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
profile: function () {
|
||||
this.channels = JSON.parse(JSON.stringify(this.primaryProfile.subscriptions)).sort((a, b) => {
|
||||
const nameA = a.name.toLowerCase()
|
||||
const nameB = b.name.toLowerCase()
|
||||
if (nameA < nameB) {
|
||||
return -1
|
||||
}
|
||||
if (nameA > nameB) {
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}).filter((channel) => {
|
||||
const index = this.profile.subscriptions.findIndex((sub) => {
|
||||
return sub.id === channel.id
|
||||
})
|
||||
|
||||
return index === -1
|
||||
}).map((channel) => {
|
||||
if (this.backendPreference === 'invidious') {
|
||||
channel.thumbnail = channel.thumbnail.replace('https://yt3.ggpht.com', `${this.invidiousInstance}/ggpht/`)
|
||||
}
|
||||
channel.selected = false
|
||||
return channel
|
||||
})
|
||||
}
|
||||
profile: 'updateChannelList',
|
||||
filteredProfileIndex: 'updateChannelList'
|
||||
},
|
||||
mounted: function () {
|
||||
if (typeof this.profile.subscriptions !== 'undefined') {
|
||||
this.channels = JSON.parse(JSON.stringify(this.profileList[0].subscriptions)).sort((a, b) => {
|
||||
this.channels = JSON.parse(JSON.stringify(this.profileList[this.filteredProfileIndex].subscriptions)).sort((a, b) => {
|
||||
const nameA = a.name.toLowerCase()
|
||||
const nameB = b.name.toLowerCase()
|
||||
if (nameA < nameB) {
|
||||
|
@ -101,6 +81,32 @@ export default Vue.extend({
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
updateChannelList () {
|
||||
this.channels = JSON.parse(JSON.stringify(this.profileList[this.filteredProfileIndex].subscriptions)).sort((a, b) => {
|
||||
const nameA = a.name.toLowerCase()
|
||||
const nameB = b.name.toLowerCase()
|
||||
if (nameA < nameB) {
|
||||
return -1
|
||||
}
|
||||
if (nameA > nameB) {
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}).filter((channel) => {
|
||||
const index = this.profile.subscriptions.findIndex((sub) => {
|
||||
return sub.id === channel.id
|
||||
})
|
||||
|
||||
return index === -1
|
||||
}).map((channel) => {
|
||||
if (this.backendPreference === 'invidious') {
|
||||
channel.thumbnail = channel.thumbnail.replace('https://yt3.ggpht.com', `${this.invidiousInstance}/ggpht/`)
|
||||
}
|
||||
channel.selected = false
|
||||
return channel
|
||||
})
|
||||
},
|
||||
|
||||
handleChannelClick: function (index) {
|
||||
this.channels[index].selected = !this.channels[index].selected
|
||||
this.selectedLength = this.channels.filter((channel) => {
|
||||
|
@ -108,6 +114,10 @@ export default Vue.extend({
|
|||
}).length
|
||||
},
|
||||
|
||||
handleProfileFilterChange: function (change) {
|
||||
this.filteredProfileIndex = this.profileList.findIndex(profile => profile.name === change)
|
||||
},
|
||||
|
||||
addChannelToProfile: function () {
|
||||
if (this.selectedLength === 0) {
|
||||
this.showToast({
|
|
@ -4,7 +4,16 @@
|
|||
<h2>
|
||||
{{ $t("Profile.Other Channels") }}
|
||||
</h2>
|
||||
<p>
|
||||
<ft-flex-box>
|
||||
<ft-select
|
||||
:placeholder="$t('Profile.Profile Filter')"
|
||||
:value="profileNameList[0]"
|
||||
:select-names="profileNameList"
|
||||
:select-values="profileNameList"
|
||||
@change="handleProfileFilterChange"
|
||||
/>
|
||||
</ft-flex-box>
|
||||
<p class="selected">
|
||||
{{ selectedText }}
|
||||
</p>
|
||||
<ft-flex-box>
|
||||
|
@ -38,5 +47,5 @@
|
|||
</div>
|
||||
</template>
|
||||
|
||||
<script src="./ft-profile-all-channels-list.js" />
|
||||
<style scoped src="./ft-profile-all-channels-list.css" />
|
||||
<script src="./ft-profile-filter-channels-list.js" />
|
||||
<style scoped src="./ft-profile-filter-channels-list.css" />
|
|
@ -62,6 +62,10 @@ export default Vue.extend({
|
|||
return this.$store.getters.getProxyVideos
|
||||
},
|
||||
|
||||
defaultInterval: function () {
|
||||
return parseInt(this.$store.getters.getDefaultInterval)
|
||||
},
|
||||
|
||||
defaultVolume: function () {
|
||||
return parseFloat(this.$store.getters.getDefaultVolume) * 100
|
||||
},
|
||||
|
@ -119,6 +123,7 @@ export default Vue.extend({
|
|||
'updateForceLocalBackendForLegacy',
|
||||
'updateProxyVideos',
|
||||
'updateDefaultTheatreMode',
|
||||
'updateDefaultInterval',
|
||||
'updateDefaultVolume',
|
||||
'updateDefaultPlayback',
|
||||
'updateDefaultVideoFormat',
|
||||
|
|
|
@ -61,6 +61,15 @@
|
|||
</div>
|
||||
</div>
|
||||
<ft-flex-box>
|
||||
<ft-slider
|
||||
:label="$t('Settings.Player Settings.Playlist Next Video Interval')"
|
||||
:default-value="defaultInterval"
|
||||
:min-value="0"
|
||||
:max-value="60"
|
||||
:step="1"
|
||||
value-extension="s"
|
||||
@change="updateDefaultInterval"
|
||||
/>
|
||||
<ft-slider
|
||||
:label="$t('Settings.Player Settings.Default Volume')"
|
||||
:default-value="defaultVolume"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
class="navIcon"
|
||||
/>
|
||||
<p class="navLabel">
|
||||
More
|
||||
{{ $t("More") }}
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
|
@ -25,7 +25,7 @@
|
|||
class="navIcon"
|
||||
/>
|
||||
<p class="navLabel">
|
||||
Trending
|
||||
{{ $t("Trending") }}
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
|
@ -37,7 +37,7 @@
|
|||
class="navIcon"
|
||||
/>
|
||||
<p class="navLabel">
|
||||
Most Popular
|
||||
{{ $t("Most Popular") }}
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
|
@ -49,7 +49,7 @@
|
|||
class="navIcon"
|
||||
/>
|
||||
<p class="navLabel">
|
||||
About
|
||||
{{ $t("About.About") }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -62,7 +62,7 @@
|
|||
class="navIcon"
|
||||
/>
|
||||
<p class="navLabel">
|
||||
History
|
||||
{{ $t("History.History") }}
|
||||
</p>
|
||||
</div>
|
||||
<hr>
|
||||
|
@ -75,7 +75,7 @@
|
|||
class="navIcon"
|
||||
/>
|
||||
<p class="navLabel">
|
||||
Settings
|
||||
{{ $t("Settings.Settings") }}
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
|
@ -87,7 +87,7 @@
|
|||
class="navIcon"
|
||||
/>
|
||||
<p class="navLabel">
|
||||
About
|
||||
{{ $t("About.About") }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -48,6 +48,9 @@ export default Vue.extend({
|
|||
hidePopularVideos: function () {
|
||||
return this.$store.getters.getHidePopularVideos
|
||||
},
|
||||
hidePlaylists: function () {
|
||||
return this.$store.getters.getHidePlaylists
|
||||
},
|
||||
hideTrendingVideos: function () {
|
||||
return this.$store.getters.getHideTrendingVideos
|
||||
},
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
</p>
|
||||
</div>
|
||||
<div
|
||||
v-if="!hidePlaylists"
|
||||
class="navOption mobileShow"
|
||||
@click="navigate('userplaylists')"
|
||||
>
|
||||
|
|
|
@ -89,14 +89,15 @@ export default Vue.extend({
|
|||
searchInput.blur()
|
||||
}
|
||||
|
||||
const videoId = await this.$store.dispatch('getVideoIdFromUrl', query)
|
||||
const { videoId, timestamp } = await this.$store.dispatch('getVideoParamsFromUrl', query)
|
||||
const playlistId = await this.$store.dispatch('getPlaylistIdFromUrl', query)
|
||||
|
||||
console.log(playlistId)
|
||||
|
||||
if (videoId) {
|
||||
this.$router.push({
|
||||
path: `/watch/${videoId}`
|
||||
path: `/watch/${videoId}`,
|
||||
query: timestamp ? { timestamp } : {}
|
||||
})
|
||||
} else if (playlistId) {
|
||||
this.$router.push({
|
||||
|
|
|
@ -58,6 +58,7 @@ export default Vue.extend({
|
|||
descriptionText = descriptionText.replace(/href="http(s)?:\/\/youtube\.com/g, 'href="freetube://https://youtube.com')
|
||||
descriptionText = descriptionText.replace(/href="\/watch/g, 'href="freetube://https://youtube.com')
|
||||
descriptionText = descriptionText.replace(/href="\/results\?search_query=/g, 'href="freetube://')
|
||||
descriptionText = descriptionText.replace(/href="\/hashtag\//g, 'href="freetube://')
|
||||
descriptionText = descriptionText.replace(/yt\.www\.watch\.player\.seekTo/g, 'changeDuration')
|
||||
|
||||
return descriptionText
|
||||
|
|
|
@ -90,6 +90,10 @@ export default Vue.extend({
|
|||
lengthSeconds: {
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
videoThumbnail: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data: function () {
|
||||
|
@ -223,6 +227,22 @@ export default Vue.extend({
|
|||
}
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
if ('mediaSession' in navigator) {
|
||||
/* eslint-disable-next-line */
|
||||
navigator.mediaSession.metadata = new MediaMetadata({
|
||||
title: this.title,
|
||||
artist: this.channelName,
|
||||
artwork: [
|
||||
{
|
||||
src: this.videoThumbnail,
|
||||
sizes: '128x128',
|
||||
type: 'image/png'
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goToChannel: function () {
|
||||
this.$router.push({ path: `/channel/${this.channelId}` })
|
||||
|
|
|
@ -11,8 +11,8 @@ if (window && window.process && window.process.type === 'renderer') {
|
|||
dbLocation = electron.remote.app.getPath('userData')
|
||||
} */
|
||||
|
||||
const electron = require('electron')
|
||||
dbLocation = electron.remote.app.getPath('userData')
|
||||
const remote = require('@electron/remote')
|
||||
dbLocation = remote.app.getPath('userData')
|
||||
|
||||
dbLocation = dbLocation + '/history.db'
|
||||
} else {
|
||||
|
|
|
@ -13,8 +13,8 @@ if (window && window.process && window.process.type === 'renderer') {
|
|||
//
|
||||
// dbLocation += '/playlists.db'
|
||||
|
||||
const electron = require('electron')
|
||||
dbLocation = electron.remote.app.getPath('userData')
|
||||
const remote = require('@electron/remote')
|
||||
dbLocation = remote.app.getPath('userData')
|
||||
|
||||
dbLocation = dbLocation + '/playlists.db'
|
||||
} else {
|
||||
|
|
|
@ -11,8 +11,8 @@ if (window && window.process && window.process.type === 'renderer') {
|
|||
dbLocation = electron.remote.app.getPath('userData')
|
||||
} */
|
||||
|
||||
const electron = require('electron')
|
||||
dbLocation = electron.remote.app.getPath('userData')
|
||||
const remote = require('@electron/remote')
|
||||
dbLocation = remote.app.getPath('userData')
|
||||
|
||||
dbLocation = dbLocation + '/profiles.db'
|
||||
} else {
|
||||
|
|
|
@ -15,7 +15,8 @@ if (window && window.process && window.process.type === 'renderer') {
|
|||
|
||||
electron = require('electron')
|
||||
webframe = electron.webFrame
|
||||
dbLocation = electron.remote.app.getPath('userData')
|
||||
const remote = require('@electron/remote')
|
||||
dbLocation = remote.app.getPath('userData')
|
||||
|
||||
dbLocation = dbLocation + '/settings.db'
|
||||
} else {
|
||||
|
@ -53,6 +54,7 @@ const state = {
|
|||
forceLocalBackendForLegacy: false,
|
||||
proxyVideos: false,
|
||||
defaultTheatreMode: false,
|
||||
defaultInterval: 5,
|
||||
defaultVolume: 1,
|
||||
defaultPlayback: 1,
|
||||
defaultVideoFormat: 'dash',
|
||||
|
@ -73,6 +75,7 @@ const state = {
|
|||
hideRecommendedVideos: false,
|
||||
hideTrendingVideos: false,
|
||||
hidePopularVideos: false,
|
||||
hidePlaylists: false,
|
||||
hideLiveChat: false,
|
||||
hideActiveSubscriptions: false
|
||||
}
|
||||
|
@ -182,6 +185,10 @@ const getters = {
|
|||
return state.defaultTheatreMode
|
||||
},
|
||||
|
||||
getDefaultInterval: () => {
|
||||
return state.defaultInterval
|
||||
},
|
||||
|
||||
getDefaultVolume: () => {
|
||||
return state.defaultVolume
|
||||
},
|
||||
|
@ -241,9 +248,15 @@ const getters = {
|
|||
getHidePopularVideos: () => {
|
||||
return state.hidePopularVideos
|
||||
},
|
||||
|
||||
getHidePlaylists: () => {
|
||||
return state.hidePlaylists
|
||||
},
|
||||
|
||||
getHideLiveChat: () => {
|
||||
return state.hideLiveChat
|
||||
},
|
||||
|
||||
getHideActiveSubscriptions: () => {
|
||||
return state.hideActiveSubscriptions
|
||||
}
|
||||
|
@ -348,6 +361,9 @@ const actions = {
|
|||
case 'defaultTheatreMode':
|
||||
commit('setDefaultTheatreMode', result.value)
|
||||
break
|
||||
case 'defaultInterval':
|
||||
commit('setDefaultInterval', result.value)
|
||||
break
|
||||
case 'defaultVolume':
|
||||
commit('setDefaultVolume', result.value)
|
||||
sessionStorage.setItem('volume', result.value)
|
||||
|
@ -382,6 +398,9 @@ const actions = {
|
|||
case 'hidePopularVideos':
|
||||
commit('setHidePopularVideos', result.value)
|
||||
break
|
||||
case 'hidePlaylists':
|
||||
commit('setHidePlaylists', result.value)
|
||||
break
|
||||
case 'hideLiveChat':
|
||||
commit('setHideLiveChat', result.value)
|
||||
break
|
||||
|
@ -587,6 +606,14 @@ const actions = {
|
|||
})
|
||||
},
|
||||
|
||||
updateDefaultInterval ({ commit }, defaultInterval) {
|
||||
settingsDb.update({ _id: 'defaultInterval' }, { _id: 'defaultInterval', value: defaultInterval }, { upsert: true }, (err, numReplaced) => {
|
||||
if (!err) {
|
||||
commit('setDefaultInterval', defaultInterval)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
updateDefaultVolume ({ commit }, defaultVolume) {
|
||||
settingsDb.update({ _id: 'defaultVolume' }, { _id: 'defaultVolume', value: defaultVolume }, { upsert: true }, (err, numReplaced) => {
|
||||
if (!err) {
|
||||
|
@ -716,6 +743,14 @@ const actions = {
|
|||
})
|
||||
},
|
||||
|
||||
updateHidePlaylists ({ commit }, hidePlaylists) {
|
||||
settingsDb.update({ _id: 'hidePlaylists' }, { _id: 'hidePlaylists', value: hidePlaylists }, { upsert: true }, (err, numReplaced) => {
|
||||
if (!err) {
|
||||
commit('setHidePlaylists', hidePlaylists)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
updateHideActiveSubscriptions ({ commit }, hideActiveSubscriptions) {
|
||||
settingsDb.update({ _id: 'hideActiveSubscriptions' }, { _id: 'hideActiveSubscriptions', value: hideActiveSubscriptions }, { upsert: true }, (err, numReplaced) => {
|
||||
if (!err) {
|
||||
|
@ -800,6 +835,9 @@ const mutations = {
|
|||
setProxyVideos (state, proxyVideos) {
|
||||
state.proxyVideos = proxyVideos
|
||||
},
|
||||
setDefaultInterval (state, defaultInterval) {
|
||||
state.defaultInterval = defaultInterval
|
||||
},
|
||||
setDefaultVolume (state, defaultVolume) {
|
||||
state.defaultVolume = defaultVolume
|
||||
},
|
||||
|
@ -872,6 +910,9 @@ const mutations = {
|
|||
setHidePopularVideos (state, hidePopularVideos) {
|
||||
state.hidePopularVideos = hidePopularVideos
|
||||
},
|
||||
setHidePlaylists (state, hidePlaylists) {
|
||||
state.hidePlaylists = hidePlaylists
|
||||
},
|
||||
setHideLiveChat (state, hideLiveChat) {
|
||||
state.hideLiveChat = hideLiveChat
|
||||
},
|
||||
|
|
|
@ -190,43 +190,53 @@ const actions = {
|
|||
return date.getTime() - timeSpan
|
||||
},
|
||||
|
||||
getVideoIdFromUrl (_, url) {
|
||||
getVideoParamsFromUrl (_, url) {
|
||||
/** @type {URL} */
|
||||
let urlObject
|
||||
const paramsObject = { videoId: null, timestamp: null }
|
||||
try {
|
||||
urlObject = new URL(url)
|
||||
} catch (e) {
|
||||
return false
|
||||
return paramsObject
|
||||
}
|
||||
|
||||
function extractParams(videoId) {
|
||||
paramsObject.videoId = videoId
|
||||
paramsObject.timestamp = urlObject.searchParams.get('t')
|
||||
}
|
||||
|
||||
const extractors = [
|
||||
// anything with /watch?v=
|
||||
function() {
|
||||
if (urlObject.pathname === '/watch' && urlObject.searchParams.has('v')) {
|
||||
return urlObject.searchParams.get('v')
|
||||
extractParams(urlObject.searchParams.get('v'))
|
||||
return paramsObject
|
||||
}
|
||||
},
|
||||
// youtu.be
|
||||
function() {
|
||||
if (urlObject.host === 'youtu.be' && urlObject.pathname.match(/^\/[A-Za-z0-9_-]+$/)) {
|
||||
return urlObject.pathname.slice(1)
|
||||
extractParams(urlObject.pathname.slice(1))
|
||||
return paramsObject
|
||||
}
|
||||
},
|
||||
// youtube.com/embed
|
||||
function() {
|
||||
if (urlObject.pathname.match(/^\/embed\/[A-Za-z0-9_-]+$/)) {
|
||||
return urlObject.pathname.replace('/embed/', '')
|
||||
extractParams(urlObject.pathname.replace('/embed/', ''))
|
||||
return paramsObject
|
||||
}
|
||||
},
|
||||
// cloudtube
|
||||
function() {
|
||||
if (urlObject.host.match(/^cadence\.(gq|moe)$/) && urlObject.pathname.match(/^\/cloudtube\/video\/[A-Za-z0-9_-]+$/)) {
|
||||
return urlObject.pathname.slice('/cloudtube/video/'.length)
|
||||
extractParams(urlObject.pathname.slice('/cloudtube/video/'.length))
|
||||
return paramsObject
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
return extractors.reduce((a, c) => a || c(), null) || false
|
||||
return extractors.reduce((a, c) => a || c(), null) || paramsObject
|
||||
},
|
||||
|
||||
getPlaylistIdFromUrl (_, url) {
|
||||
|
|
|
@ -56,8 +56,7 @@ export default Vue.extend({
|
|||
],
|
||||
playlistSelectValues: [
|
||||
'last',
|
||||
'newest',
|
||||
'oldest'
|
||||
'newest'
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -121,8 +120,7 @@ export default Vue.extend({
|
|||
playlistSelectNames: function () {
|
||||
return [
|
||||
this.$t('Channel.Playlists.Sort Types.Last Video Added'),
|
||||
this.$t('Channel.Playlists.Sort Types.Newest'),
|
||||
this.$t('Channel.Playlists.Sort Types.Oldest')
|
||||
this.$t('Channel.Playlists.Sort Types.Newest')
|
||||
]
|
||||
},
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import { mapActions } from 'vuex'
|
|||
import FtLoader from '../../components/ft-loader/ft-loader.vue'
|
||||
import FtProfileEdit from '../../components/ft-profile-edit/ft-profile-edit.vue'
|
||||
import FtProfileChannelList from '../../components/ft-profile-channel-list/ft-profile-channel-list.vue'
|
||||
import FtProfileAllChannelsList from '../../components/ft-profile-all-channels-list/ft-profile-all-channels-list.vue'
|
||||
import FtProfileFilterChannelsList from '../../components/ft-profile-filter-channels-list/ft-profile-filter-channels-list.vue'
|
||||
|
||||
export default Vue.extend({
|
||||
name: 'ProfileEdit',
|
||||
|
@ -11,7 +11,7 @@ export default Vue.extend({
|
|||
'ft-loader': FtLoader,
|
||||
'ft-profile-edit': FtProfileEdit,
|
||||
'ft-profile-channel-list': FtProfileChannelList,
|
||||
'ft-profile-all-channels-list': FtProfileAllChannelsList
|
||||
'ft-profile-filter-channels-list': FtProfileFilterChannelsList
|
||||
},
|
||||
data: function () {
|
||||
return {
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
:profile="profile"
|
||||
:is-main-profile="isMainProfile"
|
||||
/>
|
||||
<ft-profile-all-channels-list
|
||||
<ft-profile-filter-channels-list
|
||||
v-if="!isNew && !isMainProfile"
|
||||
:profile="profile"
|
||||
/>
|
||||
|
|
|
@ -3,7 +3,6 @@ import { mapActions } from 'vuex'
|
|||
import xml2vtt from 'yt-xml2vtt'
|
||||
import $ from 'jquery'
|
||||
import fs from 'fs'
|
||||
import electron from 'electron'
|
||||
import ytDashGen from 'yt-dash-manifest-generator'
|
||||
import FtLoader from '../../components/ft-loader/ft-loader.vue'
|
||||
import FtCard from '../../components/ft-card/ft-card.vue'
|
||||
|
@ -16,6 +15,8 @@ import WatchVideoLiveChat from '../../components/watch-video-live-chat/watch-vid
|
|||
import WatchVideoPlaylist from '../../components/watch-video-playlist/watch-video-playlist.vue'
|
||||
import WatchVideoRecommendations from '../../components/watch-video-recommendations/watch-video-recommendations.vue'
|
||||
|
||||
const remote = require('@electron/remote')
|
||||
|
||||
export default Vue.extend({
|
||||
name: 'Watch',
|
||||
components: {
|
||||
|
@ -73,6 +74,7 @@ export default Vue.extend({
|
|||
downloadLinks: [],
|
||||
watchingPlaylist: false,
|
||||
playlistId: '',
|
||||
timestamp: null,
|
||||
playNextTimeout: null
|
||||
}
|
||||
},
|
||||
|
@ -104,6 +106,9 @@ export default Vue.extend({
|
|||
proxyVideos: function () {
|
||||
return this.$store.getters.getProxyVideos
|
||||
},
|
||||
defaultInterval: function () {
|
||||
return this.$store.getters.getDefaultInterval
|
||||
},
|
||||
defaultTheatreMode: function () {
|
||||
return this.$store.getters.getDefaultTheatreMode
|
||||
},
|
||||
|
@ -152,6 +157,7 @@ export default Vue.extend({
|
|||
this.downloadLinks = []
|
||||
|
||||
this.checkIfPlaylist()
|
||||
this.checkIfTimestamp()
|
||||
|
||||
switch (this.backendPreference) {
|
||||
case 'local':
|
||||
|
@ -173,6 +179,7 @@ export default Vue.extend({
|
|||
this.useTheatreMode = this.defaultTheatreMode
|
||||
|
||||
this.checkIfPlaylist()
|
||||
this.checkIfTimestamp()
|
||||
|
||||
if (!this.usingElectron) {
|
||||
this.getVideoInformationInvidious()
|
||||
|
@ -269,6 +276,7 @@ export default Vue.extend({
|
|||
video.viewCount = video.view_count
|
||||
video.lengthSeconds = video.length_seconds
|
||||
video.author = video.author.name
|
||||
video.publishedText = video.published
|
||||
return video
|
||||
})
|
||||
if (this.hideVideoLikesAndDislikes) {
|
||||
|
@ -677,18 +685,32 @@ export default Vue.extend({
|
|||
|
||||
console.log(historyIndex)
|
||||
|
||||
if (historyIndex !== -1 && !this.isLive) {
|
||||
const watchProgress = this.historyCache[historyIndex].watchProgress
|
||||
if (!this.isLive) {
|
||||
if (this.timestamp) {
|
||||
if (this.timestamp < 0) {
|
||||
this.$refs.videoPlayer.player.currentTime(0)
|
||||
} else if (this.timestamp > (this.videoLengthSeconds - 10)) {
|
||||
this.$refs.videoPlayer.player.currentTime(this.videoLengthSeconds - 10)
|
||||
} else {
|
||||
this.$refs.videoPlayer.player.currentTime(this.timestamp)
|
||||
}
|
||||
} else if (historyIndex !== -1) {
|
||||
const watchProgress = this.historyCache[historyIndex].watchProgress
|
||||
|
||||
if (watchProgress < (this.videoLengthSeconds - 10)) {
|
||||
this.$refs.videoPlayer.player.currentTime(watchProgress)
|
||||
if (watchProgress < (this.videoLengthSeconds - 10)) {
|
||||
this.$refs.videoPlayer.player.currentTime(watchProgress)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.rememberHistory && historyIndex !== -1) {
|
||||
this.addToHistory(this.historyCache[historyIndex].watchProgress)
|
||||
} else if (this.rememberHistory) {
|
||||
this.addToHistory(0)
|
||||
if (this.rememberHistory) {
|
||||
if (this.timestamp) {
|
||||
this.addToHistory(this.timestamp)
|
||||
} else if (historyIndex !== -1) {
|
||||
this.addToHistory(this.historyCache[historyIndex].watchProgress)
|
||||
} else {
|
||||
this.addToHistory(0)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -706,6 +728,16 @@ export default Vue.extend({
|
|||
}
|
||||
},
|
||||
|
||||
checkIfTimestamp: function () {
|
||||
if (typeof (this.$route.query) !== 'undefined') {
|
||||
try {
|
||||
this.timestamp = parseInt(this.$route.query.timestamp)
|
||||
} catch {
|
||||
this.timestamp = null
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getLegacyFormats: function () {
|
||||
this.$store
|
||||
.dispatch('ytGetVideoInformation', this.videoId)
|
||||
|
@ -807,14 +839,18 @@ export default Vue.extend({
|
|||
},
|
||||
|
||||
handleVideoEnded: function () {
|
||||
const nextVideoInterval = this.defaultInterval
|
||||
if (this.watchingPlaylist) {
|
||||
this.playNextTimeout = setTimeout(() => {
|
||||
this.$refs.watchVideoPlaylist.playNextVideo()
|
||||
}, 5000)
|
||||
const player = this.$refs.videoPlayer.player
|
||||
if (player !== null && player.paused()) {
|
||||
this.$refs.watchVideoPlaylist.playNextVideo()
|
||||
}
|
||||
}, nextVideoInterval * 1000)
|
||||
|
||||
this.showToast({
|
||||
message: this.$t('Playing next video in 5 seconds. Click to cancel'),
|
||||
time: 5500,
|
||||
message: this.$tc('Playing Next Video Interval', nextVideoInterval, { nextVideoInterval: nextVideoInterval }),
|
||||
time: (nextVideoInterval * 1000) + 500,
|
||||
action: () => {
|
||||
clearTimeout(this.playNextTimeout)
|
||||
this.showToast({
|
||||
|
@ -824,15 +860,18 @@ export default Vue.extend({
|
|||
})
|
||||
} else if (this.playNextVideo) {
|
||||
this.playNextTimeout = setTimeout(() => {
|
||||
const nextVideoId = this.recommendedVideos[0].videoId
|
||||
this.$router.push(
|
||||
{
|
||||
path: `/watch/${nextVideoId}`
|
||||
}
|
||||
)
|
||||
this.showToast({
|
||||
message: this.$t('Playing Next Video')
|
||||
})
|
||||
const player = this.$refs.videoPlayer.player
|
||||
if (player !== null && player.paused()) {
|
||||
const nextVideoId = this.recommendedVideos[0].videoId
|
||||
this.$router.push(
|
||||
{
|
||||
path: `/watch/${nextVideoId}`
|
||||
}
|
||||
)
|
||||
this.showToast({
|
||||
message: this.$t('Playing Next Video')
|
||||
})
|
||||
}
|
||||
}, 5000)
|
||||
|
||||
this.showToast({
|
||||
|
@ -911,7 +950,7 @@ export default Vue.extend({
|
|||
|
||||
createLocalDashManifest: function (formats) {
|
||||
const xmlData = ytDashGen.generate_dash_file_from_formats(formats, this.videoLengthSeconds)
|
||||
const userData = electron.remote.app.getPath('userData')
|
||||
const userData = remote.app.getPath('userData')
|
||||
let fileLocation
|
||||
let uriSchema
|
||||
if (this.isDev) {
|
||||
|
@ -982,7 +1021,7 @@ export default Vue.extend({
|
|||
})
|
||||
// TODO: MAKE A VARIABLE WHICH CAN CHOOSE BETWEEN STROYBOARD ARRAY ELEMENTS
|
||||
this.buildVTTFileLocally(storyboardArray[1]).then((results) => {
|
||||
const userData = electron.remote.app.getPath('userData')
|
||||
const userData = remote.app.getPath('userData')
|
||||
let fileLocation
|
||||
let uriSchema
|
||||
|
||||
|
|
|
@ -82,6 +82,7 @@
|
|||
:watching-playlist="watchingPlaylist"
|
||||
:theatre-possible="theatrePossible"
|
||||
:length-seconds="videoLengthSeconds"
|
||||
:video-thumbnail="thumbnail"
|
||||
class="watchVideo"
|
||||
:class="{ theatreWatchVideo: useTheatreMode }"
|
||||
@theatre-mode="toggleTheatreMode"
|
||||
|
|
|
@ -30,10 +30,10 @@ Close: 'Затваряне'
|
|||
Back: 'Назад'
|
||||
Forward: 'Напред'
|
||||
|
||||
Version $ is now available! Click for more details: 'Версия $ е вече налична! Кликни
|
||||
Version $ is now available! Click for more details: 'Версия $ е вече налична! Щракнете
|
||||
за повече детайли'
|
||||
Download From Site: 'Сваляне от сайта'
|
||||
A new blog is now available, $. Click to view more: 'Нова публикация в блога, $. Кликни
|
||||
A new blog is now available, $. Click to view more: 'Нова публикация в блога, $. Щракнете
|
||||
за преглед'
|
||||
|
||||
# Search Bar
|
||||
|
@ -90,7 +90,7 @@ Playlists: 'Плейлисти'
|
|||
User Playlists:
|
||||
Your Playlists: 'Вашите плейлисти'
|
||||
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Няма
|
||||
запазени видеоклипове. За запазване кликни в ъгъла на видеоклипа
|
||||
запазени видеоклипове. За запазване щракнете в ъгъла на видеоклипа
|
||||
Playlist Message: Тази страница не отразява напълно работещи плейлисти. В него са
|
||||
изброени само видеоклипове, които сте запазили или избрали за любими. Когато работата
|
||||
приключи, всички видеоклипове, които в момента са тук, ще бъдат мигрирани в плейлист
|
||||
|
@ -114,8 +114,8 @@ Settings:
|
|||
Locale Preference: 'Език'
|
||||
Preferred API Backend:
|
||||
Preferred API Backend: 'Предпочитан вътрешен интерфейс'
|
||||
Local API: 'Локален API'
|
||||
Invidious API: 'Invidious Интерфейс'
|
||||
Local API: 'Локален'
|
||||
Invidious API: 'Invidious'
|
||||
Video View Type:
|
||||
Video View Type: 'Подредба на видеата'
|
||||
Grid: 'Решетка'
|
||||
|
@ -130,7 +130,8 @@ Settings:
|
|||
(по подразбиране е https://invidious.snopyta.org)'
|
||||
Region for Trending: 'Регион за набиращи популярност'
|
||||
#! List countries
|
||||
View all Invidious instance information: Виж пълна информация за Invidious обекта
|
||||
View all Invidious instance information: Преглед на пълна информация за Invidious
|
||||
обекта
|
||||
Theme Settings:
|
||||
Theme Settings: 'Настройки на изгледа на приложението'
|
||||
Match Top Bar with Main Color: 'Съвпадане на горната лента с основната цветова
|
||||
|
@ -192,6 +193,7 @@ Settings:
|
|||
1440p: '1440p'
|
||||
4k: '4k'
|
||||
8k: '8k'
|
||||
Playlist Next Video Interval: Интервал за следващо видео в плейлист
|
||||
Privacy Settings:
|
||||
Privacy Settings: 'Настройки за поверителност'
|
||||
Remember History: 'Запазване на историята'
|
||||
|
@ -289,7 +291,8 @@ Settings:
|
|||
Hide Video Likes And Dislikes: Скриване оценките на видеата
|
||||
Hide Video Views: Скриване броя показвания на видеата
|
||||
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?: Приложението
|
||||
трябва да се рестартира за да се приложат промените. Рестартиране?
|
||||
Proxy Settings:
|
||||
|
@ -301,13 +304,13 @@ Settings:
|
|||
Country: Държава
|
||||
Ip: Ip
|
||||
Your Info: Вашата информация
|
||||
Test Proxy: Тестово прокси
|
||||
Clicking on Test Proxy will send a request to: Кликването върху тестово прокси
|
||||
Test Proxy: Тестване на прокси
|
||||
Clicking on Test Proxy will send a request to: Щракването върху "Тестване на прокси"
|
||||
ще изпрати заявка до
|
||||
Proxy Port Number: Номер на прокси порта
|
||||
Proxy Host: Прокси хост
|
||||
Proxy Protocol: Прокси протокол
|
||||
Enable Tor / Proxy: Активирайте Tor / Proxy
|
||||
Enable Tor / Proxy: Активиране на Tor / Proxy
|
||||
Proxy Settings: Настройки на прокси
|
||||
About:
|
||||
#On About page
|
||||
|
@ -342,20 +345,20 @@ About:
|
|||
|
||||
Donate: Дарете
|
||||
these people and projects: тези хора и проекти
|
||||
FreeTube is made possible by: FreeTube е възможен чрез
|
||||
FreeTube is made possible by: FreeTube благодарение на
|
||||
Translate: Превод
|
||||
room rules: правилата за стаите
|
||||
room rules: Правилата за общуване
|
||||
Please read the: Моля, прочетете
|
||||
Chat on Matrix: Чат в Matrix
|
||||
Mastodon: мастодонт
|
||||
Email: Имейл
|
||||
Mastodon: Mastodon
|
||||
Email: Електронна поща
|
||||
Blog: Блог
|
||||
Website: Уебсайт
|
||||
Please check for duplicates before posting: Моля, проверете за дубликати преди публикуване
|
||||
GitHub issues: GitHub проблеми
|
||||
Report a problem: Съобщете за проблем
|
||||
FAQ: ЧЗВ
|
||||
FreeTube Wiki: FreeTube Уики
|
||||
FreeTube Wiki: FreeTube Wiki
|
||||
Help: Помощ
|
||||
GitHub releases: GitHub издания
|
||||
Downloads / Changelog: Изтегляния / Дневник с промени
|
||||
|
@ -392,7 +395,7 @@ Profile:
|
|||
$ is now the active profile: 'Активният профил сега е $'
|
||||
Subscription List: 'Списък с абонаменти'
|
||||
Other Channels: 'Други канали'
|
||||
$ selected: '$ избран'
|
||||
$ selected: '$ избран(и)'
|
||||
Select All: 'Избиране на всички'
|
||||
Select None: 'Без избиране'
|
||||
Delete Selected: 'Изтриване на избраните'
|
||||
|
@ -406,6 +409,7 @@ Profile:
|
|||
ли сте, че искате да изтриете избраните канали? Така каналът няма да бъде изтрит
|
||||
от другите профили.'
|
||||
#On Channel Page
|
||||
Profile Filter: Профилен филтър
|
||||
Channel:
|
||||
Subscriber: 'Абонат'
|
||||
Subscribers: 'Абонати'
|
||||
|
@ -432,9 +436,9 @@ Channel:
|
|||
This channel does not currently have any playlists: 'В този канал по настоящем
|
||||
няма плейлисти'
|
||||
Sort Types:
|
||||
Last Video Added: 'Последно добавено видео'
|
||||
Newest: 'Най-ново'
|
||||
Oldest: 'Най-старо'
|
||||
Last Video Added: 'Последно добавени'
|
||||
Newest: 'Най-нови'
|
||||
Oldest: 'Най-стари'
|
||||
About:
|
||||
About: 'Относно'
|
||||
Channel Description: 'Описание на канала'
|
||||
|
@ -505,7 +509,7 @@ Video:
|
|||
Year: 'година'
|
||||
Years: 'години'
|
||||
Ago: 'преди'
|
||||
Upcoming: 'Премиерата върви'
|
||||
Upcoming: 'Премиера на'
|
||||
Published on: 'Публикуван на'
|
||||
# $ is replaced with the number and % with the unit (days, hours, minutes...)
|
||||
Publicationtemplate: 'Преди $ %'
|
||||
|
@ -522,8 +526,8 @@ Video:
|
|||
Open Channel in Invidious: Отваряне на канала в Invidious
|
||||
Copy YouTube Channel Link: Копиране на връзка за канала в YouTube
|
||||
Open Channel in YouTube: Отваряне на канала в YouTube
|
||||
Started streaming on: Начало на излъчването
|
||||
Streamed on: Излъчване
|
||||
Started streaming on: Начало на предаването
|
||||
Streamed on: На живо на
|
||||
Video has been removed from your saved list: Видеоклипът е премахнат от вашия запазен
|
||||
списък
|
||||
Video has been saved: Видеото е запазено
|
||||
|
@ -552,7 +556,7 @@ Playlist:
|
|||
# On Video Watch Page
|
||||
#* Published
|
||||
#& Views
|
||||
Toggle Theatre Mode: 'Режим "Театър"'
|
||||
Toggle Theatre Mode: 'Режим "Широк екран"'
|
||||
Change Format:
|
||||
Change Video Formats: 'Смяна видео формати'
|
||||
Use Dash Formats: 'Използване на Dash формати'
|
||||
|
@ -570,16 +574,16 @@ Share:
|
|||
Copy Embed: 'Копиране за вграждане'
|
||||
Open Embed: 'Отваряне на връзка за вграждане'
|
||||
# On Click
|
||||
Invidious URL copied to clipboard: 'Адреса за Invidious е копиран'
|
||||
Invidious Embed URL copied to clipboard: 'Адреса на Invidious за вграждане е копиран'
|
||||
YouTube URL copied to clipboard: 'Адреса за YouTube е копиран'
|
||||
YouTube Embed URL copied to clipboard: 'Адреса на YouTube за вграждане е копиран'
|
||||
YouTube Channel URL copied to clipboard: Адреса на YouTube канала е копиран
|
||||
Invidious Channel URL copied to clipboard: Адреса на Invidious канала е копиран
|
||||
Invidious URL copied to clipboard: 'Invidious адресът е копиран'
|
||||
Invidious Embed URL copied to clipboard: 'Invidious адресът за вграждане е копиран'
|
||||
YouTube URL copied to clipboard: 'YouTube адресът е копиран'
|
||||
YouTube Embed URL copied to clipboard: 'YouTube адресът за вграждане е копиран'
|
||||
YouTube Channel URL copied to clipboard: YouTube адресът на канала е копиран
|
||||
Invidious Channel URL copied to clipboard: Invidious адресът на канала е копиран
|
||||
Mini Player: 'Мини плейър'
|
||||
Comments:
|
||||
Comments: 'Коментари'
|
||||
Click to View Comments: 'Кликни, за да видиш коментарите'
|
||||
Click to View Comments: 'Щракнете, за да видите коментарите'
|
||||
Getting comment replies, please wait: 'Получаване на отговори на коментара, моля
|
||||
изчакайте'
|
||||
There are no more comments for this video: 'Към това видео няма повече коментари'
|
||||
|
@ -599,8 +603,8 @@ Comments:
|
|||
Up Next: 'Следващ'
|
||||
|
||||
# Toast Messages
|
||||
Local API Error (Click to copy): 'Грешка в локалния интерфейс (кликни за копиране)'
|
||||
Invidious API Error (Click to copy): 'Грешка в Invidious интерфейса (кликни за копиране)'
|
||||
Local API Error (Click to copy): 'Грешка в локалния интерфейс (щракнете за копиране)'
|
||||
Invidious API Error (Click to copy): 'Грешка в Invidious интерфейса (щракнете за копиране)'
|
||||
Falling back to Invidious API: 'Връщане към Invidious интерфейса'
|
||||
Falling back to the local API: 'Връщане към локалния интерфейс'
|
||||
This video is unavailable because of missing formats. This can happen due to country unavailability.: 'Видеото
|
||||
|
@ -615,7 +619,7 @@ The playlist has been reversed: 'Плейлистата е в обърнат р
|
|||
Playing Next Video: 'Пускане на следващото видео'
|
||||
Playing Previous Video: 'Пускане на предишното видео'
|
||||
Playing next video in 5 seconds. Click to cancel: 'Следващо видео започва след 5
|
||||
секунди. Кликни за отказ.'
|
||||
секунди. Щракнете за отказ.'
|
||||
Canceled next video autoplay: 'Следващото видео е отказано'
|
||||
'The playlist has ended. Enable loop to continue playing': 'Плейлиста приключи. Включете
|
||||
повторението за да продължи'
|
||||
|
@ -653,3 +657,7 @@ Tooltips:
|
|||
Preferred API Backend: Избиране на начина, по който FreeTube получава данните.
|
||||
Локалният интерфейс има вградено извличане. Invidious интерфейсът изисква Invidious
|
||||
сървър, към който да се свърже.
|
||||
More: Още
|
||||
Playing Next Video Interval: Пускане на следващото видео веднага. Щракнете за отказ.
|
||||
| Пускане на следващото видео след {nextVideoInterval} секунда. Щракнете за отказl.
|
||||
| Пускане на следващото видео след {nextVideoInterval} секунди. Щракнете за отказ.
|
||||
|
|
|
@ -192,6 +192,7 @@ Settings:
|
|||
1440p: '1440p'
|
||||
4k: '4k'
|
||||
8k: '8k'
|
||||
Playlist Next Video Interval: Interval dalšího seznamu videí
|
||||
Privacy Settings:
|
||||
Privacy Settings: 'Nastavení soukromí'
|
||||
Remember History: 'Zapamatovat historii'
|
||||
|
@ -223,6 +224,7 @@ Settings:
|
|||
Hide Popular Videos: 'Skrýt populární videa'
|
||||
Hide Live Chat: 'Skrýt chat'
|
||||
Hide Active Subscriptions: Skrýt aktivní odběry
|
||||
Hide Playlists: Skrýt playlist
|
||||
Data Settings:
|
||||
Data Settings: 'Nastavení dat'
|
||||
Select Import Type: 'Vybrat typ importu'
|
||||
|
@ -399,6 +401,7 @@ Profile:
|
|||
chcete odstranit vybrané kanály? Tím nebude kanál odstraněn z žádného jiného
|
||||
profilu.'
|
||||
#On Channel Page
|
||||
Profile Filter: Filtr profilu
|
||||
Channel:
|
||||
Subscriber: 'Odběratel'
|
||||
Subscribers: 'Odběratelé'
|
||||
|
@ -650,3 +653,7 @@ Canceled next video autoplay: 'Automatické přehrávání dalšího videa bylo
|
|||
|
||||
Yes: 'Ano'
|
||||
No: 'Ne'
|
||||
Playing Next Video Interval: Přehrávání dalšího videa v žádném čase. Kliknutím zrušíte.
|
||||
| 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.
|
||||
More: Více
|
||||
|
|
|
@ -63,11 +63,11 @@ Search Filters:
|
|||
Fetching results. Please wait: Lade Ergebnisse. Bitte warten
|
||||
Fetch more results: Lade mehr Ergebnisse
|
||||
# Sidebar
|
||||
There are no more results for this search: Es gibt keine weiteren Ergebnisse für
|
||||
diese Suche
|
||||
There are no more results for this search: Keine weiteren Ergebnisse für diese Suche
|
||||
vorhanden
|
||||
Subscriptions:
|
||||
# On Subscriptions Page
|
||||
Subscriptions: Abonnement
|
||||
Subscriptions: Abonnements
|
||||
Latest Subscriptions: Neueste Abonnements
|
||||
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': Deine
|
||||
Abonnementliste ist aktuell leer. Beginne Abonnements hinzuzufügen um sie hier
|
||||
|
@ -76,7 +76,7 @@ Subscriptions:
|
|||
Refresh Subscriptions: Abonnements aktualisieren
|
||||
Getting Subscriptions. Please wait.: Lade Abonnements. Bitte warten.
|
||||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Dieses
|
||||
Profil hat eine große Anzahl von Abonnementen. RSS zur Vermeidung von Tarifbeschränkungen
|
||||
Profil hat eine große Anzahl von Abonnenten. RSS zur Vermeidung von Tarifbeschränkungen
|
||||
erzwingen
|
||||
Load More Videos: Lade mehr Videos
|
||||
Trending: Trends
|
||||
|
@ -110,7 +110,7 @@ Settings:
|
|||
Preferred API Backend:
|
||||
Preferred API Backend: Bevorzugtes API-System
|
||||
Local API: Lokale API
|
||||
Invidious API: Invidious' API
|
||||
Invidious API: Invidious API
|
||||
Video View Type:
|
||||
Video View Type: Videoansichtstyp
|
||||
Grid: Gitter
|
||||
|
@ -131,7 +131,7 @@ Settings:
|
|||
anzeigen
|
||||
Theme Settings:
|
||||
Theme Settings: Thema Einstellungen
|
||||
Match Top Bar with Main Color: Passe obere Leiste an Hauptfarbe an
|
||||
Match Top Bar with Main Color: Obere Leiste an Hauptfarbe anpassen
|
||||
Base Theme:
|
||||
Base Theme: Grundlegendes Thema
|
||||
Black: Schwarz
|
||||
|
@ -146,11 +146,11 @@ Settings:
|
|||
Indigo: Indigo
|
||||
Blue: Blau
|
||||
Light Blue: Hellblau
|
||||
Cyan: Mittleres Zyan
|
||||
Teal: Dunkles Türkis
|
||||
Cyan: Türkis
|
||||
Teal: Türkisblau
|
||||
Green: Grün
|
||||
Light Green: Hellgrün
|
||||
Lime: Lindgrün
|
||||
Lime: Limette
|
||||
Yellow: Gelb
|
||||
Amber: Bernsteingelb
|
||||
Orange: Orange
|
||||
|
@ -175,7 +175,7 @@ Settings:
|
|||
Default Video Format:
|
||||
Default Video Format: Standard-Videoformat
|
||||
Dash Formats: DASH-Formate
|
||||
Legacy Formats: Altformate
|
||||
Legacy Formats: Legacy Formate
|
||||
Audio Formats: Audioformate
|
||||
Default Quality:
|
||||
Default Quality: Standardqualität
|
||||
|
@ -197,7 +197,7 @@ Settings:
|
|||
#& Freetube
|
||||
Newpipe: Newpipe
|
||||
OPML: OPML
|
||||
Manage Subscriptions: Verwalte Abonnements
|
||||
Manage Subscriptions: Abonnements verwalten
|
||||
Import Subscriptions: Importiere Abonnements
|
||||
Export Subscriptions: Exportiere Abonnements
|
||||
How do I import my subscriptions?: Wie importiere ich meine Abonnements?
|
||||
|
@ -234,10 +234,10 @@ Settings:
|
|||
Are you sure you want to remove your entire watch history?: Bist du sicher, dass
|
||||
du deinen gesamten Verlauf löschen willst?
|
||||
Remove Watch History: Verlauf löschen
|
||||
Search cache has been cleared: Suchzwischenspeicher wurde geleert
|
||||
Search cache has been cleared: Suchanfragen wurden gelöscht
|
||||
Are you sure you want to clear out your search cache?: Bist du sicher, dass du
|
||||
deinen Suchzwischenspeicher leeren möchtest?
|
||||
Clear Search Cache: Suchzwischenspeicher löschen
|
||||
deine Suchanfragen löschen möchtest?
|
||||
Clear Search Cache: Suchanfragen löschen
|
||||
Save Watched Progress: Videofortschritt speichern
|
||||
Remember History: Verlauf speichern
|
||||
Privacy Settings: Datenschutzeinstellungen
|
||||
|
@ -274,15 +274,15 @@ Settings:
|
|||
Export NewPipe: Exportiere NewPipe
|
||||
Export YouTube: Exportiere YouTube
|
||||
Export FreeTube: Exportiere FreeTube
|
||||
Export Subscriptions: Exportiere Abonnements
|
||||
Export Subscriptions: Abonnements exportieren
|
||||
Import NewPipe: Importiere NewPipe
|
||||
Import YouTube: Importiere YouTube
|
||||
Import FreeTube: Importiere FreeTube
|
||||
Import Subscriptions: Importiere Abonnements
|
||||
Import Subscriptions: Abonnements importieren
|
||||
Select Export Type: Wähle Exporttyp
|
||||
Select Import Type: Wähle Importtyp
|
||||
Data Settings: Dateneinstellungen
|
||||
Check for Legacy Subscriptions: Prüfung auf Altabonnements
|
||||
Check for Legacy Subscriptions: Auf ältere Abonnements prüfen
|
||||
Manage Subscriptions: Abonnements verwalten
|
||||
Distraction Free Settings:
|
||||
Hide Live Chat: Live-Chat verbergen
|
||||
|
@ -373,7 +373,7 @@ About:
|
|||
Please read the: Bitte lese die
|
||||
Chat on Matrix: Chatten bei Matrix
|
||||
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
|
||||
GitHub issues: GitHub Issues
|
||||
Report a problem: Problem melden
|
||||
|
@ -567,7 +567,7 @@ Mini Player: Mini-Abspieler
|
|||
Comments:
|
||||
Comments: Kommentare
|
||||
Click to View Comments: Klicke um Kommentare anzuzeigen
|
||||
Getting comment replies, please wait: Kommentare werden geledan, bitte warten
|
||||
Getting comment replies, please wait: Kommentare werden geladen, bitte warten
|
||||
Show Comments: Zeige Kommentare
|
||||
Hide Comments: Verstecke Kommentare
|
||||
# Context: View 10 Replies, View 1 Reply
|
||||
|
@ -686,4 +686,4 @@ Tooltips:
|
|||
API als Standard ausgewählt hast. Die lokale API wird bei der Verwendung von
|
||||
Legacy Formaten diese verwenden, anstatt auf Invidious zurückzugreifen. Dies
|
||||
hilft dann, wenn Videos von Invidious nicht abspielbar sind. Zum Beispiel aufgrund
|
||||
von Landesrestiktionen.
|
||||
von Landesbeschränkungen.
|
||||
|
|
|
@ -399,7 +399,7 @@ Profile:
|
|||
Other Channels: 'Άλλα κανάλια'
|
||||
$ selected: '$ επιλεγμένο'
|
||||
Select All: 'Επιλογή όλων'
|
||||
Select None: 'Επιλογή καμίας'
|
||||
Select None: 'Επιλογή κανενός'
|
||||
Delete Selected: 'Διαγραφή επιλεγμένου στοιχείου'
|
||||
Add Selected To Profile: 'Προσθήκη επιλεγμένου στοιχείου στο προφίλ'
|
||||
No channel(s) have been selected: 'Δεν έχει γίνει επιλογή κάποιου καναλιού'
|
||||
|
|
|
@ -82,6 +82,7 @@ Subscriptions:
|
|||
'Getting Subscriptions. Please wait.': Getting Subscriptions. Please wait.
|
||||
Refresh Subscriptions: Refresh Subscriptions
|
||||
Load More Videos: Load More Videos
|
||||
More: More
|
||||
Trending: Trending
|
||||
Most Popular: Most Popular
|
||||
Playlists: Playlists
|
||||
|
@ -170,6 +171,7 @@ Settings:
|
|||
Proxy Videos Through Invidious: Proxy Videos Through Invidious
|
||||
Autoplay Playlists: Autoplay Playlists
|
||||
Enable Theatre Mode by Default: Enable Theatre Mode by Default
|
||||
Playlist Next Video Interval: Playlist Next Video Interval
|
||||
Default Volume: Default Volume
|
||||
Default Playback Rate: Default Playback Rate
|
||||
Default Video Format:
|
||||
|
@ -219,6 +221,7 @@ Settings:
|
|||
Hide Recommended Videos: Hide Recommended Videos
|
||||
Hide Trending Videos: Hide Trending Videos
|
||||
Hide Popular Videos: Hide Popular Videos
|
||||
Hide Playlists: Hide Playlists
|
||||
Hide Live Chat: Hide Live Chat
|
||||
Hide Active Subscriptions: Hide Active Subscriptions
|
||||
Data Settings:
|
||||
|
@ -304,6 +307,7 @@ About:
|
|||
|
||||
Profile:
|
||||
Profile Select: Profile Select
|
||||
Profile Filter: Profile Filter
|
||||
All Channels: All Channels
|
||||
Profile Manager: Profile Manager
|
||||
Create New Profile: Create New Profile
|
||||
|
@ -564,7 +568,7 @@ Tooltips:
|
|||
play higher qualities. Legacy formats are limited to a max of 720p but use less
|
||||
bandwidth. Audio formats are audio only streams
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: When enabled, FreeTube will use RSS instead of it's 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,
|
||||
but doesn't provide certain information like video duration or live status
|
||||
|
||||
|
@ -584,8 +588,7 @@ 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.
|
||||
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.
|
||||
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'
|
||||
|
|
|
@ -630,6 +630,7 @@ Tooltips:
|
|||
באיכויות גבוהות יותר. התצורות המיושנות מוגבלות ל־720 פיקסלים לכל היותר אך משתמשות
|
||||
בפחות רוחב פס. תצורות שמע הן הזרמות של שמע בלבד
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: כאשר אפשרות זו פעילה. FreeTube ישתמש ב־RSS במקום בשיטת בררת
|
||||
המחדל ללכידת הזנת המינויים שלך. RSS זו שיטה מהירה יותר ומונעת חסימות IP אבל
|
||||
Fetch Feeds from RSS: כאשר אפשרות זו פעילה. FreeTube ישתמש ב־RSS במקום בשיטת ברירת
|
||||
המחדל לאיסוף הזנת המינויים שלך. RSS היא שיטה מהירה יותר ומונעת חסימת IP אבל
|
||||
לא מספקת חלק מהמידע כמו אורך הסרטון או מצב שידור חי
|
||||
More: עוד
|
||||
|
|
|
@ -14,74 +14,82 @@ Redo: 'फिर से करें'
|
|||
Cut: 'कट'
|
||||
Copy: 'प्रतिलिपि'
|
||||
Paste: 'पेस्ट करें'
|
||||
Delete: ''
|
||||
Delete: 'निकाले'
|
||||
Select all: 'सबको चुनें'
|
||||
Reload: ''
|
||||
Force Reload: ''
|
||||
Toggle Developer Tools: ''
|
||||
Actual size: ''
|
||||
Zoom in: ''
|
||||
Zoom out: ''
|
||||
Toggle fullscreen: ''
|
||||
Window: ''
|
||||
Minimize: ''
|
||||
Close: ''
|
||||
Back: ''
|
||||
Forward: ''
|
||||
Reload: 'फिरसे लोड करे'
|
||||
Force Reload: 'फ़ोर्स से फिरसे लोड करे'
|
||||
Toggle Developer Tools: 'Developer tools टॉगल करे'
|
||||
Actual size: 'वास्तविक आकार'
|
||||
Zoom in: 'Zoom in'
|
||||
Zoom out: 'Zoom out'
|
||||
Toggle fullscreen: 'फ़ुलस्क्रीन टॉगल करे'
|
||||
Window: 'विंडो'
|
||||
Minimize: 'मिनिमाइज़ (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: ''
|
||||
Version $ is now available! Click for more details: 'Version $ आ गया है! और details
|
||||
के लिए इधर click करे।'
|
||||
Download From Site: 'साइट से डाउनलोड (download) करे'
|
||||
A new blog is now available, $. Click to view more: 'एक नया ब्लॉग है, $। और जानने
|
||||
के लिए इधर click करिए'
|
||||
|
||||
# Search Bar
|
||||
Search / Go to URL: ''
|
||||
Search / Go to URL: 'Search / URL पर जाए'
|
||||
# In Filter Button
|
||||
Search Filters:
|
||||
Search Filters: ''
|
||||
Search Filters: 'Search फ़िल्टर'
|
||||
Sort By:
|
||||
Sort By: ''
|
||||
Most Relevant: ''
|
||||
Rating: ''
|
||||
Upload Date: ''
|
||||
View Count: ''
|
||||
Sort By: 'सॉर्ट करे'
|
||||
Most Relevant: 'सबसे प्रासंगिक'
|
||||
Rating: 'रेटिंग'
|
||||
Upload Date: 'अपलोड दिवस'
|
||||
View Count: 'दृश्य गणना'
|
||||
Time:
|
||||
Time: ''
|
||||
Any Time: ''
|
||||
Last Hour: ''
|
||||
Today: ''
|
||||
This Week: ''
|
||||
This Month: ''
|
||||
This Year: ''
|
||||
Time: 'वक्त'
|
||||
Any Time: 'किसी भी वक्त'
|
||||
Last Hour: 'पिछले घंटे'
|
||||
Today: 'आज'
|
||||
This Week: 'इस हफ़्ते'
|
||||
This Month: 'इस महीने'
|
||||
This Year: 'इस साल'
|
||||
Type:
|
||||
Type: ''
|
||||
All Types: ''
|
||||
Videos: ''
|
||||
Channels: ''
|
||||
Type: 'प्रकार'
|
||||
All Types: 'सब प्रकार'
|
||||
Videos: 'विडीयोज'
|
||||
Channels: 'चैनले'
|
||||
#& Playlists
|
||||
Duration:
|
||||
Duration: ''
|
||||
All Durations: ''
|
||||
Short (< 4 minutes): ''
|
||||
Long (> 20 minutes): ''
|
||||
Duration: 'अवधि'
|
||||
All Durations: 'सब अवधि'
|
||||
Short (< 4 minutes): 'छोटे (<४ मिनट)'
|
||||
Long (> 20 minutes): 'बड़े (>२० मिनट)'
|
||||
# On Search Page
|
||||
Search Results: ''
|
||||
Fetching results. Please wait: ''
|
||||
Fetch more results: ''
|
||||
Search Results: 'खोजे परिणाम'
|
||||
Fetching results. Please wait: 'परिणाम ला रहे है। कृपया प्रतीक्षा करे'
|
||||
Fetch more results: 'ज़्यादा परिणाम लाए'
|
||||
# Sidebar
|
||||
There are no more results for this search: इस सर्च के लिए और परिणाम नहो है।
|
||||
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: ''
|
||||
Trending: ''
|
||||
Most Popular: ''
|
||||
Playlists: ''
|
||||
Subscriptions: 'सब्सक्रिप्शन'
|
||||
Latest Subscriptions: 'सबसे नए सब्सक्रिप्शन'
|
||||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: 'यह
|
||||
प्रोफ़ाइल (profile)के पास बहुत सारे सब्सक्रिप्शने है। RSS को बल से रटे लिमिटिंग
|
||||
(rate limiting) से बचाए'
|
||||
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'आपकेय
|
||||
सब्सक्रिप्शन लिस्ट अब के लिए ख़ाली है। सब्सक्रिप्शन add करने से इधर देख सक्ते
|
||||
है।'
|
||||
'Getting Subscriptions. Please wait.': 'सब्सक्रिप्शने (subscriptions) ढूंड रहे है।
|
||||
कृपया रुके।'
|
||||
Refresh Subscriptions: 'सब्सक्रिप्शने Refresh करे'
|
||||
Load More Videos: 'ज़्यादा विडीओए लोड करे'
|
||||
Trending: 'ट्रेनडिंग'
|
||||
Most Popular: 'सबसे ज़्यादा देखा हुआ'
|
||||
Playlists: 'प्लेलिस्टे (playlists)'
|
||||
User Playlists:
|
||||
Your Playlists: ''
|
||||
Your Playlists: 'आपके प्लेलिस्टे'
|
||||
History:
|
||||
# On History Page
|
||||
History: ''
|
||||
|
|
|
@ -195,6 +195,7 @@ Settings:
|
|||
1440p: '1440p'
|
||||
4k: '4k'
|
||||
8k: '8k'
|
||||
Playlist Next Video Interval: Lejátszási lista következő videó intervalluma
|
||||
Privacy Settings:
|
||||
Privacy Settings: 'Adatvédelmi beállítások'
|
||||
Remember History: 'Előzmények megjegyzése'
|
||||
|
@ -292,6 +293,7 @@ Settings:
|
|||
Hide Video Views: Videó nézetek elrejtése
|
||||
Distraction Free Settings: Zavartalan beállítások
|
||||
Hide Active Subscriptions: Elérhető feliratkozások elrejtése
|
||||
Hide Playlists: Lejátszási listák elrejtése
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: Az
|
||||
alkalmazásnak újra kell indulnia, hogy a változtatások életbe lépjenek. Indítsa
|
||||
újra és alkalmazza a módosítást?
|
||||
|
@ -309,6 +311,8 @@ Settings:
|
|||
Proxy Protocol: Meghatalmazás protokoll
|
||||
Enable Tor / Proxy: Tor/meghatalmazás engedélyezése
|
||||
Proxy Settings: Meghatalmazás beállításai
|
||||
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?
|
||||
About:
|
||||
#On About page
|
||||
About: 'Névjegy'
|
||||
|
@ -341,6 +345,32 @@ About:
|
|||
|
||||
Latest FreeTube News: 'Legfrissebb FreeTube hírek'
|
||||
|
||||
these people and projects: ezek emberek és projektek
|
||||
FreeTube is made possible by: 'A FreeTube engedélyezése:'
|
||||
Donate: Hozzájárulás
|
||||
Credits: Közreműködők
|
||||
Translate: Fordítás
|
||||
room rules: szobaszabályok
|
||||
Please read the: Kérjük, olvassa el a(z)
|
||||
Chat on Matrix: Matrix csevegése
|
||||
Mastodon: Mastodon
|
||||
Blog: Napló
|
||||
Email: E-mail
|
||||
Website: Honlap
|
||||
Please check for duplicates before posting: Feladás előtt ellenőrizze, hogy vannak-e
|
||||
másolatok
|
||||
GitHub issues: GitHub kérdések
|
||||
Help: Súgó
|
||||
GitHub releases: GitHub kiadások
|
||||
Downloads / Changelog: Letöltések/Változásnapló
|
||||
View License: Licenc megtekintése
|
||||
Licensed under the AGPLv3: Az AGPL (GNU Affero General Public License - GNU Affero
|
||||
általános nyilvános licenc) 3. verziója alatt licencelt
|
||||
FreeTube Wiki: FreeTube Wiki
|
||||
Source code: Forráskód
|
||||
Beta: Béta
|
||||
FAQ: GyIK
|
||||
Report a problem: Probléma jelentése
|
||||
Profile:
|
||||
Profile Select: 'Profil kiválasztása'
|
||||
All Channels: 'Összes csatorna'
|
||||
|
@ -381,6 +411,7 @@ Profile:
|
|||
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: 'Biztosan
|
||||
törli a kijelölt csatornákat? Ez nem törli a csatornát más profilokból.'
|
||||
#On Channel Page
|
||||
Profile Filter: Profilszűrő
|
||||
Channel:
|
||||
Subscriber: 'Feliratkozó'
|
||||
Subscribers: 'Feliratkozók'
|
||||
|
@ -499,6 +530,9 @@ Video:
|
|||
Open Channel in Invidious: Csatorna megnyitása az Invidious oldalán
|
||||
Started streaming on: Folyamatos átvitel indult
|
||||
Streamed on: Folyamatos átvitele
|
||||
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
|
||||
Save Video: Videó mentése
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
|
@ -630,3 +664,8 @@ Tooltips:
|
|||
visszaadott örökölt formátumokat fogja használni az Invidious által visszaadottak
|
||||
helyett. Segít, ha az Invidious által visszaküldött videókat nem lehet lejátszani
|
||||
az ország korlátozása miatt
|
||||
Playing Next Video Interval: A következő videó lejátszása folyamatban van. Kattintson
|
||||
a törléshez. | A következő videó lejátszása {nextVideoInterval} másodperc múlva
|
||||
történik. Kattintson a törléshez. | A következő videó lejátszása {nextVideoInterval}
|
||||
másodperc múlva történik. Kattintson a törléshez.
|
||||
More: Több
|
||||
|
|
|
@ -3,14 +3,15 @@ Locale Name: 'Bahasa Indonesia'
|
|||
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.': >-
|
||||
Bagian aplikasi ini belum tersedia. Kembali lagi jika sudah ada kemajuan.
|
||||
Bagian dari aplikasi ini belum disiapkan. Kembali lagi nanti saat kemajuan telah
|
||||
dibuat.
|
||||
|
||||
# Webkit Menu Bar
|
||||
File: 'Berkas'
|
||||
Quit: 'Keluar'
|
||||
Edit: 'Sunting'
|
||||
Undo: 'Urungkan'
|
||||
Redo: 'Redo'
|
||||
Redo: 'Majukan'
|
||||
Cut: 'Potong'
|
||||
Copy: 'Salin'
|
||||
Paste: 'Tempel'
|
||||
|
@ -189,6 +190,7 @@ Settings:
|
|||
1440p: '1440p'
|
||||
4k: '4k'
|
||||
8k: '8k'
|
||||
Playlist Next Video Interval: Interval Video dalam Daftar Putar
|
||||
Privacy Settings:
|
||||
Privacy Settings: 'Pengaturan Privasi'
|
||||
Remember History: 'Ingat Riwayat'
|
||||
|
@ -247,7 +249,7 @@ Settings:
|
|||
Unable to write file: 'Tidak dapat menulis berkas'
|
||||
Unknown data key: 'Kunci data tidak diketahui'
|
||||
How do I import my subscriptions?: 'Bagaimana saya mengimpor langganan saya?'
|
||||
Check for Legacy Subscriptions: Periksa langganan lawas
|
||||
Check for Legacy Subscriptions: Periksa Langganan Lawas
|
||||
Manage Subscriptions: Kelola Langganan
|
||||
Advanced Settings:
|
||||
Advanced Settings: 'Pengaturan Lanjutan'
|
||||
|
@ -287,6 +289,7 @@ Settings:
|
|||
Hide Video Likes And Dislikes: Sembunyikan Suka dan Tidak Suka Video
|
||||
Hide Video Views: Sembunyikan Tinjauan Video
|
||||
Hide Active Subscriptions: Sembunyikan Langganan Aktif
|
||||
Hide Playlists: Sembunyikan Daftar Putar
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: Aplikasi
|
||||
butuh dimulai ulang agar perbubahan diterapkan. Mulai ulang dan terapkan perubahan?
|
||||
Proxy Settings:
|
||||
|
@ -650,3 +653,7 @@ Tooltips:
|
|||
Preferred API Backend: Pilih layanan yang digunakan oleh FreeTube untuk mengambil
|
||||
data. API lokal adalah ekstraktor bawaan. API Invidious membutuhkan sambungan
|
||||
ke server Invidious.
|
||||
Playing Next Video Interval: Langsung putar video berikutnya. Klik untuk batal. |
|
||||
Putar video berikutnya dalam {nextVideoInterval} detik. Klik untuk batal. | Putar
|
||||
video berikutnya dalam {nextVideoInterval} detik. Klik untuk batal.
|
||||
More: Lebih banyak
|
||||
|
|
|
@ -315,7 +315,7 @@ About:
|
|||
Credits: クレジット
|
||||
Translate: 翻訳
|
||||
room rules: ルームの規則
|
||||
Please read the: ご覧ください
|
||||
Please read the: 確認してください
|
||||
Chat on Matrix: Matrix でチャット
|
||||
Mastodon: Mastodon
|
||||
Email: メール アドレス
|
||||
|
@ -569,7 +569,7 @@ Profile:
|
|||
The playlist has been reversed: 再生リストを逆順にしました
|
||||
A new blog is now available, $. Click to view more: '新着ブログ公開、$。クリックしてブログを読む'
|
||||
Download From Site: サイトからダウンロード
|
||||
Version $ is now available! Click for more details: 最新の Ver. $ 登場! 詳細はクリックしてご覧ください
|
||||
Version $ is now available! Click for more details: 最新の Ver. $ 登場! 詳細はクリックして確認
|
||||
This video is unavailable because of missing formats. This can happen due to country unavailability.: この動画は、動画形式の情報が利用できないため再生できません。再生許可のない国で発生します。
|
||||
Tooltips:
|
||||
Subscription Settings:
|
||||
|
|
|
@ -16,7 +16,7 @@ Copy: 'Kopier'
|
|||
Paste: 'Lim inn'
|
||||
Delete: 'Slett'
|
||||
Select all: 'Velg alt'
|
||||
Reload: 'Gjeninnlast'
|
||||
Reload: 'Last inn på nytt'
|
||||
Force Reload: 'Tving gjeninnlasting'
|
||||
Toggle Developer Tools: 'Veksle utviklerverktøy'
|
||||
Actual size: 'Faktisk størrelse'
|
||||
|
@ -43,7 +43,7 @@ Search Filters:
|
|||
Time:
|
||||
Time: 'Tid'
|
||||
Any Time: 'Når som helst'
|
||||
Last Hour: 'Siste time'
|
||||
Last Hour: 'Den siste timen'
|
||||
Today: 'I dag'
|
||||
This Week: 'Denne uken'
|
||||
This Month: 'Denne måneden'
|
||||
|
@ -64,20 +64,31 @@ Search Filters:
|
|||
Fetching results. Please wait: 'Henter resultater. Vent.'
|
||||
Fetch more results: 'Hent flere resultater'
|
||||
# Sidebar
|
||||
There are no more results for this search: Det er ikke flere resultat for dette
|
||||
søket
|
||||
Subscriptions:
|
||||
# On Subscriptions Page
|
||||
Subscriptions: 'Abonnementer'
|
||||
Latest Subscriptions: 'Siste abonnementer'
|
||||
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'Din
|
||||
abbonementsliste er for tiden tom. Legg til noen for å se dem her.'
|
||||
abonnementsliste er for tiden tom. Legg til noen for å se dem her.'
|
||||
'Getting Subscriptions. Please wait.': 'Henter abonnementer. Vent.'
|
||||
Refresh Subscriptions: Gjenoppfrisk abonnementer
|
||||
Refresh Subscriptions: Oppdater abonnementer
|
||||
Getting Subscriptions. Please wait.: Henter abonnementer. Vent.
|
||||
Trending: 'Populært'
|
||||
Load More Videos: Last flere videoer
|
||||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Denne
|
||||
profilen har mange abonnementer. Påtvinger RSS for å unngå adgangsbegrensning.
|
||||
Trending: 'På vei opp'
|
||||
Most Popular: 'Mest populært'
|
||||
Playlists: 'Spillelister'
|
||||
User Playlists:
|
||||
Your Playlists: 'Dine spillelister'
|
||||
Playlist Message: Denne siden reflekterer ikke fullstendig fungerende spillelister.
|
||||
Den lister kun opp videoer du har lagret eller favorittmerket. Når arbeidet er
|
||||
fullført, 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
|
||||
lagrede videoer er tomme. klikk på "Lagre"-knappen i hjørnet av en video for å
|
||||
liste den opp her.
|
||||
History:
|
||||
# On History Page
|
||||
History: 'Historikk'
|
||||
|
@ -90,9 +101,9 @@ Settings:
|
|||
General Settings: 'Generelle innstillinger'
|
||||
Fallback to Non-Preferred Backend on Failure: 'Tilbakefall til ikke-foretrukken
|
||||
bakende ved feil'
|
||||
Enable Search Suggestions: 'Skru på søkeforslag'
|
||||
Enable Search Suggestions: 'Slå på søkeforslag'
|
||||
Default Landing Page: 'Forvalgt landingsside'
|
||||
Locale Preference: 'Lokale-innstilling'
|
||||
Locale Preference: 'Språkinnstilling'
|
||||
Preferred API Backend:
|
||||
Preferred API Backend: 'Foretrukket API-bakende'
|
||||
Local API: 'Lokalt API'
|
||||
|
@ -109,11 +120,14 @@ Settings:
|
|||
End: 'Slutten'
|
||||
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Individious-instans
|
||||
(forvalget er https://invidious.snopyta.org)'
|
||||
Region for Trending: 'Region for populære'
|
||||
Region for Trending: 'Region for På vei opp'
|
||||
#! List countries
|
||||
Check for Updates: Se etter oppdateringer
|
||||
View all Invidious instance information: Vis info om alle Invidious-instanser
|
||||
Check for Latest Blog Posts: Se etter nye bloggposter
|
||||
Theme Settings:
|
||||
Theme Settings: 'Tema innstillinger'
|
||||
Match Top Bar with Main Color: ''
|
||||
Match Top Bar with Main Color: 'Bruk hovedfarge i toppbjelke'
|
||||
Base Theme:
|
||||
Base Theme: 'Hovedtema'
|
||||
Black: 'Svart'
|
||||
|
@ -128,36 +142,39 @@ Settings:
|
|||
Indigo: 'Indigo'
|
||||
Blue: 'Blå'
|
||||
Light Blue: 'Lyseblå'
|
||||
Cyan: ''
|
||||
Teal: ''
|
||||
Cyan: 'Cyanblå'
|
||||
Teal: 'Turkis'
|
||||
Green: 'Grønn'
|
||||
Light Green: 'Lysegrønn'
|
||||
Lime: ''
|
||||
Lime: 'Limegrønn'
|
||||
Yellow: 'Gul'
|
||||
Amber: ''
|
||||
Orange: ''
|
||||
Deep Orange: ''
|
||||
Secondary Color Theme: ''
|
||||
Amber: 'Rav'
|
||||
Orange: 'Oransje'
|
||||
Deep Orange: 'Dyp oransje'
|
||||
Secondary Color Theme: 'Sekundær fargedrakt'
|
||||
#* Main Color Theme
|
||||
UI Scale: Grensesnittskala
|
||||
Disable Smooth Scrolling: Skru av myk rulling
|
||||
Expand Side Bar by Default: Utvid sidestolpe som forvalg
|
||||
Player Settings:
|
||||
Player Settings: 'Spillerinnstillinger'
|
||||
Force Local Backend for Legacy Formats: ''
|
||||
Play Next Video: 'Spill neste video'
|
||||
Turn on Subtitles by Default: ''
|
||||
Autoplay Videos: ''
|
||||
Proxy Videos Through Invidious: ''
|
||||
Autoplay Playlists: ''
|
||||
Enable Theatre Mode by Default: ''
|
||||
Default Volume: 'Forvalgt lydstyrke'
|
||||
Default Playback Rate: ''
|
||||
Force Local Backend for Legacy Formats: 'Påtving lokal bakende for forelede formater'
|
||||
Play Next Video: 'Spill av neste video'
|
||||
Turn on Subtitles by Default: 'Slå på undertekster som standard'
|
||||
Autoplay Videos: 'Auto-spill videoer'
|
||||
Proxy Videos Through Invidious: 'Mellomtjen videoer gjennom Invidious'
|
||||
Autoplay Playlists: 'Autospillings-spillelister'
|
||||
Enable Theatre Mode by Default: 'Kinomodus som standardvalg'
|
||||
Default Volume: 'Standardvolum'
|
||||
Default Playback Rate: 'Forvalgt avspillingshastighet'
|
||||
Default Video Format:
|
||||
Default Video Format: ''
|
||||
Dash Formats: ''
|
||||
Legacy Formats: ''
|
||||
Default Video Format: 'Forvalgt videoformat'
|
||||
Dash Formats: 'DASH-formater'
|
||||
Legacy Formats: 'Gamle formater'
|
||||
Audio Formats: 'Lydformater'
|
||||
Default Quality:
|
||||
Default Quality: 'Forvalgt kvalitet'
|
||||
Auto: ''
|
||||
Auto: 'Auto'
|
||||
144p: '144p'
|
||||
240p: '240p'
|
||||
360p: '360p'
|
||||
|
@ -165,21 +182,25 @@ Settings:
|
|||
720p: '720p'
|
||||
1080p: '1080p'
|
||||
1440p: '1440p'
|
||||
4k: ''
|
||||
8k: ''
|
||||
4k: 'UHD'
|
||||
8k: '8k UHD'
|
||||
Privacy Settings:
|
||||
Privacy Settings: 'Personvernsinnstillinger'
|
||||
Remember History: 'Husk historikk'
|
||||
Save Watched Progress: 'Lagre framdriftsposisjon'
|
||||
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: ''
|
||||
Clear 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'
|
||||
Remove Watch History: 'Fjern visningshistorikk'
|
||||
Are you sure you want to remove your entire watch history?: 'Fjern hele visningshistorikken?'
|
||||
Watch history has been cleared: 'VIsningshistorikk fjernet'
|
||||
Remove All Subscriptions / Profiles: Fjern alle abonnementer/profiler
|
||||
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
|
||||
angres.
|
||||
Subscription Settings:
|
||||
Subscription Settings: ''
|
||||
Hide Videos on Watch: ''
|
||||
Subscription Settings: 'Abonnementsinnstillinger'
|
||||
Hide Videos on Watch: 'Skjul sette videoer'
|
||||
Subscriptions Export Format:
|
||||
Subscriptions Export Format: ''
|
||||
#& Freetube
|
||||
|
@ -189,6 +210,7 @@ Settings:
|
|||
Import Subscriptions: 'Importer abonnementer'
|
||||
Export Subscriptions: 'Eksporter abonnementer'
|
||||
How do I import my subscriptions?: 'Hvordan importerer jeg mine abonnementer?'
|
||||
Fetch Feeds from RSS: Hent informasjonskanaler fra RSS
|
||||
Advanced Settings:
|
||||
Advanced Settings: 'Avanserte innstillinger'
|
||||
Enable Debug Mode (Prints data to the console): ''
|
||||
|
@ -219,6 +241,67 @@ Settings:
|
|||
Unknown data key: Ukjent datanøkkel
|
||||
Unable to write file: Kunne ikke skrive fil
|
||||
Invalid history file: Ugyldig historikkfil
|
||||
All watched history has been successfully exported: All visningshistorikk har
|
||||
blitt eksportert
|
||||
All watched history has been successfully imported: All visningshistorikk importert
|
||||
History object has insufficient data, skipping item: Hopper over historikkobjekt
|
||||
med utilstrekkelig data
|
||||
One or more subscriptions were unable to be imported: Ett eller flere abonnement
|
||||
kunne ikke importeres
|
||||
All subscriptions have been successfully imported: Alle abonnementer har blitt
|
||||
importert
|
||||
All subscriptions and profiles have been successfully imported: Importerte alle
|
||||
abonnementer og profiler
|
||||
Manage Subscriptions: Håndter abonnementer
|
||||
Unable to read file: Kunne ikke lese fil
|
||||
Invalid subscriptions file: Ugyldig abonnementsfil
|
||||
Profile object has insufficient data, skipping item: Profilobjekt har utilstrekkelig
|
||||
data. Hopper over element.
|
||||
Check for Legacy Subscriptions: Se etter foreldede abonnementer
|
||||
Subscriptions have been successfully exported: Abonnementer eksportert
|
||||
This might take a while, please wait: Dette kan ta sin tid…
|
||||
Export History: Historikk-eksport
|
||||
Import History: Historikk-import
|
||||
Export NewPipe: NewPipe-eksport
|
||||
Export YouTube: YouTube-eksport
|
||||
Export FreeTube: FreeTube-eksport
|
||||
Export Subscriptions: Eksporter abonnementer
|
||||
Import NewPipe: Importer NewPipe
|
||||
Import YouTube: Importer YouTube
|
||||
Import FreeTube: Importer FreeTube
|
||||
Import Subscriptions: Importer abonnementer
|
||||
Select Export Type: Velg eksporttype
|
||||
Select Import Type: Velg importtype
|
||||
Data Settings: Datainnstillinger
|
||||
Proxy Settings:
|
||||
Region: Region
|
||||
Clicking on Test Proxy will send a request to: Klikk på «Test mellomtjener» for
|
||||
å sende en forespørsel til
|
||||
Error getting network information. Is your proxy configured properly?: Klarte
|
||||
ikke å hente nettverksinfo. Er din mellomtjener satt opp riktig?
|
||||
Test Proxy: Test mellomtjener
|
||||
City: By
|
||||
Country: Land
|
||||
Ip: IP
|
||||
Your Info: Din info
|
||||
Proxy Port Number: Mellomtjener-portnummer
|
||||
Proxy Host: Mellomtjenervert
|
||||
Proxy Protocol: Mellomtjenerprotokoll
|
||||
Enable Tor / Proxy: Skru på Tor/mellomtjener
|
||||
Proxy Settings: Mellomtjenerinnstillinger
|
||||
Distraction Free Settings:
|
||||
Hide Trending Videos: Gjem På vei opp
|
||||
Hide Video Likes And Dislikes: Skjul video-gunst
|
||||
Distraction Free Settings: Distraksjonsfri-innstillinger
|
||||
Hide Active Subscriptions: Skjul aktive abonnementer
|
||||
Hide Recommended Videos: Skjul anbefalte videoer
|
||||
Hide Comment Likes: Skjul kommentargunst
|
||||
Hide Channel Subscribers: Skjul kanalabonnementer
|
||||
Hide Popular Videos: Skjul populære videoer
|
||||
Hide Video Views: Skjul videovisninger
|
||||
Hide Live Chat: Gjem direktechat
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: Start
|
||||
programmet på ny for å bruke de nye endringene?
|
||||
About:
|
||||
#On About page
|
||||
About: 'Om'
|
||||
|
@ -243,13 +326,37 @@ About:
|
|||
Latest FreeTube News: ''
|
||||
|
||||
#On Channel Page
|
||||
FAQ: Ofte stilte spørsmål
|
||||
Downloads / Changelog: Nedlastninger / Endringslogg
|
||||
Licensed under the AGPLv3: Lisensiert under AGPLv3
|
||||
Help: Hjelp
|
||||
View License: Vis lisens
|
||||
Donate: Doner
|
||||
Website: Nettsted
|
||||
Report a problem: Rapporter et problem
|
||||
Source code: Kildekode
|
||||
Please read the: Vennligst les
|
||||
Mastodon: Mastodon
|
||||
Email: E-post
|
||||
Blog: Blogg
|
||||
Translate: Oversett
|
||||
Please check for duplicates before posting: Se etter duplikater før innsendelse
|
||||
these people and projects: disse folkene og prosjektene
|
||||
FreeTube is made possible by: FreeTube er gjort mulig av
|
||||
Credits: Bidragsytere
|
||||
room rules: romregler
|
||||
GitHub issues: GitHub-problemsporer
|
||||
FreeTube Wiki: FreeTube-wiki
|
||||
GitHub releases: GitHub-utgivelser
|
||||
Beta: Beta
|
||||
Chat on Matrix: Snakk med oss på Matrix
|
||||
Channel:
|
||||
Subscriber: 'Abonnent'
|
||||
Subscribers: 'Abonnenter'
|
||||
Subscribe: 'Abonner'
|
||||
Unsubscribe: 'Opphev abonnement'
|
||||
Search Channel: 'Søk i kanal'
|
||||
Your search results have returned 0 results: 'Resultatløst søk'
|
||||
Your search results have returned 0 results: 'Søktet ditt ga 0 resultater'
|
||||
Sort By: 'Sorter etter'
|
||||
Videos:
|
||||
Videos: 'Videoer'
|
||||
|
@ -270,11 +377,16 @@ Channel:
|
|||
About: 'Om'
|
||||
Channel Description: 'Kanalbeskrivelse'
|
||||
Featured Channels: 'Framhevede kanaler'
|
||||
Added channel to your subscriptions: Lagt til kanal til dine abonnenter
|
||||
Removed subscription from $ other channel(s): Fjernet abonnement fra $ andre kanal(er)
|
||||
Channel has been removed from your subscriptions: Kanalen har blitt fjernet fra
|
||||
dine abonnement
|
||||
Video:
|
||||
Mark As Watched: 'Marker som sett'
|
||||
Remove From History: 'Fjern fra historikk'
|
||||
Video has been marked as watched: 'Videoen har blitt markert som sett'
|
||||
Video has been removed from your history: ''
|
||||
Video has been removed from your history: 'Videoen har blitt fjernet fra historikken
|
||||
din'
|
||||
Open in YouTube: 'Åpne i YouTube'
|
||||
Copy YouTube Link: 'Kopier YouTube-lenke'
|
||||
Open YouTube Embedded Player: 'Åpne innebygd YouTube-spiller'
|
||||
|
@ -284,17 +396,22 @@ Video:
|
|||
View: 'Vis'
|
||||
Views: 'Visninger'
|
||||
# Context is "X People Watching"
|
||||
Watching: ''
|
||||
Watched: ''
|
||||
Watching: 'Ser på'
|
||||
Watched: 'Sett'
|
||||
# As in a Live Video
|
||||
Live: 'Direktesendt'
|
||||
Live Now: 'Direktesendt nå'
|
||||
Live Chat: 'Sanntidssludring'
|
||||
Enable Live Chat: 'Skru på sanntidssludring'
|
||||
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.': ''
|
||||
Live: 'Direkte'
|
||||
Live Now: 'Direkte nå'
|
||||
Live Chat: 'Direktechat'
|
||||
Enable Live Chat: 'Slå på direktechat'
|
||||
Live Chat is currently not supported in this build.: 'Direktechat er ikke støttet
|
||||
i den nåværende versjonen.'
|
||||
'Chat is disabled or the Live Stream has ended.': 'Chatten er slått av eller direktesendingen
|
||||
er avsluttet.'
|
||||
Live chat is enabled. Chat messages will appear here once sent.: 'Direktechat er
|
||||
slått på. Chatmeldinger vil bli vist her når de er sendt.'
|
||||
'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
|
||||
kreves.'
|
||||
Published:
|
||||
Jan: 'Jan'
|
||||
Feb: 'Feb'
|
||||
|
@ -321,11 +438,39 @@ Video:
|
|||
Year: 'År'
|
||||
Years: 'År'
|
||||
Ago: 'Siden'
|
||||
Upcoming: ''
|
||||
Published on: ''
|
||||
Upcoming: 'Har premiere'
|
||||
Minutes: Minutter
|
||||
Minute: Minutt
|
||||
Published on: 'Publisert'
|
||||
# $ is replaced with the number and % with the unit (days, hours, minutes...)
|
||||
Publicationtemplate: '$ % siden'
|
||||
#& Videos
|
||||
Audio:
|
||||
High: Høy
|
||||
Medium: Middels
|
||||
Low: Lav
|
||||
Best: Beste
|
||||
audio only: Bare lyd
|
||||
video only: Bare video
|
||||
Download Video: Last ned video
|
||||
Video has been saved: Videoen har blitt lagret
|
||||
Save Video: Lagre video
|
||||
Copy Invidious Channel Link: Kopier Invidious-kanallenke
|
||||
Reverse Playlist: Snu spillelisten
|
||||
Started streaming on: Startet strømming
|
||||
Streamed on: Strømmet
|
||||
Starting soon, please refresh the page to check again: Starter snart, vennligst
|
||||
oppdater siden for å sjekke igjen
|
||||
Autoplay: Automatisk avspilling
|
||||
Shuffle Playlist: Spill av tilfeldig fra spillelisten
|
||||
Loop Playlist: Gjenta spilleliste
|
||||
Open Channel in Invidious: Opne kanal i Invidious
|
||||
Copy YouTube Channel Link: Kopier YouTube-kanallenke
|
||||
Video has been removed from your saved list: Videoen har blitt fjernet fra din liste
|
||||
over lagrede videoer
|
||||
Open Channel in YouTube: Åpne kanal i YouTube
|
||||
Play Previous Video: Spill av forrige video
|
||||
Play Next Video: Spill av neste video
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
|
@ -350,12 +495,16 @@ Playlist:
|
|||
# On Video Watch Page
|
||||
#* Published
|
||||
#& Views
|
||||
Toggle Theatre Mode: ''
|
||||
Toggle Theatre Mode: 'Veksle teatermodus'
|
||||
Change Format:
|
||||
Change Video Formats: 'Endre videoformater'
|
||||
Use Dash Formats: ''
|
||||
Use Legacy Formats: ''
|
||||
Use Audio Formats: ''
|
||||
Use Dash Formats: 'Bruk DASH-formater'
|
||||
Use Legacy Formats: 'Bruk foreldede formater'
|
||||
Use Audio Formats: 'Bruk lydformater'
|
||||
Audio formats are not available for this video: Lydformater er ikke tilgjengelig
|
||||
for denne videoen
|
||||
Dash formats are not available for this video: DASH-formater er ikke tilgjengelig
|
||||
for denne videoen
|
||||
Share:
|
||||
Share Video: 'Del video'
|
||||
Copy Link: 'Kopier lenke'
|
||||
|
@ -369,6 +518,10 @@ Share:
|
|||
YouTube URL copied to clipboard: 'YouTube-nettadresse kopiert til utklippstavle'
|
||||
YouTube Embed URL copied to clipboard: 'Innebygd YouTube-nettadresse kopiert til
|
||||
utklippstavle'
|
||||
YouTube Channel URL copied to clipboard: YouTube-kanalnettadresse kopiert til utklippstavle
|
||||
Include Timestamp: Inkluder tidsstempel
|
||||
Invidious Channel URL copied to clipboard: Ugyldig kanalnettadresse kopiert til
|
||||
utklippstavle
|
||||
Mini Player: 'Minispiller'
|
||||
Comments:
|
||||
Comments: 'Kommentarer'
|
||||
|
@ -381,25 +534,35 @@ Comments:
|
|||
Hide: 'Skjul'
|
||||
Replies: 'Svar'
|
||||
Reply: 'Svar'
|
||||
There are no comments available for this video: ''
|
||||
There are no comments available for this video: 'Det finnes ingen tilgjengelige
|
||||
kommentarer for denne videoen'
|
||||
Load More Comments: 'Last inn flere kommentarer'
|
||||
Up Next: ''
|
||||
No more comments available: Ingen flere kommentarer tilgjengelig
|
||||
Newest first: Nyeste først
|
||||
There are no more comments for this video: Det finnes ingen flere kommentarer for
|
||||
denne videoen
|
||||
Sort by: Sorter etter
|
||||
Top comments: Toppkommentarer
|
||||
Up Next: 'Neste'
|
||||
|
||||
# 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: ''
|
||||
Subscriptions have not yet been implemented: ''
|
||||
Loop is now disabled: ''
|
||||
Loop is now enabled: ''
|
||||
Shuffle is now disabled: ''
|
||||
Shuffle is now enabled: ''
|
||||
Playing Next Video: ''
|
||||
Playing Previous Video: ''
|
||||
Playing next video in 5 seconds. Click to cancel: ''
|
||||
Canceled next video autoplay: ''
|
||||
'The playlist has ended. Enable loop to continue playing': ''
|
||||
Local API Error (Click to copy): 'Lokal API-feil (Klikk for å kopiere)'
|
||||
Invidious API Error (Click to copy): 'Invidious-API-feil (Klikk for å kopiere)'
|
||||
Falling back to Invidious API: 'Faller tilbake til Invidious-API-et'
|
||||
Falling back to the local API: 'Faller tilbake til det lokale API-et'
|
||||
Subscriptions have not yet been implemented: 'Abonnement har ikke blitt implementert
|
||||
enda'
|
||||
Loop is now disabled: 'Gjenta er nå deaktivert'
|
||||
Loop is now enabled: 'Gjenta er nå aktivert'
|
||||
Shuffle is now disabled: 'Tilfeldig avspilling er nå deaktivert'
|
||||
Shuffle is now enabled: 'Tilfeldig avspilling er nå aktivert'
|
||||
Playing Next Video: 'Spiller av neste video'
|
||||
Playing Previous Video: 'Spiller av forrige video'
|
||||
Playing next video in 5 seconds. Click to cancel: 'Spiller av neste video om 5 sekunder.
|
||||
Klikk for å avbryte.'
|
||||
Canceled next video autoplay: 'Avbryter automatisk avspilling av neste video'
|
||||
'The playlist has ended. Enable loop to continue playing': 'Spillelisten har nådd
|
||||
sin ende. Klikk på «Gjenta» for å fortsette spillingen'
|
||||
|
||||
Yes: 'Ja'
|
||||
No: 'Nei'
|
||||
|
@ -420,3 +583,65 @@ Profile:
|
|||
Delete Profile: Slett profil
|
||||
Make Default Profile: Gjør til forvalgt 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
|
||||
du sikker på at du vil fjerne de valgte kanalene? Disse vil ikke bli slettet fra
|
||||
noen andre profiler.
|
||||
No channel(s) have been selected: Ingen kanal(er) har blitt valgt
|
||||
Select All: Velg alle
|
||||
$ selected: $ valgt
|
||||
Other Channels: Andre kanaler
|
||||
Color Picker: Fargevelger
|
||||
Profile Select: Velg profil
|
||||
Create Profile: Lag profil
|
||||
Edit Profile: Rediger profil
|
||||
Create New Profile: Lag ny profil
|
||||
Profile Manager: Profilbehandler
|
||||
All Channels: Alle kanaler
|
||||
? 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.
|
||||
: Dette er din hovedprofil. Er du sikker på at du ønsker å slette valgte kanaler?
|
||||
De samme kanalene vil bli slettet i enhver profil de finnes i.
|
||||
Select None: Fravelg alt
|
||||
Delete Selected: Slett valgte
|
||||
Add Selected To Profile: Legg til valgt i profil
|
||||
Subscription List: Abonnementsliste
|
||||
Profile Preview: Profilforhåndsvisning
|
||||
Custom Color: Egendefinert farge
|
||||
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
|
||||
i ditt land.
|
||||
Tooltips:
|
||||
General Settings:
|
||||
Invidious Instance: Invidious-forekomsten som FreeTube vil koble til for API-kall.
|
||||
Fjern den gjeldene forekomsten for å se en liste over offentlige forekomster
|
||||
å velge mellom
|
||||
Thumbnail Preference: Alle miniatyrbilder i FreeTube vil bli erstattet av et bilde
|
||||
av videoen i stedet for standardminiatyrbildet
|
||||
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
|
||||
dersom det er aktivert
|
||||
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.
|
||||
Preferred API Backend: Velg bakenden FreeTube bruker til å hente data. Det lokale
|
||||
API-et er en innebygd utpakker. Invidious-API-et krever en Invidious-tjener
|
||||
å koble til.
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: Når påskrudd, vil FreeTube bruke RSS istedenfor dens forvalgte
|
||||
metode for å hente din abonnementsstrøm. RSS er raskere og forhindrer IP-blokkering,
|
||||
men har ikke gitt info som videovarighet, eller sanntidsstatus.
|
||||
Player Settings:
|
||||
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,
|
||||
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
|
||||
som 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
|
||||
returnert av Invidious ikke spilles som følge av regionsrestriksjoner.
|
||||
Proxy Videos Through Invidious: Kobler til Invidious for å vertstjene videoer
|
||||
istedenfor å gjøre direkte tilkoblinger til YouTube. (Overskriver API-preferanse.)
|
||||
A new blog is now available, $. Click to view more: En ny bloggpost er nå tilgjengelig,
|
||||
$. Klikk for å se den
|
||||
The playlist has been reversed: Spillelisten har blitt snudd
|
||||
Download From Site: Last ned fra nettsiden
|
||||
Version $ is now available! Click for more details: Versjon $ er nå tilgjengelig.
|
||||
Klikk for flere detaljer.
|
||||
|
|
|
@ -0,0 +1,588 @@
|
|||
# Put the name of your locale in the same language
|
||||
Locale Name: 'Norsk nynorsk'
|
||||
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.': >-
|
||||
Denne delen av applikasjonen er ikkje klar enda. Ver venleg og kom tilbake på eit
|
||||
seinare tidspunkt.
|
||||
|
||||
# Webkit Menu Bar
|
||||
File: 'Fil'
|
||||
Quit: 'Avslutt'
|
||||
Edit: 'Rediger'
|
||||
Undo: 'Angre'
|
||||
Redo: 'Gjenta'
|
||||
Cut: 'Klipp'
|
||||
Copy: 'Kopier'
|
||||
Paste: 'Lim'
|
||||
Delete: 'Fjern'
|
||||
Select all: 'Vel alle'
|
||||
Reload: 'Oppdater'
|
||||
Force Reload: 'Tving oppdatering'
|
||||
Toggle Developer Tools: 'Veksle utviklarverktøy'
|
||||
Actual size: 'Originalstorleik'
|
||||
Zoom in: 'Forstørr'
|
||||
Zoom out: 'Forminsk'
|
||||
Toggle fullscreen: 'Veksle fullskjerm'
|
||||
Window: 'Vindauge'
|
||||
Minimize: 'Minimer'
|
||||
Close: 'Lukk'
|
||||
Back: 'Tilbake'
|
||||
Forward: 'Framover'
|
||||
|
||||
Version $ is now available! Click for more details: 'Versjon $ er no tilgjengeleg!
|
||||
Klikk for meir informasjon'
|
||||
Download From Site: 'Last ned frå nettstaden'
|
||||
A new blog is now available, $. Click to view more: 'Eit nytt blogginnlegg er tilgjengeleg,
|
||||
$. Klikk for å opne det'
|
||||
|
||||
# Search Bar
|
||||
Search / Go to URL: 'Søk / Gå til nettadresse'
|
||||
# In Filter Button
|
||||
Search Filters:
|
||||
Search Filters: 'Søkfilter'
|
||||
Sort By:
|
||||
Sort By: 'Sorter etter'
|
||||
Most Relevant: 'Mest relevant'
|
||||
Rating: 'Vurdering'
|
||||
Upload Date: 'Opplastingsdato'
|
||||
View Count: 'Sjåartal'
|
||||
Time:
|
||||
Time: 'Tid'
|
||||
Any Time: 'Når som helst'
|
||||
Last Hour: 'Den siste timen'
|
||||
Today: 'I dag'
|
||||
This Week: 'Denne veka'
|
||||
This Month: 'Denne månaden'
|
||||
This Year: 'Dette året'
|
||||
Type:
|
||||
Type: 'Type'
|
||||
All Types: 'Alle typar'
|
||||
Videos: 'Videoar'
|
||||
Channels: 'Kanalar'
|
||||
#& Playlists
|
||||
Duration:
|
||||
Duration: 'Varigheit'
|
||||
All Durations: 'Alle varigheitene'
|
||||
Short (< 4 minutes): 'Kort (< 4 minutt)'
|
||||
Long (> 20 minutes): 'Lang (> 20 minutt)'
|
||||
# On Search Page
|
||||
Search Results: 'Søkeresultat'
|
||||
Fetching results. Please wait: 'Henter resultat. Ver venleg og vent'
|
||||
Fetch more results: 'Hent fleire resultat'
|
||||
There are no more results for this search: 'Det er inga fleire resultat for dette
|
||||
søket'
|
||||
# Sidebar
|
||||
Subscriptions:
|
||||
# On Subscriptions Page
|
||||
Subscriptions: 'Abonnement'
|
||||
Latest Subscriptions: 'Siste abonnement'
|
||||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: 'Denne
|
||||
profilen har ei stor mengd abonnentar. Tvinger RSS til å unngå å avgrense hastigheita'
|
||||
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'Di
|
||||
abonnementliste er tom for augeblikket. Start å legge til fleire abonnement for
|
||||
å sjå dei her.'
|
||||
'Getting Subscriptions. Please wait.': 'Henter abonnement. Ver venleg og vent.'
|
||||
Refresh Subscriptions: 'Oppdater abonnement'
|
||||
Load More Videos: 'Last inn fleire videoar'
|
||||
Trending: 'På veg opp'
|
||||
Most Popular: 'Mest populært'
|
||||
Playlists: 'Spelelister'
|
||||
User Playlists:
|
||||
Your Playlists: 'Dine spelelister'
|
||||
Playlist Message: 'Denne sida reflekterer ikkje ei fullt fungerande speleliste.
|
||||
Den viser berre videoar som du har lagra eller lagt til favorittar. Når arbeidet
|
||||
er ferdig, blir alle videoane som for augeblikket er her overført til ei "favoritt"
|
||||
speleliste.'
|
||||
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: 'Du
|
||||
har ingen lagra videoar for augeblikket. Klikk på lagringsknappen i hjørnet av
|
||||
ein video slik at den bli oppført her'
|
||||
History:
|
||||
# On History Page
|
||||
History: 'Historikk'
|
||||
Watch History: 'Sjåarhistorikk'
|
||||
Your history list is currently empty.: 'Historikken din er tom for augeblikket.'
|
||||
Settings:
|
||||
# On Settings Page
|
||||
Settings: 'Innstillingar'
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: 'Applikasjonen
|
||||
må restarte for at endringane skal tre i kraft. Start på nytt og ta i bruk endringane?'
|
||||
General Settings:
|
||||
General Settings: 'Generelle innstillingar'
|
||||
Check for Updates: 'Sjå etter oppdateringar'
|
||||
Check for Latest Blog Posts: 'Sjå etter siste blogginnlegg'
|
||||
Fallback to Non-Preferred Backend on Failure: 'Tilbakefall til ikkje-føretrekte
|
||||
backend ved feil'
|
||||
Enable Search Suggestions: 'Slå på søkeforslag'
|
||||
Default Landing Page: 'Forvalt landingsside'
|
||||
Locale Preference: 'Språkinnstilling'
|
||||
Preferred API Backend:
|
||||
Preferred API Backend: 'Føretrekte API-backend'
|
||||
Local API: 'Lokalt API'
|
||||
Invidious API: 'Invidious-API'
|
||||
Video View Type:
|
||||
Video View Type: 'Videovisingstype'
|
||||
Grid: 'Rutenett'
|
||||
List: 'Liste'
|
||||
Thumbnail Preference:
|
||||
Thumbnail Preference: 'Miniatyrbiletepreferanse'
|
||||
Default: 'Standard'
|
||||
Beginning: 'Begynning'
|
||||
Middle: 'Mellom'
|
||||
End: 'Slutt'
|
||||
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious-førekomst
|
||||
(Standard er https://invidious.snopyta.org)'
|
||||
View all Invidious instance information: 'Vis all Invidious-førekomstinformasjon'
|
||||
Region for Trending: 'Region for På veg opp'
|
||||
#! List countries
|
||||
Theme Settings:
|
||||
Theme Settings: 'Temainnstillingar'
|
||||
Match Top Bar with Main Color: ''
|
||||
Expand Side Bar by Default: ''
|
||||
Disable Smooth Scrolling: 'Deaktiver jevn rulling'
|
||||
UI Scale: 'Skalering av brukargrensesnitt'
|
||||
Base Theme:
|
||||
Base Theme: 'Hovudtema'
|
||||
Black: 'Svart'
|
||||
Dark: 'Mørk'
|
||||
Light: 'Lys'
|
||||
Main Color Theme:
|
||||
Main Color Theme: 'Hovudfargetema'
|
||||
Red: 'Raud'
|
||||
Pink: 'Rosa'
|
||||
Purple: 'Lilla'
|
||||
Deep Purple: 'Djuplilla'
|
||||
Indigo: 'Indigo'
|
||||
Blue: 'Blå'
|
||||
Light Blue: 'Lyseblå'
|
||||
Cyan: ''
|
||||
Teal: 'Blågrøn'
|
||||
Green: 'Grøn'
|
||||
Light Green: 'Lysegrøn'
|
||||
Lime: 'Lime'
|
||||
Yellow: 'Gul'
|
||||
Amber: 'Rav'
|
||||
Orange: 'Oransje'
|
||||
Deep Orange: 'Djuporansje'
|
||||
Secondary Color Theme: 'Sekundærfargetema'
|
||||
#* Main Color Theme
|
||||
Player Settings:
|
||||
Player Settings: 'Videospelarinnstillingar'
|
||||
Force Local Backend for Legacy Formats: ''
|
||||
Play Next Video: 'Spel av neste video'
|
||||
Turn on Subtitles by Default: 'Slå på undertekst som standard'
|
||||
Autoplay Videos: 'Spel av videoar automatisk'
|
||||
Proxy Videos Through Invidious: ''
|
||||
Autoplay Playlists: 'Spel av spelelister automatisk'
|
||||
Enable Theatre Mode by Default: 'Kinomodus som standardval'
|
||||
Default Volume: 'Standardvolum'
|
||||
Default Playback Rate: 'Standard avspelingsfrekvens'
|
||||
Default Video Format:
|
||||
Default Video Format: 'Standard videoformat'
|
||||
Dash Formats: 'DASH-format'
|
||||
Legacy Formats: 'Eldre format'
|
||||
Audio Formats: 'Lydformat'
|
||||
Default Quality:
|
||||
Default Quality: 'Standardkvalitet'
|
||||
Auto: 'Automatisk'
|
||||
144p: '144p'
|
||||
240p: '240p'
|
||||
360p: '360p'
|
||||
480p: '480p'
|
||||
720p: '720p'
|
||||
1080p: '1080p'
|
||||
1440p: '1440p'
|
||||
4k: '4k'
|
||||
8k: '8k'
|
||||
Privacy Settings:
|
||||
Privacy Settings: 'Personvernsinnstillingar'
|
||||
Remember History: 'Husk historikk'
|
||||
Save Watched Progress: ''
|
||||
Clear Search Cache: 'Slett søkebuffer'
|
||||
Are you sure you want to clear out your search cache?: 'Er du sikker på at du
|
||||
vil slette søkebufferen?'
|
||||
Search cache has been cleared: 'Søkebufferen har blitt sletta'
|
||||
Remove Watch History: 'Slett sjåarhistorikk'
|
||||
Are you sure you want to remove your entire watch history?: 'Er du sikker på at
|
||||
du vil fjerne heile sjåarhistorikken din?'
|
||||
Watch history has been cleared: 'Sjåarhistorikk har blitt fjerna'
|
||||
Remove All Subscriptions / Profiles: ''
|
||||
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: ''
|
||||
Subscription Settings:
|
||||
Subscription Settings: 'Abonnementinnstillingar'
|
||||
Hide Videos on Watch: ''
|
||||
Fetch Feeds from RSS: 'Hent feedar frå RSS'
|
||||
Manage Subscriptions: 'Behandle abonnement'
|
||||
Distraction Free Settings:
|
||||
Distraction Free Settings: ''
|
||||
Hide Video Views: 'Gøym videovisingar'
|
||||
Hide Video Likes And Dislikes: ''
|
||||
Hide Channel Subscribers: 'Gøym kanalabonnement'
|
||||
Hide Comment Likes: ''
|
||||
Hide Recommended Videos: 'Gøym anbefalte videoar'
|
||||
Hide Trending Videos: ''
|
||||
Hide Popular Videos: 'Gøym populære videoar'
|
||||
Hide Live Chat: 'Gøym direktechat'
|
||||
Hide Active Subscriptions: 'Gøym aktive abonnement'
|
||||
Data Settings:
|
||||
Data Settings: 'Datainnstillingar'
|
||||
Select Import Type: 'Vel importtype'
|
||||
Select Export Type: 'Vel eksporttype'
|
||||
Import Subscriptions: 'Importer abonnement'
|
||||
Import FreeTube: 'Importer FreeTube'
|
||||
Import YouTube: 'Importer YouTube'
|
||||
Import NewPipe: 'Importer NewPipe'
|
||||
Check for Legacy Subscriptions: ''
|
||||
Export Subscriptions: 'Eksporter abonnement'
|
||||
Export FreeTube: 'Eksporter FreeTube'
|
||||
Export YouTube: 'Eksporter YouTube'
|
||||
Export NewPipe: 'Eksporter NewPipe'
|
||||
Import History: 'Importer historikk'
|
||||
Export History: 'Eksporter historikk'
|
||||
Profile object has insufficient data, skipping item: 'Eit profilobjekt manglar
|
||||
data, hoppar over objektet'
|
||||
All subscriptions and profiles have been successfully imported: 'Alle abonnement
|
||||
og profila har blitt importert'
|
||||
All subscriptions have been successfully imported: 'Alle abonnement har blitt
|
||||
importert'
|
||||
One or more subscriptions were unable to be imported: ''
|
||||
Invalid subscriptions file: 'Ugyldig abonnementfil'
|
||||
This might take a while, please wait: 'Dette kan ta ei stund, venleg vent'
|
||||
Invalid history file: 'Ugyldig historiefil'
|
||||
Subscriptions have been successfully exported: 'Abonnement har blitt importert'
|
||||
History object has insufficient data, skipping item: 'Eit historieobjekt manglar
|
||||
data, hoppar over objektet'
|
||||
All watched history has been successfully imported: 'Visingshistorikken har blitt
|
||||
importert'
|
||||
All watched history has been successfully exported: 'Visingshistorikken har blitt
|
||||
eksportert'
|
||||
Unable to read file: 'Kan ikkje lese fil'
|
||||
Unable to write file: 'Kan ikkje skrive til fil'
|
||||
Unknown data key: 'Ukjent datanøkkel'
|
||||
How do I import my subscriptions?: 'Korleis importerer eg abonnementa mine?'
|
||||
Manage Subscriptions: 'Behandle abonnement'
|
||||
Proxy Settings:
|
||||
Proxy Settings: 'Proxyinnstillingar'
|
||||
Enable Tor / Proxy: 'Aktiver Tor / Proxy'
|
||||
Proxy Protocol: 'Proxyprotokoll'
|
||||
Proxy Host: 'Proxyvert'
|
||||
Proxy Port Number: 'Proxyportnummer'
|
||||
Clicking on Test Proxy will send a request to: 'Klikk på testproxyen du vil sende
|
||||
ein førespurnad til'
|
||||
Test Proxy: 'Test proxy'
|
||||
Your Info: 'Din informasjon'
|
||||
Ip: 'IP-adresse'
|
||||
Country: 'Land'
|
||||
Region: 'Region'
|
||||
City: 'By'
|
||||
Error getting network information. Is your proxy configured properly?: 'Kunne
|
||||
ikkje hente nettverksinformasjon. Er proxyen din konfigurert skikkeleg?'
|
||||
About:
|
||||
#On About page
|
||||
About: 'Om'
|
||||
Beta: 'Beta'
|
||||
Source code: 'Kjeldekode'
|
||||
Licensed under the AGPLv3: 'Lisensiert under AGPLv3'
|
||||
View License: 'Vis lisens'
|
||||
Downloads / Changelog: 'Nedlastingar / Endringslogg'
|
||||
GitHub releases: 'GitHub-utgjevingar'
|
||||
Help: 'Hjelp'
|
||||
FreeTube Wiki: 'FreeTube-wiki'
|
||||
FAQ: 'Ofte stilte spørsmål'
|
||||
Report a problem: 'Rapporter eit problem'
|
||||
GitHub issues: 'GitHub issues'
|
||||
Please check for duplicates before posting: 'Sjå etter duplikat før du poster noko'
|
||||
Website: 'Nettstad'
|
||||
Blog: 'Blogg'
|
||||
Email: 'E-post'
|
||||
Mastodon: 'Mastodon'
|
||||
Chat on Matrix: 'Snakk med oss på Matrix'
|
||||
Please read the: 'Ver venleg og les'
|
||||
room rules: 'Romreglar'
|
||||
Translate: 'Omsetje'
|
||||
Credits: 'Bidrag'
|
||||
FreeTube is made possible by: 'FreeTube er mogleggjort av'
|
||||
these people and projects: 'desse folka og prosjekta'
|
||||
Donate: 'Doner'
|
||||
|
||||
Profile:
|
||||
Profile Select: 'Profilval'
|
||||
All Channels: 'Alle kanalar'
|
||||
Profile Manager: 'Profilbehandlar'
|
||||
Create New Profile: 'Lag ny profil'
|
||||
Edit Profile: 'Rediger profil'
|
||||
Color Picker: 'Fargeveljar'
|
||||
Custom Color: ''
|
||||
Profile Preview: 'Forhandsvising av profil'
|
||||
Create Profile: 'Lag profil'
|
||||
Update Profile: 'Oppdater profil'
|
||||
Make Default Profile: 'Angi som standardprofil'
|
||||
Delete Profile: 'Fjern profil'
|
||||
Are you sure you want to delete this profile?: 'Er du sikker på at du vil fjerne
|
||||
denne profilet?'
|
||||
All subscriptions will also be deleted.: 'Alle abonnement vil òg bli sletta.'
|
||||
Profile could not be found: 'Profil ikkje funne'
|
||||
Your profile name cannot be empty: 'Profilnamnet ditt kan ikkje vere tomt'
|
||||
Profile has been created: 'Profilet har blitt laga'
|
||||
Profile has been updated: 'Profilet har blitt oppdatert'
|
||||
Your default profile has been set to $: 'Standardprofilet ditt har blitt satt til
|
||||
$'
|
||||
Removed $ from your profiles: 'Fjerna $ frå profila dine'
|
||||
Your default profile has been changed to your primary profile: 'Standardprofilet
|
||||
ditt har blitt endra til primærprofilet ditt'
|
||||
$ is now the active profile: '$ er no det aktive profilet'
|
||||
Subscription List: 'Abonnementliste'
|
||||
Other Channels: 'Andre kanalar'
|
||||
$ selected: '$ valt'
|
||||
Select All: 'Vel alle'
|
||||
Select None: 'Vel ingen'
|
||||
Delete Selected: 'Slett valte'
|
||||
Add Selected To Profile: 'Legg til valt i profilen'
|
||||
No channel(s) have been selected: 'Ingen kanal(ar) har blitt valt'
|
||||
? 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.
|
||||
: 'Dette er primærprofilet ditt. Er du sikker på at du vil fjerne dei valte kanalane?
|
||||
Dei same kanalane vil bli sletta i profila dei er funne i.'
|
||||
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 dei valte kanalane? Dette vil ikkje slette kanalane
|
||||
frå andre profil.'
|
||||
#On Channel Page
|
||||
Channel:
|
||||
Subscriber: 'Abonnent'
|
||||
Subscribers: 'Abonnentar'
|
||||
Subscribe: 'Abonner'
|
||||
Unsubscribe: 'Opphev abonnement'
|
||||
Channel has been removed from your subscriptions: 'Kanalen har blitt fjerna frå
|
||||
dine abonnement'
|
||||
Removed subscription from $ other channel(s): ''
|
||||
Added channel to your subscriptions: 'Lagt til kanal til dine abonnentar'
|
||||
Search Channel: 'Søk i kanal'
|
||||
Your search results have returned 0 results: 'Søket gitt gav 0 resultat'
|
||||
Sort By: 'Sorter etter'
|
||||
Videos:
|
||||
Videos: 'Videoar'
|
||||
This channel does not currently have any videos: 'Kanalen har ingen videoar enda'
|
||||
Sort Types:
|
||||
Newest: 'Nyaste'
|
||||
Oldest: 'Eldste'
|
||||
Most Popular: 'Mest populære'
|
||||
Playlists:
|
||||
Playlists: 'Spelelister'
|
||||
This channel does not currently have any playlists: 'Denne kanalen har ingen spelelister
|
||||
enda'
|
||||
Sort Types:
|
||||
Last Video Added: 'Siste video lagt til'
|
||||
Newest: 'Nyaste'
|
||||
Oldest: 'Eldste'
|
||||
About:
|
||||
About: 'Om'
|
||||
Channel Description: 'Kanalbeskriving'
|
||||
Featured Channels: 'Utvalte kanalar'
|
||||
Video:
|
||||
Mark As Watched: 'Marker som sett'
|
||||
Remove From History: 'Fjern frå historikk'
|
||||
Video has been marked as watched: 'Videoen har blitt markert som sett'
|
||||
Video has been removed from your history: 'Videoen har blitt fjerna frå historikken
|
||||
din'
|
||||
Save Video: 'Lagre video'
|
||||
Video has been saved: 'Videoen har blitt lagra'
|
||||
Video has been removed from your saved list: 'Videoen har blitt fjerna frå di liste
|
||||
over lagra videoar'
|
||||
Open in YouTube: 'Opne i YouTube'
|
||||
Copy YouTube Link: 'Kopier YouTube-lenke'
|
||||
Open YouTube Embedded Player: ''
|
||||
Copy YouTube Embedded Player Link: ''
|
||||
Open in Invidious: 'Opne i Invidious'
|
||||
Copy Invidious Link: 'Kopier Invidious-lenke'
|
||||
Open Channel in YouTube: 'Opne kanal i YouTube'
|
||||
Copy YouTube Channel Link: 'Kopier YouTube-kanallenke'
|
||||
Open Channel in Invidious: 'Opne kanal i Invidious'
|
||||
Copy Invidious Channel Link: 'Kopier Invidious-kanallenke'
|
||||
View: 'Vis'
|
||||
Views: 'Visingar'
|
||||
Loop Playlist: 'Gjenta speleliste'
|
||||
Shuffle Playlist: 'Spel av tilfeldig frå spelelista'
|
||||
Reverse Playlist: ''
|
||||
Play Next Video: 'Spel av neste video'
|
||||
Play Previous Video: 'Spel av førre video'
|
||||
# Context is "X People Watching"
|
||||
Watching: 'Ser på'
|
||||
Watched: 'Såg'
|
||||
Autoplay: 'Automatisk avspeling'
|
||||
Starting soon, please refresh the page to check again: 'Starter snart, venleg oppdater
|
||||
sida for å sjekke igjen'
|
||||
# As in a Live Video
|
||||
Live: 'Direkte'
|
||||
Live Now: 'Direkte no'
|
||||
Live Chat: 'Direktechat'
|
||||
Enable Live Chat: 'Slå på direktechat'
|
||||
Live Chat is currently not supported in this build.: 'Direktechat er ikkje støtta
|
||||
i den noverande versjonen.'
|
||||
'Chat is disabled or the Live Stream has ended.': 'Chatten er slått av eller direktesendinga
|
||||
er avslutta.'
|
||||
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.'
|
||||
'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': ''
|
||||
Download Video: 'Last ned video'
|
||||
video only: 'berre video'
|
||||
audio only: 'berre lyd'
|
||||
Audio:
|
||||
Low: 'Låg'
|
||||
Medium: 'Middels'
|
||||
High: 'Høg'
|
||||
Best: 'Beste'
|
||||
Published:
|
||||
Jan: 'Jan'
|
||||
Feb: 'Feb'
|
||||
Mar: 'Mar'
|
||||
Apr: 'Apr'
|
||||
May: 'Mai'
|
||||
Jun: 'Jun'
|
||||
Jul: 'Jul'
|
||||
Aug: 'Aug'
|
||||
Sep: 'Sep'
|
||||
Oct: 'Okt'
|
||||
Nov: 'Nov'
|
||||
Dec: 'Des'
|
||||
Second: 'Sekund'
|
||||
Seconds: 'Sekund'
|
||||
Minute: 'Minutt'
|
||||
Minutes: 'Minutt'
|
||||
Hour: 'Time'
|
||||
Hours: 'Timar'
|
||||
Day: 'Dag'
|
||||
Days: 'Dagar'
|
||||
Week: 'Veke'
|
||||
Weeks: 'Veke'
|
||||
Month: 'Månad'
|
||||
Months: 'Månadar'
|
||||
Year: 'År'
|
||||
Years: 'År'
|
||||
Ago: 'Sidan'
|
||||
Upcoming: 'Har premiere på'
|
||||
Published on: 'Publisert på'
|
||||
Streamed on: 'Strauma på'
|
||||
Started streaming on: 'Begynte å straume på'
|
||||
# $ is replaced with the number and % with the unit (days, hours, minutes...)
|
||||
Publicationtemplate: '$ % sidan'
|
||||
#& Videos
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
Newest: 'Nyaste'
|
||||
Oldest: 'Eldste'
|
||||
#& Most Popular
|
||||
#& Playlists
|
||||
Playlist:
|
||||
#& About
|
||||
View Full Playlist: 'Vis heile spelelista'
|
||||
Videos: 'Videoar'
|
||||
View: ''
|
||||
Views: 'Visingar'
|
||||
Last Updated On: 'Sist oppdatert'
|
||||
Share Playlist:
|
||||
Share Playlist: 'Del speleliste'
|
||||
Copy YouTube Link: 'Kopier YouTube-lenke'
|
||||
Open in YouTube: 'Opne i YouTube'
|
||||
Copy Invidious Link: 'Kopier Invidious-lenke'
|
||||
Open in Invidious: 'Opne i Invidious'
|
||||
|
||||
# On Video Watch Page
|
||||
#* Published
|
||||
#& Views
|
||||
Toggle Theatre Mode: 'Veksle teatermodus'
|
||||
Change Format:
|
||||
Change Video Formats: 'Endre videoformat'
|
||||
Use Dash Formats: 'Bruk DASH-format'
|
||||
Use Legacy Formats: 'Bruk gamle format'
|
||||
Use Audio Formats: 'Bruk lydformat'
|
||||
Dash formats are not available for this video: 'DASH-format er ikkje tilgjengeleg
|
||||
for denne videoen'
|
||||
Audio formats are not available for this video: 'Lydformat er ikkje tilgjengeleg
|
||||
for denne videoen'
|
||||
Share:
|
||||
Share Video: 'Del video'
|
||||
Include Timestamp: 'Inkluder tidsstempel'
|
||||
Copy Link: 'Kopier lenke'
|
||||
Open Link: 'Opne lenke'
|
||||
Copy Embed: 'Kopier innebygd versjon'
|
||||
Open Embed: 'Opne innebygde versjon'
|
||||
# On Click
|
||||
Invidious URL copied to clipboard: 'Invidious-URL kopiert til utklippstavle'
|
||||
Invidious Embed URL copied to clipboard: 'Innebygd Invidious-nettadresse kopiert
|
||||
til utklippstavle'
|
||||
Invidious Channel URL copied to clipboard: 'Invidious-kanalnettadresse kopiert til
|
||||
utklippstavle'
|
||||
YouTube URL copied to clipboard: 'YouTube-nettadresse kopiert til utklippstavle'
|
||||
YouTube Embed URL copied to clipboard: 'Innebygd YouTube-nettadresse kopiert til
|
||||
utklippstavle'
|
||||
YouTube Channel URL copied to clipboard: 'YouTube-kanalnettadresse kopiert til utklippstavle'
|
||||
|
||||
Mini Player: 'Minispelar'
|
||||
Comments:
|
||||
Comments: 'Kommentarar'
|
||||
Click to View Comments: 'Klikk for å sjå kommentarar'
|
||||
Getting comment replies, please wait: 'Laster inn kommentarar, ver venleg og vent'
|
||||
There are no more comments for this video: 'Det finst ingen fleire kommentarar for
|
||||
denne videoen'
|
||||
Show Comments: 'Vis kommentarar'
|
||||
Hide Comments: 'Gøym kommentarar'
|
||||
Sort by: 'Sorter etter'
|
||||
Top comments: 'Toppkommentar'
|
||||
Newest first: 'Nyaste først'
|
||||
# Context: View 10 Replies, View 1 Reply
|
||||
View: 'Vis'
|
||||
Hide: 'Gøym'
|
||||
Replies: 'Svar'
|
||||
Reply: 'Svar'
|
||||
There are no comments available for this video: 'Det er ingen kommentarar tilgjengeleg
|
||||
for denne videoen'
|
||||
Load More Comments: 'Last inn fleire kommentarar'
|
||||
No more comments available: 'Ingen fleire kommentarar tilgjengeleg'
|
||||
Up Next: 'Neste'
|
||||
|
||||
#Tooltips
|
||||
Tooltips:
|
||||
General Settings:
|
||||
Preferred API Backend: ''
|
||||
Fallback to Non-Preferred Backend on Failure: 'Når ditt føretrekte API har eit
|
||||
problem, vil FreeTube prøve å automatisk bruke ditt ikkje-føretrekte API som
|
||||
ein tilbakefallingsmetode dersom det er aktivert'
|
||||
Thumbnail Preference: 'Alle miniatyrbilete i FreeTube vil bli erstatta av eit
|
||||
bilete av videoen i staden for standardminiatyrbiletet'
|
||||
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
|
||||
å velje mellom'
|
||||
Region for Trending: ''
|
||||
Player Settings:
|
||||
Force Local Backend for Legacy Formats: ''
|
||||
Proxy Videos Through Invidious: ''
|
||||
Default Video Format: ''
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: ''
|
||||
|
||||
# Toast Messages
|
||||
Local API Error (Click to copy): 'Lokal API-feil (Klikk for å kopiere)'
|
||||
Invidious API Error (Click to copy): 'Invidious-API-feil (Klikk for å kopiere)'
|
||||
Falling back to Invidious API: 'Faller tilbake til Invidious-API'
|
||||
Falling back to the local API: 'Faller tilbake til det lokale API-et'
|
||||
This video is unavailable because of missing formats. This can happen due to country unavailability.: 'Denne
|
||||
videoen er utilgjengeleg grunna manglande format. Dette kan skuldast tilgangsavgrensingar
|
||||
i ditt land.'
|
||||
Subscriptions have not yet been implemented: 'Abonnement har ikkje blitt implementert
|
||||
enda'
|
||||
Loop is now disabled: 'Gjenta er no deaktivert'
|
||||
Loop is now enabled: 'Gjenta er no aktivert'
|
||||
Shuffle is now disabled: 'Tilfeldig avspeling er no deaktivert'
|
||||
Shuffle is now enabled: 'Tilfeldig avspeling er no aktivert'
|
||||
The playlist has been reversed: 'Spelelista har blitt snudd'
|
||||
Playing Next Video: 'Speler av neste video'
|
||||
Playing Previous Video: 'Speler av førre video'
|
||||
Playing next video in 5 seconds. Click to cancel: 'Speler av neste video om 5 sekund.
|
||||
Klikk for å avbryte.'
|
||||
Canceled next video autoplay: 'Avbryt automatisk avspeling av neste video'
|
||||
'The playlist has ended. Enable loop to continue playing': 'Spelelista har nådd si
|
||||
ende. Klikk på gjenta for å fortsette spelinga'
|
||||
|
||||
Yes: 'Ja'
|
||||
No: 'Nei'
|
|
@ -85,6 +85,9 @@ User Playlists:
|
|||
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Os
|
||||
seus vídeos guardados estão vazios. Clique no botão salvar no canto de um vídeo
|
||||
para que ele seja listado aqui
|
||||
Playlist Message: Esta página não reflete listas de reprodução totalmente funcionais.
|
||||
Ele só lista vídeos que você salvou ou favoritos. Quando o trabalho estiver concluído,
|
||||
todos os vídeos atualmente aqui serão migrados para uma playlist 'Favoritos'.
|
||||
History:
|
||||
# On History Page
|
||||
History: 'Histórico'
|
||||
|
@ -303,6 +306,10 @@ Settings:
|
|||
Proxy Protocol: Protocolo de Proxy
|
||||
Enable Tor / Proxy: Ativar Tor / Proxy
|
||||
Proxy Settings: Configurações de Proxy
|
||||
Error getting network information. Is your proxy configured properly?: Erro ao
|
||||
obter informações da rede. O seu proxy está configurado corretamente?
|
||||
City: Cidade
|
||||
Region: Região
|
||||
About:
|
||||
#On About page
|
||||
About: 'Sobre'
|
||||
|
@ -334,6 +341,31 @@ About:
|
|||
Latest FreeTube News: 'Ultimas notícias sobre o FreeTube'
|
||||
|
||||
#On Channel Page
|
||||
GitHub issues: Problemas com o GitHub
|
||||
Report a problem: Reportar um problema
|
||||
FAQ: FAQs
|
||||
FreeTube Wiki: Wiki do FreeTube
|
||||
Help: Ajuda
|
||||
GitHub releases: Lançamentos do GitHub
|
||||
Downloads / Changelog: Downloads / Modificações
|
||||
View License: Ver Licença
|
||||
Licensed under the AGPLv3: Licença AGPLv3
|
||||
Source code: Código-fonte
|
||||
Beta: Beta
|
||||
Donate: Doar
|
||||
these people and projects: estas pessoas e projetos
|
||||
FreeTube is made possible by: O FreeTube é possível graças a
|
||||
Credits: Créditos
|
||||
Translate: Traduzir
|
||||
room rules: regras da sala
|
||||
Please read the: Favor ler o
|
||||
Chat on Matrix: Bate-papo na Matrix
|
||||
Mastodon: Mastodon
|
||||
Email: E-mail
|
||||
Blog: Blog
|
||||
Website: Site web
|
||||
Please check for duplicates before posting: Verifique se há duplicatas antes de
|
||||
postar
|
||||
Channel:
|
||||
Subscriber: 'Inscrito'
|
||||
Subscribers: 'Inscritos'
|
||||
|
@ -450,6 +482,10 @@ Video:
|
|||
Open Channel in Invidious: Abrir Canal no Invidious
|
||||
Copy YouTube Channel Link: Copiar o link do canal no YouTube
|
||||
Open Channel in YouTube: Abrir canal no YouTube
|
||||
Video has been removed from your saved list: O vídeo foi removido da sua lista de
|
||||
vídeos salvos
|
||||
Video has been saved: O vídeo foi salvo
|
||||
Save Video: Salvar vídeo
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
|
@ -627,3 +663,4 @@ Tooltips:
|
|||
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
|
||||
para se conectar.
|
||||
More: Mais
|
||||
|
|
|
@ -69,6 +69,7 @@ Search Filters:
|
|||
Search Results: Resultados
|
||||
Fetching results. Please wait: A procurar. Por favor aguarde
|
||||
Fetch more results: Procurar mais resultados
|
||||
There are no more results for this search: Não existem mais resultados
|
||||
# Sidebar
|
||||
Subscriptions:
|
||||
# On Subscriptions Page
|
||||
|
@ -87,6 +88,11 @@ Most Popular: Mais Populares
|
|||
Playlists: Listas de Reprodução
|
||||
User Playlists:
|
||||
Your Playlists: As suas Listas de Reprodução
|
||||
Playlist Message: Esta página não é indicativa do resultado final. Apenas mostra
|
||||
vídeos que foram guardados ou marcados como favoritos. Quando estiver pronta,
|
||||
todos os vídeos que estiverem aqui serão postos numa lista chamada 'Favoritos'.
|
||||
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: A sua lista está vazia. Carregue no botão com a estrela no canto de um vídeo para o
|
||||
guardar aqui.
|
||||
History:
|
||||
# On History Page
|
||||
History: Histórico
|
||||
|
@ -123,6 +129,7 @@ Settings:
|
|||
End: Fim
|
||||
'Invidious Instance (Default is https://invidious.snopyta.org)': Instância Invidious
|
||||
(Por omissão é https://invidious.snopyta.org)
|
||||
View all Invidious instance information: Mostrar toda a informação sobre esta instância Invidious
|
||||
Region for Trending: Região para as tendências
|
||||
#! List countries
|
||||
Theme Settings:
|
||||
|
@ -222,6 +229,7 @@ Settings:
|
|||
Hide Trending Videos: Esconder Tendências
|
||||
Hide Popular Videos: Esconder Mais Populares
|
||||
Hide Live Chat: Esconder Chat ao Vivo
|
||||
Hide Active Subscriptions: Esconder Subscrições da barra lateral
|
||||
Data Settings:
|
||||
Data Settings: Definições de dados
|
||||
Select Import Type: Escolher tipo de importação
|
||||
|
@ -260,67 +268,48 @@ Settings:
|
|||
Unable to write file: Ficheiro não pôde ser escrito
|
||||
Unknown data key: Chave dada é desconhecida
|
||||
How do I import my subscriptions?: Como posso importar as minhas subscrições?
|
||||
Advanced Settings:
|
||||
Advanced Settings: Definições Avançadas
|
||||
Enable Debug Mode (Prints data to the console): Ligar Modo de Depuração (Escreve
|
||||
dados à consola)
|
||||
'Proxy Address (Example: SOCKS5://127.0.0.1:9050 )': 'Endereço de intermediário
|
||||
(Exemplo: SOCKS5://127.0.0.1:9050 )'
|
||||
'Clicking "TEST PROXY" button will send a request to https://ipinfo.io/json': >-
|
||||
Ao Carregar "TESTAR INTERMEDIÁRIO" um pedido vai ser enviado a https://ipinfo.io/json
|
||||
Use Tor / Proxy for API calls: Usar Tor / Intermediário para Chamadas API
|
||||
TEST PROXY: TESTAR INTERMEDIÁRIO
|
||||
#& Invidious Instance (Default is https://invidious.snopyta.org)
|
||||
See Public Instances: Ver Instâncias Públicas
|
||||
Clear History:
|
||||
Clear History: Limpar Histórico
|
||||
# On Click
|
||||
Are you sure you want to delete your history?: Tem a certeza de que quer apagar
|
||||
o seu histórico?
|
||||
#& Yes
|
||||
#& No
|
||||
Clear Subscriptions:
|
||||
Clear Subscriptions: Limpar Subscrições
|
||||
# On Click
|
||||
Are you sure you want to remove all subscriptions?: Tem a certeza de que quer
|
||||
apagar as suas subscrições?
|
||||
#& Yes
|
||||
#& No
|
||||
|
||||
Manage Subscriptions: Gerir Subscrições
|
||||
Proxy Settings:
|
||||
Proxy Settings: Definições de Intermediários
|
||||
Enable Tor / Proxy: Ligar Tor / Intermediário
|
||||
Proxy Protocol: Protocolo do Intermediário
|
||||
Proxy Host: Endereço do Intermediário
|
||||
Proxy Port Number: Porto do Intermediário
|
||||
Clicking on Test Proxy will send a request to: Carregar em Testar Intermediário irá enviar um pedido a
|
||||
Test Proxy: Testar Intermediário
|
||||
Your Info: A sua Informação
|
||||
Ip: Ip
|
||||
Country: País
|
||||
Region: Região
|
||||
City: Cidade
|
||||
Error getting network information. Is your proxy configured properly?: Houve um erro a receber a informação sobre a sua rede. Verifique que o seu intermediário está configurado correctamente.
|
||||
About:
|
||||
#On About page
|
||||
About: Sobre
|
||||
#& About
|
||||
'This software is FOSS and released under the GNU Public License v3+.': >-
|
||||
This copylefted software is freely licensed GPLv3+.
|
||||
|
||||
'Found a bug? Want to suggest a feature? Want to help out? Check out our GitHub page. Pull requests are welcome.': >-
|
||||
Encontraste um bug? Queres sugerir uma funcionalidade? Queres ajudar-nos? Vai
|
||||
á nossa página de GitHub. Pull requests são bem vindos.
|
||||
|
||||
Thank you very much to the People and Projects that make FreeTube possible!: >-
|
||||
Agradeço imenso a todas as pessoas e projetos que façam com que o FreeTube seja
|
||||
possivel!
|
||||
|
||||
'Want to chat? Join our Element / Matrix Server . Please check the rules before joining.': >-
|
||||
Queres conversar? Junta-te ao nosso servidor Element / Matrix. Por favor verifica
|
||||
as regras antes de te juntares.
|
||||
|
||||
'Looking for help? Check out our Wiki page.': Há procura de ajuda? Vê a nossa página
|
||||
Wiki.
|
||||
|
||||
Check out our Firefox extension!: Experimenta a nossa extensão Firefox!
|
||||
|
||||
'If you enjoy using FreeTube, consider donating via Liberapay or through our Bitcoin address.': >-
|
||||
Se gostas de usar FreeTube, considera doar via Liberapay ou através do nosso endereço
|
||||
Bitcoin.
|
||||
|
||||
#~ 'BTC: 1Lih7Ho5gnxb1CwPD4o59ss78pwo2T91eS'
|
||||
|
||||
Latest FreeTube News: Notícias recentes sobre FreeTube
|
||||
|
||||
This software is FOSS and released under the GNU Affero General Public License v3.0.: Este
|
||||
software é licenciado livremente via AGPL-3.0.
|
||||
Beta: Beta
|
||||
Source code: Código fonte
|
||||
Licensed under the AGPLv3: Está sobre a licensa AGPLv3
|
||||
View License: Ver a Licensa
|
||||
Downloads / Changelog: Descarregar / Mudanças
|
||||
GitHub releases: Lançamentos no GitHub
|
||||
Help: Ajuda
|
||||
FreeTube Wiki: Wiki do FreeTube
|
||||
FAQ: Perguntas Frequentes
|
||||
Report a problem: Relatar um problema
|
||||
GitHub issues: Problemas no GitHub
|
||||
Please check for duplicates before posting: É favor verificar se um problema já foi relatado
|
||||
Website: Site
|
||||
Blog: Blogue
|
||||
Email: Email
|
||||
Mastodon: Mastodon
|
||||
Chat on Matrix: Chat no Matrix
|
||||
Please read the: Por favor leia as
|
||||
room rules: regras da sala de chat
|
||||
Translate: Traduzir
|
||||
Credits: Créditos
|
||||
FreeTube is made possible by: FreeTube existe graças a
|
||||
these people and projects: estas pessoas e projectos
|
||||
Donate: Doar
|
||||
Profile:
|
||||
All Channels: Todos os Canais
|
||||
Profile Manager: Gestor de Perfis
|
||||
|
@ -399,6 +388,9 @@ Video:
|
|||
Remove From History: Apagar do histórico
|
||||
Video has been marked as watched: O vídeo foi marcado como visto
|
||||
Video has been removed from your history: O vídeo foi removido do seu histórico
|
||||
Save Video: Guardar Vídeo
|
||||
Video has been saved: Vídeo guardado
|
||||
Video has been removed from your saved list: Vídeo removido da sua lista
|
||||
Open in YouTube: Abrir no Youtube
|
||||
Copy YouTube Link: Copiar Ligação para Youtube
|
||||
Open YouTube Embedded Player: Abrir Reprodutor Youtube Embutido
|
||||
|
@ -468,7 +460,9 @@ Video:
|
|||
Years: Anos
|
||||
Ago: Há
|
||||
Upcoming: Estreia em breve
|
||||
Published on: Publicado em
|
||||
Published on: Publicado a
|
||||
Streamed on: Transmitido a
|
||||
Started streaming on: Transmissão iniciada a
|
||||
# $ is replaced with the number and % with the unit (days, hours, minutes...)
|
||||
Publicationtemplate: Há $ %
|
||||
#& Videos
|
||||
|
|
|
@ -85,6 +85,10 @@ User Playlists:
|
|||
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: У
|
||||
вас нет сохранных видео. Нажмите на кнопку сохранения в углу видео, чтобы оно
|
||||
появилось здесь
|
||||
Playlist Message: Эта страница не отражает полную функциональность плейлистов. Она
|
||||
показывает только видео которые вы сохранили или добавили в избранное. После переработки
|
||||
этой страницы все видео, которые сейчас находятся здесь, переместятся в плейлист
|
||||
"Избранное".
|
||||
History:
|
||||
# On History Page
|
||||
History: 'История'
|
||||
|
@ -359,6 +363,9 @@ About:
|
|||
Licensed under the AGPLv3: Лицензия AGPLv3
|
||||
Source code: Исходный код
|
||||
Beta: Бета
|
||||
Please check for duplicates before posting: Пожалуйста, проверьте наличие дубликатов
|
||||
перед публикацией
|
||||
GitHub issues: Проблемы на GitHub
|
||||
Channel:
|
||||
Subscriber: 'Подписчик'
|
||||
Subscribers: 'Подписчиков'
|
||||
|
|
|
@ -190,6 +190,7 @@ Settings:
|
|||
1440p: '1440p'
|
||||
4k: '4k'
|
||||
8k: '8k'
|
||||
Playlist Next Video Interval: Oynatma Listesi Sonraki Video Aralığı
|
||||
Privacy Settings:
|
||||
Privacy Settings: 'Gizlilik Ayarları'
|
||||
Remember History: 'Geçmişi Hatırla'
|
||||
|
@ -288,6 +289,7 @@ Settings:
|
|||
Hide Video Views: Video Görüntülenme Sayılarını Gizle
|
||||
Distraction Free Settings: Dikkat Dağıtmama Ayarları
|
||||
Hide Active Subscriptions: Etkin Abonelikleri Gizle
|
||||
Hide Playlists: Oynatma Listelerini Gizle
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: Değişikliklerin
|
||||
etkili olması için uygulamanın yeniden başlatılması gerekiyor. Yeniden başlatılsın
|
||||
ve değişiklikler uygulansın mı?
|
||||
|
@ -412,6 +414,7 @@ Profile:
|
|||
kanalları silmek istediğinizden emin misiniz? Bu, kanalı başka bir profilden
|
||||
silmez.'
|
||||
#On Channel Page
|
||||
Profile Filter: Profil Filtresi
|
||||
Channel:
|
||||
Subscriber: 'Abone'
|
||||
Subscribers: 'Aboneler'
|
||||
|
@ -658,3 +661,8 @@ Tooltips:
|
|||
Region for Trending: Trendlerin bölgesi, hangi ülkenin trend videolarını görüntülemek
|
||||
istediğinizi seçmenize olanak tanır. Görüntülenen ülkelerden bazıları YouTube
|
||||
tarafından desteklenmemektedir
|
||||
Playing Next Video Interval: Sonraki video hemen oynatılıyor. İptal etmek için tıklayın.
|
||||
| Sonraki video {nextVideoInterval} saniye içinde oynatılıyor. İptal etmek için
|
||||
tıklayın. | Sonraki video {nextVideoInterval} saniye içinde oynatılıyor. İptal etmek
|
||||
için tıklayın.
|
||||
More: Daha Fazla
|
||||
|
|
|
@ -70,6 +70,7 @@ Search Filters:
|
|||
Fetching results. Please wait: 'Завантажуються результати. Будь ласка, зачекайте'
|
||||
Fetch more results: 'Завантажити більше результатів'
|
||||
# Sidebar
|
||||
There are no more results for this search: Більше результатів для цього пошуку немає
|
||||
Subscriptions:
|
||||
# On Subscriptions Page
|
||||
Subscriptions: 'Підписки'
|
||||
|
@ -87,6 +88,12 @@ Most Popular: 'Найпопулярніші'
|
|||
Playlists: 'Списки відтворення'
|
||||
User Playlists:
|
||||
Your Playlists: 'Ваші списки відтворення'
|
||||
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Збережені
|
||||
відео порожні. Клацніть на кнопку збереження у куті відео, щоб воно було перелічено
|
||||
тут
|
||||
Playlist Message: Ця сторінка не відображає повністю робочих списків відтворення.
|
||||
На ній перелічено лише відео, які ви зберегли або вибрали. Коли робота закінчиться,
|
||||
усі відео, які зараз знаходяться тут, буде переміщено до списку відтворення "Вибране".
|
||||
History:
|
||||
# On History Page
|
||||
History: 'Історія'
|
||||
|
@ -126,10 +133,12 @@ Settings:
|
|||
(За замовчуванням https://invidious.snopyta.org)'
|
||||
Region for Trending: 'Регіон для Популярних'
|
||||
#! List countries
|
||||
View all Invidious instance information: Перегляд усіх відомостей про екземпляр
|
||||
Invidious
|
||||
Theme Settings:
|
||||
Theme Settings: 'Налаштування теми'
|
||||
Match Top Bar with Main Color: ''
|
||||
Expand Side Bar by Default: ''
|
||||
Match Top Bar with Main Color: 'Верхня панель основного кольору'
|
||||
Expand Side Bar by Default: 'Усталено розгортати бічну панель'
|
||||
Disable Smooth Scrolling: 'Відключити плавну прокрутку'
|
||||
UI Scale: 'Масштаб інтерфейсу'
|
||||
Base Theme:
|
||||
|
@ -159,19 +168,20 @@ Settings:
|
|||
#* Main Color Theme
|
||||
Player Settings:
|
||||
Player Settings: 'Налаштування програвача'
|
||||
Force Local Backend for Legacy Formats: ''
|
||||
Force Local Backend for Legacy Formats: 'Примусово використовувати локальний сервер
|
||||
для застарілих форматів'
|
||||
Play Next Video: 'Грати наступне відео'
|
||||
Turn on Subtitles by Default: 'Увімкнути субтитри за замовченням'
|
||||
Autoplay Videos: 'Автоматичне відтворення відео'
|
||||
Proxy Videos Through Invidious: ''
|
||||
Proxy Videos Through Invidious: 'Проксі-відео через Invidious'
|
||||
Autoplay Playlists: 'Автоматичне відтворення списків'
|
||||
Enable Theatre Mode by Default: ''
|
||||
Enable Theatre Mode by Default: 'Усталено увімкнений режим театру'
|
||||
Default Volume: 'Гучніть за замовченням'
|
||||
Default Playback Rate: ''
|
||||
Default Playback Rate: 'Усталена швидкість відтворення'
|
||||
Default Video Format:
|
||||
Default Video Format: 'Формат відео за замовченням'
|
||||
Dash Formats: ''
|
||||
Legacy Formats: ''
|
||||
Dash Formats: 'Формати Dash'
|
||||
Legacy Formats: 'Застарілі формати'
|
||||
Audio Formats: 'Аудіо формати'
|
||||
Default Quality:
|
||||
Default Quality: 'Якість за замовченням'
|
||||
|
@ -185,33 +195,39 @@ Settings:
|
|||
1440p: '1440p'
|
||||
4k: '4k'
|
||||
8k: '8k'
|
||||
Playlist Next Video Interval: Інтервал відтворення наступного відео
|
||||
Privacy Settings:
|
||||
Privacy Settings: 'Налаштування приватності'
|
||||
Remember History: ''
|
||||
Remember History: 'Збрігати історію'
|
||||
Save Watched Progress: 'Зберігати прогрес перегляду'
|
||||
Clear Search Cache: 'Очистити пошуковий кеш'
|
||||
Are you sure you want to clear out your search cache?: ''
|
||||
Search cache has been cleared: ''
|
||||
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?: ''
|
||||
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.: ''
|
||||
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: ''
|
||||
Fetch Feeds from RSS: 'Отримати канали з RSS'
|
||||
Manage Subscriptions: 'Керування підписками'
|
||||
Distraction Free Settings:
|
||||
Distraction Free Settings: ''
|
||||
Distraction Free Settings: 'Налаштування зосередження'
|
||||
Hide Video Views: 'Сховати перегляди відео'
|
||||
Hide Video Likes And Dislikes: ''
|
||||
Hide Video Likes And Dislikes: 'Приховати вподобайки до відео'
|
||||
Hide Channel Subscribers: 'Не показувати підписників каналу'
|
||||
Hide Comment Likes: 'Не показувати уподобання коментарів'
|
||||
Hide Recommended Videos: 'Не показувати рекомендовані відео'
|
||||
Hide Trending Videos: 'Не показувати тренди відео'
|
||||
Hide Popular Videos: 'Не показувати популярні відео'
|
||||
Hide Live Chat: 'Не показувати живий чат'
|
||||
Hide Active Subscriptions: Сховати активні підписки
|
||||
Hide Playlists: Сховати списки відтворення
|
||||
Data Settings:
|
||||
Data Settings: 'Налаштування даних'
|
||||
Select Import Type: 'Оберіть тип імпорту'
|
||||
|
@ -220,28 +236,35 @@ Settings:
|
|||
Import FreeTube: 'Імпортувати FreeTube'
|
||||
Import YouTube: 'Імпортувати YouTube'
|
||||
Import NewPipe: 'Імпортувати NewPipe'
|
||||
Check for Legacy Subscriptions: ''
|
||||
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?: ''
|
||||
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: Керування підписками
|
||||
Advanced Settings:
|
||||
Advanced Settings: ''
|
||||
Enable Debug Mode (Prints data to the console): ''
|
||||
|
@ -264,9 +287,25 @@ Settings:
|
|||
#& Yes
|
||||
#& 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 Settings: Налаштування проксі
|
||||
About:
|
||||
#On About page
|
||||
About: ''
|
||||
About: 'Про'
|
||||
#& About
|
||||
'This software is FOSS and released under the GNU Affero General Public License v3.0.': ''
|
||||
|
||||
|
@ -286,248 +325,323 @@ About:
|
|||
|
||||
Latest FreeTube News: ''
|
||||
|
||||
Donate: Підтримати
|
||||
these people and projects: цим людям та проєктам
|
||||
FreeTube is made possible by: FreeTube доступний завдяки
|
||||
Credits: Про авторів
|
||||
Translate: Перекласти
|
||||
room rules: правила кімнати
|
||||
Please read the: Будь ласка, прочитайте
|
||||
Chat on Matrix: Чат у Matrix
|
||||
Mastodon: Mastodon
|
||||
Email: Електронна пошта
|
||||
Blog: Блог
|
||||
Website: Вебсайт
|
||||
Please check for duplicates before posting: Будь ласка, перевірте наявність повторів
|
||||
перед публікацією
|
||||
GitHub issues: Проблеми на GitHub
|
||||
Report a problem: Повідомити про проблему
|
||||
FAQ: ЧаПи
|
||||
FreeTube Wiki: Вікі FreeTube
|
||||
Help: Довідка
|
||||
GitHub releases: Випуски GitHub
|
||||
Downloads / Changelog: Завантаження / Журнал змін
|
||||
View License: Переглянути ліцензію
|
||||
Licensed under the AGPLv3: Ліцензовано під AGPLv3
|
||||
Source code: Джерельний код
|
||||
Beta: Бета
|
||||
Profile:
|
||||
Profile Select: ''
|
||||
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: ''
|
||||
Profile Select: 'Вибір профілю'
|
||||
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.: ''
|
||||
: 'Це ваш основний профіль. Ви впевнені, що хочете видалити вибрані канали? Ті ж
|
||||
канали буде видалені в будь-якому профілі, в якому вони перебувають.'
|
||||
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: 'Дійсно
|
||||
бажаєте видалити вибрані канали? Канал не буде видалено з будь-якого іншого профілю.'
|
||||
#On Channel Page
|
||||
Profile Filter: Фільтр профілю
|
||||
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: ''
|
||||
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: ''
|
||||
Videos: 'Відео'
|
||||
This channel does not currently have any videos: 'Наразі на цьому каналі немає
|
||||
жодного відео'
|
||||
Sort Types:
|
||||
Newest: ''
|
||||
Oldest: ''
|
||||
Most Popular: ''
|
||||
Newest: 'Найновіші'
|
||||
Oldest: 'Найдавніші'
|
||||
Most Popular: 'Найпопулярніші'
|
||||
Playlists:
|
||||
Playlists: ''
|
||||
This channel does not currently have any playlists: ''
|
||||
Playlists: 'Списки відтворення'
|
||||
This channel does not currently have any playlists: 'Цей канал наразі не має списків
|
||||
відтворення'
|
||||
Sort Types:
|
||||
Last Video Added: ''
|
||||
Newest: ''
|
||||
Oldest: ''
|
||||
Last Video Added: 'Останнє додане відео'
|
||||
Newest: 'Найновіші'
|
||||
Oldest: 'Найдавніші'
|
||||
About:
|
||||
About: ''
|
||||
Channel Description: ''
|
||||
Featured Channels: ''
|
||||
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: ''
|
||||
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: ''
|
||||
Mark As Watched: 'Позначити переглянутим'
|
||||
Remove From History: 'Прибрати з історії'
|
||||
Video has been marked as watched: 'Відео позначено переглянутим'
|
||||
Video has been removed from your history: 'Відео вилучено з історії'
|
||||
Open in YouTube: 'Відкрити в YouTube'
|
||||
Copy YouTube Link: 'Копіювати посилання youTube'
|
||||
Open YouTube Embedded Player: 'Відкрити вбудований програвач YouTube'
|
||||
Copy YouTube Embedded Player Link: 'Копіювати посилання вбудованого програвача YouTube'
|
||||
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: ''
|
||||
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: ''
|
||||
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.': 'Чат
|
||||
в режимі реального часу наразі не підтримується API Invidious. Потрібне пряме
|
||||
з''єднання з YouTube.'
|
||||
Download Video: 'Завантажити відео'
|
||||
video only: 'лише відео'
|
||||
audio only: 'лише звук'
|
||||
Audio:
|
||||
Low: ''
|
||||
Medium: ''
|
||||
High: ''
|
||||
Best: ''
|
||||
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: ''
|
||||
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: 'Опубліковано'
|
||||
# $ is replaced with the number and % with the unit (days, hours, minutes...)
|
||||
Publicationtemplate: ''
|
||||
Publicationtemplate: '$ % тому'
|
||||
#& Videos
|
||||
Started streaming on: Почато трансляцію
|
||||
Streamed on: Потокове передавання
|
||||
Video has been removed from your saved list: Відео вилучено зі списку збережених
|
||||
Video has been saved: Відео збережено
|
||||
Save Video: Зберегти відео
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
Newest: ''
|
||||
Oldest: ''
|
||||
Newest: 'Найновіші'
|
||||
Oldest: 'Найдавніші'
|
||||
#& Most Popular
|
||||
#& Playlists
|
||||
Playlist:
|
||||
#& About
|
||||
View Full Playlist: ''
|
||||
Videos: ''
|
||||
View: ''
|
||||
Views: ''
|
||||
Last Updated On: ''
|
||||
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: ''
|
||||
Share Playlist: 'Поділитися списком відтворення'
|
||||
Copy YouTube Link: 'Копіювати посилання youTube'
|
||||
Open in YouTube: 'Відкрити в YouTube'
|
||||
Copy Invidious Link: 'Копіювати посилання Invidious'
|
||||
Open in Invidious: 'Відкрити в Invidious'
|
||||
|
||||
# On Video Watch Page
|
||||
#* Published
|
||||
#& Views
|
||||
Toggle Theatre Mode: ''
|
||||
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: ''
|
||||
Change Video Formats: 'Зміна форматів відео'
|
||||
Use Dash Formats: 'Використовувати формати Dash'
|
||||
Use Legacy Formats: 'Використовувати застарілі формати'
|
||||
Use Audio Formats: 'Використовувати аудіоформати'
|
||||
Dash formats are not available for this video: 'Формати Dash недоступні для цього
|
||||
відео'
|
||||
Audio formats are not available for this video: 'Аудіоформати недоступні для цього
|
||||
відео'
|
||||
Share:
|
||||
Share Video: ''
|
||||
Include Timestamp: ''
|
||||
Copy Link: ''
|
||||
Open Link: ''
|
||||
Copy Embed: ''
|
||||
Open Embed: ''
|
||||
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: ''
|
||||
Invidious URL copied to clipboard: 'URL-адресу Invidious скопійовано в буфер обміну'
|
||||
Invidious Embed URL copied to clipboard: 'URL-адресу вбудовування Invidious скопійовано
|
||||
до буфера обміну'
|
||||
Invidious Channel URL copied to clipboard: 'URL-адресу каналу Invidious скопійовано
|
||||
в буфер обміну'
|
||||
YouTube URL copied to clipboard: 'URL-адресу YouTube скопійовано до буфера обміну'
|
||||
YouTube Embed URL copied to clipboard: 'URL-адресу вбудовування YouTube скопійовано
|
||||
до буфера обміну'
|
||||
YouTube Channel URL copied to clipboard: 'URL-адресу каналу YouTube скопійовано
|
||||
до буфера обміну'
|
||||
|
||||
Mini Player: ''
|
||||
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: ''
|
||||
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: ''
|
||||
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: ''
|
||||
Preferred API Backend: 'Виберіть сервер, який FreeTube використовує для отримання
|
||||
даних. Локальний API є вбудованим витягувачем. Для API Invidious потрібен сервер
|
||||
Invidious для з'' єднання.'
|
||||
Fallback to Non-Preferred Backend on Failure: 'Коли бажаний API має проблеми,
|
||||
FreeTube автоматично спробує використовувати ваш не вибраний API як запасний
|
||||
метод, коли його увімкнено'
|
||||
Thumbnail Preference: 'Усі ескізи у FreeTube заміняться на кадр відео, а не на
|
||||
типову мініатюру'
|
||||
Invidious Instance: 'Сервер Invidious, до якого FreeTube під''єднуватиметься для
|
||||
викликів API. Очистьте поточний сервер, щоб побачити список загальнодоступних
|
||||
серверів на вибір'
|
||||
Region for Trending: 'Регіон популярного дозволяє вам вибрати популярні відео
|
||||
країни, які ви хочете бачити. Не всі показані країни насправді підтримуються
|
||||
YouTube'
|
||||
Player Settings:
|
||||
Force Local Backend for Legacy Formats: ''
|
||||
Proxy Videos Through Invidious: ''
|
||||
Default Video Format: ''
|
||||
Force Local Backend for Legacy Formats: 'Працює, лише якщо API Invidious використовується
|
||||
типовим. Якщо увімкнено, локальний API буде запущено і використовуватиме застарілі
|
||||
формати, які було повернуто Invidious. Допомагає, коли відео, повернуті Invidious,
|
||||
не відтворюються через обмеження в країні'
|
||||
Proxy Videos Through Invidious: 'Під’єднається до Invidious, щоб дивитися відео,
|
||||
а не встановлювати пряме з’єднання з YouTube. Замінює налаштування API'
|
||||
Default Video Format: 'Встановіть формати, що використовуються під час відтворення
|
||||
відео. Формати Dash можуть відтворюватися в кращій якості. Старі формати мають
|
||||
обмеження у 720p, але використовують меншу пропускну здатність. Формати аудіо
|
||||
— це лише аудіопотоки'
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: ''
|
||||
Fetch Feeds from RSS: 'Якщо ввімкнено, FreeTube використовуватиме RSS замість
|
||||
стандартного способу захоплення каналу підписки. RSS швидше і запобігає блокуванню
|
||||
ІР, але не надає дані, як-от тривалість відео або стан трансляції'
|
||||
|
||||
# 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 in 5 seconds. Click to cancel: ''
|
||||
Canceled next video autoplay: ''
|
||||
'The playlist has ended. Enable loop to continue playing': ''
|
||||
Local API Error (Click to copy): 'Помилка локального API (натисніть, щоб скопіювати)'
|
||||
Invidious API Error (Click to copy): 'Помилка Invidious API (натисніть, щоб скопіювати)'
|
||||
Falling back to Invidious API: 'Повернення до API Invidious'
|
||||
Falling back to the local API: 'Повернення до локального 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 in 5 seconds. Click to cancel: 'Відтворення наступного відео за
|
||||
5 секунд. Клацніть, щоб скасувати операцію.'
|
||||
Canceled next video autoplay: 'Скасовано автовідтворення наступного відео'
|
||||
'The playlist has ended. Enable loop to continue playing': 'Список відтворення закінчився.
|
||||
Увімкніть цикл, щоб продовжити відтворення'
|
||||
|
||||
Yes: ''
|
||||
No: ''
|
||||
Yes: 'Так'
|
||||
No: 'Ні'
|
||||
Playing Next Video Interval: Відтворення наступного відео в будь-який час. Клацніть,
|
||||
щоб скасувати. | Відтворення наступного відео через {nextVideoInterval} секунду.
|
||||
Клацніть, щоб скасувати. | Відтворення наступного відео через {nextVideoInterval}
|
||||
секунд. Клацніть, щоб скасувати.
|
||||
More: Докладніше
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
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: '回復'
|
||||
Redo: '恢復'
|
||||
Cut: '剪下'
|
||||
Copy: '複製'
|
||||
Paste: '黏貼'
|
||||
Paste: '貼上'
|
||||
Delete: '刪除'
|
||||
Select all: '全選'
|
||||
Reload: '重載'
|
||||
Force Reload: '強制重載'
|
||||
Reload: '重新載入'
|
||||
Force Reload: '強制重新載入'
|
||||
Toggle Developer Tools: '切換開發者工具'
|
||||
Actual size: '實際大小'
|
||||
Zoom in: '放大'
|
||||
Zoom out: '縮小'
|
||||
Toggle fullscreen: '切換全屏'
|
||||
Toggle fullscreen: '切換至全螢幕'
|
||||
Window: '視窗'
|
||||
Minimize: '最小化'
|
||||
Close: '關閉'
|
||||
Back: '后退'
|
||||
Back: '返回'
|
||||
Forward: '前進'
|
||||
|
||||
# Search Bar
|
||||
Search / Go to URL: '搜索 / 前往URL'
|
||||
Search / Go to URL: '搜尋/ 前往網址'
|
||||
# In Filter Button
|
||||
Search Filters:
|
||||
Search Filters: '搜索過濾'
|
||||
Search Filters: '搜尋過濾器'
|
||||
Sort By:
|
||||
Sort By: '排序方式'
|
||||
Most Relevant: '最相關'
|
||||
Rating: '評分'
|
||||
Upload Date: '上傳日期'
|
||||
View Count: '觀看數量'
|
||||
View Count: '觀看次數'
|
||||
Time:
|
||||
Time: '時間'
|
||||
Any Time: '任何時間'
|
||||
Last Hour: '上一小時'
|
||||
Last Hour: '最近一小時'
|
||||
Today: '今天'
|
||||
This Week: '本周'
|
||||
This Month: '本月'
|
||||
This Year: '本年'
|
||||
This Year: '今年'
|
||||
Type:
|
||||
Type: '類別'
|
||||
All Types: '所有類別'
|
||||
|
@ -53,13 +53,13 @@ Search Filters:
|
|||
Channels: '頻道'
|
||||
#& Playlists
|
||||
Duration:
|
||||
Duration: '時長'
|
||||
All Durations: '所有時長'
|
||||
Short (< 4 minutes): '短(< 4分鐘)'
|
||||
Long (> 20 minutes): '長(> 20分鐘)'
|
||||
Duration: '影片長度'
|
||||
All Durations: '所有長度'
|
||||
Short (< 4 minutes): '短(小於4分鐘)'
|
||||
Long (> 20 minutes): '長(大於20分鐘)'
|
||||
# On Search Page
|
||||
Search Results: '搜索結果'
|
||||
Fetching results. Please wait: '擷取結果中。請稍候'
|
||||
Search Results: '搜尋結果'
|
||||
Fetching results. Please wait: '擷取結果中,請稍候...'
|
||||
Fetch more results: '擷取更多結果'
|
||||
# Sidebar
|
||||
There are no more results for this search: 此搜尋無更多結果
|
||||
|
@ -69,48 +69,49 @@ Subscriptions:
|
|||
Latest Subscriptions: '最新訂閱'
|
||||
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': '您的訂閱清單目前是空的。在這裡開始添加訂閱。'
|
||||
'Getting Subscriptions. Please wait.': '抓取訂閱中。請稍等。'
|
||||
Refresh Subscriptions: 重新整理訂閱
|
||||
Getting Subscriptions. Please wait.: 正在取得訂閱。請稍候。
|
||||
Refresh Subscriptions: 重新整理訂閱內容的影片
|
||||
Getting Subscriptions. Please wait.: 正在取得訂閱中,請稍候....
|
||||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: 這個設定檔有大量訂閱。
|
||||
強制RSS已防止速率限制
|
||||
Load More Videos: 載入更多影片
|
||||
Trending: '熱門'
|
||||
Most Popular: '最流行'
|
||||
Trending: '發燒影片'
|
||||
Most Popular: '最受歡迎'
|
||||
Playlists: '播放清單'
|
||||
User Playlists:
|
||||
Your Playlists: '您的播放清單'
|
||||
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: 您已儲存的影片為空。點擊影片角落的儲存按鈕以將其列在此處
|
||||
Playlist Message: 此頁面無法反映完整的播放清單。其僅列出您已儲存或加入最愛的影片。工作完成後,所有目前在此的影片都會轉移到「最愛」播放清單。
|
||||
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: 您播放清單的影片是空的。點擊影片角落的星星按鈕以將其列在此處
|
||||
Playlist Message: 此頁面無法列出完整的播放清單。其僅列出您已儲存或加入最愛的影片。工作完成後,所有目前在此的影片都會轉移到「最愛」播放清單。
|
||||
History:
|
||||
# On History Page
|
||||
History: '歷史紀錄'
|
||||
Watch History: '觀看曆史紀錄'
|
||||
Your history list is currently empty.: 您的曆史紀錄清單目前是空的。
|
||||
Watch History: '觀看歷史紀錄'
|
||||
Your history list is currently empty.: 您的歷史紀錄清單目前是空的。
|
||||
Settings:
|
||||
# On Settings Page
|
||||
Settings: '設定'
|
||||
General Settings:
|
||||
General Settings: '常規設定'
|
||||
Fallback to Non-Preferred Backend on Failure: '失敗時回撤到非偏好后端'
|
||||
Enable Search Suggestions: '允許搜索建議'
|
||||
General Settings: '一般設定'
|
||||
Fallback to Non-Preferred Backend on Failure: '連線失敗時連線到非預設伺服器'
|
||||
Enable Search Suggestions: '啟用搜尋建議'
|
||||
Default Landing Page: '預設加載頁面'
|
||||
Locale Preference: '地域偏好'
|
||||
Locale Preference: '地區偏好'
|
||||
Preferred API Backend:
|
||||
Preferred API Backend: '偏好API后端'
|
||||
Preferred API Backend: '偏好API伺服器'
|
||||
Local API: '區域API'
|
||||
Invidious API: 'Invidious API'
|
||||
Invidious API: 'Invidious API(應用程式介面)'
|
||||
Video View Type:
|
||||
Video View Type: '影片觀看類別'
|
||||
Grid: '網格'
|
||||
List: '清單'
|
||||
Thumbnail Preference:
|
||||
Thumbnail Preference: '縮略圖偏好'
|
||||
Thumbnail Preference: '影片縮圖偏好'
|
||||
Default: '預設'
|
||||
Beginning: '開始'
|
||||
Beginning: '片頭'
|
||||
Middle: '中間'
|
||||
End: '結尾'
|
||||
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious實例(預設https://invidious.snopyta.org)'
|
||||
Region for Trending: '熱門區域'
|
||||
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious實例(預設為
|
||||
https://invidious.snopyta.org )'
|
||||
Region for Trending: '發燒影片區域'
|
||||
#! List countries
|
||||
Check for Latest Blog Posts: 檢查最新的部落格貼文
|
||||
Check for Updates: 檢查更新
|
||||
|
@ -141,30 +142,30 @@ Settings:
|
|||
Amber: '黃褐'
|
||||
Orange: '橙'
|
||||
Deep Orange: '深橙'
|
||||
Secondary Color Theme: '次主題色'
|
||||
Secondary Color Theme: '次要主題色'
|
||||
#* Main Color Theme
|
||||
UI Scale: UI縮放
|
||||
Expand Side Bar by Default: 預設展開側邊欄
|
||||
Disable Smooth Scrolling: 禁用平滑捲動
|
||||
Player Settings:
|
||||
Player Settings: '播放器選項'
|
||||
Force Local Backend for Legacy Formats: '強制區域后端給傳統格式'
|
||||
Force Local Backend for Legacy Formats: '強制使用傳統格式的區域伺服器'
|
||||
Remember History: '記住曆史'
|
||||
Play Next Video: '播放下一影片'
|
||||
Play Next Video: '播放下一部影片'
|
||||
Turn on Subtitles by Default: '預設開啟字幕'
|
||||
Autoplay Videos: '自動播放影片'
|
||||
Proxy Videos Through Invidious: '通過Invidious代理影片'
|
||||
Autoplay Playlists: '自動播放清單'
|
||||
Enable Theatre Mode by Default: '預設允許劇場型態'
|
||||
Proxy Videos Through Invidious: '透過Invidious代理影片'
|
||||
Autoplay Playlists: '自動播放 播放清單'
|
||||
Enable Theatre Mode by Default: '預設開啟劇場模式'
|
||||
Default Volume: '預設音量'
|
||||
Default Playback Rate: '預設重播速率'
|
||||
Default Playback Rate: '預設播放速度'
|
||||
Default Video Format:
|
||||
Default Video Format: '預設影片格式'
|
||||
Dash Formats: 'Dash格式'
|
||||
Legacy Formats: '傳統格式'
|
||||
Audio Formats: '音訊格式'
|
||||
Default Quality:
|
||||
Default Quality: '預設品質'
|
||||
Default Quality: '預設畫質'
|
||||
Auto: '自動'
|
||||
144p: '144p'
|
||||
240p: '240p'
|
||||
|
@ -211,28 +212,28 @@ Settings:
|
|||
#& No
|
||||
|
||||
Privacy Settings:
|
||||
Watch history has been cleared: 觀看歷史紀錄已清除
|
||||
Are you sure you want to remove your entire watch history?: 您確定您想移除您全部的觀看歷史紀錄?
|
||||
Watch history has been cleared: 觀看紀錄已清除
|
||||
Are you sure you want to remove your entire watch history?: 您確定要移除全部的觀看歷史紀錄嗎?
|
||||
Remove Watch History: 移除觀看歷史紀錄
|
||||
Search cache has been cleared: 搜尋快取已清除
|
||||
Are you sure you want to clear out your search cache?: 您確定您想清除您的搜尋快取?
|
||||
Are you sure you want to clear out your search cache?: 您確定要清除搜尋快取嗎?
|
||||
Clear Search Cache: 清除搜尋快取
|
||||
Save Watched Progress: 儲存觀看進度
|
||||
Remember History: 記住歷史紀錄
|
||||
Remember History: 儲存歷史紀錄
|
||||
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: 移除所有訂閱/設定檔
|
||||
Data Settings:
|
||||
How do I import my subscriptions?: 我要如何匯入我的訂閱?
|
||||
Unknown data key: 未知的資料金鑰
|
||||
Unable to write file: 無法寫入檔案
|
||||
Unable to read file: 無法讀取檔案
|
||||
All watched history has been successfully exported: 所有觀看的曆史紀錄已成功匯出
|
||||
All watched history has been successfully imported: 所有觀看的歷史紀錄已成功匯入
|
||||
All watched history has been successfully exported: 所有觀看紀錄已成功匯出
|
||||
All watched history has been successfully imported: 所有觀看紀錄已成功匯入
|
||||
History object has insufficient data, skipping item: 歷史紀錄物件資料不足,正在跳過項目
|
||||
Subscriptions have been successfully exported: 訂閱已成功匯出
|
||||
Invalid history file: 無效的歷史紀錄檔案
|
||||
This might take a while, please wait: 這可能需要一段時間,請稍候
|
||||
This might take a while, please wait: 這可能需要一段時間,請稍候...
|
||||
Invalid subscriptions file: 無效的訂閱檔案
|
||||
All subscriptions have been successfully imported: 所有訂閱已成功匯入
|
||||
All subscriptions and profiles have been successfully imported: 所有訂閱與設定檔已成功匯入
|
||||
|
@ -250,21 +251,21 @@ Settings:
|
|||
Select Export Type: 選取匯出類型
|
||||
Select Import Type: 選取匯入類型
|
||||
Data Settings: 資料設定
|
||||
One or more subscriptions were unable to be imported: 一個或者更多訂閱無法被導入
|
||||
Check for Legacy Subscriptions: 檢查傳統訂閱
|
||||
One or more subscriptions were unable to be imported: 一個或者更多訂閱無法被匯入
|
||||
Check for Legacy Subscriptions: 檢查舊版訂閱
|
||||
Manage Subscriptions: 管理訂閱
|
||||
Distraction Free Settings:
|
||||
Hide Video Likes And Dislikes: 隱藏影片喜歡與不喜歡
|
||||
Distraction Free Settings: 零打擾設定
|
||||
Hide Video Views: 隱藏影片觀看數量
|
||||
Distraction Free Settings: 勿擾設定
|
||||
Hide Video Views: 隱藏影片觀看次數
|
||||
Hide Popular Videos: 隱藏流行影片
|
||||
Hide Trending Videos: 隱藏熱門影片
|
||||
Hide Live Chat: 隱藏在線聊天
|
||||
Hide Comment Likes: 隱藏評論點讚
|
||||
Hide Live Chat: 隱藏直播聊天室
|
||||
Hide Comment Likes: 隱藏留言的按讚數量
|
||||
Hide Recommended Videos: 隱藏推薦影片
|
||||
Hide Channel Subscribers: 隱藏頻道訂閱者
|
||||
Hide Active Subscriptions: 隱藏作用中的訂閱
|
||||
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:
|
||||
Error getting network information. Is your proxy configured properly?: 取得網路資訊時發生錯誤。您的代理伺服器設定正確嗎?
|
||||
City: 城市
|
||||
|
@ -310,7 +311,7 @@ About:
|
|||
Release Notes: 版本註記
|
||||
Blog: 部落格
|
||||
Credits: 貢獻者
|
||||
FAQ: FAQ
|
||||
FAQ: 常見問題
|
||||
Wiki: Wiki
|
||||
Report an Issue: 回報問題
|
||||
Channel Rules: 頻道規則
|
||||
|
@ -322,16 +323,16 @@ About:
|
|||
Help: 說明
|
||||
Contact: 聯絡
|
||||
these people and projects: 這些人與專案
|
||||
FreeTube is made possible by: FreeTube 被做出來是因為
|
||||
FreeTube is made possible by: FreeTube 誕生都要感謝這些人
|
||||
Translate: 翻譯
|
||||
room rules: 聊天室規則
|
||||
Please read the: 請閱讀
|
||||
Chat on Matrix: 在 Matrix 上聊天
|
||||
Mastodon: Mastodon
|
||||
Please check for duplicates before posting: 張貼前請檢查有無重複
|
||||
GitHub issues: GitHub 議題
|
||||
Please check for duplicates before posting: 提交前請檢查有無重複的問題
|
||||
GitHub issues: GitHub 問題追蹤器
|
||||
Report a problem: 回報問題
|
||||
FreeTube Wiki: FreeTube Wiki
|
||||
FreeTube Wiki: FreeTube 維基百科
|
||||
GitHub releases: GitHub 版本
|
||||
Downloads / Changelog: 下載 / 變更紀錄
|
||||
View License: 檢視授權條款
|
||||
|
@ -342,23 +343,23 @@ Channel:
|
|||
Subscribers: '訂閱者'
|
||||
Subscribe: '訂閱'
|
||||
Unsubscribe: '取消訂閱'
|
||||
Search Channel: '搜索頻道'
|
||||
Your search results have returned 0 results: '您的搜索結果是0結果'
|
||||
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: '最流行'
|
||||
Oldest: '最舊'
|
||||
Most Popular: '最熱門'
|
||||
Playlists:
|
||||
Playlists: '播放清單'
|
||||
This channel does not currently have any playlists: '這個頻道目前沒有任何播放清單'
|
||||
Sort Types:
|
||||
Last Video Added: '最新添加的影片'
|
||||
Last Video Added: '最新上傳的影片'
|
||||
Newest: '最新'
|
||||
Oldest: '最老'
|
||||
Oldest: '最舊'
|
||||
About:
|
||||
About: '關於'
|
||||
Channel Description: '頻道說明'
|
||||
|
@ -368,11 +369,11 @@ Channel:
|
|||
Channel has been removed from your subscriptions: 頻道已從您的訂閱中移除
|
||||
Video:
|
||||
Open in YouTube: '在YouTube中開啟'
|
||||
Copy YouTube Link: '複製YouTube鏈結'
|
||||
Copy YouTube Link: '複製YouTube連結'
|
||||
Open YouTube Embedded Player: '開啟YouTube內嵌播放器'
|
||||
Copy YouTube Embedded Player Link: '複製YouTube內嵌播放器鏈結'
|
||||
Copy YouTube Embedded Player Link: '複製YouTube內嵌播放器連結'
|
||||
Open in Invidious: '在Invidious中開啟'
|
||||
Copy Invidious Link: '複製Invidious鏈結'
|
||||
Copy Invidious Link: '複製Invidious連結'
|
||||
View: '觀看'
|
||||
Views: '觀看'
|
||||
# Context is "X People Watching"
|
||||
|
@ -381,12 +382,12 @@ Video:
|
|||
# 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.': '在線聊天目前不被Invidious
|
||||
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.': '直播聊天室目前不被Invidious
|
||||
API支援。 需要直接連線YouTube。'
|
||||
Published:
|
||||
Jan: '一月'
|
||||
|
@ -414,24 +415,24 @@ Video:
|
|||
Year: '年'
|
||||
Years: '年'
|
||||
Ago: '前'
|
||||
Upcoming: '首映於'
|
||||
Upcoming: '首播於'
|
||||
Minutes: 分鐘
|
||||
Minute: 分鐘
|
||||
Published on: '發布於'
|
||||
# $ is replaced with the number and % with the unit (days, hours, minutes...)
|
||||
Publicationtemplate: '$ %前'
|
||||
#& Videos
|
||||
Video has been removed from your history: 影片已從您的曆史紀錄中移除
|
||||
Video has been marked as watched: 影片已記號為已觀看
|
||||
Remove From History: 從曆史紀錄中移除
|
||||
Mark As Watched: 記號為已觀看
|
||||
Video has been removed from your history: 影片已從您的歷史紀錄中移除
|
||||
Video has been marked as watched: 影片標記為已觀看
|
||||
Remove From History: 從歷史紀錄中移除
|
||||
Mark As Watched: 標記為已觀看
|
||||
Autoplay: 自動播放
|
||||
Play Previous Video: 播放前一影片
|
||||
Play Next Video: 播放下一影片
|
||||
Reverse Playlist: 反向播放清單
|
||||
Shuffle Playlist: 隨機播放清單
|
||||
Loop Playlist: 循環播放清單
|
||||
Starting soon, please refresh the page to check again: 即將開始,請重新整理頁面以再次檢查
|
||||
Starting soon, please refresh the page to check again: 影片即將開始,請重新整理頁面以再次檢查是否有更新
|
||||
Audio:
|
||||
Best: 最佳
|
||||
High: 高
|
||||
|
@ -444,16 +445,16 @@ Video:
|
|||
Open Channel in Invidious: 在Invidious開啟頻道
|
||||
Copy YouTube Channel Link: 複製YouTube頻道連結
|
||||
Open Channel in YouTube: 在YouTube開啟頻道
|
||||
Started streaming on: 開始在線直播於
|
||||
Streamed on: 直播于
|
||||
Video has been removed from your saved list: 影片已從您的已儲存列表移除
|
||||
Started streaming on: '開始直播時間:'
|
||||
Streamed on: 直播於
|
||||
Video has been removed from your saved list: 影片已從您的播放清單移除
|
||||
Video has been saved: 影片已儲存
|
||||
Save Video: 儲存影片
|
||||
Save Video: 儲存影片至播放清單
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
Newest: '最新'
|
||||
Oldest: '最老'
|
||||
Oldest: '最舊'
|
||||
#& Most Popular
|
||||
#& Playlists
|
||||
Playlist:
|
||||
|
@ -462,20 +463,20 @@ Playlist:
|
|||
Videos: '影片'
|
||||
View: '觀看'
|
||||
Views: '觀看'
|
||||
Last Updated On: '最后更新於'
|
||||
Last Updated On: '最後更新於'
|
||||
Share Playlist:
|
||||
Share Playlist: '分享播放清單'
|
||||
Copy YouTube Link: '複製YouTube鏈結'
|
||||
Copy YouTube Link: '複製YouTube連結'
|
||||
Open in YouTube: '在YouTube中開啟'
|
||||
Copy Invidious Link: '複製Invidious鏈結'
|
||||
Copy Invidious Link: '複製Invidious連結'
|
||||
Open in Invidious: '在Invidious中開啟'
|
||||
|
||||
# On Video Watch Page
|
||||
#* Published
|
||||
#& Views
|
||||
Toggle Theatre Mode: '切換劇場型態'
|
||||
Toggle Theatre Mode: '切換為劇院模式'
|
||||
Change Format:
|
||||
Change Video Formats: '更換影片格式'
|
||||
Change Video Formats: '變更影片格式'
|
||||
Use Dash Formats: '使用Dash格式'
|
||||
Use Legacy Formats: '使用傳統格式'
|
||||
Use Audio Formats: '使用音訊格式'
|
||||
|
@ -483,8 +484,8 @@ Change Format:
|
|||
Dash formats are not available for this video: 這個影片沒有Dash格式
|
||||
Share:
|
||||
Share Video: '分享影片'
|
||||
Copy Link: '複製鏈結'
|
||||
Open Link: '開啟鏈結'
|
||||
Copy Link: '複製連結'
|
||||
Open Link: '開啟連結'
|
||||
Copy Embed: '複製內嵌'
|
||||
Open Embed: '開啟內嵌'
|
||||
# On Click
|
||||
|
@ -497,24 +498,24 @@ Share:
|
|||
Invidious Channel URL copied to clipboard: Invidious頻道URL已複製到剪貼簿
|
||||
Mini Player: '迷你播放器'
|
||||
Comments:
|
||||
Comments: '評論'
|
||||
Click to View Comments: '點擊觀看評論'
|
||||
Getting comment replies, please wait: '抓取評論中,請稍候'
|
||||
Show Comments: '察看評論'
|
||||
Hide Comments: '隱藏評論'
|
||||
Comments: '留言'
|
||||
Click to View Comments: '點擊查看留言'
|
||||
Getting comment replies, please wait: '獲取留言中,請稍候...'
|
||||
Show Comments: '查看留言'
|
||||
Hide Comments: '隱藏留言'
|
||||
# Context: View 10 Replies, View 1 Reply
|
||||
View: '觀看'
|
||||
Hide: '隱藏'
|
||||
Replies: '回覆'
|
||||
Reply: '回覆'
|
||||
There are no comments available for this video: '這個影片沒有評論'
|
||||
Load More Comments: '加載更多評論'
|
||||
There are no more comments for this video: 此影片無更多評論
|
||||
There are no comments available for this video: '這個影片沒有留言'
|
||||
Load More Comments: '載入更多留言'
|
||||
There are no more comments for this video: 此影片無更多留言
|
||||
Newest first: 最新優先
|
||||
Top comments: 最熱評論
|
||||
Top comments: 最熱門留言
|
||||
Sort by: 排序方式
|
||||
No more comments available: 沒有更多評論
|
||||
Up Next: 'Up Next'
|
||||
No more comments available: 沒有更多留言
|
||||
Up Next: '觀看其他類似影片'
|
||||
|
||||
# Toast Messages
|
||||
Local API Error (Click to copy): '區域API錯誤(點擊複製)'
|
||||
|
@ -523,18 +524,18 @@ Falling back to Invidious API: '回退到Invidious API'
|
|||
Falling back to the local API: '回退到區域API'
|
||||
Subscriptions have not yet been implemented: '訂閱功能尚未被推行'
|
||||
Loop is now disabled: '循環播放現在被禁用'
|
||||
Loop is now enabled: '循環播放現在被允許'
|
||||
Loop is now enabled: '循環播放現在被啟用'
|
||||
Shuffle is now disabled: '隨機播放現在被禁用'
|
||||
Shuffle is now enabled: '隨機播放現在被禁用'
|
||||
Playing Next Video: '將播放下一影片'
|
||||
Playing Previous Video: '將播放上一影片'
|
||||
Playing next video in 5 seconds. Click to cancel: '下一影片將在5秒后播放。點擊取消。'
|
||||
Canceled next video autoplay: '取消的自動播放下一影片'
|
||||
'The playlist has ended. Enable loop to continue playing': '播放清單已結束。 允許循環播放以繼續播放'
|
||||
Playing next video in 5 seconds. Click to cancel: '下一部影片將在5秒後播放。點擊取消。'
|
||||
Canceled next video autoplay: '取消自動播放下一部影片'
|
||||
'The playlist has ended. Enable loop to continue playing': '播放清單已播放完畢。 開啟循環播放來繼續播放'
|
||||
|
||||
Yes: '是'
|
||||
No: '否'
|
||||
Locale Name: 正體中文
|
||||
Locale Name: 繁體(正體)中文
|
||||
Profile:
|
||||
$ is now the active profile: $現在是作用中的設定檔
|
||||
Your default profile has been changed to your primary profile: 您的預設設定檔已變更為您的主要設定檔
|
||||
|
@ -562,7 +563,7 @@ Profile:
|
|||
這不會從其他設定檔中移除頻道。
|
||||
? 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.
|
||||
: 這是您的主設定檔。 您確定您想移除選取的頻道? 相同的頻道中任何找到的設定檔會被移除。
|
||||
: 這是您的主要設定檔。 您確定要移除選取的頻道? 相同的頻道中任何找到的設定檔會被移除。
|
||||
No channel(s) have been selected: 無頻道已選取
|
||||
Add Selected To Profile: 添加選取的到設定檔
|
||||
Delete Selected: 移除選取的
|
||||
|
@ -574,7 +575,7 @@ Profile:
|
|||
The playlist has been reversed: 播放清單已反轉
|
||||
A new blog is now available, $. Click to view more: 已有新的部落格文章,$。點擊以檢視更多
|
||||
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.: 沒有這個影片因為缺少格式。這個可能發生由於國家不可用。
|
||||
Tooltips:
|
||||
Subscription Settings:
|
||||
|
@ -582,13 +583,13 @@ Tooltips:
|
|||
Player Settings:
|
||||
Default Video Format: 設定要用於影片播放的格式。Dash格式有更高的品質。傳統格式會限制在 720p但頻寬需求更低。音訊格式為僅有音訊的串流
|
||||
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 時才有效。啟用後,區域 API
|
||||
將會執行並使用由其回傳的的傳統格式,而非 Invidious 回傳的格式。對因為國家地區限制而無法播放 Invidious回傳的影片時有幫助
|
||||
General Settings:
|
||||
Invidious Instance: FreeTube將連線為 API呼叫的Invidious實例。清除目前的實例以檢視可供選擇的公用實例清單
|
||||
Thumbnail Preference: FreeTube中所有缩略图都會被替換為影片畫面而非預設缩略图
|
||||
Thumbnail Preference: FreeTube中所有縮圖都會被替換為影片畫面而非預設縮圖
|
||||
Fallback to Non-Preferred Backend on Failure: 當您的偏好API 有問題時,FreeTube將自動嘗試使用您的非偏好API
|
||||
作為汰退方案
|
||||
Preferred API Backend: 選擇 FreeTube 要用於取得資料的後端。本地 API 是內建擷取器。Invidious API 需要 Invidious
|
||||
伺服器才能連線。
|
||||
Region for Trending: 熱門區域讓您挑選您想要顯示哪個國家的熱門影片。並非所有顯示的國家都被YouTube支援
|
||||
Preferred API Backend: 選擇 FreeTube 要用於取得YouTube資料的伺服器。本地 API 是內建擷取器。Invidious
|
||||
API 需要 Invidious 伺服器才能連線。
|
||||
Region for Trending: 發燒影片區域可以讓您選擇想要顯示哪個國家的發燒影片。 注意:並非所有國家都被YouTube支援
|
||||
|
|
Loading…
Reference in New Issue