diff --git a/.vscode/settings.json b/.vscode/settings.json index 5e3690630..2e5d443da 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,7 +8,8 @@ "vitest.enable": true, "vitest.commandLine": "yarn vitest", "i18n-ally.localesPaths": ["front/src/locales"], - "i18n-ally.pathMatcher": "*.json", + "i18n-ally.pathMatcher": "{locale}.json", "i18n-ally.enabledFrameworks": ["vue"], - "i18n-ally.keystyle": "nested" + "i18n-ally.keystyle": "nested", + "i18n-ally.keepFulfilled": true } diff --git a/front/src/components/Queue.vue b/front/src/components/Queue.vue index ec3d8768e..377c9c6b2 100644 --- a/front/src/components/Queue.vue +++ b/front/src/components/Queue.vue @@ -403,13 +403,13 @@ const coverType = useStorage('queue:cover-type', CoverType.COVER_ART) class="ui right floated basic button" @click="$store.commit('ui/queueFocused', null)" > - {{ $t('components.Queue.button.close') }} + {{ $t('global.button.close') }} {{ labels.queue }}
diff --git a/front/src/components/RemoteSearchForm.vue b/front/src/components/RemoteSearchForm.vue index 7d3859d71..da97fc66f 100644 --- a/front/src/components/RemoteSearchForm.vue +++ b/front/src/components/RemoteSearchForm.vue @@ -231,7 +231,7 @@ watch(() => props.initialId, () => { :class="['ui', 'primary', {loading: isLoading}, 'button']" :disabled="isLoading || !id || id.length === 0" > - {{ $t('components.RemoteSearchForm.button.search') }} + {{ $t('global.button.search') }}
{
diff --git a/front/src/components/ShortcutsModal.vue b/front/src/components/ShortcutsModal.vue index 4de9ff8e4..0306378cc 100644 --- a/front/src/components/ShortcutsModal.vue +++ b/front/src/components/ShortcutsModal.vue @@ -154,7 +154,7 @@ const player = computed(() => [ diff --git a/front/src/components/admin/SettingsGroup.vue b/front/src/components/admin/SettingsGroup.vue index 609dd8a6e..32f6f2d09 100644 --- a/front/src/components/admin/SettingsGroup.vue +++ b/front/src/components/admin/SettingsGroup.vue @@ -240,7 +240,7 @@ const save = async () => { type="submit" :class="['ui', {'loading': isLoading}, 'right', 'floated', 'success', 'button']" > - {{ $t('components.admin.SettingsGroup.button.save') }} + {{ $t('global.button.save') }} diff --git a/front/src/components/audio/ChannelSeries.vue b/front/src/components/audio/ChannelSeries.vue index da8b8329a..9617a543c 100644 --- a/front/src/components/audio/ChannelSeries.vue +++ b/front/src/components/audio/ChannelSeries.vue @@ -84,7 +84,7 @@ fetchData() :class="['ui', 'basic', 'button']" @click="fetchData(nextPage)" > - {{ $t('components.audio.ChannelSeries.button.showMore') }} + {{ $t('global.button.showMore') }}
diff --git a/front/src/components/audio/artist/Widget.vue b/front/src/components/audio/artist/Widget.vue index 2890da65d..575a8965d 100644 --- a/front/src/components/audio/artist/Widget.vue +++ b/front/src/components/audio/artist/Widget.vue @@ -108,7 +108,7 @@ watch( :class="['ui', 'basic', 'button']" @click="fetchData(nextPage)" > - {{ $t('components.audio.artist.Widget.button.more') }} + {{ $t('global.button.showMore') }} diff --git a/front/src/components/audio/track/Widget.vue b/front/src/components/audio/track/Widget.vue index cce9260be..daeb24972 100644 --- a/front/src/components/audio/track/Widget.vue +++ b/front/src/components/audio/track/Widget.vue @@ -215,7 +215,7 @@ watch(() => props.websocketHandlers.includes('Listen'), (to) => { :class="['ui', 'basic', 'button']" @click="fetchData(nextPage as string)" > - {{ $t('components.audio.track.Widget.button.more') }} + {{ $t('global.button.showMore') }} diff --git a/front/src/components/auth/LoginForm.vue b/front/src/components/auth/LoginForm.vue index 41be7710b..f0742c7b9 100644 --- a/front/src/components/auth/LoginForm.vue +++ b/front/src/components/auth/LoginForm.vue @@ -141,7 +141,7 @@ const submit = async () => { :class="['ui', {'loading': isLoading}, 'right', 'floated', buttonClasses, 'button']" type="submit" > - {{ $t('components.auth.LoginForm.button.login') }} + {{ $t('global.button.login') }} diff --git a/front/src/components/auth/Plugin.vue b/front/src/components/auth/Plugin.vue index bce020461..d9ff6923e 100644 --- a/front/src/components/auth/Plugin.vue +++ b/front/src/components/auth/Plugin.vue @@ -194,7 +194,7 @@ const submitAndScan = async () => { type="submit" :class="['ui', {'loading': isLoading}, 'right', 'floated', 'button']" > - {{ $t('components.auth.Plugin.button.save') }} + {{ $t('global.button.save') }}
diff --git a/front/src/components/channels/UploadModal.vue b/front/src/components/channels/UploadModal.vue index 1f3e81d5b..1fd99d89d 100644 --- a/front/src/components/channels/UploadModal.vue +++ b/front/src/components/channels/UploadModal.vue @@ -90,7 +90,7 @@ const isLoading = ref(false) v-if="step === 1" class="ui basic cancel button" > - {{ $t('components.channels.UploadModal.button.cancel') }} + {{ $t('global.button.cancel') }} diff --git a/front/src/components/common/CopyInput.vue b/front/src/components/common/CopyInput.vue index 3db76f031..9df00e5cb 100644 --- a/front/src/components/common/CopyInput.vue +++ b/front/src/components/common/CopyInput.vue @@ -37,7 +37,7 @@ const { copy, isSupported: canCopy, copied } = useClipboard({ source: value, cop @click="copy()" > - {{ $t('components.common.CopyInput.button.copy') }} + {{ $t('global.button.copy') }} diff --git a/front/src/components/common/DangerousButton.vue b/front/src/components/common/DangerousButton.vue index fd7207a8a..9732c1a79 100644 --- a/front/src/components/common/DangerousButton.vue +++ b/front/src/components/common/DangerousButton.vue @@ -52,14 +52,14 @@ const confirm = () => {
diff --git a/front/src/components/common/EmptyState.vue b/front/src/components/common/EmptyState.vue index 0dfa822cc..0d382b59b 100644 --- a/front/src/components/common/EmptyState.vue +++ b/front/src/components/common/EmptyState.vue @@ -30,7 +30,7 @@ withDefaults(defineProps(), { class="ui button" @click="emit('refresh')" > - {{ $t('components.common.EmptyState.button.refresh') }} + {{ $t('global.button.refresh') }} diff --git a/front/src/components/common/RenderedDescription.vue b/front/src/components/common/RenderedDescription.vue index 164051a31..30bfef25d 100644 --- a/front/src/components/common/RenderedDescription.vue +++ b/front/src/components/common/RenderedDescription.vue @@ -112,7 +112,7 @@ const submit = async () => { @click="isUpdating = true" > - {{ $t('components.common.RenderedDescription.button.edit') }} + {{ $t('global.button.edit') }}
{ class="left floated" @click.prevent="isUpdating = false" > - {{ $t('components.common.RenderedDescription.button.cancel') }} + {{ $t('global.button.cancel') }} diff --git a/front/src/components/forms/PasswordInput.vue b/front/src/components/forms/PasswordInput.vue index c8ba7e54a..51c9a9ada 100644 --- a/front/src/components/forms/PasswordInput.vue +++ b/front/src/components/forms/PasswordInput.vue @@ -28,7 +28,7 @@ const showPassword = ref(props.defaultShow) const { t } = useI18n() const labels = computed(() => ({ title: t('components.forms.PasswordInput.title'), - copy: t('components.forms.PasswordInput.button.copy') + copy: t('global.button.copy') })) const passwordInputType = computed(() => showPassword.value ? 'text' : 'password') diff --git a/front/src/components/library/AlbumDropdown.vue b/front/src/components/library/AlbumDropdown.vue index cdcded483..02b7f144c 100644 --- a/front/src/components/library/AlbumDropdown.vue +++ b/front/src/components/library/AlbumDropdown.vue @@ -66,7 +66,7 @@ const remove = () => emit('remove')
@@ -122,7 +122,7 @@ const remove = () => emit('remove') class="basic item" > - {{ $t('components.library.AlbumDropdown.button.edit') }} + {{ $t('global.button.edit') }} emit('remove') @confirm="remove()" > - {{ $t('components.library.AlbumDropdown.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/components/library/Albums.vue b/front/src/components/library/Albums.vue index aab3ef9f3..2ca00e39e 100644 --- a/front/src/components/library/Albums.vue +++ b/front/src/components/library/Albums.vue @@ -143,7 +143,7 @@ const paginateOptions = computed(() => sortedUniq([12, 25, 50, paginateBy.value] diff --git a/front/src/components/library/ArtistBase.vue b/front/src/components/library/ArtistBase.vue index 6e341c35d..6c7567c8d 100644 --- a/front/src/components/library/ArtistBase.vue +++ b/front/src/components/library/ArtistBase.vue @@ -161,7 +161,7 @@ watch(() => props.id, fetchData, { immediate: true })
@@ -232,7 +232,7 @@ watch(() => props.id, fetchData, { immediate: true }) class="basic item" > - {{ $t('components.library.ArtistBase.button.edit') }} + {{ $t('global.button.edit') }}
sortedUniq([12, 30, 50, paginateBy.value] diff --git a/front/src/components/library/EditCard.vue b/front/src/components/library/EditCard.vue index 390155781..5aca69c70 100644 --- a/front/src/components/library/EditCard.vue +++ b/front/src/components/library/EditCard.vue @@ -315,7 +315,7 @@ const approve = async (approved: boolean) => { :class="['ui', {loading: isLoading}, 'basic danger button']" :action="remove" > - {{ $t('components.library.EditCard.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/components/library/EditForm.vue b/front/src/components/library/EditForm.vue index 3312ac176..36d7f9345 100644 --- a/front/src/components/library/EditForm.vue +++ b/front/src/components/library/EditForm.vue @@ -266,7 +266,7 @@ const resetField = (fieldId: string) => { @click.prevent="values[fieldConfig.id] = null" > - {{ $t('components.library.EditForm.button.clear') }} + {{ $t('global.button.clear') }}
@@ -333,7 +333,7 @@ const resetField = (fieldId: string) => { class="ui left floated button" :to="{name: 'library.tracks.detail', params: {id: object.id }}" > - {{ $t('components.library.EditForm.button.cancel') }} + {{ $t('global.button.cancel') }} diff --git a/front/src/components/library/ImportStatusModal.vue b/front/src/components/library/ImportStatusModal.vue index b83937e3b..57e3f82a7 100644 --- a/front/src/components/library/ImportStatusModal.vue +++ b/front/src/components/library/ImportStatusModal.vue @@ -184,7 +184,7 @@ const getErrorData = (upload: Upload) => {
diff --git a/front/src/components/library/Podcasts.vue b/front/src/components/library/Podcasts.vue index c01ee6a1c..190628231 100644 --- a/front/src/components/library/Podcasts.vue +++ b/front/src/components/library/Podcasts.vue @@ -145,7 +145,7 @@ const paginateOptions = computed(() => sortedUniq([12, 30, 50, paginateBy.value] @@ -281,7 +281,7 @@ const paginateOptions = computed(() => sortedUniq([12, 30, 50, paginateBy.value]
diff --git a/front/src/components/library/TrackBase.vue b/front/src/components/library/TrackBase.vue index da2d80d62..da114a6b6 100644 --- a/front/src/components/library/TrackBase.vue +++ b/front/src/components/library/TrackBase.vue @@ -197,7 +197,7 @@ const remove = async () => {
@@ -254,7 +254,7 @@ const remove = async () => { class="basic item" > - {{ $t('components.library.TrackBase.button.edit') }} + {{ $t('global.button.edit') }} { @confirm="remove()" > - {{ $t('components.library.TrackBase.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/components/library/radios/Builder.vue b/front/src/components/library/radios/Builder.vue index 629a7b161..08b135c17 100644 --- a/front/src/components/library/radios/Builder.vue +++ b/front/src/components/library/radios/Builder.vue @@ -257,7 +257,7 @@ onMounted(() => { :class="['ui', 'success', {loading: isLoading}, 'button']" @click="save" > - {{ $t('components.library.radios.Builder.button.save') }} + {{ $t('global.button.save') }} props.object.summary) @click="emit('update')" > - {{ $t('components.manage.moderation.InstancePolicyCard.button.edit') }} + {{ $t('global.button.edit') }}
diff --git a/front/src/components/manage/moderation/InstancePolicyForm.vue b/front/src/components/manage/moderation/InstancePolicyForm.vue index fd4294673..a3b201646 100644 --- a/front/src/components/manage/moderation/InstancePolicyForm.vue +++ b/front/src/components/manage/moderation/InstancePolicyForm.vue @@ -223,7 +223,7 @@ const remove = async () => { class="ui basic left floated button" @click.prevent="emit('cancel')" > - {{ $t('components.manage.moderation.InstancePolicyForm.button.cancel') }} + {{ $t('global.button.cancel') }} diff --git a/front/src/components/manage/moderation/NotesThread.vue b/front/src/components/manage/moderation/NotesThread.vue index 780c085e9..6a160ef0c 100644 --- a/front/src/components/manage/moderation/NotesThread.vue +++ b/front/src/components/manage/moderation/NotesThread.vue @@ -64,7 +64,7 @@ const remove = async (note: Note) => { @confirm="remove(note)" > - {{ $t('components.manage.moderation.NotesThread.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/components/manage/moderation/ReportCard.vue b/front/src/components/manage/moderation/ReportCard.vue index 8305710ab..f652fdf11 100644 --- a/front/src/components/manage/moderation/ReportCard.vue +++ b/front/src/components/manage/moderation/ReportCard.vue @@ -69,7 +69,7 @@ const actions = computed(() => { label: t('components.manage.moderation.ReportCard.button.delete'), modalHeader: t('components.manage.moderation.ReportCard.modal.delete.header'), modalContent: t('components.manage.moderation.ReportCard.modal.delete.content.warning'), - modalConfirmLabel: t('components.manage.moderation.ReportCard.button.confirmDelete'), + modalConfirmLabel: t('global.button.delete'), icon: 'x', iconColor: 'danger', show: (obj: Report) => { return !!obj.target }, diff --git a/front/src/components/moderation/FilterModal.vue b/front/src/components/moderation/FilterModal.vue index b79d398d4..0f69c7234 100644 --- a/front/src/components/moderation/FilterModal.vue +++ b/front/src/components/moderation/FilterModal.vue @@ -110,7 +110,7 @@ const hide = async () => {
@@ -236,7 +236,7 @@ store.dispatch('playlists/fetchOwn')
diff --git a/front/src/components/playlists/Widget.vue b/front/src/components/playlists/Widget.vue index 46b69f5e5..cab75d9b2 100644 --- a/front/src/components/playlists/Widget.vue +++ b/front/src/components/playlists/Widget.vue @@ -96,7 +96,7 @@ watch( :class="['ui', 'basic', 'button']" @click="fetchData(nextPage)" > - {{ $t('components.playlists.Widget.button.more') }} + {{ $t('global.button.showMore') }} diff --git a/front/src/components/radios/Card.vue b/front/src/components/radios/Card.vue index 7fb9aa068..ccd422eeb 100644 --- a/front/src/components/radios/Card.vue +++ b/front/src/components/radios/Card.vue @@ -70,7 +70,7 @@ const customRadioId = computed(() => props.customRadio?.id ?? null) class="ui success button right floated" :to="{name: 'library.radios.edit', params: {id: customRadioId }}" > - {{ $t('components.radios.Card.button.edit') }} + {{ $t('global.button.edit') }} diff --git a/front/src/locales/en_US.json b/front/src/locales/en_US.json index 1e93a77a0..0d020fd5f 100644 --- a/front/src/locales/en_US.json +++ b/front/src/locales/en_US.json @@ -184,8 +184,6 @@ "connectivity": "You may have a connectivity issue." }, "button": { - "close": "Close", - "clear": "Clear", "stopRadio": "Stop radio" }, "meta": { @@ -216,7 +214,6 @@ "fediverse": "Use this form to subscribe to a channel hosted somewhere else on the Fediverse." }, "button": { - "search": "Search", "rss": "RSS", "fediverse": "Fediverse" }, @@ -243,8 +240,7 @@ "selectPod": "To continue, please select the Funkwhale instance you want to connect to. Enter the address directly, or select one of the suggested choices." }, "button": { - "submit": "Submit", - "cancel": "Cancel" + "submit": "Submit" }, "label": { "url": "Instance URL" @@ -254,9 +250,7 @@ "header": { "modal": "Keyboard shortcuts" }, - "button": { - "close": "Close" - }, + "button": {}, "shortcut": { "general": { "label": "General shortcuts", @@ -333,9 +327,7 @@ "message": { "success": "Settings updated successfully." }, - "button": { - "save": "Save" - } + "button": {} }, "SignupFormBuilder": { "label": { @@ -429,17 +421,13 @@ } }, "ChannelSeries": { - "button": { - "showMore": "Show more" - }, + "button": {}, "help": { "subscribe": "You may need to subscribe to this channel to see its contents." } }, "ChannelsWidget": { - "button": { - "showMore": "Show more" - } + "button": {} }, "EmbedWizard": { "warning": { @@ -455,9 +443,7 @@ "height": "Widget height", "embed": "Embed code" }, - "button": { - "copy": "Copy" - }, + "button": {}, "header": { "preview": "Preview" }, @@ -578,9 +564,7 @@ } }, "Widget": { - "button": { - "more": "Show more" - } + "button": {} } }, "artist": { @@ -591,9 +575,7 @@ } }, "Widget": { - "button": { - "more": "Show more" - } + "button": {} } }, "podcast": { @@ -653,9 +635,7 @@ } }, "Widget": { - "button": { - "more": "Show more" - }, + "button": {}, "empty": { "noResults": "Nothing found" } @@ -768,9 +748,7 @@ "username": "Username or e-mail address", "password": "Password" }, - "button": { - "login": "Login" - }, + "button": {}, "link": { "resetPassword": "Reset your password", "createAccount": "Create an account" @@ -803,7 +781,6 @@ "documentation": "Documentation" }, "button": { - "save": "Save", "scan": "Scan" }, "label": { @@ -1021,10 +998,7 @@ "newSeries": "New series", "newAlbum": "New album" }, - "button": { - "cancel": "Cancel", - "create": "Create" - } + "button": {} }, "AlbumSelect": { "label": { @@ -1113,13 +1087,11 @@ "processing": "Processing uploads" }, "button": { - "cancel": "Cancel", "previous": "Previous step", "update": "Update", "next": "Next", "publish": "Publish", - "finishLater": "Finish later", - "close": "Close" + "finishLater": "Finish later" } } }, @@ -1195,9 +1167,7 @@ } }, "CopyInput": { - "button": { - "copy": "Copy" - }, + "button": {}, "message": { "success": "Text copied to clipboard!" } @@ -1206,10 +1176,7 @@ "header": { "confirm": "Do you want to confirm this action?" }, - "button": { - "cancel": "Cancel", - "confirm": "Confirm" - } + "button": {} }, "Duration": { "meta": { @@ -1218,9 +1185,7 @@ } }, "EmptyState": { - "button": { - "refresh": "Refresh" - }, + "button": {}, "header": { "noResults": "No results were found." } @@ -1238,9 +1203,7 @@ "label": { "search": "Search" }, - "button": { - "clear": "Clear" - } + "button": {} }, "LoginModal": { "header": { @@ -1258,8 +1221,6 @@ "button": { "more": "Show more", "less": "Show less", - "edit": "Edit", - "cancel": "Cancel", "update": "Update description" }, "header": { @@ -1377,7 +1338,6 @@ "pending": "The refresh request hasn't been processed in time by our server. It will be processed later." }, "button": { - "close": "Close", "reload": "Close and reload page" }, "loader": { @@ -1403,9 +1363,7 @@ } }, "LibraryWidget": { - "button": { - "showMore": "Show more" - }, + "button": {}, "empty": { "noMatch": "No matching library." } @@ -1414,9 +1372,7 @@ "forms": { "PasswordInput": { "title": "Show/hide password", - "button": { - "copy": "Copy" - }, + "button": {}, "message": { "copy": "Text copied to clipboard!" } @@ -1449,10 +1405,7 @@ "AlbumDropdown": { "button": { "more": "More…", - "cancel": "Cancel", - "embed": "Embed", - "edit": "Edit", - "delete": "Delete" + "embed": "Embed" }, "modal": { "embed": { @@ -1490,9 +1443,7 @@ "header": { "browse": "Browsing albums" }, - "button": { - "search": "Search" - }, + "button": {}, "label": { "search": "Search", "tags": "Tags" @@ -1523,8 +1474,6 @@ }, "button": { "play": "Play all albums", - "edit": "Edit", - "cancel": "Cancel", "embed": "Embed", "more": "More…" }, @@ -1585,7 +1534,6 @@ "excludeCompilation": "Exclude Compilation Artists" }, "button": { - "search": "Search", "upload": "Add some music" }, "ordering": { @@ -1628,8 +1576,7 @@ }, "button": { "approve": "Approve", - "reject": "Reject", - "delete": "Delete" + "reject": "Reject" }, "modal": { "delete": { @@ -1655,10 +1602,8 @@ "showAll": "Show all edits", "showUnreviewed": "Restrict to unreviewed edits", "new": "Submit another edit", - "clear": "Clear", "reset": "Reset to initial value", "submit": "Submit and apply edit", - "cancel": "Cancel", "suggest": "Submit suggestion" }, "empty": { @@ -1725,8 +1670,7 @@ } }, "button": { - "retry": "Retry failed uploads", - "cancel": "Cancel" + "retry": "Retry failed uploads" }, "description": { "import": "Import status", @@ -1787,9 +1731,7 @@ "documentation": "Read our documentation for this error", "support": "Open a support thread (include the debug information below in your message)" }, - "button": { - "close": "Close" - } + "button": {} }, "Podcasts": { "title": "Podcasts", @@ -1804,8 +1746,6 @@ "tags": "Tags" }, "button": { - "search": "Search", - "cancel": "Cancel", "subscribe": "Subscribe", "channel": "Create a Channel", "feed": "Subscribe to feed" @@ -1845,7 +1785,6 @@ "search": "Search" }, "button": { - "search": "Search", "create": "Create your own radio", "add": "Create a radio" }, @@ -1886,10 +1825,7 @@ "download": "Download", "more": "More…", "play": "Play", - "cancel": "Cancel", - "embed": "Embed", - "edit": "Edit", - "delete": "Delete" + "embed": "Embed" }, "link": { "domain": "View on {domain}", @@ -1979,7 +1915,6 @@ "filter": "Add filters to customize your radio" }, "button": { - "save": "Save", "filter": "Add filter" }, "option": { @@ -2435,9 +2370,7 @@ "enabled": "Enabled", "paused": "Paused" }, - "button": { - "edit": "Edit" - }, + "button": {}, "header": { "rule": "Rule" }, @@ -2474,11 +2407,8 @@ "failure": "Error while creating rule" }, "button": { - "cancel": "Cancel", "update": "Update", - "create": "Create", - "delete": "Delete", - "confirm": "Delete moderation rule" + "create": "Create" }, "modal": { "delete": { @@ -2491,8 +2421,7 @@ }, "InstancePolicyModal": { "button": { - "show": "Moderation rules…", - "close": "Close" + "show": "Moderation rules…" }, "modal": { "manage": { @@ -2515,9 +2444,7 @@ } }, "NotesThread": { - "button": { - "delete": "Delete" - }, + "button": {}, "modal": { "delete": { "header": "Delete this note?", @@ -2539,8 +2466,7 @@ "button": { "delete": "Delete reported object", "resolve": "Resolve", - "unresolve": "Unresolve", - "confirmDelete": "Delete" + "unresolve": "Unresolve" }, "link": { "report": "Report {id}", @@ -2623,7 +2549,6 @@ "failure": "Error while creating invitation" }, "button": { - "clear": "Clear", "new": "Get a new invitation" }, "label": { @@ -2747,7 +2672,6 @@ "createFilter": "You can manage your filters any time from your account settings." }, "button": { - "cancel": "Cancel", "hide": "Hide content" } }, @@ -2783,7 +2707,6 @@ "forwardToDomain": "Forward to {domain}" }, "button": { - "cancel": "Cancel", "submit": "Submit report" } } @@ -2870,9 +2793,7 @@ "button": { "addToPlaylist": "Add to this playlist", "addTrack": "Add track", - "cancel": "Cancel", - "addDuplicate": "Add anyways", - "edit": "Edit" + "addDuplicate": "Add anyways" }, "header": { "addToPlaylist": "Add to playlist", @@ -2912,8 +2833,7 @@ "noPlaylists": "No playlists have been created yet" }, "button": { - "create": "Create playlist", - "more": "Show more" + "create": "Create playlist" } } }, @@ -2929,9 +2849,7 @@ "startRadio": "Play radio" }, "Card": { - "button": { - "edit": "Edit" - } + "button": {} } }, "tags": { @@ -3306,8 +3224,7 @@ }, "button": { "refresh": "Refresh from remote server", - "openRemote": "Open remote profile", - "delete": "Delete" + "openRemote": "Open remote profile" }, "modal": { "delete": { @@ -3405,9 +3322,7 @@ "tracks": "Tracks" }, "button": { - "remoteRefresh": "Refresh from remote server", - "edit": "Edit", - "delete": "Delete" + "remoteRefresh": "Refresh from remote server" }, "modal": { "delete": { @@ -3459,9 +3374,7 @@ "tracks": "Tracks" }, "button": { - "remoteRefresh": "Refresh from remote server", - "edit": "Edit", - "delete": "Delete" + "remoteRefresh": "Refresh from remote server" }, "modal": { "delete": { @@ -3532,9 +3445,7 @@ "tracks": "Tracks", "uploads": "Uploads" }, - "button": { - "delete": "Delete" - }, + "button": {}, "modal": { "delete": { "header": "Delete this library?", @@ -3571,9 +3482,7 @@ "albums": "Albums", "tracks": "Tracks" }, - "button": { - "delete": "Delete" - }, + "button": {}, "modal": { "delete": { "header": "Delete this tag?", @@ -3615,9 +3524,7 @@ "albumArtist": "Album artist" }, "button": { - "remoteRefresh": "Refresh from remote server", - "edit": "Edit", - "delete": "Delete" + "remoteRefresh": "Refresh from remote server" }, "modal": { "delete": { @@ -3656,8 +3563,7 @@ "audioContent": "Audio content" }, "button": { - "download": "Download", - "delete": "Delete" + "download": "Download" }, "link": { "django": "View in Django's admin", @@ -4048,7 +3954,6 @@ "addNew": "Add New" }, "button": { - "cancel": "Cancel", "previous": "Previous step", "next": "Next step", "createChannel": "Create channel" @@ -4104,14 +4009,10 @@ } }, "button": { - "cancel": "Cancel", "embed": "Embed", - "edit": "Edit…", - "delete": "Delete…", "upload": "Upload", "play": "Play", - "updateChannel": "Update channel", - "confirm": "Delete" + "updateChannel": "Update channel" }, "link": { "domainView": "View on {domain}", @@ -4158,7 +4059,6 @@ } }, "button": { - "cancel": "Cancel", "subscribe": "Subscribe" } } @@ -4289,9 +4189,7 @@ }, "button": { "update": "Update library", - "create": "Create library", - "delete": "Delete", - "confirm": "Delete library" + "create": "Create library" }, "modal": { "delete": { @@ -4415,9 +4313,7 @@ "description": { "remoteLibraries": "Remote libraries are owned by other users on the network. You can access them as long as they are public or you are granted access." }, - "button": { - "refresh": "Refresh" - } + "button": {} }, "ScanForm": { "placeholder": { @@ -4513,8 +4409,7 @@ "tracks": "No tracks | {n} track | {n} tracks" }, "button": { - "upload": "Upload", - "edit": "Edit" + "upload": "Upload" } } }, @@ -4530,10 +4425,7 @@ "button": { "playAll": "Play all", "stopEdit": "Stop Editing", - "edit": "Edit", "embed": "Embed", - "delete": "Delete", - "cancel": "Cancel", "confirm": "Delete playlist" }, "modal": { @@ -4561,8 +4453,7 @@ }, "button": { "manage": "Manage your playlists", - "create": "Create a playlist", - "search": "Search" + "create": "Create a playlist" }, "label": { "search": "Search" @@ -4590,11 +4481,7 @@ "radio": "Radio containing {tracks} tracks, by ", "tracks": "Tracks" }, - "button": { - "edit": "Edit…", - "delete": "Delete", - "confirm": "Delete radio" - }, + "button": {}, "modal": { "delete": { "header": "Do you want to delete the radio {radio}?", @@ -4608,5 +4495,22 @@ } } } + }, + "global": { + "button": { + "save": "Save", + "showMore": "Show more", + "copy": "Copy", + "login": "Log in", + "refresh": "Refresh", + "cancel": "Cancel", + "create": "Create", + "close": "Close", + "confirm": "Confirm", + "edit": "Edit", + "delete": "Delete", + "search": "Search", + "clear": "Clear" + } } } diff --git a/front/src/views/admin/ChannelDetail.vue b/front/src/views/admin/ChannelDetail.vue index bf48c8415..261caf86a 100644 --- a/front/src/views/admin/ChannelDetail.vue +++ b/front/src/views/admin/ChannelDetail.vue @@ -173,7 +173,7 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"` :class="['ui', {loading: isLoading}, 'basic danger button']" :action="remove" > - {{ $t('views.admin.ChannelDetail.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/views/admin/library/AlbumDetail.vue b/front/src/views/admin/library/AlbumDetail.vue index 8204620cf..a5cbfc584 100644 --- a/front/src/views/admin/library/AlbumDetail.vue +++ b/front/src/views/admin/library/AlbumDetail.vue @@ -186,7 +186,7 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"` class="ui labeled icon button" > - {{ $t('views.admin.library.AlbumDetail.button.edit') }} + {{ $t('global.button.edit') }}
@@ -194,7 +194,7 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"` :class="['ui', {loading: isLoading}, 'basic danger button']" :action="remove" > - {{ $t('views.admin.library.AlbumDetail.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/views/admin/library/ArtistDetail.vue b/front/src/views/admin/library/ArtistDetail.vue index 6cf6391d7..57b5ce407 100644 --- a/front/src/views/admin/library/ArtistDetail.vue +++ b/front/src/views/admin/library/ArtistDetail.vue @@ -185,7 +185,7 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"` class="ui labeled icon button" > - {{ $t('views.admin.library.ArtistDetail.button.edit') }} + {{ $t('global.button.edit') }}
@@ -193,7 +193,7 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"` :class="['ui', {loading: isLoading}, 'basic danger button']" :action="remove" > - {{ $t('views.admin.library.ArtistDetail.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/views/admin/library/LibraryDetail.vue b/front/src/views/admin/library/LibraryDetail.vue index 23f8168ca..19db30eca 100644 --- a/front/src/views/admin/library/LibraryDetail.vue +++ b/front/src/views/admin/library/LibraryDetail.vue @@ -169,7 +169,7 @@ const updateObj = async (attr: string) => { :class="['ui', {loading: isLoading}, 'basic danger button']" :action="remove" > - {{ $t('views.admin.library.LibraryDetail.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/views/admin/library/TagDetail.vue b/front/src/views/admin/library/TagDetail.vue index 65afbe1a9..f756ec52b 100644 --- a/front/src/views/admin/library/TagDetail.vue +++ b/front/src/views/admin/library/TagDetail.vue @@ -103,7 +103,7 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"` :class="['ui', {loading: isLoading}, 'basic danger button']" :action="remove" > - {{ $t('views.admin.library.TagDetail.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/views/admin/library/TrackDetail.vue b/front/src/views/admin/library/TrackDetail.vue index e5a57879e..0eb45e695 100644 --- a/front/src/views/admin/library/TrackDetail.vue +++ b/front/src/views/admin/library/TrackDetail.vue @@ -185,7 +185,7 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"` class="ui labeled icon button" > - {{ $t('views.admin.library.TrackDetail.button.edit') }} + {{ $t('global.button.edit') }}
@@ -193,7 +193,7 @@ const getQuery = (field: string, value: string) => `${field}:"${value}"` :class="['ui', {loading: isLoading}, 'basic danger button']" :action="remove" > - {{ $t('views.admin.library.TrackDetail.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/views/admin/library/UploadDetail.vue b/front/src/views/admin/library/UploadDetail.vue index cdf7f8319..9bf1dee32 100644 --- a/front/src/views/admin/library/UploadDetail.vue +++ b/front/src/views/admin/library/UploadDetail.vue @@ -153,7 +153,7 @@ const showUploadDetailModal = ref(false) :class="['ui', {loading: isLoading}, 'basic danger button']" :action="remove" > - {{ $t('views.admin.library.UploadDetail.button.delete') }} + {{ $t('global.button.delete') }} diff --git a/front/src/views/auth/ProfileOverview.vue b/front/src/views/auth/ProfileOverview.vue index 47f5f4ea3..64f4a447b 100644 --- a/front/src/views/auth/ProfileOverview.vue +++ b/front/src/views/auth/ProfileOverview.vue @@ -115,7 +115,7 @@ const createForm = ref() v-if="step === 1" class="ui basic deny button" > - {{ $t('views.auth.ProfileOverview.button.cancel') }} + {{ $t('global.button.cancel') }}
@@ -286,7 +286,7 @@ const updateSubscriptionCount = (delta: number) => { @click.stop.prevent="showEditModal = true" > - {{ $t('views.channels.DetailBase.button.edit') }} + {{ $t('global.button.edit') }} { @confirm="remove()" > - {{ $t('views.channels.DetailBase.button.delete') }} + {{ $t('global.button.delete') }} @@ -404,7 +404,7 @@ const updateSubscriptionCount = (delta: number) => {
@@ -436,7 +436,7 @@ const updateSubscriptionCount = (delta: number) => {
@@ -140,7 +140,7 @@ const deletePlaylist = async () => { :action="deletePlaylist" > - {{ $t('views.playlists.Detail.button.delete') }} + {{ $t('global.button.delete') }}