1
0
mirror of https://github.com/TeamPiped/Piped.git synced 2024-12-13 13:50:27 +05:30

Add more translatable strings.

This commit is contained in:
FireMasterK 2021-08-26 01:25:30 +05:30
parent ddf768c5bd
commit c70a5f2888
No known key found for this signature in database
GPG Key ID: 49451E4482CC5BCD
4 changed files with 79 additions and 47 deletions

View File

@ -1,18 +1,18 @@
<template> <template>
<h1 class="uk-text-bold uk-text-center">Feed</h1> <h1 class="uk-text-bold uk-text-center" v-t="'titles.feed'" />
<small>You can import subscriptions from <router-link to="/import">here</router-link>.</small> <small>You can import subscriptions from <router-link to="/import">here</router-link>.</small>
<br /> <br />
<router-link to="/subscriptions" class="uk-text-center">View Subscriptions</router-link> <router-link to="/subscriptions" class="uk-text-center" v-t="'actions.view_subscriptions'" />
<br /> <br />
Sort by: {{ $t("actions.sort_by") }}
<select class="uk-select uk-width-auto" v-model="selectedSort" @change="onChange()"> <select class="uk-select uk-width-auto" v-model="selectedSort" @change="onChange()">
<option value="descending">Most Recent</option> <option value="descending" v-t="'actions.most_recent'" />
<option value="ascending">Least Recent</option> <option value="ascending" v-t="'actions.least_recent'" />
<option value="channel_ascending">Channel Name (A-Z)</option> <option value="channel_ascending" v-t="'actions.channel_name_asc'" />
<option value="channel_descending">Channel Name (Z-A)</option> <option value="channel_descending" v-t="'actions.channel_name_desc'" />
</select> </select>
<div class="uk-align-right"> <div class="uk-align-right">
@ -50,7 +50,7 @@ export default {
}); });
}, },
activated() { activated() {
document.title = "Feed - Piped"; document.title = this.$t("titles.feed") + " - Piped";
if (this.videos.length > 0) this.updateWatched(this.videos); if (this.videos.length > 0) this.updateWatched(this.videos);
}, },
methods: { methods: {

View File

@ -29,7 +29,7 @@
<div class="uk-navbar-right"> <div class="uk-navbar-right">
<ul class="uk-navbar-nav"> <ul class="uk-navbar-nav">
<li> <li>
<router-link to="/preferences">Preferences</router-link> <router-link to="/preferences" v-t="'titles.preferences'" />
</li> </li>
<li v-if="shouldShowLogin"> <li v-if="shouldShowLogin">
<router-link to="/login" v-t="'titles.login'" /> <router-link to="/login" v-t="'titles.login'" />
@ -38,7 +38,7 @@
<router-link to="/register" v-t="'titles.register'" /> <router-link to="/register" v-t="'titles.register'" />
</li> </li>
<li v-if="shouldShowHistory"> <li v-if="shouldShowHistory">
<router-link to="/history">History</router-link> <router-link to="/history" v-t="'titles.history'" />
</li> </li>
<li v-if="authenticated"> <li v-if="authenticated">
<router-link to="/feed" v-t="'titles.feed'" /> <router-link to="/feed" v-t="'titles.feed'" />

View File

@ -1,104 +1,104 @@
<template> <template>
<div class="uk-flex uk-flex-between uk-flex-middle"> <div class="uk-flex uk-flex-between uk-flex-middle">
<button class="uk-button uk-button-text" @click="$router.go(-1) || $router.push('/')"> <button class="uk-button uk-button-text" @click="$router.go(-1) || $router.push('/')">
<font-awesome-icon icon="chevron-left" /> &nbsp;Back <font-awesome-icon icon="chevron-left" /> &nbsp;{{ $t("actions.back") }}
</button> </button>
<span><h1 class="uk-text-bold uk-text-center" v-t="'titles.preferences'"/></span> <span><h1 class="uk-text-bold uk-text-center" v-t="'titles.preferences'"/></span>
<span /> <span />
</div> </div>
<hr /> <hr />
<h2>SponsorBlock</h2> <h2>SponsorBlock</h2>
<p>Uses the API from <a href="https://sponsor.ajay.app/">sponsor.ajay.app</a></p> <p>{{ $t("actions.uses_api_from") }}<a href="https://sponsor.ajay.app/">sponsor.ajay.app</a></p>
<b>Enable Sponsorblock</b> <b v-t="'actions.enable_sponsorblock'" />
<br /> <br />
<input class="uk-checkbox" v-model="sponsorBlock" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="sponsorBlock" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Skip Sponsors</b> <b v-t="'actions.skip_sponsors'" />
<br /> <br />
<input class="uk-checkbox" v-model="skipSponsor" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="skipSponsor" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Skip Intermission/Intro Animation</b> <b v-t="'actions.skip_intro'" />
<br /> <br />
<input class="uk-checkbox" v-model="skipIntro" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="skipIntro" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Skip Endcards/Credits</b> <b v-t="'actions.skip_outro'" />
<br /> <br />
<input class="uk-checkbox" v-model="skipOutro" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="skipOutro" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Skip Preview/Recap</b> <b v-t="'actions.skip_preview'" />
<br /> <br />
<input class="uk-checkbox" v-model="skipPreview" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="skipPreview" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Skip Interaction Reminder (Subscribe)</b> <b v-t="'actions.skip_interaction'" />
<br /> <br />
<input class="uk-checkbox" v-model="skipInteraction" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="skipInteraction" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Skip Unpaid/Self Promotion</b> <b v-t="'actions.skip_self_promo'" />
<br /> <br />
<input class="uk-checkbox" v-model="skipSelfPromo" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="skipSelfPromo" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Skip Music: Non-Music Section</b> <b v-t="'actions.skip_non_music'" />
<br /> <br />
<input class="uk-checkbox" v-model="skipMusicOffTopic" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="skipMusicOffTopic" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Theme</b> <b v-t="'actions.theme'" />
<br /> <br />
<select class="uk-select uk-width-auto" v-model="selectedTheme" @change="onChange($event)"> <select class="uk-select uk-width-auto" v-model="selectedTheme" @change="onChange($event)">
<option value="auto">Auto</option> <option value="auto" v-t="'actions.auto'" />
<option value="dark">Dark</option> <option value="dark" v-t="'actions.dark'" />
<option value="light">Light</option> <option value="light" v-t="'actions.light'" />
</select> </select>
<br /> <br />
<b>Autoplay Video</b> <b v-t="'actions.autoplay_video'" />
<br /> <br />
<input class="uk-checkbox" v-model="autoPlayVideo" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="autoPlayVideo" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Audio Only</b> <b v-t="'actions.audio_only'" />
<br /> <br />
<input class="uk-checkbox" v-model="listen" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="listen" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Default Quality</b> <b v-t="'actions.default_quality'" />
<br /> <br />
<select class="uk-select uk-width-auto" v-model="defaultQuality" @change="onChange($event)"> <select class="uk-select uk-width-auto" v-model="defaultQuality" @change="onChange($event)">
<option value="0">Auto</option> <option value="0" v-t="'actions.auto'" />
<option :key="resolution" v-for="resolution in resolutions" :value="resolution">{{ resolution }}p</option> <option :key="resolution" v-for="resolution in resolutions" :value="resolution">{{ resolution }}p</option>
</select> </select>
<br /> <br />
<b>Buffering Goal (in seconds)</b> <b v-t="'actions.buffering_goal'" />
<br /> <br />
<input class="uk-input uk-width-auto" v-model="bufferingGoal" @change="onChange($event)" type="text" /> <input class="uk-input uk-width-auto" v-model="bufferingGoal" @change="onChange($event)" type="text" />
<br /> <br />
<b>Country Selection</b> <b v-t="'actions.country_selection'" />
<br /> <br />
<select class="uk-select uk-width-auto" v-model="country" @change="onChange($event)"> <select class="uk-select uk-width-auto" v-model="country" @change="onChange($event)">
<option :key="country.code" v-for="country in countryMap" :value="country.code">{{ country.name }}</option> <option :key="country.code" v-for="country in countryMap" :value="country.code">{{ country.name }}</option>
</select> </select>
<br /> <br />
<b>Default Homepage</b> <b v-t="'actions.default_homepage'" />
<br /> <br />
<select class="uk-select uk-width-auto" v-model="defaultHomepage" @change="onChange($event)"> <select class="uk-select uk-width-auto" v-model="defaultHomepage" @change="onChange($event)">
<option value="trending">Trending</option> <option value="trending" v-t="'titles.trending'" />
<option value="feed">Feed</option> <option value="feed" v-t="'titles.feed'" />
</select> </select>
<br /> <br />
<b>Show Comments</b> <b v-t="'actions.show_comments'" />
<br /> <br />
<input class="uk-checkbox" v-model="showComments" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="showComments" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Minimize Description by default</b> <b v-t="'actions.minimize_description'" />
<br /> <br />
<input class="uk-checkbox" v-model="minimizeDescription" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="minimizeDescription" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Store Watch History</b> <b v-t="'actions.store_watch_history'" />
<br /> <br />
<input class="uk-checkbox" v-model="watchHistory" @change="onChange($event)" type="checkbox" /> <input class="uk-checkbox" v-model="watchHistory" @change="onChange($event)" type="checkbox" />
<br /> <br />
<b>Language Selection</b> <b v-t="'actions.language_selection'" />
<br /> <br />
<select class="uk-select uk-width-auto" v-model="selectedLanguage" @change="onChange($event)"> <select class="uk-select uk-width-auto" v-model="selectedLanguage" @change="onChange($event)">
<option :key="language.code" v-for="language in languages" :value="language.code">{{ language.name }}</option> <option :key="language.code" v-for="language in languages" :value="language.code">{{ language.name }}</option>
</select> </select>
<h2>Instances List</h2> <h2 v-t="'actions.instances_list'" />
<table class="uk-table"> <table class="uk-table">
<thead> <thead>
<tr> <tr>
@ -191,7 +191,8 @@ export default {
cdn: split[3].trim(), cdn: split[3].trim(),
}); });
} }
if (this.instances.filter(instance => instance.apiurl == this.apiUrl()).length > 0) });
if (this.instances.filter(instance => instance.apiurl == this.apiUrl()).length == 0)
this.instances.push({ this.instances.push({
name: "Custom Instance", name: "Custom Instance",
apiurl: this.apiUrl(), apiurl: this.apiUrl(),
@ -199,7 +200,6 @@ export default {
cdn: "Unknown", cdn: "Unknown",
}); });
}); });
});
if (localStorage) { if (localStorage) {
this.selectedInstance = this.getPreferenceString("instance", "https://pipedapi.kavin.rocks"); this.selectedInstance = this.getPreferenceString("instance", "https://pipedapi.kavin.rocks");

View File

@ -4,13 +4,45 @@
"login": "Login", "login": "Login",
"register": "Register", "register": "Register",
"feed": "Feed", "feed": "Feed",
"preferences": "Preferences" "preferences": "Preferences",
"history": "History"
}, },
"player": { "player": {
"watch_on": "Watch on" "watch_on": "Watch on"
}, },
"actions": { "actions": {
"subscribe": "Subscribe", "subscribe": "Subscribe",
"unsubscribe": "Unsubscribe" "unsubscribe": "Unsubscribe",
"view_subscriptions": "View Subscriptions",
"sort_by": "Sort by:",
"most_recent": "Most Recent",
"least_recent": "Least Recent",
"channel_name_asc": "Channel Name (A-Z)",
"channel_name_desc": "Channel Name (Z-A)",
"back": "Back",
"uses_api_from": "Uses the API from ",
"enable_sponsorblock": "Enable Sponsorblock",
"skip_sponsors": "Skip Sponsors",
"skip_intro": "Skip Intermission/Intro Animation",
"skip_outro": "Skip Endcards/Credits",
"skip_preview": "Skip Preview/Recap",
"skip_interaction": "Skip Interaction Reminder (Subscribe)",
"skip_self_promo": "Skip Unpaid/Self Promotion",
"skip_non_music": "Skip Music: Non-Music Section",
"theme": "Theme",
"auto": "Auto",
"dark": "Dark",
"light": "Light",
"autoplay_video": "Autoplay Video",
"audio_only": "Audio Only",
"default_quality": "Default Quality",
"buffering_goal": "Buffering Goal (in seconds)",
"country_selection": "Country Selection",
"default_homepage": "Default Homepage",
"show_comments": "Show Comments",
"minimize_description": "Minimize Description by default",
"store_watch_history": "Store Watch History",
"language_selection": "Language Selection",
"instances_list": "Instances List"
} }
} }