Merge branch 'FreeTubeApp:development' into development

This commit is contained in:
fdarcey 2023-11-14 12:53:58 -07:00 committed by GitHub
commit 72b8d18402
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 842 additions and 546 deletions

View File

@ -11,7 +11,7 @@ jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: github/issue-labeler@v3.2
- uses: github/issue-labeler@v3.3
with:
configuration-path: .github/issue-labeler.yml
enable-versioned-regex: 0

View File

@ -62,7 +62,7 @@
"autolinker": "^4.0.0",
"electron-context-menu": "^3.6.1",
"lodash.debounce": "^4.0.8",
"marked": "^9.1.5",
"marked": "^10.0.0",
"path-browserify": "^1.0.1",
"process": "^0.11.10",
"video.js": "7.21.5",
@ -80,23 +80,23 @@
"youtubei.js": "^7.0.0"
},
"devDependencies": {
"@babel/core": "^7.23.2",
"@babel/eslint-parser": "^7.22.15",
"@babel/core": "^7.23.3",
"@babel/eslint-parser": "^7.23.3",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/preset-env": "^7.23.2",
"@babel/preset-env": "^7.23.3",
"@double-great/stylelint-a11y": "^2.0.2",
"babel-loader": "^9.1.3",
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^6.8.1",
"css-minimizer-webpack-plugin": "^5.0.1",
"electron": "^27.0.3",
"electron": "^27.0.4",
"electron-builder": "^24.6.4",
"eslint": "^8.53.0",
"eslint-config-prettier": "^9.0.0",
"eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-jsonc": "^2.10.0",
"eslint-plugin-n": "^16.2.0",
"eslint-plugin-n": "^16.3.1",
"eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-promise": "^6.1.1",
"eslint-plugin-unicorn": "^49.0.0",

View File

@ -4,6 +4,8 @@ import FtSettingsSection from '../ft-settings-section/ft-settings-section.vue'
import FtToggleSwitch from '../ft-toggle-switch/ft-toggle-switch.vue'
import FtInputTags from '../../components/ft-input-tags/ft-input-tags.vue'
import FtFlexBox from '../ft-flex-box/ft-flex-box.vue'
import { showToast } from '../../helpers/utils'
import { checkYoutubeId, findChannelTagInfo } from '../../helpers/channels'
export default defineComponent({
name: 'PlayerSettings',
@ -13,7 +15,18 @@ export default defineComponent({
'ft-input-tags': FtInputTags,
'ft-flex-box': FtFlexBox,
},
data: function () {
return {
channelHiderDisabled: false,
}
},
computed: {
backendOptions: function () {
return {
preference: this.$store.getters.getBackendPreference,
fallback: this.$store.getters.getBackendFallback
}
},
hideVideoViews: function () {
return this.$store.getters.getHideVideoViews
},
@ -92,14 +105,20 @@ export default defineComponent({
hideSubscriptionsLive: function () {
return this.$store.getters.getHideSubscriptionsLive
},
hideSubscriptionsCommunity: function() {
hideSubscriptionsCommunity: function () {
return this.$store.getters.getHideSubscriptionsCommunity
},
showDistractionFreeTitles: function () {
return this.$store.getters.getShowDistractionFreeTitles
},
channelsHidden: function () {
return JSON.parse(this.$store.getters.getChannelsHidden)
return JSON.parse(this.$store.getters.getChannelsHidden).map((ch) => {
// Legacy support
if (typeof ch === 'string') {
return { name: ch, preferredName: '', icon: '' }
}
return ch
})
},
hideSubscriptionsLiveTooltip: function () {
return this.$t('Tooltips.Distraction Free Settings.Hide Subscriptions Live', {
@ -109,6 +128,9 @@ export default defineComponent({
})
}
},
mounted: function () {
this.verifyChannelsHidden()
},
methods: {
handleHideRecommendedVideos: function (value) {
if (value) {
@ -117,9 +139,51 @@ export default defineComponent({
this.updateHideRecommendedVideos(value)
},
handleInvalidChannel: function () {
showToast(this.$t('Settings.Distraction Free Settings.Hide Channels Invalid'))
},
handleChannelAPIError: function () {
showToast(this.$t('Settings.Distraction Free Settings.Hide Channels API Error'))
},
handleChannelsHidden: function (value) {
this.updateChannelsHidden(JSON.stringify(value))
},
handleChannelsExists: function () {
showToast(this.$t('Settings.Distraction Free Settings.Hide Channels Already Exists'))
},
validateChannelId: function (text) {
return checkYoutubeId(text)
},
findChannelTagInfo: async function (text) {
return await findChannelTagInfo(text, this.backendOptions)
},
verifyChannelsHidden: async function () {
const channelsHiddenCpy = [...this.channelsHidden]
for (let i = 0; i < channelsHiddenCpy.length; i++) {
const tag = this.channelsHidden[i]
// if channel has been processed and confirmed as non existent, skip
if (tag.invalid) continue
// process if no preferred name and is possibly a YouTube ID
if (tag.preferredName === '' && checkYoutubeId(tag.name)) {
this.channelHiderDisabled = true
const { preferredName, icon, iconHref, invalidId } = await this.findChannelTagInfo(tag.name)
if (invalidId) {
channelsHiddenCpy[i] = { name: tag.name, invalid: invalidId }
} else {
channelsHiddenCpy[i] = { name: tag.name, preferredName, icon, iconHref }
}
// update on every tag in case it closes
this.handleChannelsHidden(channelsHiddenCpy)
}
}
this.channelHiderDisabled = false
},
...mapActions([
'updateHideVideoViews',

View File

@ -230,12 +230,19 @@
<br class="hide-on-mobile">
<ft-flex-box>
<ft-input-tags
:disabled="channelHiderDisabled"
:disabled-msg="$t('Settings.Distraction Free Settings.Hide Channels Disabled Message')"
:label="$t('Settings.Distraction Free Settings.Hide Channels')"
:placeholder="$t('Settings.Distraction Free Settings.Hide Channels Placeholder')"
:tag-name-placeholder="$t('Settings.Distraction Free Settings.Hide Channels Placeholder')"
:show-action-button="true"
:tag-list="channelsHidden"
:tooltip="$t('Tooltips.Distraction Free Settings.Hide Channels')"
:validate-tag-name="validateChannelId"
:find-tag-info="findChannelTagInfo"
@invalid-name="handleInvalidChannel"
@error-find-tag-info="handleChannelAPIError"
@change="handleChannelsHidden"
@already-exists="handleChannelsExists"
/>
</ft-flex-box>
</ft-settings-section>

View File

@ -7,8 +7,13 @@
inline-size: 60%;
}
.disabledMsg {
color: rgb(233, 255, 108);
padding-block-end: 10px;
}
.ft-tag-box ul {
overflow: auto;
overflow: visible;
display: block;
padding: 0;
margin: 0;
@ -19,24 +24,36 @@
background-color: var(--card-bg-color);
margin: 5px;
border-radius: 5px;
display:flex;
display: flex;
float: var(--float-left-ltr-rtl-value);
}
.ft-tag-box li>span {
padding-block: 10px;
padding-inline-start: 10px;
padding-inline: 10px;
overflow-wrap: break-word;
word-wrap: break-word;
word-break: break-all;
hyphens: auto;
user-select: text;
}
.tag-icon {
border-radius: 50%;
block-size: 24px;
vertical-align: middle;
}
.tag-icon-link {
margin: auto;
margin-inline-start: 10px;
}
.removeTagButton {
color: var(--primary-text-color);
opacity: 0.5;
padding: 10px;
padding-inline-start: 0px;
}
.removeTagButton:hover {

View File

@ -1,15 +1,21 @@
import { defineComponent } from 'vue'
import FtInput from '../ft-input/ft-input.vue'
import FtTooltip from '../ft-tooltip/ft-tooltip.vue'
export default defineComponent({
name: 'FtInputTags',
components: {
'ft-input': FtInput,
'ft-tooltip': FtTooltip
},
props: {
placeholder: {
disabled: {
type: Boolean,
default: false
},
disabledMsg: {
type: String,
default: ''
},
tagNamePlaceholder: {
type: String,
required: true
},
@ -28,27 +34,48 @@ export default defineComponent({
tooltip: {
type: String,
default: ''
},
validateTagName: {
type: Function,
default: (_) => true
},
findTagInfo: {
type: Function,
default: (_) => ({ preferredName: '', icon: '' }),
}
},
methods: {
updateTags: function (text, e) {
updateTags: async function (text, _e) {
// text entered add tag and update tag list
const trimmedText = text.trim()
if (!this.tagList.includes(trimmedText)) {
const newList = this.tagList.slice(0)
newList.push(trimmedText)
this.$emit('change', newList)
const name = text.trim()
if (!this.validateTagName(name)) {
this.$emit('invalid-name')
return
}
if (!this.tagList.some((tag) => tag.name === name)) {
// tag info searching allow api calls to be used
const { preferredName, icon, iconHref, err } = await this.findTagInfo(name)
if (err) {
this.$emit('error-find-tag-info')
return
}
const newTag = { name, preferredName, icon, iconHref }
this.$emit('change', [...this.tagList, newTag])
} else {
this.$emit('already-exists')
}
// clear input box
this.$refs.childinput.handleClearTextClick()
this.$refs.tagNameInput.handleClearTextClick()
},
removeTag: function (tag) {
// Remove tag from list
const tagName = tag.trim()
if (this.tagList.includes(tagName)) {
const newList = this.tagList.slice(0)
const index = newList.indexOf(tagName)
newList.splice(index, 1)
if (this.tagList.some((tmpTag) => tmpTag.name === tag.name)) {
const newList = this.tagList.filter((tmpTag) => tmpTag.name !== tag.name)
this.$emit('change', newList)
}
}

View File

@ -2,9 +2,16 @@
<div
class="ft-input-tags-component"
>
<div
v-if="disabled"
class="disabledMsg"
>
{{ disabledMsg }}
</div>
<ft-input
ref="childinput"
:placeholder="placeholder"
ref="tagNameInput"
:disabled="disabled"
:placeholder="tagNamePlaceholder"
:label="label"
:show-label="true"
:tooltip="tooltip"
@ -13,15 +20,26 @@
:force-action-button-icon-name="['fas', 'arrow-right']"
@click="updateTags"
/>
<div class="ft-tag-box">
<ul>
<li
v-for="tag in tagList"
:key="tag.id"
>
<span>{{ tag }}</span>
<router-link
v-if="tag.icon"
:to="tag.iconHref ?? ''"
class="tag-icon-link"
>
<img
:src="tag.icon"
alt=""
class="tag-icon"
>
</router-link>
<span>{{ (tag.preferredName) ? tag.preferredName : tag.name }}</span>
<font-awesome-icon
v-if="!disabled"
:icon="['fas', 'fa-times']"
class="removeTagButton"
tabindex="0"

View File

@ -53,7 +53,13 @@ export default defineComponent({
// Some component users like channel view will have this disabled
if (!this.useChannelsHiddenPreference) { return [] }
return JSON.parse(this.$store.getters.getChannelsHidden)
return JSON.parse(this.$store.getters.getChannelsHidden).map((ch) => {
// Legacy support
if (typeof ch === 'string') {
return { name: ch, preferredName: '', icon: '' }
}
return ch
})
},
hideUpcomingPremieres: function () {
return this.$store.getters.getHideUpcomingPremieres
@ -87,7 +93,7 @@ export default defineComponent({
// hide upcoming
return false
}
if (this.channelsHidden.includes(data.authorId) || this.channelsHidden.includes(data.author)) {
if (this.channelsHidden.some(ch => ch.name === data.authorId) || this.channelsHidden.some(ch => ch.name === data.author)) {
// hide videos by author
return false
}
@ -101,7 +107,7 @@ export default defineComponent({
data.author,
data.authorId,
]
if (attrsToCheck.some(a => a != null && this.channelsHidden.includes(a))) {
if (attrsToCheck.some(a => a != null && this.channelsHidden.some(ch => ch.name === a))) {
// hide channels by author
return false
}
@ -115,7 +121,7 @@ export default defineComponent({
data.author,
data.authorId,
]
if (attrsToCheck.some(a => a != null && this.channelsHidden.includes(a))) {
if (attrsToCheck.some(a => a != null && this.channelsHidden.some(ch => ch.name === a))) {
// hide playlists by author
return false
}

View File

@ -58,12 +58,18 @@ export default defineComponent({
// Some component users like channel view will have this disabled
if (!this.useChannelsHiddenPreference) { return [] }
return JSON.parse(this.$store.getters.getChannelsHidden)
return JSON.parse(this.$store.getters.getChannelsHidden).map((ch) => {
// Legacy support
if (typeof ch === 'string') {
return { name: ch, preferredName: '', icon: '' }
}
return ch
})
},
shouldBeVisible() {
return !(this.channelsHidden.includes(this.data.authorId) ||
this.channelsHidden.includes(this.data.author))
return !(this.channelsHidden.some(ch => ch.name === this.data.authorId) ||
this.channelsHidden.some(ch => ch.name === this.data.author))
}
},
created() {

View File

@ -359,7 +359,7 @@ export default defineComponent({
const videoId = this.id
const data = await deArrowData(this.id)
const cacheData = { videoId, title: null }
if (Array.isArray(data?.titles) && data.titles.length > 0 && (data.titles[0].locked || data.titles[0].votes > 0)) {
if (Array.isArray(data?.titles) && data.titles.length > 0 && (data.titles[0].locked || data.titles[0].votes >= 0)) {
cacheData.title = data.titles[0].title
}

View File

@ -24,12 +24,21 @@
.commentsTitle {
padding-block: 1em;
display: inline-block;
}
.commentSort {
float: var(--float-right-ltr-rtl-value);
}
@media only screen and (max-width: 800px) {
.commentSort {
float: none;
inline-size: fit-content;
}
}
.comment {
padding: 15px;
position: relative;

View File

@ -2,6 +2,22 @@
<ft-card
class="card"
>
<h3
v-if="commentData.length > 0 && !isLoading && showComments"
class="commentsTitle"
>
{{ $t("Comments.Comments") }}
<span
class="hideComments"
role="button"
tabindex="0"
@click="showComments = false"
@keydown.space.prevent="showComments = false"
@keydown.enter.prevent="showComments = false"
>
{{ $t("Comments.Hide Comments") }}
</span>
</h3>
<h4
v-if="canPerformInitialCommentLoading"
class="getCommentsTitle"
@ -33,22 +49,6 @@
:select-values="sortValues"
@change="handleSortChange"
/>
<h3
v-if="commentData.length > 0 && !isLoading && showComments"
class="commentsTitle"
>
{{ $t("Comments.Comments") }}
<span
class="hideComments"
role="button"
tabindex="0"
@click="showComments = false"
@keydown.space.prevent="showComments = false"
@keydown.enter.prevent="showComments = false"
>
{{ $t("Comments.Hide Comments") }}
</span>
</h3>
<div
v-if="commentData.length > 0 && showComments"
>

View File

@ -0,0 +1,76 @@
import { invidiousGetChannelInfo } from './api/invidious'
import { getLocalChannel } from './api/local'
/**
* @param {string} id
* @param {{
* preference: string,
* fallback: boolean,
* invalid: boolean,
* }} backendOptions
*/
async function findChannelById(id, backendOptions) {
try {
if (!process.env.IS_ELECTRON || backendOptions.preference === 'invidious') {
return await invidiousGetChannelInfo(id)
} else {
return await getLocalChannel(id)
}
} catch (err) {
// don't bother with fallback if channel doesn't exist
if (err.message && err.message === 'This channel does not exist.') {
return { invalid: true }
}
if (process.env.IS_ELECTRON && backendOptions.fallback) {
if (backendOptions.preference === 'invidious') {
return await getLocalChannel(id)
}
if (backendOptions.preference === 'local') {
return await invidiousGetChannelInfo(id)
}
} else {
throw err
}
}
}
/**
* @param {string} id
* @param {{
* preference: string,
* fallback: boolean,
* }} backendOptions
* @returns {Promise<{icon: string, iconHref: string, preferredName: string} | { invalidId: boolean }>}
*/
export async function findChannelTagInfo(id, backendOptions) {
if (!/UC\S{22}/.test(id)) return { invalidId: true }
try {
const channel = await findChannelById(id, backendOptions)
if (!process.env.IS_ELECTRON || backendOptions.preference === 'invidious') {
if (channel.invalid) return { invalidId: true }
return {
preferredName: channel.author,
icon: channel.authorThumbnails[0].url
}
} else {
if (channel.alert) return { invalidId: true }
return {
preferredName: channel.header.author.name,
icon: channel.header.author.thumbnails.pop().url,
iconHref: `/channel/${id}`
}
}
} catch (err) {
console.error(err)
return { preferredName: '', icon: '', iconHref: '', err }
}
}
/**
* Check whether Id provided might be a YouTube Id
* @param {string} id
* @returns {boolean}
*/
export function checkYoutubeId(id) {
return /UC\S{22}/.test(id)
}

View File

@ -11,7 +11,7 @@ async function getVideoHash(videoId) {
.join('')
}
export async function sponsorBlockSkipSegments(videoId, categories) {
const videoIdHashPrefix = await getVideoHash(videoId)
const videoIdHashPrefix = (await getVideoHash(videoId)).substring(0, 4)
const requestUrl = `${store.getters.getSponsorBlockUrl}/api/skipSegments/${videoIdHashPrefix}?categories=${JSON.stringify(categories)}`
try {

View File

@ -413,7 +413,7 @@ Settings:
Hide Chapters: إخفاء الفصول
Hide Upcoming Premieres: إخفاء العروض الأولى القادمة
Hide Channels: إخفاء مقاطع الفيديو من القنوات
Hide Channels Placeholder: اسم القناة أو معرفها
Hide Channels Placeholder: معرف القناة
Display Titles Without Excessive Capitalisation: عرض العناوين بدون احرف كبيرة
بشكل مفرط
Hide Featured Channels: إخفاء القنوات المميزة
@ -434,6 +434,12 @@ Settings:
Hide Profile Pictures in Comments: إخفاء صور الملف الشخصي في التعليقات
Blur Thumbnails: اخفاء الصور المصغرة
Hide Subscriptions Community: إخفاء مجتمع الاشتراكات
Hide Channels Invalid: معرف القناة المقدم غير صالح
Hide Channels Disabled Message: تم حظر بعض القنوات باستخدام المعرّف ولم تتم معالجتها.
يتم حظر الميزة أثناء تحديث هذه المعرفات
Hide Channels Already Exists: معرف القناة موجود بالفعل
Hide Channels API Error: ‬حدث خطأ أثناء استرداد المستخدم بالمعرف المدخل. يرجى
التحقق مرة أخرى إذا كان المعرف صحيحا.
The app needs to restart for changes to take effect. Restart and apply change?: البرنامج
يحتاج لإعادة التشغيل كي يسري مفعول التغييرات. هل تريد إعادة التشغيل و تطبيق التغييرات؟
Proxy Settings:
@ -964,9 +970,9 @@ Tooltips:
وتمكين ذاكرة تخزين مؤقت للصور في الذاكرة. سيؤدي إلى زيادة استخدام ذاكرة الوصول
العشوائي.
Distraction Free Settings:
Hide Channels: أدخل اسم قناة أو معرّف القناة لإخفاء جميع مقاطع الفيديو وقوائم
التشغيل والقناة نفسها من الظهور في البحث والشهرة والأكثر شعبية والموصى بها.
يجب أن يكون اسم القناة الذي تم إدخاله مطابقًا تمامًا وحساسًا لحالة الأحرف.
Hide Channels: أدخل معرف القناة لإخفاء جميع مقاطع الفيديو وقوائم التشغيل والقناة
نفسها من الظهور في نتائج البحث والشائعة والأكثر شهرة والموصى بها. يجب أن يكون
معرف القناة الذي تم إدخاله متطابقًا تمامًا وأن يكون حساسًا لحالة الأحرف.
Hide Subscriptions Live: يتم تجاوز هذا الإعداد من خلال إعداد "{appWideSetting}"
على مستوى التطبيق، في قسم "{subsection}" من "{settingsSection}"
SponsorBlock Settings:

View File

@ -346,7 +346,7 @@ Settings:
Hide Chapters: Skrýt kapitoly
Hide Upcoming Premieres: Skrýt nadcházející premiéry
Hide Channels: Skrýt videa z kanálů
Hide Channels Placeholder: Název nebo ID kanálu
Hide Channels Placeholder: ID kanálu
Display Titles Without Excessive Capitalisation: Zobrazit názvy bez nadměrného
použití velkých písmen
Hide Featured Channels: Skrýt doporučené kanály
@ -367,6 +367,12 @@ Settings:
Hide Profile Pictures in Comments: Skrýt profilové obrázky v komentářích
Blur Thumbnails: Rozmazat náhledy
Hide Subscriptions Community: Skrýt komunitu odběratelů
Hide Channels Invalid: Zadané ID kanálu je neplatné
Hide Channels Disabled Message: Některé kanály byly zablokovány pomocí ID a nebyly
zpracovány. Při aktualizaci těchto ID je funkce zablokována
Hide Channels Already Exists: ID kanálu již existuje
Hide Channels API Error: Chyba při načítání uživatele se zadaným ID. Zkontrolujte
prosím, zda je zadané ID správné.
Data Settings:
Data Settings: 'Nastavení dat'
Select Import Type: 'Vybrat typ importu'
@ -946,10 +952,9 @@ Tooltips:
Replace HTTP Cache: Zakáže mezipaměť HTTP Electronu a povolí vlastní paměťovou
mezipaměť pro obrázky v paměti. Povede to ke zvýšenému využití RAM.
Distraction Free Settings:
Hide Channels: Zadejte název nebo ID kanálu pro skrytí všech videí, playlistů
a samotného kanálu před zobrazením ve vyhledávání, trendech, nejpopulárnějších
a doporučených. Zadaný název kanálu se musí zcela shodovat a rozlišují se v
něm velká a malá písmena.
Hide Channels: Zadejte ID kanálu pro skrytí všech videí, playlistů a samotného
kanálu před zobrazením ve vyhledávání, trendech, nejpopulárnějších a doporučených.
Zadané ID kanálu se musí zcela shodovat a rozlišují se v něm velká a malá písmena.
Hide Subscriptions Live: Toto nastavení je nadřazeno nastavením celé aplikace
„{appWideSetting}“ v části „{subsection}“ v části „{settingsSection}“
SponsorBlock Settings:

View File

@ -161,6 +161,7 @@ Settings:
Middle: 'Μέση'
End: 'Τέλος'
Hidden: Κρυμμένο
Blur: ''
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Διακομιστής
Invidious (προεπιλογή https://invidious.snopyta.org)'
Region for Trending: 'Περιοχή που καθορίζει την καρτέλα των τάσεων'

View File

@ -366,7 +366,11 @@ Settings:
Hide Sharing Actions: Hide Sharing Actions
Hide Chapters: Hide Chapters
Hide Channels: Hide Videos From Channels
Hide Channels Placeholder: Channel Name or ID
Hide Channels Disabled Message: Some channels were blocked using ID and weren't processed. Feature is blocked while those IDs are updating
Hide Channels Placeholder: Channel ID
Hide Channels Invalid: Channel ID provided was invalid
Hide Channels API Error: Error retrieving user with the ID provided. Please check again if the ID is correct.
Hide Channels Already Exists: Channel ID already exists
Hide Featured Channels: Hide Featured Channels
Hide Channel Playlists: Hide Channel Playlists
Hide Channel Community: Hide Channel Community
@ -867,8 +871,8 @@ Tooltips:
you want to be passed to the external player.
DefaultCustomArgumentsTemplate: "(Default: '{defaultCustomArguments}')"
Distraction Free Settings:
Hide Channels: Enter a channel name or channel ID to hide all videos, playlists and the channel itself from appearing in search, trending, most popular and recommended.
The channel name entered must be a complete match and is case sensitive.
Hide Channels: Enter a channel ID to hide all videos, playlists and the channel itself from appearing in search, trending, most popular and recommended.
The channel ID entered must be a complete match and is case sensitive.
Hide Subscriptions Live: 'This setting is overridden by the app-wide "{appWideSetting}" setting, in the "{subsection}" section of the "{settingsSection}"'
Subscription Settings:
Fetch Feeds from RSS: When enabled, FreeTube will use RSS instead of its default

View File

@ -420,7 +420,7 @@ Settings:
Hide Chapters: Ocultar los capítulos
Hide Upcoming Premieres: Ocultar los próximos estrenos
Hide Channels: Ocultar los vídeos de los canales
Hide Channels Placeholder: Nombre o ID del canal
Hide Channels Placeholder: ID del canal
Display Titles Without Excessive Capitalisation: Mostrar títulos sin demasiadas
mayúsculas
Hide Featured Channels: Ocultar los canales recomendados
@ -441,6 +441,12 @@ Settings:
Hide Profile Pictures in Comments: Ocultar las fotos del perfil en los comentarios
Blur Thumbnails: Difuminar las miniaturas
Hide Subscriptions Community: Ocultar las suscripciones a la comunidad
Hide Channels Invalid: El ID del canal proporcionado no es válido
Hide Channels Disabled Message: Algunos canales se bloquearon por ID y no se procesaron.
La función está bloqueada mientras se actualizan esos ID
Hide Channels Already Exists: El ID del canal ya existe
Hide Channels API Error: Error al recuperar el usuario con el ID proporcionado.
Por favor, compruebe de nuevo si el ID es correcto.
The app needs to restart for changes to take effect. Restart and apply change?: ¿Quieres
reiniciar FreeTube ahora para aplicar los cambios?
Proxy Settings:
@ -996,10 +1002,10 @@ Tooltips:
una caché para la imagen en la memoria personalizada. Esto aumentará el uso
de la memoria RAM.
Distraction Free Settings:
Hide Channels: Ingresa un nombre del canal o un ID del canal para ocultar todos
los videos, listas de reproducción y el propio canal para que no aparezcan en
la búsqueda, tendencias, más populares y recomendados. El nombre del canal ingresado
debe ser una coincidencia completa y distinguir entre mayúsculas y minúsculas.
Hide Channels: Introduzca un ID del canal para ocultar todos los vídeos, listas
de reproducción y el propio canal para que no aparezcan en las búsquedas, tendencias,
más populares y recomendados. El ID del canal introducido debe coincidir completamente
y se debe distinguir entre mayúsculas y minúsculas.
Hide Subscriptions Live: Esta configuración se reemplaza por la configuración
«{appWideSetting}» de toda la aplicación, en la sección «{subsection}» de «{settingsSection}»
SponsorBlock Settings:

View File

@ -391,7 +391,7 @@ Settings:
Hide Upcoming Premieres: Peida tulevased esilinastused
Hide Chapters: Peida peatükid
Hide Channels: Peida kanalites leiduvad videod
Hide Channels Placeholder: Kanali nimi või tunnus
Hide Channels Placeholder: Kanali tunnus
Display Titles Without Excessive Capitalisation: Näita pealkirju ilma liigsete
suurtähtedeta
Sections:
@ -412,6 +412,13 @@ Settings:
Hide Profile Pictures in Comments: Peida kommentaaride profiilipildid
Blur Thumbnails: Hägusta pisipildid
Hide Subscriptions Community: Peida tellijate loend
Hide Channels Invalid: Sisestatud kanali tunnus on vigane
Hide Channels Disabled Message: Mõned kanalid on blokeeritud nende tunnuste alusel
ja nende andmeid ei töödelda. See funktsionaalsus pole kasutusel, kui nendes
kanalites toimub muutusi
Hide Channels Already Exists: Selline kanali tunnus juba on sul kirjas
Hide Channels API Error: Selle kanali tunnus alusel andmete või kasutaja andmete
laadimine ei õnnestunud. Palun kontrolli, et kanali tunnus oleks õige.
Proxy Settings:
Error getting network information. Is your proxy configured properly?: Võrguteavet
ei õnnestu leida. Kas sa oled puhverserveri ikka korralikult seadistanud?
@ -919,10 +926,10 @@ Tooltips:
Skip by Scrolling Over Video Player: MPV-stiilis video läbilappamiseks kasuta
hiire ratast.
Distraction Free Settings:
Hide Channels: Sisesta kanali nimi või kanali ID, et kõik videod, esitusloendid
ja kanal ise ei oleks nähtav otsingus, soovitatavate videote, populaarsete videote
ja populaarsust koguvate videote vaates. Sisestatud kanali nimi peab otsingule
vastama täielikult ja on tõstutundlik.
Hide Channels: Sisesta kanali tunnus, et kõik videod, esitusloendid ja kanal ise
ei oleks nähtav otsingus, soovitatavate videote, populaarsete videote ja populaarsust
koguvate videote vaates. Sisestatud kanali tunnus peab otsingule vastama täpselt
ja on tõstutundlik.
Hide Subscriptions Live: Selle seadistuse tühistab rakenduseülene „{appWideSetting}“
seadistus „{subsection}“/„{settingsSection}“
Experimental Settings:

View File

@ -439,7 +439,7 @@ Settings:
Hide Chapters: Masquer les chapitres
Hide Upcoming Premieres: Cacher les avant-premières à venir
Hide Channels: Masquer les vidéos des chaînes
Hide Channels Placeholder: Nom ou identifiant de la chaîne
Hide Channels Placeholder: Identifiant de la chaîne
Display Titles Without Excessive Capitalisation: Afficher les titres sans majuscules
excessives
Hide Channel Playlists: Masquer les listes de lecture des chaînes
@ -460,6 +460,13 @@ Settings:
Blur Thumbnails: Flouter les miniatures
Hide Profile Pictures in Comments: Masquer les photos de profil dans les commentaires
Hide Subscriptions Community: Masquer les communautés abonnées
Hide Channels Invalid: L'identifiant de la chaîne fourni n'est pas valide
Hide Channels Disabled Message: Certaines chaînes ont été bloquées à l'aide d'un
identifiant et n'ont pas été traitées. La fonctionnalité est bloquée tant que
ces identifiants sont mis à jour
Hide Channels Already Exists: ID de chaîne déjà existant
Hide Channels API Error: Erreur de récupération de l'utilisateur portant l'identifiant
fourni. Veuillez vérifier à nouveau si l'ID est correct.
The app needs to restart for changes to take effect. Restart and apply change?: L'application
doit être redémarrée pour que les changements prennent effet. Redémarrer et appliquer
les changements ?
@ -1038,11 +1045,10 @@ Tooltips:
un cache d'image personnalisé en mémoire. Ceci entraînera une augmentation de
l'utilisation de la mémoire vive.
Distraction Free Settings:
Hide Channels: Entrez un nom de chaîne ou un identifiant de chaîne pour empêcher
toutes les vidéos, les listes de lecture et la chaîne elle-même d'apparaître
dans les recherches, dans les catégories Tendances, Plus populaires et Recommandés.
Le nom de la chaîne entré doit correspondre exactement et est sensible à la
casse.
Hide Channels: Entrez un identifiant de chaîne pour empêcher toutes les vidéos,
les listes de lecture et la chaîne elle-même d'apparaître dans les recherches,
dans les catégories Tendances, Plus populaires et Recommandés. L'identifiant
de la chaîne entré doit correspondre exactement et est sensible aux majuscules.
Hide Subscriptions Live: Ce paramètre est remplacé par le paramètre « {appWideSetting} »
applicable à l'ensemble de l'application, dans la section « {subsection} » de
la section « {settingsSection} »

View File

@ -155,6 +155,7 @@ Settings:
Middle: 'Sredina'
End: 'Kraj'
Hidden: Skriveno
Blur: Neoštro
'Invidious Instance (Default is https://invidious.snopyta.org)': 'Invidious primjerak
(standardno se koristi https://invidious.snopyta.org)'
Region for Trending: 'Regija za videa u trendu'
@ -418,7 +419,7 @@ Settings:
Hide Chapters: Sakrij poglavlja
Hide Upcoming Premieres: Sakrij nadolazeće premijere
Hide Channels: Sakrij videa iz kanala
Hide Channels Placeholder: Ime kanala ili ID
Hide Channels Placeholder: ID kanala
Display Titles Without Excessive Capitalisation: Prikaži naslove bez pretjeranog
korištenja velikih slova
Hide Featured Channels: Sakrij istaknute kanale
@ -439,6 +440,12 @@ Settings:
Blur Thumbnails: Zamuti minijature
Hide Profile Pictures in Comments: Sakrij slike profila u komentarima
Hide Subscriptions Community: Sakrij pretplate zajednice
Hide Channels Invalid: Navedeni ID kanala nije bio ispravan
Hide Channels Disabled Message: Neki su kanali blokirani upotrebom ID-a i nisu
obrađeni. Funkcija je blokirana tijekom aktualiziranje tih ID-ova
Hide Channels Already Exists: ID kanala već postoji
Hide Channels API Error: Greška pri dohvaćanju korisnika s navedenim ID-om. Ponovo
provjeri točnost ID-a.
The app needs to restart for changes to take effect. Restart and apply change?: Promjene
će se primijeniti nakon ponovnog pokeretanja programa. Ponovo pokrenuti program?
Proxy Settings:
@ -987,9 +994,9 @@ Tooltips:
Replace HTTP Cache: Deaktivira Electronovu HTTP predmemoriju temeljenu na disku
i aktivira prilagođenu predmemoriju slika u memoriji. Povećava korištenje RAM-a.
Distraction Free Settings:
Hide Channels: Upiši ime kanala ili ID kanala za skrivanje svih videa, zbirki
kao i samog kanala u pretrazi, trendovima popularnim i preporučenim. Upisano
ime kanala se mora potpuno poklapati i razlikuje velika i mala slova.
Hide Channels: Upiši ID kanala za skrivanje svih videa, zbirki kao i samog kanala
u prikazu pretrage, trendova, najpopularniji i preporučeni. Upisani ID kanala
se mora potpuno poklapati i razlikuje velika i mala slova.
Hide Subscriptions Live: Ovu postavku nadjačava aplikacijska postavka „{appWideSetting}”,
u odjeljku „{subsection}” u „{settingsSection}”
SponsorBlock Settings:

View File

@ -428,7 +428,7 @@ Settings:
Hide Chapters: Fejezetek elrejtése
Hide Upcoming Premieres: Közelgő első előadások elrejtése
Hide Channels: Videók elrejtése a csatornákból
Hide Channels Placeholder: Csatorna neve vagy azonosítója
Hide Channels Placeholder: Csatornaazonosító
Display Titles Without Excessive Capitalisation: Címek megjelenítése túlzott nagybetűk
nélkül
Hide Featured Channels: Kiemelt csatornák elrejtése
@ -449,6 +449,13 @@ Settings:
Blur Thumbnails: Indexkép elhomályosítása
Hide Profile Pictures in Comments: Profilképek elrejtése a megjegyzésekben
Hide Subscriptions Community: Közösségi feliratkozások elrejtése
Hide Channels Invalid: Érvénytelen a megadott csatornaazonosító
Hide Channels Disabled Message: Egyes csatornákat letiltottak az azonosító használatával,
és nem dolgozták fel őket. A jellemző le van tiltva az azonosítók frissítése
közben
Hide Channels Already Exists: Már létezik a csatornaazonosító
Hide Channels API Error: Hiba történt a megadott azonosítóval rendelkező felhasználó
lekérésekor. Kérjük, ellenőrizze még egyszer, hogy helyes-e az azonosító.
The app needs to restart for changes to take effect. Restart and apply change?: Az
alkalmazásnak újra kell indulnia, hogy a változtatások életbe lépjenek. Indítsa
újra és alkalmazza a módosítást?
@ -990,10 +997,10 @@ Tooltips:
Replace HTTP Cache: Letiltja az Electron lemez alapú HTTP-gyorsítótárát, és engedélyezi
az egyéni memórián belüli képgyorsítótárat. Megnövekedett RAM-használathoz vezet.
Distraction Free Settings:
Hide Channels: Adja meg a csatorna nevét vagy csatornaazonosítóját, hogy elrejtse
az összes videót, lejátszási listát és magát a csatornát, hogy ne jelenjen meg
a keresésben, illetve a felkapott, legnépszerűbb és legajánlottabb. A megadott
csatornanévnek teljes egyezésnek kell lennie, és megkülönbözteti a kis- és nagybetűket.
Hide Channels: Csatornaazonosító megadása, hogy elrejtse az összes videót, lejátszási
listát és magát a csatornát, nehogy megjelenjen a keresésben, a felkapott, legnépszerűbb
és legnépszerűbb. A megadott csatornaazonosítónak teljes egyezésnek kell lennie,
és megkülönbözteti a kis- és nagybetűket.
Hide Subscriptions Live: Ezt a beállítást felülírja az alkalmazásszintű „{appWideSetting}”
beállítás a(z) „{settingsSection}” „{subsection}” szakaszában
SponsorBlock Settings:

View File

@ -428,7 +428,7 @@ Settings:
Hide Chapters: Nascondi i capitoli
Hide Upcoming Premieres: Nascondi le prossime Première
Hide Channels: Nascondi i video dai canali
Hide Channels Placeholder: Nome o ID del canale
Hide Channels Placeholder: ID del canale
Display Titles Without Excessive Capitalisation: Visualizza i titoli senza un
uso eccessivo di maiuscole
Hide Featured Channels: Nascondi i canali in evidenza
@ -449,6 +449,13 @@ Settings:
Hide Profile Pictures in Comments: Nascondi le immagini del profilo nei commenti
Blur Thumbnails: Miniature sfocate
Hide Subscriptions Community: Nascondi la comunità di iscritti
Hide Channels Invalid: L'ID canale fornito non è valido
Hide Channels Disabled Message: Alcuni canali sono stati bloccati utilizzando
l'ID e non sono stati elaborati. La funzionalità è bloccata durante l'aggiornamento
di tali ID
Hide Channels Already Exists: L'ID canale esiste già
Hide Channels API Error: Errore durante il recupero dell'utente con l'ID fornito.
Controlla di nuovo se l'ID è corretto.
The app needs to restart for changes to take effect. Restart and apply change?: L'app
deve essere riavviata affinché le modifiche abbiano effetto. Riavviare e applicare
la modifica?
@ -1005,9 +1012,9 @@ Tooltips:
una cache di immagini in memoria personalizzata. Comporta un aumento dell'utilizzo
della RAM.
Distraction Free Settings:
Hide Channels: Inserisci il nome o l'ID di un canale per impedire che tutti i
video, le playlist e il canale stesso vengano visualizzati nelle ricerche, tendenze,
più popolari e consigliati. Il nome del canale inserito deve avere una corrispondenza
Hide Channels: Inserisci l'ID di un canale per impedire che tutti i video, le
playlist e il canale stesso vengano visualizzati nelle ricerche, tendenze, più
popolari e consigliati. Il nome del canale inserito deve avere una corrispondenza
completa e fa distinzione tra maiuscole e minuscole.
Hide Subscriptions Live: Questa impostazione è sovrascritta dall'impostazione
"{appWideSetting}" a livello di app, nella sezione "{subsection}" di "{settingsSection}"

View File

@ -39,7 +39,7 @@ Global:
Counts:
Video Count: 1 件の動画 | {count} 件の動画
Subscriber Count: 1 登録者 | {count} 登録者
View Count: 1 表示 | {count} 回表示
View Count: 1 視聴 | {count} 回視聴
Watching Count: 1 人が視聴中 | {count} 人が視聴中
Channel Count: 1 チャンネル | {count} チャンネル
Search / Go to URL: '検索 / URL の表示'
@ -145,6 +145,7 @@ Settings:
Middle: '中間'
End: '終了'
Hidden: 非表示
Blur: ぼかし
'Invidious Instance (Default is https://invidious.snopyta.org)': '接続先の Invidious
サーバー(初期値は https://invidious.snopyta.org'
Region for Trending: '急上昇の地域設定'
@ -387,7 +388,7 @@ Settings:
Hide Chapters: チャプターの非表示
Hide Upcoming Premieres: 今後のプレミア公開を非表示
Hide Channels: チャンネルから動画を非表示
Hide Channels Placeholder: チャネル名または ID
Hide Channels Placeholder: チャネル ID
Display Titles Without Excessive Capitalisation: 英語の大文字化を控えたタイトル表示
Hide Channel Playlists: チャンネル再生リストの非表示
Hide Channel Community: チャンネル コミュニティの非表示
@ -407,6 +408,10 @@ Settings:
Hide Profile Pictures in Comments: コメントでプロフィール写真を隠す
Blur Thumbnails: サムネイルをぼかす
Hide Subscriptions Community: チャンネルの購読者リストの非公開
Hide Channels Invalid: 提供チャンネル ID 無効
Hide Channels Disabled Message: 一部のチャンネルが ID を使用してブロックされ、処理されませんでした。これらの ID が更新されている間、機能はブロックされます
Hide Channels Already Exists: 既に存在するチャンネル ID
Hide Channels API Error: 提供された ID のユーザーを取得できませんでした。ID が正しいかどうかをもう一度確認してください。
The app needs to restart for changes to take effect. Restart and apply change?: 変更の反映には、アプリの再起動が必要です。再起動して変更を適用しますか?
Proxy Settings:
Error getting network information. Is your proxy configured properly?: ネットワーク情報の取得中にエラーが発生しました。プロキシーを正しく設定してますか?
@ -460,7 +465,8 @@ Settings:
Experimental Settings:
Replace HTTP Cache: HTTP キャッシュの置換
Experimental Settings: 実験中の設定
Warning: この設定項目は実験中であるため、有効にするとクラッシュすることがあります。必ずバックアップを作成してください。使用は自己責任でお願いします!
Warning:
これらの設定は実験的なものであり、有効にするとアプリのクラッシュを引き起こす恐れがあります。バックアップをとっておくことを強くお勧めします。自己責任で使用してください!
Password Settings:
Password Settings: パスワード設定
Set Password To Prevent Access: 設定の変更にはパスワードを設定とする
@ -886,8 +892,8 @@ Tooltips:
Replace HTTP Cache: Electron のディスクに基づく HTTP キャッシュを無効化し、メモリ内で独自の画像キャッシュを使用します。このことにより
RAM の使用率は増加します。
Distraction Free Settings:
Hide Channels: チャンネル名またはチャンネル ID
を入力すると、すべてのビデオ、再生リスト、チャンネル自体が検索や人気、およびおすすめに表示されなくなります。入力するチャンネル名は、大文字と小文字を区別するので完全に一致させてください。
Hide Channels: チャンネル ID を入力すると、すべてのビデオ、再生リスト、チャンネル自体が検索や人気、およびおすすめに表示されなくなります。入力するチャンネル
ID は、大文字と小文字を区別するので完全に一致させてください。
Hide Subscriptions Live: この設定は、アプリ全体の "{appWideSetting}" 設定により上書きされます。"{settingsSection}"
項目の "{subsection}" にあります
SponsorBlock Settings:

View File

@ -426,7 +426,7 @@ Settings:
Hide Chapters: Schowaj rozdziały
Hide Upcoming Premieres: Schowaj nadchodzące premiery
Hide Channels: Schowaj filmy z kanałów
Hide Channels Placeholder: Nazwa albo ID kanału
Hide Channels Placeholder: ID kanału
Display Titles Without Excessive Capitalisation: Wyświetlaj tytuły bez nadmiernych
wielkich liter
Hide Channel Community: Schowaj społeczność kanału
@ -447,6 +447,13 @@ Settings:
Hide Profile Pictures in Comments: Nie pokazuj zdjęć profilowych w komentarzach
Blur Thumbnails: Rozmazuj miniaturki
Hide Subscriptions Community: Schowaj „Społeczność” kanałów
Hide Channels Invalid: Podane ID kanału jest niepoprawne
Hide Channels Disabled Message: Niektóre z kanałów nie zostały przetworzone, ponieważ
zostały zablokowane po swoim ID. Funkcja jest zablokowana, aż do momentu, w
którym zostaną one zaktualizowane.
Hide Channels Already Exists: To ID kanału już jest
Hide Channels API Error: Nie udało się wyszukać użytkownika po podanym ID. Proszę
sprawdzić, czy wpisane ID jest poprawne.
The app needs to restart for changes to take effect. Restart and apply change?: Aplikacja
musi zostać ponownie uruchomiona, aby zmiany zostały wprowadzone. Uruchomić ponownie
i zastosować zmiany?
@ -1006,10 +1013,10 @@ Tooltips:
Electrona i włącza własny obraz pamięci podręcznej wewnątrz pamięci RAM. Spowoduje
to większe użycie pamięci RAM.
Distraction Free Settings:
Hide Channels: Wprowadź nazwę albo ID kanału, aby schować wszystkie filmy i playlisty
tego kanału, oraz sam kanał z wyszukiwań, z zakładek „Na czasie” i „Popularne”
oraz z polecanych. Nazwa kanału musi być dokładnym dopasowaniem, z uwzględnieniem
wielkości liter.
Hide Channels: Wprowadź ID kanału, aby schować wszystkie filmy i playlisty tego
kanału, oraz sam kanał z wyszukiwań, z zakładek „Na czasie” i „Popularne” oraz
z polecanych. ID kanału musi być dokładnym dopasowaniem, z uwzględnieniem wielkości
liter.
Hide Subscriptions Live: Ta opcja została nadpisana opcją ogólną „{appWideSetting}”
z podgrupy „{subsection}” grupy „{settingsSection}”
SponsorBlock Settings:

View File

@ -452,7 +452,7 @@ Settings:
Hide Chapters: Ocultar capítulos
Hide Upcoming Premieres: Ocultar próximas estreias
Hide Channels: Ocultar vídeos dos canais
Hide Channels Placeholder: Nome ou ID do canal
Hide Channels Placeholder: ID do canal
Display Titles Without Excessive Capitalisation: Mostrar títulos sem maiúsculas
em excesso
Hide Featured Channels: Ocultar canais em destaque
@ -473,6 +473,13 @@ Settings:
Hide Profile Pictures in Comments: Ocultar imagens de perfil nos comentários
Blur Thumbnails: Desfocar miniaturas
Hide Subscriptions Community: Ocultar subscrições de comunidades
Hide Channels Invalid: O ID do canal não é válido
Hide Channels Disabled Message: Alguns canais foram bloqueados e não foram processados.
A funcionalidade está bloqueada enquanto estiver a ocorrer a atualização das
ID.
Hide Channels Already Exists: Esta ID já existe
Hide Channels API Error: Não foi possível obter o utilizador através do ID. Verifique
se a ID indicada é válida.
External Player Settings:
Custom External Player Arguments: Argumentos do reprodutor externo
Custom External Player Executable: Executável do reprodutor externo
@ -1002,9 +1009,9 @@ Tooltips:
Replace HTTP Cache: Desativa a cache HTTP Electron e ativa uma cache de imagem
na memória personalizada. Implica o aumento da utilização de memória RAM.
Distraction Free Settings:
Hide Channels: Introduza o nome ou ID de um canal para impedir que os vídeos,
listas de reprodução e o próprio canal apareçam na pesquisa, tendências, mais
populares e recomendados. O nome do canal introduzido tem que ser uma correspondência
Hide Channels: Introduza o ID de um canal para impedir que os vídeos, listas de
reprodução e o próprio canal apareçam na pesquisa, tendências, mais populares
e recomendados. O nome do canal introduzido tem que ser uma correspondência
exata e diferencia maiúsculas de minúsculas.
Hide Subscriptions Live: Esta definição é substituída pela definição global "{appWideSetting}",
existente na secção "{subsection}" de "{settingsSection}"

View File

@ -419,7 +419,7 @@ Settings:
Hide Video Description: Скрыть описание видео
Hide Chapters: Скрыть разделы
Hide Upcoming Premieres: Скрыть предстоящие премьеры
Hide Channels Placeholder: Название или идентификатор канала
Hide Channels Placeholder: Идентификатор канала
Hide Channels: Скрыть видео с каналов
Display Titles Without Excessive Capitalisation: Отображать заголовки без чрезмерного
использования заглавных букв
@ -439,6 +439,13 @@ Settings:
Hide Channel Podcasts: Скрыть звукопередачи канала
Hide Subscriptions Shorts: Скрыть короткие видео из подписок
Hide Profile Pictures in Comments: Скрыть изображения профилей в комментариях
Hide Channels Invalid: Указанный идентификатор канала недействителен
Hide Subscriptions Community: Скрыть сообщество подписок
Hide Channels Disabled Message: Некоторые каналы были заблокированы по идентификатору
и не были обработаны. Функция заблокирована, пока эти идентификаторы обновляются
Hide Channels Already Exists: Идентификатор канала уже существует
Hide Channels API Error: Ошибка при получении пользователя с предоставленным идентификатором.
Пожалуйста, проверьте еще раз, правильно ли указан идентификатор.
The app needs to restart for changes to take effect. Restart and apply change?: Чтобы
изменения вступили в силу, необходимо перезапустить приложение. Перезапустить
и применить изменения?
@ -994,10 +1001,9 @@ Tooltips:
Replace HTTP Cache: Отключает дисковый HTTP-кэш Electron и включает пользовательский
кэш изображений в памяти. Приведёт к увеличению использования оперативной памяти.
Distraction Free Settings:
Hide Channels: Введите название канала или его идентификатор, чтобы скрыть все
видео, подборки и сам канал от показа в поиске, трендах, наиболее просматриваемых
и желательных. Введённое название канала должно полностью совпадать и учитывать
регистр.
Hide Channels: Введите идентификатор канала, чтобы скрыть все видео, плейлисты
и сам канал от появления в результатах поиска, трендах, самых популярных и рекомендуемых.
Введенный идентификатор канала должен полностью совпадать и чувствителен к регистру.
Hide Subscriptions Live: Эта настройка переопределена общей настройкой «{appWideSetting}»,
в подразделе «{subsection}» раздела «{settingsSection}»
SponsorBlock Settings:

View File

@ -346,7 +346,7 @@ Settings:
Hide Live Chat: 'Сакриј ћаскање уживо'
Hide Active Subscriptions: 'Сакриј активна праћења'
Blur Thumbnails: Замагли сличице
Hide Channels Placeholder: Назив канала или ID канала
Hide Channels Placeholder: ID канала
Hide Video Description: Сакриј опис видео снимка
Hide Chapters: Сакриј поглавља
Sections:
@ -373,6 +373,12 @@ Settings:
Hide Profile Pictures in Comments: Сакриј слике профила у коментарима
Hide Upcoming Premieres: Сакриј предстојеће премијере
Hide Channel Releases: Сакриј издања канала
Hide Channels Invalid: Наведени ID канала је неважећи
Hide Channels Disabled Message: Неки канали су блокирани помоћу ID-а и нису обрађени.
Функција је блокирана док се ти ID-ови ажурирају
Hide Channels Already Exists: ID канала већ постоји
Hide Channels API Error: Грешка при преузимању корисника са наведеним ID-ом. Проверите
поново да ли је ID тачан.
Data Settings:
Data Settings: 'Подешавања података'
Select Import Type: 'Избор врсте увоза'
@ -796,7 +802,7 @@ Tooltips:
Distraction Free Settings:
Hide Channels: Унесите назив канала или ID канала да бисте сакрили све видео снимке,
плејлисте и сам канал, да се не појављују у претрази, у тренду, најпопуларнијима
и препорученима. Назив канала који сте унели мора се потпуно подударати и разликовати
и препорученима. ID канала који сте унели мора се потпуно подударати и разликовати
велика и мала слова.
Hide Subscriptions Live: Ово подешавање је замењено подешавањем за целу апликацију
„{appWideSetting}“ у одељку „{subsection}“ у „{settingsSection}“

View File

@ -421,7 +421,7 @@ Settings:
Hide Comments: Yorumları Gizle
Hide Chapters: Bölümleri Gizle
Hide Upcoming Premieres: Yaklaşan İlk Gösterimleri Gizle
Hide Channels Placeholder: Kanal Adı veya Kimliği
Hide Channels Placeholder: Kanal Kimliği
Hide Channels: Kanallardan Videoları Gizle
Display Titles Without Excessive Capitalisation: Başlıklarıırı Büyük Harf Kullanmadan
Görüntüle
@ -443,6 +443,12 @@ Settings:
Hide Profile Pictures in Comments: Yorumlardaki Profil Resimlerini Gizle
Blur Thumbnails: Küçük Resimleri Bulanıklaştır
Hide Subscriptions Community: Abonelik Topluluğunu Gizle
Hide Channels Invalid: Belirtilen kanal kimliği geçersiz
Hide Channels Disabled Message: Bazı kanallar kimliği kullanılarak engellendi
ve işlenmedi. Bu kimlikler güncellenirken özellik engellenir
Hide Channels Already Exists: Kanal kimliği zaten var
Hide Channels API Error: Belirtilen kimliğe sahip kullanıcı alınırken hata oluştu.
Lütfen kimliğin doğru olup olmadığını tekrar gözden geçirin.
The app needs to restart for changes to take effect. Restart and apply change?: Değişikliklerin
etkili olması için uygulamanın yeniden başlatılması gerekiyor. Yeniden başlatılsın
ve değişiklikler uygulansın mı?
@ -993,8 +999,8 @@ Tooltips:
Distraction Free Settings:
Hide Channels: Tüm videoların, oynatma listelerinin ve kanalın kendisinin arama,
öne çıkanlar, en popüler ve tavsiye edilenlerde görünmesini engellemek için
bir kanal adı veya kanal kimliği girin. Girilen kanal adı tam olarak eşleşmelidir
ve büyük/küçük harfe duyarlıdır.
bir kanal kimliği girin. Girilen kanal kimliği tam olarak eşleşmelidir ve büyük/küçük
harfe duyarlıdır.
Hide Subscriptions Live: Bu ayar, "{settingsSection}" bölümünün "{subsection}"
kısmında yer alan uygulama genelindeki "{appWideSetting}" ayarı tarafından geçersiz
kılınıyor

View File

@ -348,7 +348,7 @@ Settings:
Hide Chapters: Сховати розділи
Hide Upcoming Premieres: Сховати майбутні прем'єри
Hide Channels: Сховати відео з каналів
Hide Channels Placeholder: Назва або ID каналу
Hide Channels Placeholder: ID каналу
Display Titles Without Excessive Capitalisation: Показувати заголовки без надмірно
великих літер
Hide Featured Channels: Сховати пропоновані канали

View File

@ -385,7 +385,7 @@ Settings:
Hide Chapters: 隐藏章节
Hide Upcoming Premieres: 隐藏即将到来的首映
Hide Channels: 隐藏频道中的视频
Hide Channels Placeholder: 频道名称或 ID
Hide Channels Placeholder: 频道ID
Display Titles Without Excessive Capitalisation: 不用过度大写字母的方式显示标题名称
Hide Featured Channels: 隐藏精选频道
Hide Channel Playlists: 隐藏频道播放列表
@ -405,6 +405,10 @@ Settings:
Hide Profile Pictures in Comments: 在评论中隐藏个人资料图片
Blur Thumbnails: 模糊缩略图
Hide Subscriptions Community: 隐藏订阅社区
Hide Channels Invalid: 提供的频道 ID 无效
Hide Channels Disabled Message: 使用 ID 屏蔽了某些频道,这些频道未被处理。当这些 ID 在升级时,功能被停用
Hide Channels Already Exists: 频道 ID 已存在
Hide Channels API Error: 获取 ID 为所提供值的用户出错。请再次检查 ID 是否正确。
The app needs to restart for changes to take effect. Restart and apply change?: 应用需要重启让修改生效。重启以应用修改?
Proxy Settings:
Proxy Protocol: 代理协议
@ -877,7 +881,7 @@ Tooltips:
Experimental Settings:
Replace HTTP Cache: 禁用 Electron 基于磁盘的 HTTP 缓存,启用自定义内存中图像缓存。会增加内存的使用。
Distraction Free Settings:
Hide Channels: 输入频道名称或频道 ID 使其中的所有视频、播放列表和频道本身不出现在搜索结果、时下流行、最受欢迎和推荐中。 输入的频道名称必须完全匹配,并且区分大小写。
Hide Channels: 输入频道 ID 使其中的所有视频、播放列表和频道本身不出现在搜索结果、时下流行、最受欢迎和推荐中。 输入的频道 ID 必须完全匹配,并且区分大小写。
Hide Subscriptions Live: 此设置被应用级的 "{appWideSetting}" 设置所覆盖,"{appWideSetting}"
位于 "{subsection}" 部分,该部分在 "{settingsSection}" 中
SponsorBlock Settings:

View File

@ -385,7 +385,7 @@ Settings:
Hide Sharing Actions: 隱藏分享動作
Hide Chapters: 隱藏章節
Hide Upcoming Premieres: 隱藏即將到來的首映
Hide Channels Placeholder: 頻道名稱或 ID
Hide Channels Placeholder: 頻道 ID
Hide Channels: 隱藏頻道中的影片
Display Titles Without Excessive Capitalisation: 顯示沒有過多大寫的標題
Hide Featured Channels: 隱藏精選頻道
@ -406,6 +406,10 @@ Settings:
Hide Profile Pictures in Comments: 在留言中隱藏個人檔案圖片
Blur Thumbnails: 模糊縮圖
Hide Subscriptions Community: 隱藏訂閱社群
Hide Channels Invalid: 提供的頻道 ID 無效
Hide Channels Disabled Message: 某些頻道被使用 ID 封鎖且無法處理。當這些 ID 更新時,功能將會被封鎖
Hide Channels Already Exists: 頻道 ID 已存在
Hide Channels API Error: 使用提供的 ID 擷取使用者時發生錯誤。請再次檢查 ID 是否正確。
The app needs to restart for changes to take effect. Restart and apply change?: 此變更需要重啟讓修改生效。重啟並且套用變更?
Proxy Settings:
Error getting network information. Is your proxy configured properly?: 取得網路資訊時發生錯誤。您的代理伺服器設定正確嗎?
@ -889,7 +893,7 @@ Tooltips:
Experimental Settings:
Replace HTTP Cache: 停用 Electron 以磁碟為基礎的 HTTP 快取並啟用自訂的記憶體圖片快取。會導致記憶體使用量增加。
Distraction Free Settings:
Hide Channels: 輸入頻道名稱或頻道 ID 以隱藏所有影片、播放清單與頻道本身,使其完全不出現在搜尋、趨勢、熱門與建議中。輸入的頻道名稱必須完全符合,且區分大小寫。
Hide Channels: 輸入頻道 ID 以隱藏所有影片、播放清單與頻道本身,使其完全不出現在搜尋、趨勢、熱門與建議中。輸入的頻道 ID 必須完全符合,且區分大小寫。
Hide Subscriptions Live: 此設定會被「{settingsSection}」的「{subsection}」部分中應用程式範圍的「{appWideSetting}」設定覆寫
SponsorBlock Settings:
UseDeArrowTitles: 將影片標題取代為 DeArrow 使用者遞交的標題。

802
yarn.lock

File diff suppressed because it is too large Load Diff