Merge branch 'TeamPiped:master' into beta

This commit is contained in:
J.P 2024-05-09 05:14:21 +02:00 committed by GitHub
commit 67ba930525
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 992 additions and 986 deletions

View file

@ -11,17 +11,17 @@
"lint": "eslint --fix --color --ignore-path .gitignore --ext .js,.vue ."
},
"dependencies": {
"dompurify": "3.1.0",
"dompurify": "3.1.2",
"fast-xml-parser": "4.3.6",
"hotkeys-js": "3.13.7",
"javascript-time-ago": "2.5.9",
"javascript-time-ago": "2.5.10",
"linkify-html": "4.1.3",
"linkifyjs": "4.1.3",
"qrcode": "^1.5.3",
"shaka-player": "4.7.11",
"vue": "3.4.21",
"vue-i18n": "9.11.0",
"vue-router": "4.3.0"
"shaka-player": "4.8.2",
"vue": "3.4.25",
"vue-i18n": "9.13.1",
"vue-router": "4.3.2"
},
"devDependencies": {
"@iconify-json/fa6-brands": "1.1.19",
@ -34,20 +34,20 @@
"@unocss/reset": "0.58.9",
"@unocss/transformer-directives": "0.58.9",
"@unocss/transformer-variant-group": "0.58.9",
"@vitejs/plugin-legacy": "5.3.2",
"@vitejs/plugin-legacy": "5.4.0",
"@vitejs/plugin-vue": "5.0.4",
"@vue/compiler-sfc": "3.4.21",
"@vue/compiler-sfc": "3.4.25",
"eslint": "8.57.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.1.3",
"eslint-plugin-vue": "9.24.0",
"eslint-plugin-vue": "9.25.0",
"lightningcss": "1.24.1",
"prettier": "3.2.5",
"unocss": "0.58.9",
"vite": "5.2.8",
"vite": "5.2.11",
"vite-plugin-eslint": "1.8.1",
"vite-plugin-pwa": "0.19.8",
"workbox-window": "7.0.0"
"vite-plugin-pwa": "0.20.0",
"workbox-window": "7.1.0"
},
"browserslist": [
"last 1 chrome version",

1654
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
<template v-if="text">
<div class="mx-1 whitespace-pre-wrap py-2">
<!-- eslint-disable-next-line vue/no-v-html -->
<span v-if="showFullText" v-html="fullText()" />
<span v-if="showFullText" class="contentText" v-html="fullText()" />
<!-- eslint-disable-next-line vue/no-v-html -->
<span v-else v-html="colapsedText()" />
<span v-if="text.length > visibleLimit && !showFullText">...</span>
@ -44,3 +44,9 @@ export default {
},
};
</script>
<style>
.contentText {
word-wrap: anywhere;
}
</style>

View file

@ -17,7 +17,7 @@
<span v-t="'actions.status_page'" class="ml-2" />
</a>
<a v-if="donationHref" :href="donationHref">
<i class="i-fa6-solid:donate" />
<i class="i-fa6-solid:money-check" />
<span v-t="'actions.instance_donations'" class="ml-2" />
</a>
<a v-if="privacyPolicyHref" :href="privacyPolicyHref" target="_blank">

View file

