0
0
Fork 0
mirror of https://github.com/VueTubeApp/VueTube synced 2024-11-25 12:45:17 +00:00

Merge github.com-picklenik:Frontesque/VueTube

This commit is contained in:
Nikita Krupin 2022-06-24 00:32:46 -04:00
commit ac95bf38b2
81 changed files with 1526 additions and 1182 deletions

12
.deepsource.toml Normal file
View file

@ -0,0 +1,12 @@
version = 1
[[analyzers]]
name = "javascript"
enabled = true
[analyzers.meta]
plugins = ["vue"]
[[transformers]]
name = "prettier"
enabled = true

2
.github/FUNDING.yml vendored Normal file
View file

@ -0,0 +1,2 @@
ko_fi: vuetube
github: [frontesque, picklenik, 404-Program-not-found]

View file

@ -1,4 +1,4 @@
blank_issues_enabled: false
blank_issues_enabled: false
contact_links:
- name: 💬 Discord
url: https://vuetube.app/discord
@ -6,3 +6,6 @@ contact_links:
- name: 💬 Telegram
url: https://t.me/vuetube
about: Join the Telegram group to chat and ask questions
- name: 💬 VueTube website
url: https://vuetube.app/
about: For example, to check FAQ before asking frecuently asked questions (wait... then they won't be frequently asked questions?)

View file

@ -21,11 +21,13 @@ $ npm run lint
For detailed explanation on how things work, check out the [documentation](https://nuxtjs.org).
## Recommended VSCode Setup for Auto-Formatting
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) `ext install dbaeumer.vscode-eslint`
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) `ext install esbenp.prettier-vscode`
- [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur)
>`Ctrl(Cmd)` + `Shift` + `P` > Open Settings (JSON)
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) `ext install dbaeumer.vscode-eslint`
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) `ext install esbenp.prettier-vscode`
- [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur)
> `Ctrl(Cmd)` + `Shift` + `P` > Open Settings (JSON)
```json
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
@ -56,7 +58,6 @@ Layouts are a great help when you want to change the look and feel of your Nuxt
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/layouts).
### `pages`
This directory contains your application views and routes. Nuxt will read all the `*.vue` files inside this directory and setup Vue Router automatically.

View file

@ -1,43 +1,78 @@
<template>
<v-select v-model="selectedLang" background-color="background" :items="langs" label="App Language" solo></v-select>
<div>
<v-select
v-model="selectedLang"
background-color="background"
:items="langs"
label="App Language"
solo
/>
<v-dialog v-model="restart" width="500">
<v-card class="rounded-lg" :class=" $vuetify.theme.dark ? 'background lighten-1' : 'background darken-1' " >
<v-card-title class="text-h5">{{ lang.global.restart }}</v-card-title>
<v-card-text>{{ lang.global.settingRestart }}</v-card-text>
<v-divider />
<v-card-actions>
<v-spacer></v-spacer>
<v-btn text @click="restart = false">{{ lang.global.later }}</v-btn>
<v-btn color="primary" text @click="restartApp()">{{ lang.global.restart }}</v-btn>
</v-card-actions>
</v-card>
</v-dialog>
</div>
</template>
<script>
export default {
export default {
data() {
return {
langs: [],
lang: { global: {}, mods: { general: { language: "" } } },
selectedLang: null,
restart: false,
data() {
return {
langs: [],
lang: { mods: { general: { language: "" } } },
selectedLang: null
};
},
//--- Required To Prvent Initial Popup ---//
userChanged: false
};
},
watch: {
//--- Update Stored Language Value ---//
selectedLang: function (newVal) {
const langs = this.$lang(null, true);
let lang = new String();
for (const i in langs) {
if (langs[i].name == newVal) {
lang = i;
console.log(lang)
}
}
localStorage.setItem("language", lang);
},
//--- End Update Stored Language Value ---//
},
watch: {
//--- Update Stored Language Value ---//
selectedLang: function (newVal) {
mounted() {
const lang = this.$lang(); this.lang = lang.mods.general;
//--- Required To Prvent Initial Popup ---//
if (this.userChanged == false) return this.userChanged = true;
//--- Change Lang Stuff ---//
const langs = this.$lang(null, true);
let lang = String();
for (const i in langs) {
this.langs.push(langs[i].name);
if (langs[i].name == newVal) {
lang = i;
this.lang = langs[i];
}
}
localStorage.setItem("language", lang);
this.restart = true;
},
//--- End Update Stored Language Value ---//
},
this.selectedLang = this.$lang().name;
mounted() {
this.lang = this.$lang();
const langs = this.$lang(null, true);
for (const i in langs) {
this.langs.push(langs[i].name);
}
};
this.selectedLang = this.$lang().name;
},
methods: {
restartApp() {
this.$router.replace("/");
}
}
};
</script>

View file

@ -43,7 +43,6 @@
</template>
<script>
import { Browser } from "@capacitor/browser";
export default {
props: {
textRuns: {
@ -52,8 +51,8 @@ export default {
},
},
methods: {
async openExternal(url) {
await Browser.open({ url: url });
openExternal(url) {
this.$vuetube.openExternal(url);
},
async openInternal(url) {
await this.$router.push(url);

View file

@ -37,7 +37,10 @@
right: 0;
width: 50%;
height: 100%;
background: linear-gradient(var(--v-background-base) -1000%, #00000000 1000%);
background: linear-gradient(
var(--v-background-base) -1000%,
#00000000 1000%
);
"
>
<div>420</div>

View file

@ -37,9 +37,10 @@ export default {
},
async mounted() {
const commits = await this.$vuetube.commits;
const releases = await this.$vuetube.releases;
const appVersion = process.env.appVersion;
if (appVersion !== commits[0].sha && appVersion !== "dev-local") {
const appChannel = process.env.release;
if (appVersion !== releases[0].tag_name && appVersion !== "dev-local" && appChannel !== "Unstable") {
this.updateSnackbar = true;
}
},

View file

@ -8,6 +8,7 @@
export default {
//--- VueTube Stuff ---//
env: {
release: "Unstable",
appVersion: "dev-local",
},
@ -65,11 +66,11 @@ export default {
},
themes: {
light: {
primary: "#E57373",
primary: "#016a49",
background: "#ffffff",
},
dark: {
primary: "#B71C1C",
primary: "#7CD6AF",
background: "#000000",
},
},

View file

@ -1,88 +1,91 @@
<template>
<div>
<div>
<center class="container" ref="stage0">
<v-img
src="/icon.svg"
width="10rem"
height="10rem"
:class="$vuetify.theme.dark ? '' : 'invert'"
/>
<h1>{{ lang.welcome }}</h1>
<p>{{ lang.tagline }}</p>
<v-img
src="/icon.svg"
width="10rem"
height="10rem"
:class="$vuetify.theme.dark ? '' : 'invert'"
/>
<h1>{{ lang.welcome }}</h1>
<p>{{ lang.tagline }}</p>
</center>
<center class="container hidden" ref="stage1">
<h1>{{ lang.langsetup }}</h1>
<language style="width: 80%;" />
<h1>{{ lang.langsetup }}</h1>
<language style="width: 80%" />
</center>
<center class="container hidden" ref="stage2">
<h1>{{ lang.featuresetup }}</h1>
<v-checkbox disabled v-model="ryd" :label="lang.enableryd" />
<v-checkbox disabled v-model="sponsorBlock" :label="lang.enablespb" />
<h1>{{ lang.featuresetup }}</h1>
<v-checkbox disabled v-model="ryd" :label="lang.enableryd" />
<v-checkbox disabled v-model="sponsorBlock" :label="lang.enablespb" />
</center>
<center class="container hidden" ref="stage3">
<h1>{{ lang.thanks }}</h1>
<h3>{{ lang.enjoy }}</h3>
<h1>{{ lang.thanks }}</h1>
<h3>{{ lang.enjoy }}</h3>
</center>
<v-btn @click="next()" class="rounded-xl primary nextButton">{{ lang.next }} <v-icon style="margin-left: 0.5em;">mdi-arrow-right</v-icon></v-btn>
</div>
<v-btn @click="next()" class="rounded-xl primary nextButton"
>{{ lang.next }}
<v-icon style="margin-left: 0.5em">mdi-arrow-right</v-icon></v-btn
>
</div>
</template>
<style scoped>
.nextButton {
position: absolute;
bottom: 1em;
right: 2em;
position: absolute;
bottom: 1em;
right: 2em;
}
.hidden {
display: none;
display: none;
}
.fullWidth {
width: 100%;
width: 100%;
}
.container {
width: 100%;
width: 100%;
}
</style>
<script>
import language from '~/components/Settings/language.vue';
export default {
layout: "empty",
components: {
language
},
data() {
return {
lang: {},
stage: 0,
import language from "~/components/Settings/language.vue";
export default {
layout: "empty",
components: {
language,
},
data() {
return {
lang: {},
stage: 0,
ryd: true,
sponsorBlock: true,
}
},
mounted() {
this.lang = this.$lang("events");
},
methods: {
next() {
this.$refs["stage"+this.stage].style.display = "none";
this.stage++;
ryd: true,
sponsorBlock: true,
};
},
mounted() {
this.lang = this.$lang("events");
},
methods: {
next() {
this.$refs["stage" + this.stage].style.display = "none";
this.stage++;
if (!this.$refs["stage"+this.stage]) {
localStorage.setItem("lastRunVersion", process.env.appVersion);
localStorage.setItem("firstTimeSetupComplete", true);
this.$router.replace('/');
}
if (!this.$refs["stage" + this.stage]) {
localStorage.setItem("lastRunVersion", process.env.appVersion);
localStorage.setItem("firstTimeSetupComplete", true);
this.$router.replace("/");
}
this.$refs["stage"+this.stage].style.display = "block";
}
}
}
this.$refs["stage" + this.stage].style.display = "block";
},
},
};
</script>

View file

@ -0,0 +1,77 @@
<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>

View file

@ -1,64 +1,71 @@
<template>
<div>
<div>
<center class="container">
<v-img
src="/icon.svg"
width="10rem"
height="10rem"
:class="$vuetify.theme.dark ? '' : 'invert'"
/>
<h1>{{ lang.updated }}</h1>
<p><span class="version">{{ oldVer }}</span> <v-icon>mdi-arrow-right</v-icon> <span class="version">{{ newVer }}</span></p>
<v-img
src="/icon.svg"
width="10rem"
height="10rem"
:class="$vuetify.theme.dark ? '' : 'invert'"
/>
<h1>{{ lang.updated }}</h1>
<p>
<span class="version">{{ oldVer }}</span>
<v-icon>mdi-arrow-right</v-icon>
<span class="version">{{ newVer }}</span>
</p>
</center>
<v-btn @click="okay()" class="rounded-xl primary nextButton">{{ lang.awesome }} <v-icon style="margin-left: 0.5em;">mdi-arrow-right</v-icon></v-btn>
</div>
<v-btn @click="okay()" class="rounded-xl primary nextButton"
>{{ lang.awesome }}
<v-icon style="margin-left: 0.5em">mdi-arrow-right</v-icon></v-btn
>
</div>
</template>
<style scoped>
.nextButton {
position: absolute;
bottom: 1em;
left: 50%;
transform: translate(-50%, 0);
position: absolute;
bottom: 1em;
left: 50%;
transform: translate(-50%, 0);
}
.container {
width: 100%;
width: 100%;
}
.version {
background: rgba(100,100,100,0.5);
border-radius: 3px;
padding: 3px;
background: rgba(100, 100, 100, 0.5);
border-radius: 3px;
padding: 3px;
}
</style>
<script>
import language from '~/components/Settings/language.vue';
export default {
layout: "empty",
components: {
language
},
data() {
return {
lang: {},
newVer: "...",
oldVer: "..."
}
},
mounted() {
this.lang = this.$lang("events");
import language from "~/components/Settings/language.vue";
export default {
layout: "empty",
components: {
language,
},
data() {
return {
lang: {},
newVer: "...",
oldVer: "...",
};
},
mounted() {
this.lang = this.$lang("events");
this.oldVer = localStorage.getItem("lastRunVersion").substring(0, 7);
this.newVer = process.env.appVersion.substring(0, 7);
this.oldVer = localStorage.getItem("lastRunVersion").substring(0, 7);
this.newVer = process.env.appVersion.substring(0, 7);
},
methods: {
okay() {
localStorage.setItem("lastRunVersion", process.env.appVersion);
this.$router.replace("/");
},
methods: {
okay() {
localStorage.setItem("lastRunVersion", process.env.appVersion);
this.$router.replace('/');
}
}
}
},
};
</script>

View file

@ -29,8 +29,7 @@ export default {
await this.theming();
//--- Update Screen ---//
if (localStorage.getItem("lastRunVersion") != process.env.appVersion)
return this.$router.replace("/activities/update");
if ( (localStorage.getItem("lastRunVersion") != null) && (localStorage.getItem("lastRunVersion") != process.env.appVersion) ) return this.$router.replace("/activities/update");
//--- Start Innertube Connection ---//
await this.$youtube.getAPI();

View file

@ -25,7 +25,7 @@
<v-card-title>{{ lang.appinformation }}</v-card-title>
<v-card-text>
<h3>{{ lang.appversion }}</h3>
{{ version.substring(0, 7) || "Unknown" }}
{{ version.substring(0, 7) || "Unknown" }} ({{ release }})
</v-card-text>
</v-card>
<!-- End App Information -->
@ -39,9 +39,7 @@
"
:style="{ borderRadius: `${roundTweak / 2}rem` }"
>
<v-card-title>{{
lang.deviceinformation
}}</v-card-title>
<v-card-title>{{ lang.deviceinformation }}</v-card-title>
<v-card-text>
<h3>{{ lang.platform }}</h3>
{{ deviceInfo.platform || "Unknown" }}<br />
@ -82,16 +80,7 @@
:style="{ borderRadius: `${roundTweak / 2}rem` }"
@click="openExternal('https://discord.gg/7P8KJrdd5W')"
>
<svg width="71" height="55" viewBox="0 0 71 55" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<path d="M60.1045 4.8978C55.5792 2.8214 50.7265 1.2916 45.6527 0.41542C45.5603 0.39851 45.468 0.440769 45.4204 0.525289C44.7963 1.6353 44.105 3.0834 43.6209 4.2216C38.1637 3.4046 32.7345 3.4046 27.3892 4.2216C26.905 3.0581 26.1886 1.6353 25.5617 0.525289C25.5141 0.443589 25.4218 0.40133 25.3294 0.41542C20.2584 1.2888 15.4057 2.8186 10.8776 4.8978C10.8384 4.9147 10.8048 4.9429 10.7825 4.9795C1.57795 18.7309 -0.943561 32.1443 0.293408 45.3914C0.299005 45.4562 0.335386 45.5182 0.385761 45.5576C6.45866 50.0174 12.3413 52.7249 18.1147 54.5195C18.2071 54.5477 18.305 54.5139 18.3638 54.4378C19.7295 52.5728 20.9469 50.6063 21.9907 48.5383C22.0523 48.4172 21.9935 48.2735 21.8676 48.2256C19.9366 47.4931 18.0979 46.6 16.3292 45.5858C16.1893 45.5041 16.1781 45.304 16.3068 45.2082C16.679 44.9293 17.0513 44.6391 17.4067 44.3461C17.471 44.2926 17.5606 44.2813 17.6362 44.3151C29.2558 49.6202 41.8354 49.6202 53.3179 44.3151C53.3935 44.2785 53.4831 44.2898 53.5502 44.3433C53.9057 44.6363 54.2779 44.9293 54.6529 45.2082C54.7816 45.304 54.7732 45.5041 54.6333 45.5858C52.8646 46.6197 51.0259 47.4931 49.0921 48.2228C48.9662 48.2707 48.9102 48.4172 48.9718 48.5383C50.038 50.6034 51.2554 52.5699 52.5959 54.435C52.6519 54.5139 52.7526 54.5477 52.845 54.5195C58.6464 52.7249 64.529 50.0174 70.6019 45.5576C70.6551 45.5182 70.6887 45.459 70.6943 45.3942C72.1747 30.0791 68.2147 16.7757 60.1968 4.9823C60.1772 4.9429 60.1437 4.9147 60.1045 4.8978ZM23.7259 37.3253C20.2276 37.3253 17.3451 34.1136 17.3451 30.1693C17.3451 26.225 20.1717 23.0133 23.7259 23.0133C27.308 23.0133 30.1626 26.2532 30.1066 30.1693C30.1066 34.1136 27.28 37.3253 23.7259 37.3253ZM47.3178 37.3253C43.8196 37.3253 40.9371 34.1136 40.9371 30.1693C40.9371 26.225 43.7636 23.0133 47.3178 23.0133C50.9 23.0133 53.7545 26.2532 53.6986 30.1693C53.6986 34.1136 50.9 37.3253 47.3178 37.3253Z" fill="currentColor"/>
</g>
<defs>
<clipPath id="clip0">
<rect width="71" height="55" fill="white"/>
</clipPath>
</defs>
</svg>
<v-icon x-large class="actionIcon">mdi-discord</v-icon>
{{ lang.discord }}
</v-btn>
</div>
@ -99,13 +88,13 @@
</template>
<script>
import { Browser } from "@capacitor/browser";
import { Device } from "@capacitor/device";
export default {
data() {
return {
version: process.env.appVersion,
release: process.env.release,
deviceInfo: "",
lang: {},
};
@ -123,8 +112,8 @@ export default {
this.lang = this.$lang().mods.about;
},
methods: {
async openExternal(url) {
await Browser.open({ url: url });
openExternal(url) {
this.$vuetube.openExternal(url);
},
},
};

View file

@ -1,9 +1,7 @@
<template>
<div>
<!-- Top Notice -->
<center style="margin: 2em;">
<center style="margin: 2em">
<h1>Registry Editor</h1>
<v-alert text outlined type="warning">
CHANGING ENTRIES MAY CAUSE YOUR APP TO BREAK!
@ -12,34 +10,60 @@
<!-- Add New Key Button -->
<center>
<v-btn @click="addDialog = !addDialog; selectedKey = null; selectedKeyData = null;">
<v-icon style="margin-right: 0.25em;">mdi-plus</v-icon>
<v-btn
@click="
addDialog = !addDialog;
selectedKey = null;
selectedKeyData = null;
"
>
<v-icon style="margin-right: 0.25em">mdi-plus</v-icon>
Create Entry
</v-btn>
</center>
<!-- Registry List Loader -->
<v-list-item v-for="(item, index) in keys" :key="index">
<v-card class="card" :class="$vuetify.theme.dark ? 'background lighten-1' : 'background darken-1'" :style="{borderRadius: `${roundTweak / 2}rem`}">
<v-card
class="card"
:class="
$vuetify.theme.dark ? 'background lighten-1' : 'background darken-1'
"
:style="{ borderRadius: `${roundTweak / 2}rem` }"
>
<v-card-title v-text="item.key" />
<v-card-text v-text="item.value" />
<v-card-actions>
<v-spacer />
<v-btn text class="actionButton" @click="confirmEdit(item)"><v-icon color="primary">mdi-pencil</v-icon></v-btn>
<v-btn text class="actionButton" @click="confirmDelete(item)"><v-icon color="error">mdi-delete</v-icon></v-btn>
<v-btn text class="actionButton" @click="confirmEdit(item)"
><v-icon color="primary">mdi-pencil</v-icon></v-btn
>
<v-btn text class="actionButton" @click="confirmDelete(item)"
><v-icon color="error">mdi-delete</v-icon></v-btn
>
</v-card-actions>
</v-card>
</v-list-item>
<!-- Delete Entry Dialog -->
<v-dialog v-model="deleteDialog" width="500">
<v-card class="rounded-lg" :class="$vuetify.theme.dark ? 'background lighten-1' : 'background darken-1'">
<v-card
class="rounded-lg"
:class="
$vuetify.theme.dark ? 'background lighten-1' : 'background darken-1'
"
>
<v-card-title class="text-h5">Confirm Delete</v-card-title>
<v-card-text>Are you sure that you want to delete <span class="highlight" v-text="selectedKey" />?</v-card-text>
<v-card-text
>Are you sure that you want to delete
<span class="highlight" v-text="selectedKey" />?</v-card-text
>
<v-divider />
<v-card-actions>
<v-spacer></v-spacer>
<v-btn color="primary" text @click="deleteDialog = false">Cancel</v-btn>
<v-btn color="primary" text @click="deleteDialog = false"
>Cancel</v-btn
>
<v-btn color="primary" text @click="deleteKey()">Delete</v-btn>
</v-card-actions>
</v-card>
@ -47,16 +71,15 @@
<!-- Edit Entry Dialog -->
<v-dialog v-model="editDialog" width="500">
<v-card class="rounded-lg" :class="$vuetify.theme.dark ? 'background lighten-1' : 'background darken-1'">
<v-card-title class="text-h5" v-text="selectedKey"/>
<v-card
class="rounded-lg"
:class="
$vuetify.theme.dark ? 'background lighten-1' : 'background darken-1'
"
>
<v-card-title class="text-h5" v-text="selectedKey" />
<v-card-text>
<v-text-field
v-model="selectedKeyData"
label="Value"
solo
/>
<v-text-field v-model="selectedKeyData" label="Value" solo />
</v-card-text>
<v-divider />
<v-card-actions>
@ -69,23 +92,21 @@
<!-- Add Entry Dialog -->
<v-dialog v-model="addDialog" width="500">
<v-card class="rounded-lg" :class="$vuetify.theme.dark ? 'background lighten-1' : 'background darken-1'">
<v-card
class="rounded-lg"
:class="
$vuetify.theme.dark ? 'background lighten-1' : 'background darken-1'
"
>
<v-card-title class="text-h5">Create Registry Entry</v-card-title>
<v-card-text>
<v-text-field
v-model="selectedKey"
label="Key"
solo
/>
<v-text-field v-model="selectedKey" label="Key" solo />
<v-text-field
v-model="selectedKeyData"
label="Value"
solo
style="margin-bottom: -2em;"
style="margin-bottom: -2em"
/>
</v-card-text>
<v-divider />
<v-card-actions>
@ -95,18 +116,15 @@
</v-card-actions>
</v-card>
</v-dialog>
</div>
</template>
<script>
export default {
computed: {
roundTweak() {
return this.$store.state.tweaks.roundTweak;
}
},
},
data() {
@ -117,7 +135,7 @@ export default {
selectedKeyData: null,
deleteDialog: false,
editDialog: false,
addDialog: false
addDialog: false,
};
},
mounted() {
@ -125,14 +143,13 @@ export default {
},
methods: {
syncRegistry() {
this.keys = [];
const localStorageKeys = Object.keys(localStorage)
const localStorageKeys = Object.keys(localStorage);
for (const i in localStorageKeys) {
const key = localStorageKeys[i];
const keyValue = localStorage.getItem(key);
this.keys.push({key: key, value: keyValue});
this.keys.push({ key: key, value: keyValue });
}
},
@ -160,8 +177,8 @@ export default {
this.addDialog = false;
localStorage.setItem(this.selectedKey, this.selectedKeyData);
this.syncRegistry();
}
}
},
},
};
</script>

View file

@ -1,6 +1,11 @@
<template>
<div class="mainContainer pt-1">
<v-card flat class="pb-5 background" :class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'" :style="{borderRadius: `${roundTweak / 2}rem`}">
<v-card
flat
class="pb-5 background"
:class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'"
:style="{ borderRadius: `${roundTweak / 2}rem` }"
>
<v-card-title>{{ lang.language }}</v-card-title>
<v-card-text>
<language />
@ -10,36 +15,36 @@
</template>
<script>
import language from '~/components/Settings/language.vue';
export default {
components: {
language
},
computed: {
roundTweak() {
return this.$store.state.tweaks.roundTweak;
},
import language from "~/components/Settings/language.vue";
export default {
components: {
language,
},
computed: {
roundTweak() {
return this.$store.state.tweaks.roundTweak;
},
},
data() {
return {
lang: { mods: { general: { language: "" } } },
};
},
mounted() {
const lang = this.$lang(); this.lang = lang.mods.general;
}
};
data() {
return {
lang: { mods: { general: { language: "" } } },
};
},
mounted() {
const lang = this.$lang();
this.lang = lang.mods.general;
},
};
</script>
<style scoped>
.v-card {
margin: 1em;
}
.v-card {
margin: 1em;
}
section {
padding: 0 1em 1em 1em;
}
section {
padding: 0 1em 1em 1em;
}
</style>

View file

@ -23,7 +23,7 @@
<v-expansion-panel
class="background"
:class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'"
:style="{borderRadius: `${roundTweak / 2}rem`}"
:style="{ borderRadius: `${roundTweak / 2}rem` }"
>
<v-expansion-panel-header>{{ lang.more }}</v-expansion-panel-header>
<v-expansion-panel-content class="logContent" v-text="item.data" />
@ -58,19 +58,19 @@ export default {
computed: {
roundTweak() {
return this.$store.state.tweaks.roundTweak;
}
},
},
data() {
return {
logs: new Array(),
lang: {}
lang: {},
};
},
mounted() {
const logs = this.$youtube.logs;
this.logs = logs;
this.lang = this.$lang("mods").logs
this.lang = this.$lang("mods").logs;
},
};
</script>

View file

@ -1,12 +1,14 @@
<template>
<div>
<div style="margin: 1em;">
<v-btn style="width: 100%;" class="primary text-none" @click="pickFile()"><v-icon style="margin-right: 0.5em;">mdi-sd</v-icon> Install from storage</v-btn>
<div style="margin: 1em">
<v-btn style="width: 100%" class="primary text-none" @click="pickFile()"
><v-icon style="margin-right: 0.5em">mdi-sd</v-icon> Install from
storage</v-btn
>
<input type="file" id="filePicker" accept="js" />
</div>
<center v-if="plugins.length == 0" style="margin-top: 2em;">
<center v-if="plugins.length == 0" style="margin-top: 2em">
<v-icon size="50px">mdi-connection</v-icon>
<h2>No plugins installed</h2>
</center>
@ -73,27 +75,25 @@ export default {
//this.plugins = await this.$tppl.list;
const vm = this;
document.getElementById('filePicker').onchange = async function() {
document.getElementById("filePicker").onchange = async function () {
const file = document.getElementById("filePicker").files[0];
const contents = await vm.readFileContent(file);
await vm.$tppl.addPlugin(contents);
};
},
methods: {
readFileContent(file) {
const reader = new FileReader()
const reader = new FileReader();
return new Promise((resolve, reject) => {
reader.onload = event => resolve(event.target.result)
reader.onerror = error => reject(error)
reader.readAsText(file)
})
reader.onload = (event) => resolve(event.target.result);
reader.onerror = (error) => reject(error);
reader.readAsText(file);
});
},
pickFile() {
document.getElementById("filePicker").click();
}
}
},
},
};
</script>

View file

@ -1,64 +1,77 @@
<template>
<div class="mainContainer pt-1">
<v-card flat class="pb-5 background" :class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'" :style="{borderRadius: `${roundTweak / 2}rem`}">
<v-card
flat
class="pb-5 background"
:class="$vuetify.theme.dark ? 'lighten-1' : 'darken-1'"
:style="{ borderRadius: `${roundTweak / 2}rem` }"
>
<v-card-title>{{ lang.mods.startup.defaultpage }}</v-card-title>
<v-card-text>
<v-select v-model="page" background-color="background" :items="pages" label="Default Page" solo></v-select>
<v-select
v-model="page"
background-color="background"
:items="pages"
label="Default Page"
solo
></v-select>
</v-card-text>
</v-card>
</div>
</template>
<script>
export default {
computed: {
roundTweak() {
return this.$store.state.tweaks.roundTweak;
},
export default {
computed: {
roundTweak() {
return this.$store.state.tweaks.roundTweak;
},
},
data() {
return {
page: "home",
pages: [],
lang: { mods: { startup: {} } }
};
data() {
return {
page: "home",
pages: [],
lang: { mods: { startup: {} } },
};
},
watch: {
page: function (newVal) {
localStorage.setItem("startPage", newVal);
},
},
watch: {
page: function (newVal) {
localStorage.setItem("startPage", newVal);
},
},
mounted() {
this.page = localStorage.getItem("startPage") || "home";
mounted() {
this.page = localStorage.getItem("startPage") || "home";
const lang = this.$lang();
this.lang = lang;
const lang = this.$lang(); this.lang = lang;
this.pages = [{
this.pages = [
{
value: "home",
text: lang.global.home
}, {
text: lang.global.home,
},
{
value: "subscriptions",
text: lang.global.subscriptions
}, {
text: lang.global.subscriptions,
},
{
value: "library",
text: lang.global.library
}];
}
};
text: lang.global.library,
},
];
},
};
</script>
<style scoped>
.v-card {
margin: 1em;
}
section {
padding: 0 1em 1em 1em;
}
.v-card {
margin: 1em;
}
section {
padding: 0 1em 1em 1em;
}
</style>

View file

@ -4,7 +4,9 @@
<div
class="d-flex flex-column justify-end"
style="
min-height: calc(100vh - 8rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
min-height: calc(
100vh - 8rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)
) !important;
"
>
<!-- ----Background Colors---- -->
@ -186,7 +188,7 @@ export default {
adaptiveDark: "",
pickerState: false,
pickerMode: "bg",
lang: {}
lang: {},
};
},
mounted() {

View file

@ -3,7 +3,9 @@
<div
class="d-flex flex-column justify-end"
style="
min-height: calc(100vh - 8rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
min-height: calc(
100vh - 8rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)
) !important;
"
>
<!-- TODO: outer radius -->
@ -169,11 +171,11 @@
export default {
data() {
return {
lang: {}
}
lang: {},
};
},
mounted() {
this.lang = this.$lang("mods").tweaks
this.lang = this.$lang("mods").tweaks;
},
computed: {
roundTweak: {

View file

@ -1,6 +1,6 @@
<template>
<div>
<v-list-item v-for="(item, index) in commits" :key="index" class="my-1">
<v-list-item v-for="(item, index) in releases" :key="index" class="my-1">
<v-card
flat
class="card my-2 background"
@ -8,31 +8,38 @@
:style="{ borderRadius: `${roundTweak / 2}rem` }"
>
<v-card-title style="padding: 0 0.25em 0 0.75em">
{{ item.author ? item.author.login : item.commit.author.name }}
{{ item.tag_name }}
<span
class="subtitle background--text"
:class="$vuetify.theme.dark ? 'text--lighten-4' : 'text--darken-4'"
v-text="`• ${item.sha.substring(0, 7)}`"
v-text="`• ${ new Date(item.published_at).toLocaleString() }`"
/>
</v-card-title>
<div style="margin-left: 1em">
<div
class="date background--text"
:class="$vuetify.theme.dark ? 'text--lighten-4' : 'text--darken-4'"
v-text="new Date(item.commit.committer.date).toLocaleString()"
/>
{{ item.commit.message }}
<div style="margin-left: 1em; white-space: pre-line; margin-top: -1.5em;">
{{ item.body.trim() }}
</div>
<v-card-actions>
<v-chip v-if="index == 0" class="tags" color="orange" style="border-radius: 0.5rem; border: 2px var(--v-orange-base)">{{ lang.latest }}</v-chip>
<v-chip v-if="item.sha == installedVersion" class="tags" color="green" style="border-radius: 0.5rem; border: 2px var(--v-green-base)">{{ lang.installed }}</v-chip>
<v-chip
v-if="index == 0"
class="tags"
color="orange"
style="border-radius: 0.5rem; border: 2px var(--v-orange-base)"
>{{ lang.latest }}</v-chip
>
<v-chip
v-if="item.tag_name == installedVersion"
class="tags"
color="green"
style="border-radius: 0.5rem; border: 2px var(--v-green-base)"
>{{ lang.installed }}</v-chip
>
<v-spacer />
<v-btn @click="openExternal(item)" class="background">
<v-icon class="btn-icon">mdi-github</v-icon>{{ lang.view }}
</v-btn>
<v-btn disabled @click="install(item)">
<v-btn @click="install(item, index)">
<v-icon class="btn-icon">mdi-download</v-icon>{{ lang.install }}
</v-btn>
</v-card-actions>
@ -66,8 +73,6 @@
</style>
<script>
import { Browser } from "@capacitor/browser";
export default {
computed: {
roundTweak() {
@ -76,33 +81,24 @@ export default {
},
data() {
return {
commits: new Array(),
releases: new Array(),
installedVersion: process.env.appVersion,
lang: {}
lang: {},
};
},
async mounted() {
const commits = await this.$vuetube.commits;
if (commits[0].sha) {
//If Commit Valid
this.commits = commits;
} else {
console.log(commits);
}
this.releases = await this.$vuetube.releases;
this.lang = this.$lang("mods").updates;
},
methods: {
async openExternal(item) {
await Browser.open({
url: item.html_url,
});
openExternal(item) {
this.$vuetube.openExternal(item.html_url,);
},
install(item) {
this.$vuetube.getRuns(item, (data) => {
console.log(data);
});
install(item, index) {
this.$router.push(`/activities/packageInstaller?v=${index}`);
},
},
};

View file

@ -78,7 +78,7 @@ export default {
{
name: "General",
icon: "mdi-cog",
to: "/mods/general"
to: "/mods/general",
},
{
name: "Theme",

View file

@ -28,7 +28,11 @@
<div class="d-flex flex-column">
<v-card-title
class="pa-0"
style="font-size: 0.95rem; line-height: 1.15rem; overflow-wrap: break-word;"
style="
font-size: 0.95rem;
line-height: 1.15rem;
overflow-wrap: break-word;
"
v-text="video.title"
v-emoji
/>

View file

@ -18,7 +18,7 @@ const ytApiVal = {
};
const filesystem = {
plugins: "plugins"
plugins: "plugins",
};
module.exports = {

View file

@ -305,9 +305,11 @@ class Innertube {
response.data.output?.playabilityStatus?.status == ("ERROR" || undefined)
)
throw new Error(
`Could not get information for video: ${response.status_code ||
response.data.output?.playabilityStatus?.status
} - ${response.message || response.data.output?.playabilityStatus?.reason
`Could not get information for video: ${
response.status_code ||
response.data.output?.playabilityStatus?.status
} - ${
response.message || response.data.output?.playabilityStatus?.reason
}`
);
const responseInfo = response.data.output;

