Merge branch 'VueTubeApp:main' into main
|
@ -1,26 +1,24 @@
|
||||||
<template>
|
<template>
|
||||||
<v-app>
|
<v-app>
|
||||||
<center>
|
<center style="padding: 10% 0;">
|
||||||
<v-icon size="100">mdi-alert-circle</v-icon>
|
<v-icon size="100">mdi-heart-broken</v-icon>
|
||||||
<h1
|
<h1>Something went wrong</h1>
|
||||||
class="background--text"
|
<v-btn rounded to="/" color="primary darken-2"><v-icon>mdi-restart</v-icon>Restart</v-btn>
|
||||||
:class="$vuetify.theme.dark ? 'text--lighten-4' : 'text--darken-4'"
|
<v-btn rounded @click="exit"><v-icon>mdi-close</v-icon>Exit</v-btn>
|
||||||
>
|
|
||||||
An error occured!
|
|
||||||
</h1>
|
|
||||||
<v-btn to="/">Reload Application</v-btn>
|
|
||||||
<v-btn to="/mods/logs">Show Logs</v-btn>
|
|
||||||
|
|
||||||
<div style="margin-top: 5em; color: #999; font-size: 0.75em">
|
<div style="margin-top: 5em; color: #999; font-size: 0.75em">
|
||||||
<div style="font-size: 1.4em">Error Information</div>
|
<div style="font-size: 1.4em">Crash Information</div>
|
||||||
<div>Code: {{ error.statusCode }}</div>
|
<div>Reason: {{ error.message }}</div>
|
||||||
<div>Path: {{ $route.fullPath }}</div>
|
<div>Path: {{ $route.fullPath }}</div>
|
||||||
|
<div>Code: {{ error.statusCode }}</div>
|
||||||
</div>
|
</div>
|
||||||
</center>
|
</center>
|
||||||
</v-app>
|
</v-app>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { App } from '@capacitor/app';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
layout: "empty",
|
layout: "empty",
|
||||||
props: {
|
props: {
|
||||||
|
@ -29,5 +27,10 @@ export default {
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
method: {
|
||||||
|
exit() {
|
||||||
|
App.exitApp()
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -12,12 +12,12 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@capacitor/splash-screen": "^1.2.2",
|
"@capacitor/splash-screen": "^1.2.2",
|
||||||
"@capacitor/status-bar": "^1.0.8",
|
"@capacitor/status-bar": "^1.0.8",
|
||||||
"core-js": "^3.19.3",
|
"core-js": "^3.25.0",
|
||||||
"nuxt": "^2.15.8",
|
"nuxt": "^2.15.8",
|
||||||
"vue": "^2.6.14",
|
"vue": "^2.7.10",
|
||||||
"vue-server-renderer": "^2.6.14",
|
"vue-server-renderer": "^2.7.10",
|
||||||
"vue-template-compiler": "^2.6.14",
|
"vue-template-compiler": "^2.7.10",
|
||||||
"vuetify": "^2.6.1",
|
"vuetify": "^2.6.9",
|
||||||
"webpack": "^4.46.0"
|
"webpack": "^4.46.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
"eslint": "^7.32.0",
|
"eslint": "^7.32.0",
|
||||||
"eslint-config-prettier": "^8.3.0",
|
"eslint-config-prettier": "^8.3.0",
|
||||||
"eslint-loader": "^4.0.2",
|
"eslint-loader": "^4.0.2",
|
||||||
"eslint-plugin-prettier": "^4.0.0",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"eslint-plugin-vue": "^8.2.0",
|
"eslint-plugin-vue": "^8.2.0",
|
||||||
"prettier": "^2.5.1"
|
"prettier": "^2.5.1"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<center>
|
|
||||||
<h2 style="margin: 2em;">{{ lang.packageinstaller }}</h2>
|
|
||||||
</center>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<v-list-item-group>
|
|
||||||
<v-list-item v-for="(item, i) in assets" :key="i" @click="dl(item)">
|
|
||||||
<v-list-item-icon>
|
|
||||||
<v-icon v-text="item.icon" />
|
|
||||||
</v-list-item-icon>
|
|
||||||
<v-list-item-content>
|
|
||||||
<v-list-item-title v-text="item.name" />
|
|
||||||
</v-list-item-content>
|
|
||||||
</v-list-item>
|
|
||||||
</v-list-item-group>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
layout: "empty",
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
lang: {},
|
|
||||||
releases: {},
|
|
||||||
assets: [],
|
|
||||||
|
|
||||||
icons: {
|
|
||||||
apk: "android",
|
|
||||||
ipa: "apple",
|
|
||||||
zip: "folder-zip"
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
async mounted() {
|
|
||||||
const allReleases = await this.$vuetube.releases;
|
|
||||||
this.releases = allReleases[this.$route.query.v].assets;
|
|
||||||
this.lang = this.$lang("events");
|
|
||||||
|
|
||||||
|
|
||||||
for (const i in this.releases) {
|
|
||||||
const asset = this.releases[i];
|
|
||||||
let icon = new String();
|
|
||||||
|
|
||||||
//--- Get Icon Type ---//
|
|
||||||
const fileExt = asset.name.split(".")
|
|
||||||
for (const i in this.icons) {
|
|
||||||
if (fileExt.includes(i)) {
|
|
||||||
icon = this.icons[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//--- Build Asset For Listing ---//
|
|
||||||
this.assets.push({
|
|
||||||
name: asset.name,
|
|
||||||
icon: "mdi-"+icon,
|
|
||||||
download_url: asset.browser_download_url
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
dl(item) {
|
|
||||||
window.open(item.download_url, '_blank');
|
|
||||||
this.$router.push(`/mods/updates`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
</script>
|
|
|
@ -11,6 +11,7 @@
|
||||||
<!-- Add New Key Button -->
|
<!-- Add New Key Button -->
|
||||||
<center>
|
<center>
|
||||||
<v-btn
|
<v-btn
|
||||||
|
rounded
|
||||||
@click="
|
@click="
|
||||||
addDialog = !addDialog;
|
addDialog = !addDialog;
|
||||||
selectedKey = null;
|
selectedKey = null;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="mainContainer pt-1">
|
<div class="mainContainer pt-1">
|
||||||
|
<!-- Language Picker -->
|
||||||
<v-card
|
<v-card
|
||||||
flat
|
flat
|
||||||
class="pb-5 background"
|
class="pb-5 background"
|
||||||
|
@ -11,6 +12,25 @@
|
||||||
<language />
|
<language />
|
||||||
</v-card-text>
|
</v-card-text>
|
||||||
</v-card>
|
</v-card>
|
||||||
|
|
||||||
|
<!-- Backup -->
|
||||||
|
<v-card
|
||||||
|
flat
|
||||||
|
class="pb-5 background"
|
||||||
|
:class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'"
|
||||||
|
:style="{ borderRadius: `${roundTweak / 2}rem` }"
|
||||||
|
>
|
||||||
|
<v-card-title>{{ lang.backup }}</v-card-title>
|
||||||
|
<v-card-text>
|
||||||
|
<p>Backup or restore your application settings</p>
|
||||||
|
</v-card-text>
|
||||||
|
<v-card-actions>
|
||||||
|
<v-btn rounded color="primary darken-2" @click="registryBackup">{{ lang.backup }}</v-btn>
|
||||||
|
<v-btn rounded @click="registryRestore">{{ lang.restore }}</v-btn>
|
||||||
|
</v-card-actions>
|
||||||
|
</v-card>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -34,6 +54,45 @@ export default {
|
||||||
const lang = this.$lang();
|
const lang = this.$lang();
|
||||||
this.lang = lang.mods.general;
|
this.lang = lang.mods.general;
|
||||||
},
|
},
|
||||||
|
methods: {
|
||||||
|
download(filename, text) {
|
||||||
|
var element = document.createElement('a');
|
||||||
|
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
|
||||||
|
element.setAttribute('download', filename);
|
||||||
|
|
||||||
|
element.style.display = 'none';
|
||||||
|
document.body.appendChild(element);
|
||||||
|
|
||||||
|
element.click();
|
||||||
|
|
||||||
|
document.body.removeChild(element);
|
||||||
|
},
|
||||||
|
|
||||||
|
getRegistry() {
|
||||||
|
let keys = [];
|
||||||
|
const localStorageKeys = Object.keys(localStorage);
|
||||||
|
for (const i in localStorageKeys) {
|
||||||
|
const key = localStorageKeys[i];
|
||||||
|
const keyValue = localStorage.getItem(key);
|
||||||
|
keys.push({ key: key, value: keyValue });
|
||||||
|
}
|
||||||
|
return keys;
|
||||||
|
},
|
||||||
|
|
||||||
|
registryBackup() {
|
||||||
|
const file = JSON.stringify({
|
||||||
|
scheme: "VueTube Backup",
|
||||||
|
version: process.env.version,
|
||||||
|
channel: process.env.channel,
|
||||||
|
date: Date.now(),
|
||||||
|
registry: this.getRegistry()
|
||||||
|
});
|
||||||
|
this.download("vuetube-backup.json",file);
|
||||||
|
},
|
||||||
|
registryRestore() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,27 @@ module.exports = {
|
||||||
library: "媒体库",
|
library: "媒体库",
|
||||||
restart: "重新启动",
|
restart: "重新启动",
|
||||||
later: "稍后",
|
later: "稍后",
|
||||||
settingRestart: "此设置修改后需要重新启动应用程序才会生效。"
|
settingRestart: "此设置修改后需要重新启动应用程序才会生效。",
|
||||||
|
okay: "确定",
|
||||||
|
},
|
||||||
|
|
||||||
|
pages: {
|
||||||
|
index: "",
|
||||||
|
home: "首页",
|
||||||
|
library: "媒体库",
|
||||||
|
search: "搜索",
|
||||||
|
settings: "设置",
|
||||||
|
subscriptions: "订阅内容",
|
||||||
|
watch: "观看",
|
||||||
|
about: "关于",
|
||||||
|
developer: "开发者",
|
||||||
|
general: "常用",
|
||||||
|
player: "播放器",
|
||||||
|
plugins: "插件",
|
||||||
|
startup: "启动选项",
|
||||||
|
theme: "主题",
|
||||||
|
tweaks: "界面调整",
|
||||||
|
updates: "更新"
|
||||||
},
|
},
|
||||||
|
|
||||||
index: {
|
index: {
|
||||||
|
@ -26,12 +46,14 @@ module.exports = {
|
||||||
updates: "更新",
|
updates: "更新",
|
||||||
logs: "日志",
|
logs: "日志",
|
||||||
about: "关于",
|
about: "关于",
|
||||||
devmode: "注册表编辑工具",
|
devmode: "开发者模式",
|
||||||
},
|
},
|
||||||
|
|
||||||
mods: {
|
mods: {
|
||||||
general: {
|
general: {
|
||||||
language: "语言",
|
language: "语言",
|
||||||
|
backup: "备份",
|
||||||
|
restore: "从备份回复",
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
normal: "正常",
|
normal: "正常",
|
||||||
|
@ -54,6 +76,7 @@ module.exports = {
|
||||||
defaultpage: "默认页",
|
defaultpage: "默认页",
|
||||||
},
|
},
|
||||||
updates: {
|
updates: {
|
||||||
|
updating: "下载更新中",
|
||||||
checking: "检查更新中",
|
checking: "检查更新中",
|
||||||
available: "有更新可用",
|
available: "有更新可用",
|
||||||
noupdate: "没有更新可用",
|
noupdate: "没有更新可用",
|
||||||
|
@ -62,9 +85,14 @@ module.exports = {
|
||||||
installed: "目前版本",
|
installed: "目前版本",
|
||||||
latest: "最新版本",
|
latest: "最新版本",
|
||||||
|
|
||||||
|
published: "发布日期",
|
||||||
|
users: "用家数目",
|
||||||
|
size: "更新大小",
|
||||||
|
|
||||||
okay: "確定",
|
okay: "確定",
|
||||||
|
refresh: "刷新",
|
||||||
update: "更新",
|
update: "更新",
|
||||||
later: "稍後",
|
later: "稍后",
|
||||||
},
|
},
|
||||||
logs: {
|
logs: {
|
||||||
more: "更多",
|
more: "更多",
|
||||||
|
@ -81,20 +109,34 @@ module.exports = {
|
||||||
github: "GitHub",
|
github: "GitHub",
|
||||||
discord: "Discord",
|
discord: "Discord",
|
||||||
},
|
},
|
||||||
|
developer: {
|
||||||
|
registryeditor: "注册表编辑工具",
|
||||||
|
registrywarning: "更改项目可能会令应用程序损毁!",
|
||||||
|
createentry: "加入项目",
|
||||||
|
createentryfull: "加入注册表项目",
|
||||||
|
cancel: "取消",
|
||||||
|
create: "加入",
|
||||||
|
key: "键",
|
||||||
|
value: "值项",
|
||||||
|
confirmdelete: "确认删除",
|
||||||
|
areyousure: "您确认要删除",
|
||||||
|
delete: "删除",
|
||||||
|
change: "更改",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
events: {
|
events: {
|
||||||
welcome: "欢迎使用 VueTube",
|
welcome: "欢迎使用 VueTube",
|
||||||
tagline: "流媒体的未来",
|
tagline: "流媒体的未来",
|
||||||
next: "下一步",
|
next: "下一步",
|
||||||
updated: "VueTube 已更新!",
|
updated: "VueTube 已更新",
|
||||||
awesome: "真棒!",
|
awesome: "真棒!",
|
||||||
langsetup: "来选择一种语言吧!",
|
langsetup: "来选择一种语言吧!",
|
||||||
featuresetup: "来拣选一些功能吧!",
|
featuresetup: "来拣选一些功能吧!",
|
||||||
enableryd: "启用 Return YouTube Dislike",
|
enableryd: "启用 Return YouTube Dislike",
|
||||||
enablespb: "启用 SponsorBlock",
|
enablespb: "启用 SponsorBlock",
|
||||||
thanks: "谢谢使用 VueTube",
|
thanks: "谢谢使用 VueTube",
|
||||||
enjoy: "祝你有一个愉快的体验",
|
enjoy: "祝您有一个愉快的体验",
|
||||||
packageinstaller: "选择要下载的应用包"
|
packageinstaller: "选择要下载的应用包"
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,7 +7,27 @@ module.exports = {
|
||||||
library: "媒體庫",
|
library: "媒體庫",
|
||||||
restart: "重新啟動",
|
restart: "重新啟動",
|
||||||
later: "稍後",
|
later: "稍後",
|
||||||
settingRestart: "此設定更改後需要重新啟動應用程式才會生效。"
|
settingRestart: "此設定更改後需要重新啟動應用程式才會生效。",
|
||||||
|
okay: "確定",
|
||||||
|
},
|
||||||
|
|
||||||
|
pages: {
|
||||||
|
index: "",
|
||||||
|
home: "主頁",
|
||||||
|
library: "媒體庫",
|
||||||
|
search: "搜尋",
|
||||||
|
settings: "設定",
|
||||||
|
subscriptions: "訂閲項目",
|
||||||
|
watch: "觀看",
|
||||||
|
about: "關於",
|
||||||
|
developer: "開發人員",
|
||||||
|
general: "一般",
|
||||||
|
player: "播放器",
|
||||||
|
plugins: "插件",
|
||||||
|
startup: "啟動",
|
||||||
|
theme: "主題",
|
||||||
|
tweaks: "介面調整",
|
||||||
|
updates: "更新"
|
||||||
},
|
},
|
||||||
|
|
||||||
index: {
|
index: {
|
||||||
|
@ -26,12 +46,14 @@ module.exports = {
|
||||||
updates: "更新",
|
updates: "更新",
|
||||||
logs: "紀錄檔",
|
logs: "紀錄檔",
|
||||||
about: "關於",
|
about: "關於",
|
||||||
devmode: "登錄檔編輯工具",
|
devmode: "開發人員模式",
|
||||||
},
|
},
|
||||||
|
|
||||||
mods: {
|
mods: {
|
||||||
general: {
|
general: {
|
||||||
language: "語言",
|
language: "語言",
|
||||||
|
backup: "備份",
|
||||||
|
restore: "從備份回復",
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
normal: "正常",
|
normal: "正常",
|
||||||
|
@ -54,6 +76,7 @@ module.exports = {
|
||||||
defaultpage: "預設頁",
|
defaultpage: "預設頁",
|
||||||
},
|
},
|
||||||
updates: {
|
updates: {
|
||||||
|
updating: "下載更新中",
|
||||||
checking: "檢查更新中",
|
checking: "檢查更新中",
|
||||||
available: "有更新可用",
|
available: "有更新可用",
|
||||||
noupdate: "沒有更新可用",
|
noupdate: "沒有更新可用",
|
||||||
|
@ -62,7 +85,12 @@ module.exports = {
|
||||||
installed: "目前版本",
|
installed: "目前版本",
|
||||||
latest: "最新版本",
|
latest: "最新版本",
|
||||||
|
|
||||||
|
published: "發佈日期",
|
||||||
|
users: "用家數目",
|
||||||
|
size: "更新大小",
|
||||||
|
|
||||||
okay: "確定",
|
okay: "確定",
|
||||||
|
refresh: "重新整理",
|
||||||
update: "更新",
|
update: "更新",
|
||||||
later: "稍後",
|
later: "稍後",
|
||||||
},
|
},
|
||||||
|
@ -81,20 +109,34 @@ module.exports = {
|
||||||
github: "GitHub",
|
github: "GitHub",
|
||||||
discord: "Discord",
|
discord: "Discord",
|
||||||
},
|
},
|
||||||
|
developer: {
|
||||||
|
registryeditor: "登錄檔編輯工具",
|
||||||
|
registrywarning: "更改項目可能會令應用程式損毀!",
|
||||||
|
createentry: "加入項目",
|
||||||
|
createentryfull: "加入登錄檔項目",
|
||||||
|
cancel: "取消",
|
||||||
|
create: "加入",
|
||||||
|
key: "鍵",
|
||||||
|
value: "值項",
|
||||||
|
confirmdelete: "確定刪除",
|
||||||
|
areyousure: "您確定要刪除",
|
||||||
|
delete: "刪除",
|
||||||
|
change: "更改",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
events: {
|
events: {
|
||||||
welcome: "歡迎使用 VueTube",
|
welcome: "歡迎使用 VueTube",
|
||||||
tagline: "影音串流的未來",
|
tagline: "影音串流的未來",
|
||||||
next: "下一步",
|
next: "下一步",
|
||||||
updated: "VueTube 已更新!",
|
updated: "VueTube 已更新",
|
||||||
awesome: "真棒!",
|
awesome: "真棒!",
|
||||||
langsetup: "來選擇一種語言吧!",
|
langsetup: "來選擇一種語言吧!",
|
||||||
featuresetup: "來揀選一些功能吧!",
|
featuresetup: "來揀選一些功能吧!",
|
||||||
enableryd: "啟用 Return YouTube Dislike",
|
enableryd: "啟用 Return YouTube Dislike",
|
||||||
enablespb: "啟用 SponsorBlock",
|
enablespb: "啟用 SponsorBlock",
|
||||||
thanks: "謝謝使用 VueTube",
|
thanks: "謝謝使用 VueTube",
|
||||||
enjoy: "祝你有一個愉快的體驗",
|
enjoy: "祝您有一個愉快的體驗",
|
||||||
packageinstaller: "選擇要下載的套件"
|
packageinstaller: "選擇要下載的套件",
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,6 +12,25 @@ module.exports = {
|
||||||
okay: "Okay",
|
okay: "Okay",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
pages: {
|
||||||
|
index: "",
|
||||||
|
home: "Home",
|
||||||
|
library: "Library",
|
||||||
|
search: "Search",
|
||||||
|
settings: "Settings",
|
||||||
|
subscriptions: "Subscriptions",
|
||||||
|
watch: "Watch",
|
||||||
|
about: "About",
|
||||||
|
developer: "Developer",
|
||||||
|
general: "General",
|
||||||
|
player: "Player",
|
||||||
|
plugins: "Plugins",
|
||||||
|
startup: "Startup",
|
||||||
|
theme: "Theme",
|
||||||
|
tweaks: "Tweaks",
|
||||||
|
updates: "Updates"
|
||||||
|
},
|
||||||
|
|
||||||
index: {
|
index: {
|
||||||
connecting: "Connecting",
|
connecting: "Connecting",
|
||||||
plugins: "Loading Plugins",
|
plugins: "Loading Plugins",
|
||||||
|
@ -34,6 +53,8 @@ module.exports = {
|
||||||
mods: {
|
mods: {
|
||||||
general: {
|
general: {
|
||||||
language: "Language",
|
language: "Language",
|
||||||
|
backup: "Backup",
|
||||||
|
restore: "Restore"
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
normal: "Normal",
|
normal: "Normal",
|
||||||
|
|
|
@ -7,7 +7,28 @@ module.exports = {
|
||||||
library: "라이브러리",
|
library: "라이브러리",
|
||||||
restart: "재시작",
|
restart: "재시작",
|
||||||
later: "나중에",
|
later: "나중에",
|
||||||
settingRestart: "이 설정을 수정하려면 애플리케이션을 다시 시작해야 변경 사항이 적용됩니다."
|
settingRestart:
|
||||||
|
"이 설정을 수정하려면 애플리케이션을 다시 시작해야 변경 사항이 적용됩니다.",
|
||||||
|
okay: "확인",
|
||||||
|
},
|
||||||
|
|
||||||
|
pages: {
|
||||||
|
index: "",
|
||||||
|
home: "홈",
|
||||||
|
library: "라이브러리",
|
||||||
|
search: "검색",
|
||||||
|
settings: "설정",
|
||||||
|
subscriptions: "구독",
|
||||||
|
watch: "시청",
|
||||||
|
about: "정보",
|
||||||
|
developer: "개발자 모드",
|
||||||
|
general: "일반",
|
||||||
|
player: "플레이어",
|
||||||
|
plugins: "플러그인",
|
||||||
|
startup: "시작 옵션",
|
||||||
|
theme: "테마",
|
||||||
|
tweaks: "UI 트윅",
|
||||||
|
updates: "업데이트",
|
||||||
},
|
},
|
||||||
|
|
||||||
index: {
|
index: {
|
||||||
|
@ -32,6 +53,8 @@ module.exports = {
|
||||||
mods: {
|
mods: {
|
||||||
general: {
|
general: {
|
||||||
language: "언어",
|
language: "언어",
|
||||||
|
backup: "백업",
|
||||||
|
restore: "복원",
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
normal: "기본",
|
normal: "기본",
|
||||||
|
@ -58,7 +81,8 @@ module.exports = {
|
||||||
checking: "업데이트 확인 중",
|
checking: "업데이트 확인 중",
|
||||||
available: "사용 가능한 업데이트가 있습니다",
|
available: "사용 가능한 업데이트가 있습니다",
|
||||||
noupdate: "사용 가능한 업데이트가 없습니다",
|
noupdate: "사용 가능한 업데이트가 없습니다",
|
||||||
noupdatemessage: "VueTube의 최신 버전을 사용하고 있습니다. 나중에 다시 확인해주세요.",
|
noupdatemessage:
|
||||||
|
"VueTube의 최신 버전을 사용하고 있습니다. 나중에 다시 확인해주세요.",
|
||||||
|
|
||||||
installed: "설치된 버전",
|
installed: "설치된 버전",
|
||||||
latest: "최신 버전",
|
latest: "최신 버전",
|
||||||
|
@ -87,6 +111,20 @@ module.exports = {
|
||||||
github: "GitHub",
|
github: "GitHub",
|
||||||
discord: "Discord",
|
discord: "Discord",
|
||||||
},
|
},
|
||||||
|
developer: {
|
||||||
|
registryeditor: "레지스트리 편집기",
|
||||||
|
registrywarning: "엔트리 변경 시 애플리케이션이 정상적으로 작동하지 않을 수 있습니다!",
|
||||||
|
createentry: "엔트리 생성",
|
||||||
|
createentryfull: "레지스트리 엔트리 생성",
|
||||||
|
cancel: "취소",
|
||||||
|
create: "생성",
|
||||||
|
key: "키",
|
||||||
|
value: "값",
|
||||||
|
confirmdelete: "삭제 확인",
|
||||||
|
areyousure: "정말로 삭제하시겠습니까?",
|
||||||
|
delete: "삭제",
|
||||||
|
change: "변경",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
events: {
|
events: {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@capacitor-community/http": "^1.4.1",
|
"@capacitor-community/http": "^1.4.1",
|
||||||
"@capacitor/android": "^3.4.0",
|
"@capacitor/android": "^3.7.0",
|
||||||
"@capacitor/app": "^1.1.1",
|
"@capacitor/app": "^1.1.1",
|
||||||
"@capacitor/cli": "^3.4.0",
|
"@capacitor/cli": "^3.7.0",
|
||||||
"@capacitor/core": "^3.4.0",
|
"@capacitor/core": "^3.7.0",
|
||||||
"@capacitor/device": "^1.1.2",
|
"@capacitor/device": "^1.1.2",
|
||||||
"@capacitor/filesystem": "^1.1.0",
|
"@capacitor/filesystem": "^1.1.0",
|
||||||
"@capacitor/haptics": "^1.1.4",
|
"@capacitor/haptics": "^1.1.4",
|
||||||
|
|
|
@ -277,5 +277,5 @@ Other VueTube repos
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<sub>VueTube, making people happy and inspiring their hearts since 2022.</sub>
|
<img src="resources/bottom_banner_readme.png" width="800">
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -4,14 +4,14 @@
|
||||||
</a>
|
</a>
|
||||||
</br>
|
</br>
|
||||||
<details>
|
<details>
|
||||||
<summary>Mostrar créditos del Readme</summary>
|
<summary>Mostrar créditos de la documentación</summary>
|
||||||
|
|
||||||
<sub>Logo por <a href="https://github.com/afnzmn">@afnzmn</a>, traducción por <a href="https://github.com/gayolgate">@gayolgate</a></sub></br>
|
<sub>Logo por <a href="https://github.com/afnzmn">@afnzmn</a>, traducción por <a href="https://github.com/gayolgate">@gayolgate</a></sub></br>
|
||||||
<sub>Contribuidores del Readme en Inglés: <a href="https://github.com/404-Program-not-found">@404-Program-not-found</a>, <a href="https://github.com/Frontesque">@Frontesque</a>, <a href="https://github.com/gayolGate">@gayolGate</a>, <a href="https://github.com/ThatOneCalculator">@ThatOneCalculator</a>, <a href="https://github.com/afnzmn">@afnzmn</a>, <a href="https://github.com/tired6488">@tired6488</a>, <a href="https://github.com/DARKDRAGON532">@DARKDRAGON532</a>, <a href="https://github.com/PickleNik">@PickleNik</a> y <a href="https://github.com/Zyborg777">@Zyborg777</a></sub>
|
<sub>Contribuidores del Readme en Inglés: <a href="https://github.com/404-Program-not-found">@404-Program-not-found</a>, <a href="https://github.com/Frontesque">@Frontesque</a>, <a href="https://github.com/gayolGate">@gayolGate</a>, <a href="https://github.com/ThatOneCalculator">@ThatOneCalculator</a>, <a href="https://github.com/afnzmn">@afnzmn</a>, <a href="https://github.com/tired6488">@tired6488</a>, <a href="https://github.com/DARKDRAGON532">@DARKDRAGON532</a>, <a href="https://github.com/PickleNik">@PickleNik</a> y <a href="https://github.com/Zyborg777">@Zyborg777</a></sub>
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<strong>Un cliente sencillo de streaming de vídeo FOSS diseñado para recrear TODAS las características de sus respectivas aplicaciones (y más) </strong>
|
<strong>Un cliente sencillo y abierto de streaming de vídeo diseñado para recrear TODAS las características de sus respectivas aplicaciones (y más) </strong>
|
||||||
</br>
|
</br>
|
||||||
Se pronuncia Viu Tuf (<code>/ˈvjuːˌtjuːb/</code>)
|
Se pronuncia Viu Tuf (<code>/ˈvjuːˌtjuːb/</code>)
|
||||||
</p>
|
</p>
|
||||||
|
@ -27,52 +27,89 @@ Se pronuncia Viu Tuf (<code>/ˈvjuːˌtjuːb/</code>)
|
||||||
|
|
||||||
**Leer en otros idiomas:** [English,](/readme.md) [Español,](readme.es.md) [简体中文,](readme.zh-hans.md) [繁體中文,](readme.zh-hant.md) [日本語,](readme.ja.md) [עִברִית,](readme.he.md) [Nederlands,](readme.nl.md) [தமிழ்,](readme.ta.md) [Bahasa Melayu,](readme.ms.md) [Македонски,](readme.mk.md) [Français,](readme.fr.md) [Português Brasileiro,](readme.pt-br.md) [Bahasa Indonesia,](readme.id.md) [Polski,](readme.pl.md) [Български,](readme.bg.md) [Italiano,](readme.it.md) [Magyar,](readme.hu.md) [한국어,](readme.kr.md) [Tiếng Việt,](readme.vi.md) [Română](readme.ro.md)
|
**Leer en otros idiomas:** [English,](/readme.md) [Español,](readme.es.md) [简体中文,](readme.zh-hans.md) [繁體中文,](readme.zh-hant.md) [日本語,](readme.ja.md) [עִברִית,](readme.he.md) [Nederlands,](readme.nl.md) [தமிழ்,](readme.ta.md) [Bahasa Melayu,](readme.ms.md) [Македонски,](readme.mk.md) [Français,](readme.fr.md) [Português Brasileiro,](readme.pt-br.md) [Bahasa Indonesia,](readme.id.md) [Polski,](readme.pl.md) [Български,](readme.bg.md) [Italiano,](readme.it.md) [Magyar,](readme.hu.md) [한국어,](readme.kr.md) [Tiếng Việt,](readme.vi.md) [Română](readme.ro.md)
|
||||||
|
|
||||||
## Características
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_features.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Características
|
||||||
|
</h2>
|
||||||
|
|
||||||
<img src="../resources/readme-es/Features.es.svg" alt="VueTube icon" height="100"/>
|
<img src="../resources/readme-es/Features.es.svg" alt="VueTube icon" height="100"/>
|
||||||
|
|
||||||
- 🎨 **Temas:** Claro, Oscuro, OLED y todos los colores del arcoíris
|
- 🎨 **Temas:** ¡Claro, oscuro, OLED y todos los colores del arcoíris! Elige el color de acento y de fondo según tus preferencias.
|
||||||
- 🖌️ **Interfaz personalizable:** Puedes personalizar completamente el color principal, y otras partes de la interfaz para eliminar características que no usas.
|
- 🖌️ **Interfaz personalizable:** Personaliza los botones, las esquinas y desactiva partes de la interfaz que no usas para una experiencia óptima.
|
||||||
- ⬆️ **Actualizaciones automáticas:** Recibe una notificación cuando haya una actualización disponible y baja de versión si no te gusta.
|
- ⬆️ **Actualizaciones automáticas:** ¡Recibe una notificación cuando haya una actualización disponible, descárgala desde la app y baja de versión si no te gusta!
|
||||||
- 👁️ **Protección contra el rastreo:** No se envían datos desde tu dispositivo por defecto. ¡La privacidad es necesaria!
|
- 👁️ **Protección contra el rastreo:** No se envían datos desde tu dispositivo por defecto. y no usamos APIs externas. ¡La privacidad es necesaria!
|
||||||
- 📺 **Reproductor de vídeo personalizado:** Un reproductor integrado en la aplicación con todo lo que necesitas para ser feliz, cómo velocidad 16x.
|
- 📺 **Reproductor de vídeo personalizado:** Hay un reproductor integrado en la aplicación con todo lo que necesitas para ser feliz, cómo velocidad 16x.
|
||||||
- 👎 **Return YouTube Dislike** - [_Más información_](https://returnyoutubedislike.com)
|
- 🌍 **Traducciones:** ¡La app está disponible en más de 25 idiomas! El idioma predeterminado se determina según los ajustes de tu dispositivo.
|
||||||
- 💰 **SponsorBlock** - [_Más información_](https://sponsor.ajay.app)
|
- 👎 **Return YouTube Dislike** - Activa de nuevo los contadores de dislikes. [_Más información_](https://returnyoutubedislike.com)
|
||||||
|
- 💰 **SponsorBlock** - Salta automáticamente patrocinadores y segmentos molestos en vídeos. [_Más información_](https://sponsor.ajay.app)
|
||||||
|
|
||||||
## Instalar
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_install.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Instalar
|
||||||
|
</h2>
|
||||||
|
|
||||||
<img src="../resources/readme-es/Install.es.svg" alt="VueTube icon" height="100"/>
|
<img src="../resources/readme-es/Install.es.svg" alt="VueTube icon" height="100"/>
|
||||||
|
|
||||||
Para instalar, por favor, visita www.vuetube.app/install
|
Para instalar, por favor, visita www.vuetube.app/install o mira todas las versiones disponibles:
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>O haz clic aquí para mostrar todas las versiones disponibles</summary>
|
<summary>🖱️ Haz clic para mostrar las versiones </summary>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
### Android
|
||||||
|
|
||||||
| <a href=https://nightly.link/VueTubeApp/VueTube/workflows/ci/main/android.zip><img id="im" width="200" src=../resources/getunstable.png></a> | <a href=https://github.com/VueTubeApp/VueTube/releases/download/0.2/VueTube-Canary-June-15-2022.apk><img id="im" width="200" src=../resources/getcanary.png></a> | <a href=https://vuetube.app/install><img id="im" width="200" src=../resources/getstable.png></a> |
|
| <a href=https://nightly.link/VueTubeApp/VueTube/workflows/ci/main/android.zip><img id="im" width="200" src=../resources/getunstable.png></a> | <a href=https://github.com/VueTubeApp/VueTube/releases/download/0.2/VueTube-Canary-June-15-2022.apk><img id="im" width="200" src=../resources/getcanary.png></a> | <a href=https://vuetube.app/install><img id="im" width="200" src=../resources/getstable.png></a> |
|
||||||
| ------------- | ------------- | ------------- |
|
| ------------- | ------------- | ------------- |
|
||||||
| Un montón de bugs, pero acceso anticipado a funciones | Menos bugs que la inestable, aún así más funciones que la estable | No disponible hasta que la app este más desarrollada |
|
| Un montón de bugs, pero acceso anticipado a funciones | Menos bugs que la inestable, aún así más funciones que la estable | No disponible hasta que la app este más desarrollada |
|
||||||
|
|
||||||
|
### iOS
|
||||||
|
|
||||||
|
| <a href=https://nightly.link/VueTubeApp/VueTube/workflows/ci/main/iOS.zip><img id="im" width="200" src=../resources/getunstable.png></a> | <a href=https://cdn.discordapp.com/attachments/949908267855921163/972164558930198528/VueTube-Canary-May-6-2022.ipa><img id="im" width="200" src=../resources/getcanary.png></a> | <a href=https://vuetube.app/install><img id="im" width="200" src=../resources/getstable.png></a> |
|
||||||
|
| ------------- | ------------- | ------------- |
|
||||||
|
| Un montón de bugs, pero acceso anticipado a funciones | Menos bugs que la inestable, aún así más funciones que la estable | No disponible hasta que la app este más desarrollada |
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## Planes
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_plans.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Planes
|
||||||
|
</h2>
|
||||||
|
|
||||||
<img src="../resources/readme-es/Plans.es.svg" alt="VueTube icon" height="100"/>
|
<img src="../resources/readme-es/Plans.es.svg" alt="VueTube icon" height="100"/>
|
||||||
|
|
||||||
- **🔍 Búsqueda avanzada:** Ordena los resultados por fecha, duración, likes o cualquier otro factor.
|
- **🔍 Búsqueda avanzada:** Ordena los resultados por fecha, duración, likes o cualquier otro factor.
|
||||||
- **🗞️ Historial de búsqueda local:** Obtén tus últimos vídeos vistos sin iniciar sesión.
|
- **🗞️ Historial de búsqueda local:** Obtén tus últimos vídeos vistos sin iniciar sesión.
|
||||||
- ✂️ **Shorts (Cortos):** Videos cortos que duran entre 15 y 60 segundos.
|
- ✂️ **Shorts (Cortos):** Videos cortos verticales que duran entre 15 y 60 segundos.
|
||||||
- 🧑 **Inicio de sesión con tu cuenta de Google:** Inicia sesión para tener una experiencia completa votando y comentando vídeos y suscribiendote a canales.
|
- 🧑 **Inicio de sesión con tu cuenta de Google:** Inicia sesión para tener una experiencia completa votando y comentando vídeos y suscribiendote a canales.
|
||||||
- 🖼️ **Modo Imagen en imagen:** Te permite ver vídeos en una ventana flotante mientras usas otra aplicación.
|
- 🖼️ **Modo Imagen en imagen:** Te permite ver vídeos en una ventana flotante mientras usas otra aplicación.
|
||||||
- 🧩 **Complementos:** ¡Instala complementos de terceros hechos por la comunidad con funciones útiles!
|
- 🧩 **Complementos:** ¡Instala complementos de terceros hechos por la comunidad con funciones útiles!
|
||||||
- ¡y más!
|
- ¡y más!
|
||||||
|
|
||||||
## Capturas de pantalla
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_screenshots.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Capturas de pantalla
|
||||||
|
</h2>
|
||||||
|
|
||||||
Echalas un vistazo en nuestro sitio web: www.vuetube.app/info/screenshots
|
[Echalas un vistazo en nuestro sitio web](www.vuetube.app/info/screenshots) o haz clic abajo para mostrarlas.
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary> O haz clic aquí para mostrar las capturas </summary>
|
<summary>🖱️ Haz clic para mostrar las capturas </summary>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<img src="https://vuetube.app/wtch.png" width="400">
|
<img src="https://vuetube.app/wtch.png" width="400">
|
||||||
|
@ -81,10 +118,32 @@ Echalas un vistazo en nuestro sitio web: www.vuetube.app/info/screenshots
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## Progreso
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_community.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Comunidad
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
Usamos diferentes plataformas para comunicarnos con nuestra comunidad. Puedes participar activamente en el desarrollo de VueTube o simplemente mantenerte al día de las novedades uniéndote a estos grupos (de habla inglesa):
|
||||||
|
|
||||||
|
- Servidor de Discord (https://vuetube.app/discord)
|
||||||
|
- Grupo de Telegram (https://t.me/vuetube)
|
||||||
|
- Página de Reddit (https://www.reddit.com/r/vuetube)
|
||||||
|
|
||||||
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_progress.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Progreso
|
||||||
|
</h2>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary> Haz clic aquí para mostrar el progreso </summary>
|
<summary>🖱️ Haz clic aquí para mostrar el progreso </summary>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
@ -118,43 +177,104 @@ Echalas un vistazo en nuestro sitio web: www.vuetube.app/info/screenshots
|
||||||
|
|
||||||
<a href="https://capacitorjs.com/solution/vue"><img src="https://cdn.discordapp.com/attachments/953538236716814356/955694368742834176/Capacitator-Dark.svg" height=40/></a> <a href="https://vuetifyjs.com/"><img src="https://cdn.discordapp.com/attachments/810799100940255260/973719873467342908/Vuetify-Dark.svg" height=40/></a> <a href="https://nuxtjs.org/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/NuxtJS-Dark.svg" height=40/></a> <a href="https://vuejs.org/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/VueJS-Dark.svg" height=40/></a> <a href="https://javascript.com/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/JavaScript.svg" height=40/></a> <a href="https://java.com/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/Java-Dark.svg" height=40/></a> <a href="https://gradle.com/"><img src="https://cdn.discordapp.com/attachments/810799100940255260/955691550560636958/Gradle.svg" height=40/></a> <a href="https://developer.apple.com/swift/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/Swift.svg" height=40/></a>
|
<a href="https://capacitorjs.com/solution/vue"><img src="https://cdn.discordapp.com/attachments/953538236716814356/955694368742834176/Capacitator-Dark.svg" height=40/></a> <a href="https://vuetifyjs.com/"><img src="https://cdn.discordapp.com/attachments/810799100940255260/973719873467342908/Vuetify-Dark.svg" height=40/></a> <a href="https://nuxtjs.org/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/NuxtJS-Dark.svg" height=40/></a> <a href="https://vuejs.org/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/VueJS-Dark.svg" height=40/></a> <a href="https://javascript.com/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/JavaScript.svg" height=40/></a> <a href="https://java.com/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/Java-Dark.svg" height=40/></a> <a href="https://gradle.com/"><img src="https://cdn.discordapp.com/attachments/810799100940255260/955691550560636958/Gradle.svg" height=40/></a> <a href="https://developer.apple.com/swift/"><img src="https://github.com/tandpfun/skill-icons/raw/main/icons/Swift.svg" height=40/></a>
|
||||||
|
|
||||||
### ¿Porque estoy haciendo esto?
|
### ¿Porque estamos haciendo esto?
|
||||||
|
|
||||||
Bueno, esto ha estado en el servidor de Discord de Return YouTube Dislike durante bastante tiempo, ¡así que pensé que probablemente debería lanzarlo!
|
VueTube fue creado con la intención de darle al mundo una alternativa gratuita, abierta y completa a las grandes tecnólogicas, con muchas opciones de personalización e inicio de sesión disponible. El proyecto fue creciendo, atrayendo a miles de usuarios y ayudantes alreredor del mundo. Puedes unirte a nosotros y contribuir de la forma que más se adapte a ti...
|
||||||
|
|
||||||
### ¿Quieres contribuir?
|
### ¿Quieres contribuir?
|
||||||
|
|
||||||
Por favor, lee en nuestro sitio web cómo hacerlo: www.vuetube.app/contributing
|
¡Gracias por estar interesado en contribuir! Por favor, lee en nuestro sitio web cómo hacerlo: www.vuetube.app/contributing
|
||||||
|
|
||||||
Si quieres traducir la app, [haz clic aquí](/NUXT/plugins/languages) y lee cómo hacerlo
|
Si quieres traducir la app, [haz clic aquí](/NUXT/plugins/languages) y lee las instrucciones. Si GitHub es incómodo o díficil para ti, puedes mandarnos los campos traducidos en un archivo de texto en nuestro [Discord](https://vuetube.app/discord) y nosotros los implementaremos. ¡No te preocupes!
|
||||||
|
|
||||||
## Colaboradores
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_github.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Colaboradores de GitHub
|
||||||
|
</h2>
|
||||||
|
|
||||||
<a href="https://github.com/VueTubeApp/VueTube/graphs/contributors">
|
<a href="https://github.com/VueTubeApp/VueTube/graphs/contributors">
|
||||||
<img src="https://contrib.rocks/image?repo=VueTubeApp/VueTube" />
|
<img src="https://contrib.rocks/image?repo=VueTubeApp/VueTube" />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<sub>Hecho con [contrib.rocks](https://contrib.rocks). </sub>
|
<sub>Panel hecho automáticamente con [contrib.rocks](https://contrib.rocks). </sub>
|
||||||
|
|
||||||
## Agradecimientos
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_acknowledgements.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Agradecimientos
|
||||||
|
</h2>
|
||||||
|
|
||||||
- Emojis por el [equipo de Twemoji](https://twemoji.twitter.com/), Con licencia [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
|
- Emojis por el [equipo de Twemoji](https://twemoji.twitter.com/), Con licencia [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
|
||||||
- Logo de VueTube por [@afnzmn](https://github.com/afnzmn)
|
- Logo de VueTube por [@afnzmn](https://github.com/afnzmn)
|
||||||
- Estadísticas públicas de dislikes proporcionadas por [Return YouTube Dislike](https://returnyoutubedislike.com)
|
- Estadísticas públicas de dislikes proporcionadas por [Return YouTube Dislike](https://returnyoutubedislike.com)
|
||||||
- Ajay y su comunidad por proporcionarnos la [API de Sponsorblock](https://sponsor.ajay.app), Licenciada bajo [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
|
- Ajay y su comunidad por proporcionarnos la [API de Sponsorblock](https://sponsor.ajay.app), Licenciada bajo [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
|
||||||
|
|
||||||
## Donar
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_donate.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Donar
|
||||||
|
</h2>
|
||||||
|
|
||||||
VueTube es y siempre será gratuito y de código abierto, pero puedes apoyar a nuestros desarrolladores con una donación que servirá para mantener el proyecto.
|
VueTube es y siempre será gratuito y de código abierto, pero puedes apoyar a nuestros desarrolladores con una donación que servirá para mantener el proyecto y desarrollar nuevas funciones. ¡Cualquier ayuda es bien recibida! Estas son las opciones de donación disponibles:
|
||||||
|
|
||||||
[Donar en Ko-Fi.com](https://ko-fi.com/vuetube) (Oficial)
|
[Donar en Ko-Fi.com](https://ko-fi.com/vuetube) (Oficial)
|
||||||
|
|
||||||
[Donar a PickleNik en GitHub](https://github.com/sponsors/PickleNik) (Mantenedor)
|
[Donar a PickleNik en GitHub](https://github.com/sponsors/PickleNik) (Encargado de mantenimiento)
|
||||||
|
|
||||||
## Aviso legal
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_disclaimer.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Aviso legal
|
||||||
|
</h2>
|
||||||
|
|
||||||
El proyecto VueTube y sus contenidos no están afiliados, financiados, autorizados, respaldados o asociados de ninguna manera con YouTube, Google LLC o cualquiera de sus filiales y subsidiarias. El sitio web oficial de YouTube se encuentra en [www.youtube.com](https://www.youtube.com).
|
El proyecto VueTube y sus contenidos no están afiliados, financiados, autorizados, respaldados o asociados de ninguna manera con YouTube, Google LLC o cualquiera de sus filiales y subsidiarias. El sitio web oficial de YouTube se encuentra en [www.youtube.com](https://www.youtube.com).
|
||||||
|
|
||||||
Cualquier marca comercial, de servicio, nombre comercial u otros derechos de propiedad intelectual utilizados en el proyecto VueTube son propiedad de sus respectivos dueños.
|
Cualquier marca comercial, de servicio, nombre comercial u otros derechos de propiedad intelectual utilizados en el proyecto VueTube son propiedad de sus respectivos dueños.
|
||||||
|
|
||||||
En caso de conflicto entre las traducciones del aviso legal, tiene preferencia la versión en inglés.
|
En caso de conflicto entre las traducciones del aviso legal, tiene preferencia la versión en inglés.
|
||||||
|
|
||||||
|
<h2 align="left">
|
||||||
|
<sub>
|
||||||
|
<img src="/resources/readme_icon_otherrepos.png"
|
||||||
|
height="30"
|
||||||
|
width="30">
|
||||||
|
</sub>
|
||||||
|
Otros repositorios de VueTube
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary> 🖱️ Haz clic para mostrar los repositorios </summary>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
[![VueTube Extractor](https://github-readme-stats.vercel.app/api/pin/?username=VueTubeApp&repo=VueTube-Extractor)](https://github.com/VueTubeApp/VueTube-Extractor)
|
||||||
|
|
||||||
|
**VueTube Extractor** es una librería para extraer datos de servicios de streaming, diseñada para ser usada en VueTube.
|
||||||
|
|
||||||
|
[![VueTube Translator](https://github-readme-stats.vercel.app/api/pin/?username=VueTubeApp&repo=VueTube-Translator)](https://github.com/VueTubeApp/VueTube-Translator)
|
||||||
|
|
||||||
|
**VueTube Translator** es una herramienta para traducir campos de archivos de GitHub como JSON o JS y exportar el resultado con la estructura correcta. Fue creado para ayudar a la comunidad de traductores de VueTube pero puede ser usado para cualquier otro propósito.
|
||||||
|
|
||||||
|
[![VueTube HTTP](https://github-readme-stats.vercel.app/api/pin/?username=VueTubeApp&repo=vuetube-http)](https://github.com/VueTubeApp/vuetube-http)
|
||||||
|
|
||||||
|
**VueTube HTTP** es un plugin para peticiones nativas de HTTP, descargas y subidas de archivos y la administración de cookies. Es una reinvención del [proyecto original de HTTP](https://github.com/capacitor-community/http) de Capacitor Community, con adiciones por el equipo de VueTube.
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<sub>VueTube, haciendo a la gente feliz e iluminando sus corazones desde 2022.</sub>
|
||||||
|
</p>
|
||||||
|
|
BIN
resources/bottom_banner_readme.png
Normal file
After Width: | Height: | Size: 243 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 4 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 5.5 KiB |