Merge branch 'v0.15.0-RC'

This commit is contained in:
PrestonN 2021-10-18 12:57:40 -04:00
commit 208c221fe5
121 changed files with 12430 additions and 16300 deletions

View File

@ -3,7 +3,7 @@ Title
---
**Important note**
Please note that only PrestoN is able to merge Pull Requests into master.
We may remove your pull request if you do not use this provided PR template correctly.
**Pull Request Type**
Please select what type of pull request this is:
@ -11,7 +11,7 @@ Please select what type of pull request this is:
- [ ] Feature Implementation
**Related issue**
Please link the issue your pull request is referring to.
Please link the issue your pull request is referring to. If this pull request fully resolves the relevant issue, put "closes" before the issue number. Example: "closes #123456".
**Description**
Please write a clear and concise description of what the pull request does.

View File

@ -9,7 +9,7 @@ jobs:
steps:
- name: Auto Merge PR
if: contains(${{ github.event.pull_request.base.ref }}, 'development')
if: contains(${{ github.event.pull_request.base.ref }}, 'development') || contains(${{ github.event.pull_request.base.ref }}, 'RC')
run: |
echo ${{ secrets.PUSH_TOKEN }} >> auth.txt
gh auth login --with-token < auth.txt

View File

@ -5,7 +5,7 @@ name: Build
on:
push:
branches: [ master, development ]
branches: [ master, development, '**-RC' ]
jobs:
build:
@ -31,10 +31,11 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
cache: "yarn"
- run: npm run ci
- run: npm run lint
- name: Get Version Number
uses: nyaayaya/package-version@v1
@ -47,13 +48,17 @@ jobs:
uses: actions/github-script@v3
env:
IS_DEV: ${{ contains(github.ref, 'development') }}
IS_RC: ${{ contains(github.ref, 'RC') }}
VERSION_NUMBER_NIGHTLY: ${{ env.PACKAGE_VERSION }}-nightly-${{ github.run_number }}
VERSION_NUMBER_RC: ${{ env.PACKAGE_VERSION }}-RC-${{ github.run_number }}
VERSION_NUMBER: ${{ env.PACKAGE_VERSION }}
with:
result-encoding: string
script: |
if (${{ env.IS_DEV }}) {
return "${{ env.VERSION_NUMBER_NIGHTLY }}"
} else if (${{ env.IS_RC }}) {
return "${{ env.VERSION_NUMBER_RC }}"
} else {
return "${{env.VERSION_NUMBER }}"
}

View File

@ -19,8 +19,9 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Use Node.js 14.x
uses: actions/setup-node@v1
uses: actions/setup-node@v2
with:
node-version: 14.x
- run: npm ci
cache: "yarn"
- run: npm run ci
- run: npm run lint

View File

@ -32,10 +32,11 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
cache: "yarn"
- run: npm run ci
- run: npm run lint
- name: Get Version Number

View File

@ -1,5 +0,0 @@
whitelist:
blacklist:
- wip
- do-not-merge
method: squash

View File