View file

@ -1,22 +1,21 @@
const packs = {
bulgarian: require('./languages/bulgarian'),
english: require('./languages/english'),
"french-fr": require('./languages/french-fr'),
german: require('./languages/german'),
italian: require('./languages/italian'),
macedonian: require('./languages/macedonian'),
malay: require('./languages/malay'),
dutch: require('./languages/dutch'),
polish: require('./languages/polish'),
spanish: require('./languages/spanish'),
"chinese-traditional": require('./languages/chinese-traditional'),
"chinese-simplified": require('./languages/chinese-simplified'),
"brazilian-portuguese": require('./languages/brazilian-portuguese'),
indonesian: require('./languages/indonesian'),
}
bulgarian: require("./languages/bulgarian"),
english: require("./languages/english"),
"french-fr": require("./languages/french-fr"),
german: require("./languages/german"),
italian: require("./languages/italian"),
macedonian: require("./languages/macedonian"),
malay: require("./languages/malay"),
dutch: require("./languages/dutch"),
polish: require("./languages/polish"),
spanish: require("./languages/spanish"),
"chinese-traditional": require("./languages/chinese-traditional"),
"chinese-simplified": require("./languages/chinese-simplified"),
"brazilian-portuguese": require("./languages/brazilian-portuguese"),
indonesian: require("./languages/indonesian"),
};
function module(subPack, listPacks) {
//--- List All Packs ---//
if (listPacks === true) return packs;
@ -26,7 +25,6 @@ function module(subPack, listPacks) {
if (!subPack) return languagePack;
return languagePack[subPack];
}
export default ({ app }, inject) => {

View file

@ -0,0 +1,93 @@
module.exports = {
name: "Azerbaijan",
global: {
home: "Ev",
subscriptions: "Abunəliklər",
library: "Kitabxana",
restart: "Yenidən başladın",
later: "Daha sonra",
settingRestart: "Bu seçimin dəyişdirilməsi, dəyişikliklərin tətbiq edilməsi üçün tətbiqin yenidən başladılmasını tələb edir."
},
index: {
connecting: "Qoşulur",
plugins: "Əlavələr yüklənir",
launching: "Başladılır",
},
settings: {
general: "Ümumi",
theme: "Mövzu",
player: "Oynadıcı",
uitweaker: "UI Tənzimləyici",
startupoptions: "Başlatma Seçimləri",
plugins: "Əlavələr",
updates: "Yeniləmələr",
logs: "Jurnallar",
about: "Haqqında",
devmode: "Qeyd redaktoru",
},
mods: {
general: {
language: "Dil",
},
theme: {
normal: "Normal",
adaptive: "Adaptiv",
custom: "Fərdi",
dark: "Qaranlıq",
black: "Qara",
darkmode: "Qaranlıq rejim",
darkmodetagline: "Bravo, Qaranlıqdır." ,
},
tweaks: {
fullscreen: "Tam ekran",
navbarblur: "Naviqasiya Paneli bulanması",
roundedcorners: "Dairəvi Künclər",
roundthumbnails: "Dəyirmi Eskizlər",
roundwatchpagecomponents: "Dəyirmi Baxma Səhifə Komponentləri",
radius: "Radius",
},
startup: {
defaultpage: "Defolt Səhifə",
},
updates: {
install: "Quraşdırın",
view: "Baxın",
latest: "Ən son",
installed: "Quraşdırılıb",
},
logs: {
more: "Daha çox",
},
about: {
appinformation: "Tətbiq Məlumatı",
appversion: "Tətbiq Versiyası",
deviceinformation: "Cihaz Məlumatı",
platform: "Platforma",
os: "Əməliyyat Sistemi",
model: "Model",
manufacturer: "İstehsalçı",
emulator: "Emulator",
github: "GitHub",
discord: "Discord",
},
},
events: {
welcome: "VueTube-a Xoş Gəlmisiniz",
tagline: "Video yayımının gələcəyi",
next: "Növbəti",
updated: "VueTube Yeniləndi!",
awesome: "Möhtəşəm!",
langsetup: "Gəlin Dil Seçək!",
featuresetup: "Bəzi Xüsusiyyətləri Seçək!",
enableryd: "Return YouTube Dislike'ı Aktivləşdirin",
enablespb: "SponsorBlok'u Aktivləşdirin",
thanks: "VueTube istifadə etdiyiniz üçün təşəkkür edirik",
enjoy: "Ümid edirik ki, gözəl təcrübəniz olacaq",
packageinstaller: "Endirmək Üçün Paket Seçin"
},
};

View file

@ -4,12 +4,12 @@ module.exports = {
global: {
home: "Início",
subscriptions: "Inscrições",
library: "Biblioteca"
library: "Biblioteca",
},
index: {
connecting: "Conectando",
launching: "Iniciando"
launching: "Iniciando",
},
settings: {
@ -22,12 +22,12 @@ module.exports = {
updates: "Atualizações",
logs: "Logs",
about: "Sobre",
devmode: "Editor de registro"
devmode: "Editor de registro",
},
mods: {
general: {
language: "Idioma"
language: "Idioma",
},
theme: {
normal: "Normal",
@ -36,7 +36,7 @@ module.exports = {
dark: "Escuro",
black: "Preto",
darkmode: "Modo Escuro",
darkmodetagline: "Bravo Six, Escurecendo."
darkmodetagline: "Bravo Six, Escurecendo.",
},
tweaks: {
fullscreen: "Tela Cheia",
@ -44,19 +44,19 @@ module.exports = {
roundedcorners: "Bordas Arredondadas",
roundthumbnails: "Arredondar Thumbnails",
roundwatchpagecomponents: "Arredondar elementos da tela de reprodução",
radius: "Grau"
radius: "Grau",
},
startup: {
defaultpage: "Página Padrão"
defaultpage: "Página Padrão",
},
updates: {
install: "Instalar",
view: "Ver",
latest: "Última",
installed: "Instalado"
installed: "Instalado",
},
logs: {
more: "Mais"
more: "Mais",
},
about: {
appinformation: "Informação do App",
@ -68,8 +68,8 @@ module.exports = {
manufacturer: "Fabricante",
emulator: "Emulador",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -77,6 +77,6 @@ module.exports = {
tagline: "O futuro de streaming de video",
next: "Próximo",
updated: "VueTube atualizado com sucesso!",
awesome: "Incrível!"
}
}
awesome: "Incrível!",
},
};

View file

@ -4,12 +4,12 @@ module.exports = {
global: {
home: "Начална Страница",
subscriptions: "Абонаменти",
library: "Библиотека"
library: "Библиотека",
},
index: {
connecting: "Свързване",
launching: "Стартиране"
launching: "Стартиране",
},
settings: {
@ -22,12 +22,12 @@ module.exports = {
updates: "Актуализации",
logs: "Дневници",
about: "Относно VueTube",
devmode: "Редактор На Регистъра"
devmode: "Редактор На Регистъра",
},
mods: {
general: {
language: "Език"
language: "Език",
},
theme: {
normal: "Нормална",
@ -36,7 +36,7 @@ module.exports = {
dark: "Тъмна",
black: "Черна",
darkmode: "Тъмен Режим",
darkmodetagline: "Браво Шест, Навлизаме В Мрака."
darkmodetagline: "Браво Шест, Навлизаме В Мрака.",
},
tweaks: {
fullscreen: "Цял Екран",
@ -44,19 +44,19 @@ module.exports = {
roundedcorners: "Заоблени Ъгли",
roundthumbnails: "Заоблени Снимки",
roundwatchpagecomponents: "Заоблени Компоненти На Страницата За Гледане",
radius: "Радиус"
radius: "Радиус",
},
startup: {
defaultpage: "Страница По Подразбиране"
defaultpage: "Страница По Подразбиране",
},
updates: {
install: "Инсталиране",
view: "Преглед",
latest: "Най-Нови",
installed: "Инсталирана"
installed: "Инсталирана",
},
logs: {
more: "Още"
more: "Още",
},
about: {
appinformation: "Информация За Приложението",
@ -68,8 +68,8 @@ module.exports = {
manufacturer: "Производител",
emulator: "Емулатор",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -77,8 +77,6 @@ module.exports = {
tagline: "Бъдещето На Видеострийминга",
next: "Следващ",
updated: "VueTube Беше Актуализиран!",
awesome: "Поздравления!"
}
}
awesome: "Поздравления!",
},
};

View file

@ -4,12 +4,15 @@ module.exports = {
global: {
home: "首页",
subscriptions: "订阅内容",
library: "媒体库"
library: "媒体库",
restart: "重新启动",
later: "稍后",
settingRestart: "此设置修改后需要重新启动应用程序才会生效。"
},
index: {
connecting: "连接中",
launching: "启动中"
launching: "启动中",
},
settings: {
@ -22,12 +25,12 @@ module.exports = {
updates: "更新",
logs: "日志",
about: "关于",
devmode: "注册表编辑工具"
devmode: "注册表编辑工具",
},
mods: {
general: {
language: "语言"
language: "语言",
},
theme: {
normal: "正常",
@ -36,7 +39,7 @@ module.exports = {
dark: "深色",
black: "黑色",
darkmode: "黑暗模式",
darkmodetagline: "不要温和地走进那个良夜……"
darkmodetagline: "不要温和地走进那个良夜……",
},
tweaks: {
fullscreen: "全屏",
@ -44,19 +47,19 @@ module.exports = {
roundedcorners: "圆角",
roundthumbnails: "圆的缩图",
roundwatchpagecomponents: "圆的观看页部件",
radius: "半径"
radius: "半径",
},
startup: {
defaultpage: "默认页"
defaultpage: "默认页",
},
updates: {
install: "安装",
view: "查看",
latest: "最新",
installed: "已安装"
installed: "已安装",
},
logs: {
more: "更多"
more: "更多",
},
about: {
appinformation: "应用程序信息",
@ -68,8 +71,8 @@ module.exports = {
manufacturer: "制造商",
emulator: "模拟器",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -83,8 +86,6 @@ module.exports = {
enableryd: "启用 Return YouTube Dislike",
enablespb: "启用 SponsorBlock",
thanks: "谢谢使用 VueTube",
enjoy: "祝你有一个愉快的体验"
}
}
enjoy: "祝你有一个愉快的体验",
},
};

View file

@ -4,12 +4,15 @@ module.exports = {
global: {
home: "主頁",
subscriptions: "訂閲項目",
library: "媒體庫"
library: "媒體庫",
restart: "重新啟動",
later: "稍後",
settingRestart: "此設定更改後需要重新啟動應用程式才會生效。"
},
index: {
connecting: "連接中",
launching: "啟動中"
launching: "啟動中",
},
settings: {
@ -22,12 +25,12 @@ module.exports = {
updates: "更新",
logs: "紀錄檔",
about: "關於",
devmode: "登錄檔編輯工具"
devmode: "登錄檔編輯工具",
},
mods: {
general: {
language: "語言"
language: "語言",
},
theme: {
normal: "正常",
@ -36,7 +39,7 @@ module.exports = {
dark: "深色",
black: "黑色",
darkmode: "黑暗模式",
darkmodetagline: "不要温和地走進那個良夜……"
darkmodetagline: "不要温和地走進那個良夜……",
},
tweaks: {
fullscreen: "全螢幕",
@ -44,19 +47,19 @@ module.exports = {
roundedcorners: "圓角",
roundthumbnails: "圓的縮圖",
roundwatchpagecomponents: "圓的觀看頁部件",
radius: "半徑"
radius: "半徑",
},
startup: {
defaultpage: "預設頁"
defaultpage: "預設頁",
},
updates: {
install: "安裝",
view: "查看",
latest: "最新",
installed: "已安裝"
installed: "已安裝",
},
logs: {
more: "更多"
more: "更多",
},
about: {
appinformation: "應用程式資訊",
@ -68,8 +71,8 @@ module.exports = {
manufacturer: "製造商",
emulator: "模擬器",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -83,8 +86,6 @@ module.exports = {
enableryd: "啟用 Return YouTube Dislike",
enablespb: "啟用 SponsorBlock",
thanks: "謝謝使用 VueTube",
enjoy: "祝你有一個愉快的體驗"
}
}
enjoy: "祝你有一個愉快的體驗",
},
};

View file

@ -1,91 +1,94 @@
module.exports = {
name: "Nederlands",
name: "Nederlands",
global: {
home: "Home",
subscriptions: "Abonnementen",
library: "Bibliotheek"
global: {
home: "Home",
subscriptions: "Abonnementen",
library: "Bibliotheek",
restart: "Start nu opnieuw op",
later: "Later",
settingRestart: "Het wijzigen van deze instelling vereist dat de app opnieuw wordt opgestart om de instellingen toe te passen."
},
index: {
connecting: "Verbinden",
plugins: "Plugins Laden",
launching: "Opstarten"
},
settings: {
general: "Algemeen",
theme: "Thema",
player: "Videospeler",
uitweaker: "Gebruikersinterface",
startupoptions: "Opstartopties",
plugins: "Plugins",
updates: "Updates",
logs: "Logboeken",
about: "Over",
devmode: "Register bewerken"
},
mods: {
general: {
language: "Taal"
},
index: {
connecting: "Verbinden",
plugins: "Plugins Laden",
launching: "Opstarten"
theme: {
normal: "Normaal",
adaptive: "Adaptief",
custom: "Aangepast",
dark: "Donker",
black: "Zwart",
darkmode: "Donkere modus",
darkmodetagline: "Bravo Six, Going Dark."
},
settings: {
general: "Algemeen",
theme: "Thema",
player: "Videospeler",
uitweaker: "Gebruikersinterface",
startupoptions: "Opstartopties",
plugins: "Plugins",
updates: "Updates",
logs: "Logboeken",
about: "Over",
devmode: "Register bewerken"
tweaks: {
fullscreen: "Volledig Scherm",
navbarblur: "Vervaging Navigatiebalk",
roundedcorners: "Afgeronde Hoeken",
roundthumbnails: "Ronde Hoeken In Video Miniaturen",
roundwatchpagecomponents: "Ronde Hoeken In Video Speler Componenten",
radius: "Straal"
},
mods: {
general: {
language: "Taal"
},
theme: {
normal: "Normaal",
adaptive: "Adaptief",
custom: "Aangepast",
dark: "Donker",
black: "Zwart",
darkmode: "Donkere modus",
darkmodetagline: "Bravo Six, Going Dark."
},
tweaks: {
fullscreen: "Volledig Scherm",
navbarblur: "Vervaging Navigatiebalk",
roundedcorners: "Afgeronde Hoeken",
roundthumbnails: "Ronde Hoeken In Video Miniaturen",
roundwatchpagecomponents: "Ronde Hoeken In Video Speler Componenten",
radius: "Straal"
},
startup: {
defaultpage: "Standaard Pagina"
},
updates: {
install: "Installeer",
view: "Bekijk",
latest: "Laatste",
installed: "Geïnstalleerd"
},
logs: {
more: "Meer"
},
about: {
appinformation: "Applicatieinformatie",
appversion: "Applicatieversie",
deviceinformation: "Apparaatinformatie",
platform: "Platform",
os: "Besturingssysteem",
model: "Model",
manufacturer: "Fabrikant",
emulator: "Emulator",
github: "GitHub",
discord: "Discord"
}
startup: {
defaultpage: "Standaard Pagina"
},
events: {
welcome: "Welkom bij VueTube",
tagline: "De toekomst van videostreaming",
next: "Volgende",
updated: "VueTube is bijgewerkt!",
awesome: "Geweldig!",
langsetup: "Laten we een taal kiezen!",
featuresetup: "Laten we wat functies kiezen!",
enableryd: "Return YouTube Dislike aanzetten",
enablespb: "SponsorBlock aanzetten",
thanks: "Bedankt dat je VueTube gebruikt",
enjoy: "We hopen dat je een geweldige ervaring hebt"
updates: {
install: "Installeer",
view: "Bekijk",
latest: "Laatste",
installed: "Geïnstalleerd"
},
logs: {
more: "Meer"
},
about: {
appinformation: "Applicatieinformatie",
appversion: "Applicatieversie",
deviceinformation: "Apparaatinformatie",
platform: "Platform",
os: "Besturingssysteem",
model: "Model",
manufacturer: "Fabrikant",
emulator: "Emulator",
github: "GitHub",
discord: "Discord"
}
},
events: {
welcome: "Welkom bij VueTube",
tagline: "De toekomst van videostreaming",
next: "Volgende",
updated: "VueTube is bijgewerkt!",
awesome: "Geweldig!",
langsetup: "Laten we een taal kiezen!",
featuresetup: "Laten we wat functies kiezen!",
enableryd: "Return YouTube Dislike aanzetten",
enablespb: "SponsorBlock aanzetten",
thanks: "Bedankt dat je VueTube gebruikt",
enjoy: "We hopen dat je een geweldige ervaring hebt"
}
}

View file

@ -4,13 +4,16 @@ module.exports = {
global: {
home: "Home",
subscriptions: "Subscriptions",
library: "Library"
library: "Library",
restart: "Restart",
later: "Later",
settingRestart: "Modifying this setting requires the app to restart for the changes to be applied."
},
index: {
connecting: "Connecting",
plugins: "Loading Plugins",
launching: "Launching"
launching: "Launching",
},
settings: {
@ -23,12 +26,12 @@ module.exports = {
updates: "Updates",
logs: "Logs",
about: "About",
devmode: "Registry Editor"
devmode: "Registry Editor",
},
mods: {
general: {
language: "Language"
language: "Language",
},
theme: {
normal: "Normal",
@ -37,7 +40,7 @@ module.exports = {
dark: "Dark",
black: "Black",
darkmode: "Dark Mode",
darkmodetagline: "Bravo Six, Going Dark."
darkmodetagline: "Bravo Six, Going Dark.",
},
tweaks: {
fullscreen: "Fullscreen",
@ -45,19 +48,19 @@ module.exports = {
roundedcorners: "Rounded Corners",
roundthumbnails: "Round Thumbnails",
roundwatchpagecomponents: "Round Watch Page Components",
radius: "Radius"
radius: "Radius",
},
startup: {
defaultpage: "Default Page"
defaultpage: "Default Page",
},
updates: {
install: "Install",
view: "View",
latest: "Latest",
installed: "Installed"
installed: "Installed",
},
logs: {
more: "More"
more: "More",
},
about: {
appinformation: "App Information",
@ -69,8 +72,8 @@ module.exports = {
manufacturer: "Manufacturer",
emulator: "Emulator",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -84,8 +87,7 @@ module.exports = {
enableryd: "Enable Return YouTube Dislike",
enablespb: "Enable SponsorBlock",
thanks: "Thanks for Using VueTube",
enjoy: "We hope you have an amazing experience"
}
}
enjoy: "We hope you have an amazing experience",
packageinstaller: "Select a Package to Download"
},
};

View file

@ -4,30 +4,33 @@ module.exports = {
global: {
home: "Accueil",
subscriptions: "Abonnements",
library: "Bibliothèque"
library: "Bibliothèque",
restart: "Redémarrer maintenant",
later: "Plus tard",
settingRestart: "Redémarrage nécessaire pour appliquer le changement."
},
index: {
connecting: "Connexion",
launching: "Démarrage"
launching: "Démarrage",
},
settings: {
general: "Paramètres Généraux",
general: "Paramètres généraux",
theme: "Thème",
player: "Lecteur vidéo",
uitweaker: "Personnalisation de l'Interface",
uitweaker: "Personnalisation de l'interface",
startupoptions: "Options de démarrage",
plugins: "Plug-ins",
updates: "Mises à jour",
logs: "Journaux",
about: "À propos",
devmode: "Éditeur du Registre"
devmode: "Éditeur du Registre",
},
mods: {
general: {
language: "Langue"
language: "Langue",
},
theme: {
normal: "Normal",
@ -36,7 +39,7 @@ module.exports = {
dark: "Sombre",
black: "Noir",
darkmode: "Mode Sombre",
darkmodetagline: "Bravo pour utiliser le mode sombre !"
darkmodetagline: "Bravo pour utiliser le mode sombre !",
},
tweaks: {
fullscreen: "Plein écran",
@ -47,7 +50,7 @@ module.exports = {
radius: "Rayon",
},
startup: {
defaultpage: "Page par défaut"
defaultpage: "Page par défaut",
},
updates: {
install: "Installer",
@ -68,8 +71,8 @@ module.exports = {
manufacturer: "Fabricant",
emulator: "Émulateur",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -80,11 +83,10 @@ module.exports = {
awesome: "Incroyable !",
langsetup: "Commençons par sélectionner une langue !",
featuresetup: "Sélectionnons des fonctionnalités !",
enableryd: "Activer Return YouTube Dislike (Retourner les Dislikes de YouTube)",
enableryd:
"Activer Return YouTube Dislike (Retourner les Dislikes de YouTube)",
enablespb: "Activer SponsorBlock",
thanks: "Merci d'utiliser VueTube",
enjoy: "Nous ésperons que vous apprécierez votre éxperience ! "
}
}
enjoy: "Nous ésperons que vous apprécierez votre éxperience ! ",
},
};

View file

@ -4,12 +4,12 @@ module.exports = {
global: {
home: "Start",
subscriptions: "Abos",
library: "Mediathek"
library: "Mediathek",
},
index: {
connecting: "Verbinden",
launching: "Starten"
launching: "Starten",
},
settings: {
@ -22,12 +22,12 @@ module.exports = {
updates: "Updates",
logs: "Logs",
about: "Über",
devmode: "Registierungseditor"
devmode: "Registrierungseditor",
},
mods: {
general: {
language: "Sprache"
language: "Sprache",
},
theme: {
normal: "Normal",
@ -36,40 +36,40 @@ module.exports = {
dark: "Dunkel",
black: "Schwarz",
darkmode: "Dunkler Modus",
darkmodetagline: "Bravo Sechs, Lichter aus."
darkmodetagline: "Bravo Sechs, Lichter aus.",
},
tweaks: {
fullscreen: "Vollbild",
navbarblur: "Nvigationsleistenunschärfe",
navbarblur: "Navigationsleistenunschärfe",
roundedcorners: "Runde Ecken",
roundthumbnails: "Runde Thumbnails",
roundwatchpagecomponents: "Runde Startseiten Komponenten",
radius: "Radius"
radius: "Radius",
},
startup: {
defaultpage: "Standard Seite"
defaultpage: "Standard Seite",
},
updates: {
install: "Installieren",
view: "Anschauen",
latest: "Neuste",
installed: "Installiert"
installed: "Installiert",
},
logs: {
more: "Mehr"
more: "Mehr",
},
about: {
appinformation: "App Informationen",
appversion: "App Version",
deviceinformation: "Gerät Informationen",
deviceinformation: "Geräteinformationen",
platform: "Plattform",
os: "Betriebssystem",
model: "Modell",
manufacturer: "Hersteller",
emulator: "Emulator",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -77,8 +77,6 @@ module.exports = {
tagline: "Die Zukunft des Videostreaming",
next: "Nächste",
updated: "VueTube wurde aktualisiert!",
awesome: "Cool!"
}
}
awesome: "Cool!",
},
};

View file

@ -4,12 +4,12 @@ module.exports = {
global: {
home: "Beranda",
subscriptions: "Subscription",
library: "Koleksi"
library: "Koleksi",
},
index: {
connecting: "Menghubungkan",
launching: "Meluncurkan"
launching: "Meluncurkan",
},
settings: {
@ -22,12 +22,12 @@ module.exports = {
updates: "Pembaharuan",
logs: "Log",
about: "Tentang",
devmode: "Editor Registri"
devmode: "Editor Registri",
},
mods: {
general: {
language: "Bahasa"
language: "Bahasa",
},
theme: {
normal: "Normal",
@ -36,7 +36,7 @@ module.exports = {
dark: "Gelap",
black: "Hitam",
darkmode: "Mode Gelap",
darkmodetagline: "Kegelapan menunggu di sisi lain."
darkmodetagline: "Kegelapan menunggu di sisi lain.",
},
tweaks: {
fullscreen: "Layar Penuh",
@ -44,19 +44,19 @@ module.exports = {
roundedcorners: "Sudut Bulat",
roundthumbnails: "Thumbnail Bulat",
roundwatchpagecomponents: "Komponen Halaman Tontonan Bulat",
radius: "Radius"
radius: "Radius",
},
startup: {
defaultpage: "Halaman Bawaan"
defaultpage: "Halaman Bawaan",
},
updates: {
install: "Instal",
view: "Lihat",
latest: "Terbaru",
installed: "Terinstal"
installed: "Terinstal",
},
logs: {
more: "Lebih"
more: "Lebih",
},
about: {
appinformation: "Informasi Aplikasi",
@ -68,8 +68,8 @@ module.exports = {
manufacturer: "Pembuat",
emulator: "Emulator",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -77,8 +77,6 @@ module.exports = {
tagline: "Masa depan video streaming",
next: "Lanjut",
updated: "VueTube Diperbaharui!",
awesome: "Luar Biasa!"
}
}
awesome: "Luar Biasa!",
},
};

View file

@ -4,12 +4,12 @@ module.exports = {
global: {
home: "Home",
subscriptions: "Iscrizioni",
library: "Raccolta"
library: "Raccolta",
},
index: {
connecting: "Connessione",
launching: "Avvio"
launching: "Avvio",
},
settings: {
@ -22,12 +22,12 @@ module.exports = {
updates: "Aggiornamenti",
logs: "Registro",
about: "Informazioni",
devmode: "Modalità Sviluppatore"
devmode: "Modalità Sviluppatore",
},
mods: {
general: {
language: "Lingua"
language: "Lingua",
},
theme: {
normal: "Normale",
@ -36,7 +36,7 @@ module.exports = {
dark: "Scuro",
black: "Nero",
darkmode: "Modalità scura",
darkmodetagline: "Giovane Jedi, benvenuto al lato oscuro."
darkmodetagline: "Giovane Jedi, benvenuto al lato oscuro.",
},
tweaks: {
fullscreen: "Schermo Intero",
@ -44,19 +44,19 @@ module.exports = {
roundedcorners: "Arrotondamento Spigoli",
roundthumbnails: "Anteprima Arrotondata",
roundwatchpagecomponents: "Componenti Rotondi Della Pagina Di Controllo",
radius: "Raggio"
radius: "Raggio",
},
startup: {
defaultpage: "Pagina Predefinita"
defaultpage: "Pagina Predefinita",
},
updates: {
install: "Ultimo",
view: "Visualizza",
latest: "Più Recente",
installed: "Installato"
installed: "Installato",
},
logs: {
more: "Più"
more: "Più",
},
about: {
@ -69,8 +69,8 @@ module.exports = {
manufacturer: "Produttore",
emulator: "Emulatore",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -78,9 +78,6 @@ module.exports = {
tagline: "Il Futuro Dello Streaming Video",
next: "Prossimo",
updated: "VueTube è Stato Aggiornato",
awesome: "Fantastico!"
}
}
awesome: "Fantastico!",
},
};

View file

@ -4,12 +4,12 @@ module.exports = {
global: {
home: "Почетна",
subscriptions: "Претплати",
library: "Библиотека"
library: "Библиотека",
},
index: {
connecting: "Поврзување",
launching: "Лансирање"
launching: "Лансирање",
},
settings: {
@ -22,12 +22,12 @@ module.exports = {
updates: "Ажурирања",
logs: "Дневници",
about: "За VueTube",
devmode: "Уредувач на регистар"
devmode: "Уредувач на регистар",
},
mods: {
general: {
language: "Јазик"
language: "Јазик",
},
theme: {
normal: "Нормален",
@ -36,7 +36,7 @@ module.exports = {
dark: "Темен",
black: "Црн",
darkmode: "Темен Пежим",
darkmodetagline: "Браво Шес, Идеме Темно."
darkmodetagline: "Браво Шес, Идеме Темно.",
},
tweaks: {
fullscreen: "Цел Екран",
@ -44,19 +44,19 @@ module.exports = {
roundedcorners: "Заоблени агли",
roundthumbnails: "Заоблени слики",
roundwatchpagecomponents: "Заоблени компоненти на страницата за гледање",
radius: "Радиус"
radius: "Радиус",
},
startup: {
defaultpage: "Стандардна страница"
defaultpage: "Стандардна страница",
},
updates: {
install: "Инстал",
view: "Погледај",
latest: "Нај нова",
installed: "Инсталирана"
installed: "Инсталирана",
},
logs: {
more: "Повеќе"
more: "Повеќе",
},
about: {
appinformation: "Информации за апликацијата",
@ -68,8 +68,8 @@ module.exports = {
manufacturer: "Производител",
emulator: "Емулатор",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -77,8 +77,6 @@ module.exports = {
tagline: "Иднината на видео стриминг",
next: "Следно",
updated: "VueTube беше ажуриран!",
awesome: "Прекрасно!"
}
}
awesome: "Прекрасно!",
},
};

View file

@ -4,13 +4,13 @@ module.exports = {
global: {
home: "Laman Utama",
subscriptions: "Langganan",
library: "Pustaka"
library: "Pustaka",
},
index: {
connecting: "Menyambung",
plugins: "Memuatkan Pemalam",
launching: "Memulakan"
launching: "Memulakan",
},
settings: {
@ -23,12 +23,12 @@ module.exports = {
updates: "Kemaskini",
logs: "Log",
about: "Tentang",
devmode: "Pilihan Pembangun"
devmode: "Pilihan Pembangun",
},
mods: {
general: {
language: "Bahasa"
language: "Bahasa",
},
theme: {
normal: "Normal",
@ -37,7 +37,7 @@ module.exports = {
dark: "Gelap",
black: "Hitam",
darkmode: "Mod Gelap",
darkmodetagline: "Selamat datang ke sisi gelap, Jedi muda."
darkmodetagline: "Selamat datang ke sisi gelap, Jedi muda.",
},
tweaks: {
fullscreen: "Skrin Penuh",
@ -45,19 +45,19 @@ module.exports = {
roundedcorners: "Sudut Bulat",
roundthumbnails: "Lakaran Kecil Bulat",
roundwatchpagecomponents: "Komponen Halaman Tonton Bulat",
radius: "Radius"
radius: "Radius",
},
startup: {
defaultpage: "Halaman Lalai"
defaultpage: "Halaman Lalai",
},
updates: {
install: "Pasang",
view: "Lihat",
latest: "Terkini",
installed: "Dipasang"
installed: "Dipasang",
},
logs: {
more: "Lagi"
more: "Lagi",
},
about: {
appinformation: "Maklumat Apl",
@ -69,8 +69,8 @@ module.exports = {
manufacturer: "Pengilang",
emulator: "Emulator",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -84,8 +84,6 @@ module.exports = {
enableryd: "Hidupkan Return YouTube Dislike",
enablespb: "Hidupkan SponsorBlock",
thanks: "Terima Kasih kerana Menggunakan VueTube",
enjoy: "Kami harap anda mempunyai yang menakjubkan"
}
}
enjoy: "Kami harap anda mempunyai yang menakjubkan",
},
};

View file

@ -27,7 +27,7 @@ module.exports = {
mods: {
general: {
language: "Język"
language: "Język",
},
theme: {
normal: "Normalny",
@ -36,7 +36,7 @@ module.exports = {
dark: "Ciemny",
black: "Czarny",
darkmode: "Tryb Ciemny",
darkmodetagline: "Brawo ty, przejdź na ciemną stronę mocy."
darkmodetagline: "Brawo ty, przejdź na ciemną stronę mocy.",
},
tweaks: {
fullscreen: "Pełny Ekran",
@ -44,7 +44,7 @@ module.exports = {
roundedcorners: "Zaokrąglone Krawędzie",
roundthumbnails: "Zaokrąglone Miniaturki",
roundwatchpagecomponents: "Zaokrąglone Elementy Interfejsu",
radius: "Promień"
radius: "Promień",
},
startup: {
defaultpage: "Strona Domyślna",
@ -53,10 +53,10 @@ module.exports = {
install: "Zainstaluj",
view: "Zobacz",
latest: "Najnowsza",
installed: "Zainstalowana"
installed: "Zainstalowana",
},
logs: {
more: "Więcej"
more: "Więcej",
},
about: {

View file

@ -6,19 +6,19 @@
Translations made automatically are not allowed in VueTube. You need to know and understand both English and the language you're translating to guarantee a good result. Please do not contribute using Google Translator or similars.
*Example: "Enable Return Youtube Dislike integration" should be translated to Spanish as "Activar la integración de Return YouTube Dislike", but an automatic translation could be "Activar integración Devolver los No me gusta de Youtube", and that doesn't sounds natural.*
_Example: "Enable Return Youtube Dislike integration" should be translated to Spanish as "Activar la integración de Return YouTube Dislike", but an automatic translation could be "Activar integración Devolver los No me gusta de Youtube", and that doesn't sounds natural._
- **Consider leaving some words in English**
Some words might sound better in English. For example, depending of the grade of English casual words in your language, you can consider not translating "Plugins", "Dislike", etc.
*Example: Instead of translating "Hide Dislikes" to French as "Masquer Je n'aime", you can use "Masquer Dislikes".*
_Example: Instead of translating "Hide Dislikes" to French as "Masquer Je n'aime", you can use "Masquer Dislikes"._
- **The name of the language should be in the target language, not in English**
*Example: "日本語" instead of "Japanese", "Italiano" instead of "Italian" and "Русский" instead of "Russian".
\*Example: "日本語" instead of "Japanese", "Italiano" instead of "Italian" and "Русский" instead of "Russian".
That doesn't apply to the file name (polish.js, dutch.js, indonesian.js), but it does to *"name: example"* section.
That doesn't apply to the file name (polish.js, dutch.js, indonesian.js), but it does to _"name: example"_ section.
## 🟢 How to do the translation
@ -35,8 +35,8 @@ Only translate the text into quotation marks ("). For example, if the translatio
It's easy and intuitive. Also there are different sections:
**settings: { <br/>
general: "General", <br/>
theme: "Theme",**
general: "General", <br/>
theme: "Theme",**
Don't touch the section name, in this case, "settings".

View file

@ -0,0 +1,93 @@
module.exports = {
name: "Română",
global: {
home: "Acasă",
subscriptions: "Abonamente",
library: "Bibliotecă",
restart: "Repornește acum",
later: "Mai tărziu",
settingRestart: "Modificarea acestei setări necesită repornirea aplicației pentru ca setările să fie aplicate."
},
index: {
connecting: "Se contectează",
launching: "Se lansează"
},
settings: {
general: "Generală",
theme: "Tema",
player: "Jucător video.",
uitweaker: "Interfața",
startupoptions: "Opțiunea de lansare",
plugins: "Pluginuri",
updates: "Actualizarea",
logs: "Jurnalul",
about: "Despre",
devmode: "Editare de dezvoltare"
},
mods: {
general: {
language: "Limbă"
},
theme: {
normal: "Normal",
adaptive: "Adapta",
custom: "Customizare",
dark: "Întuneric",
black: "Negru",
darkmode: "Modul Negru",
darkmodetagline: "Bravo Six, întunecându-te."
},
tweaks: {
fullscreen: "Ecran complet",
navbarblur: "Bară de navigarea estompare",
roundedcorners: "Colturi Rotunjite",
roundthumbnails: "Thumbnails Rotunjite",
roundwatchpagecomponents: "Componente rotunde pentru casă",
radius: "Rază"
},
startup: {
defaultpage: "Pagină implicită"
},
updates: {
install: "Instalarea",
view: "Vezi",
latest: "Ultimă",
installed: "Instalat"
},
logs: {
more: "Mai multe"
},
about: {
appinformation: "Informații aplicației",
appversion: "Versiunea",
deviceinformation: "Informații dispozitivului",
platform: "Platforma",
os: "Sistem de operare",
model: "Model",
manufacturer: "Producător",
emulator: "Emulator",
github: "GitHub",
discord: "Discord"
}
},
events: {
welcome: "Bun venit la VueTube",
tagline: "Viitorul streamingului videoclip",
next: "Următorul",
updated: "VueTube a fost actualizat!",
awesome: "Uimitor!",
langsetup: "Alegeți o limbă!",
featuresetup: "Alegeți o caracteristică!",
enableryd: "Activați Return YouTube Dislike",
enablespb: "Activați SponsorBlock",
thanks: "Va mulțumin că folosiți VueTube!",
enjoy: "Sperăm să vă bucurați de experiența dumneavoastră!"
}
}

View file

@ -4,13 +4,16 @@ module.exports = {
global: {
home: "Inicio",
subscriptions: "Suscripciones",
library: "Librería"
library: "Librería",
restart: "Reiniciar",
later: "Más tarde",
settingRestart: "Al modificar este ajuste, la app debe ser reiniciada para que los cambios se apliquen."
},
index: {
connecting: "Conectando",
plugins: "Cargando complementos",
launching: "Iniciando"
launching: "Iniciando",
},
settings: {
@ -23,12 +26,12 @@ module.exports = {
updates: "Actualizaciones",
logs: "Logs",
about: "Acerca de",
devmode: "Editor del registro"
devmode: "Editor del registro",
},
mods: {
general: {
language: "Idioma"
language: "Idioma",
},
theme: {
normal: "Normal",
@ -37,7 +40,7 @@ module.exports = {
dark: "Oscuro",
black: "Negro",
darkmode: "Modo oscuro",
darkmodetagline: "Bravo Six, haciéndote oscuro."
darkmodetagline: "Bravo Six, haciéndote oscuro.",
},
tweaks: {
fullscreen: "Pantalla completa",
@ -45,19 +48,19 @@ module.exports = {
roundedcorners: "Esquinas redondeadas",
roundthumbnails: "Redondear miniaturas",
roundwatchpagecomponents: "Redondear componentes del vídeo",
radius: "Radio"
radius: "Radio",
},
startup: {
defaultpage: "Pagina predeterminada"
defaultpage: "Pagina predeterminada",
},
updates: {
install: "Instalar",
view: "Ver",
latest: "Última",
installed: "Instalada"
installed: "Instalada",
},
logs: {
more: "Más"
more: "Más",
},
about: {
@ -70,8 +73,8 @@ module.exports = {
manufacturer: "Fabricante",
emulator: "Emulador",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -85,8 +88,6 @@ module.exports = {
enableryd: "Activar Return YouTube Dislike",
enablespb: "Activar SponsorBlock",
thanks: "Gracias por usar VueTube",
enjoy: "Esperamos que tengas una buena experiencia"
}
}
enjoy: "Esperamos que tengas una buena experiencia",
},
};

View file

@ -2,14 +2,17 @@ module.exports = {
name: "தமிழ்",
global: {
home: "வீடு",
home: "ஹோம்",
subscriptions: "ஸப்ஸ்க்ரிப்ஶந",
library: "லாஇப்ரேரீ"
library: "லாஇப்ரேரீ",
restart: "இப்போது மறுதொடக்கம்",
later: "பிறகு",
settingRestart: "இந்த அமைப்பை மாற்ற, அமைப்புகளைப் பயன்படுத்த, ஆப்ஸ மறுதொடக்கம் செய்ய வேண்டும்"
},
index: {
connecting: "இணைக்கிறது",
launching: "திறக்கிறது"
launching: "திறக்கிறது",
},
settings: {
@ -22,21 +25,21 @@ module.exports = {
updates: "மேம்படுத்தல்கள்",
logs: "பதிவுகள்",
about: "பற்றி",
devmode: "டெவலப்பர்"
devmode: "டெவலப்பர்",
},
mods: {
general: {
language: "மொழி"
language: "மொழி",
},
theme: {
normal: "சாதாரண",
adaptive: "தகவமைப்பு ",
custom: "புதிய",
custom: "கஸ்டம் ",
dark: "இருள்",
black: "கருப்பு",
darkmode: "இருள் அமைப்பு",
darkmodetagline: "நீங்கள் இருளில் செல்கிறீர்கள்.."
darkmodetagline: "நீங்கள் இருளில் செல்கிறீர்கள்..",
},
tweaks: {
fullscreen: "முழு பார்வை",
@ -44,19 +47,19 @@ module.exports = {
roundedcorners: "சுற்று மூலைகள்",
roundthumbnails: "சுற்று சிறு உருவங்கள்",
roundwatchpagecomponents: "சுற்று கண்காணிப்பு பக்க கூறுகள்",
radius: "ஆரம்"
radius: "ஆரம்",
},
startup: {
defaultpage: "இயல்புநிலை பக்கம்"
defaultpage: "இயல்புநிலை பக்கம்",
},
updates: {
install: "நிறுவு",
view: "பார்",
latest: "புதியது",
installed: "நிறுவப்பட்டுள்ளது"
installed: "நிறுவப்பட்டுள்ளது",
},
logs: {
more: "மேலும்"
more: "மேலும்",
},
about: {
appinformation: "விண்ணப்ப தகவல்",
@ -68,8 +71,8 @@ module.exports = {
manufacturer: "உற்பத்தியாளர்",
emulator: "எமுலேடர்",
github: "GitHub",
discord: "Discord"
}
discord: "Discord",
},
},
events: {
@ -83,8 +86,6 @@ module.exports = {
enableryd: "Return YouTube Dislike ஐ இயக்கு",
enablespb: "SponsorBlock ஐ இயக்கு",
thanks: "VueTube ஐப் பயன்படுத்தியதற்கு நன்றி!",
enjoy: "மகிழுங்கள்!"
}
}
enjoy: "மகிழுங்கள்!",
},
};

View file

@ -0,0 +1,93 @@
module.exports = {
name: "Turkish",
global: {
home: "Ana Sayfa",
subscriptions: "Abonelikler",
library: "Kütüphane",
restart: "Yeniden Başlat",
later: "Daha sonra",
settingRestart: "Bu ayarın değiştirilmesi, değişikliklerin uygulanabilmesi için uygulamanın yeniden başlatılmasını gerektirir."
},
index: {
connecting: "Bağlanıyor",
plugins: "Eklentiler Yükleniyor",
launching: "Başlatma",
},
settings: {
general: "Genel",
theme: "Tema",
player: "Oynatıcı",
uitweaker: "UI Düzenleyici",
startupoptions: "Başlatma Seçenekleri",
plugins: "Eklentiler",
updates: "Güncellemeler",
logs: "Günlükler",
about: "Hakkında",
devmode: "Kayıt düzenleyici",
},
mods: {
general: {
language: "Dil",
},
theme: {
normal: "Normal",
adaptive: "Adaptif",
custom: "Özel",
dark: "Karanlık",
black: "Siyah",
darkmode: "Karanlık Mod",
darkmodetagline: "Bravo Altı, Karanlık Oluyor.",
},
tweaks: {
fullscreen: "Tam ekran",
navbarblur: "Gezinme Çubuğu Bulanıklığı",
roundedcorners: "Yuvarlatılmış Köşeler",
roundthumbnails: "Yuvarlak Küçük Resimler",
roundwatchpagecomponents: "Yuvarlak İzleme Sayfası Bileşenleri",
radius: "Yarıçap",
},
startup: {
defaultpage: "Varsayılan Sayfa",
},
updates: {
install: "Kurun",
view: "Bak",
latest: "En sonuncu",
installed: "Kuruldu",
},
logs: {
more: "Daha fazla",
},
about: {
appinformation: "Uygulama Bilgileri",
appversion: "Uygulama Sürümü",
deviceinformation: "Cihaz Bilgisi",
platform: "Platformu",
os: "İşletim Sistemi",
model: "Modeli",
manufacturer: "Üretici Firma",
emulator: "Emulator",
github: "GitHub",
discord: "Discord",
},
},
events: {
welcome: "VueTube'a Hoş Geldiniz",
tagline: "Video akışının geleceği",
next: "Sonraki",
updated: "VueTube Güncellendi!",
awesome: "Mükemmel!",
langsetup: "Bir Dil Seçelim!",
featuresetup: "Bazı Özellikleri Seçelim!",
enableryd: "Return YouTube Dislike'ı Etkinleştir",
enablespb: "SponsorBlok'u Etkinleştir",
thanks: "VueTube'u Kullandığınız İçin Teşekkürler",
enjoy: "Umarız harika bir deneyim yaşarsınız",
packageinstaller: "İndirilecek Paketi Seçin"
},
};

View file

@ -4,16 +4,19 @@ module.exports = {
vuetube: "*",
version: "1.0", // Required
author: "Frontesque", // Required
description: "A plugin to test how vuetube handles plugins // Add 'Hello, World!' to the home page.", // Required
description:
"A plugin to test how vuetube handles plugins // Add 'Hello, World!' to the home page.", // Required
homepage: "https://github.com/Frontesque/VueTube-Example-Plugin",
license: "GPL-3.0" // Required
license: "GPL-3.0", // Required
},
/*************************
* Execute code on ALL VueTube pages
************************/
global: function() {
console.log("This code is now executed when ALL vuetube pages (including settings) are loaded.")
global: function () {
console.log(
"This code is now executed when ALL vuetube pages (including settings) are loaded."
);
},
/*************************
@ -22,9 +25,8 @@ module.exports = {
* You can view what page you intend to inject code into by looking at `~/NUXT/pages/` in the main VueTube repo
************************/
pages: {
home: function() { // Execute code on JUST the home page
}
}
}
home: function () {
// Execute code on JUST the home page
},
},
};

View file

@ -1,6 +1,6 @@
//--- Modules/Imports ---//
import { Filesystem, Directory, Encoding } from '@capacitor/filesystem';
import { fs } from './constants';
import { Filesystem, Directory, Encoding } from "@capacitor/filesystem";
import { fs } from "./constants";
//--- Set Up App Directory ---//
const APP_DIRECTORY = Directory.Data;
@ -9,48 +9,44 @@ const APP_DIRECTORY = Directory.Data;
const ensureStructure = new Promise(async (resolve, reject) => {
try {
await Filesystem.mkdir({
directory: APP_DIRECTORY, recursive: true,
directory: APP_DIRECTORY,
recursive: true,
path: fs.plugins,
});
} catch (e) { /* Exists */ }
} catch (e) {
/* Exists */
}
resolve();
})
});
const module = {
//--- List Plugins ---//
list: new Promise(async (resolve, reject) => {
await ensureStructure;
const plugins = await Filesystem.readdir({
path: fs.plugins,
directory: APP_DIRECTORY
}).catch(err => { reject(err) })
directory: APP_DIRECTORY,
}).catch((err) => {
reject(err);
});
resolve(plugins);
}),
async addPlugin(content) {
await ensureStructure;
new Promise(async (resolve, reject) => {
const fileName = require("./utils").getCpn(); // Im not sure what this is actually meant for but im using it as a random string generator
console.log("Saving Plugin As"+ fileName)
console.log("Saving Plugin As" + fileName);
await Filesystem.writeFile({
path: fs.plugins+"/"+fileName+".js",
path: fs.plugins + "/" + fileName + ".js",
directory: APP_DIRECTORY,
data: content,
encoding: Encoding.UTF8,
});
})
}
});
},
};
//--- Start ---//

View file

@ -18,11 +18,17 @@ Vue.directive("emoji", {
let backActions;
const module = {
//--- Open External / Open In Browser ---//
openExternal(url) {
window.open(url, '_blank');
},
//--- Get GitHub Commits ---//
commits: new Promise((resolve, reject) => {
releases: new Promise((resolve, reject) => {
Http.request({
method: "GET",
url: `${constants.URLS.VT_GITHUB}/commits`,
url: `${constants.URLS.VT_GITHUB}/releases`,
params: {},
})
.then((res) => {
@ -33,22 +39,6 @@ const module = {
});
}),
getRuns(item, callback) {
let url = `${constants.URLS.VT_GITHUB}/commits/${item.sha}/check-runs`;
Http.request({
method: "GET",
url: url,
params: {},
})
.then((res) => {
callback(res.data);
})
.catch((err) => {
callback(err);
});
},
haptics: {
async hapticsImpactHeavy(x) {
await Haptics.impact({ style: ImpactStyle.Heavy, duration: x });

View file

@ -81,7 +81,7 @@ const searchModule = {
},
showToast(text) {
Toast.show({ text: text });
}
},
};
//--- Recommendations ---//

View file

@ -1 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" version="1.1" viewBox="0 0 512 512" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><g><path d="M318.761,269.869C329.456,263.716 329.456,248.285 318.761,242.132L280.096,219.886L319.969,201.293L336.714,210.927L390.951,242.132C401.646,248.285 401.646,263.716 390.951,269.869L336.732,301.062L336.714,301.073L318.643,311.47L278.77,292.877L318.761,269.869ZM197,294.468L197,312.264C197.005,324.563 210.308,332.258 220.971,326.13L220.979,326.126L240.637,314.816L280.509,333.409L238.932,357.33L238.904,357.346L184.979,388.371C174.312,394.508 161,386.808 161,374.502L161,277.681L197,294.468ZM281.835,179.354L241.962,197.947L220.979,185.874L220.966,185.867C210.302,179.744 197,187.442 197,199.743L197,218.913L161,235.7L161,137.498C161,125.192 174.312,117.492 184.979,123.629L238.925,154.666L238.932,154.67L281.835,179.354Z" transform="matrix(1.84351,0,0,1.84351,-236.17,-215.938)" style="fill:#fff"/></g></svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1.99234,0,0,1.99234,52.4337,-0.543689)">
<path d="M157.768,142.391C168.454,136.236 168.454,120.814 157.766,114.66L157.761,114.658L121.527,93.811L161.399,75.218L175.714,83.453L175.736,83.466L216.392,106.857C233.102,116.471 233.102,140.582 216.392,150.196L175.743,173.582L175.714,173.599L158.778,183.343L118.905,164.75L157.761,142.395L157.768,142.391ZM36,163.605L36,184.79C36.005,197.092 49.314,204.788 59.979,198.652L82.89,185.471L122.763,204.063L77.932,229.856L77.903,229.873L37.467,253.137C20.801,262.726 0,250.695 0,231.467L0,146.818L36,163.605ZM125.384,54.497L85.512,73.09L59.979,58.4L59.964,58.392C49.3,52.27 36,59.968 36,72.269L36,96.178L0,112.965L0,25.585C0,6.357 20.801,-5.673 37.467,3.916L77.917,27.187L77.932,27.196L125.384,54.497Z" style="fill:white;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -52,8 +52,10 @@ export const actions = {
const featuredSection =
channel.contents.singleColumnBrowseResultsRenderer.tabs[0].tabRenderer.content.sectionListRenderer.contents.find(
(i) => {
return !!i?.shelfRenderer?.content?.horizontalListRenderer
?.items[0].gridChannelRenderer;
return Boolean(
i?.shelfRenderer?.content?.horizontalListRenderer?.items[0]
.gridChannelRenderer
);
}
);
state.featuredChannels =

View file

@ -7,7 +7,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
versionName "0.3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.

View file

@ -11,7 +11,6 @@ apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
dependencies {
implementation project(':capacitor-community-http')
implementation project(':capacitor-app')
implementation project(':capacitor-browser')
implementation project(':capacitor-device')
implementation project(':capacitor-filesystem')
implementation project(':capacitor-haptics')

View file

@ -12,7 +12,7 @@
"filters": [],
"attributes": [],
"versionCode": 1,
"versionName": "1.0",
"versionName": "0.3",
"outputFile": "app-release.apk"
}
],

View file

@ -7,10 +7,6 @@
"pkg": "@capacitor/app",
"classpath": "com.capacitorjs.plugins.app.AppPlugin"
},
{
"pkg": "@capacitor/browser",
"classpath": "com.capacitorjs.plugins.browser.BrowserPlugin"
},
{
"pkg": "@capacitor/device",
"classpath": "com.capacitorjs.plugins.device.DevicePlugin"

View file

@ -2,9 +2,5 @@
<widget version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<access origin="*" />
<feature name="CDVOrientation">
<param name="android-package" value="cordova.plugins.screenorientation.CDVOrientation"/>
</feature>
</widget>

View file

@ -1,98 +0,0 @@
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
package cordova.plugins.screenorientation;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.util.Log;
public class CDVOrientation extends CordovaPlugin {
private static final String TAG = "YoikScreenOrientation";
/**
* Screen Orientation Constants
*/
private static final String ANY = "any";
private static final String PORTRAIT_PRIMARY = "portrait-primary";
private static final String PORTRAIT_SECONDARY = "portrait-secondary";
private static final String LANDSCAPE_PRIMARY = "landscape-primary";
private static final String LANDSCAPE_SECONDARY = "landscape-secondary";
private static final String PORTRAIT = "portrait";
private static final String LANDSCAPE = "landscape";
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
Log.d(TAG, "execute action: " + action);
// Route the Action
if (action.equals("screenOrientation")) {
return routeScreenOrientation(args, callbackContext);
}
// Action not found
callbackContext.error("action not recognised");
return false;
}
private boolean routeScreenOrientation(JSONArray args, CallbackContext callbackContext) {
String action = args.optString(0);
String orientation = args.optString(1);
Log.d(TAG, "Requested ScreenOrientation: " + orientation);
Activity activity = cordova.getActivity();
if (orientation.equals(ANY)) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
} else if (orientation.equals(LANDSCAPE_PRIMARY)) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else if (orientation.equals(PORTRAIT_PRIMARY)) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else if (orientation.equals(LANDSCAPE)) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
} else if (orientation.equals(PORTRAIT)) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
} else if (orientation.equals(LANDSCAPE_SECONDARY)) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
} else if (orientation.equals(PORTRAIT_SECONDARY)) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
}
callbackContext.success();
return true;
}
}

View file

@ -8,9 +8,6 @@ project(':capacitor-community-http').projectDir = new File('../node_modules/@cap
include ':capacitor-app'
project(':capacitor-app').projectDir = new File('../node_modules/@capacitor/app/android')
include ':capacitor-browser'
project(':capacitor-browser').projectDir = new File('../node_modules/@capacitor/browser/android')
include ':capacitor-device'
project(':capacitor-device').projectDir = new File('../node_modules/@capacitor/device/android')

View file

@ -1,116 +1,116 @@
{
"images" : [
"images": [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "AppIcon-20x20@2x.png",
"scale" : "2x"
"size": "20x20",
"idiom": "iphone",
"filename": "AppIcon-20x20@2x.png",
"scale": "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "AppIcon-20x20@3x.png",
"scale" : "3x"
"size": "20x20",
"idiom": "iphone",
"filename": "AppIcon-20x20@3x.png",
"scale": "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "AppIcon-29x29@2x-1.png",
"scale" : "2x"
"size": "29x29",
"idiom": "iphone",
"filename": "AppIcon-29x29@2x-1.png",
"scale": "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "AppIcon-29x29@3x.png",
"scale" : "3x"
"size": "29x29",
"idiom": "iphone",
"filename": "AppIcon-29x29@3x.png",
"scale": "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "AppIcon-40x40@2x.png",
"scale" : "2x"
"size": "40x40",
"idiom": "iphone",
"filename": "AppIcon-40x40@2x.png",
"scale": "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "AppIcon-40x40@3x.png",
"scale" : "3x"
"size": "40x40",
"idiom": "iphone",
"filename": "AppIcon-40x40@3x.png",
"scale": "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "AppIcon-60x60@2x.png",
"scale" : "2x"
"size": "60x60",
"idiom": "iphone",
"filename": "AppIcon-60x60@2x.png",
"scale": "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "AppIcon-60x60@3x.png",
"scale" : "3x"
"size": "60x60",
"idiom": "iphone",
"filename": "AppIcon-60x60@3x.png",
"scale": "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "AppIcon-20x20@1x.png",
"scale" : "1x"
"size": "20x20",
"idiom": "ipad",
"filename": "AppIcon-20x20@1x.png",
"scale": "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "AppIcon-20x20@2x-1.png",
"scale" : "2x"
"size": "20x20",
"idiom": "ipad",
"filename": "AppIcon-20x20@2x-1.png",
"scale": "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "AppIcon-29x29@1x.png",
"scale" : "1x"
"size": "29x29",
"idiom": "ipad",
"filename": "AppIcon-29x29@1x.png",
"scale": "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "AppIcon-29x29@2x.png",
"scale" : "2x"
"size": "29x29",
"idiom": "ipad",
"filename": "AppIcon-29x29@2x.png",
"scale": "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "AppIcon-40x40@1x.png",
"scale" : "1x"
"size": "40x40",
"idiom": "ipad",
"filename": "AppIcon-40x40@1x.png",
"scale": "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "AppIcon-40x40@2x-1.png",
"scale" : "2x"
"size": "40x40",
"idiom": "ipad",
"filename": "AppIcon-40x40@2x-1.png",
"scale": "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "AppIcon-76x76@1x.png",
"scale" : "1x"
"size": "76x76",
"idiom": "ipad",
"filename": "AppIcon-76x76@1x.png",
"scale": "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "AppIcon-76x76@2x.png",
"scale" : "2x"
"size": "76x76",
"idiom": "ipad",
"filename": "AppIcon-76x76@2x.png",
"scale": "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "AppIcon-83.5x83.5@2x.png",
"scale" : "2x"
"size": "83.5x83.5",
"idiom": "ipad",
"filename": "AppIcon-83.5x83.5@2x.png",
"scale": "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "AppIcon-512@2x.png",
"scale" : "1x"
"size": "1024x1024",
"idiom": "ios-marketing",
"filename": "AppIcon-512@2x.png",
"scale": "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"info": {
"version": 1,
"author": "xcode"
}
}

View file

@ -1,6 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
"info": {
"version": 1,
"author": "xcode"
}
}

View file

@ -1,23 +1,23 @@
{
"images" : [
"images": [
{
"idiom" : "universal",
"filename" : "splash-2732x2732-2.png",
"scale" : "1x"
"idiom": "universal",
"filename": "splash-2732x2732-2.png",
"scale": "1x"
},
{
"idiom" : "universal",
"filename" : "splash-2732x2732-1.png",
"scale" : "2x"
"idiom": "universal",
"filename": "splash-2732x2732-1.png",
"scale": "2x"
},
{
"idiom" : "universal",
"filename" : "splash-2732x2732.png",
"scale" : "3x"
"idiom": "universal",
"filename": "splash-2732x2732.png",
"scale": "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"info": {
"version": 1,
"author": "xcode"
}
}

View file

@ -2,9 +2,5 @@
<widget version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<access origin="*" />
<feature name="CDVOrientation">
<param name="ios-package" value="CDVOrientation"/>
</feature>
</widget>

View file

@ -9,18 +9,16 @@ install! 'cocoapods', :disable_input_output_paths => true
def capacitor_pods
pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
pod 'CapacitorCommunityHttp', :path => '../../node_modules/@capacitor-community/http'
pod 'CapacitorApp', :path => '../../node_modules/@capacitor/app'
pod 'CapacitorBrowser', :path => '../../node_modules/@capacitor/browser'
pod 'CapacitorDevice', :path => '../../node_modules/@capacitor/device'
pod 'CapacitorFilesystem', :path => '../../node_modules/@capacitor/filesystem'
pod 'CapacitorHaptics', :path => '../../node_modules/@capacitor/haptics'
pod 'CapacitorShare', :path => '../../node_modules/@capacitor/share'
pod 'CapacitorSplashScreen', :path => '../../node_modules/@capacitor/splash-screen'
pod 'CapacitorStatusBar', :path => '../../node_modules/@capacitor/status-bar'
pod 'CapacitorToast', :path => '../../node_modules/@capacitor/toast'
pod 'HugotomaziCapacitorNavigationBar', :path => '../../node_modules/@hugotomazi/capacitor-navigation-bar'
pod 'CordovaPlugins', :path => '../capacitor-cordova-ios-plugins'
pod 'CapacitorCommunityHttp', :path => '..\..\node_modules\@capacitor-community\http'
pod 'CapacitorApp', :path => '..\..\node_modules\@capacitor\app'
pod 'CapacitorDevice', :path => '..\..\node_modules\@capacitor\device'
pod 'CapacitorFilesystem', :path => '..\..\node_modules\@capacitor\filesystem'
pod 'CapacitorHaptics', :path => '..\..\node_modules\@capacitor\haptics'
pod 'CapacitorShare', :path => '..\..\node_modules\@capacitor\share'
pod 'CapacitorSplashScreen', :path => '..\..\node_modules\@capacitor\splash-screen'
pod 'CapacitorStatusBar', :path => '..\..\node_modules\@capacitor\status-bar'
pod 'CapacitorToast', :path => '..\..\node_modules\@capacitor\toast'
pod 'HugotomaziCapacitorNavigationBar', :path => '..\..\node_modules\@hugotomazi\capacitor-navigation-bar'
end
target 'App' do

View file

@ -3,7 +3,6 @@
"@capacitor-community/http": "^1.4.1",
"@capacitor/android": "^3.4.0",
"@capacitor/app": "^1.1.1",
"@capacitor/browser": "^1.0.7",
"@capacitor/cli": "^3.4.0",
"@capacitor/core": "^3.4.0",
"@capacitor/device": "^1.1.2",

View file

@ -32,6 +32,7 @@
- 👁️ Защита от проследяване: По подразбиране никакви данни не се изпращат от устройството ви
- 📺 Персонализиран видео плейър
- 👎 Връщане на броя на нехаресванията
- 💰 Блокиране на спонсори
## Инсталиране
@ -44,15 +45,16 @@
<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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| С много бъгове, но получавате ранен достъп до най-новите функции | По-малко бъгове от нестабилната, малко повече функции от стабилната | Не е налична докато приложението не бъде достатъчно разработено |
### 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> |
| ------------- | ------------- | ------------- |
| С много бъгове, но получавате ранен достъп до най-новите функции | По-малко бъгове от нестабилната, малко повече функции от стабилната | Не е налична докато приложението не бъде достатъчно разработено |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| С много бъгове, но получавате ранен достъп до най-новите функции | По-малко бъгове от нестабилната, малко повече функции от стабилната | Не е налична докато приложението не бъде достатъчно разработено |
</details>
@ -106,6 +108,7 @@
- Емоджита от [Twemoji team](https://twemoji.twitter.com/), лицензирани под [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
- Лого от [@afnzmn](https://github.com/afnzmn)
- Данните за броя на нехаресванията са предоставени от [Return Youtube Dislike](https://returnyoutubedislike.com/)
- На Ейджей и общността за ИПП(API) на [Sponsorblock](https://https://sponsor.ajay.app/), лицензиран под [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
## На вашето внимание

View file

@ -31,8 +31,8 @@ Leer en otros idiomas: [English,](readme.md) [Español,](readme.es.md) [简体
- ⬆️ Actualizaciones automáticas: ¡Recibe una notificación cuando haya una actualización disponible y baja de versión si no te gusta!
- 👁️ Protección contra el rastreo: No se envían datos desde tu dispositivo por defecto
- 📺 Reproductor de vídeo personalizado
- 👎 Return YouTube Dislike - [*Más información*](https://returnyoutubedislike.com)
- 💰 SponsorBlock - [*Más información*](https://sponsor.ajay.app)
- 👎 Return YouTube Dislike - [_Más información_](https://returnyoutubedislike.com)
- 💰 SponsorBlock - [_Más información_](https://sponsor.ajay.app)
## Instalar
@ -104,7 +104,6 @@ Si quieres traducir la app, [haz clic aquí](/NUXT/plugins/languages) y lee cóm
- 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/)
## Aviso legal
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).

View file

@ -33,8 +33,8 @@ Lire cette page dans dautres langues : [English,](readme.md) [Español,](read
- ⬆️ Mises à jour automatiques : Recevez une notification quand une mise à jour est disponible, et revenez à des versions antérieures si vous le souhaitez !
- 👁️ Protection de suivi : Aucune donnée de télémétrie n'est envoyée depuis votre appareil par défaut
- 📺 Lecteur vidéo personnalisé
- 👎 Return YouTube Dislike (Retourner les Dislikes de YouTube) - [*Plus d'information*](https://returnyoutubedislike.com)
- 💰 SponsorBlock - [*Plus d'information*](https://sponsor.ajay.app)
- 👎 Return YouTube Dislike (Retourner les Dislikes de YouTube) - [_Plus d'information_](https://returnyoutubedislike.com)
- 💰 SponsorBlock - [_Plus d'information_](https://sponsor.ajay.app)
## Installation
@ -47,15 +47,16 @@ Pour installer l'application, veuillez visiter [vuetube.app/install](https://www
<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> |
| ------------- | ------------- | ------------- |
| Beaucoup de bugs, mais vous avez accès anticipé aux nouvelles fonctionnalités | Moins de bugs que l'instable, tout en ayant plus de fonctionnalités que la stable | Indisponible pour l'instant |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Beaucoup de bugs, mais vous avez accès anticipé aux nouvelles fonctionnalités | Moins de bugs que l'instable, tout en ayant plus de fonctionnalités que la stable | Indisponible pour l'instant |
### 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> |
| ------------- | ------------- | ------------- |
| Beaucoup de bugs, mais vous avez accès anticipé aux nouvelles fonctionnalités | Moins de bugs que l'instable, tout en ayant plus de fonctionnalités que la stable | Indisponible pour l'instant |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| Beaucoup de bugs, mais vous avez accès anticipé aux nouvelles fonctionnalités | Moins de bugs que l'instable, tout en ayant plus de fonctionnalités que la stable | Indisponible pour l'instant |
</details>

View file

@ -21,41 +21,41 @@
</p>
לקרוא בשפות אחרות: [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)
<div style="float: right; right: 5px;">
## פיצ'רים \ תכונות
<img src="./resources/readme-he/Features.he.svg" alt="VueTube icon" height="100"/>
- 🎨 סטיילים: בהיר, קהה, אולד, וכל צבהי הקשת
- 🖌️ ממשק משתמש ניתן להתאמה אישית: אפשר גם להוריד את מה שאתם לא צריכים!
- ⬆️ עדכונים אוטומטים, אפשר לשנות גרסה בחופשיות
- 👁️ הגנת מעקב: כברירת מחדל לא נשלח מידע ממכשירך
- 👎 מחזיר את הדיסלייק ביוטיוב
- 🎨 סטיילים: בהיר, קהה, אולד, וכל צבהי הקשת
- 🖌️ ממשק משתמש ניתן להתאמה אישית: אפשר גם להוריד את מה שאתם לא צריכים!
- ⬆️ עדכונים אוטומטים, אפשר לשנות גרסה בחופשיות
- 👁️ הגנת מעקב: כברירת מחדל לא נשלח מידע ממכשירך
- 👎 מחזיר את הדיסלייק ביוטיוב
## הורדה והתקנה
<img style="right: 10px;" src="./resources/readme-he/Install.he.svg" alt="VueTube icon" height="100"/>
כדי להתקין, תעברו לאתר הבא: www.vuetube.app/install
כדי להתקין, תעברו לאתר הבא: www.vuetube.app/install
<details style="float: right;">
<summary>או תלחצו פה כדי לראות את כל הגרסאות ה</summary>
<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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| הרבה באגים, אבל אפשר לנסות פיצ'רים חדשים | פחות באגים, ויותר פיצ'רים מגרסה היציבה | לא ניתנה להורדה עד שהאפליקציה תהיה יותר מוכנה |
### 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> |
| ------------- | ------------- | ------------- |
| הרבה באגים, אבל אפשר לנסות פיצ'רים חדשים | פחות באגים, ויותר פיצ'רים מגרסה היציבה | לא ניתנה להורדה עד שהאפליקציה תהיה יותר מוכנה
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| הרבה באגים, אבל אפשר לנסות פיצ'רים חדשים | פחות באגים, ויותר פיצ'רים מגרסה היציבה | לא ניתנה להורדה עד שהאפליקציה תהיה יותר מוכנה |
</details>
## תוכניות לעתיד
@ -69,8 +69,6 @@
- 🖼️ מודה של תמונה-בתוך-תמונה
- ועוד!
## צילומי מסך
בקרו באתרינו: www.vuetube.app/info/screenshots
@ -94,14 +92,12 @@
היה דיבור על לבנות משהו כזה בשרת דיסקורד של "החזרו את הדיסלייק ביוטיוב" / "Return Youtube Dislike" כבר די הרבה זמן, אז חשבתי לנסות!
### רוצה לעזור?
תקרא\י את הדרך לתרום לנו פה: www.vuetube.app/contributing
## תורמים
<a href="https://github.com/VueTubeApp/VueTube/graphs/contributors">
<img src="https://contrib.rocks/image?repo=VueTubeApp/VueTube" />
</a>
@ -118,4 +114,5 @@
The VueTube project and its contents are not affiliated with, funded, authorized, endorsed by, or in any way accociated with YouTube, Google LLC or any of its affiliates and subsidaries. The official YouTube website can be found at [www.youtube.com](https://www.youtube.com).
Any trademark, service mark, trade name, or other intellectual property rights used in the VueTube project are owned by the respective owners.
</div>

View file

@ -45,15 +45,16 @@ Untuk menginstal aplikasi silahkan kunjungi www.vuetube.app/install
<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> |
| ------------- | ------------- | ------------- |
| Banyak bug, tetapi akses awal ke fitur baru | Lebih sedikit bug dari unstable, sedikit lebih banyak fitur dari stable | Belum tersedia sampai aplikasi dikembangkan lebih jauh |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Banyak bug, tetapi akses awal ke fitur baru | Lebih sedikit bug dari unstable, sedikit lebih banyak fitur dari stable | Belum tersedia sampai aplikasi dikembangkan lebih jauh |
### 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> |
| ------------- | ------------- | ------------- |
| Banyak bug, tetapi akses awal ke fitur baru | Lebih sedikit bug dari unstable, sedikit lebih banyak fitur dari stable | Belum tersedia sampai aplikasi dikembangkan lebih jauh |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| Banyak bug, tetapi akses awal ke fitur baru | Lebih sedikit bug dari unstable, sedikit lebih banyak fitur dari stable | Belum tersedia sampai aplikasi dikembangkan lebih jauh |
</details>
@ -109,6 +110,7 @@ Jika kamu ingin menerjemahkan aplikasi ini, [klik disini](/NUXT/plugins/language
- Emoji oleh [tim Twemoji](https://twemoji.twitter.com/), Dilisensikan dibawah [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
- Logo VueTube oleh [@afnzmn](https://github.com/afnzmn)
- Data dislike YouTube publik disediakan oleh [Return Youtube Dislike](https://returnyoutubedislike.com)
## Peringatan
Proyek VueTube dan isinya tidak beraffiliasi dengan, didanai, diberi izin, didukung oleh, atau dengan cara apapun terkait dengan YouTube, Google LLC atau segala afiliasi dan anak perusahaannya. Website YouTube resmi bisa ditemukan di [www.youtube.com](https://www.youtube.com).

View file

@ -44,15 +44,16 @@ Per installare visita www.vuetube.app/install
<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> |
| ------------- | ------------- | ------------- |
| Molti bug, ma accesso anticipato alle funzionalità | Meno bug della versione instabile, leggermente più funzionalità della stabile | Non disponibile fino a quando l'app non sarà più sviluppata |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Molti bug, ma accesso anticipato alle funzionalità | Meno bug della versione instabile, leggermente più funzionalità della stabile | Non disponibile fino a quando l'app non sarà più sviluppata |
### 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> |
| ------------- | ------------- | ------------- |
| Molti bug, ma accesso anticipato alle funzionalità | Meno bug della versione instabile, leggermente più funzionalità della stabile | Non disponibile fino a quando l'app non sarà più sviluppata |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| Molti bug, ma accesso anticipato alle funzionalità | Meno bug della versione instabile, leggermente più funzionalità della stabile | Non disponibile fino a quando l'app non sarà più sviluppata |
</details>

View file

@ -26,7 +26,7 @@
<img src="resources/readme-ja/Features.ja.svg" alt="VueTube icon" height="100"/>
- 🎨 テーマ色をカスタマイズする:ライト系、 ダーク系、OLED、などなど
- 🖌️ UIのカストマイズアクセントカラーをはじめ、UIをフルカスタマイズして、使用しない機能を削除できます
- 🖌️ UI のカストマイズアクセントカラーをはじめ、UI をフルカスタマイズして、使用しない機能を削除できます!
- ⬆️ 自動更新:アップデートのお知らせ&気に入らなければダウングレードができます!
- 👁️ トラッキング防止: 自分のデバイスから送信されるデータはデフォルトでは送信されません。
- 📺 カスタムビデオプレーヤー
@ -44,15 +44,16 @@
<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> |
| ------------- | ------------- | ------------- |
| バグが発生する可能性があるけれど最新の機能をいち早く試されます。 | unstable よりもバグが少ないけれど、stable よりも若干機能が多い。 | VueTubeが開発中のため、このバージョンは暫くダウンロードできない |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| バグが発生する可能性があるけれど最新の機能をいち早く試されます。 | unstable よりもバグが少ないけれど、stable よりも若干機能が多い。 | VueTube が開発中のため、このバージョンは暫くダウンロードできない |
### 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> |
| ------------- | ------------- | ------------- |
| バグが発生する可能性がけれど最新の機能をいち早く試されます。 | unstable よりもバグが少ないが、stable よりも若干機能が多い。 | VueTubeが開発中のため、このバージョンは暫くダウンロードできない |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| バグが発生する可能性がけれど最新の機能をいち早く試されます。 | unstable よりもバグが少ないが、stable よりも若干機能が多い。 | VueTube が開発中のため、このバージョンは暫くダウンロードできない |
</details>
@ -85,6 +86,7 @@
<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>
### このアプリケーションを作った理由
こういう機能が「Return Youtube Dislike」というディスコードのサーバーで話題になり、
何か作ってみようかなと思ったからです!
@ -104,6 +106,6 @@
## 謝辞
- 絵文字は[Twemoji](https://twemoji.twitter.com/)のものを使用しました。ライセンスは[CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)です
- VueTubeのロゴは[@afnzmn](https://github.com/afnzmn)に作ってもらいました
- VueTube のロゴは[@afnzmn](https://github.com/afnzmn)に作ってもらいました
- 低評価数は[Return Youtube Dislike](https://returnyoutubedislike.com)に提供していただいています
- AjayとSponsorblockコミュニティはSponsorblock APIを提供していただいています。ライセンスは[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)です
- Ajay と Sponsorblock コミュニティは Sponsorblock API を提供していただいています。ライセンスは[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)です

View file

@ -31,8 +31,8 @@ Read this in other languages: [English,](readme.md) [Español,](readme.es.md) [
- ⬆️ Auto Update: Be notified when an update is available & downgrade if you dislike it!
- 👁️ Tracking Protection: No telemetry is sent from your device by default
- 📺 Custom video player
- 👎 Return YouTube Dislike - [*More info*](https://returnyoutubedislike.com)
- 💰 SponsorBlock - [*More info*](https://sponsor.ajay.app)
- 👎 Return YouTube Dislike - [_More info_](https://returnyoutubedislike.com)
- 💰 SponsorBlock - [_More info_](https://sponsor.ajay.app)
## Install
@ -45,15 +45,16 @@ To install please visit www.vuetube.app/install
<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 lot of bugs, but early access to features | Less bugs than unstable, slightly more features than stable | Not available until the app becomes more developed |
| <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.3/VueTube-Canary-June-22-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 lot of bugs, but early access to features | Less bugs than unstable, slightly more features than stable | Not available until the app becomes more developed |
### 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> |
| ------------- | ------------- | ------------- |
| A lot of bugs, but early access to features | Less bugs than unstable, slightly more features than stable | Not available until the app becomes more developed |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| A lot of bugs, but early access to features | Less bugs than unstable, slightly more features than stable | Not available until the app becomes more developed |
</details>

View file

@ -45,15 +45,16 @@
<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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Многу грешки, но ран пристап до функциите. | Помалку грешки од нестабилна, малку повеќе функции од стабилна. | Не е достапна додека апликацијата не стане поразвиена. |
### 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> |
| ------------- | ------------- | ------------- |
| Многу грешки, но ран пристап до функциите. | Помалку грешки од нестабилна, малку повеќе функции од стабилна. | Не е достапна додека апликацијата не стане поразвиена. |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| Многу грешки, но ран пристап до функциите. | Помалку грешки од нестабилна, малку повеќе функции од стабилна. | Не е достапна додека апликацијата не стане поразвиена. |
</details>

View file

@ -32,8 +32,8 @@ Baca ini dalam bahasa lain: [English,](readme.md) [Español,](readme.es.md) [简
- ⬆️ Kemaskini Auto: Anda akan dimaklumkan apabila kemas kini tersedia & kembali ke versi lama jika anda tidak menyukainya!
- 👁️ Perlindungan Penjejak: Tiada telemetri (maklumat peribadi) dihantar daripada peranti anda secara lalai
- 📺 Pemain video yang boleh disesuaikan
- 👎 Return YouTube Dislike: [*Maklumat lanjut*](https://returnyoutubedislike.com)
- 💰SponsorBlock: [*Maklumat lanjut*](https://sponsor.ajay.app)
- 👎 Return YouTube Dislike: [_Maklumat lanjut_](https://returnyoutubedislike.com)
- 💰SponsorBlock: [_Maklumat lanjut_](https://sponsor.ajay.app)
## Pasang
@ -46,15 +46,16 @@ Untuk memasang aplikasi VueTube, sila lawati www.vuetube.app/install
<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> |
| ------------- | ------------- | ------------- |
| Banyak pepijat, tetapi anda boleh mendapat akses awal kepada ciri-ciri baharu | Kurang pepijat daripada tidak stabil, lebih sedikit ciri daripada stabil | Tidak tersedia sehingga aplikasi menjadi lebih berkembang |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Banyak pepijat, tetapi anda boleh mendapat akses awal kepada ciri-ciri baharu | Kurang pepijat daripada tidak stabil, lebih sedikit ciri daripada stabil | Tidak tersedia sehingga aplikasi menjadi lebih berkembang |
### 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> |
| ------------- | ------------- | ------------- |
| Banyak pepijat, tetapi anda boleh mendapat akses awal kepada ciri-ciri baharu | Kurang pepijat daripada tidak stabil, lebih sedikit ciri daripada stabil | Tidak tersedia sehingga aplikasi menjadi lebih berkembang |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| Banyak pepijat, tetapi anda boleh mendapat akses awal kepada ciri-ciri baharu | Kurang pepijat daripada tidak stabil, lebih sedikit ciri daripada stabil | Tidak tersedia sehingga aplikasi menjadi lebih berkembang |
</details>
@ -114,6 +115,6 @@ Sekiranya anda mahu menterjemahkan aplikasi ini, klik di [sini](https://github.c
## Penafian
Projek VueTube dan kandungannya tidak bergabung dengan, dibiayai, diberi izin, disokong oleh, atau dalam apa jua cara dikaitkan dengan YouTube, Google LLC atau mana-mana sekutu dan anak syarikatnya. Laman web rasmi YouTube boleh didapati di [www.youtube.com](https://www.youtube.com).
Projek VueTube dan kandungannya tidak bergabung dengan, dibiayai, diberi izin, disokong oleh, atau dalam apa jua cara dikaitkan dengan YouTube, Google LLC atau mana-mana sekutu dan anak syarikatnya. Laman web rasmi YouTube boleh didapati di [www.youtube.com](https://www.youtube.com).
Sebarang tanda dagangan, tanda perkhidmatan, nama dagangan atau hak harta intelek lain yang digunakan dalam projek VueTube dimiliki oleh pemilik masing-masing.

View file

@ -22,6 +22,7 @@ Uitgesproken als: Vju - Tjube (<code>/ˈvjuːˌtjuːb/</code>)
</p>
Lees dit in andere talen: [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)
## Functies
<img src="./resources/readme-nl/Features.nl.svg" alt="VueTube icon" height="100"/>
@ -45,15 +46,16 @@ Om te installeren, ga naar www.vuetube.app/install
<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> |
| ------------- | ------------- | ------------- |
| Heel veel bugs, maar vroegtijdige toegang tot de nieuwste functies | Minder bugs dan de onstabiele versie, net iets meer functies dan de stabiele versie | Niet beschikbaar totdat de app meer is ontwikkeld |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Heel veel bugs, maar vroegtijdige toegang tot de nieuwste functies | Minder bugs dan de onstabiele versie, net iets meer functies dan de stabiele versie | Niet beschikbaar totdat de app meer is ontwikkeld |
### 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> |
| ------------- | ------------- | ------------- |
| Heel veel bugs, maar vroegtijdige toegang tot de nieuwste functies | Minder bugs dan de onstabiele versie, net iets meer functies dan de stabiele versie | Niet beschikbaar totdat de app meer is ontwikkeld |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| Heel veel bugs, maar vroegtijdige toegang tot de nieuwste functies | Minder bugs dan de onstabiele versie, net iets meer functies dan de stabiele versie | Niet beschikbaar totdat de app meer is ontwikkeld |
</details>

View file

@ -45,15 +45,16 @@ Aby zainstalować aplikację, odwiedź www.vuetube.app/install
<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> |
| ------------- | ------------- | ------------- |
| Dużo błędów oraz wczesny dostęp do najnowszych funkcji | Mniej błędów niż w wersji niestabilnej, nieco więcej funkcji niż w wersji stabilnej | Niedostępna, dopóki aplikacja nie będzie bardziej rozwinięta |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Dużo błędów oraz wczesny dostęp do najnowszych funkcji | Mniej błędów niż w wersji niestabilnej, nieco więcej funkcji niż w wersji stabilnej | Niedostępna, dopóki aplikacja nie będzie bardziej rozwinięta |
### 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> |
| ------------- | ------------- | ------------- |
| Dużo błędów oraz wczesny dostęp do najnowszych funkcji | Mniej błędów niż w wersji niestabilnej, nieco więcej funkcji niż w wersji stabilnej | Niedostępna, dopóki aplikacja nie będzie bardziej rozwinięta |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| Dużo błędów oraz wczesny dostęp do najnowszych funkcji | Mniej błędów niż w wersji niestabilnej, nieco więcej funkcji niż w wersji stabilnej | Niedostępna, dopóki aplikacja nie będzie bardziej rozwinięta |
</details>

View file

@ -45,15 +45,16 @@ Para instalar visite www.vuetube.app/install
<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> |
| ------------- | ------------- | ------------- |
| Muitos bugs, mas acesso antecipado a novas funções | Menos bugs, pode ter um pouco mais de funções do que a estável | Não disponível até que o app esteja mais maduro |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Muitos bugs, mas acesso antecipado a novas funções | Menos bugs, pode ter um pouco mais de funções do que a estável | Não disponível até que o app esteja mais maduro |
### 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> |
| ------------- | ------------- | ------------- |
| Muitos bugs, mas acesso antecipado a novas funções | Menos bugs, pode ter um pouco mais de funções do que a estável | Não disponível até que o app esteja mais maduro |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| Muitos bugs, mas acesso antecipado a novas funções | Menos bugs, pode ter um pouco mais de funções do que a estável | Não disponível até que o app esteja mais maduro |
</details>

View file

@ -45,15 +45,16 @@
<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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| நிறைய பிழைகள் உள்ளன, ஆனால் அம்சங்களுக்கான ஆரம்ப அணுகல் | நிலையற்றதை விட குறைவான பிழைகள், நிலையானதை விட சற்று கூடுதல் அம்சங்கள் | பயன்பாடு இன்னும் மேம்படுத்தப்படும் வரை கிடைக்காது |
### 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> |
| ------------- | ------------- | ------------- |
| நிறைய பிழைகள் உள்ளன, ஆனால் அம்சங்களுக்கான ஆரம்ப அணுகல் | நிலையற்றதை விட குறைவான பிழைகள், நிலையானதை விட சற்று கூடுதல் அம்சங்கள் | பயன்பாடு இன்னும் மேம்படுத்தப்படும் வரை கிடைக்காது |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| நிறைய பிழைகள் உள்ளன, ஆனால் அம்சங்களுக்கான ஆரம்ப அணுகல் | நிலையற்றதை விட குறைவான பிழைகள், நிலையானதை விட சற்று கூடுதல் அம்சங்கள் | பயன்பாடு இன்னும் மேம்படுத்தப்படும் வரை கிடைக்காது |
</details>

View file

@ -29,9 +29,9 @@
- 🎨 可自定义的主题明亮、黑暗、OLED、或者从彩虹中的任何颜色选择
- 🖌️ 使用者界面:完全自定义强调色、以及界面的其他部分以便移除您不使用的功能!
- ⬆️ 自动更新:有新版本可用时接收通知,如果您不喜欢也可以撤销更新!
- 👁️ 追踪阻断VueTube默认不会发送任何跟踪数据
- 📺 自家制的HTML5影片播放器
- 👎 利用Return Youtube Dislikes的API带回YouTube的「踩一下」数据 — [更多信息](https://www.returnyoutubedislike.com/)
- 👁️ 追踪阻断VueTube 默认不会发送任何跟踪数据
- 📺 自家制的 HTML5 影片播放器
- 👎 利用 Return Youtube Dislike 的 API 带回 YouTube 的「踩一下」数据 — [更多信息](https://www.returnyoutubedislike.com/)
- 💰 SponsorBlock — [更多信息](https://sponsor.ajay.app/)
## 下载
@ -45,15 +45,16 @@
<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> |
| ------------- | ------------- | ------------- |
| 有最新的功能并且经常有更新但bug也最常见。 | bug比unstable较少功能也比stable稍新 | 由于VueTube尚未完成开发暂时未有Stable版本下载 |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| 有最新的功能,并且经常有更新,但 bug 也最常见。 | bug 比 unstable 较少,功能也比 stable 稍新 | 由于 VueTube 尚未完成开发,暂时未有 Stable 版本下载 |
### 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> |
| ------------- | ------------- | ------------- |
| 有最新的功能并且经常有更新但bug也最常见。 | bug比unstable较少功能也比stable稍新 | 由于VueTube尚未完成开发暂时未有Stable版本下载 |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| 有最新的功能,并且经常有更新,但 bug 也最常见。 | bug 比 unstable 较少,功能也比 stable 稍新 | 由于 VueTube 尚未完成开发,暂时未有 Stable 版本下载 |
</details>
@ -89,6 +90,7 @@
### 为什么要开发这应用程序?
开发这应用程序的主意其实已在 Return YouTube Dislike 的 discord 上讨论一段时间了,因此我觉得我应该要尝试一下!
### 如何提交代码
请访问我们的网站查閲提交代码指南www.vuetube.app/contributing
@ -104,12 +106,13 @@
## 鸣谢
- 感谢[Twemoji](https://twemoji.twitter.com/)提供的表情符号。授权于[CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
- 感谢[@afnzmn](https://github.com/afnzmn)提供VueTube标志
- 感谢[@afnzmn](https://github.com/afnzmn)提供 VueTube 标志
- 感谢[Return YouTube Dislike](https://returnyoutubedislike.com)提供的「踩一下」数据
- 感谢Ajay和Sponsorblock社区提供[Sponsorblock的API](http://sponsorblock.ajay.app/)。授权于[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
- 感谢 Ajay 和 Sponsorblock 社区提供[Sponsorblock 的 API](http://sponsorblock.ajay.app/)。授权于[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
## 免责声明
本项目及其内容不隶属于 YouTube、Google LLC 或其任何关联公司和子公司,也不受其资助、授权、认可或以任何方式与之关联。 YouTube的官方网站是[www.youtube.com](https://www.youtube.com).
本项目及其内容不隶属于 YouTube、Google LLC 或其任何关联公司和子公司,也不受其资助、授权、认可或以任何方式与之关联。 YouTube 的官方网站是:[www.youtube.com](https://www.youtube.com).
本项目中使用的任何商标、服务标志、商品名称或其他知识产权均归各自所有者所有。

View file

@ -22,7 +22,6 @@
其他語言版本:[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)
## 功能
<img src="./resources/readme-zh-hant/Features.zh-hant.svg" alt="VueTube icon" height="100"/>
@ -30,10 +29,10 @@
- 🎨 可自訂的主題明亮、黑暗、OLED、或者從彩虹中的任何顏色選擇
- 🖌️ 使用者介面:完全自訂強調色、以及介面的其他部分以便移除您不使用的功能!
- ⬆️ 自動更新:有新版本可用時接收通知,如果您不喜歡也可以撤銷更新!
- 👁️ 追蹤阻斷VueTube預設不會傳送任何跟蹤數據
- 📺 自家製的HTML5影片播放器
- 👎 利用Return Youtube Dislikes的API帶回YouTube的「不喜歡」數據 — [更多信息](https://www.returnyoutubedislike.com/)
- 💰 SponsorBlock — [更多信息](https://sponsor.ajay.app/)
- 👁️ 追蹤阻斷VueTube 預設不會傳送任何跟蹤數據
- 📺 自家製的 HTML5 影片播放器
- 👎 利用 Return Youtube Dislike 的 API 帶回 YouTube 的「不喜歡」數據 — [更多資訊](https://www.returnyoutubedislike.com/)
- 💰 SponsorBlock — [更多資訊](https://sponsor.ajay.app/)
## 下載
@ -46,15 +45,16 @@
<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> |
| ------------- | ------------- | ------------- |
| 有最新的功能並且經常有更新但bug也最常見。 | bug比unstable較少功能也比stable稍新。 | 由於VueTube尚未完成開發暫時未有Stable版本下載 |
| <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> |
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| 有最新的功能,並且經常有更新,但 bug 也最常見。 | bug 比 unstable 較少,功能也比 stable 稍新。 | 由於 VueTube 尚未完成開發,暫時未有 Stable 版本下載 |
### 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> |
| ------------- | ------------- | ------------- |
| 有最新的功能並且經常有更新但bug也最常見。 | bug比unstable較少功能也比stable稍新。 | 由於VueTube尚未完成開發暫時未有Stable版本下載 |
| <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> |
| --------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| 有最新的功能,並且經常有更新,但 bug 也最常見。 | bug 比 unstable 較少,功能也比 stable 稍新。 | 由於 VueTube 尚未完成開發,暫時未有 Stable 版本下載 |
</details>
@ -65,7 +65,7 @@
- 🔍 進階搜尋功能
- 🗞️ 本地儲存觀看記錄
- ✂️ Shorts
- 🧑 Google帳戶登入
- 🧑 Google 帳戶登入
- 🖼️ 畫中畫模式
- 以及更多!
@ -102,12 +102,13 @@
## 鳴謝
- 感謝[Twemoji](https://twemoji.twitter.com/)提供的表情符號。授權於[CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
- 感謝[@afnzmn](https://github.com/afnzmn)提供VueTube標誌
- 感謝[@afnzmn](https://github.com/afnzmn)提供 VueTube 標誌
- 感謝[Return YouTube Dislike](https://returnyoutubedislike.com)提供的「不喜歡」數據
- 感謝Ajay和Sponsorblock社群提供[Sponsorblock的API](http://sponsorblock.ajay.app/)。授權於[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
- 感謝 Ajay 和 Sponsorblock 社群提供[Sponsorblock 的 API](http://sponsorblock.ajay.app/)。授權於[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
## 免責聲明
本項目及其內容不隸屬於 YouTube、Google LLC 或其任何關聯公司和子公司也不受其資助、授權、認可或以任何方式與之關聯。YouTube的官方網站是[www.youtube.com](https://www.youtube.com).
本項目及其內容不隸屬於 YouTube、Google LLC 或其任何關聯公司和子公司也不受其資助、授權、認可或以任何方式與之關聯。YouTube 的官方網站是:[www.youtube.com](https://www.youtube.com).
本項目中使用的任何商標、服務標誌、商品名稱或其他知識產權均歸各自所有者所有。