@ -52,10 +52,16 @@
>
<span v-text="group.groupName !== '' ? group.groupName : $t('video.all')" />
<div v-if="group.groupName != '' && selectedGroup == group">
<i class="i-fa6-solid:edit mx-2" @click="showEditGroupModal = true" />
<i class="i-fa6-solid:circle-minus mx-2" @click="deleteGroup(group)" />
<i class="i-fa6-solid:pen mx-2" @click="showEditGroupModal = true" />
<i class="i-fa6-solid:circle-minus mx-2" @click="groupToDelete = group.groupName" />
</div>
</button>
<ConfirmModal
v-if="groupToDelete != null"
:message="$t('actions.delete_group_confirm')"
@close="groupToDelete = null"
@confirm="deleteGroup(groupToDelete)"
/>
<button class="btn mx-1" @click="showCreateGroupModal = true">
<i class="i-fa6-solid:circle-plus" />
</button>
@ -118,9 +124,10 @@
<script>
import ModalComponent from "./ModalComponent.vue";
import CreateGroupModal from "./CreateGroupModal.vue";
import ConfirmModal from "./ConfirmModal.vue";
export default {
components: { ModalComponent, CreateGroupModal },
components: { ModalComponent, CreateGroupModal, ConfirmModal },
data() {
return {
subscriptions: [],
@ -132,6 +139,7 @@ export default {
showCreateGroupModal: false,
showEditGroupModal: false,
editedGroupName: "",
groupToDelete: null,
};
},
computed: {
@ -153,7 +161,6 @@ export default {
});
this.channelGroups.push(this.selectedGroup);
if (!window.db) return;
this.loadChannelGroups();
@ -232,9 +239,10 @@ export default {
this.showEditGroupModal = false;
},
deleteGroup(group) {
this.deleteChannelGroup(group.groupName);
this.channelGroups = this.channelGroups.filter(g => g != group);
this.selectedGroup = this.channelGroups[0];
this.deleteChannelGroup(group);
this.channelGroups = this.channelGroups.filter(g => g.groupName != group);
this.selectedGroup = this.channelGroups[0] || {};
this.groupToDelete = null;
},
checkedChange(subscription) {
const channelId = subscription.url.substr(-24);

View file

@ -155,7 +155,8 @@
"concurrent_prefetch_limit": "حد الجلب المسبق للدفق المتزامن",
"customize": "تخصيص",
"invalid_url": "عنوان URL غير صالح!",
"add": "إضافة"
"add": "إضافة",
"delete_group_confirm": "حذف هذه المجموعة؟"
},
"video": {
"sponsor_segments": "المقاطع الإعلانية",

View file

@ -151,7 +151,8 @@
"concurrent_prefetch_limit": "Limit souběžných přednačtení streamů",
"customize": "Přizpůsobit",
"invalid_url": "Neplatná adresa URL!",
"add": "Přidat"
"add": "Přidat",
"delete_group_confirm": "Odstranit tuto skupinu?"
},
"player": {
"watch_on": "Zobrazit na {0}",

View file

@ -101,6 +101,7 @@
"delete_playlist": "Delete Playlist",
"select_playlist": "Select a Playlist",
"delete_playlist_confirm": "Delete this playlist?",
"delete_group_confirm": "Delete this group?",
"please_select_playlist": "Please select a playlist",
"delete_account": "Delete Account",
"logout": "Logout from this device",
@ -226,4 +227,4 @@
"register_note": "Register an account for this Piped instance. This will allow you to sync your subscriptions and playlists with your account, so they're stored on the server side. You can use all features without an account, but all data will be stored in your browser's local cache. Please make sure you do NOT use an email address as your username and choose a secure password that you do not use elsewhere.",
"login_note": "Log in with an account created on this instance."
}
}
}

View file

