From a24fff5d5ba40ec1914e155911c0b9af5197829d Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Fri, 26 Apr 2024 23:23:21 +0200 Subject: [PATCH 01/20] moved user stats to between user info and user actions --- src/components/user_card/user_card.scss | 141 ++++++++++++----------- src/components/user_card/user_card.vue | 146 ++++++++++++------------ 2 files changed, 144 insertions(+), 143 deletions(-) diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 0a5e744e..004e601d 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -21,6 +21,11 @@ position: relative; } + .user-buttons { + display: flex; + padding: .5em 0 .5em 1em; + } + .panel-body { word-wrap: break-word; border-bottom-right-radius: inherit; @@ -165,12 +170,15 @@ } .user-summary { - display: block; + display: grid; + grid-template-areas: + "name name name name name" + "hand role lock avg _"; + grid-template-columns: + auto auto auto auto 1fr; + justify-items: start; margin-left: 0.6em; - text-align: left; text-overflow: ellipsis; - white-space: nowrap; - flex: 1 1 0; // This is so that text doesn't get overlapped by avatar's shadow if it has // big one z-index: 1; @@ -178,54 +186,75 @@ --emoji-size: 1.7em; - .top-line, - .bottom-line { + .user-locked { + margin-left: 0.5em; + grid-area: lock; + } + + .user-screen-name { + min-width: 1px; + text-overflow: ellipsis; + overflow: hidden; + color: $fallback--lightText; + color: var(--lightText, $fallback--lightText); + grid-area: hand; + } + + .dailyAvg { + min-width: 1px; + margin-left: 1em; + font-size: 0.7em; + color: $fallback--text; + color: var(--text, $fallback--text); + grid-area: avg; + } + + .user-roles { display: flex; + grid-area: role; + + .user-role { + color: $fallback--text; + color: var(--alertNeutralText, $fallback--text); + background-color: $fallback--fg; + background-color: var(--alertNeutral, $fallback--fg); + } + } + } + + .user-counts { + display: flex; + line-height:16px; + padding: 0 1.5em 0 1.5em; + margin: 0 auto; + text-align: center; + justify-content: space-between; + color: $fallback--lightText; + color: var(--lightText, $fallback--lightText); + align-self: center; + + .user-count { + flex: 1 0 auto; + padding: .5em 0 .5em 0; + margin: 0 .5em; + + h5 { + font-size:1em; + font-weight: bolder; + margin: 0 0 0.25em; + } + a { + text-decoration: none; + } } } .user-name { text-overflow: ellipsis; overflow: hidden; - flex: 1 1 auto; margin-right: 1em; font-size: 1.1em; - } - - .bottom-line { - font-weight: light; - font-size: 1.1em; - align-items: baseline; - - .lock-icon { - margin-left: 0.5em; - } - - .user-screen-name { - min-width: 1px; - flex: 0 1 auto; - text-overflow: ellipsis; - overflow: hidden; - color: $fallback--lightText; - color: var(--lightText, $fallback--lightText); - } - - .dailyAvg { - min-width: 1px; - flex: 0 0 auto; - margin-left: 1em; - font-size: 0.7em; - color: $fallback--text; - color: var(--text, $fallback--text); - } - - .user-role { - flex: none; - color: $fallback--text; - color: var(--alertNeutralText, $fallback--text); - background-color: $fallback--fg; - background-color: var(--alertNeutral, $fallback--fg); - } + grid-area: name; } .user-meta { @@ -295,29 +324,3 @@ .sidebar .edit-profile-button { display: none; } - -.user-counts { - display: flex; - line-height:16px; - padding: .5em 1.5em 0em 1.5em; - text-align: center; - justify-content: space-between; - color: $fallback--lightText; - color: var(--lightText, $fallback--lightText); - flex-wrap: wrap; -} - -.user-count { - flex: 1 0 auto; - padding: .5em 0 .5em 0; - margin: 0 .5em; - - h5 { - font-size:1em; - font-weight: bolder; - margin: 0 0 0.25em; - } - a { - text-decoration: none; - } -} diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index 289db15b..57f922d7 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -37,14 +37,79 @@ />
-
- + + @{{ user.screen_name_ui }} + + + + {{ $t('user_card.deactivated') }} + + + {{ $t(`general.role.${visibleRole}`) }} + + + {{ $t('user_card.bot') }} + + + + -
+
+
+
{{ $t('user_card.statuses') }}
+ {{ user.statuses_count }}
+
+
+
{{ $t('user_card.followees') }}
+ {{ hideFollowsCount ? $t('user_card.hidden') : user.friends_count }} +
+
+
{{ $t('user_card.followers') }}
+ {{ hideFollowersCount ? $t('user_card.hidden') : user.followers_count }} +
+
+
+
-
- - @{{ user.screen_name_ui }} - - - - - - {{ dailyAvg }} {{ $t('user_card.per_day') }} -
@@ -269,32 +293,6 @@ v-if="!hideBio" class="panel-body" > -
-
-
{{ $t('user_card.statuses') }}
- {{ user.statuses_count }}
-
-
-
{{ $t('user_card.followees') }}
- {{ hideFollowsCount ? $t('user_card.hidden') : user.friends_count }} -
-
-
{{ $t('user_card.followers') }}
- {{ hideFollowersCount ? $t('user_card.hidden') : user.followers_count }} -
-
Date: Fri, 26 Apr 2024 23:24:19 +0200 Subject: [PATCH 02/20] left-aligned bio text why the fuck was it centered in the first place?!? --- src/components/user_card/user_card.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 004e601d..72f33e85 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -58,7 +58,7 @@ } &-bio { - text-align: center; + text-align: start; display: block; line-height: 1.3; padding: 1em; From 88aae1706a196723db2716fa0ca6af583c41fa9d Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Fri, 26 Apr 2024 23:27:16 +0200 Subject: [PATCH 03/20] oops, removed unneeded spacing --- src/components/user_card/user_card.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 72f33e85..d47970ac 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -23,7 +23,7 @@ .user-buttons { display: flex; - padding: .5em 0 .5em 1em; + padding: .5em 0 .5em 0; } .panel-body { From 918b0e3770609a87e82b578757bf103f39c1ed8f Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Mon, 20 May 2024 16:20:50 +0200 Subject: [PATCH 04/20] =?UTF-8?q?stopped=20username=20from=20wrapping?= =?UTF-8?q?=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/user_card/user_card.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index d47970ac..1d516339 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -255,6 +255,8 @@ margin-right: 1em; font-size: 1.1em; grid-area: name; + white-space: nowrap; + max-width: 100%; } .user-meta { From 31055fb4f2286a82c7a1029b68a76b55a5dfa0a8 Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Mon, 20 May 2024 17:08:30 +0200 Subject: [PATCH 05/20] removed min-width statements that were messing up my layouts --- src/components/user_card/user_card.scss | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 1d516339..36eebaeb 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -105,16 +105,11 @@ padding: 0 26px; .container { - min-width: 0; padding: 16px 0 6px; display: flex; align-items: flex-start; max-height: 56px; - > * { - min-width: 0; - } - .Avatar { --_avatarShadowBox: var(--avatarShadow); --_avatarShadowFilter: var(--avatarShadowFilter); From 754cd2fa5786d10c4fcb7e4b21d0bdc20016768b Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Mon, 20 May 2024 17:53:17 +0200 Subject: [PATCH 06/20] slightly adjusted edit button spacing --- src/components/user_card/user_card.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 36eebaeb..92b27037 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -153,8 +153,8 @@ .external-link-button, .edit-profile-button { cursor: pointer; - width: 2.5em; - text-align: center; + width: 2.3em; + text-align: right; margin: -0.5em 0; padding: 0.5em 0; From c902219997a6cf62d4215b46654b1a59ba0d9879 Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Wed, 26 Jun 2024 17:20:50 +0200 Subject: [PATCH 07/20] added setting to switch between center and left-aligned user bio --- src/components/settings_modal/tabs/general_tab.vue | 5 +++++ src/components/user_card/user_card.scss | 1 - src/components/user_card/user_card.vue | 1 + src/i18n/de.json | 1 + src/i18n/en.json | 1 + src/modules/config.js | 1 + 6 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue index 4f314ca0..70fcaef8 100644 --- a/src/components/settings_modal/tabs/general_tab.vue +++ b/src/components/settings_modal/tabs/general_tab.vue @@ -159,6 +159,11 @@ {{ $t('settings.show_page_backgrounds') }} +
  • + + {{ $t('settings.center_align_bio') }} + +
  • {{ $t('settings.stop_gifs') }} diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 92b27037..854c4117 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -58,7 +58,6 @@ } &-bio { - text-align: start; display: block; line-height: 1.3; padding: 1em; diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index 57f922d7..406f329d 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -299,6 +299,7 @@ :html="user.description_html" :emoji="user.emoji" :handle-links="true" + :style='{"text-align": this.$store.getters.mergedConfig.centerAlignBio ? "center" : "start"}' />
  • diff --git a/src/i18n/de.json b/src/i18n/de.json index d5a7b1c0..ed68bfbf 100644 --- a/src/i18n/de.json +++ b/src/i18n/de.json @@ -482,6 +482,7 @@ "blocks_tab": "Blocks", "bot": "Dies ist ein Bot Account", "btnRadius": "Knöpfe", + "center_align_bio": "Zentrale Textausrichtung in der Bio", "cBlue": "Blau (Antworten, folgt dir)", "cGreen": "Grün (Retweet)", "cOrange": "Orange (Favorisieren)", diff --git a/src/i18n/en.json b/src/i18n/en.json index 44971a51..6318e9f5 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -488,6 +488,7 @@ "blocks_tab": "Blocks", "bot": "This is a bot account", "btnRadius": "Buttons", + "center_align_bio": "Center text in user bio", "cBlue": "Blue (Reply, follow)", "cGreen": "Green (Retweet)", "cOrange": "Orange (Favorite)", diff --git a/src/modules/config.js b/src/modules/config.js index 038bb24e..a4d69096 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -56,6 +56,7 @@ export const defaultState = { autohideFloatingPostButton: false, pauseOnUnfocused: true, displayPageBackgrounds: true, + centerAlignBio: false, stopGifs: undefined, replyVisibility: 'all', thirdColumnMode: 'notifications', From 85001814a257e3b278965bbf868ccd43cadf8b02 Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Wed, 26 Jun 2024 18:09:13 +0200 Subject: [PATCH 08/20] added setting for user info compactness --- .../settings_modal/tabs/general_tab.vue | 5 +++ src/components/user_card/user_card.js | 3 ++ src/components/user_card/user_card.scss | 31 ++++++++++++++----- src/components/user_card/user_card.vue | 5 ++- src/i18n/de.json | 1 + src/i18n/en.json | 1 + src/modules/config.js | 1 + 7 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue index 70fcaef8..6bebae66 100644 --- a/src/components/settings_modal/tabs/general_tab.vue +++ b/src/components/settings_modal/tabs/general_tab.vue @@ -164,6 +164,11 @@ {{ $t('settings.center_align_bio') }} +
  • + + {{ $t('settings.compact_user_info') }} + +
  • {{ $t('settings.stop_gifs') }} diff --git a/src/components/user_card/user_card.js b/src/components/user_card/user_card.js index cda142b9..f896391e 100644 --- a/src/components/user_card/user_card.js +++ b/src/components/user_card/user_card.js @@ -117,6 +117,9 @@ export default { shouldConfirmMute () { return this.mergedConfig.modalOnMute }, + compactUserInfo () { + return this.$store.getters.mergedConfig.compactUserInfo + }, ...mapGetters(['mergedConfig']) }, components: { diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 854c4117..9d43c0bf 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -22,8 +22,10 @@ } .user-buttons { + grid-area: edit; display: flex; padding: .5em 0 .5em 0; + justify-self: end; } .panel-body { @@ -105,9 +107,12 @@ .container { padding: 16px 0 6px; - display: flex; - align-items: flex-start; - max-height: 56px; + display: grid; + grid-template-areas: + "pfp summary edit" + "stats stats stats"; + grid-template-columns: auto 1fr auto; + align-items: start; .Avatar { --_avatarShadowBox: var(--avatarShadow); @@ -122,6 +127,7 @@ } &-avatar-link { + grid-area: pfp; position: relative; cursor: pointer; @@ -164,6 +170,7 @@ } .user-summary { + grid-area: summary; display: grid; grid-template-areas: "name name name name name" @@ -217,18 +224,17 @@ } .user-counts { + grid-area: stats; display: flex; line-height:16px; - padding: 0 1.5em 0 1.5em; - margin: 0 auto; + padding-top: 0.5em; text-align: center; - justify-content: space-between; + justify-content: space-around; color: $fallback--lightText; color: var(--lightText, $fallback--lightText); align-self: center; .user-count { - flex: 1 0 auto; padding: .5em 0 .5em 0; margin: 0 .5em; @@ -315,6 +321,17 @@ margin: 0; } } + + &.-compact { + .container { + grid-template-areas: "pfp summary stats edit"; + grid-template-columns: auto auto 1fr auto; + } + .user-counts { + padding-top: 0; + justify-content: space-evenly; + } + } } .sidebar .edit-profile-button { diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index 406f329d..39d2c63d 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -9,7 +9,10 @@ class="background-image" />
  • - + {{ $t('settings.compact_user_info') }}
  • From a74a6317932f1e521183c3a7f1c44a4c852689e0 Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Wed, 3 Jul 2024 17:45:40 +0200 Subject: [PATCH 11/20] stopped user handle from overflowing from its boundaries in user card --- src/components/user_card/user_card.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 9d43c0bf..dcbc4678 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -194,6 +194,7 @@ .user-screen-name { min-width: 1px; + max-width: 100%; text-overflow: ellipsis; overflow: hidden; color: $fallback--lightText; From c39d9fa64b70546113d2b5b490d8fcdac671791e Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Wed, 3 Jul 2024 18:30:51 +0200 Subject: [PATCH 12/20] fixed stuff overflowing in user popup e.g. in notifs --- src/components/user_card/user_card.js | 1 + src/components/user_card/user_card.scss | 11 ++++++++--- src/components/user_card/user_card.vue | 13 +++++++------ 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/components/user_card/user_card.js b/src/components/user_card/user_card.js index bdae3cd6..fdedafa7 100644 --- a/src/components/user_card/user_card.js +++ b/src/components/user_card/user_card.js @@ -120,6 +120,7 @@ export default { compactUserInfo () { return this.$store.getters.mergedConfig.compactUserInfo && (this.$store.state.interface.layoutType !== 'mobile') + && this.switcher }, ...mapGetters(['mergedConfig']) }, diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index dcbc4678..912e50c6 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -109,7 +109,8 @@ padding: 16px 0 6px; display: grid; grid-template-areas: - "pfp summary edit" + "pfp name edit" + "pfp summary summary" "stats stats stats"; grid-template-columns: auto 1fr auto; align-items: start; @@ -251,13 +252,15 @@ } .user-name { + text-align: start; text-overflow: ellipsis; overflow: hidden; - margin-right: 1em; + margin-left: 0.6em; font-size: 1.1em; grid-area: name; white-space: nowrap; max-width: 100%; + z-index: 1; // so shadow from user avatar doesn't overlap it } .user-meta { @@ -325,7 +328,9 @@ &.-compact { .container { - grid-template-areas: "pfp summary stats edit"; + grid-template-areas: + "pfp name stats edit" + "pfp summary stats edit"; grid-template-columns: auto auto 1fr auto; } .user-counts { diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue index 39d2c63d..9b1b85e8 100644 --- a/src/components/user_card/user_card.vue +++ b/src/components/user_card/user_card.vue @@ -32,6 +32,7 @@
    +
    - Date: Wed, 3 Jul 2024 18:58:50 +0200 Subject: [PATCH 13/20] oops, unfucked username placement --- src/components/user_card/user_card.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss index 912e50c6..c5dc8d88 100644 --- a/src/components/user_card/user_card.scss +++ b/src/components/user_card/user_card.scss @@ -258,6 +258,7 @@ margin-left: 0.6em; font-size: 1.1em; grid-area: name; + align-self: center; white-space: nowrap; max-width: 100%; z-index: 1; // so shadow from user avatar doesn't overlap it From 94ed0991bc201119fa39e2a212738f7c2235e62c Mon Sep 17 00:00:00 2001 From: RiedleroD Date: Sat, 6 Jul 2024 14:54:24 +0200 Subject: [PATCH 14/20] reverted 2e83ccefdc and clarified that compact user info is only used with enough room --- src/components/settings_modal/tabs/general_tab.vue | 5 +---- src/i18n/de.json | 2 +- src/i18n/en.json | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue index 5a27814e..6bebae66 100644 --- a/src/components/settings_modal/tabs/general_tab.vue +++ b/src/components/settings_modal/tabs/general_tab.vue @@ -165,10 +165,7 @@
  • - + {{ $t('settings.compact_user_info') }}
  • diff --git a/src/i18n/de.json b/src/i18n/de.json index 11683317..f0a9e972 100644 --- a/src/i18n/de.json +++ b/src/i18n/de.json @@ -497,7 +497,7 @@ "checkboxRadius": "Auswahlfelder", "collapse_subject": "Beiträge mit Inhaltswarnungen einklappen", "columns": "Spalten", - "compact_user_info": "Kompakte Benutzerinfos", + "compact_user_info": "Kompakte Benutzerinfos wenn genug Platz", "composing": "Verfassen", "confirm_dialogs": "Bestätigung erforderlich für:", "confirm_dialogs_approve_follow": "Annehmen einer Followanfrage", diff --git a/src/i18n/en.json b/src/i18n/en.json index 8aac6834..0bf0c1de 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -503,7 +503,7 @@ "checkboxRadius": "Checkboxes", "collapse_subject": "Collapse posts with content warnings", "columns": "Columns", - "compact_user_info": "Compact user info", + "compact_user_info": "Compact user info when enough space", "composing": "Composing", "confirm_dialogs": "Require confirmation for:", "confirm_dialogs_approve_follow": "Accepting a follow request", From ef242a1ddd80bdd87c267643041a1244761fe138 Mon Sep 17 00:00:00 2001 From: novenary Date: Mon, 16 Sep 2024 22:40:33 +0300 Subject: [PATCH 15/20] post_status_form: enable sync flush for watcher This fixes drafts not clearing after posting a reply. Vue 3.3.11 changed watchers to stop firing after component unmount. After posting a reply, the post form is removed, now causing the queued event to be discarded. Synchronous flush causes the handler to be called immediately when changes happen, solving the problem. The performance impact of this change seems non-existent. Even before, typing would generate an event for each keystroke. Pasting is atomic. See: https://github.com/vuejs/core/pull/7181 See: https://github.com/vuejs/docs/commit/80e2128d52603856a26a8bb7258606cfe80561e9 Fixes: a7dea2f70f2beba781068a7ff7d8a2a9ef8a9478 Fixes: #413 --- src/components/post_status_form/post_status_form.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index 6eee23ce..0c77199b 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -329,6 +329,7 @@ const PostStatusForm = { watch: { 'newStatus': { deep: true, + flush: 'sync', handler () { this.statusChanged() } From 42ba77ebf46dc35147d2f6fb138431ed7a6f9047 Mon Sep 17 00:00:00 2001 From: Oneric Date: Sat, 28 Sep 2024 18:33:30 +0200 Subject: [PATCH 16/20] Allow using custom source URLs --- src/boot/after_store.js | 6 ++++++ src/components/settings_modal/tabs/version_tab.js | 11 +++++++---- src/modules/instance.js | 2 ++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/boot/after_store.js b/src/boot/after_store.js index d45584c0..d27d4fb8 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -183,6 +183,12 @@ const setSettings = async ({ apiConfig, staticConfig, store }) => { copyInstanceOption('renderMisskeyMarkdown') copyInstanceOption('sidebarRight') + if (config.backendCommitUrl) + copyInstanceOption('backendCommitUrl') + + if (config.frontendCommitUrl) + copyInstanceOption('frontendCommitUrl') + return store.dispatch('setTheme', config['theme']) } diff --git a/src/components/settings_modal/tabs/version_tab.js b/src/components/settings_modal/tabs/version_tab.js index d69b131d..97791a3a 100644 --- a/src/components/settings_modal/tabs/version_tab.js +++ b/src/components/settings_modal/tabs/version_tab.js @@ -1,22 +1,25 @@ import { extractCommit } from 'src/services/version/version.service' -const pleromaFeCommitUrl = 'https://akkoma.dev/AkkomaGang/pleroma-fe/commit/' -const pleromaBeCommitUrl = 'https://akkoma.dev/AkkomaGang/akkoma/commit/' +function joinURL(base, subpath) { + return URL.parse(subpath, base)?.href || "invalid base URL" +} const VersionTab = { data () { const instance = this.$store.state.instance return { + backendCommitUrl: instance.backendCommitUrl, backendVersion: instance.backendVersion, + frontendCommitUrl: instance.frontendCommitUrl, frontendVersion: instance.frontendVersion } }, computed: { frontendVersionLink () { - return pleromaFeCommitUrl + this.frontendVersion + return joinURL(this.frontendCommitUrl, this.frontendVersion) }, backendVersionLink () { - return pleromaBeCommitUrl + extractCommit(this.backendVersion) + return joinURL(this.backendCommitUrl, extractCommit(this.backendVersion)) } } } diff --git a/src/modules/instance.js b/src/modules/instance.js index 0c856352..c60e1918 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -73,6 +73,8 @@ const defaultState = { conversationOtherRepliesButton: 'below', conversationTreeFadeAncestors: false, maxDepthInThread: 6, + backendCommitUrl: 'https://akkoma.dev/AkkomaGang/akkoma/commit/', + frontendCommitUrl: 'https://akkoma.dev/AkkomaGang/pleroma-fe/commit/', // Nasty stuff customEmoji: [], From a7d6235131760c227794c88b3adda1d47733c2c4 Mon Sep 17 00:00:00 2001 From: Weblate Date: Fri, 22 Nov 2024 04:56:24 +0000 Subject: [PATCH 17/20] Translated using Weblate (Lithuanian) Currently translated at 8.1% (86 of 1049 strings) Translated using Weblate (Lithuanian) Currently translated at 5.5% (58 of 1049 strings) Translated using Weblate (Lithuanian) Currently translated at 1.9% (20 of 1049 strings) Added translation using Weblate (Lithuanian) Co-authored-by: Vaclovas Intas Co-authored-by: Weblate Translate-URL: http://translate.akkoma.dev/projects/akkoma/pleroma-fe/lt/ Translation: Pleroma fe/pleroma-fe --- src/i18n/lt.json | 124 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 src/i18n/lt.json diff --git a/src/i18n/lt.json b/src/i18n/lt.json new file mode 100644 index 00000000..13215ad8 --- /dev/null +++ b/src/i18n/lt.json @@ -0,0 +1,124 @@ +{ + "about": { + "bubble_instances": "Vietiniai burbulo serveriai", + "bubble_instances_description": "Administratorių parinkti serveriai, kurie atstovauja šios serverio vietinę teritoriją", + "mrf": { + "federation": "Federacija", + "keyword": { + "ftl_removal": "Pašalinimas iš „Viso žinomo tinklo“ laiko skalės", + "is_replaced_by": "→", + "keyword_policies": "Raktažodžių politika", + "reject": "Atmesti", + "replace": "Pakeisti" + }, + "mrf_policies": "Įjungta MRF politika", + "mrf_policies_desc": "MRF politika valdo serverio federacijos elgseną. Įjungtos toliau nurodytos politikos:", + "simple": { + "accept": "Priimti", + "accept_desc": "Šis serveris priima žinutes tik iš toliau nurodytų serverių:", + "ftl_removal": "Pašalinimas iš „Žinomo tinklo“ laiko skalės", + "ftl_removal_desc": "Šis serveris pašalina šiuos serverius iš „Žinomo tinklo“ laiko skalės:", + "instance": "Serveris", + "media_nsfw": "Medija priverstinai nustatyta kaip jautri", + "media_nsfw_desc": "Šis serveris priverčia nustatyti mediją kaip jautrią toliau nurodytų serverių įrašuose:", + "media_removal": "Medijos pašalinimas", + "media_removal_desc": "Šis serveris pašalina mediją iš toliau nurodytų serverių įrašų:", + "not_applicable": "Nėra", + "quarantine": "Karantinas", + "quarantine_desc": "Šis serveris nesiųs įrašų į toliau nurodytus serverius:", + "reason": "Priežastis", + "reject": "Atmesti", + "reject_desc": "Šis serveris nepriims žinučių iš toliau nurodytų serverių:", + "simple_policies": "Konkretaus serverio politika" + } + }, + "staff": "Personalas" + }, + "announcements": { + "all_day_prompt": "Tai – visos dienos renginys", + "cancel_edit_action": "Atsisakyti", + "close_error": "Užverti", + "delete_action": "Ištrinti", + "edit_action": "Redaguoti", + "end_time_display": "Pasibaigia {time}", + "end_time_prompt": "Pabaigos laikas: ", + "inactive_message": "Šis skelbimas neaktyvus", + "mark_as_read_action": "Žymėti kaip skaitytą", + "page_header": "Skelbimai", + "post_action": "Siųsti", + "post_error": "Klaida: {error}", + "post_form_header": "Skelbti skelbimą" + }, + "chats": { + "chats": "Pokalbiai", + "delete": "Ištrinti", + "more": "Daugiau", + "new": "Naujas pokalbis", + "you": "Jūs:" + }, + "display_date": { + "today": "Šiandien" + }, + "domain_mute_card": { + "mute": "Nutildyti", + "mute_progress": "Nutildoma…", + "unmute": "Atšaukti nutildymą", + "unmute_progress": "Atšaukiamas nutildymas…" + }, + "emoji": { + "add_emoji": "Įterpti jaustuką", + "custom": "Pasirinktinis jaustukas", + "emoji": "Jaustukas", + "stickers": "Lipdukai", + "unicode": "Unikodo jaustukas" + }, + "exporter": { + "export": "Eksportuoti" + }, + "file_type": { + "audio": "Garso įrašas", + "file": "Failas", + "image": "Vaizdas", + "video": "Vaizdo įrašas" + }, + "general": { + "more": "Daugiau", + "scope_in_timeline": { + "direct": "Tiesioginis", + "local": "Vietinis – šį įrašą gali matyti tik jūsų serveris", + "private": "Tik sekėjams", + "public": "Vieša", + "unlisted": "Neįtrauktas į sąrašą" + }, + "show_less": "Rodyti mažiau", + "show_more": "Rodyti daugiau", + "submit": "Pateikti", + "verify": "Patvirtinti" + }, + "image_cropper": { + "cancel": "Atšaukti" + }, + "importer": { + "submit": "Pateikti" + }, + "user_card": { + "follow_tag": "Sekti saitažodį", + "not_following_any_hashtags": "Nesekate jokių saitažodžių.", + "unfollow_confirm_accept_button": "Taip, nebesekti", + "unfollow_confirm_cancel_button": "Ne, nenaikinti sekimą", + "unfollow_confirm_title": "Nebesekti naudotoją", + "unfollow_tag": "Nebesekti saitažodį" + }, + "user_reporting": { + "additional_comments": "Papildomi komentarai", + "forward_description": "Paskyra yra iš kito serverio. Siųsti ataskaitos kopiją ir ten?", + "forward_to": "Persiųsti į {0}", + "generic_error": "Įvyko klaida apdorojant jūsų užklausą.", + "submit": "Pateikti", + "title": "Pranešama apie {0}" + }, + "who_to_follow": { + "more": "Daugiau", + "who_to_follow": "Ką sekti" + } +} From 248509073e0b2fa5989c0e5b4732fa7f8efb173c Mon Sep 17 00:00:00 2001 From: Weblate Date: Fri, 22 Nov 2024 04:56:24 +0000 Subject: [PATCH 18/20] Translated using Weblate (Italian) Currently translated at 93.8% (985 of 1049 strings) Co-authored-by: Steffo Co-authored-by: Weblate Translate-URL: http://translate.akkoma.dev/projects/akkoma/pleroma-fe/it/ Translation: Pleroma fe/pleroma-fe --- src/i18n/it.json | 363 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 251 insertions(+), 112 deletions(-) diff --git a/src/i18n/it.json b/src/i18n/it.json index 46e9fcea..5a58fdeb 100644 --- a/src/i18n/it.json +++ b/src/i18n/it.json @@ -503,7 +503,13 @@ "columns": "Colonne", "composing": "Composizione", "confirm_new_password": "Conferma la nuova password", + "conversation_display": "Stile di visualizzazione delle conversazioni", + "conversation_display_linear": "Stile lineare", + "conversation_display_tree": "Stile ad albero", + "conversation_other_replies_button": "Mostra il bottone \"altre risposte\"", + "conversation_other_replies_button_below": "Sotto i post", "current_avatar": "La tua icona attuale", + "current_mascot": "La tua mascotte attuale", "current_password": "La tua password attuale", "data_import_export_tab": "Importa o esporta dati", "default_vis": "Visibilità predefinita dei messaggi", @@ -511,11 +517,15 @@ "delete_account_description": "Elimina definitivamente i tuoi dati e disattiva il tuo profilo.", "delete_account_error": "C'è stato un problema durante l'eliminazione del tuo profilo. Se il problema persiste contatta l'amministratore della tua stanza.", "delete_account_instructions": "Digita la tua password nel campo sottostante per eliminare il tuo profilo.", + "disable_sticky_headers": "Non fissare i titoli delle colonne in cima allo schermo", "discoverable": "Permetti la scoperta di questo profilo a servizi di ricerca ed altro", "domain_mutes": "Domini", + "download_backup": "Scarica", + "email_language": "Lingua delle email ricevute dal server", "emoji_reactions_on_timeline": "Mostra reazioni nelle sequenze", "enable_web_push_notifications": "Abilita notifiche web push", "enter_current_password_to_confirm": "Inserisci la tua password per identificarti", + "expert_mode": "Mostra avanzate", "export_theme": "Salva impostazioni", "file_export_import": { "backup_restore": "Archiviazione impostazioni", @@ -543,18 +553,23 @@ "hide_all_muted_posts": "Nascondi messaggi silenziati", "hide_attachments_in_convo": "Nascondi gli allegati presenti nelle conversazioni", "hide_attachments_in_tl": "Nascondi gli allegati presenti nelle sequenze", + "hide_bot_indication": "Nascondi indicatore bot nei post", + "hide_favorites_description": "Non mostrare la lista dei miei preferiti (gli utenti verranno comunque notificati)", "hide_filtered_statuses": "Nascondi messaggi filtrati", "hide_followers_count_description": "Non mostrare quanti seguaci ho", "hide_followers_description": "Non mostrare i miei seguaci", "hide_follows_count_description": "Non mostrare quanti utenti seguo", "hide_follows_description": "Non mostrare chi seguo", "hide_isp": "Nascondi pannello della stanza", + "hide_list_aliases_error_action": "Chiudi", "hide_media_previews": "Nascondi anteprime", "hide_muted_posts": "Nascondi messaggi degli utenti silenziati", + "hide_muted_threads": "Nascondi conversazioni silenziate", "hide_post_stats": "Nascondi statistiche dei messaggi (es. il numero di preferenze)", "hide_shoutbox": "Nascondi muro dei graffiti", "hide_user_stats": "Nascondi statistiche dell'utente (es. il numero di seguaci)", "hide_wallpaper": "Nascondi sfondo della stanza", + "hide_wordfiltered_statuses": "Nascondi post filtrati per parola", "import_blocks_from_a_csv_file": "Importa blocchi da un file CSV", "import_followers_from_a_csv_file": "Importa una lista di chi segui da un file CSV", "import_mutes_from_a_csv_file": "Importa silenziati da un file CSV", @@ -567,10 +582,14 @@ "invalid_theme_imported": "Il file selezionato non è un tema supportato da Pleroma. Il tuo tema non è stato modificato.", "limited_availability": "Non disponibile nel tuo browser", "links": "Collegamenti", + "list_aliases_error": "Errore nel recupero degli alias: {error}", + "list_backups_error": "Errore nel recupero della lista dei backup: {error}", "lock_account_description": "Vaglia manualmente i nuovi seguaci", "loop_video": "Riproduci video in ciclo continuo", "loop_video_silent_only": "Riproduci solo video muti in ciclo continuo (es. le \"gif\" di Mastodon)", + "mascot": "Mascotte di MastodonFE", "max_thumbnails": "Numero massimo di anteprime per messaggio", + "mention_links": "Collegamenti delle menzioni", "mfa": { "authentication_methods": "Metodi di accesso", "confirm_and_enable": "Conferma ed abilita OTP", @@ -594,6 +613,12 @@ }, "minimal_scopes_mode": "Riduci opzioni di visibilità", "more_settings": "Altre impostazioni", + "move_account": "Sposta account", + "move_account_error": "Errore nello spostamento dell'account: {error}", + "move_account_notes": "Se vuoi spostare questo account da qualche altra parte, devi andare all'account di destinazione e aggiungere un alias che punta qui.", + "move_account_target": "Account di destinazione (es. {example})", + "moved_account": "Account spostato.", + "mute_bot_posts": "Silenzia post dei bot", "mute_export": "Esporta silenziati", "mute_export_button": "Esporta i silenziati in un file CSV", "mute_import": "Carica silenziati", @@ -603,6 +628,7 @@ "mutes_tab": "Silenziati", "name": "Nome", "name_bio": "Nome ed introduzione", + "new_alias_target": "Aggiungi nuovo alias (es. {example})", "new_email": "Nuova email", "new_password": "Nuova password", "no_blocks": "Nessun utente bloccato", @@ -620,6 +646,7 @@ "notification_visibility_likes": "Preferiti", "notification_visibility_mentions": "Menzioni", "notification_visibility_moves": "Migrazioni utenti", + "notification_visibility_polls": "Termine dei poll in cui hai votato", "notification_visibility_repeats": "Condivisioni", "notifications": "Notifiche", "nsfw_clickthrough": "Fai click per visualizzare gli allegati offuscati", @@ -628,7 +655,9 @@ "panelRadius": "Pannelli", "pause_on_unfocused": "Interrompi l'aggiornamento continuo mentre la scheda è in secondo piano", "play_videos_in_modal": "Riproduci video in un riquadro a sbalzo", + "post_look_feel": "Aspetto dei post", "post_status_content_type": "Tipo di contenuto dei messaggi", + "posts": "Post", "preload_images": "Precarica immagini", "presets": "Valori predefiniti", "profile_background": "Sfondo del tuo profilo", @@ -642,6 +671,8 @@ "profile_tab": "Profilo", "radii_help": "Imposta il raggio degli angoli (in pixel)", "refresh_token": "Aggiorna token", + "remove_alias": "Rimuovi questo alias", + "remove_backup": "Elimina", "replies_in_timeline": "Risposte nelle sequenze", "reply_visibility_all": "Mostra tutte le risposte", "reply_visibility_following": "Mostra solo le risposte rivolte a me o agli utenti che seguo", @@ -666,12 +697,15 @@ "security_tab": "Sicurezza", "sensitive_by_default": "Tutti i miei messaggi sono scabrosi", "set_new_avatar": "Scegli una nuova icona", + "set_new_mascot": "Imposta nuova mascotte", "set_new_profile_background": "Scegli un nuovo sfondo", "set_new_profile_banner": "Scegli un nuovo gonfalone", "setting_changed": "Valore personalizzato", + "setting_server_side": "Questa impostazione è legata al tuo profilo e ha effetto su tutte le sessioni e tutti i client", "settings": "Impostazioni", "show_admin_badge": "Mostra l'insegna di amministratore sul mio profilo", "show_moderator_badge": "Mostra l'insegna di moderatore sul mio profilo", + "show_scrollbars": "Mostra le barre di scorrimento delle colonne laterali", "stop_gifs": "Riproduci GIF al passaggio del cursore", "streaming": "Mostra automaticamente i nuovi messaggi quando sei in cima alla pagina", "style": { @@ -780,66 +814,80 @@ }, "filter_hint": { "always_drop_shadow": "Attenzione: quest'ombra usa sempre {0} se il tuo browser lo supporta.", - "avatar_inset": "Tieni presente che combinare ombre (sia incluse che non) sulle icone utente potrebbe dare risultati strani con quelle trasparenti.", - "drop_shadow_syntax": "{0} non supporta il parametro {1} né la keyword {2}.", - "inset_classic": "Le ombre incluse usano {0}", - "spread_zero": "Lo spandimento maggiore di zero si azzera sulle ombre" + "avatar_inset": "Tieni presente che combinare ombre (sia incavate che non) sulle icone utente potrebbe dare risultati strani con avatar trasparenti.", + "drop_shadow_syntax": "{0} non supporta il parametro {1} con la keyword {2}.", + "inset_classic": "Le ombre incavate usano {0}", + "spread_zero": "Le ombre con espansione maggiore di zero appariranno come se l'espansione fosse zero" }, - "hintV3": "Per le ombre puoi anche usare la sintassi {0} per sfruttare il secondo colore.", - "inset": "Includi", - "override": "Sostituisci", - "shadow_id": "Ombra numero {value}", - "spread": "Spandi" + "hintV3": "Per le ombre puoi anche usare la sintassi {0} per usare l'altro slot colore.", + "inset": "Incavatura", + "override": "Sovrascrivi", + "shadow_id": "Ombra #{value}", + "spread": "Espansione" }, "switcher": { "clear_all": "Azzera tutto", - "clear_opacity": "Rimuovi opacità", + "clear_opacity": "Azzera opacità", "help": { - "fe_downgraded": "L'interfaccia è stata portata ad una versione precedente.", - "fe_upgraded": "Lo schema dei temi è stato aggiornato insieme all'interfaccia.", - "future_version_imported": "Il tema importato è stato creato per una versione più recente dell'interfaccia.", - "migration_napshot_gone": "Anteprima del tema non trovata, non tutto potrebbe essere come ricordi.", - "migration_snapshot_ok": "Ho caricato l'anteprima del tema. Puoi provare a caricarne i contenuti.", - "older_version_imported": "Il tema importato è stato creato per una versione precedente dell'interfaccia.", - "snapshot_missing": "Il tema non è provvisto di anteprima, quindi potrebbe essere diverso da come appare.", + "fe_downgraded": "La versione di PleromaFE è riportata ad una versione precedente.", + "fe_upgraded": "Il motore dei temi di PleromaFE è stato aggiornato insieme all'interfaccia.", + "future_version_imported": "Il tema importato è stato creato per una versione più nuova del frontend.", + "migration_napshot_gone": "Per qualche motivo non è stata trovata l'anteprima del tema, non tutto potrebbe essere come ricordi.", + "migration_snapshot_ok": "Per sicurezza, è stata caricata l'anteprima del tema. Puoi provare a caricarne i contenuti.", + "older_version_imported": "Il file importato è stato creato per una versione precedente del frontend.", + "snapshot_missing": "Il file non è provvisto di anteprima, quindi potrebbe essere diverso da come appare.", "snapshot_present": "Tutti i valori sono sostituiti dall'anteprima del tema. Puoi invece caricare i suoi contenuti.", - "snapshot_source_mismatch": "Conflitto di versione: probabilmente l'interfaccia è stata portata indietro e poi aggiornata di nuovo. Se hai modificato il tema con una vecchia versione usa il tema precedente, altrimenti puoi usare il nuovo.", - "upgraded_from_v2": "L'interfaccia è stata aggiornata, il tema potrebbe essere diverso da come lo ricordi.", - "v2_imported": "Il tema importato è stato creato per una vecchia interfaccia. Non tutto potrebbe essere come inteso." + "snapshot_source_mismatch": "Conflitto di versione: probabilmente il frontend è stato deaggiornato e poi aggiornato di nuovo. Se hai modificato il tema con una vecchia versione usa il tema precedente, altrimenti usa quello nuovo.", + "upgraded_from_v2": "PleromaFE è stato aggiornato, il tema potrebbe essere un pochino diverso da come lo ricordi.", + "v2_imported": "Il file importato è stato creato per un vecchio frontend. Cerchiamo di massimizzare la compatibilità, ma potrebbero esserci inconsistenze." }, - "keep_as_is": "Mantieni tal quale", + "keep_as_is": "Mantieni com'è", "keep_color": "Mantieni colori", "keep_fonts": "Mantieni font", "keep_opacity": "Mantieni opacità", "keep_roundness": "Mantieni vertici", "keep_shadows": "Mantieni ombre", "load_theme": "Carica tema", - "reset": "Reimposta", + "reset": "Azzera", "save_load_hint": "Le opzioni \"mantieni\" conservano le impostazioni correnti quando selezioni o carichi un tema, e le salvano quando ne esporti uno. Quando nessuna casella è selezionata, tutte le impostazioni correnti saranno salvate nel tema.", "use_snapshot": "Versione precedente", "use_source": "Nuova versione" } }, - "subject_input_always_show": "Mostra sempre il campo Oggetto", - "subject_line_behavior": "Copia oggetto quando rispondi", - "subject_line_email": "Come nelle email: \"re: oggetto\"", - "subject_line_mastodon": "Come in Mastodon: copia tal quale", + "subject_input_always_show": "Mostra sempre il campo avvertenza sul contenuto", + "subject_line_behavior": "Copia avvertenza sul contenuto quando rispondi", + "subject_line_email": "Come nelle email: \"re: avvertenza\"", + "subject_line_mastodon": "Come su Mastodon: copia com'è", "subject_line_noop": "Non copiare", "text": "Testo", "theme": "Tema", - "theme_help": "Usa colori esadecimali (#rrggbb) per personalizzare il tuo schema di colori.", - "theme_help_v2_1": "Puoi anche forzare colore ed opacità di alcuni elementi selezionando la casella. Usa il pulsante \"Azzera\" per azzerare tutte le forzature.", - "theme_help_v2_2": "Le icone vicino alcuni elementi sono indicatori del contrasto fra testo e sfondo, passaci sopra col puntatore per ulteriori informazioni. Se usani trasparenze, questi indicatori mostrano il peggior caso possibile.", + "theme_help": "Usa colori esadecimali (#rrvvbb) per personalizzare il tuo tema colori.", + "theme_help_v2_1": "Puoi anche sovrascrivere colore ed opacità di alcuni elementi spuntando la casella. Usa il pulsante \"Azzera\" per azzerare tutte le sovrascritture.", + "theme_help_v2_2": "Le icone vicino alcuni elementi sono indicatori del contrasto fra testo e sfondo, passaci sopra col puntatore per ulteriori informazioni. Se usano la trasparenza, questi indicatori mostrano come sarebbero nel peggior caso possibile.", + "third_column_mode": "Quando c'è abbastanza spazio, mostra una terza colonna contenente", + "third_column_mode_none": "Non mostrare proprio la terza colonna", + "third_column_mode_notifications": "Colonna notifiche", + "third_column_mode_postform": "Modulo post principale e navigazione", "token": "Token", - "tooltipRadius": "Suggerimenti/avvisi", + "tooltipRadius": "Suggerimenti/allerte", + "translation_language": "Lingua finale di traduzione automatica", + "tree_advanced": "Mostra bottoni aggiuntivi per aprire e chiudere catene di risposte nelle conversazioni", + "tree_fade_ancestors": "Mostra antenati del post corrente in testo semitrasparente", "type_domains_to_mute": "Cerca domini da silenziare", - "upload_a_photo": "Carica un'immagine", + "upload_a_photo": "Carica una foto", "useStreamingApi": "Ricevi messaggi e notifiche in tempo reale", - "useStreamingApiWarning": "(Sconsigliato, sperimentale, può saltare messaggi)", + "useStreamingApiWarning": "", + "use_blurhash": "Usa blurhash per anteprime NSFW", "use_contain_fit": "Non ritagliare le anteprime degli allegati", - "use_one_click_nsfw": "Apri media offuscati con un solo click", + "use_one_click_nsfw": "Apri allegati NSFW con un solo click", + "user_accepts_direct_messages_from": "Accetta post «diretti» da", + "user_accepts_direct_messages_from_everybody": "Tutti", + "user_accepts_direct_messages_from_nobody": "Nessuno", + "user_accepts_direct_messages_from_people_i_follow": "Persone che seguo", "user_mutes": "Utenti", - "user_settings": "Impostazioni Utente", + "user_profile_default_tab": "Scheda predefinita sul profilo degli utenti", + "user_profiles": "Profili utente", + "user_settings": "Impostazioni utente", "valid_until": "Valido fino a", "values": { "false": "no", @@ -847,86 +895,141 @@ }, "version": { "backend_version": "Versione backend", - "frontend_version": "Versione interfaccia", + "frontend_version": "Versione frontend", "title": "Versione" }, - "virtual_scrolling": "Velocizza l'elaborazione delle sequenze", - "word_filter": "Parole filtrate" + "virtual_scrolling": "Velocizza rendering sequenze", + "word_filter": "Filtro per parola", + "wordfilter": "Filtro per parola" + }, + "settings_profile": { + "creating": "Creazione del nuovo profilo di impostazioni \"{profile}\"…", + "synchronization_error": "Non è stato possibile sincronizzare le impostazioni: {err}", + "synchronized": "Impostazioni sincronizzate!", + "synchronizing": "Sincronizzazione del profilo di impostazioni \"{profile}\"…" }, "status": { + "ancestor_follow": "Vedi {numReplies} altra risposta sotto questo post | Vedi {numReplies} altre risposte sotto questo post", + "ancestor_follow_with_icon": "{icon} {text}", + "attachment_stop_flash": "Ferma Flash player", "bookmark": "Aggiungi segnalibro", - "copy_link": "Copia collegamento", - "delete": "Elimina messaggio", - "delete_confirm": "Vuoi veramente eliminare questo messaggio?", + "collapse_attachments": "Riduci allegati", + "copy_link": "Copia collegamento al post", + "delete": "Elimina post", + "delete_confirm": "Vuoi davvero eliminare questo post?", + "delete_confirm_accept_button": "Sì, eliminalo", + "delete_confirm_cancel_button": "No, tienilo", + "delete_confirm_title": "Conferma eliminazione", + "edit": "Modifica", + "edit_history": "Cronologia modifiche", + "edit_history_modal_title": "Modificato {historyCount} volta | Modificato {historyCount} volte", + "edited_at": "Modificato {time}", "expand": "Espandi", - "external_source": "Vai all'origine", + "external_source": "Fonte originale", "favorites": "Preferiti", - "hide_content": "Nascondi contenuti", - "hide_full_subject": "Nascondi oggetto intero", + "hide_attachment": "Nascondi allegato", + "hide_content": "Nascondi contenuto", + "hide_full_subject": "Nascondi avvertenza sul contenuto intera", + "many_attachments": "Il post ha {number} allegato | Il post ha {number} allegati", "mentions": "Menzioni", + "move_down": "Muovi allegato a destra", + "move_up": "Muovi allegato a sinistra", "mute_conversation": "Silenzia conversazione", - "nsfw": "DISDICEVOLE", - "pin": "Intesta al profilo", - "pinned": "Intestato", + "nsfw": "NSFW", + "open_gallery": "Apri galleria", + "override_translation_source_language": "Sovrascrivi lingua di origine", + "pin": "Fissa in cima al profilo", + "pinned": "Fissato", "plus_more": "+{number} altri", - "repeats": "Condivisi", + "redraft": "Elimina e correggi", + "redraft_confirm": "Vuoi davvero eliminare e correggere questo post? Le interazioni al post originale non saranno mantenute.", + "redraft_confirm_accept_button": "Sì, elimina e correggi", + "redraft_confirm_cancel_button": "No, tieni l'originale", + "redraft_confirm_title": "Conferma elimina e correggi", + "remove_attachment": "Rimuovi allegato", + "repeat_confirm": "Vuoi davvero condividere questo post?", + "repeat_confirm_accept_button": "Sì, condividilo", + "repeat_confirm_cancel_button": "No, non condividere", + "repeat_confirm_title": "Conferma condivisione", + "repeats": "Condivisioni", "replies_list": "Risposte:", + "replies_list_with_others": "Mostra {numReplies} altra risposta | Mostra {numReplies} altre risposte", "reply_to": "In risposta a", - "show_content": "Mostra contenuti", - "show_full_subject": "Mostra oggetto intero", - "status_deleted": "Questo messagio è stato cancellato", - "status_unavailable": "Messaggio non disponibile", - "thread_muted": "Discussione silenziata", + "show_all_attachments": "Mostra tutti gli allegati", + "show_all_conversation": "Mostra conversazione intera ({numStatus} altro post) | Mostra conversazione intera ({numStatus} altri post)", + "show_all_conversation_with_icon": "{icon} {text}", + "show_attachment_description": "Anteprima descrizione (apri l'allegato per la descrizione intera)", + "show_attachment_in_modal": "Mostra allegato in una finestra", + "show_content": "Mostra contenuto", + "show_full_subject": "Mostra tutta l'avvertenza sul contenuto", + "show_only_conversation_under_this": "Mostra solo le risposte a questo post", + "status_deleted": "Questo post è stato eliminato", + "status_unavailable": "Post non disponibile", + "thread_follow": "Visualizza {numStatus} altra risposta | Visualizza {numStatus} altre risposte", + "thread_follow_with_icon": "{icon} {text}", + "thread_hide": "Nascondi questa conversazione", + "thread_muted": "Conversazione silenziata", "thread_muted_and_words": ", contiene:", + "thread_show": "Mostra questa conversazione", + "thread_show_full": "Mostra {numStatus} risposta | Mostra tutte e {numStatus} le risposte", + "thread_show_full_with_icon": "{icon} {text}", + "translate": "Traduci", + "translated_from": "Tradotto da {language}", "unbookmark": "Rimuovi segnalibro", - "unmute_conversation": "Riabilita conversazione", - "unpin": "De-intesta", + "unmute_conversation": "Desilenzia conversazione", + "unpin": "Rimuovi dalla cima del profilo", "you": "(Tu)" }, "time": { "in_future": "fra {0}", "in_past": "{0} fa", - "now": "adesso", - "now_short": "adesso", + "now": "proprio adesso", + "now_short": "ora", "unit": { - "days": "{0} giorni", + "days": "{0} giorno | {0} giorni", "days_short": "{0} g", - "hours": "{0} ore", - "hours_short": "{0} h", - "minutes": "{0} minuti", + "hours": "{0} ora | {0} ore", + "hours_short": "{0} ora | {0} ore", + "minutes": "{0} minuto | {0} minuti", "minutes_short": "{0} min", - "months": "{0} mesi", - "months_short": "{0} mes", - "seconds": "{0} secondi", + "months": "{0} mese | {0} mesi", + "months_short": "{0} mese | {0} mesi", + "seconds": "{0} secondo | {0} secondi", "seconds_short": "{0} sec", - "weeks": "{0} settimane", - "weeks_short": "{0} stm", - "years": "{0} anni", + "weeks": "{0} settimana | {0} settimane", + "weeks_short": "{0} sett", + "years": "{0} anno | {0} anni", "years_short": "{0} a" } }, "timeline": { - "collapse": "Ripiega", + "collapse": "Riduci", "conversation": "Conversazione", "error": "Errore nel caricare la sequenza: {0}", - "load_older": "Carica messaggi precedenti", - "no_more_statuses": "Fine dei messaggi", - "no_retweet_hint": "Il messaggio è diretto o solo per seguaci e non può essere condiviso", - "no_statuses": "Nessun messaggio", + "follow_tag": "Segui hashtag", + "load_older": "Carica post precedenti", + "no_more_statuses": "Non ci sono altri post", + "no_retweet_hint": "Il messaggio è «solo per follower» o «diretto», quindi non può essere condiviso", + "no_statuses": "Nessun post", "reload": "Ricarica", "repeated": "ha condiviso", "show_new": "Mostra nuovi", - "socket_broke": "Connessione tempo reale interrotta: codice {0}", + "socket_broke": "Connessione tempo reale interrotta: CloseEvent codice {0}", "socket_reconnected": "Connesso in tempo reale", + "unfollow_tag": "Smetti di seguire hashtag", "up_to_date": "Aggiornato" }, + "toast": { + "no_translation_target_set": "Nessuna lingua finale di traduzione impostata: la traduzione potrebbe fallire. Imposta una lingua finale di traduzione nelle tue impostazioni." + }, "tool_tip": { - "accept_follow_request": "Accetta seguace", - "add_reaction": "Reagisci", + "accept_follow_request": "Accetta richiesta di follow", + "add_reaction": "Aggiungi reazione", "bookmark": "Aggiungi segnalibro", - "favorite": "Gradisci", - "media_upload": "Carica allegati", - "reject_follow_request": "Rifiuta seguace", + "favorite": "Rendi preferito", + "media_upload": "Carica media", + "quote": "Cita", + "reject_follow_request": "Rifiuta richiesta di follow", "repeat": "Condividi", "reply": "Rispondi", "user_settings": "Impostazioni utente" @@ -934,7 +1037,7 @@ "upload": { "error": { "base": "Caricamento fallito.", - "default": "Riprova in seguito", + "default": "Riprova più tardi", "file_too_big": "File troppo pesante [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]", "message": "Caricamento fallito: {0}" }, @@ -948,79 +1051,115 @@ }, "user_card": { "admin_menu": { - "activate_account": "Attiva profilo", - "deactivate_account": "Disattiva profilo", - "delete_account": "Elimina profilo", + "activate_account": "Riattiva account", + "deactivate_account": "Disattiva account", + "delete_account": "Elimina account", "delete_user": "Elimina utente", - "disable_any_subscription": "Rendi utente non seguibile", - "disable_remote_subscription": "Blocca i tentativi di seguirlo da altre stanze", - "force_nsfw": "Oscura tutti i messaggi", - "force_unlisted": "Nascondi tutti i messaggi", - "grant_admin": "Crea Amministratore", - "grant_moderator": "Crea Moderatore", + "delete_user_data_and_deactivate_confirmation": "Questo eliminerà permanentemente i dati dall'account e lo disattiverà. Sei sicuro al 100%?", + "disable_any_subscription": "Proibisci a tutti di seguire l'utente", + "disable_remote_subscription": "Proibisci ad istanze remote di seguire l'utente", + "force_nsfw": "Marca tutti i post come NSFW", + "force_unlisted": "Rendi tutti i post «non in elenco»", + "grant_admin": "Rendi amministratore", + "grant_moderator": "Rendi moderatore", "moderation": "Moderazione", - "quarantine": "I messaggi non arriveranno alle altre stanze", - "revoke_admin": "Divesti Amministratore", - "revoke_moderator": "Divesti Moderatore", - "sandbox": "Rendi tutti i messaggi solo per seguaci", - "strip_media": "Rimuovi ogni allegato ai messaggi" + "quarantine": "Impedisci la federazione dei post degli utenti", + "revoke_admin": "Rimuovi da amministratore", + "revoke_moderator": "Rimuovi da moderatore", + "sandbox": "Rendi tutti i messaggi \"solo per follower\"", + "strip_media": "Rimuovi media dai messaggi" }, - "approve": "Approva", + "approve": "Accetta", + "approve_confirm": "Sei sicuro di voler permettere a questo utente di seguirti?", + "approve_confirm_accept_button": "Sì, accetta", + "approve_confirm_cancel_button": "No, annulla", + "approve_confirm_title": "Accetta richiesta di follow", "block": "Blocca", + "block_confirm": "Sei sicuro di voler bloccare {user}?", + "block_confirm_accept_button": "Sì, blocca", + "block_confirm_cancel_button": "No, non bloccare", + "block_confirm_title": "Blocca utente", "block_progress": "Blocco…", "blocked": "Bloccato!", + "blocks_you": "Ti blocca!", "bot": "Bot", - "deny": "Nega", + "deactivated": "Disattivato", + "deny": "Rifiuta", + "deny_confirm": "Sei sicuro di voler rifiutare la richiesta di follow di questo utente?", + "deny_confirm_accept_button": "Sì, rifiuta", + "deny_confirm_cancel_button": "No, annulla", + "deny_confirm_title": "Rifiuta richiesta di follow", + "domain_muted": "Sblocca dominio", "edit_profile": "Modifica profilo", "favorites": "Preferiti", "follow": "Segui", + "follow_cancel": "Annulla richiesta", "follow_progress": "Richiedo…", "follow_sent": "Richiesta inviata!", - "follow_unfollow": "Disconosci", - "followees": "Segue", - "followers": "Seguaci", - "following": "Seguìto!", + "follow_tag": "Segui l'hashtag", + "follow_unfollow": "Smetti di seguire", + "followed_tags": "Hashtag seguiti", + "followed_users": "Utenti seguiti", + "followees": "Seguiti", + "followers": "Follower", + "following": "Seguito!", "follows_you": "Ti segue!", "hidden": "Nascosto", "hide_repeats": "Nascondi condivisioni", "highlight": { - "disabled": "Nessun risalto", - "side": "Nastro a lato", - "solid": "Un colore", - "striped": "A righe" + "disabled": "Nessuno sfondo", + "side": "Striscia laterale", + "solid": "Sfondo monocolore", + "striped": "Sfondo a righe" }, "its_you": "Sei tu!", "media": "Media", "mention": "Menziona", "message": "Contatta", "mute": "Silenzia", - "mute_progress": "Silenzio…", + "mute_confirm": "Sei sicuro di voler silenziare {user}?", + "mute_confirm_accept_button": "Sì, silenzia", + "mute_confirm_cancel_button": "No, non silenziare", + "mute_confirm_title": "Silenzia utente", + "mute_domain": "Blocca dominio", + "mute_progress": "Silenziando…", "muted": "Silenziato", + "not_following_any_hashtags": "Non stai seguendo nessun hashtag", + "note": "Nota privata", "per_day": "al giorno", "remote_follow": "Segui da remoto", + "remove_follower": "Rimuovi follower", + "replies": "Con risposte", "report": "Segnala", + "requested_by": "Ha chiesto di seguirti", "show_repeats": "Mostra condivisioni", - "statuses": "Messaggi", - "subscribe": "Abbònati", + "statuses": "Post", + "subscribe": "Iscriviti", "unblock": "Sblocca", "unblock_progress": "Sblocco…", - "unmute": "Riabilita", - "unmute_progress": "Riabilito…", - "unsubscribe": "Disdici" + "unfollow_confirm": "Sei sicuro di voler smettere di seguire {user}?", + "unfollow_confirm_accept_button": "Sì, smetti di seguire", + "unfollow_confirm_cancel_button": "No, non smettere di seguire", + "unfollow_confirm_title": "Smetti di seguire l'utente", + "unfollow_tag": "Smetti di seguire l'hashtag", + "unmute": "Desilenzia", + "unmute_progress": "Desilenziamento…", + "unsubscribe": "Disiscriviti" }, "user_profile": { + "field_validated": "Collegamento verificato", "profile_does_not_exist": "Spiacente, questo profilo non esiste.", "profile_loading_error": "Spiacente, c'è stato un errore nel caricamento del profilo.", "timeline_title": "Sequenza dell'utente" }, "user_reporting": { - "add_comment_description": "La segnalazione sarà inviata ai moderatori della tua stanza. Puoi motivarla qui sotto:", - "additional_comments": "Osservazioni accessorie", - "forward_description": "Il profilo appartiene ad un'altra stanza. Inviare la segnalazione anche a quella?", + "add_comment_description": "La segnalazione sarà inviata ai moderatori della tua istanza. Puoi fornire una motivazione per cui stai segnalando questo account qui sotto:", + "additional_comments": "Commenti aggiuntivi", + "forward_description": "Il profilo appartiene ad un altro server. Inviare la segnalazione anche a quello?", "forward_to": "Inoltra a {0}", "generic_error": "C'è stato un errore nell'elaborazione della tua richiesta.", "submit": "Invia", - "title": "Segnalo {0}" + "title": "Segnala {0}" }, "who_to_follow": { "more": "Altro", From b3f25e5d846ec7d118353a8c9f4b436c14621a72 Mon Sep 17 00:00:00 2001 From: Weblate Date: Fri, 22 Nov 2024 04:56:24 +0000 Subject: [PATCH 19/20] Translated using Weblate (Polish) Currently translated at 99.7% (1046 of 1049 strings) Translated using Weblate (Polish) Currently translated at 99.7% (1046 of 1049 strings) Co-authored-by: ? Co-authored-by: Weblate Co-authored-by: subtype Translate-URL: http://translate.akkoma.dev/projects/akkoma/pleroma-fe/pl/ Translation: Pleroma fe/pleroma-fe --- src/i18n/pl.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/i18n/pl.json b/src/i18n/pl.json index bdeb2030..582a2395 100644 --- a/src/i18n/pl.json +++ b/src/i18n/pl.json @@ -599,7 +599,7 @@ "links": "Łącza", "list_aliases_error": "Błąd pobierania aliasów: {error}", "list_backups_error": "Błąd pobierania listy kopii zapasowych: {error}", - "lock_account_description": "Spraw, by konto mogli wyświetlać tylko zatwierdzeni obserwujący", + "lock_account_description": "Wymagaj potwierdzenia nowych śledzących", "loop_video": "Zapętlaj filmy", "loop_video_silent_only": "Zapętlaj tylko filmy bez dźwięku (np. mastodonowe „gify”)", "mascot": "Maskotka Mastodon FE", @@ -679,6 +679,7 @@ "pad_emoji": "Dodaj odstęp z obu stron emoji podczas dodawania selektorem", "panelRadius": "Panele", "pause_on_unfocused": "Wstrzymuj strumieniowanie kiedy karta nie jest aktywna", + "permit_followback_description": "Automatycznie potwierdź śledzenie przez użytkowników którch już śledzisz", "play_videos_in_modal": "Odtwarzaj filmy bezpośrednio w przeglądarce mediów", "post_look_feel": "Wygląd wpisów", "post_status_content_type": "Domyślny typ zawartości wpisów", @@ -1148,7 +1149,7 @@ "followed_users": "Śledzeni użytkownicy", "followees": "Obserwowani", "followers": "Obserwujący", - "following": "Obserwowany!", + "following": "Obserwujesz!", "follows_you": "Obserwuje cię!", "hidden": "Ukryte", "hide_repeats": "Ukryj powtórzenia", From 983854590474dbd7495f5795b04d7b46b0d5744d Mon Sep 17 00:00:00 2001 From: ilja Date: Mon, 14 Oct 2024 14:38:14 +0200 Subject: [PATCH 20/20] Add visual feedback when clicking translate In a status, we can choose to translate the status (assuming there's a translator enabled on the backend) It will translate, in practice generally according to detected language, and also provide an option to override the source language. Translating can take a while, and there wasn't really a visual feedback when it was translating. Now the translate button will be dissabled while translating. --- src/components/status_body/status_body.js | 8 ++++++-- src/components/status_body/status_body.vue | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/status_body/status_body.js b/src/components/status_body/status_body.js index 19cec6c6..7ff6c3aa 100644 --- a/src/components/status_body/status_body.js +++ b/src/components/status_body/status_body.js @@ -41,7 +41,8 @@ const StatusContent = { postLength: this.status.text.length, parseReadyDone: false, renderMisskeyMarkdown, - translateFrom: null + translateFrom: null, + translating: false } }, computed: { @@ -135,7 +136,10 @@ const StatusContent = { }, translateStatus () { const translateTo = this.$store.getters.mergedConfig.translationLanguage || this.$store.state.instance.interfaceLanguage - this.$store.dispatch('translateStatus', { id: this.status.id, language: translateTo, from: this.translateFrom }) + this.translating = true + this.$store.dispatch( + 'translateStatus', { id: this.status.id, language: translateTo, from: this.translateFrom } + ).finally(() => { this.translating = false }) } } } diff --git a/src/components/status_body/status_body.vue b/src/components/status_body/status_body.vue index 882b38c5..ba9a3ded 100644 --- a/src/components/status_body/status_body.vue +++ b/src/components/status_body/status_body.vue @@ -91,6 +91,7 @@ {{ ' ' }}