@ -25,6 +25,8 @@ FreeTube uses a built in extractor to grab and serve data / videos. The [Invidi
longer track you using cookies or JavaScript. Your subscriptions and history are stored locally on your computer and never sent out. Using a VPN or Tor is highly recommended
to hide your IP while using FreeTube.
Go to [FreeTube's Documentation](https://docs.freetubeapp.io/) if you'd like to know more about how to operate FreeTube and its features.
## Screenshots
<img src="https://i.imgur.com/zFgZUUV.png" width=300> <img src="https://i.imgur.com/9evYHgN.png" width=300> <img src="https://i.imgur.com/yT2UzPa.png" width=300> <img src="https://i.imgur.com/47zIEt4.png" width=300> <img src="https://i.imgur.com/hFB2fKC.png" width=300>
@ -77,18 +79,20 @@ follow the [Contribution
Guidelines](https://github.com/FreeTubeApp/FreeTube/blob/development/CONTRIBUTING.md)
before sending your pull request.
Thank you very much to the [People and Projects](https://github.com/FreeTubeApp/FreeTube/wiki/Credits) that make FreeTube possible!
Thank you very much to the [People and Projects](https://docs.freetubeapp.io/credits/) that make FreeTube possible!
## Localization
<a href="https://hosted.weblate.org/engage/free-tube/">
<img src="https://hosted.weblate.org/widgets/free-tube/-/translations/287x66-grey.png" alt="Translation status" />
</a>
We are actively looking for translations! We use Weblate to make it easy for translators to get involved. Click on the badge above to learn how to get involved.
We are actively looking for translations! We use [Weblate](https://hosted.weblate.org/engage/free-tube/) to make it easy for translators to get involved. Click on the badge above to learn how to get involved.
For the Linux Flatpak, the desktop entry comment string can be translated at our [Flatpak repository](https://github.com/flathub/io.freetubeapp.FreeTube/blob/master/io.freetubeapp.FreeTube.desktop).
## Contact
If you ever have any questions, feel free to make an issue here on GitHub. Alternatively, you can email me at FreeTubeApp@protonmail.com or you can join our [Matrix Community](https://matrix.to/#/+freetube:matrix.org). Don't forget to check out the [rules](https://github.com/FreeTubeApp/FreeTube/wiki/Matrix-Server-Info-&-Rules) before joining.
If you ever have any questions, feel free to make an issue here on GitHub. Alternatively, you can email me at FreeTubeApp@protonmail.com or you can join our [Matrix Community](https://matrix.to/#/+freetube:matrix.org). Don't forget to check out the [rules](https://docs.freetubeapp.io/community/matrix/) before joining.
You can also stay up to date by reading the [FreeTube Blog](https://write.as/freetube/). [View the welcome blog](https://write.as/freetube/welcome-to-freetube-blogs).

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@ -116,7 +116,12 @@ function startRenderer(callback) {
})
const server = new WebpackDevServer(compiler, {
static: path.join(process.cwd(), 'static'),
static: {
directory: path.join(process.cwd(), 'static'),
watch: {
ignored: /(dashFiles|storyboards)\/*/
}
},
port
})

View File

@ -149,7 +149,6 @@ const config = {
if (isDevMode) {
// any dev only config
config.plugins.push(
new webpack.HotModuleReplacementPlugin(),
new webpack.DefinePlugin({
__static: `"${path.join(__dirname, '../static').replace(/\\/g, '\\\\')}"`,
})

View File

@ -147,7 +147,6 @@ const config = {
if (isDevMode) {
// any dev only config
config.plugins.push(
new webpack.HotModuleReplacementPlugin(),
new webpack.DefinePlugin({
__static: `"${path.join(__dirname, '../static').replace(/\\/g, '\\\\')}"`,
})

View File

@ -62,7 +62,6 @@ const config = {
*/
if (isDevMode) {
// any dev only config
config.plugins.push(new webpack.HotModuleReplacementPlugin())
} else {
config.plugins.push(
new webpack.LoaderOptionsPlugin({

15549
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
"name": "freetube",
"productName": "FreeTube",
"description": "A private YouTube client",
"version": "0.14.0",
"version": "0.15.0",
"license": "AGPL-3.0-or-later",
"main": "./dist/main.js",
"private": true,
@ -46,14 +46,16 @@
"rebuild:node": "npm rebuild",
"release": "run-s test build",
"test": "run-s rebuild:node pack:workers jest",
"test:watch": "run-s rebuild:node pack:workers jest:watch"
"test:watch": "run-s rebuild:node pack:workers jest:watch",
"ci": "yarn install --frozen-lockfile"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.36",
"@fortawesome/free-brands-svg-icons": "^5.15.4",
"@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/vue-fontawesome": "^2.0.2",
"@freetube/youtube-chat": "^1.1.1",
"@freetube/youtube-chat": "^1.1.2",
"@freetube/yt-comment-scraper": "^6.0.0",
"@silvermine/videojs-quality-selector": "^1.2.5",
"autolinker": "^3.14.3",
@ -69,7 +71,7 @@
"lodash.uniqwith": "^4.5.0",
"marked": "^3.0.2",
"material-design-icons": "^3.0.1",
"nedb-promises": "^5.0.0",
"nedb-promises": "^5.0.1",
"node-forge": "^0.10.0",
"opml-to-json": "^1.0.1",
"rss-parser": "^3.12.0",
@ -107,7 +109,7 @@
"babel-loader": "^8.2.2",
"copy-webpack-plugin": "^9.0.1",
"css-loader": "5.2.6",
"electron": "^14.0.0",
"electron": "^13.5.1",
"electron-builder": "^22.11.7",
"electron-builder-squirrel-windows": "^22.13.1",
"electron-debug": "^3.2.0",

View File

@ -16,7 +16,7 @@
<% } %>
</head>
<body class="light mainRed secBlue">
<body class="dark mainRed secBlue">
<div id="app"></div>
<!-- Set `__static` path to static files in production -->
<script>

View File

@ -181,7 +181,7 @@ function runApp() {
* Initial window options
*/
const newWindow = new BrowserWindow({
backgroundColor: '#fff',
backgroundColor: '#212121',
icon: isDev
? path.join(__dirname, '../../_icons/iconColor.png')
/* eslint-disable-next-line */

View File

@ -40,7 +40,14 @@ export default Vue.extend({
blogBannerMessage: '',
latestBlogUrl: '',
updateChangelog: '',
changeLogTitle: ''
changeLogTitle: '',
lastExternalLinkToBeOpened: '',
showExternalLinkOpeningPrompt: false,
externalLinkOpeningPromptValues: [
'yes',
'no'
]
}
},
computed: {
@ -96,12 +103,29 @@ export default Vue.extend({
},
defaultInvidiousInstance: function () {
return this.$store.getters.getDefaultInvidiousInstance
},
externalLinkOpeningPromptNames: function () {
return [
this.$t('Yes'),
this.$t('No')
]
},
externalLinkHandling: function () {
return this.$store.getters.getExternalLinkHandling
}
},
watch: {
windowTitle: 'setWindowTitle'
windowTitle: 'setWindowTitle',
$route () {
// react to route changes...
// Hide top nav filter panel on page change
this.$refs.topNav.hideFilters()
}
},
created () {
this.checkThemeSettings()
this.setWindowTitle()
},
mounted: function () {
@ -114,7 +138,6 @@ export default Vue.extend({
this.grabAllProfiles(this.$t('Profile.All Channels')).then(async () => {
this.grabHistory()
this.grabAllPlaylists()
this.checkThemeSettings()
if (this.usingElectron) {
console.log('User is using Electron')
@ -133,6 +156,10 @@ export default Vue.extend({
this.checkForNewBlogPosts()
}, 500)
})
this.$router.afterEach((to, from) => {
this.$refs.topNav.navigateHistory()
})
})
},
methods: {
@ -142,7 +169,7 @@ export default Vue.extend({
let secColor = localStorage.getItem('secColor')
if (baseTheme === null) {
baseTheme = 'light'
baseTheme = 'dark'
}
if (mainColor === null) {
@ -273,10 +300,10 @@ export default Vue.extend({
if (event.altKey) {
switch (event.code) {
case 'ArrowRight':
window.history.forward()
this.$refs.topNav.historyForward()
break
case 'ArrowLeft':
window.history.back()
this.$refs.topNav.historyBack()
break
}
}
@ -300,8 +327,18 @@ export default Vue.extend({
if (isYoutubeLink) {
this.handleYoutubeLink(el.href)
} else if (this.externalLinkHandling === 'doNothing') {
// Let user know opening external link is disabled via setting
this.showToast({
message: this.$t('External link opening has been disabled in the general settings')
})
} else if (this.externalLinkHandling === 'openLinkAfterPrompt') {
// Storing the URL is necessary as
// there is no other way to pass the URL to click callback
this.lastExternalLinkToBeOpened = el.href
this.showExternalLinkOpeningPrompt = true
} else {
// Open links externally by default
// Open links externally
this.openExternalLink(el.href)
}
})
@ -399,6 +436,18 @@ export default Vue.extend({
ipcRenderer.send('appReady')
},
handleExternalLinkOpeningPromptAnswer: function (option) {
this.showExternalLinkOpeningPrompt = false
if (option === 'yes' && this.lastExternalLinkToBeOpened.length > 0) {
// Maybe user should be notified
// if `lastExternalLinkToBeOpened` is empty
// Open links externally
this.openExternalLink(this.lastExternalLinkToBeOpened)
}
},
...mapMutations([
'setInvidiousInstancesList'
]),

View File

@ -57,6 +57,14 @@
/>
</ft-flex-box>
</ft-prompt>
<ft-prompt
v-if="showExternalLinkOpeningPrompt"
:label="$t('Are you sure you want to open this link?')"
:extra-labels="[lastExternalLinkToBeOpened]"
:option-names="externalLinkOpeningPromptNames"
:option-values="externalLinkOpeningPromptValues"
@click="handleExternalLinkOpeningPromptAnswer"
/>
<ft-toast />
<ft-progress-bar
v-if="showProgressBar"

View File

@ -1,10 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3>
{{ $t("Settings.Data Settings.Data Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.Data Settings.Data Settings") }}
</h3>
</summary>
<hr>
<ft-flex-box>
<ft-button
:label="$t('Settings.Data Settings.Import Subscriptions')"
@ -30,7 +31,7 @@
<ft-flex-box>
<a
class="center"
href="https://github.com/FreeTubeApp/FreeTube/wiki/Importing-Your-YouTube-Subscriptions"
href="https://docs.freetubeapp.io/usage/importing-subscriptions/"
>
<p>
{{ $t("Settings.Data Settings.How do I import my subscriptions?") }}
@ -57,7 +58,7 @@
:option-values="subscriptionsPromptValues"
@click="exportSubscriptions"
/>
</ft-card>
</details>
</template>
<script src="./data-settings.js" />

View File

@ -1,12 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3
class="videoTitle"
>
{{ $t("Settings.Distraction Free Settings.Distraction Free Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.Distraction Free Settings.Distraction Free Settings") }}
</h3>
</summary>
<hr>
<div class="switchColumnGrid">
<div class="switchColumn">
<ft-toggle-switch
@ -90,7 +89,7 @@
label="Manage My Distractions"
/>
</ft-flex-box>
</ft-card>
</details>
</template>
<script src="./distraction-settings.js" />

View File

@ -1,12 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3
class="videoTitle"
>
{{ $t("Settings.External Player Settings.External Player Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.External Player Settings.External Player Settings") }}
</h3>
</summary>
<hr>
<div class="switchColumnGrid">
<div class="switchColumn">
<ft-select
@ -34,7 +33,7 @@
>
<ft-input
:placeholder="$t('Settings.External Player Settings.Custom External Player Executable')"
:show-arrow="false"
:show-action-button="false"
:show-label="true"
:value="externalPlayerExecutable"
:tooltip="$t('Tooltips.External Player Settings.Custom External Player Executable')"
@ -42,14 +41,14 @@
/>
<ft-input
:placeholder="$t('Settings.External Player Settings.Custom External Player Arguments')"
:show-arrow="false"
:show-action-button="false"
:show-label="true"
:value="externalPlayerCustomArgs"
:tooltip="$t('Tooltips.External Player Settings.Custom External Player Arguments')"
@input="updateExternalPlayerCustomArgs"
/>
</ft-flex-box>
</ft-card>
</details>
</template>
<script src="./external-player-settings.js" />

View File

@ -1,7 +1,7 @@
.ft-auto-grid
&.grid
display: grid
grid-template-columns: repeat(auto-fill, 262px)
grid-template-columns: repeat(auto-fill, minmax(262px, 1fr) )
justify-content: space-evenly
grid-gap: 8px

View File

@ -2,6 +2,53 @@
position: relative;
}
.clearInputTextButton {
position: absolute;
/* horizontal intentionally reduced to keep "I-beam pointer" visible */
padding: 10px 8px;
top: 5px;
left: 0;
cursor: pointer;
border-radius: 200px 200px 200px 200px;
color: var(--primary-text-color);
opacity: 0;
-moz-transition: background 0.2s ease-in, opacity 0.2s ease-in;
-o-transition: background 0.2s ease-in, opacity 0.2s ease-in;
transition: background 0.2s ease-in, opacity 0.2s ease-in;
}
.clearInputTextButton:hover {
background-color: var(--side-nav-hover-color);
}
.clearInputTextButton.visible {
opacity: 1;
}
.forceTextColor .clearInputTextButton:hover {
background-color: var(--primary-color-hover);
}
.clearInputTextButton:active {
background-color: var(--tertiary-text-color);
-moz-transition: background 0.2s ease-in;
-o-transition: background 0.2s ease-in;
transition: background 0.2s ease-in;
}
.search .clearInputTextButton {
top: 12px;
}
.forceTextColor .clearInputTextButton {
color: #EEEEEE;
}
.forceTextColor .clearInputTextButton:active {
background-color: var(--primary-color-active);
}
.ft-input {
box-sizing: border-box;
-webkit-box-sizing: border-box;
@ -41,12 +88,19 @@
.inputAction {
position: absolute;
padding: 10px;
padding: 10px 8px;
top: 5px;
right: 0px;
cursor: pointer;
right: 0;
border-radius: 200px 200px 200px 200px;
color: var(--primary-text-color);
/* this should look disabled by default */
opacity: 50%;
}
.inputAction.enabled {
opacity: 100%;
/* Only look respond to cursor when enabled */
cursor: pointer;
}
.search ::-webkit-calendar-picker-indicator {
@ -61,25 +115,33 @@
color: #EEEEEE;
}
.inputAction:hover {
.ft-input-component.showActionButton .ft-input {
/*
With arrow present means
the text might get under the arrow with normal padding
*/
padding-right: 2em;
}
.inputAction.enabled:hover {
background-color: var(--side-nav-hover-color);
-moz-transition: background 0.2s ease-in;
-o-transition: background 0.2s ease-in;
transition: background 0.2s ease-in;
}
.forceTextColor .inputAction:hover {
.forceTextColor .inputAction.enabled:hover {
background-color: var(--primary-color-hover);
}
.inputAction:active {
.inputAction.enabled:active {
background-color: var(--tertiary-text-color);
-moz-transition: background 0.2s ease-in;
-o-transition: background 0.2s ease-in;
transition: background 0.2s ease-in;
}
.forceTextColor .inputAction:active {
.forceTextColor .inputAction.enabled:active {
background-color: var(--primary-color-active);
}
@ -91,9 +153,8 @@
padding: 5px 0;
z-index: 10;
border-radius: 0 0 5px 5px;
border: 1px #ccc solid;
background-color: white;
color: black;
box-shadow: 0 0 10px var(--scrollbar-color-hover);
background-color: var(--search-bar-color);
}
.list li {
@ -103,6 +164,10 @@
}
.hover {
background-color: #ccc;
background-color: var(--scrollbar-color-hover);
/* color: white; */
}
.showClearTextButton .ft-input {
padding-left: 2em;
}

View File

@ -1,5 +1,6 @@
import Vue from 'vue'
import FtTooltip from '../ft-tooltip/ft-tooltip.vue'
import { mapActions } from 'vuex'
export default Vue.extend({
name: 'FtInput',
@ -15,10 +16,14 @@ export default Vue.extend({
type: String,
default: ''
},
showArrow: {
showActionButton: {
type: Boolean,
default: true
},
showClearTextButton: {
type: Boolean,
default: false
},
showLabel: {
type: Boolean,
default: false
@ -56,7 +61,12 @@ export default Vue.extend({
showOptions: false,
selectedOption: -1,
isPointerInList: false
}
},
// This button should be invisible on app start
// As the text input box should be empty
clearTextButtonExisting: false,
clearTextButtonVisible: false,
actionButtonIconName: 'search'
}
},
computed: {
@ -70,11 +80,35 @@ export default Vue.extend({
idDataList: function () {
return `${this.id}_datalist`
},
inputDataPresent: function () {
return this.inputData.length > 0
}
},
watch: {
value: function (val) {
this.inputData = val
},
inputDataPresent: function (newVal, oldVal) {
if (newVal) {
// The button needs to be visible **immediately**
// To allow user to see the transition
this.clearTextButtonExisting = true
// The transition is not rendered if this property is set right after
// It's visible
setTimeout(() => {
this.clearTextButtonVisible = true
}, 0)
} else {
// Hide the button with transition
this.clearTextButtonVisible = false
// Remove the button after the transition
// 0.2s in CSS = 200ms in JS
setTimeout(() => {
this.clearTextButtonExisting = false
}, 200)
}
}
},
mounted: function () {
@ -85,6 +119,9 @@ export default Vue.extend({
},
methods: {
handleClick: function () {
// No action if no input text
if (!this.inputDataPresent) { return }
this.searchState.showOptions = false
this.$emit('input', this.inputData)
this.$emit('click', this.inputData)
@ -94,9 +131,69 @@ export default Vue.extend({
if (this.isSearch &&
this.searchState.selectedOption !== -1 &&
this.inputData === this.dataList[this.searchState.selectedOption]) { return }
this.handleActionIconChange()
this.$emit('input', this.inputData)
},
handleClearTextClick: function () {
this.inputData = ''
this.handleActionIconChange()
this.$emit('input', this.inputData)
// Focus on input element after text is clear for better UX
const inputElement = document.getElementById(this.id)
inputElement.focus()
},
handleActionIconChange: function() {
// Only need to update icon if visible
if (!this.showActionButton) { return }
if (!this.inputDataPresent) {
// Change back to default icon if text is blank
this.actionButtonIconName = 'search'
return
}
// Update action button icon according to input
try {
this.getYoutubeUrlInfo(this.inputData).then((result) => {
let isYoutubeLink = false
switch (result.urlType) {
case 'video':
case 'playlist':
case 'search':
case 'channel':
isYoutubeLink = true
break
case 'hashtag':
// TODO: Implement a hashtag related view
// isYoutubeLink is already `false`
break
case 'invalid_url':
default: {
// isYoutubeLink is already `false`
}
}
if (isYoutubeLink) {
// Go to URL (i.e. Video/Playlist/Channel
this.actionButtonIconName = 'arrow-right'
} else {
// Search with text
this.actionButtonIconName = 'search'
}
})
} catch (ex) {
// On exception, consider text as invalid URL
this.actionButtonIconName = 'search'
// Rethrow exception
throw ex
}
},
addListener: function () {
const inputElement = document.getElementById(this.id)
@ -145,6 +242,10 @@ export default Vue.extend({
if (this.selectOnFocus) {
e.target.select()
}
}
},
...mapActions([
'getYoutubeUrlInfo'
])
}
})

View File

@ -3,7 +3,9 @@
class="ft-input-component"
:class="{
search: isSearch,
forceTextColor: forceTextColor
forceTextColor: forceTextColor,
showActionButton: showActionButton,
showClearTextButton: showClearTextButton
}"
>
<label
@ -18,6 +20,20 @@
:tooltip="tooltip"
/>
</label>
<font-awesome-icon
v-if="showClearTextButton && clearTextButtonExisting"
icon="times-circle"
class="clearInputTextButton"
:class="{
visible: clearTextButtonVisible
}"
tabindex="0"
role="button"
:title="$t('Search Bar.Clear Input')"
@click="handleClearTextClick"
@keydown.space.prevent="handleClearTextClick"
@keydown.enter.prevent="handleClearTextClick"
/>
<input
:id="id"
v-model="inputData"
@ -33,9 +49,12 @@
@keydown="e => handleKeyDown(e.keyCode)"
>
<font-awesome-icon
v-if="showArrow"
icon="arrow-right"
v-if="showActionButton"
:icon="actionButtonIconName"
class="inputAction"
:class="{
enabled: inputDataPresent
}"
@click="handleClick"
/>

View File

@ -61,7 +61,7 @@
}
.buttonOption:hover {
background-color: var(--card-bg-color);
background-color: var(--search-bar-color);
-moz-transition: background 0.2s ease-in;
-o-transition: background 0.2s ease-in;
transition: background 0.2s ease-in;

View File

@ -1,6 +1,5 @@
.grid {
min-height: 264px;
display: flex;
}
.list {

View File

@ -7,7 +7,7 @@
class="profileName"
placeholder="Profile Name"
:value="profileName"
:show-arrow="false"
:show-action-button="false"
@input="e => profileName = e"
/>
</ft-flex-box>
@ -40,7 +40,7 @@
class="profileName"
placeholder=""
:value="profileBgColor"
:show-arrow="false"
:show-action-button="false"
:disabled="true"
/>
</ft-flex-box>

View File

@ -23,7 +23,7 @@
height: 400px;
padding: 5px;
background-color: var(--card-bg-color);
box-shadow: 0 1px 2px rgba(0,0,0,.1);
box-shadow: 0 0 4px var(--scrollbar-color-hover);
}
#profileList:focus {

View File

@ -15,6 +15,10 @@ export default Vue.extend({
type: String,
default: ''
},
extraLabels: {
type: Array,
default: () => { return [] }
},
optionNames: {
type: Array,
default: () => { return [] }

View File

@ -8,6 +8,15 @@
<h2 class="center">
{{ label }}
</h2>
<p
v-for="extraLabel in extraLabels"
:key="extraLabel"
class="center"
>
<strong>
{{ extraLabel }}
</strong>
</p>
<ft-flex-box>
<ft-button
v-for="(option, index) in optionNames"

View File

@ -41,7 +41,8 @@
}
.select option {
color: #000000;
color: var(--secondary-text-color);
background-color: var(--card-bg-color);
}
/* Remove focus */

View File

@ -140,6 +140,10 @@ export default Vue.extend({
return this.$store.getters.getUsingElectron
},
currentLocale: function () {
return this.$store.getters.getCurrentLocale
},
defaultPlayback: function () {
return this.$store.getters.getDefaultPlayback
},
@ -466,7 +470,7 @@ export default Vue.extend({
},
mouseScrollVolume: function (event) {
if (event.target) {
if (event.target && !event.currentTarget.querySelector('.vjs-menu:hover')) {
event.preventDefault()
if (this.player.muted() && event.wheelDelta > 0) {
@ -1061,7 +1065,7 @@ export default Vue.extend({
this.activeAdaptiveFormats.push(adaptiveFormat)
fps = adaptiveFormat.fps
fps = adaptiveFormat.fps ? adaptiveFormat.fps : 30
qualityLabel = adaptiveFormat.qualityLabel ? adaptiveFormat.qualityLabel : quality.height + 'p'
bitrate = quality.bitrate
} else {
@ -1100,6 +1104,47 @@ export default Vue.extend({
this.determineDefaultQualityDash()
},
sortCaptions: function (captionList) {
return captionList.sort((captionA, captionB) => {
const aCode = captionA.languageCode.split('-') // ex. [en,US]
const bCode = captionB.languageCode.split('-')
const aName = (captionA.label || captionA.name.simpleText) // ex: english (auto-generated)
const bName = (captionB.label || captionB.name.simpleText)
const userLocale = this.currentLocale.split(/-|_/) // ex. [en,US]
if (aCode[0] === userLocale[0]) { // caption a has same language as user's locale
if (bCode[0] === userLocale[0]) { // caption b has same language as user's locale
if (bName.search('auto') !== -1) {
// prefer caption a: b is auto-generated captions
return -1
} else if (aName.search('auto') !== -1) {
// prefer caption b: a is auto-generated captions
return 1
} else if (aCode[1] === userLocale[1]) {
// prefer caption a: caption a has same county code as user's locale
return -1
} else if (bCode[1] === userLocale[1]) {
// prefer caption b: caption b has same county code as user's locale
return 1
} else if (aCode[1] === undefined) {
// prefer caption a: no country code is better than wrong country code
return -1
} else if (bCode[1] === undefined) {
// prefer caption b: no country code is better than wrong country code
return 1
}
} else {
// prefer caption a: b does not match user's language
return -1
}
} else if (bCode[0] === userLocale[0]) {
// prefer caption b: a does not match user's language
return 1
}
// sort alphabetically
return aName.localeCompare(bName)
})
},
transformAndInsertCaptions: async function() {
let captionList
if (this.captionHybridList[0] instanceof Promise) {
@ -1109,7 +1154,7 @@ export default Vue.extend({
captionList = this.captionHybridList
}
for (const caption of captionList) {
for (const caption of this.sortCaptions(captionList)) {
this.player.addRemoteTextTrack({
kind: 'subtitles',
src: caption.baseUrl || caption.url,
@ -1419,6 +1464,11 @@ export default Vue.extend({
// Toggle Full Window Mode
this.toggleFullWindow()
break
case 84:
// T Key
// Toggle Theatre Mode
this.toggleTheatreMode()
break
}
}
},

View File

@ -50,6 +50,11 @@ export default Vue.extend({
'start',
'middle',
'end'
],
externalLinkHandlingValues: [
'',
'openLinkAfterPrompt',
'doNothing'
]
}
},
@ -150,6 +155,18 @@ export default Vue.extend({
this.$t('Settings.General Settings.Thumbnail Preference.Middle'),
this.$t('Settings.General Settings.Thumbnail Preference.End')
]
},
externalLinkHandling: function () {
return this.$store.getters.getExternalLinkHandling
},
externalLinkHandlingNames: function () {
return [
this.$t('Settings.General Settings.External Link Handling.Open Link'),
this.$t('Settings.General Settings.External Link Handling.Ask Before Opening Link'),
this.$t('Settings.General Settings.External Link Handling.No Action')
]
}
},
mounted: function () {
@ -218,7 +235,8 @@ export default Vue.extend({
'updateListType',
'updateThumbnailPreference',
'updateForceLocalBackendForLegacy',
'updateCurrentLocale'
'updateCurrentLocale',
'updateExternalLinkHandling'
])
}
})

View File

@ -1 +1,10 @@
@use "../../sass-partials/settings"
.select
min-width: 240px
width: auto
// https://vue-loader.vuejs.org/guide/scoped-css.html#deep-selectors
.select::v-deep .select-text
min-width: 240px
width: auto

View File

@ -1,12 +1,11 @@
<template>
<ft-card
class="card"
>
<h3
class="videoTitle"
>
{{ $t("Settings.General Settings.General Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.General Settings.General Settings") }}
</h3>
</summary>
<hr>
<div class="switchColumnGrid">
<div class="switchColumn">
<ft-toggle-switch
@ -85,11 +84,19 @@
:tooltip="$t('Tooltips.General Settings.Region for Trending')"
@change="updateRegion"
/>
<ft-select
:placeholder="$t('Settings.General Settings.External Link Handling.External Link Handling')"
:value="externalLinkHandling"
:select-names="externalLinkHandlingNames"
:select-values="externalLinkHandlingValues"
:tooltip="$t('Tooltips.General Settings.External Link Handling')"
@change="updateExternalLinkHandling"
/>
</div>
<ft-flex-box class="generalSettingsFlexBox">
<ft-input
:placeholder="$t('Settings.General Settings.Current Invidious Instance')"
:show-arrow="false"
:show-action-button="false"
:show-label="true"
:value="currentInvidiousInstance"
:data-list="invidiousInstancesList"
@ -130,7 +137,7 @@
@click="handleClearDefaultInstanceClick"
/>
</ft-flex-box>
</ft-card>
</details>
</template>
<script src="./general-settings.js" />

View File

@ -1,12 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3
class="videoTitle"
>
{{ $t("Settings.Player Settings.Player Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.Player Settings.Player Settings") }}
</h3>
</summary>
<hr>
<div class="switchColumnGrid">
<div class="switchColumn">
<ft-toggle-switch
@ -127,7 +126,7 @@
@change="updateDefaultQuality"
/>
</ft-flex-box>
</ft-card>
</details>
</template>
<script src="./player-settings.js" />

View File

@ -100,12 +100,18 @@ export default Vue.extend({
switch (method) {
case 'copyYoutube':
navigator.clipboard.writeText(youtubeUrl)
this.showToast({
message: this.$t('Share.YouTube URL copied to clipboard')
})
break
case 'openYoutube':
this.openExternalLink(youtubeUrl)
break
case 'copyInvidious':
navigator.clipboard.writeText(invidiousUrl)
this.showToast({
message: this.$t('Share.Invidious URL copied to clipboard')
})
break
case 'openInvidious':
this.openExternalLink(invidiousUrl)
@ -131,6 +137,7 @@ export default Vue.extend({
},
...mapActions([
'showToast',
'openExternalLink'
])
}

View File

@ -1,10 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3>
{{ $t("Settings.Privacy Settings.Privacy Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.Privacy Settings.Privacy Settings") }}
</h3>
</summary>
<hr>
<div class="switchColumnGrid">
<div class="switchColumn">
<ft-toggle-switch
@ -75,7 +76,7 @@
:option-values="promptValues"
@click="handleRemoveSubscriptions"
/>
</ft-card>
</details>
</template>
<script src="./privacy-settings.js" />

View File

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

View File

@ -0,0 +1,5 @@
@use "../../sass-partials/settings"
@media only screen and (max-width: 500px)
.subscriptionSettingsFlexBox
justify-content: flex-start

View File

@ -1,12 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3
class="videoTitle"
>
{{ $t("Settings.Proxy Settings.Proxy Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.Proxy Settings.Proxy Settings") }}
</h3>
</summary>
<hr>
<ft-flex-box class="subscriptionSettingsFlexBox">
<ft-toggle-switch
:label="$t('Settings.Proxy Settings.Enable Tor / Proxy')"
@ -26,14 +25,14 @@
<ft-flex-box>
<ft-input
:placeholder="$t('Settings.Proxy Settings.Proxy Host')"
:show-arrow="false"
:show-action-button="false"
:show-label="true"
:value="proxyHostname"
@input="handleUpdateProxyHostname"
/>
<ft-input
:placeholder="$t('Settings.Proxy Settings.Proxy Port Number')"
:show-arrow="false"
:show-action-button="false"
:show-label="true"
:value="proxyPort"
@input="handleUpdateProxyPort"
@ -71,8 +70,8 @@
{{ $t('Settings.Proxy Settings.City') }}: {{ proxyCity }}
</p>
</div>
</ft-card>
</details>
</template>
<script src="./proxy-settings.js" />
<style scoped src="./proxy-settings.css" />
<style scoped lang="sass" src="./proxy-settings.sass" />

View File

@ -6,7 +6,7 @@
position: fixed;
left: 0px;
top: 0px;
z-index: 1;
z-index: 4;
margin-top: 60px;
box-shadow: 1px -1px 1px -1px var(--primary-shadow-color);
background-color: var(--side-nav-color);

View File

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

View File

@ -0,0 +1,5 @@
@use "../../sass-partials/settings"
@media only screen and (max-width: 500px)
.sponsorBlockSettingsFlexBox
justify-content: flex-start

View File

@ -1,12 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3
class="videoTitle"
>
{{ $t("Settings.SponsorBlock Settings.SponsorBlock Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.SponsorBlock Settings.SponsorBlock Settings") }}
</h3>
</summary>
<hr>
<ft-flex-box class="sponsorBlockSettingsFlexBox">
<ft-toggle-switch
:label="$t('Settings.SponsorBlock Settings.Enable SponsorBlock')"
@ -24,14 +23,14 @@
<ft-flex-box>
<ft-input
:placeholder="$t('Settings.SponsorBlock Settings[\'SponsorBlock API Url (Default is https://sponsor.ajay.app)\']')"
:show-arrow="false"
:show-action-button="false"
:show-label="true"
:value="sponsorBlockUrl"
@input="handleUpdateSponsorBlockUrl"
/>
</ft-flex-box>
</ft-card>
</details>
</template>
<script src="./sponsor-block-settings.js" />
<style scoped src="./sponsor-block-settings.css" />
<style scoped lang="sass" src="./sponsor-block-settings.sass" />

View File

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

View File

@ -0,0 +1,6 @@
@use "../../sass-partials/settings"
@media only screen and (max-width: 500px)
.subscriptionSettingsFlexBox
justify-content: flex-start

View File

@ -1,12 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3
class="videoTitle"
>
{{ $t("Settings.Subscription Settings.Subscription Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.Subscription Settings.Subscription Settings") }}
</h3>
</summary>
<hr>
<ft-flex-box class="subscriptionSettingsFlexBox">
<ft-toggle-switch
:label="$t('Settings.Subscription Settings.Hide Videos on Watch')"
@ -37,8 +36,8 @@
label="Manage My Subscriptions"
/>
</ft-flex-box>
</ft-card>
</details>
</template>
<script src="./subscription-settings.js" />
<style scoped src="./subscription-settings.css" />
<style scoped lang="sass" src="./subscription-settings.sass" />

View File

@ -1,15 +0,0 @@
.relative {
position: relative;
}
.card {
width: 85%;
margin: 0 auto;
margin-bottom: 10px;
}
@media only screen and (max-width: 680px) {
.card {
width: 90%;
}
}

View File

@ -35,7 +35,8 @@ export default Vue.extend({
baseThemeValues: [
'light',
'dark',
'black'
'black',
'dracula'
],
colorValues: [
'Red',
@ -53,7 +54,14 @@ export default Vue.extend({
'Yellow',
'Amber',
'Orange',
'DeepOrange'
'DeepOrange',
'DraculaCyan',
'DraculaGreen',
'DraculaOrange',
'DraculaPink',
'DraculaPurple',
'DraculaRed',
'DraculaYellow'
]
}
},
@ -89,7 +97,8 @@ export default Vue.extend({
return [
this.$t('Settings.Theme Settings.Base Theme.Light'),
this.$t('Settings.Theme Settings.Base Theme.Dark'),
this.$t('Settings.Theme Settings.Base Theme.Black')
this.$t('Settings.Theme Settings.Base Theme.Black'),
this.$t('Settings.Theme Settings.Base Theme.Dracula')
]
},
@ -110,7 +119,14 @@ export default Vue.extend({
this.$t('Settings.Theme Settings.Main Color Theme.Yellow'),
this.$t('Settings.Theme Settings.Main Color Theme.Amber'),
this.$t('Settings.Theme Settings.Main Color Theme.Orange'),
this.$t('Settings.Theme Settings.Main Color Theme.Deep Orange')
this.$t('Settings.Theme Settings.Main Color Theme.Deep Orange'),
this.$t('Settings.Theme Settings.Main Color Theme.Dracula Cyan'),
this.$t('Settings.Theme Settings.Main Color Theme.Dracula Green'),
this.$t('Settings.Theme Settings.Main Color Theme.Dracula Orange'),
this.$t('Settings.Theme Settings.Main Color Theme.Dracula Pink'),
this.$t('Settings.Theme Settings.Main Color Theme.Dracula Purple'),
this.$t('Settings.Theme Settings.Main Color Theme.Dracula Red'),
this.$t('Settings.Theme Settings.Main Color Theme.Dracula Yellow')
]
}
},

View File

@ -0,0 +1 @@
@use "../../sass-partials/settings"

View File

@ -1,10 +1,11 @@
<template>
<ft-card
class="relative card"
>
<h3>
{{ $t("Settings.Theme Settings.Theme Settings") }}
</h3>
<details>
<summary>
<h3>
{{ $t("Settings.Theme Settings.Theme Settings") }}
</h3>
</summary>
<hr>
<ft-flex-box>
<ft-toggle-switch
:label="$t('Settings.Theme Settings.Match Top Bar with Main Color')"
@ -64,8 +65,8 @@
:option-values="restartPromptValues"
@click="handleSmoothScrolling"
/>
</ft-card>
</details>
</template>
<script src="./theme-settings.js" />
<style scoped src="./theme-settings.css" />
<style scoped lang="sass" src="./theme-settings.sass" />

View File

@ -20,6 +20,8 @@ export default Vue.extend({
windowWidth: 0,
showFilters: false,
searchFilterValueChanged: false,
historyIndex: 1,
isForwardOrBack: false,
searchSuggestionsDataList: []
}
},
@ -257,12 +259,41 @@ export default Vue.extend({
this.searchFilterValueChanged = filterValueChanged
},
navigateHistory: function() {
if (!this.isForwardOrBack) {
this.historyIndex = window.history.length
$('#historyArrowBack').removeClass('fa-arrow-left')
$('#historyArrowForward').addClass('fa-arrow-right')
} else {
this.isForwardOrBack = false
}
},
historyBack: function () {
this.isForwardOrBack = true
window.history.back()
if (this.historyIndex > 1) {
this.historyIndex--
$('#historyArrowForward').removeClass('fa-arrow-right')
if (this.historyIndex === 1) {
$('#historyArrowBack').addClass('fa-arrow-left')
}
}
},
historyForward: function () {
this.isForwardOrBack = true
window.history.forward()
if (this.historyIndex < window.history.length) {
this.historyIndex++
$('#historyArrowBack').removeClass('fa-arrow-left')
if (this.historyIndex === window.history.length) {
$('#historyArrowForward').addClass('fa-arrow-right')
}
}
},
toggleSideNav: function () {
@ -280,6 +311,9 @@ export default Vue.extend({
navigate: function (route) {
this.$router.push('/' + route)
},
hideFilters: function () {
this.showFilters = false
},
...mapActions([
'showToast',
'getYoutubeUrlInfo',

View File

@ -38,6 +38,12 @@
width: 1em
height: 1em
&.fa-arrow-left, &.fa-arrow-right
color: gray
opacity: 0.5
pointer-events: none
user-select: none
@include top-nav-is-colored
color: var(--text-with-main-color)

View File

@ -13,7 +13,8 @@
@keypress="toggleSideNav"
/>
<font-awesome-icon
class="navBackIcon navIcon"
id="historyArrowBack"
class="navBackIcon navIcon fa-arrow-left"
icon="arrow-left"
role="button"
tabindex="0"
@ -22,7 +23,8 @@
@keypress="historyBack"
/>
<font-awesome-icon
class="navForwardIcon navIcon"
id="historyArrowForward"
class="navForwardIcon navIcon fa-arrow-right"
icon="arrow-right"
role="button"
tabindex="0"
@ -70,6 +72,7 @@
:select-on-focus="true"
:data-list="searchSuggestionsDataList"
:spellcheck="false"
:show-clear-text-button="true"
@input="getSearchSuggestionsDebounce"
@click="goToSearch"
/>

View File

@ -50,6 +50,7 @@
}
.commentText {
white-space: pre-wrap;
font-size: 14px;
margin-top: -10px;
margin-left: 70px;

View File

@ -264,7 +264,7 @@ export default Vue.extend({
if (this.hideCommentLikes) {
comment.likes = null
}
comment.text = autolinker.link(comment.text.replace(/(<([^>]+)>)/ig, ''))
comment.text = autolinker.link(comment.text.replace(/(<(?!br>)([^>]+)>)/ig, ''))
return comment
})
@ -296,7 +296,7 @@ export default Vue.extend({
} else {
comment.likes = comment.likeCount
}
comment.text = autolinker.link(comment.content.replace(/(<([^>]+)>)/ig, ''))
comment.text = autolinker.link(comment.content.replace(/(<(?!br>)([^>]+)>)/ig, ''))
comment.dataType = 'invidious'
if (typeof (comment.replies) !== 'undefined' && typeof (comment.replies.replyCount) !== 'undefined') {
@ -362,7 +362,7 @@ export default Vue.extend({
} else {
comment.likes = comment.likeCount
}
comment.text = autolinker.link(comment.content.replace(/(<([^>]+)>)/ig, ''))
comment.text = autolinker.link(comment.content.replace(/(<(?!br>)([^>]+)>)/ig, ''))
comment.time = comment.publishedText
comment.dataType = 'invidious'
comment.numReplies = 0

View File

@ -44,14 +44,12 @@ $thumbnail-overlay-opacity: 0.85
opacity: 1
.videoThumbnail
display: flex
position: relative
.thumbnailLink
display: flex
.thumbnailImage
height: 130px
@include is-sidebar-item
height: 75px
@ -62,6 +60,7 @@ $thumbnail-overlay-opacity: 0.85
.videoWatched
position: absolute
top:0
padding: 2px
opacity: $thumbnail-overlay-opacity
color: var(--primary-text-color)

View File

@ -16,10 +16,25 @@
flex-direction: column
justify-items: start
.card
details
background-color: var(--card-bg-color)
width: 85%
margin: 0 auto
margin-bottom: 10px
hr
width: 100%
height: 2px
border: 0
margin-top: -1px
background-color: var(--primary-color)
summary
display: block
cursor: pointer
padding: 1px 1px 1px 1px
h3
margin-left: 2%
@media only screen and (max-width: 680px)
width: 90%

View File

@ -179,6 +179,7 @@ const state = {
displayVideoPlayButton: true,
enableSearchSuggestions: true,
enableSubtitles: true,
externalLinkHandling: '',
externalPlayer: '',
externalPlayerExecutable: '',
externalPlayerIgnoreWarnings: false,

View File

@ -22,7 +22,6 @@
--logo-text: url("~../../_icons/textColorSmall.png");
}
.dark {
--primary-text-color: #EEEEEE;
--secondary-text-color: #ddd;
@ -89,6 +88,30 @@
--logo-text: url("~../../_icons/textColorSmall.png");
}
.dracula {
--primary-text-color: #F8F8F2;
--secondary-text-color: #c6cee6;
--tertiary-text-color: #e5e8f3;
--primary-input-color: rgba(0, 0, 0, 0.50);
--primary-shadow-color: rgba(0, 0, 0, 0.75);
--title-color: #BD93F9;
--bg-color: #282A36;
--link-color: var(--accent-color);
--link-visited-color: var(--accent-color-visited);
--favorite-icon-color: #F1FA8C;
--card-bg-color: #33353F;
--secondary-card-bg-color: #282A36;
--scrollbar-color: #44475A;
--scrollbar-color-hover: #3D4051;
--side-nav-color: #44475A;
--side-nav-hover-color: #57596B;
--side-nav-active-color: #3D4051;
--search-bar-color: #3E3F4A;
--instance-menu-color: var(--search-bar-color);
--logo-icon: url("~../../_icons/iconDraculaLightSmall.png");
--logo-text: url("~../../_icons/textDraculaLightSmall.png");
}
.mainRed {
--primary-color: #f44336;
--primary-color-hover: #e53935;
@ -233,6 +256,69 @@
--logo-text-bar-color: url("~../../_icons/textBlackSmall.png");
}
.mainDraculaCyan {
--primary-color: #8BE9FD;
--primary-color-hover: #97EBFD;
--primary-color-active: #7DD2E4;
--text-with-main-color: #282A36;
--logo-icon-bar-color: url("~../../_icons/iconDraculaDarkSmall.png");
--logo-text-bar-color: url("~../../_icons/textDraculaDarkSmall.png");
}
.mainDraculaGreen {
--primary-color: #50FA7B;
--primary-color-hover: #62FB88;
--primary-color-active: #48E16F;
--text-with-main-color: #282A36;
--logo-icon-bar-color: url("~../../_icons/iconDraculaDarkSmall.png");
--logo-text-bar-color: url("~../../_icons/textDraculaDarkSmall.png");
}
.mainDraculaOrange {
--primary-color: #FFB86C;
--primary-color-hover: #FFBF7B;
--primary-color-active: #E6A661;
--text-with-main-color: #282A36;
--logo-icon-bar-color: url("~../../_icons/iconDraculaDarkSmall.png");
--logo-text-bar-color: url("~../../_icons/textDraculaDarkSmall.png");
}
.mainDraculaPink {
--primary-color: #FF79C6;
--primary-color-hover: #FF86CC;
--primary-color-active: #E66DB2;
--text-with-main-color: #F8F8F2;
--logo-icon-bar-color: url("~../../_icons/iconDraculaLightSmall.png");
--logo-text-bar-color: url("~../../_icons/textDraculaLightSmall.png");
}
.mainDraculaPurple {
--primary-color: #BD93F9;
--primary-color-hover: #C49EFA;
--primary-color-active: #AA84E0;
--text-with-main-color: #F8F8F2;
--logo-icon-bar-color: url("~../../_icons/iconDraculaLightSmall.png");
--logo-text-bar-color: url("~../../_icons/textDraculaLightSmall.png");
}
.mainDraculaRed {
--primary-color: #FF5555;
--primary-color-hover: #FF6666;
--primary-color-active: #E64D4D;
--text-with-main-color: #F8F8F2;
--logo-icon-bar-color: url("~../../_icons/iconDraculaLightSmall.png");
--logo-text-bar-color: url("~../../_icons/textDraculaLightSmall.png");
}
.mainDraculaYellow {
--primary-color: #F1FA8C;
--primary-color-hover: #F2FB98;
--primary-color-active: #D9E17E;
--text-with-main-color: #282A36;
--logo-icon-bar-color: url("~../../_icons/iconDraculaDarkSmall.png");
--logo-text-bar-color: url("~../../_icons/textDraculaDarkSmall.png");
}
.secRed {
--accent-color: #f44336;
--accent-color-hover: #e53935;
@ -441,6 +527,97 @@
--accent-color-opacity4: rgba(255,87,34,0.24);
}
.secDraculaCyan {
--accent-color: #8BE9FD;
--accent-color-hover: #97EBFD;
--accent-color-active: #7DD2E4;
--accent-color-light: #A2EDFD;
--accent-color-visited: #6FBACA;
--text-with-accent-color: #212121;
--accent-color-opacity1: rgba(98,114,164,0.04);
--accent-color-opacity2: rgba(98,114,164,0.12);
--accent-color-opacity3: rgba(98,114,164,0.16);
--accent-color-opacity4: rgba(98,114,164,0.24);
}
.secDraculaGreen {
--accent-color: #50FA7B;
--accent-color-hover: #62FB88;
--accent-color-active: #48E16F;
--accent-color-light: #73FB95;
--accent-color-visited: #40C862;
--text-with-accent-color: #212121;
--accent-color-opacity1: rgba(98,114,164,0.04);
--accent-color-opacity2: rgba(98,114,164,0.12);
--accent-color-opacity3: rgba(98,114,164,0.16);
--accent-color-opacity4: rgba(98,114,164,0.24);
}
.secDraculaOrange {
--accent-color: #FFB86C;
--accent-color-hover: #FFBF7B;
--accent-color-active: #E6A661;
--accent-color-light: #FFC689;
--accent-color-visited: #CC9356;
--text-with-accent-color: #212121;
--accent-color-opacity1: rgba(98,114,164,0.04);
--accent-color-opacity2: rgba(98,114,164,0.12);
--accent-color-opacity3: rgba(98,114,164,0.16);
--accent-color-opacity4: rgba(98,114,164,0.24);
}
.secDraculaPink {
--accent-color: #FF79C6;
--accent-color-hover: #FF86CC;
--accent-color-active: #E66DB2;
--accent-color-light: #FF94D1;
--accent-color-visited: #CC619E;
--text-with-accent-color: #F8F8F2;
--accent-color-opacity1: rgba(98,114,164,0.04);
--accent-color-opacity2: rgba(98,114,164,0.12);
--accent-color-opacity3: rgba(98,114,164,0.16);
--accent-color-opacity4: rgba(98,114,164,0.24);
}
.secDraculaPurple {
--accent-color: #BD93F9;
--accent-color-hover: #C49EFA;
--accent-color-active: #AA84E0;
--accent-color-light: #CAA9FA;
--accent-color-visited: #9776C7;
--text-with-accent-color: #F8F8F2;
--accent-color-opacity1: rgba(98,114,164,0.04);
--accent-color-opacity2: rgba(98,114,164,0.12);
--accent-color-opacity3: rgba(98,114,164,0.16);
--accent-color-opacity4: rgba(98,114,164,0.24);
}
.secDraculaRed {
--accent-color: #FF5555;
--accent-color-hover: #FF6666;
--accent-color-active: #E64D4D;
--accent-color-light: #FF7777;
--accent-color-visited: #CC4444;
--text-with-accent-color: #F8F8F2;
--accent-color-opacity1: rgba(98,114,164,0.04);
--accent-color-opacity2: rgba(98,114,164,0.12);
--accent-color-opacity3: rgba(98,114,164,0.16);
--accent-color-opacity4: rgba(98,114,164,0.24);
}
.secDraculaYellow {
--accent-color: #F1FA8C;
--accent-color-hover: #F2FB98;
--accent-color-active: #D9E17E;
--accent-color-light: #F4FBA3;
--accent-color-visited: #C1C870;
--text-with-accent-color: #212121;
--accent-color-opacity1: rgba(98,114,164,0.04);
--accent-color-opacity2: rgba(98,114,164,0.12);
--accent-color-opacity3: rgba(98,114,164,0.16);
--accent-color-opacity4: rgba(98,114,164,0.24);
}
body {
color: var(--primary-text-color);
background-color: var(--bg-color);
@ -456,7 +633,7 @@ body {
outline: none;
}
.rightAligned: {
.rightAligned {
text-align: right;
}

View File

@ -1440,7 +1440,7 @@ video::-webkit-media-text-track-display {
.vjs-playback-rate > .vjs-menu-button,
.vjs-playback-rate .vjs-playback-rate-value {
position: absolute;
top: 12px;
line-height: 36px;
left: 0;
width: 100%;
height: 100%;

View File

@ -59,7 +59,7 @@ export default Vue.extend({
{
icon: 'comment-dots',
title: this.$t('About.Chat on Matrix'),
content: `<a href="https://matrix.to/#/#freetube:matrix.org?via=matrix.org&via=privacytools.io&via=tchncs.de">#freetube:matrix.org</a><br>${this.$t('About.Please read the')} <a href="https://github.com/FreeTubeApp/FreeTube/wiki/Matrix-Channel-Info-&-Rules">${this.$t('About.room rules')}</a>`
content: `<a href="https://matrix.to/#/#freetube:matrix.org?via=matrix.org&via=privacytools.io&via=tchncs.de">#freetube:matrix.org</a><br>${this.$t('About.Please read the')} <a href="https://docs.freetubeapp.io/community/matrix/">${this.$t('About.room rules')}</a>`
},
{
icon: 'language',

View File

@ -21,6 +21,7 @@
width: 100%;
position: relative;
background-color: var(--card-bg-color);
margin-top: 10px;
}
.channelInfo {
@ -52,7 +53,8 @@
.subscribeButton {
height: 50px;
min-width: 150px;
align-self: center
align-self: center;
margin-bottom: 10px;
}
.channelSearch {
@ -67,6 +69,8 @@
.channelInfoTabs {
position: relative;
width: 100%;
margin-top: -16px;
margin-bottom: -13px;
}
.tab {
@ -74,21 +78,19 @@
font-size: 15px;
cursor: pointer;
align-self: flex-end;
-webkit-transition: background 0.2s ease-out;
-moz-transition: background 0.2s ease-out;
-o-transition: background 0.2s ease-out;
transition: background 0.2s ease-out;
color: var(--tertiary-text-color);
}
.selectedTab {
text-decoration: underline;
color: var(--primary-text-color);
border-bottom: 3px solid var(--primary-color);
margin-bottom: -3px;
font-weight: bold;
box-sizing: border-box;
}
.tab:hover {
background-color: var(--side-nav-hover-color);
-moz-transition: background 0.2s ease-in;
-o-transition: background 0.2s ease-in;
transition: background 0.2s ease-in;
font-weight: bold;
}
.aboutTab {
@ -105,6 +107,10 @@
white-space: pre-wrap;
}
.channelSearch {
margin-top: 10px;
}
.elementList {
margin-top: 15px;
}

View File

@ -0,0 +1,7 @@
hr {
height: 2px;
width: 85%;
margin: 0 auto;
border: 0;
background-color: var(--scrollbar-color-hover);
}

View File

@ -1,14 +1,23 @@
<template>
<div>
<general-settings />
<hr>
<theme-settings />
<hr>
<player-settings />
<hr>
<external-player-settings v-if="usingElectron" />
<hr>
<subscription-settings />
<hr>
<distraction-settings />
<hr>
<privacy-settings />
<hr>
<data-settings />
<hr>
<proxy-settings />
<hr>
<sponsor-block-settings />
</div>
</template>

View File

@ -14,10 +14,17 @@
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
margin-top: -3px;
color: var(--tertiary-text-color);
margin-bottom: 10px;
}
.selectedTab {
text-decoration: underline;
border-bottom: 3px solid var(--primary-color);
color: var(--primary-text-color);
font-weight: bold;
box-sizing: border-box;
margin-bottom: -3px;
}
.tab {
@ -26,17 +33,10 @@
font-size: 15px;
cursor: pointer;
align-self: flex-end;
-webkit-transition: background 0.2s ease-out;
-moz-transition: background 0.2s ease-out;
-o-transition: background 0.2s ease-out;
transition: background 0.2s ease-out;
}
.tab:hover, .tab:focus {
background-color: var(--side-nav-hover-color);
-moz-transition: background 0.2s ease-in;
-o-transition: background 0.2s ease-in;
transition: background 0.2s ease-in;
.tab:hover {
font-weight: bold;
}
@media only screen and (max-width: 350px) {

View File

@ -431,12 +431,12 @@ export default Vue.extend({
}
if (typeof result.player_response.streamingData.adaptiveFormats !== 'undefined') {
const adaptiveFormats = result.player_response.streamingData.adaptiveFormats
this.adaptiveFormats = adaptiveFormats
if (this.proxyVideos) {
this.dashSrc = await this.createInvidiousDashManifest()
} else {
const adaptiveFormats = result.player_response.streamingData.adaptiveFormats
this.dashSrc = await this.createLocalDashManifest(adaptiveFormats)
this.adaptiveFormats = adaptiveFormats
}
this.audioSourceList = result.player_response.streamingData.adaptiveFormats.filter((format) => {
@ -544,7 +544,13 @@ export default Vue.extend({
this.videoPublished = result.published * 1000
this.videoDescriptionHtml = result.descriptionHtml
this.recommendedVideos = result.recommendedVideos
this.adaptiveFormats = result.adaptiveFormats
this.adaptiveFormats = result.adaptiveFormats.map((format) => {
format.bitrate = parseInt(format.bitrate)
if (typeof format.resolution !== 'undefined') {
format.height = parseInt(format.resolution.replace('p', ''))
}
return format
})
this.isLive = result.liveNow
this.captionHybridList = result.captions.map(caption => {
caption.url = this.currentInvidiousInstance + caption.url
@ -960,13 +966,13 @@ export default Vue.extend({
if (this.removeVideoMetaFiles) {
const userData = await this.getUserDataPath()
if (this.isDev) {
const dashFileLocation = `dashFiles/${this.videoId}.xml`
const vttFileLocation = `storyboards/${this.videoId}.vtt`
const dashFileLocation = `static/dashFiles/${this.videoId}.xml`
const vttFileLocation = `static/storyboards/${this.videoId}.vtt`
// only delete the file it actually exists
if (fs.existsSync('dashFiles/') && fs.existsSync(dashFileLocation)) {
if (fs.existsSync('static/dashFiles/') && fs.existsSync(dashFileLocation)) {
fs.rmSync(dashFileLocation)
}
if (fs.existsSync('storyboards/') && fs.existsSync(vttFileLocation)) {
if (fs.existsSync('static/storyboards/') && fs.existsSync(vttFileLocation)) {
fs.rmSync(vttFileLocation)
}
} else {
@ -1014,9 +1020,10 @@ export default Vue.extend({
fs.mkdirSync('static/dashFiles/')
}
fs.rm(fileLocation, () => {
fs.writeFileSync(fileLocation, xmlData)
})
if (fs.existsSync(fileLocation)) {
fs.rmSync(fileLocation)
}
fs.writeFileSync(fileLocation, xmlData)
} else {
fileLocation = `${userData}/dashFiles/${this.videoId}.xml`
uriSchema = `file://${fileLocation}`
@ -1039,7 +1046,7 @@ export default Vue.extend({
},
createInvidiousDashManifest: function () {
let url = `${this.currentInvidiousInstance}/api/manifest/dash/id/${this.videoId}.mpd`
let url = `${this.currentInvidiousInstance}/api/manifest/dash/id/${this.videoId}`
if (this.proxyVideos || !this.usingElectron) {
url = url + '?local=true'

View File

@ -136,6 +136,11 @@ Settings:
The currently set default instance is $: المثيل الافتراضي المحدد حاليا هو $
Current Invidious Instance: المثيل الحالي Invidious
Clear Default Instance: مسح المثيل الافتراضي
External Link Handling:
No Action: لا يوجد إجراء
Ask Before Opening Link: اسأل قبل فتح الرابط
Open Link: افتح الرابط
External Link Handling: معالجة الارتباط الخارجي
Theme Settings:
Theme Settings: 'إعدادات السِمة'
Match Top Bar with Main Color: 'طابق الشريط العلوي مع اللون الأساسي'
@ -144,6 +149,7 @@ Settings:
Black: 'أسود'
Dark: 'داكن'
Light: 'فاتح'
Dracula: 'دراكولا'
Main Color Theme:
Main Color Theme: 'لون السِمة الأساسي'
Red: 'أحمر'
@ -162,6 +168,13 @@ Settings:
Amber: 'كهرماني'
Orange: 'برتقالي'
Deep Orange: 'برتقالي داكن'
Dracula Cyan: 'دراكولا سماوي'
Dracula Green: 'دراكولا أخضر'
Dracula Orange: 'دراكولا برتقالي'
Dracula Pink: 'دراكولا وردي'
Dracula Purple: 'دراكولا إرجواني'
Dracula Red: 'دراكولا أحمر'
Dracula Yellow: 'دراكولا أصفر'
Secondary Color Theme: 'لون السِمة الثانوي'
#* Main Color Theme
UI Scale: مقياس واجهة المستخدم
@ -686,6 +699,9 @@ Tooltips:
التراجع.
Region for Trending: الانتشار المحلي (Trend) يسمح لك بأن تشاهد الفيديوهات الأكثر
انتشارا حسب الدولة. ليست كل الدول المعروضة في هذه القائمة مدعومة من طرف يوتيوب.
External Link Handling: "اختر السلوك الافتراضي عند النقر فوق رابط، لا يمكن فتحه\
\ في FreeTube.\nبشكل افتراضي، سيفتح FreeTube الرابط الذي تم النقر عليه في المتصفح\
\ الافتراضي.\n"
Player Settings:
Proxy Videos Through Invidious: سيتم الاتصال ب Invidious لتقديم مقاطع الفيديو
بدلاً من إجراء اتصال مباشر مع يوتيوب. يلغي تفضيل الواجهة البرمجية.
@ -729,3 +745,8 @@ Open New Window: افتح نافذة جديدة
Default Invidious instance has been cleared: تم مسح مثيل Invidious الافتراضي
Default Invidious instance has been set to $: تم تعيين المثيل الافتراضي Invidious
إلى $
Search Bar:
Clear Input: مسح المدخلات
External link opening has been disabled in the general settings: تم تعطيل فتح الارتباط
الخارجي في الإعدادات العامة
Are you sure you want to open this link?: هل أنت متأكد أنك تريد فتح هذا الرابط؟

View File

@ -86,6 +86,11 @@ Subscriptions:
Load More Videos: Зареждане на още видеа
Trending:
Trending: 'Набиращи популярност'
Trending Tabs: Раздели за набиращи популярност
Movies: Филми
Gaming: Игри
Music: Музика
Default: По подразбиране
Most Popular: 'Най-популярни'
Playlists: 'Плейлисти'
User Playlists:
@ -142,6 +147,11 @@ Settings:
The currently set default instance is $: Текущо зададеният сървър по подразбиране
е $
Current Invidious Instance: Текущ Invidious сървър
External Link Handling:
No Action: Без действие
Ask Before Opening Link: Питане, преди отворяне на връзка
Open Link: Отваряне на връзка
External Link Handling: Работа с външни връзки
Theme Settings:
Theme Settings: 'Настройки на изгледа на приложението'
Match Top Bar with Main Color: 'Съвпадане на горната лента с основната цветова
@ -151,6 +161,7 @@ Settings:
Black: 'Черна'
Dark: 'Тъмна'
Light: 'Светла'
Dracula: Дракула
Main Color Theme:
Main Color Theme: 'Основна цветова тема'
Red: 'Червено'
@ -169,6 +180,13 @@ Settings:
Amber: 'Кехлибарено'
Orange: 'Оранжево'
Deep Orange: 'Наситено оранжево'
Dracula Cyan: 'Дракула Синьозелено'
Dracula Green: 'Дракула Зелено'
Dracula Orange: 'Дракула Оранжево'
Dracula Pink: 'Дракула Розово'
Dracula Purple: 'Дракула Пурпурно'
Dracula Red: 'Дракула Червено'
Dracula Yellow: 'Дракула Жълто'
Secondary Color Theme: 'Вторична цветова тема'
#* Main Color Theme
UI Scale: Мащаб на интерфейса
@ -656,6 +674,7 @@ Comments:
Newest first: Първо най-новите
Top comments: Последни коментари
Sort by: Сортиране по
Show More Replies: Показване на още отговори
Up Next: 'Следващ'
# Toast Messages
@ -713,6 +732,9 @@ Tooltips:
Preferred API Backend: Избиране на начина, по който FreeTube получава данните.
Локалният интерфейс има вградено извличане. Invidious интерфейсът изисква Invidious
сървър, към който да се свърже.
External Link Handling: "Избор на поведението по подразбиране, когато щракнете\
\ върху връзка, която не може да бъде отворена във FreeTube.\nПо подразбиране\
\ FreeTube ще отвори връзката в браузъра по подразбиране.\n"
Privacy Settings:
Remove Video Meta Files: Когато страницата за гледане бъде затворена, FreeTube
автоматично ще изтрива метафайловете, създадени по време на възпроизвеждане
@ -741,3 +763,9 @@ Default Invidious instance has been cleared: Сървъра по подразб
е изчистен
Default Invidious instance has been set to $: Сървъра по подразбиране за Invidious
е зададен на $
External link opening has been disabled in the general settings: Отварянето на външни
връзки е изключено в общите настройки
Search Bar:
Clear Input: Изчистване на въведеното
Are you sure you want to open this link?: Сигурни ли сте, че искате да отворите тази
връзка?

View File

@ -144,6 +144,7 @@ Settings:
Black: 'Negre'
Dark: 'Fosc'
Light: 'Clar'
Dracula: 'Dràcula'
Main Color Theme:
Main Color Theme: 'Tema principal del color'
Red: 'Vermell'
@ -162,6 +163,13 @@ Settings:
Amber: 'Ambre'
Orange: 'Taronja'
Deep Orange: 'Taronja fosc'
Dracula Cyan: 'Dràcula Cian'
Dracula Green: 'Dràcula Verd'
Dracula Orange: 'Dràcula Taronja'
Dracula Pink: 'Dràcula Rosa'
Dracula Purple: 'Dràcula Porpra'
Dracula Red: 'Dràcula Vermell'
Dracula Yellow: 'Dràcula Groc'
Secondary Color Theme: 'Tema de color secundari'
#* Main Color Theme
Expand Side Bar by Default: Expandeix la barra lateral per defecte

View File

@ -147,6 +147,11 @@ Settings:
Current Invidious Instance: Současná instance Invidious
No default instance has been set: Není nastavena žádný výchozí instance
The currently set default instance is $: Současné výchozí instance je $
External Link Handling:
No Action: Žádná akce
Ask Before Opening Link: Před otevřením se zeptat
Open Link: Otevřít odkaz
External Link Handling: Používání externích odkazů
Theme Settings:
Theme Settings: 'Nastavení motivu'
Match Top Bar with Main Color: 'Přizpůsobit hlavní lištu hlavní barvě'
@ -158,6 +163,7 @@ Settings:
Black: 'Černý'
Dark: 'Tmavý'
Light: 'Světlý'
Dracula: 'Drákula'
Main Color Theme:
Main Color Theme: 'Hlavní barevný motiv'
Red: 'Červený'
@ -176,6 +182,13 @@ Settings:
Amber: 'Jantarový'
Orange: 'Oranžový'
Deep Orange: 'Tmavě oranžový'
Dracula Cyan: 'Drákula Azurový'
Dracula Green: 'Drákula Zelený'
Dracula Orange: 'Drákula Oranžový'
Dracula Pink: 'Drákula Růžový'
Dracula Purple: 'Drákula Fialový'
Dracula Red: 'Drákula Červený'
Dracula Yellow: 'Drákula Žlutý'
Secondary Color Theme: 'Téma sekundární barvy'
#* Main Color Theme
Player Settings:
@ -673,6 +686,9 @@ Tooltips:
Region for Trending: 'Region trendů vám umožní vybrat si zemi, ze které si přejete
zobrazovat videa trendů. Ne všechny zobrazené země jsou ale službou YouTube
reálně podporovány.'
External Link Handling: "Zvolte výchozí chování při kliknutí na odkaz, který nelze\
\ otevřít ve FreeTube.\nVe výchozím nastavení otevře FreeTube odkaz ve vašem\
\ výchozím prohlížeči.\n"
Player Settings:
Force Local Backend for Legacy Formats: 'Funguje pouze v případě, že je výchozím
nastavením API Invidious. Je-li povoleno, spustí se místní API a použije starší
@ -738,3 +754,8 @@ Open New Window: Otevřít nové okno
Default Invidious instance has been cleared: Výchozí Invidious instance byla vymazána
Default Invidious instance has been set to $: Výchozí Invidious instance byla nastavena
na $
Search Bar:
Clear Input: Vymazat
External link opening has been disabled in the general settings: Otevírání externích
odkazů bylo v obecném nastavení zakázáno
Are you sure you want to open this link?: Opravdu chcete otevřít tento dokaz?

View File

@ -140,6 +140,7 @@ Settings:
Black: 'Sort'
Dark: 'Mørkt'
Light: 'Lyst'
Dracula: 'Dracula'
Main Color Theme:
Main Color Theme: 'Primært Farvetema'
Red: 'Rødt'
@ -158,6 +159,13 @@ Settings:
Amber: 'Rav'
Orange: 'Orange'
Deep Orange: 'Dybt Orange'
Dracula Cyan: 'Dracula Cyan'
Dracula Green: 'Dracula Grønt'
Dracula Orange: 'Dracula Orange'
Dracula Pink: 'Dracula Lyserødt'
Dracula Purple: 'Dracula Lilla'
Dracula Red: 'Dracula Rødt'
Dracula Yellow: 'Dracula Gult'
Secondary Color Theme: 'Sekundært Farvetema'
#* Main Color Theme
UI Scale: Skalering af Brugerflade

View File

@ -78,7 +78,7 @@ Subscriptions:
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: Dieses
Profil hat eine große Anzahl von Abonnements. RSS zur Vermeidung von Geschwindigkeitsbeschränkungen
erzwingen
Load More Videos: Lade mehr Videos
Load More Videos: Mehr Videos laden
Trending:
Trending: Trends
Trending Tabs: Trendtabs
@ -94,7 +94,7 @@ User Playlists:
gespeicherten Videos sind leer. Klicke auf die Schaltfläche „Speichern“ in der
Ecke eines Videos, damit es hier aufgelistet wird
Playlist Message: Diese Seite spiegelt nicht die vollständig funktionierenden Wiedergabelisten
wider. Sie listet nur Videos auf, die Du gespeichert oder favorisiert hast. Wenn
wider. Sie listet nur Videos auf, die du gespeichert oder favorisiert hast. Wenn
die Arbeiten abgeschlossen sind, werden alle Videos, die sich derzeit hier befinden,
in eine Wiedergabeliste „Favoriten“ migriert.
History:
@ -143,6 +143,11 @@ Settings:
Current Invidious Instance: Aktuelle Invidious-Instanz
Clear Default Instance: Standardinstanz zurücksetzen
Set Current Instance as Default: Derzeitige Instanz als Standard festlegen
External Link Handling:
No Action: Keine Aktion
Ask Before Opening Link: Vor dem Öffnen des Links fragen
Open Link: Link öffnen
External Link Handling: Handhabung externer Links
Theme Settings:
Theme Settings: Thema-Einstellungen
Match Top Bar with Main Color: Obere Leiste an Hauptfarbe anpassen
@ -151,6 +156,7 @@ Settings:
Black: Schwarz
Dark: Dunkel
Light: Hell
Dracula: Dracula
Main Color Theme:
Main Color Theme: Hauptfarbe des Themas
Red: Rot
@ -169,6 +175,13 @@ Settings:
Amber: Bernsteingelb
Orange: Orange
Deep Orange: Dunkelorange
Dracula Cyan: Dracula Türkis
Dracula Green: Dracula Grün
Dracula Orange: Dracula Orange
Dracula Pink: Dracula Rosa
Dracula Purple: Dracula Lila
Dracula Red: Dracula Rot
Dracula Yellow: Dracula Gelb
Secondary Color Theme: Sekundäres Farbenthema
#* Main Color Theme
UI Scale: Skalierung der Benutzeroberfläche
@ -715,7 +728,7 @@ Profile:
The playlist has been reversed: Die Wiedergabeliste wurde umgedreht
A new blog is now available, $. Click to view more: Ein neuer Blogeintrag ist verfügbar,
$. Um ihn zu öffnen klicken
Download From Site: Von der Seite herunterladen
Download From Site: Von der Website herunterladen
Version $ is now available! Click for more details: Version $ ist jetzt verfügbar! Für
mehr Details klicken
Tooltips:
@ -733,6 +746,9 @@ Tooltips:
Region for Trending: Die Trendregion erlaubt es dir auszuwählen, aus welchem Land
die Trends angezeigt werden sollen. Nicht alle Optionen werden auch von YouTube
unterstützt.
External Link Handling: "Wähle das Standardverhalten, wenn ein Link angeklickt\
\ wird, der nicht in FreeTube geöffnet werden kann.\nStandardmäßig wird FreeTube\
\ den angeklickten Link in deinem Standardbrowser öffnen.\n"
Subscription Settings:
Fetch Feeds from RSS: Sobald aktiviert wird FreeTube RSS anstatt der Standardmethode
nutzen, um deine Abos zu aktualisieren. RSS ist schneller und verhindert das
@ -777,3 +793,9 @@ Open New Window: Neues Fenster öffnen
Default Invidious instance has been cleared: Standard-Invidious-Instanz wurde zurückgesetzt
Default Invidious instance has been set to $: Standard-Invidious-Instanz wurde auf
$ gesetzt
Search Bar:
Clear Input: Eingabe löschen
Are you sure you want to open this link?: Bist du sicher, dass du diesen Link öffnen
willst?
External link opening has been disabled in the general settings: Das Öffnen externer
Links wurde in den allgemeinen Einstellungen deaktiviert

View File

@ -139,6 +139,7 @@ Settings:
Black: 'Μαύρο'
Dark: 'Σκοτεινό'
Light: 'Φωτεινό'
Dracula: 'Δράκουλας'
Main Color Theme:
Main Color Theme: 'Κύριο Χρώμα Θέματος'
Red: 'Κόκκινο'
@ -157,6 +158,13 @@ Settings:
Amber: 'Χρυσοκίτρινο'
Orange: 'Πορτοκαλί'
Deep Orange: 'Βαθύ Πορτοκαλί'
Dracula Cyan: 'Δράκουλας Κυανό'
Dracula Green: 'Δράκουλας Πράσινο'
Dracula Orange: 'Δράκουλας Πορτοκαλί'
Dracula Pink: 'Δράκουλας Ροζ'
Dracula Purple: 'Δράκουλας Μωβ'
Dracula Red: 'Δράκουλας Κόκκινο'
Dracula Yellow: 'Δράκουλας Κίτρινο'
Secondary Color Theme: 'Δευτερεύων Χρώμα Θέματος'
#* Main Color Theme
UI Scale: Μέγεθος κλίμακας διεπαφής χρήστη

View File

@ -35,9 +35,12 @@ Version $ is now available! Click for more details: Version $ is now available!
Download From Site: Download From Site
A new blog is now available, $. Click to view more: A new blog is now available, $.
Click to view more
Are you sure you want to open this link?: Are you sure you want to open this link?
# Search Bar
Search / Go to URL: Search / Go to URL
Search Bar:
Clear Input: Clear Input
# In Filter Button
Search Filters:
Search Filters: Search Filters
@ -84,7 +87,7 @@ Subscriptions:
Refresh Subscriptions: Refresh Subscriptions
Load More Videos: Load More Videos
More: More
Trending:
Trending:
Trending: Trending
Default: Default
Music: Music
@ -143,7 +146,12 @@ Settings:
Clear Default Instance: Clear Default Instance
View all Invidious instance information: View all Invidious instance information
Region for Trending: Region for Trending
#! List countries
#! List countries
External Link Handling:
External Link Handling: External Link Handling
Open Link: Open Link
Ask Before Opening Link: Ask Before Opening Link
No Action: No Action
Theme Settings:
Theme Settings: Theme Settings
Match Top Bar with Main Color: Match Top Bar with Main Color
@ -155,6 +163,7 @@ Settings:
Black: Black
Dark: Dark
Light: Light
Dracula: Dracula
Main Color Theme:
Main Color Theme: Main Color Theme
Red: Red
@ -173,6 +182,13 @@ Settings:
Amber: Amber
Orange: Orange
Deep Orange: Deep Orange
Dracula Cyan: Dracula Cyan
Dracula Green: Dracula Green
Dracula Orange: Dracula Orange
Dracula Pink: Dracula Pink
Dracula Purple: Dracula Purple
Dracula Red: Dracula Red
Dracula Yellow: Dracula Yellow
Secondary Color Theme: Secondary Color Theme
#* Main Color Theme
Player Settings:
@ -614,6 +630,9 @@ Tooltips:
Region for Trending: The region of trends allows you to pick which country's trending
videos you want to have displayed. Not all countries displayed are actually
supported by YouTube.
External Link Handling: |
Choose the default behavior when a link, which cannot be opened in FreeTube, is clicked.
By default FreeTube will open the clicked link in your default browser.
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
@ -667,6 +686,7 @@ Default Invidious instance has been set to $: Default Invidious instance has bee
Default Invidious instance has been cleared: Default Invidious instance has been cleared
'The playlist has ended. Enable loop to continue playing': 'The playlist has ended. Enable
loop to continue playing'
External link opening has been disabled in the general settings: 'External link opening has been disabled in the general settings'
Yes: Yes
No: No

View File

@ -24,7 +24,7 @@ Zoom in: 'Zoom in'
Zoom out: 'Zoom out'
Toggle fullscreen: 'Toggle full-screen'
Window: 'Window'
Minimize: 'Minimize'
Minimize: 'Minimise'
Close: 'Close'
Back: 'Back'
Forward: 'Forward'
@ -115,7 +115,7 @@ Settings:
on failure'
Enable Search Suggestions: 'Enable search suggestions'
Default Landing Page: 'Default landing page'
Locale Preference: 'Locale Preference'
Locale Preference: 'Language preference'
Preferred API Backend:
Preferred API Backend: 'Preferred API backend'
Local API: 'Local API'
@ -138,7 +138,7 @@ Settings:
System Default: System default
External Player: External Player
External Player Executable: Custom External Player Executable
Clear Default Instance: Clear Default Instance
Clear Default Instance: Clear default instance
Set Current Instance as Default: Set Current Instance as Default
Current instance will be randomized on startup: Current instance will be randomised
on startup
@ -146,6 +146,11 @@ Settings:
The currently set default instance is $: The currently set default instance is
$
Current Invidious Instance: Current Invidious Instance
External Link Handling:
No Action: No Action
Ask Before Opening Link: Ask Before Opening Link
Open Link: Open Link
External Link Handling: External Link Handling
Theme Settings:
Theme Settings: 'Theme Settings'
Match Top Bar with Main Color: 'Match top bar with main colour'
@ -154,6 +159,7 @@ Settings:
Black: 'Black'
Dark: 'Dark'
Light: 'Light'
Dracula: 'Dracula'
Main Color Theme:
Main Color Theme: 'Main colour theme'
Red: 'Red'
@ -172,6 +178,13 @@ Settings:
Amber: 'Amber'
Orange: 'Orange'
Deep Orange: 'Deep Orange'
Dracula Cyan: 'Dracula Cyan'
Dracula Green: 'Dracula Green'
Dracula Orange: 'Dracula Orange'
Dracula Pink: 'Dracula Pink'
Dracula Purple: 'Dracula Purple'
Dracula Red: 'Dracula Red'
Dracula Yellow: 'Dracula Yellow'
Secondary Color Theme: 'Secondary Colour Theme'
#* Main Color Theme
UI Scale: UI Scale
@ -181,7 +194,7 @@ Settings:
Player Settings: 'Player Settings'
Force Local Backend for Legacy Formats: 'Force Local Back-end for Legacy Formats'
Play Next Video: 'Play Next Video'
Turn on Subtitles by Default: 'Turn on Subtitles by Default'
Turn on Subtitles by Default: 'Turn on subtitles by default'
Autoplay Videos: 'Autoplay Videos'
Proxy Videos Through Invidious: 'Proxy Videos Through Invidious'
Autoplay Playlists: 'Autoplay Playlists'
@ -698,6 +711,9 @@ Tooltips:
Preferred API Backend: Choose the back-end that FreeTube uses to obtain data.
The local API is a built-in extractor. The Invidious API requires an Invidious
server to connect to.
External Link Handling: "Choose the default behaviour when a link, which cannot\
\ be opened in FreeTube, is clicked.\nBy default FreeTube will open the clicked\
\ link in your default browser.\n"
External Player Settings:
External Player: Choosing an external player will display an icon, for opening
the video (playlist if supported) in the external player, on the thumbnail.
@ -723,3 +739,8 @@ Open New Window: Open New Window
Default Invidious instance has been cleared: Default Invidious instance has been cleared
Default Invidious instance has been set to $: Default Invidious instance has been
set to $
Search Bar:
Clear Input: Clear input
External link opening has been disabled in the general settings: External link opening
has been disabled in the general settings
Are you sure you want to open this link?: Are you sure you want to open this link?

View File

@ -5,63 +5,64 @@ FreeTube: 'FreeTube'
'This part of the app is not ready yet. Come back later when progress has been made.': >
# Webkit Menu Bar
File: ''
Quit: ''
Edit: ''
Undo: ''
Redo: ''
Cut: ''
Copy: ''
Paste: ''
Delete: ''
Select all: ''
File: 'Dosiero'
Quit: 'Eliri'
Edit: 'Redakti'
Undo: 'Malfari'
Redo: 'Refari'
Cut: 'Eltondi'
Copy: 'Kopii'
Paste: 'Alglui'
Delete: 'Forigi'
Select all: 'Elekti ĉiujn'
Reload: ''
Force Reload: ''
Toggle Developer Tools: ''
Actual size: ''
Zoom in: ''
Zoom out: ''
Toggle fullscreen: ''
Window: ''
Minimize: ''
Close: ''
Back: ''
Forward: ''
Zoom in: 'Zomi'
Zoom out: 'Malzomi'
Toggle fullscreen: 'Baskuli tutekranon'
Window: 'Fenestro'
Minimize: 'Minimumigi'
Close: 'Fermi'
Back: 'Reen'
Forward: 'Antaŭen'
Version $ is now available! Click for more details: ''
Download From Site: ''
Version $ is now available! Click for more details: 'Versio $ disponeblas nun! Alklaki
por pli informoj.'
Download From Site: 'Elŝuti el retejo'
A new blog is now available, $. Click to view more: ''
# Search Bar
Search / Go to URL: ''
Search / Go to URL: 'Serĉi / Iri al URL'
# In Filter Button
Search Filters:
Search Filters: ''
Search Filters: 'Serĉaj filtriloj'
Sort By:
Sort By: ''
Most Relevant: ''
Rating: ''
Upload Date: ''
View Count: ''
Sort By: 'Ordigi laŭ'
Most Relevant: 'Plej rilataj'
Rating: 'Takso'
Upload Date: 'Alŝuta dato'
View Count: 'Spektonombro'
Time:
Time: ''
Any Time: ''
Last Hour: ''
Today: ''
This Week: ''
This Month: ''
This Year: ''
Time: 'Tempo'
Any Time: 'Ajna tempo'
Last Hour: 'Lasta horo'
Today: 'Hodiaŭ'
This Week: 'Ĉi-semajne'
This Month: 'Ĉi-monate'
This Year: 'Ĉi-jare'
Type:
Type: ''
All Types: ''
Videos: ''
Channels: ''
Type: 'Speco'
All Types: 'Ĉiuj specoj'
Videos: 'Videaĵoj'
Channels: 'Kanaloj'
#& Playlists
Duration:
Duration: ''
All Durations: ''
Short (< 4 minutes): ''
Long (> 20 minutes): ''
Duration: 'Daŭrtempo'
All Durations: 'Ĉiuj daŭrtempoj'
Short (< 4 minutes): 'Mallongaj (<4 minutoj)'
Long (> 20 minutes): 'Longaj (> 20 minutoj)'
# On Search Page
Search Results: ''
Fetching results. Please wait: ''
@ -69,31 +70,36 @@ Search Filters:
# Sidebar
Subscriptions:
# On Subscriptions Page
Subscriptions: ''
Latest Subscriptions: ''
Subscriptions: 'Abonoj'
Latest Subscriptions: 'Lastatempaj abonoj'
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': ''
'Getting Subscriptions. Please wait.': ''
Refresh Subscriptions: ''
Trending:
Trending: ''
Most Popular: ''
Playlists: ''
Load More Videos: Ŝargi pli videaĵojn
Trending:
Trending: 'Popularaj'
Gaming: Ludismo
Movies: Filmoj
Music: Muziko
Default: Defaŭlte
Most Popular: 'Plej popularaj'
Playlists: 'Ludlistoj'
User Playlists:
Your Playlists: ''
Your Playlists: 'Viaj ludlistoj'
History:
# On History Page
History: ''
Watch History: ''
Your history list is currently empty.: ''
History: 'Historio'
Watch History: 'Spekthistorio'
Your history list is currently empty.: 'Via historia listo nune malplenas.'
Settings:
# On Settings Page
Settings: ''
Settings: 'Agordoj'
General Settings:
General Settings: ''
Check for Updates: ''
General Settings: 'Ĝeneralaj agordoj'
Check for Updates: 'Kontroli por ĝisdatigi'
Check for Latest Blog Posts: ''
Fallback to Non-Preferred Backend on Failure: ''
Enable Search Suggestions: ''
Enable Search Suggestions: 'Ŝalti serĉproponoj'
Default Landing Page: ''
Locale Preference: ''
Preferred API Backend:
@ -102,25 +108,26 @@ Settings:
Invidious API: ''
Video View Type:
Video View Type: ''
Grid: ''
List: ''
Grid: 'Krado'
List: 'Listo'
Thumbnail Preference:
Thumbnail Preference: ''
Default: ''
Beginning: ''
Middle: ''
End: ''
Thumbnail Preference: 'Bildeta agordo'
Default: 'Defaŭlta'
Beginning: 'Komenco'
Middle: 'Mezo'
End: 'Fino'
'Invidious Instance (Default is https://invidious.snopyta.org)': ''
Region for Trending: ''
#! List countries
System Default: Operaciuma defaŭlto
Theme Settings:
Theme Settings: ''
Match Top Bar with Main Color: ''
Base Theme:
Base Theme: ''
Black: ''
Dark: ''
Light: ''
Dark: 'Malluma'
Light: 'Luma'
Main Color Theme:
Main Color Theme: ''
Red: ''
@ -470,3 +477,8 @@ Canceled next video autoplay: ''
Yes: ''
No: ''
More: Pli
Search Bar:
Clear Input: Klarigi enigon
Are you sure you want to open this link?: Ĉu vi certe volas malfermi ĉi-ligilon?
Open New Window: Malfermi novan fenestron

View File

@ -121,6 +121,7 @@ Settings:
Black: 'Negro'
Dark: 'Oscuro'
Light: 'Claro'
Dracula: 'Drácula'
Main Color Theme:
Main Color Theme: 'Color principal de la apariencia'
Red: 'Rojo'
@ -139,6 +140,13 @@ Settings:
Amber: 'Ámbar'
Orange: 'Naranja'
Deep Orange: 'Naranja profundo'
Dracula Cyan: 'Drácula Cian'
Dracula Green: 'Drácula Verde'
Dracula Orange: 'Drácula Naranja'
Dracula Pink: 'Drácula Rosado'
Dracula Purple: 'Drácula Púrpura'
Dracula Red: 'Drácula Rojo'
Dracula Yellow: 'Drácula Amarillo'
Secondary Color Theme: 'Color secundario de la apariencia'
#* Main Color Theme
Player Settings:
@ -298,6 +306,7 @@ About:
Blog: Blog
Website: Sitio web
Email: Correo electrónico
Mastodon: Mastodon
Channel:
Subscriber: 'Suscriptor'
Subscribers: 'Suscriptores'
@ -533,3 +542,4 @@ A new blog is now available, $. Click to view more: Un nuevo blog ya está dispo
Download From Site: Descargar desde el sitio
Version $ is now available! Click for more details: Versión $ ya está disponible!
Presione para más detalles
Open New Window: Abrir nueva ventana

View File

@ -139,6 +139,11 @@ Settings:
Clear Default Instance: Quitar la instancia por defecto
Set Current Instance as Default: Establecer la instancia actual como la instancia
por defecto
External Link Handling:
No Action: Sin acción
Ask Before Opening Link: Preguntar antes de abrir el enlace
Open Link: Abrir el enlace
External Link Handling: Gestión de enlaces externos
Theme Settings:
Theme Settings: 'Apariencia'
Match Top Bar with Main Color: 'Usar color principal para barra superior'
@ -147,6 +152,7 @@ Settings:
Black: 'Negro'
Dark: 'Oscuro'
Light: 'Claro'
Dracula: 'Drácula'
Main Color Theme:
Main Color Theme: 'Color Principal'
Red: 'Rojo'
@ -165,6 +171,13 @@ Settings:
Amber: 'Ámbar'
Orange: 'Naranja'
Deep Orange: 'Naranja oscuro'
Dracula Cyan: 'Drácula Cian'
Dracula Green: 'Drácula Verde'
Dracula Orange: 'Drácula Naranja'
Dracula Pink: 'Drácula Rosado'
Dracula Purple: 'Drácula Púrpura'
Dracula Red: 'Drácula Rojo'
Dracula Yellow: 'Drácula Amarillo'
Secondary Color Theme: 'Color secundario'
#* Main Color Theme
UI Scale: Escala de interfaz gráfica
@ -658,8 +671,8 @@ Comments:
Up Next: 'A continuación'
# Toast Messages
Local API Error (Click to copy): 'Error de la API local (Click para copiar el código)'
Invidious API Error (Click to copy): 'Error de la API de Invidious (Click para copiar
Local API Error (Click to copy): 'Error de la API local (Clic para copiar el código)'
Invidious API Error (Click to copy): 'Error de la API de Invidious (Clic para copiar
el código)'
Falling back to Invidious API: 'Recurriendo a la API de Invidious'
Falling back to the local API: 'Recurriendo a la API local'
@ -679,10 +692,10 @@ Canceled next video autoplay: 'La reproducción del vídeo siguiente se ha cance
Yes: 'Sí'
No: 'No'
A new blog is now available, $. Click to view more: Nueva publicación del blog disponible,
$. Click para saber más
Download From Site: Descargar de la web
Version $ is now available! Click for more details: La versión $ está disponible!
Click para saber más
$. Haga clic para saber más
Download From Site: Descargar del sitio web
Version $ is now available! Click for more details: ¡La versión $ está disponible!
Haga clic para saber más
The playlist has been reversed: Orden de Playlist invertido
This video is unavailable because of missing formats. This can happen due to country unavailability.: Este
vídeo no está disponible por no tener un formato válido. Esto puede suceder por
@ -749,3 +762,9 @@ Default Invidious instance has been cleared: La Instancia de Invidious Predeterm
ha sido borrada
Default Invidious instance has been set to $: La Instancia de Invidious Predeterminada
ha sido establecida como $
Search Bar:
Clear Input: Borrar entrada
External link opening has been disabled in the general settings: Se ha desactivado
la apertura de enlaces externos en la configuración general
Are you sure you want to open this link?: ¿Estás seguro/a de que quieres abrir este
enlace?

View File

@ -80,12 +80,16 @@ Subscriptions:
perfil tiene un gran número de suscriptores. Forzando RSS para evitar límites
Trending:
Trending: 'Tendencias'
Movies: Películas
Gaming: Juego
Music: Música
Default: Por defecto
Most Popular: 'Más popular'
Playlists: 'Listas de reproducción'
User Playlists:
Your Playlists: 'Tus listas de reproducción'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Tu
lista de videos guardados está vacía. Hacé click en el botón de guardado en la
lista de videos guardados está vacía. Hacé clic en el botón de guardado en la
esquina de un video para que aparezca acá
Playlist Message: Está página no es un reflejo de listas de reproducción completamente
funcionales. Solo lista los videos que has guardado o marcado como favoritos.
@ -137,6 +141,7 @@ Settings:
Black: 'Negro'
Dark: 'Oscuro'
Light: 'Claro'
Dracula: 'Drácula'
Main Color Theme:
Main Color Theme: 'Color principal del tema'
Red: 'Rojo'
@ -155,6 +160,13 @@ Settings:
Amber: 'Ámbar'
Orange: 'Naranja'
Deep Orange: 'Naranja oscuro'
Dracula Cyan: 'Drácula Cian'
Dracula Green: 'Drácula Verde'
Dracula Orange: 'Drácula Naranja'
Dracula Pink: 'Drácula Rosado'
Dracula Purple: 'Drácula Púrpura'
Dracula Red: 'Drácula Rojo'
Dracula Yellow: 'Drácula Amarillo'
Secondary Color Theme: 'Color secundario del tema'
#* Main Color Theme
UI Scale: Escala de la interfaz de usuario
@ -275,6 +287,9 @@ Settings:
The app needs to restart for changes to take effect. Restart and apply change?: Esta
aplicación necesita reiniciarse para que los cambios entren en efecto. ¿Reiniciar
y aplicar el cambio?
Proxy Settings:
Clicking on Test Proxy will send a request to: Hacer clic en Probar proxy enviará
una solicitud a
About:
#On About page
About: ''
@ -485,7 +500,10 @@ Canceled next video autoplay: ''
Yes: 'Sí'
No: 'No'
A new blog is now available, $. Click to view more: Un nuevo blog está disponible,
$. Hacé click para ver más
$. Hacé clic para ver más
Download From Site: Descargar desde el sitio
Version $ is now available! Click for more details: La versión $ ya está disponible. Hacé
click acá para más detalles.
clic acá para más detalles.
More: Más
Are you sure you want to open this link?: ¿Está seguro que desea abrir este enlace?
Open New Window: Abrir nueva ventana

View File

@ -153,6 +153,7 @@ Settings:
Black: 'Must'
Dark: 'Tume'
Light: 'Hele'
Dracula: 'Dracula'
Main Color Theme:
Main Color Theme: 'Põhiline värviteema'
Red: 'Punane'
@ -171,6 +172,13 @@ Settings:
Amber: 'Merevaigukollane'
Orange: 'Oranž'
Deep Orange: 'Sügavoranž'
Dracula Cyan: 'Dracula Rohekassinine'
Dracula Green: 'Dracula Roheline'
Dracula Orange: 'Dracula Oranž'
Dracula Pink: 'Dracula Roosa'
Dracula Purple: 'Dracula Purpurpunane'
Dracula Red: 'Dracula Punane'
Dracula Yellow: 'Dracula Kollane'
Secondary Color Theme: 'Värvide alamteema'
#* Main Color Theme
UI Scale: Kasutajaliidese suurus

View File

@ -6,47 +6,49 @@ FreeTube: 'FreeTube'
Zati hau ez dago prest oraindik. Itzuli aurrerago aurrerapenak egin direnean.
# Webkit Menu Bar
File: ''
Quit: ''
Edit: ''
Undo: ''
Redo: ''
Cut: ''
Copy: ''
Paste: ''
Delete: ''
Select all: ''
Reload: ''
Force Reload: ''
Toggle Developer Tools: ''
Actual size: ''
Zoom in: ''
Zoom out: ''
Toggle fullscreen: ''
Window: ''
Minimize: ''
Close: ''
Back: ''
Forward: ''
File: 'Artxibategia'
Quit: 'Irten'
Edit: 'Editatu'
Undo: 'Desegin'
Redo: 'Berregin'
Cut: 'Moztu'
Copy: 'Kopiatu'
Paste: 'Itsatsi'
Delete: 'Ezabatu'
Select all: 'Guztia hautatu'
Reload: 'Birzamatu'
Force Reload: 'Birzamaketa behartu'
Toggle Developer Tools: 'Garatzaile erremintak erakutsi'
Actual size: 'Benetako tamaina'
Zoom in: 'Handiagotu'
Zoom out: 'Txikiagotu'
Toggle fullscreen: 'Bistaratzaile osoa'
Window: 'Leihoa'
Minimize: 'Minimizatu'
Close: 'Itxi'
Back: 'Atzera'
Forward: 'Aurrera'
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: '$ bertsioa erabilgarri! Klikatu
azalpen gehiagorako'
Download From Site: 'Webgunetik jaitsi'
A new blog is now available, $. Click to view more: 'Blog berri bat erabilgarri dago,
$. Klikatu gehiagorako'
# Search Bar
Search / Go to URL: ''
Search / Go to URL: 'Bilatu / Helbidera joan'
# In Filter Button
Search Filters:
Search Filters: ''
Search Filters: 'Bilaketa iragazkiak'
Sort By:
Sort By: ''
Most Relevant: ''
Sort By: 'Ordenatze irizpidea'
Most Relevant: 'Egokitasuna'
Rating: ''
Upload Date: ''
View Count: ''
Time:
Time: ''
Any Time: ''
Time: 'Denbora'
Any Time: 'Edozein unetan'
Last Hour: ''
Today: ''
This Week: ''
@ -539,3 +541,7 @@ Canceled next video autoplay: ''
Yes: ''
No: ''
Search Bar:
Clear Input: Sarrera garbitu
Are you sure you want to open this link?: Ziur al zaude ataka hau ireki nahi duzula?
Open New Window: Leiho berria ireki

614
static/locales/fa.yaml Normal file
View File

@ -0,0 +1,614 @@
# Put the name of your locale in the same language
Locale Name: 'انگلیسی(آمریکایی)'
FreeTube: 'یوتیوب آزاد'
# Currently on Subscriptions, Playlists, and History
'This part of the app is not ready yet. Come back later when progress has been made.': >-
این بخش از نرم افزار هنوز آماده نیست.زمانی که پیشرفتی صورت گرفت به اینجا باز گردید.
# Webkit Menu Bar
File: 'فایل'
Quit: 'خروج'
Edit: 'اصلاح'
Undo: 'بازگردانی'
Redo: 'انجام دوباره'
Cut: 'برش'
Copy: 'کپی'
Paste: 'جاگذاری'
Delete: 'حذف'
Select all: 'انتخاب همه'
Reload: 'بارگذاری دوباره'
Force Reload: 'اجبار بارگذاری دوباره'
Toggle Developer Tools: 'فعال سازی حالت توسعه دهنده'
Actual size: 'اندازه واقعی'
Zoom in: 'بزرگنمایی'
Zoom out: 'کوچک نمایی'
Toggle fullscreen: 'فعال سازی حالت تمام صفحه'
Window: 'پنجره'
Minimize: 'کوچک سازی'
Close: 'بستن'
Back: 'بازگشت'
Forward: 'پیشروی'
Open New Window: 'بازکردن پنجره جدید'
Version $ is now available! Click for more details: 'نسخه $ هم اکنون در دسترس است! برای
اطلاعات بیشتر کلیک کنید'
Download From Site: 'دانلود از وبگاه'
A new blog is now available, $. Click to view more: 'بلاگ جدیدی در دسترس است، $. کلیک
کنید تا بیشتر ببینید.'
# Search Bar
Search / Go to URL: 'جست و جو / برو به لینک'
# In Filter Button
Search Filters:
Search Filters: 'جست و جو فیلتر ها'
Sort By:
Sort By: 'منظم کن بر اساس'
Most Relevant: 'مرتبط ترین'
Rating: 'امتیاز'
Upload Date: 'زمان بارگذاری'
View Count: 'تعداد بازدید'
Time:
Time: 'زمان'
Any Time: 'هر زمانی'
Last Hour: 'ساعتی قبل'
Today: 'امروز'
This Week: 'این هفته'
This Month: 'این ماه'
This Year: 'این سال'
Type:
Type: 'نوع'
All Types: 'همه ی انواع'
Videos: 'ویدیو ها'
Channels: 'کانال ها'
#& Playlists
Duration:
Duration: 'طول مدت'
All Durations: 'طول مدت همه'
Short (< 4 minutes): 'کوتاه(>۴ دقیقه)'
Long (> 20 minutes): 'طولانی(<۲۰ دقیقه)'
# On Search Page
Search Results: 'نتایج جست و جو'
Fetching results. Please wait: 'دریافت نتایج.لطفا صبر کنید'
Fetch more results: 'دریافت نتایج بیشتر'
There are no more results for this search: 'نتایج بیشتری برای این جست و جو نیست'
# Sidebar
Subscriptions:
# On Subscriptions Page
Subscriptions: 'دنبال کرده ها'
Latest Subscriptions: 'اخرین دنبال کرده ها'
This profile has a large number of subscriptions. Forcing RSS to avoid rate limiting: 'این
نمایه تعداد زیادی دنبال کرده دارد. به اجبار باید از RSS استفاده کرد تا دچار
محدودیت درخواست ها نشود.'
'Your Subscription list is currently empty. Start adding subscriptions to see them here.': 'چیزی
دنبال نکرده اید.شروع به افزودن دنبال کننده ها کنید تا اینجا نشان داده شوند.'
'Getting Subscriptions. Please wait.': 'درحال گرفتن دنبال کرده ها.لطفا صبر کنید.'
Refresh Subscriptions: 'تازه سازی دنبال کرده ها'
Load More Videos: 'بارگیری ویدیو های بیشتر'
More: 'بیشتر'
Trending:
Trending: 'در حال صعود'
Default: 'حالت عادی'
Music: 'موسیقی'
Gaming: 'بازی'
Movies: 'فیلم ها'
Trending Tabs: ''
Most Popular: 'پر طرفدارترین ها'
Playlists: 'لیست های پخش'
User Playlists:
Your Playlists: 'لیست های پخش شما'
Playlist Message: ''
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: 'ویدیوی
ذخیره شده ای ندارید.بر دکمه ذخیره در گوشه ویدیو کلیک کنید تا اینجا لیست شوند'
History:
# On History Page
History: 'تاریخچه'
Watch History: 'تاریخچه تماشا'
Your history list is currently empty.: 'تاریخچه شما در حال حاضر خالی است.'
Settings:
# On Settings Page
Settings: 'تنظیمات'
The app needs to restart for changes to take effect. Restart and apply change?: 'این
نرم افزار نیاز به راه اندازی دوباره دارد تا تغییرات لحاظ شوند. تغییرات ذخیره و
راه اندازی شود؟'
General Settings:
General Settings: 'تنظیمات عمومی'
Check for Updates: 'بررسی برای به روزرسانی ها'
Check for Latest Blog Posts: ''
Fallback to Non-Preferred Backend on Failure: ''
Enable Search Suggestions: ''
Default Landing Page: ''
Locale Preference: ''
System Default: ''
Preferred API Backend:
Preferred API Backend: ''
Local API: ''
Invidious API: ''
Video View Type:
Video View Type: ''
Grid: ''
List: ''
Thumbnail Preference:
Thumbnail Preference: ''
Default: ''
Beginning: ''
Middle: ''
End: ''
Current Invidious Instance: ''
# $ is replaced with the default Invidious instance
The currently set default instance is $: ''
No default instance has been set: ''
Current instance will be randomized on startup: ''
Set Current Instance as Default: ''
Clear Default Instance: ''
View all Invidious instance information: ''
Region for Trending: ''
#! List countries
Theme Settings:
Theme Settings: ''
Match Top Bar with Main Color: ''
Expand Side Bar by Default: ''
Disable Smooth Scrolling: ''
UI Scale: ''
Base Theme:
Base Theme: ''
Black: ''
Dark: ''
Light: ''
Main Color Theme:
Main Color Theme: ''
Red: ''
Pink: ''
Purple: ''
Deep Purple: ''
Indigo: ''
Blue: ''
Light Blue: ''
Cyan: ''
Teal: ''
Green: ''
Light Green: ''
Lime: ''
Yellow: ''
Amber: ''
Orange: ''
Deep Orange: ''
Secondary Color Theme: ''
#* Main Color Theme
Player Settings:
Player Settings: ''
Force Local Backend for Legacy Formats: ''
Play Next Video: ''
Turn on Subtitles by Default: ''
Autoplay Videos: ''
Proxy Videos Through Invidious: ''
Autoplay Playlists: ''
Enable Theatre Mode by Default: ''
Scroll Volume Over Video Player: ''
Display Play Button In Video Player: ''
Next Video Interval: ''
Fast-Forward / Rewind Interval: ''
Default Volume: ''
Default Playback Rate: ''
Default Video Format:
Default Video Format: ''
Dash Formats: ''
Legacy Formats: ''
Audio Formats: ''
Default Quality:
Default Quality: ''
Auto: ''
144p: ''
240p: ''
360p: ''
480p: ''
720p: ''
1080p: ''
1440p: ''
4k: ''
8k: ''
External Player Settings:
External Player Settings: ''
External Player: ''
Ignore Unsupported Action Warnings: ''
Custom External Player Executable: ''
Custom External Player Arguments: ''
Privacy Settings:
Privacy Settings: ''
Remember History: ''
Save Watched Progress: ''
Automatically Remove Video Meta Files: ''
Clear Search Cache: ''
Are you sure you want to clear out your search cache?: ''
Search cache has been cleared: ''
Remove Watch History: ''
Are you sure you want to remove your entire watch history?: ''
Watch history has been cleared: ''
Remove All Subscriptions / Profiles: ''
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: ''
Subscription Settings:
Subscription Settings: ''
Hide Videos on Watch: ''
Fetch Feeds from RSS: ''
Manage Subscriptions: ''
Distraction Free Settings:
Distraction Free Settings: ''
Hide Video Views: ''
Hide Video Likes And Dislikes: ''
Hide Channel Subscribers: ''
Hide Comment Likes: ''
Hide Recommended Videos: ''
Hide Trending Videos: ''
Hide Popular Videos: ''
Hide Playlists: ''
Hide Live Chat: ''
Hide Active Subscriptions: ''
Data Settings:
Data Settings: ''
Select Import Type: ''
Select Export Type: ''
Import Subscriptions: ''
Import FreeTube: ''
Import YouTube: ''
Import NewPipe: ''
Check for Legacy Subscriptions: ''
Export Subscriptions: ''
Export FreeTube: ''
Export YouTube: ''
Export NewPipe: ''
Import History: ''
Export History: ''
Profile object has insufficient data, skipping item: ''
All subscriptions and profiles have been successfully imported: ''
All subscriptions have been successfully imported: ''
One or more subscriptions were unable to be imported: ''
Invalid subscriptions file: ''
This might take a while, please wait: ''
Invalid history file: ''
Subscriptions have been successfully exported: ''
History object has insufficient data, skipping item: ''
All watched history has been successfully imported: ''
All watched history has been successfully exported: ''
Unable to read file: ''
Unable to write file: ''
Unknown data key: ''
How do I import my subscriptions?: ''
Manage Subscriptions: ''
Proxy Settings:
Proxy Settings: ''
Enable Tor / Proxy: ''
Proxy Protocol: ''
Proxy Host: ''
Proxy Port Number: ''
Clicking on Test Proxy will send a request to: ''
Test Proxy: ''
Your Info: ''
Ip: ''
Country: ''
Region: ''
City: ''
Error getting network information. Is your proxy configured properly?: ''
SponsorBlock Settings:
SponsorBlock Settings: ''
Enable SponsorBlock: ''
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': ''
Notify when sponsor segment is skipped: ''
About:
#On About page
About: ''
Beta: ''
Source code: ''
Licensed under the AGPLv3: ''
View License: ''
Downloads / Changelog: ''
GitHub releases: ''
Help: ''
FreeTube Wiki: ''
FAQ: ''
Report a problem: ''
GitHub issues: ''
Please check for duplicates before posting: ''
Website: ''
Blog: ''
Email: ''
Mastodon: ''
Chat on Matrix: ''
Please read the: ''
room rules: ''
Translate: ''
Credits: ''
FreeTube is made possible by: ''
these people and projects: ''
Donate: ''
Profile:
Profile Settings: ''
Profile Select: ''
Profile Filter: ''
All Channels: ''
Profile Manager: ''
Create New Profile: ''
Edit Profile: ''
Color Picker: ''
Custom Color: ''
Profile Preview: ''
Create Profile: ''
Update Profile: ''
Make Default Profile: ''
Delete Profile: ''
Are you sure you want to delete this profile?: ''
All subscriptions will also be deleted.: ''
Profile could not be found: ''
Your profile name cannot be empty: ''
Profile has been created: ''
Profile has been updated: ''
Your default profile has been set to $: ''
Removed $ from your profiles: ''
Your default profile has been changed to your primary profile: ''
$ is now the active profile: ''
Subscription List: ''
Other Channels: ''
$ selected: ''
Select All: ''
Select None: ''
Delete Selected: ''
Add Selected To Profile: ''
No channel(s) have been selected: ''
? This is your primary profile. Are you sure you want to delete the selected channels? The
same channels will be deleted in any profile they are found in.
: ''
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: ''
#On Channel Page
Channel:
Subscriber: ''
Subscribers: ''
Subscribe: ''
Unsubscribe: ''
Channel has been removed from your subscriptions: ''
Removed subscription from $ other channel(s): ''
Added channel to your subscriptions: ''
Search Channel: ''
Your search results have returned 0 results: ''
Sort By: ''
Videos:
Videos: ''
This channel does not currently have any videos: ''
Sort Types:
Newest: ''
Oldest: ''
Most Popular: ''
Playlists:
Playlists: ''
This channel does not currently have any playlists: ''
Sort Types:
Last Video Added: ''
Newest: ''
Oldest: ''
About:
About: ''
Channel Description: ''
Featured Channels: ''
Video:
Mark As Watched: ''
Remove From History: ''
Video has been marked as watched: ''
Video has been removed from your history: ''
Save Video: ''
Video has been saved: ''
Video has been removed from your saved list: ''
Open in YouTube: ''
Copy YouTube Link: ''
Open YouTube Embedded Player: ''
Copy YouTube Embedded Player Link: ''
Open in Invidious: ''
Copy Invidious Link: ''
Open Channel in YouTube: ''
Copy YouTube Channel Link: ''
Open Channel in Invidious: ''
Copy Invidious Channel Link: ''
View: ''
Views: ''
Loop Playlist: ''
Shuffle Playlist: ''
Reverse Playlist: ''
Play Next Video: ''
Play Previous Video: ''
# Context is "X People Watching"
Watching: ''
Watched: ''
Autoplay: ''
Starting soon, please refresh the page to check again: ''
# As in a Live Video
Live: ''
Live Now: ''
Live Chat: ''
Enable Live Chat: ''
Live Chat is currently not supported in this build.: ''
'Chat is disabled or the Live Stream has ended.': ''
Live chat is enabled. Chat messages will appear here once sent.: ''
'Live Chat is currently not supported with the Invidious API. A direct connection to YouTube is required.': ''
Download Video: ''
video only: ''
audio only: ''
Audio:
Low: ''
Medium: ''
High: ''
Best: ''
Published:
Jan: ''
Feb: ''
Mar: ''
Apr: ''
May: ''
Jun: ''
Jul: ''
Aug: ''
Sep: ''
Oct: ''
Nov: ''
Dec: ''
Second: ''
Seconds: ''
Minute: ''
Minutes: ''
Hour: ''
Hours: ''
Day: ''
Days: ''
Week: ''
Weeks: ''
Month: ''
Months: ''
Year: ''
Years: ''
Ago: ''
Upcoming: ''
Published on: ''
Streamed on: ''
Started streaming on: ''
translated from English: ''
# $ is replaced with the number and % with the unit (days, hours, minutes...)
Publicationtemplate: ''
Skipped segment: ''
Sponsor Block category:
sponsor: ''
intro: ''
outro: ''
self-promotion: ''
interaction: ''
music offtopic: ''
External Player:
# $ is replaced with the external player
OpenInTemplate: ''
video: ''
playlist: ''
# $ is replaced with the current context (see video/playlist above) and % the external player setting
OpeningTemplate: ''
# $ is replaced with the external player and % with the unsupported action
UnsupportedActionTemplate: ''
Unsupported Actions:
starting video at offset: ''
setting a playback rate: ''
opening playlists: ''
opening specific video in a playlist (falling back to opening the video): ''
reversing playlists: ''
shuffling playlists: ''
looping playlists: ''
#& Videos
Videos:
#& Sort By
Sort By:
Newest: ''
Oldest: ''
#& Most Popular
#& Playlists
Playlist:
#& About
Playlist: ''
View Full Playlist: ''
Videos: ''
View: ''
Views: ''
Last Updated On: ''
Share Playlist:
Share Playlist: ''
Copy YouTube Link: ''
Open in YouTube: ''
Copy Invidious Link: ''
Open in Invidious: ''
# On Video Watch Page
#* Published
#& Views
Toggle Theatre Mode: ''
Change Format:
Change Video Formats: ''
Use Dash Formats: ''
Use Legacy Formats: ''
Use Audio Formats: ''
Dash formats are not available for this video: ''
Audio formats are not available for this video: ''
Share:
Share Video: ''
Include Timestamp: ''
Copy Link: ''
Open Link: ''
Copy Embed: ''
Open Embed: ''
# On Click
Invidious URL copied to clipboard: ''
Invidious Embed URL copied to clipboard: ''
Invidious Channel URL copied to clipboard: ''
YouTube URL copied to clipboard: ''
YouTube Embed URL copied to clipboard: ''
YouTube Channel URL copied to clipboard: ''
Mini Player: ''
Comments:
Comments: ''
Click to View Comments: ''
Getting comment replies, please wait: ''
There are no more comments for this video: ''
Show Comments: ''
Hide Comments: ''
Sort by: ''
Top comments: ''
Newest first: ''
# Context: View 10 Replies, View 1 Reply
View: ''
Hide: ''
Replies: ''
Show More Replies: ''
Reply: ''
There are no comments available for this video: ''
Load More Comments: ''
No more comments available: ''
Up Next: ''
#Tooltips
Tooltips:
General Settings:
Preferred API Backend: ''
Fallback to Non-Preferred Backend on Failure: ''
Thumbnail Preference: ''
Invidious Instance: ''
Region for Trending: ''
Player Settings:
Force Local Backend for Legacy Formats: ''
Proxy Videos Through Invidious: ''
Default Video Format: ''
External Player Settings:
External Player: ''
Custom External Player Executable: ''
Ignore Warnings: ''
Custom External Player Arguments: ''
Subscription Settings:
Fetch Feeds from RSS: ''
Privacy Settings:
Remove Video Meta Files: ''
# Toast Messages
Local API Error (Click to copy): ''
Invidious API Error (Click to copy): ''
Falling back to Invidious API: ''
Falling back to the local API: ''
This video is unavailable because of missing formats. This can happen due to country unavailability.: ''
Subscriptions have not yet been implemented: ''
Unknown YouTube url type, cannot be opened in app: ''
Hashtags have not yet been implemented, try again later: ''
Loop is now disabled: ''
Loop is now enabled: ''
Shuffle is now disabled: ''
Shuffle is now enabled: ''
The playlist has been reversed: ''
Playing Next Video: ''
Playing Previous Video: ''
Playing Next Video Interval: ''
Canceled next video autoplay: ''
# $ is replaced with the default Invidious instance
Default Invidious instance has been set to $: ''
Default Invidious instance has been cleared: ''
'The playlist has ended. Enable loop to continue playing': ''
Yes: ''
No: ''

View File

@ -88,7 +88,7 @@ User Playlists:
Your Playlists: 'Omat soittolistat'
Playlist Message: Tämä sivu ei kuvasta täysin toimivia soittolistoja. Se listaa
vain tallentamasi tai tykkäämäsi videot. Kun tämä on valmis, kaikki täällä olevat
videot siirretään soittolistaan "Tykkäykset".
videot siirretään soittolistaan ”Tykkäykset”.
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Et
ole tallentanut videoita. Paina "Tallenna" painiketta videon kulmassa tallentaaksesi
sen tänne
@ -136,6 +136,11 @@ Settings:
No default instance has been set: Oletuspalveluntarjoajaa ei ole määritelty
The currently set default instance is $: Nykyinen oletuspalveluntarjoaja on $
Current Invidious Instance: Nykyinen Invidious-palveluntarjoaja
External Link Handling:
No Action: Ei toimintoa
Ask Before Opening Link: Kysy ennen linkin avaamista
Open Link: Avaa linkki
External Link Handling: Ulkoisten linkkien käsittely
Theme Settings:
Theme Settings: 'Teema-asetukset'
Match Top Bar with Main Color: 'Käytä pääväriä yläpalkissa'
@ -144,6 +149,7 @@ Settings:
Black: 'Musta'
Dark: 'Tumma'
Light: 'Vaalea'
Dracula: 'Dracula'
Main Color Theme:
Main Color Theme: 'Pääväriteema'
Red: 'Punainen'
@ -162,6 +168,13 @@ Settings:
Amber: 'Meripihka'
Orange: 'Oranssi'
Deep Orange: 'Syvä oranssi'
Dracula Cyan: 'Dracula Syaani'
Dracula Green: 'Dracula Vihreä'
Dracula Orange: 'Dracula Oranssi'
Dracula Pink: 'Dracula Vaaleanpunainen'
Dracula Purple: 'Dracula Purppura'
Dracula Red: 'Dracula Punainen'
Dracula Yellow: 'Dracula Keltainen'
Secondary Color Theme: 'Toissijainen väriteema'
#* Main Color Theme
UI Scale: Käyttöliittymän koko
@ -672,8 +685,8 @@ Version $ is now available! Click for more details: Versio $ on nyt saatavilla!
This video is unavailable because of missing formats. This can happen due to country unavailability.: Tämä
video ei ole saatavilla puuttuvien formaattien takia. Tämä voi tapahtua koska video
ei ole saatavilla maassasi.
A new blog is now available, $. Click to view more: Uusi blogi on saatavilla , $.
Klikkaa nähdäksesi lisää
A new blog is now available, $. Click to view more: Uusi blogi on saatavilla, $. Klikkaa
nähdäksesi lisää
Download From Site: Lataa sivustolta
Tooltips:
General Settings:
@ -687,6 +700,9 @@ Tooltips:
alkuperäisen pikkukuvan sijaan.
Fallback to Non-Preferred Backend on Failure: Kun valitsemasi API kohtaa ongelman,
Freetube yrittää automaattisestia käyttää toissijaista vaihtoehtoa.
External Link Handling: "Valitse oletuskäyttäytyminen, kun linkkiä, jota ei voi\
\ avata FreeTubessa, napsautetaan.\nOletusarvoisesti FreeTube avaa napsautetun\
\ linkin oletusselaimessasi.\n"
Subscription Settings:
Fetch Feeds from RSS: Kun valittuna, FreeTube käyttää RSS-syötettä oletusmetodin
sijaan tilauslistasi hakemisessa. RSS on nopeampi ja ehkäisee IP-estoa, mutta
@ -728,3 +744,8 @@ Default Invidious instance has been cleared: Oletusarvoinen Invidious-palvelunta
on tyhjennetty
Default Invidious instance has been set to $: Oletusarvoinen Invidious-palveluntarjoaja
on jatkossa $
Search Bar:
Clear Input: Tyhjennä syöte
External link opening has been disabled in the general settings: Ulkoisen linkin avaaminen
on poistettu käytöstä yleisissä asetuksissa
Are you sure you want to open this link?: Haluatko varmasti avata tämän linkin?

View File

@ -145,6 +145,11 @@ Settings:
The currently set default instance is $: L'instance par défaut actuellement définie
est $
Current Invidious Instance: Instance Invidious actuelle
External Link Handling:
No Action: Aucune action
Ask Before Opening Link: Demander avant d'ouvrir le lien
Open Link: Ouvrir le lien
External Link Handling: Gestion des liens externes
Theme Settings:
Theme Settings: 'Paramètres du thème'
Match Top Bar with Main Color: 'Faire correspondre la barre supérieure à la couleur
@ -154,6 +159,7 @@ Settings:
Black: 'Noir'
Dark: 'Sombre'
Light: 'Clair'
Dracula: 'Dracula'
Main Color Theme:
Main Color Theme: 'Couleur principale du thème'
Red: 'Rouge'
@ -172,6 +178,13 @@ Settings:
Amber: 'Ambre'
Orange: 'Orange'
Deep Orange: 'Orange foncé'
Dracula Cyan: 'Dracula Cyan'
Dracula Green: 'Dracula Vert'
Dracula Orange: 'Dracula Orange'
Dracula Pink: 'Dracula Rose'
Dracula Purple: 'Dracula Violet'
Dracula Red: 'Dracula Rouge'
Dracula Yellow: 'Dracula Jaune'
Secondary Color Theme: 'Couleur secondaire du thème'
#* Main Color Theme
UI Scale: Échelle de l'interface utilisateur
@ -291,15 +304,15 @@ Settings:
Import YouTube: Importer YouTube
Import FreeTube: Importer FreeTube
Import Subscriptions: Importer vos abonnements
Select Export Type: Sélectionner le type dexportation
Select Import Type: Sélectionner le type dimportation
Select Export Type: Sélectionner le type d'exportation
Select Import Type: Sélectionner le type d'importation
Unknown data key: Clé de données inconnue
Unable to write file: Impossible d'écrire le fichier
Unable to read file: Impossible de lire le fichier
Invalid history file: Fichier d'historique non valide
This might take a while, please wait: Cela pourrait prendre un certain temps,
veuillez patienter
Invalid subscriptions file: Fichier dabonnements non valide
Invalid subscriptions file: Fichier d'abonnements invalide
Data Settings: Paramètres des données
All watched history has been successfully exported: Tout votre historique de visionnage
a été exporté avec succès
@ -310,7 +323,7 @@ Settings:
Profile object has insufficient data, skipping item: Ignorer cet élément car les
données de profil sont insuffisantes
One or more subscriptions were unable to be imported: Un ou plusieurs abonnements
nont pas pu être importés
n'ont pas pu être importés
Check for Legacy Subscriptions: Vérifier les abonnements Legacy
Manage Subscriptions: Gérer les abonnements
Distraction Free Settings:
@ -526,7 +539,7 @@ Video:
#& Videos
Play Previous Video: Lire la vidéo précédente
Play Next Video: Lire la vidéo suivante
Autoplay: Lecture Auto
Autoplay: Lecture auto
Reverse Playlist: Inverser la liste de lecture
Shuffle Playlist: Mélanger la liste de lecture
Loop Playlist: Liste de lecture en boucle
@ -550,7 +563,7 @@ Video:
enregistrée
Video has been saved: La vidéo a été enregistrée
Save Video: Enregistrer la vidéo
translated from English: traduit de langlais
translated from English: traduit de l'anglais
Sponsor Block category:
music offtopic: musique hors sujet
interaction: interaction
@ -657,7 +670,7 @@ Local API Error (Click to copy): 'Erreur d''API locale (Cliquez pour copier)'
Invidious API Error (Click to copy): 'Erreur d''API Invidious (Cliquez pour copier)'
Falling back to Invidious API: 'Revenir à l''API Invidious'
Falling back to the local API: 'Revenir à l''API locale'
Subscriptions have not yet been implemented: 'Les abonnements nont pas encore été
Subscriptions have not yet been implemented: 'Les abonnements n''ont pas encore été
implémentés'
Loop is now disabled: 'La boucle est maintenant désactivée'
Loop is now enabled: 'La boucle est maintenant activée'
@ -760,6 +773,9 @@ Tooltips:
Region for Trending: Ceci vous permet de choisir les vidéos tendance du pays que
vous souhaitez afficher. Attention, certains pays affichés ne sont pas pris
en charge par YouTube.
External Link Handling: "Choisissez le comportement par défaut quand on clique\
\ sur un lien qui ne peut être ouvert dans FreeTube.\nPar défaut, FreeTube ouvrira\
\ le lien dans votre navigateur par défaut.\n"
Privacy Settings:
Remove Video Meta Files: Lorsqu'il est activé, FreeTube supprime automatiquement
les MétaFichiers créés pendant la lecture de la vidéo, dès que la page de la
@ -784,10 +800,15 @@ Playing Next Video Interval: Lecture de la prochaine vidéo en un rien de temps.
Cliquer pour annuler.
Hashtags have not yet been implemented, try again later: Les hashtags n'ont pas encore
été implémentés, réessayez plus tard
Unknown YouTube url type, cannot be opened in app: Type durl YouTube inconnu, ne
peut pas être ouvert dans lapplication
Unknown YouTube url type, cannot be opened in app: Type d'URL YouTube inconnu, ne
peut pas être ouvert dans l'application
Open New Window: Ouvrir une nouvelle fenêtre
Default Invidious instance has been cleared: L'instance Invidious par défaut a été
effacée
Default Invidious instance has been set to $: Linstance Invidious par défaut a été
Default Invidious instance has been set to $: L'instance Invidious par défaut a été
définie sur $
Search Bar:
Clear Input: Effacer l'entrée
Are you sure you want to open this link?: Êtes-vous sûr(e) de vouloir ouvrir ce lien ?
External link opening has been disabled in the general settings: L'ouverture des liens
externes a été désactivée dans les paramètres généraux

View File

@ -154,6 +154,7 @@ Settings:
Black: 'Negro'
Dark: 'Escuro'
Light: 'Claro'
Dracula: 'Drácula'
Main Color Theme:
Main Color Theme: 'Cor principal'
Red: 'Vermello'
@ -172,6 +173,13 @@ Settings:
Amber: 'Ámbar'
Orange: 'Laranxa'
Deep Orange: 'Laranxa escuro'
Dracula Cyan: 'Drácula Ciano'
Dracula Green: 'Drácula Verde'
Dracula Orange: 'Drácula Laranxa'
Dracula Pink: 'Drácula Rosa'
Dracula Purple: 'Drácula Morado'
Dracula Red: 'Drácula Vermello'
Dracula Yellow: 'Drácula Amarelo'
Secondary Color Theme: 'Cor secundaria'
#* Main Color Theme
Player Settings:

View File

@ -138,6 +138,7 @@ Settings:
Black: 'שחור'
Dark: 'חשוך'
Light: 'בהיר'
Dracula: 'דרקולה'
Main Color Theme:
Main Color Theme: 'צבע ראשי'
Red: 'אדום'
@ -156,6 +157,13 @@ Settings:
Amber: 'צהוב כהה'
Orange: 'כתום'
Deep Orange: 'כתום כהה'
Dracula Cyan: 'דרקולה טורקיז'
Dracula Green: 'דרקולה ירוק כהה'
Dracula Orange: 'דרקולה כתום'
Dracula Pink: 'דרקולה ורוד'
Dracula Purple: 'דרקולה סגול'
Dracula Red: 'דרקולה אדום'
Dracula Yellow: 'דרקולה צהוב'
Secondary Color Theme: 'צבע משני'
#* Main Color Theme
UI Scale: גודל הממשק

View File

@ -80,6 +80,11 @@ Subscriptions:
Load More Videos: Učitaj još videa
Trending:
Trending: 'U trendu'
Trending Tabs: Kartice „U trendu”
Movies: Filmovi
Gaming: Igranje
Music: Glazba
Default: Standardno
Most Popular: 'Najpopularniji'
Playlists: 'Zbirke'
User Playlists:
@ -135,6 +140,11 @@ Settings:
The currently set default instance is $: Trenutačno postavljena standardna instanca
je $
Current Invidious Instance: Trenutačna Invidious instanca
External Link Handling:
No Action: Bez radnje
Ask Before Opening Link: Pitaj prije otvaranja poveznice
Open Link: Otvori poveznicu
External Link Handling: Rukovanje vanjskim poveznicama
Theme Settings:
Theme Settings: 'Postavke teme'
Match Top Bar with Main Color: 'Koristi glavnu boju u gornjoj traci'
@ -143,6 +153,7 @@ Settings:
Black: 'Crna'
Dark: 'Tamna'
Light: 'Svijetla'
Dracula: 'Drakula'
Main Color Theme:
Main Color Theme: 'Glavna boja teme'
Red: 'Crvena'
@ -161,6 +172,13 @@ Settings:
Amber: 'Žutosmeđa'
Orange: 'Narančasta'
Deep Orange: 'Tamnonarančasta'
Dracula Cyan: 'Drakula Cijan'
Dracula Green: 'Drakula Zelena'
Dracula Orange: 'Drakula Narančasta'
Dracula Pink: 'Drakula Ružičasta'
Dracula Purple: 'Drakula Ljubičasta'
Dracula Red: 'Drakula Crvena'
Dracula Yellow: 'Drakula Žuta'
Secondary Color Theme: 'Sekundarna boja teme'
#* Main Color Theme
UI Scale: Uvećanje korisničkog sučelja
@ -199,6 +217,7 @@ Settings:
Next Video Interval: Interval za sljedeći video
Scroll Volume Over Video Player: Mijenjaj glasnoću u video playeru
Display Play Button In Video Player: Prikaži gumb za pokretanje u video playeru
Fast-Forward / Rewind Interval: Interval za prematanje naprijed/natrag
Privacy Settings:
Privacy Settings: 'Postavke privatnosti'
Remember History: 'Zapamti povijest'
@ -655,6 +674,7 @@ Comments:
Newest first: Najprije najnovije
Top comments: Najpopularniji komentari
Sort by: Redoslijed
Show More Replies: Pokaži više odgovora
Up Next: 'Sljedeći'
# Toast Messages
@ -711,6 +731,9 @@ Tooltips:
poslužitelja na koji će se povezati.
Region for Trending: 'Regija trendova omogućuje biranje prikaza videa u trendu
za određenu zemlju. YouTube zapravo ne podržava sve prikazane zemlje.'
External Link Handling: "Odaberi standardno ponašanje kad se pritisne poveznica\
\ koja se ne može otvoriti u FreeTubeu.\nFreeTube takve poveznice otvara u tvom\
\ standardnom pregledniku.\n"
Subscription Settings:
Fetch Feeds from RSS: Kad je aktivirano, FreeTube će koristiti RSS umjesto vlastite
standardne metode za dohvaćanje podataka tvoje pretplate. RSS je brži i sprečava
@ -742,3 +765,8 @@ Open New Window: Otvori novi prozor
Default Invidious instance has been cleared: Standardna Invidious instanca je izbrisana
Default Invidious instance has been set to $: Standardna Invidious instanca je postavljena
na $
External link opening has been disabled in the general settings: Vanjsko otvaranje
poveznica je deaktivirano u općim postavkama
Search Bar:
Clear Input: Izbriši unos
Are you sure you want to open this link?: Stvarno želiš otvoriti ovu poveznicu?

View File

@ -1,6 +1,6 @@
# Put the name of your locale in the same language
Locale Name: 'magyar'
FreeTube: 'FreeTube'
FreeTube: 'SzabadCső'
# Currently on Subscriptions, Playlists, and History
'This part of the app is not ready yet. Come back later when progress has been made.': >-
Az alkalmazás ezen része még nem áll készen. Térjen vissza később amikor előrelépés
@ -124,7 +124,7 @@ Settings:
Preferred API Backend:
Preferred API Backend: 'Előnyben részesített háttér-API'
Local API: 'Helyi API'
Invidious API: 'Invidious API'
Invidious API: 'Invidious-API'
Video View Type:
Video View Type: 'Videó nézet típusa'
Grid: 'Rács'
@ -149,6 +149,11 @@ Settings:
No default instance has been set: Az alapértelmezett példány nincs beállítva
The currently set default instance is $: A jelenleg beállított alapértelmezett
példány $
External Link Handling:
No Action: Nincs művelet
Ask Before Opening Link: Hivatkozás megnyitása előtt mindig legyen kérdés
Open Link: Hivatkozás megnyitása
External Link Handling: Külső hivatkozás kezelése
Theme Settings:
Theme Settings: 'Téma beállítások'
Match Top Bar with Main Color: 'Illessze a felső sávot a fő színnel'
@ -157,6 +162,7 @@ Settings:
Black: 'Fekete'
Dark: 'Sötét'
Light: 'Világos'
Dracula: 'Drakula'
Main Color Theme:
Main Color Theme: 'Fő színtéma'
Red: 'Piros'
@ -175,6 +181,13 @@ Settings:
Amber: 'Borostyánsárga'
Orange: 'Narancssárga'
Deep Orange: 'Sötét narancssárga'
Dracula Cyan: 'Drakula Ciánkék'
Dracula Green: 'Drakula Zöld'
Dracula Orange: 'Drakula Narancssárga'
Dracula Pink: 'Drakula Rózsaszín'
Dracula Purple: 'Drakula Lila'
Dracula Red: 'Drakula Piros'
Dracula Yellow: 'Drakula Sárga'
Secondary Color Theme: 'Másodlagos színtéma'
#* Main Color Theme
UI Scale: Felhasználói felület méretezése
@ -242,12 +255,12 @@ Settings:
Select Import Type: 'Importálás típusa kiválasztása'
Select Export Type: 'Exportálás típusa kiválasztása'
Import Subscriptions: 'Feliratkozások importálása'
Import FreeTube: 'FreeTube importálása'
Import FreeTube: 'SzabadCső importálása'
Import YouTube: 'YouTube importálása'
Import NewPipe: 'NewPipe importálása'
Export Subscriptions: 'Feliratkozások exportálása'
Export FreeTube: 'FreeTube exportálása'
Export YouTube: 'FreeTube exportálása'
Export FreeTube: 'SzabadCső exportálása'
Export YouTube: 'SzabadCső exportálása'
Export NewPipe: 'NewPipe exportálása'
Import History: 'Előzmények importálása'
Export History: 'Előzmények exportálása'
@ -380,7 +393,7 @@ About:
Latest FreeTube News: 'Legfrissebb FreeTube hírek'
these people and projects: ezek emberek és projektek
FreeTube is made possible by: 'A FreeTube engedélyezése'
FreeTube is made possible by: 'A SzabadCső engedélyezése'
Donate: Hozzájárulás
Credits: Közreműködők
Translate: Fordítás
@ -400,7 +413,7 @@ About:
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
FreeTube Wiki: SzabadCső Wiki
Source code: Forráskód
Beta: Béta
FAQ: GyIK
@ -695,22 +708,25 @@ Yes: 'Igen'
No: 'Nem'
Tooltips:
General Settings:
Preferred API Backend: Válassza ki a háttéralkalmazást, amelyet a FreeTube használ
Preferred API Backend: Válassza ki a háttéralkalmazást, amelyet a SzabadCső használ
az adatok megszerzéséhez. A helyi-API egy beépített kinyerő. Az Invidious-API
használatához Invidious-kiszolgáló szükséges.
Region for Trending: A népszerűk körzetével kiválaszthatja, mely ország népszerű
videóit szeretné megjeleníteni. Nem minden megjelenített országot támogat a
YouTube.
Invidious Instance: Invidious példány, amelyhez a FreeTube csatlakozni fog az
Invidious Instance: Invidious példány, amelyhez a SzabadCső csatlakozni fog az
API-hívásokhoz. Törölje az aktuális példányt a nyilvános példányok listájának
megjelenítéséhez.
Thumbnail Preference: A FreeTube összes miniatűrökét az alapértelmezett miniatűr
Thumbnail Preference: A SzabadCső összes miniatűrökét az alapértelmezett miniatűr
helyett egy képkocka váltja fel.
Fallback to Non-Preferred Backend on Failure: Ha az Ön által előnyben részesített
API-val hibába merül fel, a FreeTube önműködően megpróbálja a nem előnyben API-t
tartalékként használni, ha engedélyezve van.
API-val hibába merül fel, a SzabadCső önműködően megpróbálja a nem előnyben
API-t tartalékként használni, ha engedélyezve van.
External Link Handling: "Válassza ki az alapértelmezett viselkedést, ha egy hivatkozásra\
\ kattintanak, amely nem nyitható meg a SzabadCsőben.\nA SzabadCső alapértelmezés\
\ szerint megnyitja a kattintott hivatkozást az alapértelmezett böngészőben.\n"
Subscription Settings:
Fetch Feeds from RSS: Ha engedélyezve van, a FreeTube az alapértelmezett módszer
Fetch Feeds from RSS: Ha engedélyezve van, a SzabadCső az alapértelmezett módszer
helyett RSS-t fog használni a feliratkozás hírcsatornájának megragadásához.
Az RSS gyorsabb és megakadályozza az IP-zárolást, de nem nyújt bizonyos tájékoztatást,
például a videó időtartamát vagy az élő állapotot
@ -729,11 +745,11 @@ Tooltips:
helyett. Segít, ha az Invidious által visszaküldött videókat nem lehet lejátszani
az ország korlátozása miatt.
Privacy Settings:
Remove Video Meta Files: Ha engedélyezve van, a FreeTube automatikusan törli a
videolejátszás során létrehozott metafájlokat, amikor a videómegtekintő oldal
Remove Video Meta Files: Ha engedélyezve van, a SzabadCső automatikusan törli
a videolejátszás során létrehozott metafájlokat, amikor a videómegtekintő oldal
bezárul.
External Player Settings:
Custom External Player Executable: Alapértelmezés szerint a FreeTube feltételezi,
Custom External Player Executable: Alapértelmezés szerint a SzabadCső feltételezi,
hogy a kiválasztott külső lejátszó megtalálható a PATH (ÚTVONAL) környezeti
változón keresztül. Szükség esetén itt egyéni útvonal állítható be.
Ignore Warnings: A figyelmeztetések elvetése, ha a jelenlegi külső lejátszó nem
@ -747,8 +763,8 @@ Playing Next Video Interval: A következő videó lejátszása folyamatban van.
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
Hashtags have not yet been implemented, try again later: A Hashtagek kezelése még
nincs megvalósítva. Próbálkozzon a következő verzióban.
Hashtags have not yet been implemented, try again later: A kettőskeresztescímkék kezelése
még nincs megvalósítva. Próbálkozzon a következő verzióban.
Unknown YouTube url type, cannot be opened in app: Ismeretlen YouTube URL-típusa,
nem nyitható meg az alkalmazásban
Open New Window: Új ablak megnyitása
@ -756,3 +772,8 @@ Default Invidious instance has been cleared: Az alapértelmezett Invidious-péld
eltávolítva
Default Invidious instance has been set to $: Az alapértelmezett Invidious-példány
$ beállítva
Search Bar:
Clear Input: Bemenet törlése
External link opening has been disabled in the general settings: A külső hivatkozás
megnyitása le van tiltva az általános beállításokban
Are you sure you want to open this link?: Biztosan megnyitja ezt a hivatkozást?

View File

@ -87,6 +87,8 @@ Subscriptions:
akses
Trending:
Trending: 'Sedang Tren'
Movies: Film
Music: Musik
Most Popular: 'Paling Populer'
Playlists: 'Daftar Putar'
User Playlists:
@ -144,6 +146,7 @@ Settings:
Black: 'Hitam'
Dark: 'Gelap'
Light: 'Terang'
Dracula: 'Dracula'
Main Color Theme:
Main Color Theme: 'Tema Warna Utama'
Red: 'Merah'
@ -162,6 +165,13 @@ Settings:
Amber: 'Ambar'
Orange: 'Jingga'
Deep Orange: 'Jingga Tua'
Dracula Cyan: 'Dracula Sian'
Dracula Green: 'Dracula Hijau'
Dracula Orange: 'Dracula Jingga'
Dracula Pink: 'Dracula Merah Muda'
Dracula Purple: 'Dracula Ungu'
Dracula Red: 'Dracula Merah'
Dracula Yellow: 'Dracula Kuning'
Secondary Color Theme: 'Warna Tema Sekunder'
#* Main Color Theme
Expand Side Bar by Default: Perluas Bilah Samping
@ -425,6 +435,7 @@ Profile:
kanalnya dari profil lain.'
#On Channel Page
Profile Filter: Filter Profil
Profile Settings: Pengaturan Profil
Channel:
Subscriber: 'Pelanggan'
Subscribers: 'Pelanggan'
@ -642,6 +653,7 @@ Comments:
Top comments: Komentar teratas
Sort by: Urut berdasarkan
There are no more comments for this video: Tidak ada komentar lagi untuk video ini
Show More Replies: Tampilkan Lebih Banyak Balasan
Up Next: 'Akan Datang'
# Toast Messages

View File

@ -152,6 +152,11 @@ Settings:
The currently set default instance is $: Fyrirliggjandi sjálfgefna tilvikið er
$
Current Invidious Instance: Fyrirliggjandi Invidious-tilvik
External Link Handling:
No Action: Ekkert gert
Ask Before Opening Link: Spyrja áður en tengill er opnaður
Open Link: Opna tengil
External Link Handling: Meðhöndlun ytri tengla
Theme Settings:
Theme Settings: 'Þemastillingar'
Match Top Bar with Main Color: 'Láta toppstiku samsvara aðallit'
@ -163,6 +168,7 @@ Settings:
Black: 'Svart'
Dark: 'Dökkt'
Light: 'Ljóst'
Dracula: 'Drakúla'
Main Color Theme:
Main Color Theme: 'Aðallitur þema'
Red: 'Rautt'
@ -181,6 +187,13 @@ Settings:
Amber: 'Raflitt'
Orange: 'Appelsínugult'
Deep Orange: 'Dimmappelsínugult'
Dracula Cyan: 'Drakúla Blágrænt'
Dracula Green: 'Drakúla Grænt'
Dracula Orange: 'Drakúla Appelsínugult'
Dracula Pink: 'Drakúla Bleikt'
Dracula Purple: 'Drakúla Purpurablátt'
Dracula Red: 'Drakúla Rautt'
Dracula Yellow: 'Drakúla Gult'
Secondary Color Theme: 'Aukalitur þema'
#* Main Color Theme
Player Settings:
@ -628,6 +641,9 @@ Tooltips:
Region for Trending: 'Landssvæði sem skal miða vinsældir við gerir þér kleift
að velja í hvaða landi aukning á vinsældum í umræðunni skal miða við. Ekki eru
öll löndin sem birtast raunverulega studd af YouTube.'
External Link Handling: "Veldu sjálfgefna hegðun þegar smellt er á tengil sem\
\ ekki er hægt að opna í FreeTube.\nSjálfgefið mun FreeTube opna viðkomandi\
\ tengil í sjálfgefna vafranum þínum.\n"
Player Settings:
Force Local Backend for Legacy Formats: 'Virkar bara þegar Invidious API-kerfisviðmótið
er sjálfgefið hjá þér. Þegar þetta er virkt, mun staðværa API-kerfisviðmótið
@ -697,3 +713,8 @@ Default Invidious instance has been cleared: Sjálfgefið Invidious-tilvik hefur
hreinsað út
Default Invidious instance has been set to $: Sjálfgefið Invidious-tilvik hefur verið
stillt sem $
Search Bar:
Clear Input: Hreinsa reit
External link opening has been disabled in the general settings: Opnun ytri tengla
hefur verið gerð óvirk í almennum stillingum
Are you sure you want to open this link?: Ertu viss um að þú viljir opna þennan tengil?

View File

@ -19,7 +19,7 @@ Delete: 'Elimina'
Select all: 'Seleziona tutto'
Reload: 'Ricarica'
Force Reload: 'Forza il ricaricamento'
Toggle Developer Tools: 'Abilita / Disattiva Strumenti sviluppatore'
Toggle Developer Tools: 'Abilita o disabilita strumenti sviluppatore'
Actual size: 'Grandezza effettiva'
Zoom in: 'Ingrandisci'
Zoom out: 'Rimpicciolisci'
@ -31,10 +31,10 @@ Back: 'Indietro'
Forward: 'Avanti'
# Search Bar
Search / Go to URL: 'Cerca / Vai a URL'
Search / Go to URL: 'Cerca e vai a URL'
# In Filter Button
Search Filters:
Search Filters: 'Filtri di Ricerca'
Search Filters: 'Filtri di ricerca'
Sort By:
Sort By: 'Filtra per'
Most Relevant: 'Più rilevante'
@ -61,7 +61,7 @@ Search Filters:
Short (< 4 minutes): 'Corto (< 4 minuti)'
Long (> 20 minutes): 'Lungo (> 20 minuti)'
# On Search Page
Search Results: 'Risultati di Ricerca'
Search Results: 'Risultati della ricerca'
Fetching results. Please wait: 'Caricamento risultati. Attendi'
Fetch more results: 'Carica più risultati'
# Sidebar
@ -91,12 +91,12 @@ Most Popular: 'Più popolari'
Playlists: 'Playlist'
User Playlists:
Your Playlists: 'Le tue playlist'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: La
lista preferiti è vuota. Clicca sul tasto Salva in basso a destra di un video
per vederlo qui
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: Non
ci sono video salvati. Fai clic sul pulsante Salva nell'angolo di un video per
averlo elencato qui
Playlist Message: Questa pagina non è rappresentativa di una playlist completa.
Mostra solo video che hai salvato o aggiunti ai preferiti. A lavoro finito, tutti
i video attualmente qui verrano spostati in una playlist dei «Preferiti».
i video attualmente qui verrano spostati in una playlist dei Preferiti.
History:
# On History Page
History: 'Cronologia'
@ -106,7 +106,7 @@ Settings:
# On Settings Page
Settings: 'Impostazioni'
General Settings:
General Settings: 'Impostazioni Generali'
General Settings: 'Impostazioni generali'
Fallback to Non-Preferred Backend on Failure: 'Reimposta Back-end non predefinito
in caso di errore'
Enable Search Suggestions: 'Abilita suggerimenti di ricerca'
@ -117,18 +117,18 @@ Settings:
Local API: 'API locali'
Invidious API: 'API di Invidious'
Video View Type:
Video View Type: 'Modalità di Visualizzazione Video'
Video View Type: 'Modalità di visualizzazione video'
Grid: 'Griglia'
List: 'Lista'
Thumbnail Preference:
Thumbnail Preference: 'Preferenze Miniatura'
Default: 'Default'
Thumbnail Preference: 'Preferenze delle miniature'
Default: 'Predefinito'
Beginning: 'Inizio'
Middle: 'Nel mezzo'
End: 'Fine'
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Istanza Invidious
(La predefinita è https://invidious.snopyta.org)'
Region for Trending: 'Regione per le Tendenze'
Region for Trending: 'Regione per le tendenze'
#! List countries
Check for Latest Blog Posts: Controlla gli ultimi post del blog
Check for Updates: Controlla gli aggiornamenti
@ -142,14 +142,20 @@ Settings:
The currently set default instance is $: L'attuale istanza predefinita è $
Current Invidious Instance: Istanza attuale di Invidious
System Default: Predefinito dal sistema
External Link Handling:
No Action: Nessuna azione
Ask Before Opening Link: Chiedi prima di aprire il collegamento
Open Link: Apri il collegamento
External Link Handling: Gestione dei collegamenti esterni
Theme Settings:
Theme Settings: 'Impostazioni Tema'
Theme Settings: 'Impostazioni del tema'
Match Top Bar with Main Color: 'Abbina la barra superiore con il colore principale'
Base Theme:
Base Theme: 'Tema di base'
Black: 'Nero'
Dark: 'Scuro'
Light: 'Chiaro'
Dracula: 'Dracula'
Main Color Theme:
Main Color Theme: 'Tema colori principale'
Red: 'Rosso'
@ -168,24 +174,31 @@ Settings:
Amber: 'Ambra'
Orange: 'Arancione'
Deep Orange: 'Arancione scuro'
Dracula Cyan: 'Dracula Ciano'
Dracula Green: 'Dracula Verde'
Dracula Orange: 'Dracula Arancione'
Dracula Pink: 'Dracula Rosa'
Dracula Purple: 'Dracula Viola'
Dracula Red: 'Dracula Rosso'
Dracula Yellow: 'Dracula Giallo'
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
Expand Side Bar by Default: Espandi automaticamente la barra laterale
Player Settings:
Player Settings: 'Impostazioni Riproduttore Video'
Player Settings: 'Impostazioni del riproduttore video'
Force Local Backend for Legacy Formats: 'Forza back-end locale per formati legacy'
Play Next Video: 'Riproduci Prossimo Video'
Turn on Subtitles by Default: 'Abilita Sottotitoli di Default'
Autoplay Videos: 'Riproduci Video Automaticamente'
Proxy Videos Through Invidious: 'Proxy dei Video tramite Invidious'
Play Next Video: 'Riproduci il prossimo video'
Turn on Subtitles by Default: 'Abilita i sottotitoli per impostazione predefinita'
Autoplay Videos: 'Riproduci i video automaticamente'
Proxy Videos Through Invidious: 'Proxy dei video tramite Invidious'
Autoplay Playlists: 'Riproduci le playlist automaticamente'
Enable Theatre Mode by Default: 'Abilita modalità teatro come predefinita'
Default Volume: 'Volume predefinito'
Default Playback Rate: 'Velocità di riproduzione predefinita'
Default Video Format:
Default Video Format: 'Formato video predefinito'
Default Video Format: 'Formati video predefiniti'
Dash Formats: 'Formati DASH'
Legacy Formats: 'Formati Legacy'
Audio Formats: 'Formati Audio'
@ -202,7 +215,7 @@ Settings:
4k: '4k'
8k: '8k'
Playlist Next Video Interval: Intervallo video successivo nella playlist
Fast-Forward / Rewind Interval: Intervallo di avanzamento veloce/riavvolgimento
Fast-Forward / Rewind Interval: Avanzamento veloce o riavvolgimento nastro
Next Video Interval: Prossimo intervallo video
Display Play Button In Video Player: Visualizza il pulsante di riproduzione nel
lettore
@ -210,30 +223,30 @@ Settings:
Privacy Settings:
Privacy Settings: 'Impostazioni privacy'
Remember History: 'Salva la Cronologia'
Save Watched Progress: 'Ricorda Avanzamento Video'
Save Watched Progress: 'Salva i progressi osservati'
Clear Search Cache: 'Pulisci la cache di ricerca'
Are you sure you want to clear out your search cache?: 'Sei sicuro/a di voler
pulire la cache di ricerca?'
Are you sure you want to clear out your search cache?: 'Sei sicuro di voler pulire
la cache di ricerca?'
Search cache has been cleared: 'La cache di ricerca è stata pulita'
Remove Watch History: 'Cancella la cronologia visualizzazioni'
Are you sure you want to remove your entire watch history?: 'Sei sicuro/a di voler
Are you sure you want to remove your entire watch history?: 'Sei sicuro di voler
cancellare l''intera cronologia di visualizzazione?'
Watch history has been cleared: 'La cronologia di visualizzazioni è stata pulita'
Are you sure you want to remove all subscriptions and profiles? This cannot be undone.: Sei
sicuro/a di volere eliminare tutte le iscrizioni e profili? L'operazione non
sicuro di volere eliminare tutte le iscrizioni e i profili? L'operazione non
può essere annullata.
Remove All Subscriptions / Profiles: Elimina Tutte le Iscrizioni / Profili
Remove All Subscriptions / Profiles: Elimina tutte le iscrizioni e i profili
Automatically Remove Video Meta Files: Rimuovi automaticamente i metafile dei
video
Subscription Settings:
Subscription Settings: 'Impostazioni iscrizioni'
Hide Videos on Watch: 'Nascondi Video durante la riproduzione'
Hide Videos on Watch: 'Nascondi i video durante la riproduzione'
Subscriptions Export Format:
Subscriptions Export Format: ''
#& Freetube
Newpipe: 'Newpipe'
OPML: 'OPML'
Manage Subscriptions: 'Gestisci Iscrizioni'
Manage Subscriptions: 'Gestisci le iscrizioni'
Import Subscriptions: 'Importa Iscrizioni'
Export Subscriptions: 'Esporta Iscrizioni'
How do I import my subscriptions?: 'Come importo le mie iscrizioni?'
@ -253,14 +266,14 @@ Settings:
Clear History:
Clear History: 'Pulisci Cronologia'
# On Click
Are you sure you want to delete your history?: 'Sei sicuro/a di voler eliminare
Are you sure you want to delete your history?: 'Sei sicuro di voler eliminare
la cronologia?'
#& Yes
#& No
Clear Subscriptions:
Clear Subscriptions: 'Pulisci Iscrizioni'
# On Click
Are you sure you want to remove all subscriptions?: 'Sei sicuro/a di voler rimuovere
Are you sure you want to remove all subscriptions?: 'Sei sicuro di voler rimuovere
tutte le iscrizioni?'
#& Yes
#& No
@ -274,9 +287,9 @@ Settings:
è stata esportata con successo
All watched history has been successfully imported: La cronologia di visualizzazione
è stata importata con successo
History object has insufficient data, skipping item: La Cronologia ha dati insufficienti,
History object has insufficient data, skipping item: La cronologia ha dati insufficienti,
non verrà elaborata
Import Subscriptions: Importa Iscrizioni
Import Subscriptions: Importa le iscrizioni
Subscriptions have been successfully exported: Tutte le iscrizioni sono state
esportate con successo
Invalid history file: File cronologia non valido
@ -291,28 +304,28 @@ Settings:
e i profili sono stati importati con successo
Profile object has insufficient data, skipping item: Il profilo selezionato ha
dati insufficienti, quindi non sarà elaborato
Export History: Esporta la Cronologia
Import History: Importa la Cronologia
Export History: Esporta la cronologia
Import History: Importa la cronologia
Export NewPipe: Esporta per NewPipe
Export YouTube: Esporta per YouTube
Export FreeTube: Esporta per FreeTube
Export Subscriptions: Esporta Iscrizioni
Export Subscriptions: Esporta le iscrizioni
Import NewPipe: Importa da NewPipe
Import YouTube: Importa da YouTube
Import FreeTube: Importa da FreeTube
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
Select Export Type: Seleziona il tipo di esportazione
Select Import Type: Seleziona il tipo di importazione
Data Settings: Impostazioni dei dati
Check for Legacy Subscriptions: Controlla iscrizioni in formato Legacy
Manage Subscriptions: Gestisci le tue iscrizioni
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 Popular Videos: Nascondi i video popolari
Hide Trending Videos: Nascondi i video in tendenze
Hide Recommended Videos: Nascondi i video suggeriti
Hide Comment Likes: Nascondi Mi piace dai commenti
Hide Channel Subscribers: Nascondi il numero di iscritti
Hide Video Views: Nascondi le visualizzazioni dei 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
Hide Active Subscriptions: Nascondi le iscrizioni attive
@ -322,40 +335,40 @@ Settings:
ora?
Proxy Settings:
Proxy Protocol: Protocollo Proxy
Enable Tor / Proxy: Attiva Tor / Proxy
Enable Tor / Proxy: Attiva Tor o Proxy
Proxy Settings: Impostazioni proxy
Error getting network information. Is your proxy configured properly?: C'è stato
un errore di acquisizione delle informazioni di rete. Il proxy è stato configurato
correttamente?
City: Città
Region: Regione
Country: Paese
Country: Nazione
Ip: Ip
Your Info: Le tue informazioni
Test Proxy: Testa proxy
Clicking on Test Proxy will send a request to: Cliccando su «Testa proxy» verrà
Clicking on Test Proxy will send a request to: Cliccando su Testa proxy verrà
inviata una richiesta a
Proxy Port Number: Numero di porta Proxy
Proxy Host: Host Proxy
Proxy Port Number: Numero di porta del proxy
Proxy Host: Host del proxy
SponsorBlock Settings:
Notify when sponsor segment is skipped: Notifica quando un segmento sponsor viene
saltato
'SponsorBlock API Url (Default is https://sponsor.ajay.app)': URL API di SponsorBlock
(l'impostazione predefinita è https://sponsor.ajay.app)
Enable SponsorBlock: Abilita Sponsorblock
Enable SponsorBlock: Abilita SponsorBlock
SponsorBlock Settings: Impostazioni di SponsorBlock
External Player Settings:
Custom External Player Arguments: Impostazioni personalizzate del lettore esterno
Custom External Player Executable: Lettore personalizzato esterno eseguibile
Ignore Unsupported Action Warnings: Ignora avvisi di azioni non supportate
External Player: Lettore esterne
External Player Settings: Impostazioni del lettore esterne
External Player: Lettore esterno
External Player Settings: Impostazioni del lettore esterno
About:
#On About page
About: 'Informazioni'
#& About
'This software is FOSS and released under the GNU Affero General Public License v3.0.': 'Questo
software in permesso d''autore è sotto licenza gratuita AGPL-3.0.'
software è rilasciato con licenza gratuita AGPL-3.0.'
'Found a bug? Want to suggest a feature? Want to help out? Check out our GitHub page. Pull requests are welcome.': >-
Hai trovato un problema? Vuoi suggerire nuove funzionalità? Vuoi dare una mano?
@ -368,10 +381,10 @@ About:
chattare? Entra nel nostro server Element / Matrix. Per favore, leggi il regolamento
prima di entrare.'
'Looking for help? Check out our Wiki page.': 'Cerchi aiuto? Da unocchiata alla
'Looking for help? Check out our Wiki page.': 'Cerchi aiuto? Dai unocchiata alla
nostra pagina Wiki.'
Check out our Firefox extension!: 'Da unocchiata alla nostra estensione Firefox!'
Check out our Firefox extension!: 'Dai unocchiata alla nostra estensione Firefox!'
'If you enjoy using FreeTube, consider donating via Liberapay or through our Bitcoin address.': 'Se
ti piace FreeTube, prendi in considerazione di donare con Liberapay o al nostro
@ -389,13 +402,13 @@ About:
FAQ: Domande frequenti
FreeTube Wiki: Wiki FreeTube
Help: Aiuto
Downloads / Changelog: Scaricamenti / Registro modifiche
Downloads / Changelog: Download e changelog
GitHub releases: Versioni pubblicate su GitHub
these people and projects: queste persone e questi progetti
FreeTube is made possible by: FreeTube è reso possibile grazie a
Credits: Crediti
Translate: Traduci
room rules: Regole stanza
Translate: Traduzioni
room rules: regole stanza
Please read the: Si prega di leggere
Chat on Matrix: Chatta su Matrix
Mastodon: Mastodon
@ -422,32 +435,32 @@ Channel:
Sort Types:
Newest: 'Recenti'
Oldest: 'Più vecchi'
Most Popular: 'Più Popolari'
Most Popular: 'Più popolari'
Playlists:
Playlists: 'Playlist'
This channel does not currently have any playlists: 'Questo canale attualmente
non ha nessuna playlist'
Sort Types:
Last Video Added: 'Ultimo Video Aggiunto'
Newest: 'Più Recenti'
Oldest: 'Più Vecchi'
Last Video Added: 'Ultimo video aggiunto'
Newest: 'Più recenti'
Oldest: 'Più vecchi'
About:
About: 'Informazioni'
Channel Description: 'Descrizione Canale'
Featured Channels: 'Canali Suggeriti'
Channel Description: 'Descrizione canale'
Featured Channels: 'Canali suggeriti'
Added channel to your subscriptions: Aggiunto canale alle tue iscrizioni
Removed subscription from $ other channel(s): Rimossa iscrizione dagli altri canali
di $
Channel has been removed from your subscriptions: Il canale è stato rimosso dalle
tue iscrizioni
Video:
Mark As Watched: 'Segna come visto'
Mark As Watched: 'Segna come già visto'
Remove From History: 'Rimuovi dalla cronologia'
Video has been marked as watched: 'Il video è stato contrassegnato come visualizzato'
Video has been marked as watched: 'Il video è stato contrassegnato come già visto'
Video has been removed from your history: 'Il video è stato rimosso dalla cronologia'
Open in YouTube: 'Apri su YouTube'
Open in YouTube: 'Apri con YouTube'
Copy YouTube Link: 'Copia collegamento YouTube'
Open YouTube Embedded Player: 'Apri Lettore YouTube Incorporato'
Open YouTube Embedded Player: 'Apri Lettore YouTube incorporato'
Copy YouTube Embedded Player Link: 'Copia collegamento del lettore YouTube incorporato'
Open in Invidious: 'Apri in Invidious'
Copy Invidious Link: 'Copia collegamento Invidious'
@ -462,7 +475,7 @@ Video:
Live Chat: 'Chat dal vivo'
Enable Live Chat: 'Abilita chat dal vivo'
Live Chat is currently not supported in this build.: 'La chat dal vivo al momento
non è supportata per questa versione.'
non è supportata in questa versione.'
'Chat is disabled or the Live Stream has ended.': 'La chat è disabilitata o la diretta
è terminata.'
Live chat is enabled. Chat messages will appear here once sent.: 'La chat dal vivo
@ -504,13 +517,13 @@ Video:
Publicationtemplate: '$ % fa'
#& Videos
Play Previous Video: Riproduci il video precedente
Play Next Video: Riproduci il Prossimo Video
Play Next Video: Riproduci il prossimo video
Reverse Playlist: Playlist inversa
Shuffle Playlist: Riproduzione playlist casuale
Loop Playlist: Riproduzione senza sosta
Autoplay: Riproduzione Automatica
Starting soon, please refresh the page to check again: La riproduzione partirà a
breve, refreshare la pagina per ricontrollare
Loop Playlist: Riproduzione continua
Autoplay: Ripro. automatica
Starting soon, please refresh the page to check again: La riproduzione partirà tra
breve, aggiorna la pagina per ricontrollare
Audio:
Best: Migliore
High: Alto
@ -518,38 +531,38 @@ Video:
Low: Basso
audio only: solo audio
video only: solo video
Download Video: Scarica la video
Download Video: Scarica video
Copy Invidious Channel Link: Copia collegamento del canale Invidious
Open Channel in Invidious: Apri il canale su Invidious
Copy YouTube Channel Link: Copia collegamento del canale YouTube
Open Channel in YouTube: Apri il canale su YouTube
Open Channel in YouTube: Apri il canale con YouTube
Started streaming on: Stream iniziato il
Streamed on: Streaming il
Video has been removed from your saved list: Il video è stato rimosso dalla lista
preferiti
Video has been removed from your saved list: Il video è stato rimosso dalla tua
lista preferiti
Video has been saved: Il video è stato salvato
Save Video: Salva il video
Save Video: Salva video
External Player:
Unsupported Actions:
looping playlists: playlist a ripetizione
looping playlists: ripetizione playlist
shuffling playlists: mescolare l'ordine delle playlist
reversing playlists: invertire l'ordine delle playlist
opening specific video in a playlist (falling back to opening the video): aprire
un video specifico in una playlist (tornando all'apertura del video)
setting a playback rate: impostare una velocità di riproduzione
video specifico in una playlist (tornando all'apertura del video)
setting a playback rate: imposta velocità di riproduzione
opening playlists: aprire playlist
starting video at offset: avvio del video con uno sfasamento
UnsupportedActionTemplate: '$ non supporta: %'
OpeningTemplate: Apertura di $ in %…
OpeningTemplate: Apertura di $ con %…
playlist: playlist
video: video
OpenInTemplate: Apri in $
OpenInTemplate: Apri con $
Sponsor Block category:
music offtopic: musica fuori tema
interaction: interazione
self-promotion: autopromozione
outro: outro
intro: intro
outro: conclusione
intro: introduzione
sponsor: sponsor
Skipped segment: Segmento saltato
translated from English: tradotto dall'inglese
@ -570,7 +583,7 @@ Playlist:
Share Playlist:
Share Playlist: 'Condividi la playlist'
Copy YouTube Link: 'Copia collegamento YouTube'
Open in YouTube: 'Apri su YouTube'
Open in YouTube: 'Apri con YouTube'
Copy Invidious Link: 'Copia collegamento Invidious'
Open in Invidious: 'Apri in Invidious'
@ -578,39 +591,40 @@ Playlist:
#* Published
#& Views
Playlist: Playlist
Toggle Theatre Mode: 'Attiva Modalità Cinema'
Toggle Theatre Mode: 'Attiva modalità cinema'
Change Format:
Change Video Formats: 'Cambia Formati Video'
Change Video Formats: 'Cambia formati video'
Use Dash Formats: 'Usa formati DASH'
Use Legacy Formats: 'Usa Formati Legacy'
Use Legacy Formats: 'Usa formati Legacy'
Use Audio Formats: 'Usa Formati Audio'
Audio formats are not available for this video: I formati audio non sono disponibili
per questo video
Dash formats are not available for this video: Formati DASH non disponibili per
questo video
Share:
Share Video: 'Condividi Video'
Share Video: 'Condividi video'
Copy Link: 'Copia collegamento'
Open Link: 'Apri collegamento'
Copy Embed: 'Copia Codice da Incorporare'
Open Embed: 'Apri Codice da Incorporare'
Copy Embed: 'Copia codice da Incorporare'
Open Embed: 'Apri codice da Incorporare'
# On Click
Invidious URL copied to clipboard: 'URL Invidious copiato negli appunti'
Invidious Embed URL copied to clipboard: 'URL di Invidious da Incorporare copiato
Invidious Embed URL copied to clipboard: 'URL di Invidious da incorporare copiato
negli appunti'
YouTube URL copied to clipboard: 'URL YouTube copiato negli appunti'
YouTube Embed URL copied to clipboard: 'URL di YouTube da incorporare copiato negli
appunti'
Include Timestamp: Includi Timestamp
YouTube Channel URL copied to clipboard: URL Canale YouTube copiato negli appunti
Include Timestamp: Includi marca temporale
YouTube Channel URL copied to clipboard: URL canale YouTube copiato negli appunti
Invidious Channel URL copied to clipboard: URL Canale Invidous copiato negli appunti
Mini Player: 'Visualizzatore Mini'
Mini Player: 'Mini visualizzatore'
Comments:
Comments: 'Commenti'
Click to View Comments: 'Clicca per Vedere i Commenti'
Getting comment replies, please wait: 'Sto recuperando le risposte, attendere prego'
Show Comments: 'Mostra Commenti'
Hide Comments: 'Nascondi Commenti'
Click to View Comments: 'Clicca per Vedere i commenti'
Getting comment replies, please wait: 'Sto ricevendo risposte ai commenti, per favore
aspetta'
Show Comments: 'Mostra commenti'
Hide Comments: 'Nascondi commenti'
# Context: View 10 Replies, View 1 Reply
View: 'Guarda'
Hide: 'Nascondi'
@ -625,7 +639,7 @@ Comments:
Newest first: I più nuovi
Sort by: Ordina per
Show More Replies: Mostra altre risposte
Up Next: 'Prossimo'
Up Next: 'Video seguenti'
# Toast Messages
Local API Error (Click to copy): 'Errore API Locale (Clicca per copiare)'
@ -652,15 +666,15 @@ A new blog is now available, $. Click to view more: Un nuovo blog è ora disponi
$. Clicca per saperne di più
Version $ is now available! Click for more details: La versione $ è ora disponibile!
Clicca per maggiori dettagli
Download From Site: Scarica Dal Sito
Download From Site: Scarica dal sito
The playlist has been reversed: La playlist è stata invertita
Profile:
Are you sure you want to delete the selected channels? This will not delete the channel from any other profile.: Sei
sicuro/a di voler eliminare i canali selezionati? L'operazione non eliminerà i
canali da nessun altro profilo.
sicuro di voler eliminare i canali selezionati? L'operazione non eliminerà i canali
da nessun altro profilo.
? 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.
: Questo è il tuo profilo primario. Sei sicuro/a di voler eliminare i canali selezionati?
: Questo è il tuo profilo primario. Sei sicuro di voler eliminare i canali selezionati?
Gli stessi canali saranno eliminati da ogni profilo in cui sono presenti.
No channel(s) have been selected: Nessun canale è stato selezionato
Add Selected To Profile: Aggiungi i selezionati al profilo
@ -677,10 +691,10 @@ Profile:
Your default profile has been set to $: $ è stato impostato come profilo predefinito
Profile has been updated: Il profilo è stato aggiornato
Profile has been created: Il profilo è stato creato
Your profile name cannot be empty: Il tuo nome profilo non può essere vuoto
Your profile name cannot be empty: Il nome del profilo non può essere vuoto
Profile could not be found: Impossibile trovare il profilo
All subscriptions will also be deleted.: Tutte le iscrizioni saranno eliminate.
Are you sure you want to delete this profile?: Sei sicuro/a di voler eliminare il
Are you sure you want to delete this profile?: Sei sicuro di voler eliminare il
profilo?
Delete Profile: Elimina profilo
Make Default Profile: Imposta come profilo predefinito
@ -698,11 +712,11 @@ Profile:
Profile Settings: Impostazioni del profilo
This video is unavailable because of missing formats. This can happen due to country unavailability.: Questo
video non è disponibile a causa di alcuni formati mancanti. Questo può succedere
in caso di mancata disponibilità del paese.
in caso di mancata disponibilità della nazione.
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
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.
@ -714,22 +728,25 @@ Tooltips:
Subscription Settings:
Fetch Feeds from RSS: Quando abilitato, FreeTube userà gli RSS invece del metodo
standard per leggere la tua lista iscrizioni. Gli RSS sono più veloci e impediscono
il blocco dell'IP, ma non fornisce determinate informazioni come la durata del
video o lo stato in diretta
il blocco dell'IP, ma non forniscono determinate informazioni come la durata
del video o lo stato in diretta
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.
Invidious Instance: 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: Quando 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.
dati. L'API locale è un estrattore integrato. Le API Invidious richiedono un
server Invidious dove connettersi.
Region for Trending: La regione delle tendenze permette di scegliere la nazione
di cui si vogliono vedere i video di tendenza. Non tutte le nazioni mostrate
sono ufficialmente supportate da YouTube.
External Link Handling: "Scegli il comportamento predefinito quando si clicca\
\ su un collegamento che non può essere aperto in FreeTube.\nPer impostazione\
\ predefinita FreeTube aprirà il collegamento nel browser predefinito.\n"
External Player Settings:
Ignore Warnings: Sopprime gli avvisi per quando il lettore esterno corrente non
supporta l'azione corrente (ad esempio, invertire le playlist, ecc.).
@ -754,8 +771,13 @@ Open New Window: Apri una nuova finestra
Default Invidious instance has been cleared: L'istanza predefinita di Invidious è
stata cancellata
Default Invidious instance has been set to $: L'istanza predefinita di Invidious è
stata impostata su $
stata impostata a $
Hashtags have not yet been implemented, try again later: Gli hashtag non sono ancora
stati implementati, riprova più tardi
Unknown YouTube url type, cannot be opened in app: Tipo di URL YouTube sconosciuto,
non può essere aperto nell'applicazione
Search Bar:
Clear Input: Cancella l'ingresso
External link opening has been disabled in the general settings: L'apertura dei collegamenti
esterni è stata disabilitata nelle impostazioni generali
Are you sure you want to open this link?: Sei sicuro/a di voler aprire questo collegamento?

View File

@ -76,6 +76,11 @@ Subscriptions:
Load More Videos: もっと見る
Trending:
Trending: '急上昇'
Trending Tabs: 急上昇のタブ
Movies: 映画
Gaming: ゲーム
Music: 音楽
Default: 既定
Most Popular: '人気'
Playlists: '再生リスト'
User Playlists:
@ -118,6 +123,17 @@ Settings:
Check for Updates: 最新版の確認
View all Invidious instance information: すべての Invidious インスタンス情報の表示
System Default: システムのデフォルト
Clear Default Instance: デフォルトの設定をクリアする
Set Current Instance as Default: 現在のインスタンスを既定として設定する
Current instance will be randomized on startup: 現在のインスタンスは起動時にランダム化されます
No default instance has been set: 既定のインスタンスが設定されていません
The currently set default instance is $: 現在設定されている既定のインスタンスは $です
Current Invidious Instance: 現在のinvidiousインスタンス
External Link Handling:
No Action: 何もしない
Ask Before Opening Link: リンクを開く前に確認
Open Link: リンクの表示
External Link Handling: 外部リンク処理
Theme Settings:
Theme Settings: 'テーマの設定'
Match Top Bar with Main Color: '上部バーをメイン カラーと同じにする'
@ -126,6 +142,7 @@ Settings:
Black: '黒'
Dark: 'ダーク'
Light: 'ライト'
Dracula: 'ドラキュラ'
Main Color Theme:
Main Color Theme: 'テーマのメイン カラー'
Red: '赤'
@ -144,6 +161,13 @@ Settings:
Amber: '琥珀'
Orange: 'オレンジ'
Deep Orange: '濃いオレンジ'
Dracula Cyan: 'ドラキュラ シアン'
Dracula Green: 'ドラキュラ 緑'
Dracula Orange: 'ドラキュラ オレンジ'
Dracula Pink: 'ドラキュラ 桃'
Dracula Purple: 'ドラキュラ 紫'
Dracula Red: 'ドラキュラ 赤'
Dracula Yellow: 'ドラキュラ 黄'
Secondary Color Theme: 'テーマのアクセント カラー'
#* Main Color Theme
UI Scale: UI 縮尺率
@ -180,6 +204,9 @@ Settings:
8k: '8K'
Playlist Next Video Interval: 次の再生リストを再生する間隔
Next Video Interval: 次のビデオまでの間隔
Fast-Forward / Rewind Interval: 早送り/巻き戻し間隔
Display Play Button In Video Player: ビデオプレーヤーで再生ボタンを表示する
Scroll Volume Over Video Player: ビデオプレーヤーの上にボリュームをスクロール
Subscription Settings:
Subscription Settings: '登録チャンネルの設定'
Hide Videos on Watch: '視聴済み動画の非表示'
@ -293,9 +320,15 @@ Settings:
https://sponsor.ajay.app
Enable SponsorBlock: 広告ブロック有効
SponsorBlock Settings: 広告ブロック設定
External Player Settings:
Custom External Player Arguments: カスタム外部プレーヤー引数
Custom External Player Executable: カスタム外部プレーヤーの実行可能ファイル
Ignore Unsupported Action Warnings: サポートされていないアクションの警告を無視
External Player: 外部プレーヤー
External Player Settings: 外部プレーヤーの設定
About:
#On About page
About: 'About'
About: '就いて'
#& About
'This software is FOSS and released under the GNU Affero General Public License v3.0.': 'このコピーレフトのソフトウェアは、AGPL-3.0
の自由なライセンスです。'
@ -466,6 +499,21 @@ Video:
outro: その他
intro: イントロ
Skipped segment: スキップされたセグメント
External Player:
OpeningTemplate: '%で$を開く...'
Unsupported Actions:
looping playlists: 再生リストのループ
shuffling playlists: シャッフルプレイリスト
reversing playlists: プレイリストを反転させる
opening specific video in a playlist (falling back to opening the video): プレイリストで特定のビデオを開く
(ビデオを開く前にフォールバック)
opening playlists: プレイリストを開く
setting a playback rate: 再生レートの設定
starting video at offset: オフセット時にビデオを開始する
UnsupportedActionTemplate: '$はサポートしていません: %'
playlist: 再生リスト
video: ビデオ
OpenInTemplate: $で開く
Videos:
#& Sort By
Sort By:
@ -490,6 +538,7 @@ Playlist:
# On Video Watch Page
#* Published
#& Views
Playlist: プレイリスト
Toggle Theatre Mode: 'サイズ変更'
Change Format:
Change Video Formats: '動画形式の変更'
@ -531,6 +580,7 @@ Comments:
Newest first: 新しい順
No more comments available: これ以上のコメントはありません
Sort by: 並び替え
Show More Replies: その他の返信を表示する
Up Next: '次の動画'
# Toast Messages
@ -588,6 +638,7 @@ Profile:
same channels will be deleted in any profile they are found in.
: これは上位のプロファイルです。選択したチャンネルを削除しますか?同じチャンネルがほかのプロファイルにも登録されていれば削除されます。
Profile Filter: プロファイルのフィルター
Profile Settings: プロファイル設定
The playlist has been reversed: 再生リストを逆順にしました
A new blog is now available, $. Click to view more: '新着ブログ公開、$。クリックしてブログを読む'
Download From Site: サイトからダウンロード
@ -595,8 +646,8 @@ 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:
Fetch Feeds from RSS: 有効にすると、FreeTube は、登録チャンネルの情報を、通常の方法の代わりに RSS から取得します。RSS
は高速であり IP 制限も回避できますが、動画の長さやライブ配信の状態などの詳細情報は提供されていません
Fetch Feeds from RSS: 有効にすると, FreeTubeは、登録チャンネルの情報を、通常の方法の代わりにRSSから取得します。RSS は高速であり
IP 制限も回避できますが、動画の長さやライブ配信の状態などの詳細情報は提供されていません
Player Settings:
Default Video Format: 動画再生で使用する形式の設定です。DASH 形式であれば高品質で再生できます。旧形式だと、最大 720p に制限されますが、使用する帯域幅を減らせます。音声形式は音声のみです。
Force Local Backend for Legacy Formats: Invidious API の選択時にのみ実行します。有効にすると、Invidious
@ -610,11 +661,25 @@ Tooltips:
Fallback to Non-Preferred Backend on Failure: 有効にすると、選択した API で取得できなければ、FreeTube
は自動的に他の API での取得を試みます。
Region for Trending: 急上昇の地域設定では、急上昇動画を表示する国を選択できます。YouTube は、すべての国に対応していません。
External Link Handling: "FreeTube で開けないリンクをクリックしたときのデフォルトの動作を選択します。\nデフォルトでは、FreeTube\
\ はクリックしたリンクをデフォルトのブラウザで開きます。\n"
Privacy Settings:
Remove Video Meta Files: 有効にすると、FreeTube はビデオ再生中に作成したメタファイルは、再生ページを閉じるときに自動的に削除されます。
External Player Settings:
Custom External Player Arguments: (';')、セミコロンで区切られたカスタム コマンド ライン引数を外部プレーヤーに渡します。
Ignore Warnings: 現在の外部プレーヤーが現在のアクションをサポートしていない場合(プレイリストの反転など)に関する警告を抑制します。
Custom External Player Executable: デフォルトでは、FreeTubeは選択した外部プレーヤーが PATH 環境変数を介して見つかると想定します。必要に応じて、カスタム
パスをここで設定できます。
External Player: 外部プレーヤーを選択すると、ビデオ (サポートされている場合はプレイリスト) を開くためのアイコンが表示されます。
Playing Next Video Interval: すぐに次のビデオを再生します。クリックするとキャンセル。|次のビデオを {nextVideoInterval}
秒で再生します。クリックするとキャンセル。|次のビデオを {nextVideoInterval} 秒で再生します。クリックするとキャンセル。
More: もっと見る
Hashtags have not yet been implemented, try again later: ハッシュタグは未実装です。実装後に実行してください
Unknown YouTube url type, cannot be opened in app: 不明な YouTube URL の種類、アプリで実行できません
Open New Window: 新しいウィンドウを開く
Default Invidious instance has been cleared: デフォルトのInvidiousインスタンスがクリアされました
Default Invidious instance has been set to $: デフォルトのInvidiousインスタンスは$に設定されています
External link opening has been disabled in the general settings: 一般設定で外部リンクの表示は無効になっています
Search Bar:
Clear Input: 入力の消去
Are you sure you want to open this link?: このリンクを開きますか?

View File

@ -139,6 +139,7 @@ Settings:
Black: '검정'
Dark: '어두운 테마'
Light: '밝은 테마'
Dracula: '드라큘라'
Main Color Theme:
Main Color Theme: '메인 색상 테마'
Red: '빨강'
@ -157,6 +158,13 @@ Settings:
Amber: '호박색'
Orange: '주황'
Deep Orange: '진주황'
Dracula Cyan: '드라큘라 시안'
Dracula Green: '드라큘라 녹색'
Dracula Orange: '드라큘라 주황'
Dracula Pink: '드라큘라 보라'
Dracula Purple: '드라큘라 보라'
Dracula Red: '드라큘라 빨강'
Dracula Yellow: '드라큘라 노랑'
Secondary Color Theme: '보조색상테마'
#* Main Color Theme
Player Settings:

View File

@ -134,6 +134,7 @@ Settings:
Black: 'Lividus'
Dark: 'Niger'
Light: 'Illustris'
Dracula: 'Dracula'
Main Color Theme:
Main Color Theme: 'Pelagus Color Lemma'
Red: 'Ruber'
@ -152,6 +153,13 @@ Settings:
Amber: ''
Orange: ''
Deep Orange: ''
Dracula Cyan: 'Dracula Galben'
Dracula Green: 'Dracula Prasinus'
Dracula Orange: 'Dracula Orange'
Dracula Pink: 'Dracula Roseus'
Dracula Purple: 'Dracula Purpura'
Dracula Red: 'Dracula Ruber'
Dracula Yellow: 'Dracula Flavum'
Secondary Color Theme: ''
#* Main Color Theme
Player Settings:

Some files were not shown because too many files have changed in this diff Show More