Compare commits
76 Commits
27f07979ea
...
1070a24341
Author | SHA1 | Date |
---|---|---|
maboroshin | 1070a24341 | |
Bnyro | c30062eb94 | |
Bnyro | adeb0a92bd | |
Bnyro | afd5c5b3b8 | |
Bnyro | ba4e946dc2 | |
Bnyro | ca5e39dfd8 | |
Bnyro | c31f9fbb54 | |
Bnyro | 9762542596 | |
Bnyro | 1440eea4a0 | |
Bnyro | c0a9b16aa8 | |
github-actions[bot] | 3b18da84b1 | |
Kārlis Korlašs | 1262dfa596 | |
github-actions[bot] | e5e31aed5e | |
Ghost of Sparta | 6513170ab2 | |
maboroshin | a996997e28 | |
github-actions[bot] | aadcb467cd | |
Priit Jõerüüt | 7f99a31312 | |
renovate[bot] | 74ddbbbc55 | |
github-actions[bot] | f1b1d641b4 | |
Sergio Marques | 2e05f9231c | |
renovate[bot] | eccf4d1f78 | |
github-actions[bot] | 09c4ca60b7 | |
mere | 6820f876cd | |
github-actions[bot] | 5866409fdf | |
Milo Ivir | 873ef75e86 | |
Milan | b881ef68f8 | |
github-actions[bot] | b3e4aa2bba | |
NEXI | 6d7b062674 | |
github-actions[bot] | ef610a410b | |
大王叫我来巡山 | 087437216c | |
github-actions[bot] | 16f48f2e75 | |
Rex_sa | bbdb3738bd | |
joaooliva | 338d134e9a | |
Philip Goto | b8cbc27e6d | |
Scrambled777 | 8754ed6d73 | |
Fjuro | 74f110f74b | |
EvilAngel | 7f2347bfda | |
Matthaiks | d1dfdbba22 | |
gallegonovato | b9bbc63b6d | |
Oğuz Ersen | 1d12a15e9d | |
renovate[bot] | 3acb8df5d9 | |
renovate[bot] | 155bbde1b1 | |
renovate[bot] | 41357c4135 | |
Khusroo Hayat | f6cb6842eb | |
renovate[bot] | 0552875cab | |
Bnyro | bdf89bbd44 | |
Bnyro | 831fe6c631 | |
Bnyro | 71c60e7b9d | |
Bnyro | 5b46d93a33 | |
Bnyro | 32670ac505 | |
Bnyro | 0e5dba5abd | |
Bnyro | b1995b977c | |
renovate[bot] | 134553b468 | |
renovate[bot] | 48438d723a | |
renovate[bot] | a2cb3331ad | |
renovate[bot] | bc9588c33b | |
Bnyro | f9c7fbb42d | |
renovate[bot] | 02d1215429 | |
Bnyro | 76a78312c0 | |
Bnyro | c758772679 | |
renovate[bot] | ec9b3b0966 | |
Bnyro | ad2b513b03 | |
renovate[bot] | b9291243b5 | |
Bnyro | 11f25275bb | |
Bnyro | cad244be31 | |
Bnyro | c594a21749 | |
Bnyro | 6b0de1833b | |
renovate[bot] | 7b869dba3a | |
renovate[bot] | 0708d1c63b | |
renovate[bot] | 4f82be9435 | |
Bnyro | 2b5f9784e1 | |
Bnyro | 8ff3526f45 | |
renovate[bot] | 2d10c385cb | |
renovate[bot] | 3ee3135576 | |
renovate[bot] | 6e979491d4 | |
maboroshin | 812390306a |
|
@ -148,9 +148,10 @@ Contributions in any other form are also welcomed.
|
|||
# Made with Piped
|
||||
|
||||
**Mobile/desktop apps**
|
||||
- [LibreTube](https://github.com/Libre-tube/LibreTube) - Alternative frontend for YouTube, for Android.
|
||||
- [LibreTube](https://github.com/Libre-tube/LibreTube) - Alternative frontend for YouTube for Android.
|
||||
- [YTDLnis](https://github.com/deniscerri/ytdlnis) - Video and audio downloader for Android that uses Piped to update formats.
|
||||
- [Yattee](https://github.com/yattee/yattee) - Alternative frontend for YouTube, for MacOS / IOS.
|
||||
- [Yattee](https://github.com/yattee/yattee) - Alternative frontend for YouTube for MacOS / iOS.
|
||||
- [PlasmaTube](https://apps.kde.org/plasmatube/) - Alternative frontend for YouTube for Linux.
|
||||
- [PsTube](https://github.com/prateekmedia/pstube) - Watch and download videos without ads on Android, Linux, Windows, iOS, and Mac OSX.
|
||||
- [Harmony Music](https://github.com/anandnet/Harmony-Music) - YouTube Music alternative for Android, built with Flutter that supports piped linking for playlists.
|
||||
- [VibeYou](https://github.com/you-apps/VibeYou) - Privacy focused music player for Android supporting playback via Piped.
|
||||
|
|
24
package.json
24
package.json
|
@ -11,17 +11,17 @@
|
|||
"lint": "eslint --fix --color --ignore-path .gitignore --ext .js,.vue ."
|
||||
},
|
||||
"dependencies": {
|
||||
"dompurify": "3.1.0",
|
||||
"dompurify": "3.1.3",
|
||||
"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",
|
||||
|
|
1777
pnpm-lock.yaml
1777
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
@ -1,9 +1,9 @@
|
|||
<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-else v-html="collapsedText()" />
|
||||
<span v-if="text.length > visibleLimit && !showFullText">...</span>
|
||||
<button
|
||||
v-if="text.length > visibleLimit"
|
||||
|
@ -38,9 +38,15 @@ export default {
|
|||
fullText() {
|
||||
return purifyHTML(rewriteDescription(this.text));
|
||||
},
|
||||
colapsedText() {
|
||||
collapsedText() {
|
||||
return purifyHTML(rewriteDescription(this.text.slice(0, this.visibleLimit)));
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.contentText {
|
||||
word-wrap: anywhere;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -33,8 +33,13 @@
|
|||
<div class="comment-footer my-1 flex items-center gap-3">
|
||||
<div class="i-fa6-solid:thumbs-up" />
|
||||
<span v-text="numberFormat(comment.likeCount)" />
|
||||
<i v-if="comment.hearted" class="i-fa6-solid:heart" />
|
||||
<img v-if="comment.creatorReplied" :src="uploaderAvatarUrl" class="h-5 w-5 rounded-full" />
|
||||
<i v-if="comment.hearted" class="i-fa6-solid:heart" :title="$t('actions.creator_liked')" />
|
||||
<img
|
||||
v-if="comment.creatorReplied"
|
||||
:src="uploaderAvatarUrl"
|
||||
class="h-5 w-5 rounded-full"
|
||||
:title="$t('actions.creator_replied')"
|
||||
/>
|
||||
</div>
|
||||
<template v-if="comment.repliesPage && (!loadingReplies || !showingReplies)">
|
||||
<div class="cursor-pointer" @click="loadReplies">
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="flex justify-center">
|
||||
<h1 v-t="'titles.login'" class="my-4 text-center font-bold" />
|
||||
<TooltipIcon class="mb-6" icon="i-fa6-solid:circle-info" :tooltip="$t('info.login_note')" />
|
||||
<i class="i-fa6-solid:circle-info ml-2 mt-6 cursor-pointer" :title="$t('info.login_note')" />
|
||||
</div>
|
||||
<hr />
|
||||
<div class="w-full flex items-center justify-center text-center">
|
||||
|
@ -36,12 +36,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import TooltipIcon from "./TooltipIcon.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
TooltipIcon,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
username: null,
|
||||
|
|
|
@ -6,15 +6,15 @@
|
|||
|
||||
<CollapsableText v-if="playlist?.description" :text="playlist.description" />
|
||||
|
||||
<div class="mt-1 flex items-center justify-between">
|
||||
<div class="mt-1 flex justify-between <md:flex-col md:items-center">
|
||||
<div>
|
||||
<router-link class="link flex items-center gap-3" :to="playlist.uploaderUrl || '/'">
|
||||
<img loading="lazy" :src="playlist.uploaderAvatar" class="rounded-full" />
|
||||
<img loading="lazy" :src="playlist.uploaderAvatar" class="h-12 rounded-full" />
|
||||
<strong v-text="playlist.uploader" />
|
||||
</router-link>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="mr-2" v-text="`${playlist.videos} ${$t('video.videos')}`" />
|
||||
<div class="flex flex-wrap items-center gap-1">
|
||||
<strong v-text="`${playlist.videos} ${$t('video.videos')}`" />
|
||||
<button v-if="!isPipedPlaylist" class="btn mx-1" @click="bookmarkPlaylist">
|
||||
{{ $t(`actions.${isBookmarked ? "playlist_bookmarked" : "bookmark_playlist"}`)
|
||||
}}<i class="i-fa6-solid:bookmark ml-3" />
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="flex justify-center">
|
||||
<h1 v-t="'titles.register'" class="my-4 text-center font-bold" />
|
||||
<TooltipIcon class="mb-6" icon="i-fa6-solid:circle-info" :tooltip="$t('info.register_note')" />
|
||||
<i class="i-fa6-solid:circle-info ml-2 mt-6 cursor-pointer" :title="$t('info.register_note')" />
|
||||
</div>
|
||||
<hr />
|
||||
<div class="flex flex-col items-center justify-center text-center">
|
||||
|
@ -20,7 +20,7 @@
|
|||
<div class="flex justify-center">
|
||||
<input
|
||||
v-model="password"
|
||||
class="input w-full"
|
||||
class="input h-auto w-full"
|
||||
:type="showPassword ? 'text' : 'password'"
|
||||
autocomplete="password"
|
||||
:placeholder="$t('login.password')"
|
||||
|
@ -34,7 +34,7 @@
|
|||
<div class="flex justify-center">
|
||||
<input
|
||||
v-model="passwordConfirm"
|
||||
class="input w-full"
|
||||
class="input h-auto w-full"
|
||||
:type="showConfirmPassword ? 'text' : 'password'"
|
||||
autocomplete="password"
|
||||
:placeholder="$t('login.password_confirm')"
|
||||
|
@ -65,10 +65,9 @@
|
|||
<script>
|
||||
import { isEmail } from "../utils/Misc.js";
|
||||
import ConfirmModal from "./ConfirmModal.vue";
|
||||
import TooltipIcon from "./TooltipIcon.vue";
|
||||
|
||||
export default {
|
||||
components: { ConfirmModal, TooltipIcon },
|
||||
components: { ConfirmModal },
|
||||
data() {
|
||||
return {
|
||||
username: null,
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
<template>
|
||||
<div id="container" class="m-2 self-center">
|
||||
<div :class="icon" class="cursor-pointer"></div>
|
||||
<p id="tooltip" class="absolute mr-[20vw] mt-2 hidden rounded-l bg-gray-800 px-2 py-1 text-gray-200">
|
||||
{{ tooltip }}
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
icon: {
|
||||
type: String, // the class name of a font awesome icon
|
||||
required: true,
|
||||
},
|
||||
tooltip: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
#container:hover #tooltip {
|
||||
display: block;
|
||||
}
|
||||
</style>
|
|
@ -546,33 +546,13 @@ export default {
|
|||
this.fetchSponsors().then(data => (this.sponsors = data));
|
||||
},
|
||||
async getComments() {
|
||||
this.fetchComments().then(data => {
|
||||
this.rewriteComments(data.comments);
|
||||
this.comments = data;
|
||||
});
|
||||
this.comments = await this.fetchComments();
|
||||
},
|
||||
async fetchSubscribedStatus() {
|
||||
if (!this.channelId) return;
|
||||
|
||||
this.subscribed = await this.fetchSubscriptionStatus(this.channelId);
|
||||
},
|
||||
rewriteComments(data) {
|
||||
data.forEach(comment => {
|
||||
const parser = new DOMParser();
|
||||
const xmlDoc = parser.parseFromString(comment.commentText, "text/html");
|
||||
xmlDoc.querySelectorAll("a").forEach(elem => {
|
||||
if (!elem.innerText.match(/(?:[\d]{1,2}:)?(?:[\d]{1,2}):(?:[\d]{1,2})/))
|
||||
elem.outerHTML = elem.getAttribute("href");
|
||||
});
|
||||
comment.commentText = xmlDoc
|
||||
.querySelector("body")
|
||||
.innerHTML.replaceAll(/(?:http(?:s)?:\/\/)?(?:www\.)?youtube\.com(\/[/a-zA-Z0-9_?=&-]*)/gm, "$1")
|
||||
.replaceAll(
|
||||
/(?:http(?:s)?:\/\/)?(?:www\.)?youtu\.be\/(?:watch\?v=)?([/a-zA-Z0-9_?=&-]*)/gm,
|
||||
"/watch?v=$1",
|
||||
);
|
||||
});
|
||||
},
|
||||
subscribeHandler() {
|
||||
this.toggleSubscriptionState(this.channelId, this.subscribed).then(success => {
|
||||
if (success) this.subscribed = !this.subscribed;
|
||||
|
@ -616,7 +596,6 @@ export default {
|
|||
}).then(json => {
|
||||
this.comments.nextpage = json.nextpage;
|
||||
this.loading = false;
|
||||
this.rewriteComments(json.comments);
|
||||
this.comments.comments = this.comments.comments.concat(json.comments);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -155,7 +155,8 @@
|
|||
"concurrent_prefetch_limit": "حد الجلب المسبق للدفق المتزامن",
|
||||
"customize": "تخصيص",
|
||||
"invalid_url": "عنوان URL غير صالح!",
|
||||
"add": "إضافة"
|
||||
"add": "إضافة",
|
||||
"delete_group_confirm": "حذف هذه المجموعة؟"
|
||||
},
|
||||
"video": {
|
||||
"sponsor_segments": "المقاطع الإعلانية",
|
||||
|
|
|
@ -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}",
|
||||
|
|
|
@ -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",
|
||||
|
@ -155,7 +156,9 @@
|
|||
"concurrent_prefetch_limit": "Concurrent Stream Prefetch Limit",
|
||||
"customize": "Customize",
|
||||
"invalid_url": "Invalid URL!",
|
||||
"add": "Add"
|
||||
"add": "Add",
|
||||
"creator_replied": "Creator replied",
|
||||
"creator_liked": "Creator liked"
|
||||
},
|
||||
"comment": {
|
||||
"pinned_by": "Pinned by {author}",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -98,7 +98,7 @@
|
|||
"with_playlist": "Jaga koos esitusloendiga",
|
||||
"playlist_bookmarked": "Lisatud järjehoidjaks",
|
||||
"dismiss": "Katkesta",
|
||||
"create_group": "Loo rühm",
|
||||
"create_group": "Loo grupp",
|
||||
"okay": "Sobib",
|
||||
"show_search_suggestions": "Näita otsingusoovitusi",
|
||||
"instance_auth_selection": "Vaheserver autentimiseks",
|
||||
|
@ -120,7 +120,7 @@
|
|||
"share": "Jaga",
|
||||
"source_code": "Lähtekood",
|
||||
"no_valid_playlists": "Selles failis ei leidu korrektseid esitusloendeid!",
|
||||
"group_name": "Rühma nimi",
|
||||
"group_name": "Grupi nimi",
|
||||
"minimize_comments": "Minimeeri kommentaarid",
|
||||
"auto_display_captions": "Kuva tiitrid automaatselt",
|
||||
"delete_account": "Kustuta konto",
|
||||
|
@ -151,11 +151,12 @@
|
|||
"reply_count": "{count} vastust",
|
||||
"bookmark_playlist": "Järjehoidja",
|
||||
"download_frame": "Laadi alla kaader",
|
||||
"add_to_group": "Lisa rühma",
|
||||
"add_to_group": "Lisa gruppi",
|
||||
"instance_privacy_policy": "Privaatsuspoliitika",
|
||||
"customize": "Kohanda",
|
||||
"invalid_url": "Vigane URL!",
|
||||
"add": "Lisa"
|
||||
"add": "Lisa",
|
||||
"delete_group_confirm": "Kas kustutame selle grupi?"
|
||||
},
|
||||
"preferences": {
|
||||
"has_cdn": "CDN'i olek?",
|
||||
|
|
|
@ -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}"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -164,7 +164,8 @@
|
|||
"concurrent_prefetch_limit": "Ograničenje istodobnog preuzimanja videa",
|
||||
"customize": "Prilagodi",
|
||||
"invalid_url": "Neispravni URL!",
|
||||
"add": "Dodaj"
|
||||
"add": "Dodaj",
|
||||
"delete_group_confirm": "Izbrisati ovu grupu?"
|
||||
},
|
||||
"player": {
|
||||
"watch_on": "Gledaj na {0}",
|
||||
|
|
|
@ -151,7 +151,8 @@
|
|||
"download_frame": "Keret letöltése",
|
||||
"customize": "Testreszab",
|
||||
"invalid_url": "Érvénytelen URL!",
|
||||
"add": "Hozzáadás"
|
||||
"add": "Hozzáadás",
|
||||
"delete_group_confirm": "Törli ezt a csoportot?"
|
||||
},
|
||||
"video": {
|
||||
"ratings_disabled": "Értékelések Letiltva",
|
||||
|
|
|
@ -155,7 +155,8 @@
|
|||
"concurrent_prefetch_limit": "同時に先読みするストリーム数上限",
|
||||
"add": "追加",
|
||||
"invalid_url": "無効なURLです!",
|
||||
"customize": "追加"
|
||||
"customize": "追加",
|
||||
"delete_group_confirm": "このグループを削除しますか?"
|
||||
},
|
||||
"comment": {
|
||||
"pinned_by": "{author} によって固定",
|
||||
|
|
|
@ -127,7 +127,12 @@
|
|||
"clone_playlist": "Klonēt Atskaņošanas Saturu",
|
||||
"uses_api_from": "Izmanto API no ",
|
||||
"add_to_playlist": "Pievienot Atskaņošanas Sarakstam",
|
||||
"instances_not_shown": "Publiskās instances, kas šeit nav redzamas, pašlaik nav pieejamas."
|
||||
"instances_not_shown": "Publiskās instances, kas šeit nav redzamas, pašlaik nav pieejamas.",
|
||||
"delete_group_confirm": "Vai vēlaties dzēst šo grupu?",
|
||||
"concurrent_prefetch_limit": "Vienlaicīgu Straumju Ielādes Limits",
|
||||
"customize": "Pielāgot",
|
||||
"invalid_url": "Nederīgs URL!",
|
||||
"add": "Pievienot"
|
||||
},
|
||||
"search": {
|
||||
"all": "YouTube: Visi",
|
||||
|
@ -161,7 +166,9 @@
|
|||
"playlists": "Atskaņošanas saraksts",
|
||||
"register": "Reģistrēties",
|
||||
"player": "Atskaņotājs",
|
||||
"dearrow": "DeArrow"
|
||||
"dearrow": "DeArrow",
|
||||
"albums": "Albumi",
|
||||
"custom_instances": "Pielāgotas instances"
|
||||
},
|
||||
"video": {
|
||||
"all": "Visi",
|
||||
|
@ -207,7 +214,9 @@
|
|||
"has_cdn": "Vai ir satura piegādes tīkls?",
|
||||
"instance_name": "Instances Nosaukums",
|
||||
"registered_users": "Reģistrētie Lietotāji",
|
||||
"instance_locations": "Instances Atrašanās Vietas"
|
||||
"instance_locations": "Instances Atrašanās Vietas",
|
||||
"uptime_30d": "Darbspējas laiks (30d)",
|
||||
"api_url": "Api URL"
|
||||
},
|
||||
"login": {
|
||||
"username": "Lietotājvārds",
|
||||
|
|
|
@ -131,7 +131,8 @@
|
|||
"concurrent_prefetch_limit": "Limiet voor gelijktijdige 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": "Afspeellijsten",
|
||||
"account": "Account",
|
||||
"instance": "Instantie",
|
||||
"player": "Speler",
|
||||
"livestreams": "Livestreams",
|
||||
"channels": "Kanalen",
|
||||
"bookmarks": "Bladwijzers",
|
||||
"bookmarks": "Bladwijzers",
|
||||
"dearrow": "DeArrow",
|
||||
"channel_groups": "Kanaalgroepen",
|
||||
"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": {
|
||||
|
|
|
@ -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}",
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
"back": "Recuar",
|
||||
"uses_api_from": "Utiliza a \"API\" de ",
|
||||
"enable_sponsorblock": "Ativar \"SponsorBlock\"",
|
||||
"skip_intro": "Ignorar intermissão/animação de introdução",
|
||||
"skip_intro": "Ignorar intromissão/animação de introdução",
|
||||
"skip_outro": "Ignorar cartões finais/créditos",
|
||||
"skip_preview": "Ignorar pré-visualização/recapitulação",
|
||||
"auto": "Automático",
|
||||
|
@ -148,10 +148,11 @@
|
|||
"instance_privacy_policy": "Política de privacidade",
|
||||
"add_to_group": "Adicionar ao grupo",
|
||||
"instances_not_shown": "As instâncias públicas que, atualmente, estejam indisponíveis, não serão mostradas aqui.",
|
||||
"concurrent_prefetch_limit": "Limite de pré-busca de fluxo simultâneo",
|
||||
"concurrent_prefetch_limit": "Limite de obtenção para fluxos simultâneos",
|
||||
"customize": "Personalizar",
|
||||
"invalid_url": "URL inválido!",
|
||||
"add": "Adicionar"
|
||||
"add": "Adicionar",
|
||||
"delete_group_confirm": "Eliminar este grupo?"
|
||||
},
|
||||
"preferences": {
|
||||
"instance_name": "Nome da instância",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -131,7 +131,8 @@
|
|||
"instances_not_shown": "Instanțele publice care nu sunt afișate aici nu sunt disponibile în prezent.",
|
||||
"customize": "Customizează",
|
||||
"invalid_url": "URL nevalid!",
|
||||
"add": "Adăugați"
|
||||
"add": "Adăugați",
|
||||
"delete_group_confirm": "Să șterg acest grup?"
|
||||
},
|
||||
"preferences": {
|
||||
"ssl_score": "Scor SSL",
|
||||
|
|
|
@ -131,7 +131,8 @@
|
|||
"generate_qrcode": "Vygenerovať QR kód",
|
||||
"customize": "Prispôsobiť",
|
||||
"invalid_url": "Neplatná adresa URL!",
|
||||
"add": "Pridať"
|
||||
"add": "Pridať",
|
||||
"delete_group_confirm": "Vymazať túto skupinu?"
|
||||
},
|
||||
"player": {
|
||||
"watch_on": "Zobraziť na {0}",
|
||||
|
|
|
@ -147,7 +147,8 @@
|
|||
"concurrent_prefetch_limit": "Ограничење претходног преузимања истовремених стримова",
|
||||
"invalid_url": "Неважећа URL адреса!",
|
||||
"add": "Додај",
|
||||
"customize": "Прилагоди"
|
||||
"customize": "Прилагоди",
|
||||
"delete_group_confirm": "Избрисати ову групу?"
|
||||
},
|
||||
"preferences": {
|
||||
"instance_locations": "Локације инстанце",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -141,7 +141,8 @@
|
|||
"concurrent_prefetch_limit": "Обмеження одночасної передвибірки потоків",
|
||||
"customize": "Налаштувати",
|
||||
"invalid_url": "Неправильна URL-адреса!",
|
||||
"add": "Додати"
|
||||
"add": "Додати",
|
||||
"delete_group_confirm": "Видалити цю групу?"
|
||||
},
|
||||
"titles": {
|
||||
"register": "Реєстрація",
|
||||
|
|
|
@ -131,7 +131,8 @@
|
|||
"concurrent_prefetch_limit": "并行流预获取限制",
|
||||
"customize": "自定义",
|
||||
"invalid_url": "无效的 URL!",
|
||||
"add": "添加"
|
||||
"add": "添加",
|
||||
"delete_group_confirm": "删除该组吗?"
|
||||
},
|
||||
"video": {
|
||||
"sponsor_segments": "赞助商部分",
|
||||
|
|
Loading…
Reference in New Issue