Merge branch 'master' of github.com:Bnyro/Piped

This commit is contained in:
Bnyro 2022-07-27 07:52:43 +02:00
commit d35ad02c7c
50 changed files with 158 additions and 87 deletions

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1 @@
blank_issues_enabled: false

16
.github/ISSUE_TEMPLATE/question.yml vendored Normal file
View file

@ -0,0 +1,16 @@
name: Question
description: Ask questions about configuration and usage of Piped.
labels: [question]
body:
- type: markdown
attributes:
value: |
Please make sure to read the README.md before posting a question or asking for support.
- type: textarea
id: question
attributes:
label: Describe your question
description: A clear description of what your doubt is.
validations:
required: true

View file

@ -26,7 +26,7 @@
"xml-js": "^1.6.11"
},
"devDependencies": {
"@intlify/vite-plugin-vue-i18n": "^5.0.0",
"@intlify/vite-plugin-vue-i18n": "^5.0.1",
"@vitejs/plugin-legacy": "^1.8.2",
"@vitejs/plugin-vue": "^2.3.3",
"@vue/compiler-sfc": "3.2.37",

View file

@ -208,4 +208,8 @@ h2 {
.auto .link-secondary {
@apply dark:(text-gray-300 hover:(text-gray-400 underline underline-gray-400));
}
.line {
@apply px-2.5 py-0.25 my-0.45 rounded-xl bg-white;
}
</style>

View file

@ -9,11 +9,7 @@
v-for="(chapter, index) in chapters"
@click="$emit('seek', chapter.start)"
class="chapter-vertical"
:class="
playerPosition >= chapter.start && playerPosition < chapters[index + 1].start
? 'chapter-vertical bg-red-500/50'
: 'chapter-vertical'
"
:class="{ 'bg-red-500/50': isCurrentChapter(index) }"
>
<div class="flex">
<span class="mt-5 mr-2 text-current" v-text="index + 1" />
@ -31,11 +27,8 @@
:key="chapter.start"
v-for="(chapter, index) in chapters"
@click="$emit('seek', chapter.start)"
:class="
playerPosition >= chapter.start && playerPosition < chapters[index + 1].start
? 'chapter bg-red-500/50'
: 'chapter'
"
class="chapter"
:class="{ 'bg-red-500/50': isCurrentChapter(index) }"
>
<img :src="chapter.image" :alt="chapter.title" />
<div class="m-1 flex">
@ -73,7 +66,7 @@
<script setup>
import { defineProps, defineEmits } from "vue";
defineProps({
const props = defineProps({
chapters: Object,
mobileLayout: {
type: Boolean,
@ -85,5 +78,12 @@ defineProps({
},
});
const isCurrentChapter = index => {
return (
props.playerPosition >= props.chapters[index].start &&
props.playerPosition < (props.chapters[index + 1]?.start ?? Infinity)
);
};
defineEmits(["seek"]);
</script>

View file

@ -26,33 +26,67 @@
@blur="onInputBlur"
/>
</div>
<div class="flex-1 flex justify-end">
<ul class="flex text-1xl children:pl-3">
<li v-if="shouldShowTrending">
<router-link v-t="'titles.trending'" to="/trending" />
</li>
<li>
<router-link v-t="'titles.preferences'" to="/preferences" />
</li>
<li v-if="shouldShowLogin">
<router-link v-t="'titles.login'" to="/login" />
</li>
<li v-if="shouldShowLogin">
<router-link v-t="'titles.register'" to="/register" />
</li>
<li v-if="shouldShowHistory">
<router-link v-t="'titles.history'" to="/history" />
</li>
<li v-if="authenticated">
<router-link v-t="'titles.playlists'" to="/playlists" />
</li>
<li v-if="authenticated">
<router-link v-t="'titles.feed'" to="/feed" />
</li>
</ul>
</div>
<!-- three vertical lines for toggling the hamburger menu on mobile -->
<button class="md:hidden flex flex-col justify-end mr-3" @click="showTopNav = !showTopNav">
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
</button>
<!-- navigation bar for large screen devices -->
<ul class="hidden md:(flex-1 flex justify-end flex text-1xl children:pl-3)">
<li v-if="shouldShowTrending">
<router-link v-t="'titles.trending'" to="/trending" />
</li>
<li>
<router-link v-t="'titles.preferences'" to="/preferences" />
</li>
<li v-if="shouldShowLogin">
<router-link v-t="'titles.login'" to="/login" />
</li>
<li v-if="shouldShowLogin">
<router-link v-t="'titles.register'" to="/register" />
</li>
<li v-if="shouldShowHistory">
<router-link v-t="'titles.history'" to="/history" />
</li>
<li v-if="authenticated">
<router-link v-t="'titles.playlists'" to="/playlists" />
</li>
<li v-if="authenticated && !shouldShowTrending">
<router-link v-t="'titles.feed'" to="/feed" />
</li>
</ul>
</nav>
<div class="w-full md:hidden">
<!-- navigation bar for mobile devices -->
<ul
v-if="showTopNav"
class="flex flex-col justify-center items-end mb-4 children:(my-0.5 mr-5)"
@click="showTopNav = false"
>
<li v-if="shouldShowTrending">
<router-link v-t="'titles.trending'" to="/trending" />
</li>
<li>
<router-link v-t="'titles.preferences'" to="/preferences" />
</li>
<li v-if="shouldShowLogin">
<router-link v-t="'titles.login'" to="/login" />
</li>
<li v-if="shouldShowLogin">
<router-link v-t="'titles.register'" to="/register" />
</li>
<li v-if="shouldShowHistory">
<router-link v-t="'titles.history'" to="/history" />
</li>
<li v-if="authenticated">
<router-link v-t="'titles.playlists'" to="/playlists" />
</li>
<li v-if="authenticated && !shouldShowTrending">
<router-link v-t="'titles.feed'" to="/feed" />
</li>
</ul>
<!-- search suggestions for mobile devices -->
<div class="w-{full - 4} md:hidden mx-2">
<input
v-model="searchText"
class="input !h-10 !w-full"
@ -85,6 +119,7 @@ export default {
return {
searchText: "",
suggestionsVisible: false,
showTopNav: false,
};
},
mounted() {

View file

@ -652,4 +652,19 @@ export default {
.shaka-video-container:-webkit-full-screen {
max-height: none !important;
}
/* captions style */
.shaka-text-wrapper * {
text-align: left !important;
}
.shaka-text-wrapper > span > span {
background-color: transparent !important;
}
/* apply to all spans that don't include multiple other spans to avoid the style being applied to the text container too when the subtitles are two lines */
.shaka-text-wrapper > span > span *:first-child:last-child {
background-color: rgba(0, 0, 0, 0.6) !important;
padding: 0.09em 0;
}
</style>

View file

@ -74,7 +74,7 @@
<!-- Verified Badge -->
<font-awesome-icon class="ml-1" v-if="video.uploaderVerified" icon="check" />
</div>
<div class="relative ml-auto children:mx-2">
<div class="flex relative ml-auto children:mx-1">
<button class="btn" v-if="authenticated" @click="showModal = !showModal">
{{ $t("actions.add_to_playlist") }}<font-awesome-icon class="ml-1" icon="circle-plus" />
</button>
@ -89,8 +89,8 @@
/>
</div>
<PlaylistAddModal v-if="showModal" :video-id="getVideoId()" @close="showModal = !showModal" />
<div class="flex <lg:basis-7/12">
<div class="self-center children:mr-1">
<div class="flex">
<div class="self-center children:mr-1 my-1">
<!-- RSS Feed button -->
<a
aria-label="RSS feed"
@ -112,7 +112,7 @@
</i18n-t>
</a>
<!-- only visible on small screens -->
<a :href="`https://youtu.be/${getVideoId()}`" class="btn sm:hidden">
<a :href="`https://youtu.be/${getVideoId()}`" class="btn lg:hidden">
<font-awesome-icon class="mx-1.5" :icon="['fab', 'youtube']" />
</a>
<!-- LBRY -->

View file

@ -64,7 +64,7 @@
"language_selection": "اختيار اللغة",
"instances_list": "قائمة المثيلات",
"enabled_codecs": "برامج الترميز الممكنة (متعددة)",
"import_from_json": "استيراد من JSON",
"import_from_json": "استيراد من JSON/CSV",
"loop_this_video": "تكرار هذا الفيديو",
"auto_play_next_video": "التشغيل التلقائي للفيديو التالي",
"donations": "التبرعات",

View file

@ -42,7 +42,7 @@
"default_quality": "Defolt Keyfiyyət",
"buffering_goal": "Tamponlama Məqsədi (saniyələrlə)",
"export_to_json": "JSON-a İxrac Edin",
"import_from_json": "JSON-dan İdxal Edin",
"import_from_json": "JSON/CSV-dan İdxal Edin",
"loop_this_video": "Bu Videonu Təkrarla",
"auto_play_next_video": "Növbəti Videonu Avto-Oynat",
"donations": "İanələr",

View file

@ -53,7 +53,7 @@
"yes": "হ্যাঁ",
"no": "না",
"export_to_json": "JSON ফাইলে সংরক্ষণ করুন",
"import_from_json": "JSON ফাইল থেকে আনুন",
"import_from_json": "JSON/CSV ফাইল থেকে আনুন",
"loop_this_video": "ভিডিওটি চক্রের মধ্যে রাখুন",
"instance_selection": "সঙ্ঘটন নির্বাচন",
"show_more": "আরো দেখুন",

View file

@ -56,7 +56,7 @@
"show_more": "Prikaži više",
"yes": "Da",
"export_to_json": "Izvezi u JSON",
"import_from_json": "Uvezi iz JSON-a",
"import_from_json": "Uvezi iz JSON/CSV-a",
"minimize_description": "Umanji opis",
"minimize_recommendations": "Umanjite preporuke",
"clear_history": "Obrišite historiju",

View file

@ -41,7 +41,7 @@
"yes": "Sí",
"no": "No",
"export_to_json": "Exportar a JSON",
"import_from_json": "Importar de JSON",
"import_from_json": "Importar de JSON/CSV",
"loop_this_video": "Reprodueix aquest Vídeo en bucle",
"donations": "Donacions",
"minimize_description": "Minimitza la Descripció",

View file

@ -43,7 +43,7 @@
"yes": "Ano",
"no": "Ne",
"export_to_json": "Exportovat do JSON",
"import_from_json": "Importovat z JSON",
"import_from_json": "Importovat z JSON/CSV",
"auto_play_next_video": "Automaticky přehrát další video",
"donations": "Darovat",
"show_description": "Zobrazit popis",

View file

@ -52,7 +52,7 @@
"show_more": "Vis mere",
"yes": "Ja",
"no": "Nej",
"import_from_json": "Importer fra JSON",
"import_from_json": "Importer fra JSON/CSV",
"loop_this_video": "Gentag denne video",
"auto_play_next_video": "Afspil næste video automatisk",
"donations": "Donationer",

View file

@ -44,7 +44,7 @@
"donations": "Spenden",
"auto_play_next_video": "Nächstes Video automatisch abspielen",
"loop_this_video": "Dieses Video wiederholen",
"import_from_json": "Aus JSON importieren",
"import_from_json": "Aus JSON/CSV importieren",
"export_to_json": "Als JSON exportieren",
"show_more": "Mehr anzeigen",
"no": "Nein",

View file

@ -44,7 +44,7 @@
"show_recommendations": "Εμφάνιση συστάσεις",
"donations": "Δωρεές",
"auto_play_next_video": "Αυτόματη αναπαραγωγή επόμενου βίντεο",
"import_from_json": "Εισαγωγή από JSON",
"import_from_json": "Εισαγωγή από JSON/CSV",
"export_to_json": "Εξαγωγή σε JSON",
"no": "Όχι",
"yes": "Ναι",

View file

@ -55,7 +55,7 @@
"yes": "Yes",
"no": "No",
"export_to_json": "Export to JSON",
"import_from_json": "Import from JSON",
"import_from_json": "Import from JSON/CSV",
"loop_this_video": "Loop this Video",
"auto_play_next_video": "Auto Play next Video",
"donations": "Donations",

View file

@ -29,7 +29,7 @@
"donations": "Donaciones",
"auto_play_next_video": "Reproducción automática del siguiente vídeo",
"loop_this_video": "Poner en bucle este vídeo",
"import_from_json": "Importar desde JSON",
"import_from_json": "Importar desde JSON/CSV",
"export_to_json": "Exportar a JSON",
"no": "No",
"yes": "Sí",

View file

@ -39,7 +39,7 @@
"yes": "Jah",
"no": "Ei",
"export_to_json": "Eksportida JSON-vormingusse",
"import_from_json": "Importimine JSONist",
"import_from_json": "Importimine JSON/CSVist",
"loop_this_video": "Selle video pidev taasesitus",
"donations": "Annetused",
"minimize_description": "Minimeeri kirjeldus",

View file

@ -22,7 +22,7 @@
"donations": "Dohaintzak",
"auto_play_next_video": "Hurrengo bideoa automatikoki erreproduzitu",
"loop_this_video": "Bideo hau begiztan jarri",
"import_from_json": "Inportatu JSONetik",
"import_from_json": "Inportatu JSON/CSVetik",
"export_to_json": "Esportatu JSONera",
"no": "Ez",
"yes": "Bai",

View file

@ -42,7 +42,7 @@
"skip_interaction": "رد کردن یاداوری سابسکرایب",
"skip_highlight": "رد کردن نکات برجسته",
"skip_filler_tangent": "رد کردن چرندیات نامربوط",
"import_from_json": "وارد کردن از JSON",
"import_from_json": "وارد کردن از JSON/CSV",
"export_to_json": "دادن خروجی با فرمت JSON",
"show_description": "نمایش توضیحات ویدئو",
"donations": "کمک های مالی",

View file

@ -74,7 +74,7 @@
"skip_preview": "Ohita esikatselu/toistelu",
"export_to_json": "Vie JSON-muotoon",
"remove_from_playlist": "Poista soittolistalta",
"import_from_json": "Tuo JSON:sta",
"import_from_json": "Tuo JSON/CSV:sta",
"delete_playlist": "Poista soittolista",
"create_playlist": "Luo soittolista",
"select_playlist": "Valitse soittolista",

View file

@ -50,7 +50,7 @@
"donations": "Dons",
"auto_play_next_video": "Lire la vidéo suivante automatiquement",
"loop_this_video": "Mettre cette vidéo en boucle",
"import_from_json": "Importer depuis le format JSON",
"import_from_json": "Importer depuis le format JSON/CSV",
"export_to_json": "Exporter en JSON",
"show_more": "Afficher plus",
"instance_selection": "Sélection de l'instance",

View file

@ -45,7 +45,7 @@
"instance_selection": "इंस्टेंस चयन",
"show_more": "और दिखाओ",
"export_to_json": "JSON में निर्यात करें",
"import_from_json": "JSON से आयात करें",
"import_from_json": "JSON/CSV से आयात करें",
"auto_play_next_video": "अगला वीडियो ऑटोप्ले करें",
"donations": "दान",
"minimize_recommendations": "सिफारिशों को कम करें",

View file

@ -32,7 +32,7 @@
"donations": "Donacije",
"auto_play_next_video": "Automatski reproduciraj idući video",
"loop_this_video": "Ponavljaj ovaj video",
"import_from_json": "Uvezi iz JSON formata",
"import_from_json": "Uvezi iz JSON/CSV formata",
"export_to_json": "Izvezi u JSON",
"no": "Ne",
"yes": "Da",

View file

@ -71,7 +71,7 @@
"view_ssl_score": "SSL pontszám megtekintése",
"sort_by": "Rendezés:",
"show_description": "Leírás megjelenítése",
"import_from_json": "Importálás JSON-ból",
"import_from_json": "Importálás JSON/CSV-ból",
"delete_playlist_video_confirm": "Biztosan szeretnéd törölni ezt a videót a lejátszási listából?",
"remove_from_playlist": "Törlés lejátszási listából",
"auto_play_next_video": "Következő videó automatikus lejátszása",

View file

@ -47,7 +47,7 @@
"show_more": "Tampilkan Lebih Banyak",
"yes": "Iya",
"no": "Tidak",
"import_from_json": "Impor dari JSON",
"import_from_json": "Impor dari JSON/CSV",
"loop_this_video": "Ulangi Video ini",
"auto_play_next_video": "Mainkan video berikutnya secara otomatis",
"donations": "Donasi",

View file

@ -54,7 +54,7 @@
"view_ssl_score": "Skoðaðu SSL Einkunn",
"enabled_codecs": "Virkjir Afkóðarar (Marghæft)",
"instance_selection": "Tilviksval",
"import_from_json": "Flytja inn frá JSON",
"import_from_json": "Flytja inn frá JSON/CSV",
"loop_this_video": "Endurtaka þetta Myndband",
"auto_play_next_video": "Spila Næsta Myndband Sjálfvirkt",
"filter": "Sía",

View file

@ -43,7 +43,7 @@
"donations": "Donazioni",
"auto_play_next_video": "Riproduci automaticamente il prossimo video",
"loop_this_video": "Ripeti questo video",
"import_from_json": "Importa da JSON",
"import_from_json": "Importa da JSON/CSV",
"export_to_json": "Esporta in JSON",
"no": "No",
"yes": "Sì",

View file

@ -52,7 +52,7 @@
"yes": "はい",
"no": "いいえ",
"export_to_json": "JSONファイルに出力",
"import_from_json": "JSONファイルを読み込む",
"import_from_json": "JSON/CSVファイルを読み込む",
"loop_this_video": "ループ再生",
"auto_play_next_video": "自動再生",
"donations": "寄付",

View file

@ -38,7 +38,7 @@
"minimize_description_default": "기본적으로 설명 최소화",
"enabled_codecs": "활성화된 코덱 (여러 개)",
"instance_selection": "인스턴스 선택",
"import_from_json": "JSON에서 가져오기",
"import_from_json": "JSON/CSV에서 가져오기",
"light": "라이트",
"autoplay_video": "영상 자동 재생",
"default_quality": "기본 화질",

View file

@ -44,7 +44,7 @@
"minimize_description": "Suskleisti aprašymą",
"minimize_recommendations": "Suskleisti rekomendacijas",
"show_recommendations": "Rodyti rekomendacijas",
"import_from_json": "Importuoti iš JSON",
"import_from_json": "Importuoti iš JSON/CSV",
"export_to_json": "Eksportuoti į JSON",
"no": "Ne",
"yes": "Taip",

View file

@ -54,7 +54,7 @@
"yes": "അതെ",
"show_more": "കൂടുതൽ കാണിക്കുക",
"buffering_goal": "ബഫറിംഗ് ലക്ഷ്യം(സെക്കൻഡുകളിൽ)",
"import_from_json": "JSON നിന്ന് ഇറക്കുമതി ചെയ്യൂ",
"import_from_json": "JSON/CSV നിന്ന് ഇറക്കുമതി ചെയ്യൂ",
"export_to_json": "JSON-ലേക്ക് എക്സ്പ്പോർട്ട് ചെയ്യുക",
"instance_selection": "ഇൻസ്റ്റ്ൻസ് തിരഞ്ഞെടുക്കുക",
"loading": "ലഭ്യമാക്കുന്നു...",

View file

@ -42,7 +42,7 @@
"donations": "Donasjoner",
"auto_play_next_video": "Autospill neste video",
"loop_this_video": "Gjenta denne videoen",
"import_from_json": "Importer fra JSON",
"import_from_json": "Importer fra JSON/CSV",
"export_to_json": "Eksporter til JSON",
"no": "Nei",
"yes": "Ja",

View file

@ -60,7 +60,7 @@
"delete_playlist_confirm": "Weet u zeker dat u deze afspeellijst wilt verwijderen?",
"please_select_playlist": "Kies een afspeellijst a.u.b.",
"instance_selection": "Instantie Selectie",
"import_from_json": "Importeren uit JSON",
"import_from_json": "Importeren uit JSON/CSV",
"clear_history": "Geschiedenis Wissen",
"show_replies": "Toon Antwoorden",
"load_more_replies": "Laad meer Antwoorden",

View file

@ -54,7 +54,7 @@
"yes": "Tak",
"no": "Nie",
"export_to_json": "Eksport do pliku JSON",
"import_from_json": "Import z pliku JSON",
"import_from_json": "Import z pliku JSON/CSV",
"loop_this_video": "Zapętlaj ten film",
"auto_play_next_video": "Autoodtwarzanie następnego filmu",
"donations": "Wsparcie",

View file

@ -34,7 +34,7 @@
"enabled_codecs": "Codecs Ativados (Vários)",
"instance_selection": "Seleção de Instância",
"show_more": "Exibir Mais",
"import_from_json": "Importar de JSON",
"import_from_json": "Importar de JSON/CSV",
"export_to_json": "Exportar para JSON",
"loop_this_video": "Repetir Este Vídeo",
"auto_play_next_video": "Reproduzir o Próximo Vídeo Automaticamente",

View file

@ -55,7 +55,7 @@
"view_ssl_score": "Ver Pontuação SSL",
"disable_lbry": "Desabilitar LBRY para Streaming",
"enable_lbry_proxy": "Habilitar proxy para LBRY",
"import_from_json": "Importar de JSON",
"import_from_json": "Importar de JSON/CSV",
"loop_this_video": "Repetir este Vídeo",
"instances_list": "Lista de Instâncias",
"clear_history": "Limpar Histórico",

View file

@ -40,7 +40,7 @@
"enabled_codecs": "Codecs ativados (vários)",
"instance_selection": "Seleção de instância",
"show_more": "Mostrar mais",
"import_from_json": "Importar de JSON",
"import_from_json": "Importar de JSON/CSV",
"loop_this_video": "Repetir este vídeo",
"auto_play_next_video": "Reproduzir o próximo vídeo automaticamente",
"donations": "Doações",

View file

@ -52,7 +52,7 @@
"yes": "Да",
"no": "Нет",
"export_to_json": "Экспорт в JSON",
"import_from_json": "Импорт из JSON",
"import_from_json": "Импорт из JSON/CSV",
"loop_this_video": "Повтор текущего видео",
"auto_play_next_video": "Сразу проигрывать следующее рекомендованное видео",
"donations": "Пожертвования",

View file

@ -45,7 +45,7 @@
"show_more": "Ukázať viac",
"yes": "Áno",
"no": "Nie",
"import_from_json": "Importovať z JSONu",
"import_from_json": "Importovať z JSON/CSVu",
"loop_this_video": "Opakovať",
"auto_play_next_video": "Automaticky prehrávať ďalšie video",
"donations": "Dary",

View file

@ -57,7 +57,7 @@
"show_more": "Прикажи више",
"yes": "Да",
"export_to_json": "Извези у JSON",
"import_from_json": "Увези из JSON-а",
"import_from_json": "Увези из JSON/CSV-а",
"minimize_recommendations": "Смањи препоруке",
"disable_lbry": "Онемогући LBRY за стримовање",
"enable_lbry_proxy": "Омогући прокси за LBRY",

View file

@ -43,7 +43,7 @@
"store_watch_history": "Spara titthistorik",
"instances_list": "Lista över instanser",
"enabled_codecs": "Aktivera codecs (flera)",
"import_from_json": "Importera från JSON",
"import_from_json": "Importera från JSON/CSV",
"donations": "Donationer",
"filter": "Filter",
"hide_replies": "Dölj svar",

View file

@ -41,7 +41,7 @@
"donations": "Bağışlar",
"auto_play_next_video": "Sonraki Videoyu Otomatik Oynat",
"loop_this_video": "Bu Videoyu Döngüye Al",
"import_from_json": "JSON dosyasından içe aktar",
"import_from_json": "JSON/CSV dosyasından içe aktar",
"export_to_json": "JSON Olarak Dışa Aktar",
"no": "Hayır",
"yes": "Evet",

View file

@ -54,7 +54,7 @@
"country_selection": "Вибір країни (для трендів)",
"minimize_description_default": "Не розгортати опис за замовчуванням",
"yes": "Так",
"import_from_json": "Імпорт з JSON",
"import_from_json": "Імпорт з JSON/CSV",
"loop_this_video": "Повтор поточного відео",
"auto_play_next_video": "Одразу програвати наступне рекомендоване відео",
"donations": "Пожертвування",

View file

@ -30,7 +30,7 @@
"language_selection": "Lựa chọn ngôn ngữ",
"instances_list": "Danh sách phiên bản",
"show_more": "Hiện thị nhiều hơn",
"import_from_json": "Nhập từ JSON",
"import_from_json": "Nhập từ JSON/CSV",
"loop_this_video": "Lặp lại video này",
"channel_name_desc": "Tên kênh (Z-A)",
"default_quality": "Chất lượng mặc định",

View file

@ -9,7 +9,7 @@
"donations": "捐款",
"auto_play_next_video": "自动播放下一个视频",
"loop_this_video": "循环播放此视频",
"import_from_json": "从 JSON 导入",
"import_from_json": "从 JSON/CSV 导入",
"export_to_json": "导出为 JSON",
"no": "否",
"yes": "是",

View file

@ -42,7 +42,7 @@
"yes": "是",
"no": "否",
"export_to_json": "以 JSON 匯出",
"import_from_json": "從 JSON 匯入",
"import_from_json": "從 JSON/CSV 匯入",
"loop_this_video": "循環播放此影片",
"auto_play_next_video": "自動播放下一部影片",
"donations": "捐款",

View file

@ -1022,10 +1022,10 @@
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.2.0-beta.40.tgz#a850936008e6e865310b2a49136d494dd326faab"
integrity sha512-xWz+SFjgt/LfaSbbHVn+V7gmvX4ZNP3cIFta790GWZ/tEgwJeC3tkV7i45iUbZ4ZimOerFgKH05b7qvJlKb6RQ==
"@intlify/vite-plugin-vue-i18n@^5.0.0":
version "5.0.0"
resolved "https://registry.yarnpkg.com/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-5.0.0.tgz#af71abfc1a459238ca94fd3f1e2bd272eb2abd66"
integrity sha512-49W7y2b0m6Cg6qGoBkjdNgxyzFx3iOSbnxvDaWcN65raaceJVuwCwxXX1SqJbjHTg32rpTFi4jSlroqAV9Rr0w==
"@intlify/vite-plugin-vue-i18n@^5.0.1":
version "5.0.1"
resolved "https://registry.yarnpkg.com/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-5.0.1.tgz#80a0b5e1a2428aabecffe41aa9173ebcfe4d61a7"
integrity sha512-+LAUdm5PxGtLrUYgD2Wg9SINmLmhZqrcTnzccfqopca5NvaXWOPnQR4cQOkn82qLuyjWdCYC1BoqMHWBWX/MyQ==
dependencies:
"@intlify/bundle-utils" next
"@intlify/shared" next