From 91703a2eeed6f95205842c053eefbe0d7ced8fa1 Mon Sep 17 00:00:00 2001 From: FloatingGhost Date: Mon, 29 Aug 2022 20:02:34 +0100 Subject: [PATCH] add translation options --- src/boot/after_store.js | 1 + src/components/extra_buttons/extra_buttons.js | 9 + .../extra_buttons/extra_buttons.vue | 11 + src/components/status_body/status_body.scss | 7 + src/components/status_body/status_body.vue | 17 + src/i18n/en.json | 2 + src/i18n/ja_pedantic.json | 358 +++++++++--------- src/modules/config.js | 1 + src/modules/statuses.js | 8 + src/services/api/api.service.js | 11 +- 10 files changed, 235 insertions(+), 190 deletions(-) diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 0d1cad1b..4b2b33d6 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -258,6 +258,7 @@ const getNodeInfo = async ({ store }) => { store.dispatch('setInstanceOption', { name: 'editingAvailable', value: features.includes('editing') }) store.dispatch('setInstanceOption', { name: 'pollLimits', value: metadata.pollLimits }) store.dispatch('setInstanceOption', { name: 'mailerEnabled', value: metadata.mailerEnabled }) + store.dispatch('setInstanceOption', { name: 'translationEnabled', value: features.includes('akkoma:machine_translation') }) const uploadLimits = metadata.uploadLimits store.dispatch('setInstanceOption', { name: 'uploadlimit', value: parseInt(uploadLimits.general) }) diff --git a/src/components/extra_buttons/extra_buttons.js b/src/components/extra_buttons/extra_buttons.js index 48b960b2..f20a9c66 100644 --- a/src/components/extra_buttons/extra_buttons.js +++ b/src/components/extra_buttons/extra_buttons.js @@ -67,6 +67,12 @@ const ExtraButtons = { hideDeleteStatusConfirmDialog () { this.showingDeleteDialog = false }, + + translateStatus () { + this.$store.dispatch('translateStatus', { id: this.status.id, language: this.$store.state.instance.interfaceLanguage }) + .then(() => this.$emit('onSuccess')) + .catch(err => this.$emit('onError', err.error.error)) + }, pinStatus () { this.$store.dispatch('pinStatus', this.status.id) .then(() => this.$emit('onSuccess')) @@ -140,6 +146,9 @@ const ExtraButtons = { canMute () { return !!this.currentUser }, + canTranslate () { + return this.$store.state.instance.translationEnabled === true + }, canBookmark () { return !!this.currentUser }, diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue index c1c15c0f..7ca9eaa7 100644 --- a/src/components/extra_buttons/extra_buttons.vue +++ b/src/components/extra_buttons/extra_buttons.vue @@ -142,6 +142,17 @@ :icon="['far', 'flag']" />{{ $t("user_card.report") }} +