From 7e8a3b5c1a3d33ed28a29798511f65dd1c0ebc00 Mon Sep 17 00:00:00 2001
From: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
Date: Tue, 27 Aug 2024 16:59:49 -0400
Subject: [PATCH 1/6] Don't make requests when importing subscriptions
---
.../components/data-settings/data-settings.js | 323 ++++--------------
.../ft-channel-bubble/ft-channel-bubble.js | 2 +-
.../ft-channel-bubble/ft-channel-bubble.vue | 7 +
.../ft-subscribe-button.js | 2 +-
src/renderer/components/side-nav/side-nav.css | 5 +
src/renderer/components/side-nav/side-nav.vue | 6 +
6 files changed, 93 insertions(+), 252 deletions(-)
diff --git a/src/renderer/components/data-settings/data-settings.js b/src/renderer/components/data-settings/data-settings.js
index 1671981f1ceaa..79aa159f18be5 100644
--- a/src/renderer/components/data-settings/data-settings.js
+++ b/src/renderer/components/data-settings/data-settings.js
@@ -9,7 +9,6 @@ import { MAIN_PROFILE_ID } from '../../../constants'
import { calculateColorLuminance, getRandomColor } from '../../helpers/colors'
import {
- copyToClipboard,
deepCopy,
escapeHTML,
getTodayDateStrLocalTimezone,
@@ -19,8 +18,6 @@ import {
showToast,
writeFileFromDialog,
} from '../../helpers/utils'
-import { invidiousAPICall } from '../../helpers/api/invidious'
-import { getLocalChannel } from '../../helpers/api/local'
export default defineComponent({
name: 'DataSettings',
@@ -216,13 +213,9 @@ export default defineComponent({
return sub !== ''
})
const subscriptions = []
- const errorList = []
-
- showToast(this.$t('Settings.Data Settings.This might take a while, please wait'))
this.updateShowProgressBar(true)
this.setProgressBarPercentage(0)
- let count = 0
const splitCSVRegex = /(?:,|\n|^)("(?:(?:"")|[^"])*"|[^\n",]*|(?:\n|$))/g
@@ -237,93 +230,62 @@ export default defineComponent({
}).filter(channel => {
return channel.length > 0
})
- new Promise((resolve) => {
- let finishCount = 0
- ytsubs.forEach(async (yt) => {
- const { subscription, result } = await this.subscribeToChannel({
- channelId: yt[0],
- subscriptions: subscriptions,
- channelName: yt[2],
- count: count++,
- total: ytsubs.length
- })
- if (result === 1) {
- subscriptions.push(subscription)
- } else if (result === -1) {
- errorList.push(yt)
- }
- finishCount++
- if (finishCount === ytsubs.length) {
- resolve(true)
+
+ ytsubs.forEach((yt) => {
+ const channelId = yt[0]
+ if (!this.isChannelSubscribed(channelId, subscriptions)) {
+ const subscription = {
+ id: channelId,
+ name: yt[2],
+ thumbnail: null
}
- })
- }).then(_ => {
- this.primaryProfile.subscriptions = this.primaryProfile.subscriptions.concat(subscriptions)
- this.updateProfile(this.primaryProfile)
- if (errorList.length !== 0) {
- errorList.forEach(e => { // log it to console for now, dedicated tab for 'error' channels needed
- console.error(`failed to import ${e[2]}. Url to channel: ${e[1]}.`)
- })
- showToast(this.$t('Settings.Data Settings.One or more subscriptions were unable to be imported'))
- } else {
- showToast(this.$t('Settings.Data Settings.All subscriptions have been successfully imported'))
+
+ subscriptions.push(subscription)
}
- }).finally(_ => {
- this.updateShowProgressBar(false)
})
+
+ this.primaryProfile.subscriptions = this.primaryProfile.subscriptions.concat(subscriptions)
+ this.updateProfile(this.primaryProfile)
+ showToast(this.$t('Settings.Data Settings.All subscriptions have been successfully imported'))
+ this.updateShowProgressBar(false)
},
importYouTubeSubscriptions: async function (textDecode) {
const subscriptions = []
- const errorList = []
+ let count = 0
showToast(this.$t('Settings.Data Settings.This might take a while, please wait'))
this.updateShowProgressBar(true)
this.setProgressBarPercentage(0)
- let count = 0
- new Promise((resolve) => {
- let finishCount = 0
- textDecode.forEach(async (channel) => {
- const snippet = channel.snippet
- if (typeof snippet === 'undefined') {
- const message = this.$t('Settings.Data Settings.Invalid subscriptions file')
- showToast(message)
- throw new Error('Unable to find channel data')
- }
- const { subscription, result } = await this.subscribeToChannel({
- channelId: snippet.resourceId.channelId,
- subscriptions: subscriptions,
- channelName: snippet.title,
- thumbnail: snippet.thumbnails.default.url,
- count: count++,
- total: textDecode.length
- })
- if (result === 1) {
- subscriptions.push(subscription)
- } else if (result === -1) {
- errorList.push([snippet.resourceId.channelId, `https://www.youtube.com/channel/${snippet.resourceId.channelId}`, snippet.title])
- }
- finishCount++
- if (finishCount === textDecode.length) {
- resolve(true)
- }
- })
- }).then(_ => {
- this.primaryProfile.subscriptions = this.primaryProfile.subscriptions.concat(subscriptions)
- this.updateProfile(this.primaryProfile)
- if (errorList.length !== 0) {
- errorList.forEach(e => { // log it to console for now, dedicated tab for 'error' channels needed
- console.error(`failed to import ${e[2]}. Url to channel: ${e[1]}.`)
+ textDecode.forEach((channel) => {
+ const snippet = channel.snippet
+ if (typeof snippet === 'undefined') {
+ const message = this.$t('Settings.Data Settings.Invalid subscriptions file')
+ showToast(message)
+ throw new Error('Unable to find channel data')
+ }
+
+ const channelId = snippet.resourceId.channelId
+ if (!this.isChannelSubscribed(channelId, subscriptions)) {
+ subscriptions.push({
+ id: channelId,
+ name: snippet.title,
+ thumbnail: snippet.thumbnails.default.url
})
- showToast(this.$t('Settings.Data Settings.One or more subscriptions were unable to be imported'))
- } else {
- showToast(this.$t('Settings.Data Settings.All subscriptions have been successfully imported'))
}
- }).finally(_ => {
- this.updateShowProgressBar(false)
+
+ count++
+
+ const progressPercentage = (count / (textDecode.length - 1)) * 100
+ this.setProgressBarPercentage(progressPercentage)
})
+
+ this.primaryProfile.subscriptions = this.primaryProfile.subscriptions.concat(subscriptions)
+ this.updateProfile(this.primaryProfile)
+ showToast(this.$t('Settings.Data Settings.All subscriptions have been successfully imported'))
+ this.updateShowProgressBar(false)
},
importOpmlYouTubeSubscriptions: async function (data) {
@@ -361,15 +323,14 @@ export default defineComponent({
const subscriptions = []
- showToast(this.$t('Settings.Data Settings.This might take a while, please wait'))
-
this.updateShowProgressBar(true)
this.setProgressBarPercentage(0)
let count = 0
- feedData.forEach(async (channel) => {
+ feedData.forEach((channel) => {
const xmlUrl = channel.getAttribute('xmlUrl')
+ const channelName = channel.getAttribute('title')
let channelId
if (xmlUrl.includes('https://www.youtube.com/feeds/videos.xml?channel_id=')) {
channelId = new URL(xmlUrl).searchParams.get('channel_id')
@@ -379,45 +340,26 @@ export default defineComponent({
} else {
console.error(`Unknown xmlUrl format: ${xmlUrl}`)
}
- const subExists = this.primaryProfile.subscriptions.findIndex((sub) => {
- return sub.id === channelId
- })
- if (subExists === -1) {
- let channelInfo
- if (this.backendPreference === 'invidious') {
- channelInfo = await this.getChannelInfoInvidious(channelId)
- } else {
- channelInfo = await this.getChannelInfoLocal(channelId)
- }
- if (typeof channelInfo.author !== 'undefined') {
- const subscription = {
- id: channelId,
- name: channelInfo.author,
- thumbnail: channelInfo.authorThumbnails[1].url
- }
- subscriptions.push(subscription)
+ if (!this.isChannelSubscribed(channelId, subscriptions)) {
+ const subscription = {
+ id: channelId,
+ name: channelName,
+ thumbnail: null
}
+ subscriptions.push(subscription)
}
count++
const progressPercentage = (count / feedData.length) * 100
this.setProgressBarPercentage(progressPercentage)
-
- if (count === feedData.length) {
- this.primaryProfile.subscriptions = this.primaryProfile.subscriptions.concat(subscriptions)
- this.updateProfile(this.primaryProfile)
-
- if (subscriptions.length < count) {
- showToast(this.$t('Settings.Data Settings.One or more subscriptions were unable to be imported'))
- } else {
- showToast(this.$t('Settings.Data Settings.All subscriptions have been successfully imported'))
- }
-
- this.updateShowProgressBar(false)
- }
})
+
+ this.primaryProfile.subscriptions = this.primaryProfile.subscriptions.concat(subscriptions)
+ this.updateProfile(this.primaryProfile)
+ showToast(this.$t('Settings.Data Settings.All subscriptions have been successfully imported'))
+ this.updateShowProgressBar(false)
},
importNewPipeSubscriptions: async function (newPipeData) {
@@ -432,51 +374,32 @@ export default defineComponent({
})
const subscriptions = []
- const errorList = []
-
- showToast(this.$t('Settings.Data Settings.This might take a while, please wait'))
this.updateShowProgressBar(true)
this.setProgressBarPercentage(0)
let count = 0
- new Promise((resolve) => {
- let finishCount = 0
- newPipeSubscriptions.forEach(async (channel, index) => {
- const channelId = channel.url.replace(/https:\/\/(www\.)?youtube\.com\/channel\//, '')
- const { subscription, result } = await this.subscribeToChannel({
- channelId: channelId,
- subscriptions: subscriptions,
- channelName: channel.name,
- count: count++,
- total: newPipeSubscriptions.length
- })
- if (result === 1) {
- subscriptions.push(subscription)
- }
- if (result === -1) {
- errorList.push([channelId, channel.url, channel.name])
- }
- finishCount++
- if (finishCount === newPipeSubscriptions.length) {
- resolve(true)
- }
- })
- }).then(_ => {
- this.primaryProfile.subscriptions = this.primaryProfile.subscriptions.concat(subscriptions)
- this.updateProfile(this.primaryProfile)
- if (errorList.count > 0) {
- errorList.forEach(e => { // log it to console for now, dedicated tab for 'error' channels needed
- console.error(`failed to import ${e[2]}. Url to channel: ${e[1]}.`)
+ newPipeSubscriptions.forEach((channel) => {
+ const channelId = channel.url.replace(/https:\/\/(www\.)?youtube\.com\/channel\//, '')
+
+ if (!this.isChannelSubscribed(channelId, subscriptions)) {
+ subscriptions.push({
+ id: channelId,
+ name: channel.name,
+ thumbnail: null
})
- showToast(this.$t('Settings.Data Settings.One or more subscriptions were unable to be imported'))
- } else {
- showToast(this.$t('Settings.Data Settings.All subscriptions have been successfully imported'))
}
- }).finally(_ => {
- this.updateShowProgressBar(false)
+ count++
+
+ const progressPercentage = (count / (newPipeSubscriptions.length - 1)) * 100
+ this.setProgressBarPercentage(progressPercentage)
})
+
+ this.primaryProfile.subscriptions = this.primaryProfile.subscriptions.concat(subscriptions)
+ this.updateProfile(this.primaryProfile)
+ showToast(this.$t('Settings.Data Settings.All subscriptions have been successfully imported'))
+ this.updateShowProgressBar(false)
},
exportSubscriptions: function (option) {
@@ -622,10 +545,9 @@ export default defineComponent({
let exportText = 'Channel ID,Channel URL,Channel title\n'
this.profileList[0].subscriptions.forEach((channel) => {
const channelUrl = `https://www.youtube.com/channel/${channel.id}`
- let channelName = channel.name
- if (channelName.search(',') !== -1) { // add quotations and escape existing quotations if channel has comma in name
- channelName = `"${channelName.replaceAll('"', '""')}"`
- }
+
+ // always have channel name quoted to simplify things
+ const channelName = `"${channel.name.replaceAll('"', '""')}"`
exportText += `${channel.id},${channelUrl},${channelName}\n`
})
exportText += '\n'
@@ -1138,105 +1060,6 @@ export default defineComponent({
showToast(successMessage)
},
- getChannelInfoInvidious: function (channelId) {
- return new Promise((resolve, reject) => {
- const subscriptionsPayload = {
- resource: 'channels',
- id: channelId,
- params: {}
- }
-
- invidiousAPICall(subscriptionsPayload).then((response) => {
- resolve(response)
- }).catch((err) => {
- const errorMessage = this.$t('Invidious API Error (Click to copy)')
- showToast(`${errorMessage}: ${err}`, 10000, () => {
- copyToClipboard(err)
- })
-
- if (process.env.SUPPORTS_LOCAL_API && this.backendFallback && this.backendPreference === 'invidious') {
- showToast(this.$t('Falling back to Local API'))
- resolve(this.getChannelInfoLocal(channelId))
- } else {
- resolve([])
- }
- })
- })
- },
-
- getChannelInfoLocal: async function (channelId) {
- try {
- const channel = await getLocalChannel(channelId)
-
- if (channel.alert) {
- return []
- }
-
- return {
- author: channel.header.author.name,
- authorThumbnails: channel.header.author.thumbnails
- }
- } catch (err) {
- console.error(err)
- const errorMessage = this.$t('Local API Error (Click to copy)')
- showToast(`${errorMessage}: ${err}`, 10000, () => {
- copyToClipboard(err)
- })
-
- if (this.backendFallback && this.backendPreference === 'local') {
- showToast(this.$t('Falling back to Invidious API'))
- return await this.getChannelInfoInvidious(channelId)
- } else {
- return []
- }
- }
- },
-
- /*
- TODO: allow default thumbnail to be used to limit requests to YouTube
- (thumbnail will get updated when user goes to their channel page)
- Returns:
- -1: an error occured
- 0: already subscribed
- 1: successfully subscribed
- */
- async subscribeToChannel({ channelId, subscriptions, channelName = null, thumbnail = null, count = 0, total = 0 }) {
- let result = 1
- if (this.isChannelSubscribed(channelId, subscriptions)) {
- return { subscription: null, successMessage: 0 }
- }
-
- let channelInfo
- let subscription = null
- if (channelName === null || thumbnail === null) {
- try {
- if (this.backendPreference === 'invidious') {
- channelInfo = await this.getChannelInfoInvidious(channelId)
- } else {
- channelInfo = await this.getChannelInfoLocal(channelId)
- }
- } catch (err) {
- console.error(err)
- result = -1
- }
- } else {
- channelInfo = { author: channelName, authorThumbnails: [null, { url: thumbnail }] }
- }
-
- if (typeof channelInfo.author !== 'undefined') {
- subscription = {
- id: channelId,
- name: channelInfo.author,
- thumbnail: channelInfo.authorThumbnails[1].url
- }
- } else {
- result = -1
- }
- const progressPercentage = (count / (total - 1)) * 100
- this.setProgressBarPercentage(progressPercentage)
- return { subscription, result }
- },
-
isChannelSubscribed(channelId, subscriptions) {
if (channelId === null) { return true }
const subExists = this.primaryProfile.subscriptions.findIndex((sub) => {
diff --git a/src/renderer/components/ft-channel-bubble/ft-channel-bubble.js b/src/renderer/components/ft-channel-bubble/ft-channel-bubble.js
index dbff93d28e7b4..efe260efcf7f4 100644
--- a/src/renderer/components/ft-channel-bubble/ft-channel-bubble.js
+++ b/src/renderer/components/ft-channel-bubble/ft-channel-bubble.js
@@ -13,7 +13,7 @@ export default defineComponent({
},
channelThumbnail: {
type: String,
- required: true
+ default: null
},
showSelected: {
type: Boolean,
diff --git a/src/renderer/components/ft-channel-bubble/ft-channel-bubble.vue b/src/renderer/components/ft-channel-bubble/ft-channel-bubble.vue
index 53abe2f282c36..ed8dd5f8bf76d 100644
--- a/src/renderer/components/ft-channel-bubble/ft-channel-bubble.vue
+++ b/src/renderer/components/ft-channel-bubble/ft-channel-bubble.vue
@@ -6,10 +6,17 @@
:to="`/channel/${channelId}`"
>
+
Date: Tue, 27 Aug 2024 17:15:54 -0400
Subject: [PATCH 2/6] Remove unused string
---
static/locales/ar.yaml | 2 --
static/locales/be.yaml | 1 -
static/locales/bg.yaml | 2 --
static/locales/ca.yaml | 2 --
static/locales/ckb.yaml | 1 -
static/locales/cs.yaml | 2 --
static/locales/cy.yaml | 1 -
static/locales/da.yaml | 2 --
static/locales/de-DE.yaml | 2 --
static/locales/el.yaml | 2 --
static/locales/en-US.yaml | 3 ---
static/locales/en_GB.yaml | 2 --
static/locales/es-MX.yaml | 2 --
static/locales/es.yaml | 2 --
static/locales/es_AR.yaml | 2 --
static/locales/et.yaml | 2 --
static/locales/eu.yaml | 2 --
static/locales/fa.yaml | 2 --
static/locales/fi.yaml | 2 --
static/locales/fr-FR.yaml | 2 --
static/locales/gl.yaml | 2 --
static/locales/he.yaml | 2 --
static/locales/hr.yaml | 2 --
static/locales/hu.yaml | 2 --
static/locales/id.yaml | 2 --
static/locales/is.yaml | 2 --
static/locales/it.yaml | 2 --
static/locales/ja.yaml | 7 +++----
static/locales/ko.yaml | 1 -
static/locales/lt.yaml | 2 --
static/locales/lv.yaml | 1 -
static/locales/nb_NO.yaml | 2 --
static/locales/nl.yaml | 2 --
static/locales/nn.yaml | 2 --
static/locales/pl.yaml | 2 --
static/locales/pt-BR.yaml | 2 --
static/locales/pt-PT.yaml | 2 --
static/locales/pt.yaml | 2 --
static/locales/ro.yaml | 2 --
static/locales/ru.yaml | 2 --
static/locales/sk.yaml | 2 --
static/locales/sl.yaml | 2 --
static/locales/sm.yaml | 1 -
static/locales/sr.yaml | 2 --
static/locales/sv.yaml | 2 --
static/locales/tr.yaml | 2 --
static/locales/uk.yaml | 2 --
static/locales/ur.yaml | 2 --
static/locales/vi.yaml | 2 --
static/locales/zh-CN.yaml | 1 -
static/locales/zh-TW.yaml | 1 -
51 files changed, 3 insertions(+), 97 deletions(-)
diff --git a/static/locales/ar.yaml b/static/locales/ar.yaml
index 4143fcc3c6afe..ef571b6c777af 100644
--- a/static/locales/ar.yaml
+++ b/static/locales/ar.yaml
@@ -524,8 +524,6 @@ Settings:
Select Export Type: حدّد نوع التصدير
Select Import Type: حدّد نوع الاستيراد
Data Settings: إعدادات البيانات
- One or more subscriptions were unable to be imported: تعذر استيراد واحد أو أكثر
- من الاشتراكات
Check for Legacy Subscriptions: تحقق من وجود اشتراكات بالصيغة القديمة
Manage Subscriptions: إدارة الإشتراكات
All playlists has been successfully imported: تم استيراد جميع قوائم التشغيل بنجاح
diff --git a/static/locales/be.yaml b/static/locales/be.yaml
index 0855aa431abcf..e4faf4f4d6c55 100644
--- a/static/locales/be.yaml
+++ b/static/locales/be.yaml
@@ -377,7 +377,6 @@ Settings:
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: ''
diff --git a/static/locales/bg.yaml b/static/locales/bg.yaml
index aea3525ba42ef..dcc15eba7e333 100644
--- a/static/locales/bg.yaml
+++ b/static/locales/bg.yaml
@@ -493,8 +493,6 @@ Settings:
и профили бяха внесени успешно'
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: 'Това може да отнеме повече време, моля
изчакайте'
diff --git a/static/locales/ca.yaml b/static/locales/ca.yaml
index b44ee60844e32..9c8b2ef49c380 100644
--- a/static/locales/ca.yaml
+++ b/static/locales/ca.yaml
@@ -290,8 +290,6 @@ Settings:
i perfils s''han importat amb èxit'
All subscriptions have been successfully imported: 'Totes les subscripcions s''han
importat amb èxit'
- One or more subscriptions were unable to be imported: 'Una o més subscripcions
- no s''han pogut importar'
Invalid subscriptions file: 'Fitxer de subscripcions invàlid'
This might take a while, please wait: 'Això pot trigar una estona, si us plau,
esperi'
diff --git a/static/locales/ckb.yaml b/static/locales/ckb.yaml
index 8a1fb1c32d6ca..a56a93b7ddceb 100644
--- a/static/locales/ckb.yaml
+++ b/static/locales/ckb.yaml
@@ -385,7 +385,6 @@ Settings:
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: 'تکایە چاوەڕوانبە لەوانەیە هەندێک کاتی پێ
بچێت'
diff --git a/static/locales/cs.yaml b/static/locales/cs.yaml
index 5fdb951399fca..cf4cff8640cc2 100644
--- a/static/locales/cs.yaml
+++ b/static/locales/cs.yaml
@@ -541,8 +541,6 @@ Settings:
kanály a profily byly úspěšně importovány'
All subscriptions have been successfully imported: 'Všechny odebírané kanály byly
úspěšně importovány'
- One or more subscriptions were unable to be imported: 'Jednu nebo více položek
- odebíraných kanálů nebylo možno importovat'
Invalid subscriptions file: 'Vadný soubor odebíraných kanálů'
This might take a while, please wait: 'Tato akce může chvíli trvat, prosím počkejte'
Invalid history file: 'Vadný soubor s historií'
diff --git a/static/locales/cy.yaml b/static/locales/cy.yaml
index b806ad505514f..c75f4af839155 100644
--- a/static/locales/cy.yaml
+++ b/static/locales/cy.yaml
@@ -388,7 +388,6 @@ Settings:
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: ''
diff --git a/static/locales/da.yaml b/static/locales/da.yaml
index 42695520e621b..76a4139a5fe4f 100644
--- a/static/locales/da.yaml
+++ b/static/locales/da.yaml
@@ -413,8 +413,6 @@ Settings:
at importere alle abonnementer og profiler'
All subscriptions have been successfully imported: 'Det lykkedes at importere
alle abonnementer'
- One or more subscriptions were unable to be imported: 'Et eller flere abonnementer
- kunne ikke importeres'
Invalid subscriptions file: 'Ugyldig abonnementer-fil'
This might take a while, please wait: 'Dette kan tage et stykke tid. Vent venligst'
Invalid history file: 'Ugyldig historik-fil'
diff --git a/static/locales/de-DE.yaml b/static/locales/de-DE.yaml
index 2972c8e1b0045..96d8bfbf43b53 100644
--- a/static/locales/de-DE.yaml
+++ b/static/locales/de-DE.yaml
@@ -529,8 +529,6 @@ Settings:
Invalid history file: Ungültige Verlaufsdatei
This might take a while, please wait: Dies dauert einen Moment, bitte warten
Invalid subscriptions file: Ungültige Abo-Datei
- One or more subscriptions were unable to be imported: Eine oder mehrere Abos konnten
- nicht importiert werden
All subscriptions and profiles have been successfully imported: Alle Abos und
Profile wurden erfolgreich importiert
All subscriptions have been successfully imported: Alle Abos wurden erfolgreich
diff --git a/static/locales/el.yaml b/static/locales/el.yaml
index a6afd33e21bdc..4d3d79a2e4665 100644
--- a/static/locales/el.yaml
+++ b/static/locales/el.yaml
@@ -350,8 +350,6 @@ Settings:
των συνδρομών και των προφίλ έχει γίνει με επιτυχία'
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: 'Αυτή η ενέργεια μπορεί να διαρκέσει για
λίγο, παρακαλώ περιμένετε'
diff --git a/static/locales/en-US.yaml b/static/locales/en-US.yaml
index ef1e6a8eb6963..72c9da86d16af 100644
--- a/static/locales/en-US.yaml
+++ b/static/locales/en-US.yaml
@@ -551,10 +551,7 @@ Settings:
and profiles have been successfully imported
All subscriptions have been successfully imported: All subscriptions have been
successfully imported
- One or more subscriptions were unable to be imported: One or more subscriptions
- were unable to be imported
Invalid subscriptions file: Invalid subscriptions file
- This might take a while, please wait: This might take a while, please wait
Invalid history file: Invalid history file
Subscriptions have been successfully exported: Subscriptions have been successfully
exported
diff --git a/static/locales/en_GB.yaml b/static/locales/en_GB.yaml
index ae4bbf9366aee..23d2b2fddc8e8 100644
--- a/static/locales/en_GB.yaml
+++ b/static/locales/en_GB.yaml
@@ -495,8 +495,6 @@ Settings:
and profiles have been successfully imported'
All subscriptions have been successfully imported: 'All subscriptions have been
successfully imported'
- One or more subscriptions were unable to be imported: 'One or more subscriptions
- were unable to be imported'
Invalid subscriptions file: 'Invalid subscriptions file'
This might take a while, please wait: 'This might take a while, please wait'
Invalid history file: 'Invalid history file'
diff --git a/static/locales/es-MX.yaml b/static/locales/es-MX.yaml
index 6f3b593981352..6b11113849531 100644
--- a/static/locales/es-MX.yaml
+++ b/static/locales/es-MX.yaml
@@ -312,8 +312,6 @@ Settings:
This might take a while, please wait: Esto puede tomar un tiempo, por favor espera
All subscriptions and profiles have been successfully imported: Suscripciones
y perfiles se importaron con éxito
- One or more subscriptions were unable to be imported: Una o más suscripciones
- no se pudo importar
All subscriptions have been successfully imported: Suscripciones se importaron
con éxito
Subscriptions have been successfully exported: Suscripciones se exportaron con
diff --git a/static/locales/es.yaml b/static/locales/es.yaml
index 23529fdb67b28..4d8dca10da693 100644
--- a/static/locales/es.yaml
+++ b/static/locales/es.yaml
@@ -507,8 +507,6 @@ Settings:
Unable to write file: 'Imposible escribir el archivo'
Unknown data key: 'Clave de datos desconocida'
How do I import my subscriptions?: '¿Cómo puedo importar mis suscripciones?'
- One or more subscriptions were unable to be imported: Una o varias de las suscripciones
- no han podido ser importadas
Check for Legacy Subscriptions: Comprobar suscripciones Legacy
Manage Subscriptions: Administrar suscripciones
Import Playlists: Importar listas de reproducción
diff --git a/static/locales/es_AR.yaml b/static/locales/es_AR.yaml
index 50e15c8a0d88a..15677a9ba6619 100644
--- a/static/locales/es_AR.yaml
+++ b/static/locales/es_AR.yaml
@@ -333,8 +333,6 @@ Settings:
All subscriptions and profiles have been successfully imported: Suscripciones
y perfiles se importaron con éxito
Unable to read file: No se pudo leer el archivo
- One or more subscriptions were unable to be imported: Una o más suscripciones
- no se pudo importar
Invalid subscriptions file: Archivo de suscripciones no válido
History File: Archivo de historial
Profile object has insufficient data, skipping item: El objeto de perfil tiene
diff --git a/static/locales/et.yaml b/static/locales/et.yaml
index 482cd17b77ec4..3115714d55aba 100644
--- a/static/locales/et.yaml
+++ b/static/locales/et.yaml
@@ -487,8 +487,6 @@ Settings:
ja profiilide import õnnestus'
All subscriptions have been successfully imported: 'Kõikide tellimuste import
õnnestus'
- One or more subscriptions were unable to be imported: 'Ühte või enamat tellimust
- ei õnnestunud importida'
Invalid subscriptions file: 'Vigane tellimuste fail'
This might take a while, please wait: 'Nüüd võib natuke aega kuluda, palun oota'
Invalid history file: 'Vigane ajaloofail'
diff --git a/static/locales/eu.yaml b/static/locales/eu.yaml
index bf40cbe56b292..fbfb021d9f58f 100644
--- a/static/locales/eu.yaml
+++ b/static/locales/eu.yaml
@@ -541,8 +541,6 @@ Settings:
guztiak ongi inportatu dira'
All subscriptions have been successfully imported: 'Harpidetza guztiak ongi inportatu
dira'
- One or more subscriptions were unable to be imported: 'Zenbait harpidetza ezin
- izan dira inportatu'
Invalid subscriptions file: 'Harpidetza fitxategi baliogabea'
This might take a while, please wait: 'Baliteke denbora pixka bat behar izatea,
itxaron mesedez'
diff --git a/static/locales/fa.yaml b/static/locales/fa.yaml
index e225e3344c95c..7051a8271ece0 100644
--- a/static/locales/fa.yaml
+++ b/static/locales/fa.yaml
@@ -377,8 +377,6 @@ Settings:
و پروفایل ها با موفقیت ثبت شد'
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: 'فایل تاریخچه نامعتبر است'
diff --git a/static/locales/fi.yaml b/static/locales/fi.yaml
index 3214b97bf01fc..0ca3d7c52aa23 100644
--- a/static/locales/fi.yaml
+++ b/static/locales/fi.yaml
@@ -439,8 +439,6 @@ Settings:
Invalid history file: Puutteellinen historiatiedosto
This might take a while, please wait: Tämä saattaa viedä tovin, odota hetki
Invalid subscriptions file: Puutteellinen tilaustiedosto
- One or more subscriptions were unable to be imported: Yhden tai useamman tilauksen
- tuonti epäonnistui
All subscriptions have been successfully imported: Kaikki tilaukset on tuotu onnistuneesti
All subscriptions and profiles have been successfully imported: Kaikki tilaukset
ja profiilit on tuotu onnistuneesti
diff --git a/static/locales/fr-FR.yaml b/static/locales/fr-FR.yaml
index 42eb4387c42b5..a4ff0595011a6 100644
--- a/static/locales/fr-FR.yaml
+++ b/static/locales/fr-FR.yaml
@@ -558,8 +558,6 @@ Settings:
données d'historique sont insuffisantes
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
- n'ont pas pu être importés
Check for Legacy Subscriptions: Vérifier les abonnements Legacy
Manage Subscriptions: Gérer les abonnements
Import Playlists: Importer des listes de lecture
diff --git a/static/locales/gl.yaml b/static/locales/gl.yaml
index a0c6945027581..ec96a721382e1 100644
--- a/static/locales/gl.yaml
+++ b/static/locales/gl.yaml
@@ -355,8 +355,6 @@ Settings:
e perfís foron importados correctamente'
All subscriptions have been successfully imported: 'Tódalas subscricións foron
importadas correctamente'
- One or more subscriptions were unable to be imported: 'Unha ou máis subscricións
- non puideron ser importadas'
Invalid subscriptions file: 'Ficheiro de subcricións inválido'
This might take a while, please wait: 'Isto pode levar un cacho. Por favor, agarda'
Invalid history file: 'Ficheiro de histórico inválido'
diff --git a/static/locales/he.yaml b/static/locales/he.yaml
index 3af8747990d37..fe90a01a3310e 100644
--- a/static/locales/he.yaml
+++ b/static/locales/he.yaml
@@ -383,8 +383,6 @@ Settings:
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: 'קובץ היסטוריה בלתי קריא'
diff --git a/static/locales/hr.yaml b/static/locales/hr.yaml
index 660b6285532e9..1ef894fca07cf 100644
--- a/static/locales/hr.yaml
+++ b/static/locales/hr.yaml
@@ -527,8 +527,6 @@ Settings:
Select Import Type: Odaberi vrstu uvoza
Data Settings: Postavke podataka
How do I import my subscriptions?: Kako uvesti pretplate?
- One or more subscriptions were unable to be imported: Neuspio uvoz jedne ili više
- pretplata
Check for Legacy Subscriptions: Potraži stare pretplate
Manage Subscriptions: Upravljaj pretplatama
Import Playlists: Uvezi zbirke
diff --git a/static/locales/hu.yaml b/static/locales/hu.yaml
index 44863449780f6..9a11b286caa9f 100644
--- a/static/locales/hu.yaml
+++ b/static/locales/hu.yaml
@@ -500,8 +500,6 @@ Settings:
és a profil sikeresen importálva'
All subscriptions have been successfully imported: 'Az összes feliratkozás sikeresen
importálva'
- One or more subscriptions were unable to be imported: 'Egy vagy több feliratkozást
- nem sikerült importálni'
Invalid subscriptions file: 'Érvénytelen feliratkozási fájl'
This might take a while, please wait: 'Ez eltarthat egy ideig. Kis türelmet kérünk'
Invalid history file: 'Érvénytelen előzményfájl'
diff --git a/static/locales/id.yaml b/static/locales/id.yaml
index 09a8dfdf3b0a2..db26d1d1a1a8c 100644
--- a/static/locales/id.yaml
+++ b/static/locales/id.yaml
@@ -379,8 +379,6 @@ Settings:
dan profil telah berhasil diimpor'
All subscriptions have been successfully imported: 'Semua langganan telah berhasil
diimpor'
- One or more subscriptions were unable to be imported: 'Satu atau lebih langganan
- tidak dapat diimpor'
Invalid subscriptions file: 'Berkas langganan tidak valid'
This might take a while, please wait: 'Mungkin memakan waktu cukup lama, silakan
tunggu'
diff --git a/static/locales/is.yaml b/static/locales/is.yaml
index 4aeb1350c226b..633a6592f5864 100644
--- a/static/locales/is.yaml
+++ b/static/locales/is.yaml
@@ -548,8 +548,6 @@ Settings:
á öllum áskriftum og notkunarsniðum tókst'
All subscriptions have been successfully imported: 'Innflutningur á öllum áskriftum
tókst'
- One or more subscriptions were unable to be imported: 'Ekki tókst að flytja inn
- eina eða fleiri áskriftir'
Invalid subscriptions file: 'Ógild áskriftaskrá'
This might take a while, please wait: 'Þetta getur tekið dálítinn tíma, sýndu
smá þolinmæði'
diff --git a/static/locales/it.yaml b/static/locales/it.yaml
index a855085853555..7e6cdd650b1ac 100644
--- a/static/locales/it.yaml
+++ b/static/locales/it.yaml
@@ -522,8 +522,6 @@ Settings:
This might take a while, please wait: Questa operazione potrebbe richiedere del
tempo. Per favore attendi
Invalid subscriptions file: File iscrizioni non valido
- One or more subscriptions were unable to be imported: Una o più iscrizioni non
- sono state importate
All subscriptions have been successfully imported: Tutte le iscrizioni sono state
importate con successo
All subscriptions and profiles have been successfully imported: Tutte le iscrizioni
diff --git a/static/locales/ja.yaml b/static/locales/ja.yaml
index 8d0053b0277aa..18fef20f677a9 100644
--- a/static/locales/ja.yaml
+++ b/static/locales/ja.yaml
@@ -123,7 +123,7 @@ Playlists: '再生リスト'
User Playlists:
Your Playlists: 'あなたの再生リスト'
Your saved videos are empty. Click on the save button on the corner of a video to have it listed here: 保存した動画はありません。一覧に表示させるには、ビデオの角にある保存ボタンをクリックします
- Playlist Message:
+ Playlist Message:
このページは完全に機能する再生リストを反映していません。保存した動画やお気に入りの動画のみが表示されます。作業が完了すると、現在ここにあるすべての動画は「Favorites」の再生リストに移行されます。
Search bar placeholder: 再生リストの検索
Empty Search Message: この再生リストに、検索に一致する動画はありません
@@ -479,7 +479,6 @@ Settings:
Select Export Type: エクスポート形式の選択
Select Import Type: インポート形式の選択
Data Settings: データの設定
- One or more subscriptions were unable to be imported: いくつかの登録チャンネルはインポートできませんでした
Check for Legacy Subscriptions: 旧型式の登録チャンネルの確認
Manage Subscriptions: 登録チャンネルの管理
Playlist insufficient data: 再生リスト「{playlist}」のデータが不十分なため、項目をスキップします
@@ -597,7 +596,7 @@ Settings:
Experimental Settings:
Replace HTTP Cache: HTTP キャッシュの置換
Experimental Settings: 実験中の設定
- Warning:
+ Warning:
これらの設定は実験的なものであり、有効にするとアプリのクラッシュを引き起こす恐れがあります。バックアップをとっておくことを強くお勧めします。自己責任で使用してください!
Password Settings:
Password Settings: パスワードの設定
@@ -1049,7 +1048,7 @@ Tooltips:
ID は、大文字と小文字を区別するので完全に一致させてください。
Hide Subscriptions Live: この設定は、アプリ全体の "{appWideSetting}" 設定により上書きされます。"{settingsSection}"
項目の "{subsection}" にあります
- Hide Videos and Playlists Containing Text: FreeTube
+ Hide Videos and Playlists Containing Text: FreeTube
全体での履歴やあなたの再生リストと再生リスト内の動画を除き、元のタイトルにその単語を含む動画や単語の一部または、フレーズ(大文字と小文字を区別しない)が含まれているすべての動画と再生リストを非表示にします。
SponsorBlock Settings:
UseDeArrowTitles: 動画のタイトルを DeArrow からユーザーが投稿したタイトルに置き換えます。
diff --git a/static/locales/ko.yaml b/static/locales/ko.yaml
index 4fd3d4d105506..8dc11675164c4 100644
--- a/static/locales/ko.yaml
+++ b/static/locales/ko.yaml
@@ -331,7 +331,6 @@ Settings:
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: '잘못된 기록 파일입니다'
diff --git a/static/locales/lt.yaml b/static/locales/lt.yaml
index 8d53372268df8..dfed670b6e4ca 100644
--- a/static/locales/lt.yaml
+++ b/static/locales/lt.yaml
@@ -379,8 +379,6 @@ Settings:
ir profiliai sėkmingai importuoti'
All subscriptions have been successfully imported: 'Visos prenumeratos sėkmingai
importuotos'
- One or more subscriptions were unable to be imported: 'Nepavyko importuoti vienos
- ar daugiau prenumeratų'
Invalid subscriptions file: 'Netinkamas prenumeratų failas'
This might take a while, please wait: 'Tai gali užtrukti, palaukite'
Invalid history file: 'Netinkamas žiūrėjimo istorijos failas'
diff --git a/static/locales/lv.yaml b/static/locales/lv.yaml
index b8b4296185661..7c5857e0154a5 100644
--- a/static/locales/lv.yaml
+++ b/static/locales/lv.yaml
@@ -382,7 +382,6 @@ Settings:
datu, izlaiž vienumu'
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: 'Tas var aizņemt kādu laiku, lūdzu gaidiet'
Invalid history file: 'Nederīga vēstures datne'
diff --git a/static/locales/nb_NO.yaml b/static/locales/nb_NO.yaml
index ad57f049fff07..e57f9bc17c96f 100644
--- a/static/locales/nb_NO.yaml
+++ b/static/locales/nb_NO.yaml
@@ -337,8 +337,6 @@ Settings:
importert
History object has insufficient data, skipping item: Hopper over historikkobjekt
med utilstrekkelig data
- One or more subscriptions were unable to be imported: Ett eller flere abonnement
- kunne ikke importeres
All subscriptions have been successfully imported: Alle abonnementer har blitt
importert
All subscriptions and profiles have been successfully imported: Importerte alle
diff --git a/static/locales/nl.yaml b/static/locales/nl.yaml
index 619ac6fc94e1f..2b312f40b9026 100644
--- a/static/locales/nl.yaml
+++ b/static/locales/nl.yaml
@@ -502,8 +502,6 @@ Settings:
Invalid history file: Ongeldig geschiedenisbestand
This might take a while, please wait: Dit kan eventjes duren, even geduld aub
Invalid subscriptions file: Ongeldig abonnementenbestand
- One or more subscriptions were unable to be imported: Een of meer abonnementen
- konden niet worden geïmporteerd
All subscriptions have been successfully imported: Alle abonnementen zijn met
succes geïmporteerd
All subscriptions and profiles have been successfully imported: Alle abonnementen
diff --git a/static/locales/nn.yaml b/static/locales/nn.yaml
index f08b5d593d7a0..ce1f7c1ab6897 100644
--- a/static/locales/nn.yaml
+++ b/static/locales/nn.yaml
@@ -346,8 +346,6 @@ Settings:
og profila har blitt importert'
All subscriptions have been successfully imported: 'Alle abonnement har blitt
importert'
- One or more subscriptions were unable to be imported: 'Eit eller fleire abonnentar
- kunne ikkje importerast'
Invalid subscriptions file: 'Ugyldig abonnementfil'
This might take a while, please wait: 'Dette kan ta ei stund. Ver venleg og vent'
Invalid history file: 'Ugyldig historikkfil'
diff --git a/static/locales/pl.yaml b/static/locales/pl.yaml
index c0a425607f809..71c6919a57254 100644
--- a/static/locales/pl.yaml
+++ b/static/locales/pl.yaml
@@ -540,8 +540,6 @@ Settings:
Select Export Type: Wybierz typ eksportu
Select Import Type: Wybierz typ importu
Data Settings: Ustawienia danych
- One or more subscriptions were unable to be imported: Nie można było zaimportować
- co najmniej jednej subskrypcji
Check for Legacy Subscriptions: Sprawdź subskrypcje ze starej wersji
Manage Subscriptions: Zarządzaj subskrypcjami
Export Playlists: Wyeksportuj playlisty
diff --git a/static/locales/pt-BR.yaml b/static/locales/pt-BR.yaml
index 6188e9847ce0a..eafeed21609c8 100644
--- a/static/locales/pt-BR.yaml
+++ b/static/locales/pt-BR.yaml
@@ -506,8 +506,6 @@ Settings:
Subscriptions have been successfully exported: Inscrições foram exportadas com
sucesso
Invalid history file: Arquivo de histórico inválido
- One or more subscriptions were unable to be imported: Uma ou mais inscrições não
- foram importadas
All subscriptions have been successfully imported: Todas as inscrições foram importadas
com sucesso
Select Import Type: Selecionar tipo de importação
diff --git a/static/locales/pt-PT.yaml b/static/locales/pt-PT.yaml
index b4e7e67611c9e..8448fd3f251c0 100644
--- a/static/locales/pt-PT.yaml
+++ b/static/locales/pt-PT.yaml
@@ -531,8 +531,6 @@ Settings:
e perfis foram importados com sucesso
All subscriptions have been successfully imported: Todas as subscrições foram
importadas com sucesso
- One or more subscriptions were unable to be imported: Uma ou mais subscrições
- não foram importadas
Invalid subscriptions file: Ficheiro de subscrições inválido
This might take a while, please wait: Este processo pode ser demorado.
Invalid history file: Ficheiro de histórico inválido
diff --git a/static/locales/pt.yaml b/static/locales/pt.yaml
index 4a5bf897ac130..470b74724f93a 100644
--- a/static/locales/pt.yaml
+++ b/static/locales/pt.yaml
@@ -483,8 +483,6 @@ Settings:
e perfis foram importados com sucesso'
All subscriptions have been successfully imported: 'Todas as subscrições foram
importadas com sucesso'
- One or more subscriptions were unable to be imported: 'Uma ou mais subscrições
- não foram importadas'
Invalid subscriptions file: 'Ficheiro de subscrições inválido'
This might take a while, please wait: 'Este processo pode ser demorado.'
Invalid history file: 'Ficheiro de histórico inválido'
diff --git a/static/locales/ro.yaml b/static/locales/ro.yaml
index ccb291573eb6a..51e2d7ce7fd7e 100644
--- a/static/locales/ro.yaml
+++ b/static/locales/ro.yaml
@@ -476,8 +476,6 @@ Settings:
și profilurile au fost importate cu succes'
All subscriptions have been successfully imported: 'Toate abonamentele au fost
importate cu succes'
- One or more subscriptions were unable to be imported: 'Unul sau mai multe abonamente
- nu au putut fi importate'
Invalid subscriptions file: 'Fișier de abonamente invalid'
This might take a while, please wait: 'Acest lucru ar putea dura ceva timp, vă
rugăm să așteptați'
diff --git a/static/locales/ru.yaml b/static/locales/ru.yaml
index 0a28229339f14..67edab9204212 100644
--- a/static/locales/ru.yaml
+++ b/static/locales/ru.yaml
@@ -528,8 +528,6 @@ Settings:
Select Export Type: Выбрать тип экспорта
Select Import Type: Выбрать тип импорта
Data Settings: Данные
- One or more subscriptions were unable to be imported: Не удалось импортировать
- одну или несколько подписок
Check for Legacy Subscriptions: Проверить устаревшие подписки
Manage Subscriptions: Управление подписками
Import Playlists: Импортировать подборки
diff --git a/static/locales/sk.yaml b/static/locales/sk.yaml
index 2c03d2c6ceb8e..6b0e8da2c2c7b 100644
--- a/static/locales/sk.yaml
+++ b/static/locales/sk.yaml
@@ -278,8 +278,6 @@ Settings:
Invalid history file: Neplatný súbor histórie
This might take a while, please wait: Môže to chvíľu trvať, čakajte prosím
Invalid subscriptions file: Neplatný súbor s odbermi
- One or more subscriptions were unable to be imported: Jeden alebo viac odberov
- sa nepodarilo importovať
All subscriptions have been successfully imported: Všetky odbery sa úspešne importovali
All subscriptions and profiles have been successfully imported: Všetky odbery
a profily sa úspešne importovali
diff --git a/static/locales/sl.yaml b/static/locales/sl.yaml
index 64416d0fa2f67..ce605f0d92255 100644
--- a/static/locales/sl.yaml
+++ b/static/locales/sl.yaml
@@ -321,8 +321,6 @@ Settings:
in profili so bili uspešno uvoženi'
All subscriptions have been successfully imported: 'Vse naročnine so bile uspešno
uvožene'
- One or more subscriptions were unable to be imported: 'Ene ali več naročnin ni
- bilo mogoče uvoziti'
Invalid subscriptions file: 'Neveljavna datoteka z naročninami'
This might take a while, please wait: 'To bo lahko trajalo nekaj časa. Prosimo,
počakajte'
diff --git a/static/locales/sm.yaml b/static/locales/sm.yaml
index 970491407b4ad..83252c853dc89 100644
--- a/static/locales/sm.yaml
+++ b/static/locales/sm.yaml
@@ -378,7 +378,6 @@ Settings:
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: ''
diff --git a/static/locales/sr.yaml b/static/locales/sr.yaml
index 462ce581e0f3c..2c8ffd385dc10 100644
--- a/static/locales/sr.yaml
+++ b/static/locales/sr.yaml
@@ -547,8 +547,6 @@ Settings:
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: 'Неважећи фајл историје'
diff --git a/static/locales/sv.yaml b/static/locales/sv.yaml
index 2464513a6d48b..064f186f46a8c 100644
--- a/static/locales/sv.yaml
+++ b/static/locales/sv.yaml
@@ -421,8 +421,6 @@ Settings:
All subscriptions and profiles have been successfully imported: 'Alla prenumerationer
och profiler har importerats'
All subscriptions have been successfully imported: 'Alla prenumerationer har importerats'
- One or more subscriptions were unable to be imported: 'En eller flera prenumerationer
- kunde inte importeras'
Invalid subscriptions file: 'Ogiltigt prenumerationsarkiv'
This might take a while, please wait: 'Detta kan ta ett tag, vänligen vänta'
Invalid history file: 'Ogiltigt historikarkiv'
diff --git a/static/locales/tr.yaml b/static/locales/tr.yaml
index 7068693262e86..ad960d7e5dd26 100644
--- a/static/locales/tr.yaml
+++ b/static/locales/tr.yaml
@@ -491,8 +491,6 @@ Settings:
ve profiller başarılı bir şekilde içe aktarıldı'
All subscriptions have been successfully imported: 'Tüm abonelikler başarılı bir
şekilde içe aktarıldı'
- One or more subscriptions were unable to be imported: 'Bir ya da daha fazla abonelik
- içe aktarılamadı'
Invalid subscriptions file: 'Geçersiz aboneler dosyası'
This might take a while, please wait: 'Biraz uzun sürebilir, lütfen bekleyin'
Invalid history file: 'Geçersiz geçmiş dosyası'
diff --git a/static/locales/uk.yaml b/static/locales/uk.yaml
index f3f93d539b443..1210830ecfaa8 100644
--- a/static/locales/uk.yaml
+++ b/static/locales/uk.yaml
@@ -414,8 +414,6 @@ Settings:
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: 'Недійсний файл історії'
diff --git a/static/locales/ur.yaml b/static/locales/ur.yaml
index 0c4030bfd4c68..12809cac6bcc0 100644
--- a/static/locales/ur.yaml
+++ b/static/locales/ur.yaml
@@ -110,8 +110,6 @@ Settings:
اور پروفائلز کو کامیابی کے ساتھ درآمد کیا گیا ہے۔'
All subscriptions have been successfully imported: 'تمام سبسکرپشنز ہو چکی ہیں۔
کامیابی سے درآمد کیا گیا۔'
- One or more subscriptions were unable to be imported: 'ایک یا زیادہ سبسکرپشنز
- درآمد کرنے کے قابل نہیں تھے'
Subscriptions have been successfully exported: 'سبسکرپشنز کامیابی سے ہو گئی ہیں۔
برآمد'
History object has insufficient data, skipping item: 'تاریخ کا اعتراض ناکافی ہے۔
diff --git a/static/locales/vi.yaml b/static/locales/vi.yaml
index 18434fcf178e9..15de51649098d 100644
--- a/static/locales/vi.yaml
+++ b/static/locales/vi.yaml
@@ -439,8 +439,6 @@ Settings:
Invalid history file: Tệp lịch sử không hợp lệ
This might take a while, please wait: Điều này có thể tốn thời gian, xin hãy chờ
Invalid subscriptions file: Tệp đăng ký không hợp lệ
- One or more subscriptions were unable to be imported: Một hay nhiều đăng ký không
- thể nhập
All subscriptions have been successfully imported: Tất cả đăng ký đã được nhập
vào thành công
All subscriptions and profiles have been successfully imported: Tất cả các đăng
diff --git a/static/locales/zh-CN.yaml b/static/locales/zh-CN.yaml
index 412c1b9c1483d..4beafac044f30 100644
--- a/static/locales/zh-CN.yaml
+++ b/static/locales/zh-CN.yaml
@@ -474,7 +474,6 @@ Settings:
Select Export Type: 选择导出类型
Select Import Type: 选择导入类型
Data Settings: 数据设置
- One or more subscriptions were unable to be imported: 一个或者更多订阅无法被导入
Check for Legacy Subscriptions: 检查传统订阅
Manage Subscriptions: 管理订阅
Import Playlists: 导入播放列表
diff --git a/static/locales/zh-TW.yaml b/static/locales/zh-TW.yaml
index 3ce06ca373f7b..de48a2baf430c 100644
--- a/static/locales/zh-TW.yaml
+++ b/static/locales/zh-TW.yaml
@@ -476,7 +476,6 @@ Settings:
Select Export Type: 選取匯出類型
Select Import Type: 選取匯入類型
Data Settings: 資料設定
- One or more subscriptions were unable to be imported: 一個或者更多訂閱無法被匯入
Check for Legacy Subscriptions: 檢查舊版訂閱
Manage Subscriptions: 管理訂閱
Import Playlists: 匯入播放清單
From a317cd4375425d5da9c58d899ac6b7091b3d2566 Mon Sep 17 00:00:00 2001
From: ChunkyProgrammer <78101139+ChunkyProgrammer@users.noreply.github.com>
Date: Tue, 27 Aug 2024 20:32:08 -0400
Subject: [PATCH 3/6] Fix SubscribedChannels page when thumbnail is missing
---
.../views/SubscribedChannels/SubscribedChannels.css | 1 +
src/renderer/views/SubscribedChannels/SubscribedChannels.js | 1 +
.../views/SubscribedChannels/SubscribedChannels.vue | 6 ++++++
3 files changed, 8 insertions(+)
diff --git a/src/renderer/views/SubscribedChannels/SubscribedChannels.css b/src/renderer/views/SubscribedChannels/SubscribedChannels.css
index bc34f613c3bcb..a9ba894a37e03 100644
--- a/src/renderer/views/SubscribedChannels/SubscribedChannels.css
+++ b/src/renderer/views/SubscribedChannels/SubscribedChannels.css
@@ -32,6 +32,7 @@
flex-grow: 0;
display: flex;
align-items: center;
+ color: inherit;
}
.channelThumbnail {
diff --git a/src/renderer/views/SubscribedChannels/SubscribedChannels.js b/src/renderer/views/SubscribedChannels/SubscribedChannels.js
index 797e379ebe114..acccb7e26c5ff 100644
--- a/src/renderer/views/SubscribedChannels/SubscribedChannels.js
+++ b/src/renderer/views/SubscribedChannels/SubscribedChannels.js
@@ -111,6 +111,7 @@ export default defineComponent({
},
thumbnailURL: function(originalURL) {
+ if (originalURL == null) { return null }
let newURL = originalURL
// Sometimes relative protocol URLs are passed in
if (originalURL.startsWith('//')) {
diff --git a/src/renderer/views/SubscribedChannels/SubscribedChannels.vue b/src/renderer/views/SubscribedChannels/SubscribedChannels.vue
index 323681aca1801..034c414091508 100644
--- a/src/renderer/views/SubscribedChannels/SubscribedChannels.vue
+++ b/src/renderer/views/SubscribedChannels/SubscribedChannels.vue
@@ -36,11 +36,17 @@
:to="`/channel/${channel.id}`"
>
+