Commit 72606388 authored by Eliot Berriot's avatar Eliot Berriot 💬

Fixed broken extraction of contexts

parent 755f574b
......@@ -363,17 +363,17 @@ Translations in HTML use the ``<translate>`` tag::
<template>
<div>
<h1><translate :translate-context="'Content/Profile/Header'">User profile</translate></h1>
<h1><translate translate-context="Content/Profile/Header">User profile</translate></h1>
<p>
<translate
:translate-context="'Content/Profile/Paragraph'"
translate-context="Content/Profile/Paragraph"
:translate-params="{username: 'alice'}">
You are logged in as %{ username }
</translate>
</p>
<p>
<translate
:translate-context="'Content/Profile/Paragraph'"
translate-context="Content/Profile/Paragraph"
translate-plural="You have %{ count } new messages, that's a lot!"
:translate-n="unreadMessagesCount"
:translate-params="{count: unreadMessagesCount}">
......
......@@ -3,10 +3,10 @@
<section class="ui vertical center aligned stripe segment">
<div class="ui text container">
<h1 class="ui huge header">
<translate :translate-context="'Content/About/Title/Short, Noun'" v-if="instance.name.value" :translate-params="{instance: instance.name.value}">
<translate translate-context="Content/About/Title/Short, Noun" v-if="instance.name.value" :translate-params="{instance: instance.name.value}">
About %{ instance }
</translate>
<translate :translate-context="'Content/About/Title/Short, Noun'" v-else>About this instance</translate>
<translate translate-context="Content/About/Title/Short, Noun" v-else>About this instance</translate>
</h1>
<stats></stats>
</div>
......@@ -15,12 +15,12 @@
<div
class="ui middle aligned stackable text container">
<p
v-if="!instance.short_description.value && !instance.long_description.value"><translate :translate-context="'Content/About/Paragraph'">Unfortunately, the owners of this instance did not yet take the time to complete this page.</translate></p>
v-if="!instance.short_description.value && !instance.long_description.value"><translate translate-context="Content/About/Paragraph">Unfortunately, the owners of this instance did not yet take the time to complete this page.</translate></p>
<router-link
class="ui button"
v-if="$store.state.auth.availablePermissions['settings']"
:to="{path: '/manage/settings', hash: 'instance'}">
<i class="pencil icon"></i><translate :translate-context="'Content/Settings/Button.Label/Verb'">Edit instance info</translate>
<i class="pencil icon"></i><translate translate-context="Content/Settings/Button.Label/Verb">Edit instance info</translate>
</router-link>
<div class="ui hidden divider"></div>
</div>
......
......@@ -4,22 +4,22 @@
<div class="ui stackable equal height stackable grid">
<section class="four wide column">
<h4 class="ui header">
<translate :translate-context="'Footer/About/Title'" :translate-params="{instanceName: instanceHostname}" >About %{instanceName}</translate>
<translate translate-context="Footer/About/Title" :translate-params="{instanceName: instanceHostname}" >About %{instanceName}</translate>
</h4>
<div class="ui link list">
<router-link class="item" to="/about">
<translate :translate-context="'Footer/About/List item.Link'">About page</translate>
<translate translate-context="Footer/About/List item.Link">About page</translate>
</router-link>
<div class="item" v-if="version">
<translate :translate-context="'Footer/*/List item'" :translate-params="{version: version}" >Version %{version}</translate>
<translate translate-context="Footer/*/List item" :translate-params="{version: version}" >Version %{version}</translate>
</div>
<div role="button" class="item" @click="$emit('show:set-instance-modal')" >
<translate :translate-context="'Footer/*/List item.Link'">Use another instance</translate>
<translate translate-context="Footer/*/List item.Link">Use another instance</translate>
</div>
</div>
<div class="ui form">
<div class="ui field">
<label><translate :translate-context="'Footer/Settings/Dropdown.Label/Short, Verb'">Change language</translate></label>
<label><translate translate-context="Footer/Settings/Dropdown.Label/Short, Verb">Change language</translate></label>
<select class="ui dropdown" :value="$language.current" @change="$store.commit('ui/currentLanguage', $event.target.value)">
<option v-for="(language, key) in $language.available" :key="key" :value="key">{{ language }}</option>
</select>
......@@ -29,29 +29,29 @@
<section class="four wide column">
<h4 v-translate class="ui header">Using Funkwhale</h4>
<div class="ui link list">
<a href="https://docs.funkwhale.audio" class="item" target="_blank"><translate :translate-context="'Footer/*/List item.Link/Short, Noun'">Documentation</translate></a>
<a href="https://docs.funkwhale.audio/users/apps.html" class="item" target="_blank"><translate :translate-context="'Footer/*/List item.Link'">Mobile and desktop apps</translate></a>
<div role="button" class="item" @click="$emit('show:shortcuts-modal')"><translate :translate-context="'Footer/*/List item.Link/Short, Noun'">Keyboard shortcuts</translate></div>
<a href="https://docs.funkwhale.audio" class="item" target="_blank"><translate translate-context="Footer/*/List item.Link/Short, Noun">Documentation</translate></a>
<a href="https://docs.funkwhale.audio/users/apps.html" class="item" target="_blank"><translate translate-context="Footer/*/List item.Link">Mobile and desktop apps</translate></a>
<div role="button" class="item" @click="$emit('show:shortcuts-modal')"><translate translate-context="Footer/*/List item.Link/Short, Noun">Keyboard shortcuts</translate></div>
</div>
</section>
<section class="four wide column">
<h4 v-translate class="ui header">Getting help</h4>
<div class="ui link list">
<a href="https://socialhub.network/c/funkwhale" class="item" target="_blank"><translate :translate-context="'Footer/*/Listitem.Link'">Support forum</translate></a>
<a href="https://riot.im/app/#/room/#funkwhale-troubleshooting:matrix.org" class="item" target="_blank"><translate :translate-context="'Footer/*/List item.Link'">Chat room</translate></a>
<a href="https://dev.funkwhale.audio/funkwhale/funkwhale/issues" class="item" target="_blank"><translate :translate-context="'Footer/*/List item.Link'">Issue tracker</translate></a>
<a href="https://socialhub.network/c/funkwhale" class="item" target="_blank"><translate translate-context="Footer/*/Listitem.Link">Support forum</translate></a>
<a href="https://riot.im/app/#/room/#funkwhale-troubleshooting:matrix.org" class="item" target="_blank"><translate translate-context="Footer/*/List item.Link">Chat room</translate></a>
<a href="https://dev.funkwhale.audio/funkwhale/funkwhale/issues" class="item" target="_blank"><translate translate-context="Footer/*/List item.Link">Issue tracker</translate></a>
</div>
</section>
<section class="four wide column">
<h4 v-translate class="ui header">About Funkwhale</h4>
<div class="ui link list">
<a href="https://funkwhale.audio" class="item" target="_blank"><translate :translate-context="'Footer/*/List item.Link'">Official website</translate></a>
<a href="https://contribute.funkwhale.audio" class="item" target="_blank"><translate :translate-context="'Footer/*/List item.Link'">Contribute</translate></a>
<a href="https://dev.funkwhale.audio/funkwhale/funkwhale" class="item" target="_blank"><translate :translate-context="'Footer/*/List item.Link'">Source code</translate></a>
<a href="https://funkwhale.audio" class="item" target="_blank"><translate translate-context="Footer/*/List item.Link">Official website</translate></a>
<a href="https://contribute.funkwhale.audio" class="item" target="_blank"><translate translate-context="Footer/*/List item.Link">Contribute</translate></a>
<a href="https://dev.funkwhale.audio/funkwhale/funkwhale" class="item" target="_blank"><translate translate-context="Footer/*/List item.Link">Source code</translate></a>
</div>
<div class="ui hidden divider"></div>
<p>
<translate :translate-context="'Footer/*/List item.Link'">The funkwhale logo was kindly designed and provided by Francis Gading.</translate>
<translate translate-context="Footer/*/List item.Link">The funkwhale logo was kindly designed and provided by Francis Gading.</translate>
</p>
</section>
</div>
......
......@@ -3,15 +3,15 @@
<section class="ui vertical center aligned stripe segment">
<div class="ui text container">
<h1 class="ui huge header">
<translate :translate-context="'Content/Home/Title/Verb'">Welcome on Funkwhale</translate>
<translate translate-context="Content/Home/Title/Verb">Welcome on Funkwhale</translate>
</h1>
<p><translate :translate-context="'Content/Home/Title'">We think listening to music should be simple.</translate></p>
<p><translate translate-context="Content/Home/Title">We think listening to music should be simple.</translate></p>
<router-link class="ui icon button" to="/about">
<i class="info icon"></i>
<translate :translate-context="'Content/Home/Button.Label/Verb'">Learn more about this instance</translate>
<translate translate-context="Content/Home/Button.Label/Verb">Learn more about this instance</translate>
</router-link>
<router-link class="ui icon teal button" to="/library">
<translate :translate-context="'Content/Home/Button.Label/Verb'">Get me to the library</translate>
<translate translate-context="Content/Home/Button.Label/Verb">Get me to the library</translate>
<i class="right arrow icon"></i>
</router-link>
</div>
......@@ -22,9 +22,9 @@
<div class="row">
<div class="eight wide left floated column">
<h2 class="ui header">
<translate :translate-context="'Content/Home/Title'">Why funkwhale?</translate>
<translate translate-context="Content/Home/Title">Why funkwhale?</translate>
</h2>
<p><translate :translate-context="'Content/Home/Paragraph'">That's simple: we loved Grooveshark and we want to build something even better.</translate></p>
<p><translate translate-context="Content/Home/Paragraph">That's simple: we loved Grooveshark and we want to build something even better.</translate></p>
</div>
<div class="four wide left floated column">
<img class="ui medium image" src="../assets/logo/logo.png" />
......@@ -35,26 +35,26 @@
<div class="ui middle aligned stackable text container">
<div class="ui hidden divider"></div>
<h2 class="ui header">
<translate :translate-context="'Content/Home/Title'">Unlimited music</translate>
<translate translate-context="Content/Home/Title">Unlimited music</translate>
</h2>
<p><translate :translate-context="'Content/Home/Paragraph'">Funkwhale is designed to make it easy to listen to music you like, or to discover new artists.</translate></p>
<p><translate translate-context="Content/Home/Paragraph">Funkwhale is designed to make it easy to listen to music you like, or to discover new artists.</translate></p>
<div class="ui list">
<div class="item">
<i class="sound icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item/Verb'">Click once, listen for hours using built-in radios</translate>
<translate translate-context="Content/Home/List item/Verb">Click once, listen for hours using built-in radios</translate>
</div>
</div>
<div class="item">
<i class="heart icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item/Verb'">Keep a track of your favorite songs</translate>
<translate translate-context="Content/Home/List item/Verb">Keep a track of your favorite songs</translate>
</div>
</div>
<div class="item">
<i class="list icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item'">Playlists? We got them</translate>
<translate translate-context="Content/Home/List item">Playlists? We got them</translate>
</div>
</div>
</div>
......@@ -62,14 +62,14 @@
<div class="ui middle aligned stackable text container">
<div class="ui hidden divider"></div>
<h2 class="ui header">
<translate :translate-context="'Content/Home/Title'">A clean library</translate>
<translate translate-context="Content/Home/Title">A clean library</translate>
</h2>
<p><translate :translate-context="'Content/Home/Paragraph'">Funkwhale takes care of handling your music</translate>.</p>
<p><translate translate-context="Content/Home/Paragraph">Funkwhale takes care of handling your music</translate>.</p>
<div class="ui list">
<div class="item">
<i class="download icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item/Verb'">Import music from various platforms, such as YouTube or SoundCloud</translate>
<translate translate-context="Content/Home/List item/Verb">Import music from various platforms, such as YouTube or SoundCloud</translate>
</div>
</div>
<div class="item">
......@@ -83,7 +83,7 @@
<div class="item">
<i class="plus icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item'">Covers, lyrics, our goal is to have them all ;)</translate>
<translate translate-context="Content/Home/List item">Covers, lyrics, our goal is to have them all ;)</translate>
</div>
</div>
</div>
......@@ -91,20 +91,20 @@
<div class="ui middle aligned stackable text container">
<div class="ui hidden divider"></div>
<h2 class="ui header">
<translate :translate-context="'Content/Home/Title'">Easy to use</translate>
<translate translate-context="Content/Home/Title">Easy to use</translate>
</h2>
<p><translate :translate-context="'Content/Home/Paragraph'">Funkwhale is dead simple to use.</translate></p>
<p><translate translate-context="Content/Home/Paragraph">Funkwhale is dead simple to use.</translate></p>
<div class="ui list">
<div class="item">
<i class="book icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item'">No add-ons, no plugins : you only need a web library</translate>
<translate translate-context="Content/Home/List item">No add-ons, no plugins : you only need a web library</translate>
</div>
</div>
<div class="item">
<i class="wizard icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item'">Access your music from a clean interface that focus on what really matters</translate>
<translate translate-context="Content/Home/List item">Access your music from a clean interface that focus on what really matters</translate>
</div>
</div>
</div>
......@@ -112,26 +112,26 @@
<div class="ui middle aligned stackable text container">
<div class="ui hidden divider"></div>
<h2 class="ui header">
<translate :translate-context="'Content/Home/Title'">Your music, your way</translate>
<translate translate-context="Content/Home/Title">Your music, your way</translate>
</h2>
<p><translate :translate-context="'Content/Home/Paragraph'">Funkwhale is free and gives you control on your music.</translate></p>
<p><translate translate-context="Content/Home/Paragraph">Funkwhale is free and gives you control on your music.</translate></p>
<div class="ui list">
<div class="item">
<i class="smile icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item'">The plaform is free and open-source, you can install it and modify it without worries</translate>
<translate translate-context="Content/Home/List item">The plaform is free and open-source, you can install it and modify it without worries</translate>
</div>
</div>
<div class="item">
<i class="protect icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item'">We do not track you or bother you with ads</translate>
<translate translate-context="Content/Home/List item">We do not track you or bother you with ads</translate>
</div>
</div>
<div class="item">
<i class="users icon"></i>
<div class="content">
<translate :translate-context="'Content/Home/List item'">You can invite friends and family to your instance so they can enjoy your music</translate>
<translate translate-context="Content/Home/List item">You can invite friends and family to your instance so they can enjoy your music</translate>
</div>
</div>
</div>
......
......@@ -5,14 +5,14 @@
<h1 class="ui huge header">
<i class="warning icon"></i>
<div class="content">
<translate :translate-context="'Content/*/Title'">Page not found!</translate>
<translate translate-context="Content/*/Title">Page not found!</translate>
</div>
</h1>
<p><translate :translate-context="'Content/*/Paragraph'">Sorry, the page you asked for does not exist:</translate></p>
<p><translate translate-context="Content/*/Paragraph">Sorry, the page you asked for does not exist:</translate></p>
<a :href="path">{{ path }}</a>
<div class="ui hidden divider"></div>
<router-link class="ui icon labeled right button" to="/">
<translate :translate-context="'Content/*/Button.Label/Verb'">Go to home page</translate>
<translate translate-context="Content/*/Button.Label/Verb">Go to home page</translate>
<i class="right arrow icon"></i>
</router-link>
</div>
......
<template>
<modal @update:show="$emit('update:show', $event); isError = false" :show="show">
<div class="header"><translate :translate-context="'Popup/Instance/Title'">Choose your instance</translate></div>
<div class="header"><translate translate-context="Popup/Instance/Title">Choose your instance</translate></div>
<div class="scrolling content">
<div v-if="isError" class="ui negative message">
<div class="header"><translate :translate-context="'Popup/Instance/Error message.Title'">It is not possible to connect to the given URL</translate></div>
<div class="header"><translate translate-context="Popup/Instance/Error message.Title">It is not possible to connect to the given URL</translate></div>
<ul class="list">
<li><translate :translate-context="'Popup/Instance/Error message.List item'">The server might be down</translate></li>
<li><translate :translate-context="'Popup/Instance/Error message.List item'">The given address is not a Funkwhale server</translate></li>
<li><translate translate-context="Popup/Instance/Error message.List item">The server might be down</translate></li>
<li><translate translate-context="Popup/Instance/Error message.List item">The given address is not a Funkwhale server</translate></li>
</ul>
</div>
<form class="ui form" @submit.prevent="checkAndSwitch(instanceUrl)">
<p v-if="$store.state.instance.instanceUrl" class="description" :translate-context="'Popup/Login/Paragraph'" v-translate="{url: $store.state.instance.instanceUrl, hostname: instanceHostname }">
<p v-if="$store.state.instance.instanceUrl" class="description" translate-context="Popup/Login/Paragraph" v-translate="{url: $store.state.instance.instanceUrl, hostname: instanceHostname }">
You are currently connected to <a href="%{ url }" target="_blank">%{ hostname }&nbsp;<i class="external icon"></i></a>. If you continue, you will be disconnected from your current instance and all your local data will be deleted.
</p>
<p v-else>
<translate :translate-context="'Popup/Instance/Paragraph'">To continue, please select the Funkwhale instance you want to connect to. Enter the address directly, or select one of the suggested choices.</translate>
<translate translate-context="Popup/Instance/Paragraph">To continue, please select the Funkwhale instance you want to connect to. Enter the address directly, or select one of the suggested choices.</translate>
</p>
<div class="field">
<label><translate :translate-context="'Popup/Instance/Input.Label/Noun'">Instance URL</translate></label>
<label><translate translate-context="Popup/Instance/Input.Label/Noun">Instance URL</translate></label>
<div class="ui action input">
<input type="text" v-model="instanceUrl" placeholder="https://funkwhale.server">
<button type="submit" :class="['ui', 'icon', {loading: isLoading}, 'button']">
<translate :translate-context="'*/*/Button.Label/Verb'">Submit</translate>
<translate translate-context="*/*/Button.Label/Verb">Submit</translate>
</button>
</div>
</div>
......@@ -29,13 +29,13 @@
<div class="ui hidden divider"></div>
<form class="ui form" @submit.prevent="">
<div class="field">
<label><translate :translate-context="'Popup/Instance/List.Label'">Suggested choices</translate></label>
<label><translate translate-context="Popup/Instance/List.Label">Suggested choices</translate></label>
<button v-for="url in suggestedInstances" @click="checkAndSwitch(url)" class="ui basic button">{{ url }}</button>
</div>
</form>
</div>
<div class="actions">
<div class="ui cancel button"><translate :translate-context="'*/*/Button.Label/Verb'">Cancel</translate></div>
<div class="ui cancel button"><translate translate-context="*/*/Button.Label/Verb">Cancel</translate></div>
</div>
</modal>
</template>
......
<template>
<modal @update:show="$emit('update:show', $event)" :show="show">
<header class="header">
<translate :translate-context="'Popup/Keyboard shortcuts/Title'">Keyboard shortcuts</translate>
<translate translate-context="Popup/Keyboard shortcuts/Title">Keyboard shortcuts</translate>
</header>
<section class="scrolling content">
<table
......@@ -18,7 +18,7 @@
</table>
</section>
<footer class="actions">
<div class="ui cancel button"><translate :translate-context="'Popup/Keyboard shortcuts/Button.Label/Verb'">Close</translate></div>
<div class="ui cancel button"><translate translate-context="Popup/Keyboard shortcuts/Button.Label/Verb">Close</translate></div>
</footer>
</modal>
</template>
......
This diff is collapsed.
......@@ -3,13 +3,13 @@
<div class="ui divider" />
<h3 class="ui header">{{ group.label }}</h3>
<div v-if="errors.length > 0" class="ui negative message">
<div class="header"><translate :translate-context="'Content/Settings/Error message.Title'">Error while saving settings</translate></div>
<div class="header"><translate translate-context="Content/Settings/Error message.Title">Error while saving settings</translate></div>
<ul class="list">
<li v-for="error in errors">{{ error }}</li>
</ul>
</div>
<div v-if="result" class="ui positive message">
<translate :translate-context="'Content/Settings/Paragraph'">Settings updated successfully.</translate>
<translate translate-context="Content/Settings/Paragraph">Settings updated successfully.</translate>
</div>
<p v-if="group.help">{{ group.help }}</p>
<div v-for="setting in settings" class="ui field">
......@@ -65,7 +65,7 @@
<button
type="submit"
:class="['ui', {'loading': isLoading}, 'right', 'floated', 'green', 'button']">
<translate :translate-context="'Content/Settings/Button.Label/Short, Verb'">Save</translate>
<translate translate-context="Content/Settings/Button.Label/Short, Verb">Save</translate>
</button>
</form>
</template>
......
......@@ -4,26 +4,26 @@
<div class="two fields">
<div class="field">
<div class="field">
<label for="embed-width"><translate :translate-context="'Popup/Embed/Input.Label'">Widget width</translate></label>
<p><translate :translate-context="'Popup/Embed/Paragraph'">Leave empty for a responsive widget</translate></p>
<label for="embed-width"><translate translate-context="Popup/Embed/Input.Label">Widget width</translate></label>
<p><translate translate-context="Popup/Embed/Paragraph">Leave empty for a responsive widget</translate></p>
<input id="embed-width" type="number" v-model.number="width" min="0" step="10" />
</div>
<template v-if="type != 'track'">
<br>
<div class="field">
<label for="embed-height"><translate :translate-context="'Popup/Embed/Input.Label'">Widget height</translate></label>
<label for="embed-height"><translate translate-context="Popup/Embed/Input.Label">Widget height</translate></label>
<input id="embed-height" type="number" v-model="height" :min="minHeight" max="1000" step="10" />
</div>
</template>
</div>
<div class="field">
<button @click="copy" class="ui right teal labeled icon floated button"><i class="copy icon"></i><translate :translate-context="'Popup/*/Button.Label/Verb'">Copy</translate></button>
<label for="embed-width"><translate :translate-context="'Popup/Embed/Input.Label/Noun'">Embed code</translate></label>
<p><translate :translate-context="'Popup/Embed/Paragraph'">Copy/paste this code in your website HTML</translate></p>
<button @click="copy" class="ui right teal labeled icon floated button"><i class="copy icon"></i><translate translate-context="Popup/*/Button.Label/Verb">Copy</translate></button>
<label for="embed-width"><translate translate-context="Popup/Embed/Input.Label/Noun">Embed code</translate></label>
<p><translate translate-context="Popup/Embed/Paragraph">Copy/paste this code in your website HTML</translate></p>
<textarea ref="textarea":value="embedCode" rows="5" readonly>
</textarea>
<div class="ui right">
<p class="message" v-if=copied><translate :translate-context="'Content/*/Paragraph'">Text copied to clipboard!</translate></p>
<p class="message" v-if=copied><translate translate-context="Content/*/Paragraph">Text copied to clipboard!</translate></p>
</div>
</div>
</div>
......@@ -31,7 +31,7 @@
<div class="preview">
<h3>
<a :href="iframeSrc" target="_blank">
<translate :translate-context="'Popup/Embed/Title/Noun'">Preview</translate>
<translate translate-context="Popup/Embed/Title/Noun">Preview</translate>
</a>
</h3>
<iframe :width="frameWidth" :height="height" scrolling="no" frameborder="no" :src="iframeSrc"></iframe>
......
......@@ -7,25 +7,25 @@
:disabled="!playable"
:class="buttonClasses.concat(['ui', {loading: isLoading}, {'mini': discrete}, {disabled: !playable}])">
<i :class="[playIconClass, 'icon']"></i>
<template v-if="!discrete && !iconOnly"><slot><translate :translate-context="'*/Queue/Button/Label/Short, Verb'">Play</translate></slot></template>
<template v-if="!discrete && !iconOnly"><slot><translate translate-context="*/Queue/Button/Label/Short, Verb">Play</translate></slot></template>
</button>
<div v-if="!discrete && !iconOnly" :class="['ui', {disabled: !playable && !filterableArtist}, 'floating', 'dropdown', {'icon': !dropdownOnly}, {'button': !dropdownOnly}]">
<i :class="dropdownIconClasses.concat(['icon'])" :title="title" ></i>
<div class="menu">
<button class="item basic" ref="add" data-ref="add" :disabled="!playable" @click.stop.prevent="add" :title="labels.addToQueue">
<i class="plus icon"></i><translate :translate-context="'*/Queue/Dropdown/Button/Label/Short'">Add to queue</translate>
<i class="plus icon"></i><translate translate-context="*/Queue/Dropdown/Button/Label/Short">Add to queue</translate>
</button>
<button class="item basic" ref="addNext" data-ref="addNext" :disabled="!playable" @click.stop.prevent="addNext()" :title="labels.playNext">
<i class="step forward icon"></i><translate :translate-context="'*/Queue/Dropdown/Button/Label/Short'">Play next</translate>
<i class="step forward icon"></i><translate translate-context="*/Queue/Dropdown/Button/Label/Short">Play next</translate>
</button>
<button class="item basic" ref="playNow" data-ref="playNow" :disabled="!playable" @click.stop.prevent="addNext(true)" :title="labels.playNow">
<i class="play icon"></i><translate :translate-context="'*/Queue/Dropdown/Button/Label/Short'">Play now</translate>
<i class="play icon"></i><translate translate-context="*/Queue/Dropdown/Button/Label/Short">Play now</translate>
</button>
<button v-if="track" class="item basic" :disabled="!playable" @click.stop.prevent="$store.dispatch('radios/start', {type: 'similar', objectId: track.id})" :title="labels.startRadio">
<i class="feed icon"></i><translate :translate-context="'*/Queue/Dropdown/Button/Label/Short'">Start radio</translate>
<i class="feed icon"></i><translate translate-context="*/Queue/Dropdown/Button/Label/Short">Start radio</translate>
</button>
<button v-if="filterableArtist" class="item basic" :disabled="!filterableArtist" @click.stop.prevent="filterArtist" :title="labels.hideArtist">
<i class="eye slash outline icon"></i><translate :translate-context="'*/Queue/Dropdown/Button/Label/Short'">Hide content from this artist</translate>
<i class="eye slash outline icon"></i><translate translate-context="*/Queue/Dropdown/Button/Label/Short">Hide content from this artist</translate>
</button>
</div>
</div>
......
......@@ -70,14 +70,14 @@
</div>
<div class="ui small warning message" v-if="currentTrack && errored">
<div class="header">
<translate :translate-context="'Sidebar/Player/Error message.Title'">The track cannot be loaded</translate>
<translate translate-context="Sidebar/Player/Error message.Title">The track cannot be loaded</translate>
</div>
<p v-if="hasNext && playing && $store.state.player.errorCount < $store.state.player.maxConsecutiveErrors">
<translate :translate-context="'Sidebar/Player/Error message.Paragraph'">The next track will play automatically in a few seconds…</translate>
<translate translate-context="Sidebar/Player/Error message.Paragraph">The next track will play automatically in a few seconds…</translate>
<i class="loading spinner icon"></i>
</p>
<p>
<translate :translate-context="'Sidebar/Player/Error message.Paragraph'">You may have a connectivity issue.</translate>
<translate translate-context="Sidebar/Player/Error message.Paragraph">You may have a connectivity issue.</translate>
</p>
</div>
<div class="two wide column controls ui grid">
......
<template>
<div>
<h2><translate :translate-context="'Content/Search/Title'">Search for some music</translate></h2>
<h2><translate translate-context="Content/Search/Title">Search for some music</translate></h2>
<div :class="['ui', {'loading': isLoading }, 'search']">
<div class="ui icon big input">
<i class="search icon"></i>
......@@ -8,22 +8,22 @@
</div>
</div>
<template v-if="query.length > 0">
<h3 class="ui title"><translate :translate-context="'Content/Search/Title'">Artists</translate></h3>
<h3 class="ui title"><translate translate-context="Content/Search/Title">Artists</translate></h3>
<div v-if="results.artists.length > 0">
<div class="ui cards">
<artist-card :key="artist.id" v-for="artist in results.artists" :artist="artist" ></artist-card>
</div>
</div>
<p v-else><translate :translate-context="'Content/Search/Paragraph'">No artist matched your query</translate></p>
<p v-else><translate translate-context="Content/Search/Paragraph">No artist matched your query</translate></p>
</template>
<template v-if="query.length > 0">
<h3 class="ui title"><translate :translate-context="'Content/Search/Title'">Albums</translate></h3>
<h3 class="ui title"><translate translate-context="Content/Search/Title">Albums</translate></h3>
<div v-if="results.albums.length > 0" class="ui stackable three column grid">
<div class="column" :key="album.id" v-for="album in results.albums">
<album-card class="fluid" :album="album" ></album-card>
</div>
</div>
<p v-else><translate :translate-context="'Content/Search/Paragraph'">No album matched your query</translate></p>
<p v-else><translate translate-context="Content/Search/Paragraph">No album matched your query</translate></p>
</template>
</div>
</template>
......
......@@ -11,7 +11,7 @@
<div class="meta">
<span>
<router-link tag="span" :to="{name: 'library.artists.detail', params: {id: album.artist.id }}">
<translate :translate-context="'Content/Album/Card'" :translate-params="{artist: album.artist.name}">By %{ artist }</translate>
<translate translate-context="Content/Album/Card" :translate-params="{artist: album.artist.name}">By %{ artist }</translate>
</router-link>
</span><span class="time" v-if="album.release_date">{{ album.release_date | year }}</span>
</div>
......@@ -36,21 +36,21 @@
</table>
<div class="center aligned segment" v-if="album.tracks.length > initialTracks">
<em v-if="!showAllTracks" @click="showAllTracks = true" class="expand">
<translate :translate-context="'Content/Album/Card.Link/Verb'" :translate-params="{count: album.tracks.length - initialTracks}" :translate-n="album.tracks.length - initialTracks" translate-plural="Show %{ count } more tracks">Show %{ count } more track</translate>
<translate translate-context="Content/Album/Card.Link/Verb" :translate-params="{count: album.tracks.length - initialTracks}" :translate-n="album.tracks.length - initialTracks" translate-plural="Show %{ count } more tracks">Show %{ count } more track</translate>
</em>
<em v-else @click="showAllTracks = false" class="expand">
<translate :translate-context="'Content/Album/Card.Link/Verb'">Collapse</translate>
<translate translate-context="Content/Album/Card.Link/Verb">Collapse</translate>
</em>
</div>
</div>
</div>
<div class="extra content">
<play-button class="mini basic orange right floated" :tracks="album.tracks" :album="album">
<translate :translate-context="'Content/Queue/Card.Button.Label/Short, Verb'">Play all</translate>
<translate translate-context="Content/Queue/Card.Button.Label/Short, Verb">Play all</translate>
</play-button>
<span>
<i class="music icon"></i>
<translate :translate-context="'Content/Album/Card'" :translate-params="{count: album.tracks.length}" :translate-n="album.tracks.length" translate-plural="%{ count } tracks">%{ count } track</translate>
<translate translate-context="Content/Album/Card" :translate-params="{count: album.tracks.length}" :translate-n="album.tracks.length" translate-plural="%{ count } tracks">%{ count } track</translate>
</span>
</div>
</div>
......
......@@ -28,10 +28,10 @@
</table>
<div class="center aligned segment" v-if="artist.albums.length > initialAlbums">
<em v-if="!showAllAlbums" @click="showAllAlbums = true" class="expand">
<translate :translate-context="'Content/Artist/Card.Link'" :translate-params="{count: artist.albums.length - initialAlbums}" :translate-n="artist.albums.length - initialAlbums" translate-plural="Show %{ count } more albums">Show 1 more album</translate>
<translate translate-context="Content/Artist/Card.Link" :translate-params="{count: artist.albums.length - initialAlbums}" :translate-n="artist.albums.length - initialAlbums" translate-plural="Show %{ count } more albums">Show 1 more album</translate>
</em>
<em v-else @click="showAllAlbums = false" class="expand">
<translate :translate-context="'Content/Artist/Card.Link'">Collapse</translate>
<translate translate-context="Content/Artist/Card.Link">Collapse</translate>
</em>
</div>
</div>
......@@ -39,10 +39,10 @@
<div class="extra content">
<span>
<i class="sound icon"></i>
<translate :translate-context="'Content/Artist/Card'" :translate-params="{count: artist.albums.length}" :translate-n="artist.albums.length" translate-plural="%{ count } albums">1 album</translate>
<translate translate-context="Content/Artist/Card" :translate-params="{count: artist.albums.length}" :translate-n="artist.albums.length" translate-plural="%{ count } albums">1 album</translate>
</span>
<play-button :is-playable="isPlayable" class="mini basic orange right floated" :artist="artist">
<translate :translate-context="'Content/Queue/Button.Label/Short, Verb'">Play all</translate>
<translate translate-context="Content/Queue/Button.Label/Short, Verb">Play all</translate>
</play-button>
</div>
</div>
......
......@@ -38,7 +38,7 @@
{{ time.parse(track.uploads[0].duration) }}
</td>
<td colspan="4" v-else>
<translate :translate-context="'*/*/*'">N/A</translate>
<translate translate-context="*/*/*">N/A</translate>
</td>
<td colspan="2" class="align right">
<track-favorite-icon class="favorite-icon" :track="track"></track-favorite-icon>
......
......@@ -5,10 +5,10 @@
<tr>
<th></th>
<th></th>
<th colspan="6"><translate :translate-context="'Content/Track/Table.Label'">Title</translate></th>
<th colspan="4"><translate :translate-context="'Content/Track/Table.Label'">Artist</translate></th>
<th colspan="4"><translate :translate-context="'Content/Track/Table.Label'">Album</translate></th>
<th colspan="4"><translate :translate-context="'Content/Track/Table.Label'">Duration</translate></th>
<th colspan="6"><translate translate-context="Content/Track/Table.Label">Title</translate></th>
<th colspan="4"><translate translate-context="Content/Track/Table.Label">Artist</translate></th>
<th colspan="4"><translate translate-context="Content/Track/Table.Label">Album</translate></th>
<th colspan="4"><translate translate-context="Content/Track/Table.Label">Duration</translate></th>
<th colspan="2"></th>
</tr>
</thead>
......
......@@ -2,20 +2,20 @@
<main class="main pusher" v-title="labels.title">
<section class="ui vertical stripe segment">
<div class="ui small text container">
<h2><translate :translate-context="'Content/Login/Title/Verb'">Log in to your Funkwhale account</translate></h2>
<h2><translate translate-context="Content/Login/Title/Verb">Log in to your Funkwhale account</translate></h2>
<form class="ui form" @submit.prevent="submit()">
<div v-if="error" class="ui negative message">
<div class="header"><translate :translate-context="'Content/Login/Error message.Title'">We cannot log you in</translate></div>
<div class="header"><translate translate-context="Content/Login/Error message.Title">We cannot log you in</translate></div>
<ul class="list">
<li v-if="error == 'invalid_credentials'"><translate :translate-context="'Content/Login/Error message.List item/Call to action'">Please double-check your username/password couple is correct</translate></li>
<li v-else><translate :translate-context="'Content/Login/Error message/List item'">An unknown error happend, this can mean the server is down or cannot be reached</translate></li>
<li v-if="error == 'invalid_credentials'"><translate translate-context="Content/Login/Error message.List item/Call to action">Please double-check your username/password couple is correct</translate></li>
<li v-else><translate translate-context="Content/Login/Error message/List item">An unknown error happend, this can mean the server is down or cannot be reached</translate></li>
</ul>
</div>
<div class="field">
<label>
<translate :translate-context="'Content/Login/Input.Label/Noun'">Username or email</translate> |
<translate translate-context="Content/Login/Input.Label/Noun">Username or email</translate> |
<router-link :to="{path: '/signup'}">
<translate :translate-context="'Content/Login/Link/Verb'">Create an account</translate>
<translate translate-context="Content/Login/Link/Verb">Create an account</translate>
</router-link>
</label>
<input
......@@ -31,16 +31,16 @@
</div>
<div class="field">
<label>
<translate :translate-context="'Content/Login/Input.Label'">Password</translate> |
<translate translate-context="Content/Login/Input.Label">Password</translate> |
<router-link :to="{name: 'auth.password-reset', query: {email: credentials.username}}">
<translate :translate-context="'Content/Login/Link/Verb'">Reset your password</translate>
<translate translate-context="Content/Login/Link/Verb">Reset your password</translate>
</router-link>
</label>
<password-input :index="2" required v-model="credentials.password" />
</div>
<button tabindex="3" :class="['ui', {'loading': isLoading}, 'right', 'floated', 'green', 'button']" type="submit">
<translate :translate-context="'Content/Login/Button.Label/Verb'">Login</translate>
<translate translate-context="Content/Login/Button.Label/Verb">Login</translate>
</button>
</form>
</div>
......
......@@ -3,10 +3,10 @@
<section class="ui vertical stripe segment">
<div class="ui small text container">
<h2>
<translate :translate-context="'Content/Login/Title'">Are you sure you want to log out?</translate>
<translate translate-context="Content/Login/Title">Are you sure you want to log out?</translate>
</h2>
<p v-translate="{username: $store.state.auth.username}">You are currently logged in as %{ username }</p>
<button class="ui button" @click="$store.dispatch('auth/logout')"><translate :translate-context="'Content/Login/Button.Label'">Yes, log me out!</translate></button>
<button class="ui button" @click="$store.dispatch('auth/logout')"><translate translate-context="Content/Login/Button.Label">Yes, log me out!</translate></button>
</div>
</section>
</main>
......