diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 25ff14c2ae0c122866902305970a024c4df08b09..085975a534e9d38dcec0cd84efecd1140996eb82 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -434,6 +434,7 @@ This hierarchical structure is made of several parts: - ``Menu`` - ``Modal`` - ``Sidebar`` + - ``Popup`` - ``*`` for strings that are not tied to a specific location - The feature part, which is required, and refers to the feature associated with the translated string: diff --git a/front/src/components/library/Album.vue b/front/src/components/library/Album.vue index bb33b7e7fa52c1eaf6c4ed0f630788faf0a25e6e..f57cfbbc39c933da26f131c6af6ab27725c8eb60 100644 --- a/front/src/components/library/Album.vue +++ b/front/src/components/library/Album.vue @@ -14,33 +14,33 @@ </div> <div class="ui buttons"> <router-link class="ui button" :to="{name: 'library.artists.detail', params: {id: album.artist.id }}"> - <translate>Artist page</translate> + <translate :translate-context="'Content/*/Button.Label/Name'">Artist page</translate> </router-link> </div> </h2> <div class="ui hidden divider"></div> <play-button class="orange" :tracks="album.tracks"> - <translate>Play all</translate> + <translate :translate-context="'Content/*/Button.Label/Verb, Short'">Play all</translate> </play-button> <a :href="wikipediaUrl" target="_blank" class="ui button"> <i class="wikipedia w icon"></i> - <translate>Search on Wikipedia</translate> + <translate :translate-context="'Content/*/Button.Label/Verb'">Search on Wikipedia</translate> </a> <a v-if="musicbrainzUrl" :href="musicbrainzUrl" target="_blank" class="ui button"> <i class="external icon"></i> - <translate>View on MusicBrainz</translate> + <translate :translate-context="'Content/*/Button.Label/Verb'">View on MusicBrainz</translate> </a> <template v-if="publicLibraries.length > 0"> <button @click="showEmbedModal = !showEmbedModal" class="ui button"> <i class="code icon"></i> - <translate>Embed</translate> + <translate :translate-context="'Content/*/Button.Label/Verb'">Embed</translate> </button> <modal :show.sync="showEmbedModal"> <div class="header"> - <translate>Embed this album on your website</translate> + <translate :translate-context="'Popup/Album/Title/Verb'">Embed this album on your website</translate> </div> <div class="content"> <div class="description"> @@ -50,7 +50,7 @@ </div> <div class="actions"> <div class="ui deny button"> - <translate>Cancel</translate> + <translate :translate-context="'Popup/*/Button.Label/Verb'">Cancel</translate> </div> </div> </modal> @@ -63,9 +63,10 @@ tag="h2" class="left floated" :translate-params="{number: disc_number + 1}" + :translate-context="'Content/Album/'" >Volume %{ number }</translate> <play-button class="right floated orange" :tracks="tracks"> - <translate>Play all</translate> + <translate :translate-context="'Content/*/Button.Label/Verb, Short'">Play all</translate> </play-button> <track-table :artist="album.artist" :display-position="true" :tracks="tracks"></track-table> </section> @@ -73,17 +74,17 @@ <template v-else> <section class="ui vertical stripe segment"> <h2> - <translate>Tracks</translate> + <translate :translate-context="'Content/*/Title/Name'">Tracks</translate> </h2> <track-table v-if="album" :artist="album.artist" :display-position="true" :tracks="album.tracks"></track-table> </section> </template> <section class="ui vertical stripe segment"> <h2> - <translate>User libraries</translate> + <translate :translate-context="'Content/*/Title/Name'">User libraries</translate> </h2> <library-widget @loaded="libraries = $event" :url="'albums/' + id + '/libraries/'"> - <translate slot="subtitle">This album is present in the following libraries:</translate> + <translate slot="subtitle" :translate-context="'Content/Album/Paragraph'">This album is present in the following libraries:</translate> </library-widget> </section> </template> @@ -150,7 +151,7 @@ export default { computed: { labels() { return { - title: this.$gettext("Album") + title: this.$pgettext('Head/Album/Title/Name', 'Album') } }, publicLibraries () { @@ -180,7 +181,7 @@ export default { ) }, subtitle () { - let msg = this.$ngettext('Album containing %{ count } track, by %{ artist }', 'Album containing %{ count } tracks, by %{ artist }', this.album.tracks.length) + let msg = this.$npgettext('Content/Album/Header.Title', 'Album containing %{ count } track, by %{ artist }', 'Album containing %{ count } tracks, by %{ artist }', this.album.tracks.length) return this.$gettextInterpolate(msg, {count: this.album.tracks.length, artist: this.album.artist.name}) } },