@ -164,7 +164,8 @@
"concurrent_prefetch_limit": "Límite de captación previa de transmisiones simultáneas",
"customize": "Personalizar",
"invalid_url": "¡URL no válida!",
"add": "Añadir"
"add": "Añadir",
"delete_group_confirm": "¿Eliminar este grupo?"
},
"titles": {
"feed": "Contenido",

View file

@ -1,14 +1,14 @@
{
"titles": {
"trending": "फिलहाल चर्चा में",
"trending": "रुझान",
"history": "इतिहास",
"register": "रजिस्टर करें",
"login": "लॉग इन करें",
"preferences": "प्राथमिकताए",
"register": "पंजीकृत करें",
"login": "लॉगिन",
"preferences": "प्राथमिकताए",
"subscriptions": "सदस्यता",
"feed": "फीड",
"feed": "फीड",
"playlists": "प्लेलिस्ट",
"livestreams": "लाइव स्ट्रीम",
"livestreams": "लाइवस्ट्रीम",
"channels": "चैनल",
"player": "चालक",
"account": "खाता",
@ -17,122 +17,122 @@
"bookmarks": "बुकमार्क",
"dearrow": "DeArrow",
"albums": "एलबम",
"custom_instances": "कस्टम इंस्टेंस"
"custom_instances": "तदनुकूल इंस्टैंस"
},
"actions": {
"subscribe": "सदस्यता लें",
"back": "वापस जाओ",
"unsubscribe": "सदस्यता ले ली है",
"back": "पीछे",
"unsubscribe": "सदस्यता छोड़ें",
"no": "नहीं",
"hide_replies": "जवाब छिपाएं",
"search": "खोजें (Ctrl+K)",
"loop_this_video": "इस वीडियो को लूप करें",
"loading": "लोड हो रहा है...",
"show_description": "विवरण दिखाएं",
"minimize_description": "विवरण छिपाएं",
"minimize_description": "विवरण संक्षेपित करें",
"yes": "हां",
"view_subscriptions": "सदस्यता देखें",
"most_recent": "सबसे हाला",
"least_recent": "कम से कम हाल का",
"channel_name_asc": "चैनल का नाम (ए-जेड)",
"channel_name_desc": "चैनल का नाम (जेड-ए)",
"uses_api_from": "से API का उपयोग करता है ",
"most_recent": "सबसे हालिया",
"least_recent": "कम हालिया",
"channel_name_asc": "चैनल नाम (A-Z)",
"channel_name_desc": "चैनल नाम (Z-A)",
"uses_api_from": "यहां से API का उपयोग करता है ",
"skip_sponsors": "प्रायोजकों को छोड़ें",
"skip_outro": "एंडकार्ड्स/क्रेडिट छोड़ें",
"skip_interaction": "इंटरैक्शन रिमाइंडर छोड़ें (सदस्यता लें)",
"skip_outro": "एंडकार्ड/क्रेडिट छोड़ें",
"skip_interaction": "इंटरेक्शन अनुस्मारक छोड़ें (सदस्यता लें)",
"theme": "थीम",
"dark": "डार्क",
"light": "प्रकाश",
"autoplay_video": "ऑटोप्ले वीडियो",
"audio_only": "सिर्फ़ ध्वनि",
"default_quality": "डिफ़ॉल्ट गुणवत्ता",
"dark": "गहरी",
"light": "हल्की",
"autoplay_video": "वीडियो स्वत:चालू करें",
"audio_only": "सिर्फ ऑडियो",
"default_quality": "तयशुदा गुणवत्ता",
"country_selection": "देश",
"show_comments": "टिप्पणियाँ दिखाएँ",
"store_watch_history": "स्टोर देखने का इतिहास",
"show_comments": "टिप्पणियां दिखाएं",
"store_watch_history": "देखने का इतिहास संग्रहीत करें",
"language_selection": "भाषा",
"instances_list": "इंस्टंस सूची",
"instance_selection": "इंस्टंस",
"show_more": "और दिखाओ",
"instances_list": "इंस्टंस सूची",
"instance_selection": "इंस्टंस",
"show_more": "अधिक दिखाएं",
"export_to_json": "JSON में निर्यात करें",
"import_from_json": "JSON से आयात करें",
"auto_play_next_video": "अगला वीडियो ऑटोप्ले करें",
"donations": "डिवेलपमेंट के लिए दान",
"minimize_recommendations": "सिफारिशों को कम करें",
"show_recommendations": "सिफारिशें दिखाएं",
"auto_play_next_video": "अगला वीडियो स्वत:चालू करें",
"donations": "विकास के लिए दान",
"minimize_recommendations": "अनुशंसाएं न्यूनतम करें",
"show_recommendations": "अनुशंसाएं दिखाएं",
"disable_lbry": "स्ट्रीमिंग के लिए LBRY अक्षम करें",
"enable_lbry_proxy": "LBRY के लिए प्रॉक्सी सक्षम करें",
"view_ssl_score": "एसएसएल स्कोर देखें",
"filter": "फिल्टर",
"clear_history": "स्पष्ट इतिहास",
"load_more_replies": "और जवाब लोड करें",
"view_ssl_score": "SSL स्कोर देखें",
"filter": "फिल्टर",
"clear_history": "इतिहास साफ़ करें",
"load_more_replies": "अधिक जवाब लोड करें",
"enabled_codecs": "सक्षम कोडेक्स (एकाधिक)",
"buffering_goal": "बफरिंग गोल (सेकंड में)",
"delete_playlist_confirm": "इस प्लेलिस्ट को मिटायें?",
"buffering_goal": "बफरिंग क्ष्य (सेकंड में)",
"delete_playlist_confirm": "इस प्लेलिस्ट को मिटां?",
"add_to_playlist": "प्लेलिस्ट में जोड़ें",
"remove_from_playlist": "प्लेलिस्ट से निकाले",
"delete_playlist_video_confirm": "वीडियो को प्लेलिस्ट से निकालना है?",
"remove_from_playlist": "प्लेलिस्ट से हटाएं",
"delete_playlist_video_confirm": "प्लेलिस्ट से वीडियो हटाएं?",
"create_playlist": "प्लेलिस्ट बनायें",
"select_playlist": "एक प्लेलिस्ट चुनें",
"please_select_playlist": "कृपया एक प्लेलिस्ट चुनें",
"delete_playlist": "प्लेलिस्ट टाएं",
"enable_sponsorblock": "विज्ञापन प्रतिबंध करें",
"default_homepage": "स्वतः निर्धारित मुख्यपृष्ठ",
"sort_by": "वर्गीकरण:",
"select_playlist": "प्लेलिस्ट चुनें",
"please_select_playlist": "कृपया प्लेलिस्ट चुनें",
"delete_playlist": "प्लेलिस्ट मिटाएं",
"enable_sponsorblock": "स्पॉन्सरब्लॉक सक्षम करें",
"default_homepage": "यशुदा मुख्यपृष्ठ",
"sort_by": "ऐसे छांटें:",
"skip_automatically": "स्वतः",
"delete_account": "खाता डिलीट करें",
"skip_button_only": "स्किप बटन दिखाए",
"delete_account": "खाता मिटाएं",
"skip_button_only": "स्किप बटन दिखाए",
"skip_intro": "मध्यांतर/परिचय एनिमेशन छोड़ें",
"skip_self_promo": "अनपेड/स्वयं प्रचार को छोड़ें",
"skip_filler_tangent": "फिलर स्पर्शरेखा को छोड़ें",
"skip_self_promo": "अवैतनिक/स्व-प्रचार छोड़ें",
"skip_filler_tangent": "फिलर स्पर्शज्या छोड़ें",
"skip_non_music": "संगीत छोड़ें: गैर-संगीत अनुभाग",
"show_markers": "प्लेयर पर मार्कर दिखाएँ",
"skip_preview": "प्रीव्यू / रीकैप छोड़ें",
"skip_highlight": "हाइलाइट छोड़ें",
"instance_auth_selection": "प्रमाणीकरण इंस्टंस",
"different_auth_instance": "प्रमाणीकरण के लिए एक विभिन्न इंस्टेंस का उपयोग करें",
"reset_preferences": "प्राथमिकताए रीसेट करें",
"show_markers": "प्लेयर पर निशान दिखाएं",
"skip_preview": "पूर्वावलोकन/पुनर्कथनs छोड़ें",
"skip_highlight": "मुख्य आकर्षण छोड़ें",
"instance_auth_selection": "प्रमाणीकरण इंस्टंस",
"different_auth_instance": "प्रमाणीकरण के लिए किसी भिन्न इंस्टैंस का उपयोग करें",
"reset_preferences": "प्राथमिकताए रीसेट करें",
"back_to_home": "होम पर वापस",
"piped_link": "पाइप्ड लिंक",
"hide_watched": "देखी गई वीडियो फ़ीड में छिपाएँ",
"documentation": "प्रलेखन",
"piped_link": "Piped लिंक",
"hide_watched": "देखी गई वीडियो फीड में छिपाएं",
"documentation": "दस्तावेज़ीकरण",
"status_page": "स्थिति",
"source_code": "स्रोत कोड",
"show_chapters": "अध्याय",
"follow_link": "लिंक का अनुसरण करें",
"store_search_history": "खोज इतिहास संग्रहित करें",
"copy_link": "लिंक की प्रतिलिपि",
"copy_link": "लिंक कॉपी करें",
"with_timecode": "समय कोड के साथ साझा करें",
"edit_playlist": "प्लेलिस्ट संपादित",
"auto_display_captions": "स्वत: प्रदर्शित कैप्शन",
"instances_not_shown": "जो सार्वजनिक इंस्टेंसेस यहाँ नहीं दिखाए जा रहे हैं, वे वर्तमान में अनुपलब्ध हैं।",
"enable_dearrow": "डीएरो सक्षम करें",
"auto": "आटो",
"minimize_description_default": "डिफ़ॉल्ट रूप से विवरण को संक्षेपित करें",
"edit_playlist": "प्लेलिस्ट संपादित करें",
"auto_display_captions": "अनुशीर्षक स्वत: प्रदर्शित करें",
"instances_not_shown": "जो सार्वजनिक इंस्टैंस यहां नहीं दिखाए जा रहे हैं, वे वर्तमान में अनुपलब्ध हैं।",
"enable_dearrow": "DeArrow सक्षम करें",
"auto": "स्वतः",
"minimize_description_default": "तयशुदा रूप से विवरण को संक्षेपित करें",
"import_from_json_csv": "JSON/CSV से आयात करें",
"logout": "इस डिवाइस से लॉगआउट करें",
"chapters_layout_mobile": "मोबाइल पर अध्याय लेआउट",
"show_watch_on_youtube": "यूट्यूब पर देखें बटन दिखाएं",
"invalidate_session": "सभी उपकरणों से लॉगआउट",
"logout": "इस उपकरण से लॉगआउट करें",
"chapters_layout_mobile": "मोबाइल पर अध्याय अभिन्यास",
"show_watch_on_youtube": "YouTube पर देखें बटन दिखाएं",
"invalidate_session": "सभी उपकरणों को लॉगआउट करें",
"clone_playlist": "प्लेलिस्ट की प्रतिलिपि बनाएं",
"clone_playlist_success": "सफलतापूर्वक क्लोन हो गयी!",
"clone_playlist_success": "सफलतापूर्वक प्रतिलिपि बनाई गई!",
"download_as_txt": ".txt के रूप में डाउनलोड करें",
"backup_preferences": "प्राथमिकताए बैकअप करें",
"restore_preferences": "प्राथमिकताए पुनर्स्थापित करें",
"backup_preferences": "प्राथमिकताए बैकअप करें",
"restore_preferences": "प्राथमिकताए पुनर्स्थापित करें",
"playlist_name": "प्लेलिस्ट नाम",
"playlist_description": "प्लेलिस्ट विवरण",
"share": "साझा करें",
"time_code": "समय कोड (सेकंड में)",
"reply_count": "{count} उत्त",
"min_segment_length": "न्यूनतम सेगमेंट लंबाई (सेकंड में)",
"skip_segment": "सेगमेंट छोड़ें",
"autoplay_next_countdown": "अगले वीडियो तक डिफ़ॉल्ट काउंटडाउन (सेकंड में)",
"minimize_comments_default": "डिफ़ॉल्ट रूप से टिप्पणियाँ छोटी करें",
"minimize_comments": "टिप्पणिया को संक्षेपित करें",
"confirm_reset_preferences": "क्या आप वाकई अपनी प्राथमिकताए रीसेट करना चाहते हैं?",
"reply_count": "{count} जवाब",
"min_segment_length": "न्यूनतम खंड लंबाई (सेकंड में)",
"skip_segment": "खंड छोड़ें",
"autoplay_next_countdown": "अगले वीडियो तक तयशुदा उल्टीगिनती (सेकंड में)",
"minimize_comments_default": "तयशुदा रूप से टिप्पणियां संक्षेपित करें",
"minimize_comments": "टिप्पणिया को संक्षेपित करें",
"confirm_reset_preferences": "क्या आप वाकई अपनी प्राथमिकताए रीसेट करना चाहते हैं?",
"no_valid_playlists": "फ़ाइल में मान्य प्लेलिस्ट नहीं हैं!",
"instance_privacy_policy": "गोपनीयता नीति",
"bookmark_playlist": "बुकमार्क करें",
"concurrent_prefetch_limit": "समवर्ती स्ट्रीम पूर्वाभ्यास सीमा",
"concurrent_prefetch_limit": "समवर्ती स्ट्रीम प्रीफ़ेच सीमा",
"cancel": "रद्द करें",
"okay": "ठीक है",
"playlist_bookmarked": "बुकमार्क किया गया",
@ -142,25 +142,26 @@
"group_name": "समूह नाम",
"show_search_suggestions": "खोज सुझाव दिखाएं",
"delete_automatically": "बाद में स्वचालित रूप से हटा दें",
"generate_qrcode": "क्यूआर कोड बनाएं",
"generate_qrcode": "QR कोड बनाएं",
"add_to_group": "समूह में जोड़ें",
"download_frame": "डाउनलोड फ्रेम",
"with_playlist": "प्लेलिस्ट के साथ साझा करें",
"instance_donations": "इंसटैंस के लिए दान",
"minimize_chapters_default": "अध्यायों को डिफ़ॉल्ट रूप से छोटा करें",
"minimize_recommendations_default": "डिफ़ॉल्ट रूप से सिफ़ारिशें मिनीमाईज़ करें",
"instance_donations": "इंसटैंस के लिए दान",
"minimize_chapters_default": "तयशुदा रूप से अध्यायों को न्यूनतम करें",
"minimize_recommendations_default": "तयशुदा रूप से अनुशंसाएं न्यूनतम करें",
"customize": "अनुकूलित करें",
"invalid_url": "अमान्य URL!",
"add": "जोड़ें"
"add": "जोड़ें",
"delete_group_confirm": "इस समूह को मिटाएं?"
},
"video": {
"views": "{views} बार देखा गया",
"videos": "वीडियो",
"watched": "पहले ही देखा हुआ",
"watched": "देखा गया",
"ratings_disabled": "रेटिंग अक्षम",
"chapters": "चैप्टर",
"chapters": "अध्याय",
"live": "{0} लाइव",
"sponsor_segments": "सपोर्टर्स सेगमेंट्स",
"sponsor_segments": "प्रायोजक खंड",
"shorts": "शॉर्ट्स",
"all": "सभी",
"category": "श्रेणी",
@ -171,59 +172,59 @@
},
"login": {
"password": "पासवर्ड",
"username": "उपयोगकर्ता नाम",
"username": "उपयो्ता नाम",
"passwords_incorrect": "पासवर्ड मेल नहीं खाते हैं!",
"password_confirm": "पासवर्ड की पुष्टि करें"
},
"comment": {
"pinned_by": "{author} ने पिन किया",
"loading": "टिप्पणियाँ लोड हो रही हैं..।",
"disabled": "टिप्पणिया अपलोडर द्वारा अक्षम की गई हैं।",
"user_disabled": "सेटिंग्स में टिप्पणिया अक्षम हैं।"
"loading": "टिप्पणियां लोड हो रही हैं…",
"disabled": "टिप्पणिया अपलोडर द्वारा अक्षम की गई हैं।",
"user_disabled": "सेटिंग्स में टिप्पणिया अक्षम हैं।"
},
"preferences": {
"instance_locations": "इंस्टंस स्थान",
"has_cdn": "सीडीएन है?",
"ssl_score": "एसएसएल स्कोर",
"instance_locations": "इंस्टंस स्थान",
"has_cdn": "CDN है?",
"ssl_score": "SSL स्कोर",
"uptime_30d": "अपटाइम (30 दिन)",
"instance_name": "इंस्टंस का नाम",
"registered_users": "रजिस्टर्ड उपयोगकर्ता",
"instance_name": "इंस्टंस का नाम",
"registered_users": "पंजीकृत उपयोक्ता",
"version": "संस्करण",
"up_to_date": "अप टू डेट?",
"up_to_date": "अद्यतित?",
"api_url": "Api URL"
},
"search": {
"did_you_mean": "क्या आपका मतलब यह था: {0}?",
"playlists": "यूट्यूब: प्लेलिस्ट्स",
"music_videos": "वाईटी म्यूज़िक: वीडियो",
"music_albums": "वाईटी म्यूज़िक: एल्बम्स",
"music_playlists": "वाईटी म्यूज़िक: प्लेलिस्ट्स",
"all": "यूट्यूब: सभी",
"videos": "यूट्यूब: वीडियो",
"channels": "यूट्यूब: चैनल्स",
"music_artists": "वाईटी म्यूज़िक: कलाकार",
"music_songs": "वाईटी म्यूज़िक: संगीत"
"playlists": "YouTube: प्लेलिस्ट",
"music_videos": "YT Music: वीडियो",
"music_albums": "YT Music: एलबम",
"music_playlists": "YT Music: प्लेलिस्ट",
"all": "YouTube: सभी",
"videos": "YouTube: वीडियो",
"channels": "YouTube: चैनल्स",
"music_artists": "YT Music: कलाकार",
"music_songs": "YT Music: संगीत"
},
"player": {
"watch_on": "{0} पर देखें",
"failed": "त्रुटि कोड {0} के साथ विफल, अधिक जानकारी के लिए लॉग देखें"
},
"info": {
"login_note": "इस इंस्टंस पर बनाए गए खाते से लॉग इन करें।",
"login_note": "इस इंस्टंस पर बनाए गए खाते से लॉग इन करें।",
"page_not_found": "पृष्ठ नहीं मिला",
"copied": "कॉपी हुआ!",
"copied": "कॉपी किया गया!",
"cannot_copy": "कॉपी नहीं कर सकते!",
"local_storage": "यह क्रिया को लोकलस्टोरेज की आवश्यकता है, क्या कुकीज़ सक्षम हैं?",
"preferences_note": "नोट: प्राथमिकताए आपके ब्राउज़र के स्थानीय संग्रहण में सहेजी जाती हैं। अपने ब्राउज़र डेटा को हटाने से वे रीसेट हो जाएंगी।",
"register_no_email_note": "उपयोगकर्ता नाम के रूप में ईमेल का उपयोग करने की अनुशंसा नहीं की जाती है। फिर भी आगे बढ़ें?",
"preferences_note": "नोट: प्राथमिकताए आपके ब्राउज़र के स्थानीय संग्रहण में सहेजी जाती हैं। अपने ब्राउज़र डेटा को हटाने से वे रीसेट हो जाएंगी।",
"register_no_email_note": "उपयो्ता नाम के रूप में ईमेल का उपयोग करने की अनुशंसा नहीं की जाती है। फिर भी आगे बढ़ें?",
"next_video_countdown": "अगला वीडियो {0} सेकंड में चलाया जा रहा है",
"hours": "{amount} घंटा(एं)",
"days": "{amount} दिन(ं)",
"weeks": "{amount} सप्ताह(एं)",
"months": "{amount} महीना(एं)",
"register_note": "पाइप्ड इंस्टेंस के लिए एक खाता पंजीकृत करें। इससे आप अपनी सदस्यता और प्लेलिस्ट को अपने खाते के साथ सिंक कर सकते हैं, ताकि वे सर्वर साइड पर संग्रहित हों। आप खाते के बिना भी सभी विशेषताए इस्तेमाल कर सकते हैं, लेकिन सभी डेटा आपके ब्राउज़र के स्थानीय कैश में संग्रहित होगा। कृपया सुनिश्चित करें कि आप अपना ईमेल पता उपयोगकर्ता नाम के रूप में इस्तेमाल नहीं कर रहे हैं और एक सुरक्षित पासवर्ड चुनें जिसे आप कहीं और नहीं इस्तेमाल करते हैं।"
"hours": "{amount} घंटा(टे)",
"days": "{amount} दिन(नों)",
"weeks": "{amount} हफ्ता(ते)",
"months": "{amount} महीना(ने)",
"register_note": "Piped इंस्टैंस के लिए एक खाता पंजीकृत करें। इससे आप अपनी सदस्यता और प्लेलिस्ट को अपने खाते के साथ सिंक कर सकते हैं, ताकि वे सर्वर साइड पर संग्रहित हों। आप खाते के बिना भी सभी विशेषताए इस्तेमाल कर सकते हैं, लेकिन सभी डेटा आपके ब्राउज़र के स्थानीय कैश में संग्रहित होगा। कृपया सुनिश्चित करें कि आप अपना ईमेल पता उपयो्ता नाम के रूप में इस्तेमाल नहीं कर रहे हैं और एक सुरक्षित पासवर्ड चुनें जिसे आप कहीं और नहीं इस्तेमाल करते हैं।"
},
"subscriptions": {
"subscribed_channels_count": "सब्सक्राइब किया: {0}"
"subscribed_channels_count": "इसकी सदस्यता ली गई: {0}"
}
}

View file

@ -131,7 +131,8 @@
"concurrent_prefetch_limit": "Limiet voor gelijk­tijdige stream-prefetching",
"customize": "Aanpassen",
"add": "Toevoegen",
"invalid_url": "Ongeldige URL!"
"invalid_url": "Ongeldige URL!",
"delete_group_confirm": "Deze groep verwijderen?"
},
"titles": {
"register": "Registreren",
@ -141,20 +142,20 @@
"history": "Geschiedenis",
"subscriptions": "Abonnementen",
"trending": "Populair",
"playlists": "Afspeellijsten",
"playlists": "Afspeel­sten",
"account": "Account",
"instance": "Instantie",
"player": "Speler",
"livestreams": "Livestreams",
"channels": "Kanalen",
"bookmarks": "Bladwijzers",
"bookmarks": "Blad­zers",
"dearrow": "DeArrow",
"channel_groups": "Kanaal­groepen",
"albums": "Albums",
"custom_instances": "Aangepaste instanties"
},
"player": {
"watch_on": "Bekijken op {0}",
"watch_on": "Bekijken op {0}",
"failed": "Mislukt met foutcode {0}, zie logboeken voor meer informatie"
},
"search": {

View file

@ -155,7 +155,8 @@
"concurrent_prefetch_limit": "Limit równoczesnego pobierania wstępnego strumienia",
"customize": "Dostosuj",
"invalid_url": "Nieprawidłowy adres URL!",
"add": "Dodaj"
"add": "Dodaj",
"delete_group_confirm": "Usunąć tę grupę?"
},
"comment": {
"pinned_by": "Przypięty przez {author}",

View file

@ -131,7 +131,8 @@
"concurrent_prefetch_limit": "Limite de pré-busca de fluxo simultâneo",
"customize": "Personalizar",
"invalid_url": "URL inválida!",
"add": "Adicionar"
"add": "Adicionar",
"delete_group_confirm": "Excluir este grupo?"
},
"titles": {
"history": "Histórico",

View file

@ -131,7 +131,8 @@
"concurrent_prefetch_limit": "Eşzamanlı Akış Ön Getirme Sınırı",
"invalid_url": "Geçersiz URL!",
"customize": "Özelleştir",
"add": "Ekle"
"add": "Ekle",
"delete_group_confirm": "Bu grup silinsin mi?"
},
"player": {
"watch_on": "{0} üzerinde görüntüle",

View file

@ -141,7 +141,8 @@
"concurrent_prefetch_limit": "Обмеження одночасної передвибірки потоків",
"customize": "Налаштувати",
"invalid_url": "Неправильна URL-адреса!",
"add": "Додати"
"add": "Додати",
"delete_group_confirm": "Видалити цю групу?"
},
"titles": {
"register": "Реєстрація",