Merge
This commit is contained in:
commit
8a89062387
|
@ -12,7 +12,19 @@ jobs:
|
|||
strategy:
|
||||
matrix:
|
||||
node-version: [12.x]
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
runtime: [ linux-x64, linux-arm64, win-x64, osx-x64 ]
|
||||
include:
|
||||
- runtime: linux-x64
|
||||
os: ubuntu-latest
|
||||
|
||||
- runtime: linux-arm64
|
||||
os: ubuntu-latest
|
||||
|
||||
- runtime: osx-x64
|
||||
os: macOS-latest
|
||||
|
||||
- runtime: win-x64
|
||||
os: windows-latest
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
|
@ -24,103 +36,124 @@ jobs:
|
|||
node-version: ${{ matrix.node-version }}
|
||||
- run: npm ci
|
||||
- run: npm run lint
|
||||
|
||||
- name: Install libarchive-tools
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
run: sudo apt -y install libarchive-tools
|
||||
- run: npm run build --if-present
|
||||
|
||||
- name: Build x64 with Node.js ${{ matrix.node-version}}
|
||||
if: contains(matrix.runtime, 'x64')
|
||||
run: npm run build --if-present
|
||||
|
||||
- name: Build ARM64 with Node.js ${{ matrix.node-version}}
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||
run: npm run build:arm --if-present
|
||||
|
||||
- name: Upload Linux .zip x64 Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
with:
|
||||
name: freetube_0.9.0_linux_portable_x64
|
||||
path: build/freetube-0.9.0.zip
|
||||
|
||||
- name: Upload Linux .zip ARM Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||
with:
|
||||
name: freetube_0.9.0_linux_portable_arm64
|
||||
path: build/freetube-0.9.0-arm64.zip
|
||||
|
||||
- name: Upload .deb x64 Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
with:
|
||||
name: freetube_0.9.0_amd64.deb
|
||||
path: build/freetube_0.9.0_amd64.deb
|
||||
|
||||
- name: Upload .deb ARM Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||
with:
|
||||
name: freetube_0.9.0_arm64.deb
|
||||
path: build/freetube_0.9.0_arm64.deb
|
||||
|
||||
- name: Upload AppImage x64 Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
with:
|
||||
name: freetube_0.9.0_amd64.AppImage
|
||||
path: build/FreeTube-0.9.0.AppImage
|
||||
|
||||
- name: Upload AppImage ARM Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||
with:
|
||||
name: freetube_0.9.0_arm64.AppImage
|
||||
path: build/FreeTube-0.9.0-arm64.AppImage
|
||||
|
||||
- name: Upload .rpm x64 Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
with:
|
||||
name: freetube_0.9.0_amd64.rpm
|
||||
path: build/freetube-0.9.0.x86_64.rpm
|
||||
|
||||
- name: Upload .rpm ARM Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||
with:
|
||||
name: freetube_0.9.0_arm64.rpm
|
||||
path: build/freetube-0.9.0.arm64.rpm
|
||||
|
||||
- name: Upload Alpine .apk x64 Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
with:
|
||||
name: freetube_0.9.0_alpine_amd64.apk
|
||||
path: build/freetube-0.9.0.apk
|
||||
|
||||
- name: Upload Alpine .apk ARM Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-arm64')
|
||||
with:
|
||||
name: freetube_0.9.0_alpine_arm64.apk
|
||||
path: build/freetube-0.9.0-arm64.apk
|
||||
|
||||
- name: Upload Pacman .pacman x64 Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
with:
|
||||
name: freetube_0.9.0_pacman_arm64.pacman
|
||||
path: build/freetube-0.9.0.pacman
|
||||
|
||||
- name: Upload Web Build
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.runtime, 'linux-x64')
|
||||
with:
|
||||
name: freetube_0.9.0_static_web
|
||||
path: dist/web
|
||||
|
||||
- name: Upload Windows .exe Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'windows')
|
||||
with:
|
||||
name: freetube-0.9.0-win-x64-portable
|
||||
path: build/freetube-0.9.0-win.zip
|
||||
|
||||
- name: Upload Windows .zip Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'windows')
|
||||
with:
|
||||
name: freetube-0.9.0-setup-x64.exe
|
||||
path: build/freetube Setup 0.9.0.exe
|
||||
|
||||
- name: Upload Windows Portable Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'windows')
|
||||
with:
|
||||
name: freetube-0.9.0-portable-x64.exe
|
||||
path: build/freetube 0.9.0.exe
|
||||
|
||||
- name: Upload Mac .dmg Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
if: startsWith(matrix.os, 'macos')
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -42,7 +42,7 @@
|
|||
"youtube-chat": "^1.1.0",
|
||||
"youtube-suggest": "^1.1.0",
|
||||
"yt-channel-info": "^1.1.4",
|
||||
"yt-comment-scraper": "^1.3.6",
|
||||
"yt-comment-scraper": "^1.3.7",
|
||||
"yt-dash-manifest-generator": "^1.1.0",
|
||||
"yt-trending-scraper": "^1.0.3",
|
||||
"yt-xml2vtt": "^1.1.2",
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
import Vue from 'vue'
|
||||
import FtTooltip from '../ft-tooltip/ft-tooltip.vue'
|
||||
|
||||
export default Vue.extend({
|
||||
name: 'FtInput',
|
||||
components: {
|
||||
'ft-tooltip': FtTooltip
|
||||
},
|
||||
props: {
|
||||
placeholder: {
|
||||
type: String,
|
||||
|
@ -30,6 +34,10 @@ export default Vue.extend({
|
|||
dataList: {
|
||||
type: Array,
|
||||
default: () => { return [] }
|
||||
},
|
||||
tooltip: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data: function () {
|
||||
|
|
|
@ -11,6 +11,12 @@
|
|||
:for="id"
|
||||
>
|
||||
{{ placeholder }}
|
||||
<ft-tooltip
|
||||
v-if="tooltip !== ''"
|
||||
class="selectTooltip"
|
||||
position="right"
|
||||
:tooltip="tooltip"
|
||||
/>
|
||||
</label>
|
||||
<input
|
||||
:id="id"
|
||||
|
|
|
@ -93,6 +93,10 @@ export default Vue.extend({
|
|||
return `https://www.youtube.com/watch?v=${this.id}`
|
||||
},
|
||||
|
||||
youtubeShareUrl: function () {
|
||||
return `https://youtu.be/${this.id}`
|
||||
},
|
||||
|
||||
youtubeEmbedUrl: function () {
|
||||
return `https://www.youtube-nocookie.com/embed/${this.id}`
|
||||
},
|
||||
|
@ -168,7 +172,7 @@ export default Vue.extend({
|
|||
}
|
||||
break
|
||||
case 'copyYoutube':
|
||||
navigator.clipboard.writeText(this.youtubeUrl)
|
||||
navigator.clipboard.writeText(this.youtubeShareUrl)
|
||||
this.showToast({
|
||||
message: this.$t('Share.YouTube URL copied to clipboard')
|
||||
})
|
||||
|
|
|
@ -68,6 +68,12 @@
|
|||
color: var(--tertiary-text-color);
|
||||
}
|
||||
|
||||
.selectTooltip {
|
||||
position: absolute;
|
||||
top: -20px;
|
||||
right: 17px;
|
||||
}
|
||||
|
||||
|
||||
/* LABEL ======================================= */
|
||||
.select-label {
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
import Vue from 'vue'
|
||||
import FtTooltip from '../ft-tooltip/ft-tooltip.vue'
|
||||
|
||||
export default Vue.extend({
|
||||
name: 'FtSelect',
|
||||
components: {
|
||||
'ft-tooltip': FtTooltip
|
||||
},
|
||||
props: {
|
||||
placeholder: {
|
||||
type: String,
|
||||
|
@ -18,6 +22,10 @@ export default Vue.extend({
|
|||
selectValues: {
|
||||
type: Array,
|
||||
required: true
|
||||
},
|
||||
tooltip: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
@ -22,6 +22,11 @@
|
|||
<label class="select-label">
|
||||
{{ placeholder }}
|
||||
</label>
|
||||
<ft-tooltip
|
||||
v-if="tooltip !== ''"
|
||||
class="selectTooltip"
|
||||
:tooltip="tooltip"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -50,6 +50,10 @@ export default Vue.extend({
|
|||
return `https://www.youtube.com/watch?v=${this.id}`
|
||||
},
|
||||
|
||||
youtubeShareURL() {
|
||||
return `https://youtu.be/${this.id}`
|
||||
},
|
||||
|
||||
youtubeEmbedURL() {
|
||||
return `https://www.youtube-nocookie.com/embed/${this.id}`
|
||||
}
|
||||
|
@ -88,7 +92,7 @@ export default Vue.extend({
|
|||
this.showToast({
|
||||
message: this.$t('Share.YouTube URL copied to clipboard')
|
||||
})
|
||||
this.copy(this.getFinalUrl(this.youtubeURL))
|
||||
this.copy(this.getFinalUrl(this.youtubeShareURL))
|
||||
this.$refs.iconButton.focusOut()
|
||||
},
|
||||
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
import Vue from 'vue'
|
||||
import FtTooltip from '../ft-tooltip/ft-tooltip.vue'
|
||||
|
||||
export default Vue.extend({
|
||||
name: 'FtToggleSwitch',
|
||||
components: {
|
||||
'ft-tooltip': FtTooltip
|
||||
},
|
||||
props: {
|
||||
label: {
|
||||
type: String,
|
||||
|
@ -18,6 +22,10 @@ export default Vue.extend({
|
|||
disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
tooltip: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data: function () {
|
||||
|
|
|
@ -18,6 +18,11 @@
|
|||
class="switch-label"
|
||||
>
|
||||
{{ label }}
|
||||
<ft-tooltip
|
||||
v-if="tooltip !== ''"
|
||||
class="selectTooltip"
|
||||
:tooltip="tooltip"
|
||||
/>
|
||||
</label>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
.button {
|
||||
background-color: transparent;
|
||||
border-style: none;
|
||||
color: var(--primary-text-color);
|
||||
cursor: pointer;
|
||||
font-size: 1rem;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.button:focus + .text,
|
||||
.button:hover + .text {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.button:focus + .text.bottom,
|
||||
.button:hover + .text.bottom,
|
||||
.button:focus + .text.top,
|
||||
.button:hover + .text.top {
|
||||
-webkit-transform: translate(-50%, 0);
|
||||
transform: translate(-50%, 0);
|
||||
}
|
||||
|
||||
.button:focus + .text.left,
|
||||
.button:hover + .text.left,
|
||||
.button:focus + .text.right,
|
||||
.button:hover + .text.right {
|
||||
-webkit-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
|
||||
.text {
|
||||
background-color: black;
|
||||
border-radius: 2px;
|
||||
color: #fff;
|
||||
font-size: 1rem;
|
||||
line-height: 120%;
|
||||
margin: 0;
|
||||
max-width: max-content;
|
||||
min-width: 15em;
|
||||
opacity: 0;
|
||||
padding: 10px 8px;
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
transition-duration: 275ms;
|
||||
transition-property: opacity, transform, visibility;
|
||||
visibility: hidden;
|
||||
z-index: 4;
|
||||
}
|
||||
|
||||
.text.bottom {
|
||||
margin-top: 1em;
|
||||
top: 100%;
|
||||
left: 50%;
|
||||
-webkit-transform: translate(-50%, -1em);
|
||||
transform: translate(-50%, -1em);
|
||||
}
|
||||
|
||||
.text.left {
|
||||
margin-right:1em;
|
||||
right: 100%;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(1em, -50%);
|
||||
transform: translate(1em, -50%);
|
||||
}
|
||||
|
||||
.text.right {
|
||||
left: 100%;
|
||||
margin-left: 1em;
|
||||
top: 50%;
|
||||
-webkit-transform: translate(-1em, -50%);
|
||||
transform: translate(-1em, -50%);
|
||||
}
|
||||
|
||||
.text.top {
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
margin-bottom: 1em;
|
||||
-webkit-transform: translate(-50%, 1em);
|
||||
transform: translate(-50%, 1em);
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
import Vue from 'vue'
|
||||
import { uniqueId } from 'lodash'
|
||||
|
||||
export default Vue.extend({
|
||||
name: 'FtTooltip',
|
||||
props: {
|
||||
position: {
|
||||
type: String,
|
||||
default: 'bottom',
|
||||
validator: (value) => value === 'bottom' || value === 'left' || value === 'right' || value === 'top'
|
||||
},
|
||||
tooltip: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
const id = uniqueId('ft-tooltip-')
|
||||
|
||||
return {
|
||||
id
|
||||
}
|
||||
}
|
||||
})
|
|
@ -0,0 +1,22 @@
|
|||
<template>
|
||||
<div class="tooltip">
|
||||
<button
|
||||
:aria-labelledby="id"
|
||||
class="button"
|
||||
type="button"
|
||||
>
|
||||
<font-awesome-icon icon="question-circle" />
|
||||
</button>
|
||||
<p
|
||||
:id="id"
|
||||
class="text"
|
||||
:class="position"
|
||||
role="tooltip"
|
||||
>
|
||||
{{ tooltip }}
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="./ft-tooltip.js" />
|
||||
<style scoped src="./ft-tooltip.css" />
|
|
@ -651,6 +651,15 @@ export default Vue.extend({
|
|||
this.updateInvidiousInstanceBounce(invidiousInstance)
|
||||
},
|
||||
|
||||
handlePreferredApiBackend: function (backend) {
|
||||
this.updateBackendPreference(backend)
|
||||
console.log(backend)
|
||||
|
||||
if (backend === 'local') {
|
||||
this.updateForceLocalBackendForLegacy(false)
|
||||
}
|
||||
},
|
||||
|
||||
updateLocale: function (locale) {
|
||||
this.$i18n.locale = locale
|
||||
this.currentLocale = locale
|
||||
|
@ -668,7 +677,8 @@ export default Vue.extend({
|
|||
'updateRegion',
|
||||
'updateListType',
|
||||
'updateThumbnailPreference',
|
||||
'updateInvidiousInstance'
|
||||
'updateInvidiousInstance',
|
||||
'updateForceLocalBackendForLegacy'
|
||||
])
|
||||
}
|
||||
})
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
:label="$t('Settings.General Settings.Fallback to Non-Preferred Backend on Failure')"
|
||||
:default-value="backendFallback"
|
||||
:compact="true"
|
||||
:tooltip="$t('Tooltips.General Settings.Fallback to Non-Preferred Backend on Failure')"
|
||||
@change="updateBackendFallback"
|
||||
/>
|
||||
</div>
|
||||
|
@ -43,7 +44,8 @@
|
|||
:value="backendPreference"
|
||||
:select-names="backendNames"
|
||||
:select-values="backendValues"
|
||||
@change="updateBackendPreference"
|
||||
:tooltip="$t('Tooltips.General Settings.Preferred API Backend')"
|
||||
@change="handlePreferredApiBackend"
|
||||
/>
|
||||
<ft-select
|
||||
v-if="false"
|
||||
|
@ -73,6 +75,7 @@
|
|||
:value="thumbnailPreference"
|
||||
:select-names="thumbnailTypeNames"
|
||||
:select-values="thumbnailTypeValues"
|
||||
:tooltip="$t('Tooltips.General Settings.Thumbnail Preference')"
|
||||
@change="updateThumbnailPreference"
|
||||
/>
|
||||
<ft-select
|
||||
|
@ -90,6 +93,7 @@
|
|||
:show-label="true"
|
||||
:value="invidiousInstance"
|
||||
:data-list="instanceValues"
|
||||
:tooltip="$t('Tooltips.General Settings.Invidious Instance')"
|
||||
@input="handleInvidiousInstanceInput"
|
||||
/>
|
||||
</ft-flex-box>
|
||||
|
|
|
@ -34,6 +34,10 @@ export default Vue.extend({
|
|||
}
|
||||
},
|
||||
computed: {
|
||||
backendPreference: function () {
|
||||
return this.$store.getters.getBackendPreference
|
||||
},
|
||||
|
||||
autoplayVideos: function () {
|
||||
return this.$store.getters.getAutoplayVideos
|
||||
},
|
||||
|
|
|
@ -19,13 +19,16 @@
|
|||
<ft-toggle-switch
|
||||
:label="$t('Settings.Player Settings.Force Local Backend for Legacy Formats')"
|
||||
:compact="true"
|
||||
:disabled="backendPreference === 'local'"
|
||||
:default-value="forceLocalBackendForLegacy"
|
||||
:tooltip="$t('Tooltips.Player Settings.Force Local Backend for Legacy Formats')"
|
||||
@change="updateForceLocalBackendForLegacy"
|
||||
/>
|
||||
<ft-toggle-switch
|
||||
:label="$t('Settings.Player Settings.Proxy Videos Through Invidious')"
|
||||
:compact="true"
|
||||
:default-value="proxyVideos"
|
||||
:tooltip="$t('Tooltips.Player Settings.Proxy Videos Through Invidious')"
|
||||
@change="updateProxyVideos"
|
||||
/>
|
||||
<ft-toggle-switch
|
||||
|
@ -84,6 +87,7 @@
|
|||
:value="defaultVideoFormat"
|
||||
:select-names="formatNames"
|
||||
:select-values="formatValues"
|
||||
:tooltip="$t('Tooltips.Player Settings.Default Video Format')"
|
||||
@change="updateDefaultVideoFormat"
|
||||
/>
|
||||
<ft-select
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
<ft-toggle-switch
|
||||
:label="$t('Settings.Subscription Settings.Fetch Feeds from RSS')"
|
||||
:default-value="useRssFeeds"
|
||||
:tooltip="$t('Tooltips.Subscription Settings.Fetch Feeds from RSS')"
|
||||
@change="updateUseRssFeeds"
|
||||
/>
|
||||
</ft-flex-box>
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
}
|
||||
|
||||
.commentText {
|
||||
font-size: 12px;
|
||||
font-size: 14px;
|
||||
margin-top: -10px;
|
||||
margin-left: 70px;
|
||||
}
|
||||
|
@ -61,6 +61,43 @@
|
|||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.commentHeartBadge {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
width: 25px;
|
||||
height: 20px;
|
||||
margin-left: 10px;
|
||||
margin-bottom: -7px;
|
||||
}
|
||||
|
||||
.commentHeartBadgeImg {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-radius: 50%;
|
||||
-webkit-border-radius: 50%;
|
||||
}
|
||||
|
||||
.commentHeartBadgeWhite {
|
||||
position: absolute;
|
||||
left: 9px;
|
||||
bottom: 1px;
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.commentHeartBadgeRed {
|
||||
position: absolute;
|
||||
color: var(--red-500);
|
||||
left: 10px;
|
||||
bottom: 2px;
|
||||
width: 9px;
|
||||
height: 9px;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.commentMoreReplies {
|
||||
font-size: 11px;
|
||||
margin-left: 5px;
|
||||
|
|
|
@ -20,6 +20,10 @@ export default Vue.extend({
|
|||
id: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
channelThumbnail: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data: function () {
|
||||
|
|
|
@ -65,6 +65,23 @@
|
|||
icon="thumbs-up"
|
||||
/>
|
||||
{{ comment.likes }}
|
||||
<span
|
||||
v-if="comment.isHearted"
|
||||
class="commentHeartBadge"
|
||||
>
|
||||
<img
|
||||
:src="channelThumbnail"
|
||||
class="commentHeartBadgeImg"
|
||||
>
|
||||
<font-awesome-icon
|
||||
icon="heart"
|
||||
class="commentHeartBadgeWhite"
|
||||
/>
|
||||
<font-awesome-icon
|
||||
icon="heart"
|
||||
class="commentHeartBadgeRed"
|
||||
/>
|
||||
</span>
|
||||
<span
|
||||
v-if="comment.numReplies > 0"
|
||||
class="commentMoreReplies"
|
||||
|
|
|
@ -334,6 +334,22 @@ export default Vue.extend({
|
|||
|
||||
return object
|
||||
})
|
||||
|
||||
let captionLinks = result.playerResponse.captions
|
||||
|
||||
if (typeof captionLinks !== 'undefined') {
|
||||
captionLinks = captionLinks.playerCaptionsTracklistRenderer.captionTracks.map((caption) => {
|
||||
const label = `${caption.name.simpleText} (${caption.languageCode}) - text/vtt`
|
||||
const object = {
|
||||
url: caption.baseUrl,
|
||||
label: label
|
||||
}
|
||||
|
||||
return object
|
||||
})
|
||||
|
||||
this.downloadLinks = this.downloadLinks.concat(captionLinks)
|
||||
}
|
||||
} else {
|
||||
// video might be region locked or something else. This leads to no formats being available
|
||||
this.showToast({
|
||||
|
@ -531,7 +547,15 @@ export default Vue.extend({
|
|||
}
|
||||
|
||||
return object
|
||||
}).reverse()
|
||||
}).reverse().concat(result.captions.map((caption) => {
|
||||
const label = `${caption.label} (${caption.languageCode}) - text/vtt`
|
||||
const object = {
|
||||
url: caption.url,
|
||||
label: label
|
||||
}
|
||||
|
||||
return object
|
||||
}))
|
||||
|
||||
this.audioSourceList = result.adaptiveFormats.filter((format) => {
|
||||
return format.type.includes('audio')
|
||||
|
|
|
@ -94,6 +94,7 @@
|
|||
:id="videoId"
|
||||
class="watchVideo"
|
||||
:class="{ theatreWatchVideo: useTheatreMode }"
|
||||
:channel-thumbnail="channelThumbnail"
|
||||
@timestamp-event="changeTimestamp"
|
||||
/>
|
||||
</div>
|
||||
|
|
|
@ -72,6 +72,9 @@ Subscriptions:
|
|||
اشتراكاتك فارغة حالياً. ابدأ بإضافة الاشتراكات لتراهم هنا.'
|
||||
'Getting Subscriptions. Please wait.': 'جاري تحميل الاشتراكات. يرجى الانتظار.'
|
||||
Refresh Subscriptions: 'تحديث الاشتراكات'
|
||||
Load More Videos: حمّل المزيد من الفيديوهات
|
||||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: لدى
|
||||
هذا الملف الشخصي عدد كبير من الاشتراكات. يتم فرض وضع RSS لتجنب تقييد الوصول للاشتراكات
|
||||
Trending: 'المحتوى الرائج'
|
||||
Most Popular: 'الأكثر شعبية'
|
||||
Playlists: 'قوائم التشغيل'
|
||||
|
@ -140,6 +143,9 @@ Settings:
|
|||
Deep Orange: 'برتقالي داكن'
|
||||
Secondary Color Theme: 'لون السِمة الثانوي'
|
||||
#* Main Color Theme
|
||||
UI Scale: مقياس واجهة المستخدم
|
||||
Disable Smooth Scrolling: عطّل التمرير المتجانس
|
||||
Expand Side Bar by Default: كبّر الشريط الجانبي بشكل افتراضي
|
||||
Player Settings:
|
||||
Player Settings: 'إعدادات المشغل'
|
||||
Force Local Backend for Legacy Formats: 'فرض الواجهة الخلفية المحلية للتنسيقات
|
||||
|
@ -259,6 +265,16 @@ Settings:
|
|||
Data Settings: إعدادات البيانات
|
||||
One or more subscriptions were unable to be imported: تعذر استيراد واحد أو أكثر
|
||||
من الاشتراكات
|
||||
Distraction Free Settings:
|
||||
Hide Live Chat: اخفي الدردشة المباشرة
|
||||
Hide Popular Videos: اخفي الفيديوهات الأكثر شعبية
|
||||
Hide Trending Videos: اخفي الفيديوهات الرائجة
|
||||
Hide Recommended Videos: اخفي الفيديوهات الموصّى بها
|
||||
Hide Comment Likes: اخفي اعجابات التعليقات
|
||||
Hide Channel Subscribers: اخفي اشتراكات القنوات
|
||||
Hide Video Views: اخفي عدد مشاهدات الفيديوهات
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: البرنامج
|
||||
يحتاج لإعادة التشغيل كي يسري مفعول التغييرات. هل تريد إعادة التشغيل و تطبيق التغييرات؟
|
||||
About:
|
||||
#On About page
|
||||
About: 'حول'
|
||||
|
@ -420,7 +436,7 @@ Video:
|
|||
Year: 'سنة'
|
||||
Years: 'سنوات'
|
||||
Ago: 'منذ'
|
||||
Upcoming: 'العرض الأول قريباً'
|
||||
Upcoming: 'العرض الأول في'
|
||||
Published on: 'نُشر في'
|
||||
# $ is replaced with the number and % with the unit (days, hours, minutes...)
|
||||
Publicationtemplate: 'قبل $ %'
|
||||
|
@ -433,6 +449,14 @@ Video:
|
|||
Loop Playlist: تكرار قائمة التشغيل
|
||||
Starting soon, please refresh the page to check again: سيبدأ قريباً ، يرجى تحديث
|
||||
الصفحة للتحقق مرة أخرى
|
||||
Audio:
|
||||
Best: الأفضل
|
||||
High: عالٍ
|
||||
Medium: متوسط
|
||||
Low: منخفض
|
||||
audio only: صوت فقط
|
||||
video only: فيديو فقط
|
||||
Download Video: نزّل الفيديو
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
|
@ -492,6 +516,10 @@ Comments:
|
|||
There are no comments available for this video: 'لا يتوفر تعليقات لهذا الفيديو'
|
||||
Load More Comments: 'تحميل المزيد من التعليقات'
|
||||
There are no more comments for this video: لا يوجد المزيد من التعليقات لهذا الفيديو
|
||||
No more comments available: لا يتوفر المزيد من التعليقات
|
||||
Newest first: الأحدث أولاً
|
||||
Top comments: أهم التعليقات
|
||||
Sort by: الترتيب حسب
|
||||
Up Next: 'التالي'
|
||||
|
||||
# Toast Messages
|
||||
|
@ -520,3 +548,10 @@ A new blog is now available, $. Click to view more: مدوّنة جديدة مت
|
|||
Download From Site: تنزيل من الموقع
|
||||
Version $ is now available! Click for more details: الإصدار $ متاح الآن! انقر للحصول
|
||||
على المزيد من التفاصيل
|
||||
Tooltips:
|
||||
General Settings:
|
||||
Thumbnail Preference: كلّ الصّور المصغّرة في FreeTube سيتمّ استبدالها بإيطار من
|
||||
الفيديو بدل من الصّورة المصغّرة الافتراضيّة
|
||||
Preferred API Backend: اختر الواجهة الخلفية التي يستخدمها FreeTube لجلب البيانات.
|
||||
الAPI المحلي هو مستخرج محلي. الAPI التابع لInvidious يتطلب التواصل مع خادم شبكة
|
||||
Invidious
|
||||
|
|
|
@ -34,7 +34,7 @@ Version $ is now available! Click for more details: 'Вече е налична
|
|||
за повече детайли'
|
||||
Download From Site: 'Сваляне от сайта'
|
||||
A new blog is now available, $. Click to view more: 'Налична е нова публикация в блога,
|
||||
$. Щракнете за я видите'
|
||||
$. Щракнете за да я видите'
|
||||
|
||||
# Search Bar
|
||||
Search / Go to URL: 'Търсене / Отиване на адрес'
|
||||
|
@ -125,7 +125,8 @@ Settings:
|
|||
#! List countries
|
||||
Theme Settings:
|
||||
Theme Settings: 'Настройки на облик'
|
||||
Match Top Bar with Main Color: 'Съвпадане на горната лента с основния цвят'
|
||||
Match Top Bar with Main Color: 'Съвпадане на горната лента с основната цветова
|
||||
тема'
|
||||
Base Theme:
|
||||
Base Theme: 'Основна тема'
|
||||
Black: 'Черна'
|
||||
|
@ -149,7 +150,7 @@ Settings:
|
|||
Amber: 'Кехлибарено'
|
||||
Orange: 'Оранжево'
|
||||
Deep Orange: 'Наситено оранжево'
|
||||
Secondary Color Theme: 'Втора цветова тема'
|
||||
Secondary Color Theme: 'Вторична цветова тема'
|
||||
#* Main Color Theme
|
||||
UI Scale: Мащаб на интерфейса
|
||||
Disable Smooth Scrolling: Изключване на плавното превъртане
|
||||
|
@ -277,7 +278,7 @@ Settings:
|
|||
Hide Comment Likes: Скриване оценките на коментарите
|
||||
Hide Channel Subscribers: Скриване броя на абонатите на канали
|
||||
Hide Video Likes And Dislikes: Скриване оценките на видеата
|
||||
Hide Video Views: Скриване броя показвания на видеото
|
||||
Hide Video Views: Скриване броя показвания на видеата
|
||||
Distraction Free Settings: Настройки за неразсейване
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: Приложението
|
||||
трябва да се рестартира за да се приложат промените. Рестартиране?
|
||||
|
@ -364,7 +365,7 @@ Channel:
|
|||
Removed subscription from $ other channel(s): 'Премахнат абонамент от $ друг(и)
|
||||
канал(и)'
|
||||
Added channel to your subscriptions: 'Добавен канал към вашите абонаменти'
|
||||
Search Channel: 'Търсене в канал'
|
||||
Search Channel: 'Търсене в канала'
|
||||
Your search results have returned 0 results: 'Вашето търсене върна 0 резултата'
|
||||
Sort By: 'Сортиране по'
|
||||
Videos:
|
||||
|
|
|
@ -530,6 +530,20 @@ Comments:
|
|||
No more comments available: No more comments available
|
||||
Up Next: Up Next
|
||||
|
||||
#Tooltips
|
||||
Tooltips:
|
||||
General Settings:
|
||||
Preferred API Backend: Choose the backend that FreeTube uses to obtain data. The local API is a built in extractor. The Invidious API requires an Invidious server to connect to
|
||||
Fallback to Non-Preferred Backend on Failure: When your preferred API has a problem, FreeTube will automatically attempt to use your non-preferred API as a fallback method when enabled
|
||||
Thumbnail Preference: All thumbnails throughout FreeTube will be replaced with a frame of the video instead of the default thumbnail
|
||||
Invidious Instance: The Invidious instance that FreeTube will connect to for API calls. Clear the current instance to see a list of public instances to choose from
|
||||
Player Settings:
|
||||
Force Local Backend for Legacy Formats: Only works when the Invidious API is your default. When enabled, the local API will run and use the legacy formats returned by that instead of the ones returned by Invidious. Helps when the videos returned by Invidious don't play due to country restrictions
|
||||
Proxy Videos Through Invidious: Will connect to Invidious to serve videos instead of making a direct connection to YouTube. Overrides API preference
|
||||
Default Video Format: Set the formats used when a video plays. Dash formats can play higher qualities. Legacy formats are limited to a max of 720p but use less bandwidth. Audio formats are audio only streams
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: When enabled, FreeTube will use RSS instead of it's 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
|
||||
|
||||
# Toast Messages
|
||||
Local API Error (Click to copy): Local API Error (Click to copy)
|
||||
Invidious API Error (Click to copy): Invidious API Error (Click to copy)
|
||||
|
|
|
@ -578,3 +578,34 @@ Version $ is now available! Click for more details: La version $ est maintenant
|
|||
This video is unavailable because of missing formats. This can happen due to country unavailability.: Cette
|
||||
vidéo est indisponible car elle n'est pas dans un format valide. Cela peut arriver
|
||||
en raison de restrictions d'accès dans certains pays.
|
||||
Tooltips:
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: Lorsqu'il est activé, FreeTube utilisera le RSS au lieu
|
||||
de sa méthode par défaut pour récupérer votre flux d'abonnement. Le RSS est
|
||||
plus rapide et empêche le blocage d'IP, mais ne fournit pas certaines informations
|
||||
comme la durée de la vidéo ou le statut en direct
|
||||
Player Settings:
|
||||
Default Video Format: Définir les formats utilisés lors de la lecture d'une vidéo.
|
||||
Les formats Dash peuvent être lus en qualité supérieure. Les formats Legacy
|
||||
sont limités à un maximum de 720p mais utilisent moins de bande passante. Les
|
||||
formats audio sont des flux audio uniquement
|
||||
Proxy Videos Through Invidious: Se connectera à Invidious pour lire des vidéos
|
||||
au lieu d'établir une connexion directe avec YouTube. Remplace les préférences
|
||||
de l'API
|
||||
Force Local Backend for Legacy Formats: Ne fonctionne que lorsque l'API Invidious
|
||||
est activée par défaut. Lorsqu'elle est activée, l'API locale s'exécute et utilise
|
||||
les formats Legacy renvoyés par celle-ci au lieu de ceux renvoyés par Invidious.
|
||||
Utile lorsque les vidéos renvoyées par Invidious ne sont pas lues en raison
|
||||
de restrictions pays
|
||||
General Settings:
|
||||
Invidious Instance: L'instance Invidious à laquelle FreeTube se connectera pour
|
||||
les appels d'API. Effacez l'instance actuelle pour voir une liste d'instances
|
||||
publiques parmi lesquelles choisir
|
||||
Thumbnail Preference: Toutes les miniatures de FreeTube seront remplacées par
|
||||
une image de la vidéo au lieu de la vignette par défaut
|
||||
Fallback to Non-Preferred Backend on Failure: Lorsque votre API préférée a un
|
||||
problème, FreeTube tentera automatiquement d'utiliser votre API non préférée
|
||||
comme méthode de secours lorsqu'elle est activée
|
||||
Preferred API Backend: Choisissez le backend que FreeTube utilise pour obtenir
|
||||
les données. L'API locale est un extracteur intégré. L'API Invidious nécessite
|
||||
un serveur Invidious pour se connecter à
|
||||
|
|
|
@ -539,3 +539,10 @@ Canceled next video autoplay: 'ניגון אוטומטי לסרטון הבא ב
|
|||
|
||||
Yes: 'כן'
|
||||
No: 'לא'
|
||||
Tooltips:
|
||||
General Settings:
|
||||
Fallback to Non-Preferred Backend on Failure: כאשר ל־API המועדף עליך יש בעיה,
|
||||
FreeTube ינסה להשתמש ב־API בעדיפות הנמוכה יותר באופן אוטומטי כשיטת נסיגה כאשר
|
||||
האפשרות פעילה
|
||||
Preferred API Backend: נא לבחור את המנגנון בו ישתמש FreeTube כדי לקבל נתונים.
|
||||
ה־API המקומי הוא מחלץ מובנה. ה־API של Invidious דורש התחברות לשרת Invidious
|
||||
|
|
|
@ -92,7 +92,7 @@ Settings:
|
|||
Settings: 'Postavke'
|
||||
General Settings:
|
||||
General Settings: 'Opće postavke'
|
||||
Fallback to Non-Preferred Backend on Failure: 'U slučaju neuspjeha koristi sekundarni
|
||||
Fallback to Non-Preferred Backend on Failure: 'U slučaju problema koristi sekundarni
|
||||
pozadinski sustav'
|
||||
Enable Search Suggestions: 'Aktiviraj prijedloge pretraživanja'
|
||||
Default Landing Page: 'Standardna odredišna stranica'
|
||||
|
@ -264,8 +264,8 @@ Settings:
|
|||
Select Import Type: Odaberi vrstu uvoza
|
||||
Data Settings: Postavke podataka
|
||||
How do I import my subscriptions?: Kako uvesti pretplate?
|
||||
One or more subscriptions were unable to be imported: Nije moguće uvesti jednu
|
||||
ili više pretplata
|
||||
One or more subscriptions were unable to be imported: Neuspio uvoz jedne ili više
|
||||
pretplata
|
||||
Check for Legacy Subscriptions: Potraži stare pretplate
|
||||
Distraction Free Settings:
|
||||
Hide Trending Videos: Sakrij videozapise u trendu
|
||||
|
@ -521,7 +521,7 @@ Comments:
|
|||
Replies: 'Odgovori'
|
||||
Reply: 'Odgovor'
|
||||
There are no comments available for this video: 'Nema komentara za ovaj videozapis'
|
||||
Load More Comments: 'Učitaj više komentara'
|
||||
Load More Comments: 'Učitaj još komentara'
|
||||
There are no more comments for this video: Nema daljnjih komentara za ovaj videozapis
|
||||
No more comments available: Nema daljnjih komentara
|
||||
Newest first: Najprije najnovije
|
||||
|
@ -558,3 +558,31 @@ Version $ is now available! Click for more details: Dostupna je verzija $! Prit
|
|||
This video is unavailable because of missing formats. This can happen due to country unavailability.: Ovaj
|
||||
videozapis nije dostupan zbog nedostajućih formata. Uzrok tome može biti nedostupnost
|
||||
zemlje.
|
||||
Tooltips:
|
||||
Player Settings:
|
||||
Default Video Format: Postavi formate za reprodukciju videozapisa. Dash formati
|
||||
mogu reproducirati višu kvalitetu slike. Stari formati su ograničeni na 720
|
||||
p, ali su zato brži. Audio formati emitiraju samo audiosnimke
|
||||
Proxy Videos Through Invidious: Za slanje videozapisa povezat će se s Invidiousom
|
||||
umjesto izravnog povezivanja s YouTubeom. Zanemaruje postavke sučelja
|
||||
Force Local Backend for Legacy Formats: Radi samo, kad postaviš Invidious kao
|
||||
standardno sučelje. Kad je aktivirano, lokalno sučelje će pokretati i koristiti
|
||||
stare formate umjesto onih koje dostavlja Invidious. Pomaže u slučajevima, kad
|
||||
je reprodukcija videozapisa koje dostavlja Invidious u zemlji zabranjena/ograničena
|
||||
General Settings:
|
||||
Invidious Instance: Invidious primjerak na koji će se FreeTube povezati za pozive
|
||||
sučelja. Isprazni trenutačni primjerak za prikaz popisa javnih primjeraka koje
|
||||
možeš odabrati
|
||||
Thumbnail Preference: U FreeTubeu će se sve minijature zamijeniti s jednim kadrom
|
||||
videozapisa umjesto standardne minijature
|
||||
Fallback to Non-Preferred Backend on Failure: Ako primarno odabrano sučelje ima
|
||||
problema, FreeTube će automatski pokušati koristiti sekundarno sučelje kao zamjensku
|
||||
metodu, ako je aktivirano
|
||||
Preferred API Backend: Odaberi pozadinski sustav koji FreeTube koristi za dobivanje
|
||||
podataka. Lokalno sučelje je ugrađeni sustav. Invidious sučelje zahtijeva Invidious
|
||||
poslužitelja na koji će se povezati
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: Kad je aktivirano, FreeTube će koristiti RSS umjesto standardne
|
||||
metode za dohvaćanje tvog feeda pretplate. RSS je brži i sprečava blokiranje
|
||||
IP adresa, ali ne pruža određene podatke kao što su trajanje videozapisa ili
|
||||
stanja „uživo”
|
||||
|
|
|
@ -75,6 +75,9 @@ Subscriptions:
|
|||
'Getting Subscriptions. Please wait.': 'Caricamento Iscrizioni. Attendi.'
|
||||
Refresh Subscriptions: Ricarica le Iscrizioni
|
||||
'Getting Subscriptions. Please wait.': Scaricamento delle iscrizioni. Prego attendere.
|
||||
Load More Videos: Carica più video
|
||||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Questo
|
||||
profilo ha un grande numero di iscrizioni. Utilizzo RSS per evitare limitazioni
|
||||
Trending: 'Tendenze'
|
||||
Most Popular: 'Popolari'
|
||||
Playlists: 'Playlist'
|
||||
|
@ -143,6 +146,9 @@ Settings:
|
|||
Deep Orange: 'Arancione scuro'
|
||||
Secondary Color Theme: 'Tema Colori Secondario'
|
||||
#* Main Color Theme
|
||||
UI Scale: Dimensioni Interfaccia
|
||||
Disable Smooth Scrolling: Disabilita Scorrimento Fluido
|
||||
Expand Side Bar by Default: Espandi Automaticamente la Barra Laterale
|
||||
Player Settings:
|
||||
Player Settings: 'Impostazioni Riproduttore Video'
|
||||
Force Local Backend for Legacy Formats: 'Forza back-end locale per formati legacy'
|
||||
|
@ -265,6 +271,20 @@ Settings:
|
|||
Select Export Type: Seleziona Tipo di Esportazione
|
||||
Select Import Type: Seleziona Tipo di importazione
|
||||
Data Settings: Impostazioni Dati
|
||||
Check for Legacy Subscriptions: Cerca Iscrizioni in formato Legacy
|
||||
Distraction Free Settings:
|
||||
Hide Popular Videos: Nascondi Video Popolari
|
||||
Hide Trending Videos: Nascondi Video in Tendenze
|
||||
Hide Recommended Videos: Nascondi Video Suggeriti
|
||||
Hide Comment Likes: Nascondi i Mi Piace dei Commenti
|
||||
Hide Channel Subscribers: Nascondi il Numero di Iscritti
|
||||
Hide Video Views: Nascondi Visualizzazioni Video
|
||||
Distraction Free Settings: Impostazioni modalità "Senza Distrazioni"
|
||||
Hide Live Chat: Nascondi la chat live
|
||||
Hide Video Likes And Dislikes: Nascondi Mi piace e Non mi piace
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: L'applicazione
|
||||
deve essere riavviata per applicare i cambiamenti. Riavviare e applicare i cambiamenti
|
||||
ora?
|
||||
About:
|
||||
#On About page
|
||||
About: 'Informazioni'
|
||||
|
@ -386,7 +406,7 @@ Video:
|
|||
Year: 'Anno'
|
||||
Years: 'Anni'
|
||||
Ago: 'Fa'
|
||||
Upcoming: 'Première a breve'
|
||||
Upcoming: 'Première il'
|
||||
Minutes: Minuti
|
||||
Minute: Minuto
|
||||
Published on: 'Pubblicato il'
|
||||
|
@ -401,6 +421,14 @@ Video:
|
|||
Autoplay: Riproduzione Automatica
|
||||
Starting soon, please refresh the page to check again: La riproduzione partirà a
|
||||
breve, refreshare la pagina per ricontrollare
|
||||
Audio:
|
||||
Best: Migliore
|
||||
High: Alto
|
||||
Medium: Medio
|
||||
Low: Basso
|
||||
audio only: solo audio
|
||||
video only: solo video
|
||||
Download Video: Scarica Video
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
|
@ -460,7 +488,7 @@ Comments:
|
|||
View: 'Guarda'
|
||||
Hide: 'Nascondi'
|
||||
Replies: 'Risposte'
|
||||
Reply: 'Rispondi'
|
||||
Reply: 'Risposta'
|
||||
There are no comments available for this video: 'Non ci sono commenti disponibili
|
||||
per questo video'
|
||||
Load More Comments: 'Carica più commenti'
|
||||
|
@ -541,3 +569,31 @@ Profile:
|
|||
This video is unavailable because of missing formats. This can happen due to country unavailability.: Questo
|
||||
video non è disponibile a causa di alcuni formati mancanti. Questo può succedere
|
||||
in caso di mancata disponibilità del paese.
|
||||
Tooltips:
|
||||
Player Settings:
|
||||
Force Local Backend for Legacy Formats: Funziona solo quando Invidious è l'API
|
||||
predefinita. Quando abilitato mostra i formati legacy recuperati dall'API Locale
|
||||
al posto di quelli di Invidious. Consigliato quando i video di Invidious non
|
||||
vengono riprodotti a causa di restrizioni geografiche
|
||||
Default Video Format: Imposta i formati usati quando un video viene riprodotto.
|
||||
I formati dash possono riprodurre qualità maggiori. I formati legacy sono limitati
|
||||
ad un massimo di 720p ma usano meno banda. I formati audio risproducono solo
|
||||
l'audio (non l'avrei mai detto XD)
|
||||
Proxy Videos Through Invidious: Mi connetterò a Invidious per mostrare i video
|
||||
invece di connettermi direttamente a YouTube. Sostituisco le preferenze API
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: Quando abilitato, FreeTube userà gli RSS invece del metodo
|
||||
standard per leggere la tua lista istrizioni. Gli RSS sono più veloci e impediscono
|
||||
il blocco dell'IP ma non mostrano informazioni come la durata video o lo stato
|
||||
delle live
|
||||
General Settings:
|
||||
Invidious Instance: L'istanza Invidious che FreeTube usa per le chiamate API.
|
||||
Pulisci l'istanza attuale per vedere una lista di istanze pubbliche da cui scegliere
|
||||
Thumbnail Preference: Tutte le copertine attraverso FreeTube verranno sostituite
|
||||
da un frame del video al posto della copertina originale
|
||||
Fallback to Non-Preferred Backend on Failure: Quanto le tue API preferite hanno
|
||||
un problema, FreeTube userà automaticamente le API secondarie come ripiego quando
|
||||
abilitate
|
||||
Preferred API Backend: Scegli il back-end che FreeTube utilizza per ottenere i
|
||||
dati. L' API locale è l'estrattore dell'app. Le API Invidious richiedono un
|
||||
server Invidious dove connettersi
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
FreeTube: 'FreeTube'
|
||||
# Currently on Subscriptions, Playlists, and History
|
||||
'This part of the app is not ready yet. Come back later when progress has been made.': >-
|
||||
アプリのこの部分は未完成です。完成後にまた開いてください。
|
||||
アプリのこの部分は未完成です。完成後に操作してください。
|
||||
|
||||
# Webkit Menu Bar
|
||||
File: 'ファイル'
|
||||
|
@ -16,11 +16,11 @@ Delete: '削除'
|
|||
Select all: 'すべて選択'
|
||||
Reload: '再読み込み'
|
||||
Force Reload: '強制的に再読み込み'
|
||||
Toggle Developer Tools: '開発者ツールの切替'
|
||||
Toggle Developer Tools: '開発者ツールに変更'
|
||||
Actual size: '実際のサイズ'
|
||||
Zoom in: '拡大'
|
||||
Zoom out: '縮小'
|
||||
Toggle fullscreen: '全画面の切替'
|
||||
Toggle fullscreen: '全画面に変更'
|
||||
Window: 'ウィンドウ'
|
||||
Minimize: '最小化'
|
||||
Close: '閉じる'
|
||||
|
@ -59,8 +59,8 @@ Search Filters:
|
|||
Long (> 20 minutes): '長編(20 分以上)'
|
||||
# On Search Page
|
||||
Search Results: '検索結果'
|
||||
Fetching results. Please wait: '結果を取得中。お待ちください'
|
||||
Fetch more results: '結果の追加取得'
|
||||
Fetching results. Please wait: '結果の取得中。お待ちください'
|
||||
Fetch more results: 'もっと見る'
|
||||
# Sidebar
|
||||
Subscriptions:
|
||||
# On Subscriptions Page
|
||||
|
@ -69,10 +69,10 @@ Subscriptions:
|
|||
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'まだチャンネル登録がありません。登録するとここに表示されます。'
|
||||
'Getting Subscriptions. Please wait.': '登録を取得中。お待ちください...'
|
||||
Refresh Subscriptions: 登録から更新
|
||||
Getting Subscriptions. Please wait.: 登録から取得中...お待ちください。
|
||||
Getting Subscriptions. Please wait.: youtube から登録情報の取得中。しばらくお待ちください。
|
||||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: このプロファイルはチャンネル登録が多くなっています。接続制限の回避のため強制的な
|
||||
RSS にします
|
||||
Load More Videos: さらに動画を読み込む
|
||||
Load More Videos: もっと見る
|
||||
Trending: '急上昇'
|
||||
Most Popular: '最も人気'
|
||||
Playlists: '再生リスト'
|
||||
|
@ -88,12 +88,12 @@ Settings:
|
|||
Settings: '設定'
|
||||
General Settings:
|
||||
General Settings: '一般設定'
|
||||
Fallback to Non-Preferred Backend on Failure: '失敗時に非優先の代替バックエンドに接続'
|
||||
Fallback to Non-Preferred Backend on Failure: '問題の発生時には選択していない方法に切り替えて接続'
|
||||
Enable Search Suggestions: '検索候補の有効化'
|
||||
Default Landing Page: '起動時の表示'
|
||||
Locale Preference: '言語設定'
|
||||
Preferred API Backend:
|
||||
Preferred API Backend: '優先する API バックエンド'
|
||||
Preferred API Backend: '取得方法の選択'
|
||||
Local API: '内部 API'
|
||||
Invidious API: 'Invidious API'
|
||||
Video View Type:
|
||||
|
@ -145,9 +145,9 @@ Settings:
|
|||
Disable Smooth Scrolling: 滑らかなスクロールの無効化
|
||||
Player Settings:
|
||||
Player Settings: 'プレイヤーの設定'
|
||||
Force Local Backend for Legacy Formats: '旧形式は内部バックエンドを強制的に使用'
|
||||
Force Local Backend for Legacy Formats: '旧形式は内部 API の強制使用'
|
||||
Remember History: '履歴を記憶'
|
||||
Play Next Video: '次の動画を再生'
|
||||
Play Next Video: '次の動画の自動再生'
|
||||
Turn on Subtitles by Default: '最初から字幕を有効化'
|
||||
Autoplay Videos: '動画の自動再生'
|
||||
Proxy Videos Through Invidious: 'Invidious 経由で動画にプロキシを使用'
|
||||
|
@ -184,7 +184,7 @@ Settings:
|
|||
Import Subscriptions: '登録のインポート'
|
||||
Export Subscriptions: '登録のエクスポート'
|
||||
How do I import my subscriptions?: 'どうやってインポートするのですか?'
|
||||
Fetch Feeds from RSS: RSS からフィードを取得
|
||||
Fetch Feeds from RSS: RSS から概要の取得
|
||||
Advanced Settings:
|
||||
Advanced Settings: '高度な設定'
|
||||
Enable Debug Mode (Prints data to the console): 'デバッグモードの有効化 (コンソールにデータを出力)'
|
||||
|
@ -282,7 +282,7 @@ About:
|
|||
Check out our Firefox extension!: 'Firefox 拡張機能をご覧ください!'
|
||||
|
||||
'If you enjoy using FreeTube, consider donating via Liberapay or through our Bitcoin address.': 'FreeTube
|
||||
を気に入っていただけていれば、ぜひ Liberapay かビットコインで自由な寄付をお願いします。'
|
||||
をお楽しみの方は、Liberapay か Bitcoin アドレスを通じて寄付をお願いします。'
|
||||
|
||||
#~ 'BTC: 1Lih7Ho5gnxb1CwPD4o59ss78pwo2T91eS'
|
||||
|
||||
|
@ -440,7 +440,7 @@ Mini Player: 'ミニプレーヤー'
|
|||
Comments:
|
||||
Comments: 'コメント'
|
||||
Click to View Comments: 'クリックしてコメント表示'
|
||||
Getting comment replies, please wait: 'コメント返信を取得中。お待ちください'
|
||||
Getting comment replies, please wait: 'コメント返信の取得中。お待ちください'
|
||||
Show Comments: 'コメントの表示'
|
||||
Hide Comments: 'コメントを非表示'
|
||||
# Context: View 10 Replies, View 1 Reply
|
||||
|
@ -449,7 +449,7 @@ Comments:
|
|||
Replies: '返信'
|
||||
Reply: '返信'
|
||||
There are no comments available for this video: 'この動画へのコメントはありません'
|
||||
Load More Comments: 'さらにコメントを読み込む'
|
||||
Load More Comments: 'もっと見る'
|
||||
There are no more comments for this video: この動画へのコメントはまだありません
|
||||
Top comments: 評価順
|
||||
Newest first: 新しい順
|
||||
|
@ -516,3 +516,20 @@ A new blog is now available, $. Click to view more: '新着のブログ記事が
|
|||
Download From Site: サイトからダウンロード
|
||||
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:
|
||||
Fetch Feeds from RSS: 有効にすると、FreeTube は登録情報の取得を通常の方法ではなく RSS から取得します。RSS は高速であり、
|
||||
IP 制限を回避しますが、動画の公開期間や詳細情報などは提供されていません
|
||||
Player Settings:
|
||||
Default Video Format: 動画を再生するファイル形式を設定します。DASH 形式の方が品質が高くなります。旧形式では最大 720p に制限されますが、使用する帯域幅は狭くなります。音声形式とは音声のみの配信です
|
||||
Force Local Backend for Legacy Formats: Invidious API の選択時にのみ機能します。有効にすると、Invidious
|
||||
サーバーから取得したファイル形式の代わりに、内部 API で取得した旧形式を使用します。Invidious サーバーから取得した情報が、再生が許可されていない国の場合に便利です
|
||||
Proxy Videos Through Invidious: YouTube に直接接続する代わりに、Invidious に接続して動画を取得します。API
|
||||
設定の書き換え
|
||||
General Settings:
|
||||
Invidious Instance: FreeTube が Invidious サーバーの API に接続するための Invidious インスタンス。選択する公開インスタンスの一覧を表示するために、現在のインスタンスを破棄する
|
||||
Preferred API Backend: FreeTube が youtube からデータを取得する方法を選択します。内部 API は搭載している取得プログラムです。Invidious
|
||||
API は、Invidious サーバーに接続して取得します
|
||||
Thumbnail Preference: FreeTube のすべてのサムネイルを、元のサムネイルの代わりに動画の 1 コマに置き換える
|
||||
Fallback to Non-Preferred Backend on Failure: 選択した API に問題があれば、FreeTube は自動的に選択していない
|
||||
API に切り替えて実行します
|
||||
|
|
|
@ -270,14 +270,14 @@ Settings:
|
|||
Data Settings: Ustawienia danych
|
||||
One or more subscriptions were unable to be imported: Nie można było zaimportować
|
||||
conajmniej jednej subskrypcji
|
||||
Check for Legacy Subscriptions: Sprawdź subskrypcje po starej wersji
|
||||
Check for Legacy Subscriptions: Sprawdź subskrypcje ze starej wersji
|
||||
Distraction Free Settings:
|
||||
Distraction Free Settings: Ustawienia skupienia uwagi
|
||||
Hide Live Chat: Schowaj czat na żywo
|
||||
Hide Popular Videos: Schowaj filmy „Popularne”
|
||||
Hide Trending Videos: Schowaj filmy „Na czasie”
|
||||
Hide Recommended Videos: Schowaj polecane filmy
|
||||
Hide Comment Likes: Schowaj łapki w górę komentarzy
|
||||
Hide Comment Likes: Schowaj polubienia komentarzy
|
||||
Hide Channel Subscribers: Schowaj subskrybentów kanału
|
||||
Hide Video Likes And Dislikes: Schowaj łapki w górę i w dół
|
||||
Hide Video Views: Schowaj obejrzenia filmu
|
||||
|
|
|
@ -566,3 +566,33 @@ Version $ is now available! Click for more details: Версия $ уже до
|
|||
This video is unavailable because of missing formats. This can happen due to country unavailability.: Это
|
||||
видео недоступно из-за отсутствия форматов. Это может произойти из-за недоступности
|
||||
страны.
|
||||
Tooltips:
|
||||
General Settings:
|
||||
Thumbnail Preference: Все эскизы во FreeTube будут заменены кадром видео вместо
|
||||
эскиза по умолчанию
|
||||
Invidious Instance: Экземпляр Invidious, к которому FreeTube будет подключаться
|
||||
для вызовов API. Очистите текущий экземпляр, чтобы увидеть список общедоступных
|
||||
экземпляров на выбор
|
||||
Fallback to Non-Preferred Backend on Failure: Когда у вашего предпочтительного
|
||||
API есть проблема, FreeTube автоматически попытается использовать ваш нежелательный
|
||||
API в качестве резервного метода, если он включен
|
||||
Preferred API Backend: Выберите серверную часть, которую FreeTube использует для
|
||||
получения данных. Локальный API - это встроенный экстрактор. Invidious API требует,
|
||||
чтобы сервер Invidious подключался к
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: Если этот параметр включен, FreeTube будет использовать
|
||||
RSS вместо метода по умолчанию для получения вашего канала подписки. RSS работает
|
||||
быстрее и предотвращает блокировку IP, но не предоставляет определенную информацию,
|
||||
такую как продолжительность видео или статус в реальном времени
|
||||
Player Settings:
|
||||
Default Video Format: Установите форматы, используемые при воспроизведении видео.
|
||||
Формат dash может воспроизводить более высокое качество. Устаревшие форматы
|
||||
ограничены максимумом 720p, но используют меньшую полосу пропускания. Аудио
|
||||
форматы - это только аудио потоки
|
||||
Proxy Videos Through Invidious: Будет подключаться к Invidious для показа видео
|
||||
вместо прямого подключения к YouTube. Переопределяет предпочтение API
|
||||
Force Local Backend for Legacy Formats: Работает, только если по умолчанию используется
|
||||
Invidious API. Если этот параметр включен, локальный API будет работать и использовать
|
||||
устаревшие форматы, возвращаемые им, вместо форматов, возвращаемых Invidious.
|
||||
Помогает, когда видео, возвращенные Invidious, не воспроизводятся из-за ограничений
|
||||
страны
|
||||
|
|
|
@ -83,6 +83,7 @@ Subscriptions:
|
|||
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Ta
|
||||
profil ima veliko količino naročnin.·· ·· Da bi se izognili omejitvi hitrosti,
|
||||
bo uporabljen RSS
|
||||
Load More Videos: Naloži več videoposnetkov
|
||||
Trending: 'Priljubljeno'
|
||||
Most Popular: 'Najbolj popularno'
|
||||
Playlists: 'Seznami predvajanja'
|
||||
|
@ -152,6 +153,9 @@ Settings:
|
|||
Deep Orange: 'Temno oranžna'
|
||||
Secondary Color Theme: 'Sekundarna barvna tema'
|
||||
#* Main Color Theme
|
||||
UI Scale: Merilo uporabniškega vmesnika
|
||||
Disable Smooth Scrolling: Izklopi gladko drsenje
|
||||
Expand Side Bar by Default: Prevzeto razširi stransko vrstico
|
||||
Player Settings:
|
||||
Player Settings: 'Nastavitve predvajalnika'
|
||||
Force Local Backend for Legacy Formats: 'Vedno uporabi lokalni zaledni sistem
|
||||
|
@ -239,6 +243,7 @@ Settings:
|
|||
Unable to write file: 'Datoteke ni možno prebrati'
|
||||
Unknown data key: 'Neznan podatkovni ključ'
|
||||
How do I import my subscriptions?: 'Kako lahko uvozim moje naročnine?'
|
||||
Check for Legacy Subscriptions: Poišči zapuščinske naročnine
|
||||
Advanced Settings:
|
||||
Advanced Settings: 'Napredne nastavitve'
|
||||
Enable Debug Mode (Prints data to the console): 'Vklopi razhroščevalni način (podatke
|
||||
|
@ -265,6 +270,19 @@ Settings:
|
|||
#& Yes
|
||||
#& No
|
||||
|
||||
Distraction Free Settings:
|
||||
Hide Live Chat: Skrij klepet v živo
|
||||
Hide Popular Videos: Skrij popularne videoposnetke
|
||||
Hide Trending Videos: Skrij trendne videoposnetke
|
||||
Hide Recommended Videos: Skrij priporočene videoposnetke
|
||||
Hide Comment Likes: Skrij všečke komentarjev
|
||||
Hide Video Likes And Dislikes: Skrij všečke in nevšečke videoposnetkov
|
||||
Hide Channel Subscribers: Skrij število naročnikov
|
||||
Hide Video Views: Skrij število ogledov
|
||||
Distraction Free Settings: Brezmotenjske nastavitve
|
||||
The app needs to restart for changes to take effect. Restart and apply change?: Program
|
||||
se mora ponovno zagnati, preden bodo spremembe uveljavljene. Ga želite ponovno
|
||||
zagnati zdaj?
|
||||
About:
|
||||
#On About page
|
||||
About: 'O programu'
|
||||
|
@ -447,6 +465,9 @@ Video:
|
|||
High: Visoka
|
||||
Medium: Srednja
|
||||
Low: Nizka
|
||||
audio only: Samo avdio
|
||||
video only: Samo video
|
||||
Download Video: Prenesi videoposnetek
|
||||
Videos:
|
||||
#& Sort By
|
||||
Sort By:
|
||||
|
@ -512,6 +533,7 @@ Comments:
|
|||
Newest first: Najnovejši komentarji
|
||||
Top comments: Najbolje ocenjeni komentarji
|
||||
Sort by: Razvrstitev
|
||||
No more comments available: Ni več komentarjev
|
||||
Up Next: 'Naslednje na sporedu'
|
||||
|
||||
# Toast Messages
|
||||
|
|
|
@ -98,13 +98,13 @@ Settings:
|
|||
General Settings: 'Genel Ayarlar'
|
||||
Check for Updates: 'Güncellemeleri Denetle'
|
||||
Check for Latest Blog Posts: 'En Yeni Blog Gönderilerini Denetle'
|
||||
Fallback to Non-Preferred Backend on Failure: 'Hata Zamanında Tercih Edilmeyen
|
||||
Backend''e Geç'
|
||||
Fallback to Non-Preferred Backend on Failure: 'Hata Durumunda Tercih Edilmeyen
|
||||
Arka Uca Geç'
|
||||
Enable Search Suggestions: 'Arama Önerilerini Etkinleştir'
|
||||
Default Landing Page: 'Varsayılan Açılış Ekranı'
|
||||
Locale Preference: 'Tercih Edilen Yerel Ayar'
|
||||
Preferred API Backend:
|
||||
Preferred API Backend: 'Tercih Edilen API Backend'
|
||||
Preferred API Backend: 'Tercih Edilen API Arka Ucu'
|
||||
Local API: 'Yerel API'
|
||||
Invidious API: 'Invidious API'
|
||||
Video View Type:
|
||||
|
@ -154,7 +154,7 @@ Settings:
|
|||
Disable Smooth Scrolling: Düzgün Kaydırmayı Devre Dışı Bırak
|
||||
Player Settings:
|
||||
Player Settings: 'Oynatıcı Ayarları'
|
||||
Force Local Backend for Legacy Formats: 'Legacy Biçimler için Yerel Backend Kullanmaya
|
||||
Force Local Backend for Legacy Formats: 'Eski Biçimler için Yerel Arka Ucu Kullanmaya
|
||||
Zorla'
|
||||
Play Next Video: 'Sonraki Videoyu Oynat'
|
||||
Turn on Subtitles by Default: 'Altyazıyı Varsayılan Olarak Aç'
|
||||
|
@ -167,7 +167,7 @@ Settings:
|
|||
Default Video Format:
|
||||
Default Video Format: 'Varsayılan Video Biçimi'
|
||||
Dash Formats: 'Dash Biçimi'
|
||||
Legacy Formats: 'Legacy Biçimi'
|
||||
Legacy Formats: 'Eski Biçimler'
|
||||
Audio Formats: 'Ses Biçimi'
|
||||
Default Quality:
|
||||
Default Quality: 'Varsayılan Kalite'
|
||||
|
@ -199,7 +199,7 @@ Settings:
|
|||
Subscription Settings:
|
||||
Subscription Settings: 'Abonelik Ayarları'
|
||||
Hide Videos on Watch: 'İzlenmiş Videoları Gizle'
|
||||
Fetch Feeds from RSS: 'Akışı RSS''den Getir'
|
||||
Fetch Feeds from RSS: 'Akışları RSS''den Getir'
|
||||
Manage Subscriptions: 'Abonelikleri Yönet'
|
||||
Data Settings:
|
||||
Data Settings: 'Veri Ayarları'
|
||||
|
@ -488,7 +488,7 @@ Toggle Theatre Mode: 'Tiyatro Modunu Aç/Kapat'
|
|||
Change Format:
|
||||
Change Video Formats: 'Video Biçimini Değiştir'
|
||||
Use Dash Formats: 'Dash Biçimi Kullan'
|
||||
Use Legacy Formats: 'Legacy Biçimi Kullan'
|
||||
Use Legacy Formats: 'Eski Biçimleri Kullan'
|
||||
Use Audio Formats: 'Ses Biçimi Kullan'
|
||||
Dash formats are not available for this video: 'Dash biçimi bu video için kullanılabilir
|
||||
değil'
|
||||
|
@ -553,3 +553,33 @@ No: 'Hayır'
|
|||
This video is unavailable because of missing formats. This can happen due to country unavailability.: Eksik
|
||||
biçimler nedeniyle bu video kullanılamıyor. Bu durum, ülke kullanılamazlığı nedeniyle
|
||||
gerçekleşebilir.
|
||||
Tooltips:
|
||||
Subscription Settings:
|
||||
Fetch Feeds from RSS: Etkinleştirildiğinde, FreeTube abonelik akışınızı almak
|
||||
için öntanımlı yöntem yerine RSS'yi kullanır. RSS daha hızlıdır ve IP engellemesinin
|
||||
önüne geçer, ancak video süresi veya canlı yayın durumu gibi belirli bilgileri
|
||||
sağlamaz
|
||||
Player Settings:
|
||||
Default Video Format: Bir video oynatılırken kullanılan biçimleri ayarlayın. Dash
|
||||
biçimleri daha yüksek kalitelerde oynatabilir. Eski biçimler en fazla 720p ile
|
||||
sınırlıdır ancak daha az bant genişliği kullanır. Ses biçimleri yalnızca ses
|
||||
akışlarıdır
|
||||
Proxy Videos Through Invidious: Videoları sunmak için YouTube ile doğrudan bağlantı
|
||||
kurmak yerine Invidious'a bağlanılacak. API tercihini geçersiz kılar
|
||||
Force Local Backend for Legacy Formats: Yalnızca Invidious API'si öntanımlı seçeneğiniz
|
||||
olduğunda çalışır. Etkinleştirildiğinde, yerel API çalışacak ve Invidious tarafından
|
||||
döndürülen biçimler yerine onun döndürdüğü eski biçimler kullanılacaktır. Invidious
|
||||
tarafından döndürülen videolar ülke kısıtlamaları nedeniyle oynatılmadığında
|
||||
yardımcı olur
|
||||
General Settings:
|
||||
Invidious Instance: FreeTube'un API çağrıları için bağlanacağı Invidious sunucusu.
|
||||
Aralarından seçim yapabileceğiniz herkese açık sunucuların bir listesini görmek
|
||||
için geçerli sunucuyu temizleyin
|
||||
Thumbnail Preference: FreeTube'daki tüm küçük resimler, öntanımlı küçük resim
|
||||
yerine videonun bir karesiyle değiştirilecektir
|
||||
Fallback to Non-Preferred Backend on Failure: Etkinleştirildiğinde, tercih ettiğiniz
|
||||
API'de bir sorun olduğunda FreeTube otomatik olarak tercih edilmeyen API'nizi
|
||||
yedek yöntem olarak kullanmaya çalışır
|
||||
Preferred API Backend: FreeTube'un veri almak için kullandığı arka ucu seçin.
|
||||
Yerel API yerleşik bir çıkarıcıdır. Invidious API'si, bağlanmak için bir Invidious
|
||||
sunucusu gerektirir
|
||||
|
|
|
@ -512,3 +512,19 @@ A new blog is now available, $. Click to view more: 已有新的部落格文章
|
|||
Download From Site: 從網站下載
|
||||
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:
|
||||
Fetch Feeds from RSS: 啟用後,FreeTube 將會使用 RSS 而非預設的方式來取得您的訂閱 feed。RSS 較快而且可避免 IP
|
||||
封鎖,但不提供某些訊息,如影片長度與即時狀態
|
||||
Player Settings:
|
||||
Default Video Format: 設定要用於影片播放的格式。Dash 格式有較高的品質。舊版格式會限制在 720p 但頻寬需求較低。音訊格式為僅有音訊的串流
|
||||
Proxy Videos Through Invidious: 將會連線到 Invidious 而非直接連線到 YouTube 來提供影片。覆寫 API 偏好設定
|
||||
Force Local Backend for Legacy Formats: 僅當 Invidious API 是您的預設 API 時才有效。啟用後,本地的
|
||||
API 將會執行並使用由其回傳的的舊格式,而非 Invidious 回傳的格式。對因為國家地區限制而無法播放 Invidious 回傳的影片時很有用
|
||||
General Settings:
|
||||
Invidious Instance: FreeTube 連線到的 Invidious 站台將會提供 API 呼叫。清除目前的站台以檢視可供選擇的公開站台清單
|
||||
Thumbnail Preference: FreeTube 中所有的畫面都會被替換為影片畫面而非預設的縮圖
|
||||
Fallback to Non-Preferred Backend on Failure: 當您偏好的 API 有問題的時候,FreeTube 將會自動嘗試使用您非偏好的
|
||||
API 作為汰退方案
|
||||
Preferred API Backend: 選擇 FreeTube 要用於取得資料的後端。本地的 API 是內建的擷取器。Invidious API 需要
|
||||
Invidious 伺服器才能連線
|
||||
|
|
Loading…
Reference in New Issue