diff --git a/app/controllers/api/v1/notifications/requests_controller.rb b/app/controllers/api/v1/notifications/requests_controller.rb index b4207147c8..0710166d05 100644 --- a/app/controllers/api/v1/notifications/requests_controller.rb +++ b/app/controllers/api/v1/notifications/requests_controller.rb @@ -29,7 +29,7 @@ class Api::V1::Notifications::RequestsController < Api::BaseController end def dismiss - @request.destroy! + DismissNotificationRequestService.new.call(@request) render_empty end diff --git a/app/javascript/flavours/glitch/features/notifications_v2/index.tsx b/app/javascript/flavours/glitch/features/notifications_v2/index.tsx index 586b2da3fe..d58efc4b8f 100644 --- a/app/javascript/flavours/glitch/features/notifications_v2/index.tsx +++ b/app/javascript/flavours/glitch/features/notifications_v2/index.tsx @@ -26,6 +26,7 @@ import type { NotificationGap } from 'flavours/glitch/reducers/notification_grou import { selectUnreadNotificationGroupsCount, selectPendingNotificationGroupsCount, + selectAnyPendingNotification, } from 'flavours/glitch/selectors/notifications'; import { selectNeedsNotificationPermission, @@ -95,7 +96,7 @@ export const Notifications: React.FC<{ const lastReadId = useAppSelector((s) => selectSettingsNotificationsShowUnread(s) - ? s.notificationGroups.lastReadId + ? s.notificationGroups.readMarkerId : '0', ); @@ -105,11 +106,13 @@ export const Notifications: React.FC<{ selectUnreadNotificationGroupsCount, ); + const anyPendingNotification = useAppSelector(selectAnyPendingNotification); + const isUnread = unreadNotificationsCount > 0; const canMarkAsRead = useAppSelector(selectSettingsNotificationsShowUnread) && - unreadNotificationsCount > 0; + anyPendingNotification; const needsNotificationPermission = useAppSelector( selectNeedsNotificationPermission, diff --git a/app/javascript/flavours/glitch/reducers/notification_groups.ts b/app/javascript/flavours/glitch/reducers/notification_groups.ts index b0b284b696..a657cf5c97 100644 --- a/app/javascript/flavours/glitch/reducers/notification_groups.ts +++ b/app/javascript/flavours/glitch/reducers/notification_groups.ts @@ -48,6 +48,7 @@ interface NotificationGroupsState { scrolledToTop: boolean; isLoading: boolean; lastReadId: string; + readMarkerId: string; mounted: number; isTabVisible: boolean; } @@ -58,7 +59,8 @@ const initialState: NotificationGroupsState = { scrolledToTop: false, isLoading: false, // The following properties are used to track unread notifications - lastReadId: '0', // used for unread notifications + lastReadId: '0', // used internally for unread notifications + readMarkerId: '0', // user-facing and updated when focus changes mounted: 0, // number of mounted notification list components, usually 0 or 1 isTabVisible: true, }; @@ -284,6 +286,12 @@ function updateLastReadId( } } +function commitLastReadId(state: NotificationGroupsState) { + if (shouldMarkNewNotificationsAsRead(state)) { + state.readMarkerId = state.lastReadId; + } +} + export const notificationGroupsReducer = createReducer( initialState, (builder) => { @@ -457,6 +465,7 @@ export const notificationGroupsReducer = createReducer( compareId(state.lastReadId, mostRecentGroup.page_max_id) < 0 ) state.lastReadId = mostRecentGroup.page_max_id; + commitLastReadId(state); }) .addCase(fetchMarkers.fulfilled, (state, action) => { if ( @@ -470,6 +479,7 @@ export const notificationGroupsReducer = createReducer( }) .addCase(mountNotifications, (state) => { state.mounted += 1; + commitLastReadId(state); updateLastReadId(state); }) .addCase(unmountNotifications, (state) => { @@ -477,6 +487,7 @@ export const notificationGroupsReducer = createReducer( }) .addCase(focusApp, (state) => { state.isTabVisible = true; + commitLastReadId(state); updateLastReadId(state); }) .addCase(unfocusApp, (state) => { diff --git a/app/javascript/flavours/glitch/selectors/notifications.ts b/app/javascript/flavours/glitch/selectors/notifications.ts index 7cc64aa6c5..efc2dff68a 100644 --- a/app/javascript/flavours/glitch/selectors/notifications.ts +++ b/app/javascript/flavours/glitch/selectors/notifications.ts @@ -27,6 +27,22 @@ export const selectUnreadNotificationGroupsCount = createSelector( }, ); +// Whether there is any unread notification according to the user-facing state +export const selectAnyPendingNotification = createSelector( + [ + (s: RootState) => s.notificationGroups.readMarkerId, + (s: RootState) => s.notificationGroups.groups, + ], + (notificationMarker, groups) => { + return groups.some( + (group) => + group.type !== 'gap' && + group.page_max_id && + compareId(group.page_max_id, notificationMarker) > 0, + ); + }, +); + export const selectPendingNotificationGroupsCount = createSelector( [(s: RootState) => s.notificationGroups.pendingGroups], (pendingGroups) => diff --git a/app/javascript/mastodon/features/notifications_v2/index.tsx b/app/javascript/mastodon/features/notifications_v2/index.tsx index 05dcf422e9..21afd9516e 100644 --- a/app/javascript/mastodon/features/notifications_v2/index.tsx +++ b/app/javascript/mastodon/features/notifications_v2/index.tsx @@ -26,6 +26,7 @@ import type { NotificationGap } from 'mastodon/reducers/notification_groups'; import { selectUnreadNotificationGroupsCount, selectPendingNotificationGroupsCount, + selectAnyPendingNotification, } from 'mastodon/selectors/notifications'; import { selectNeedsNotificationPermission, @@ -95,7 +96,7 @@ export const Notifications: React.FC<{ const lastReadId = useAppSelector((s) => selectSettingsNotificationsShowUnread(s) - ? s.notificationGroups.lastReadId + ? s.notificationGroups.readMarkerId : '0', ); @@ -105,11 +106,13 @@ export const Notifications: React.FC<{ selectUnreadNotificationGroupsCount, ); + const anyPendingNotification = useAppSelector(selectAnyPendingNotification); + const isUnread = unreadNotificationsCount > 0; const canMarkAsRead = useAppSelector(selectSettingsNotificationsShowUnread) && - unreadNotificationsCount > 0; + anyPendingNotification; const needsNotificationPermission = useAppSelector( selectNeedsNotificationPermission, diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index fee553e22d..bedb3d1719 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -9,7 +9,6 @@ "about.not_available": "Hierdie inligting is nie op hierdie bediener beskikbaar gestel nie.", "about.powered_by": "Gedesentraliseerde sosiale media aangedryf deur {mastodon}", "about.rules": "Bedienerreëls", - "account.account_note_header": "Nota", "account.add_or_remove_from_list": "Voeg by of verwyder van lyste", "account.badges.bot": "Bot", "account.badges.group": "Groep", diff --git a/app/javascript/mastodon/locales/an.json b/app/javascript/mastodon/locales/an.json index 0757b9e597..959d3b81c4 100644 --- a/app/javascript/mastodon/locales/an.json +++ b/app/javascript/mastodon/locales/an.json @@ -11,7 +11,6 @@ "about.not_available": "Esta información no ye disponible en este servidor.", "about.powered_by": "Retz socials descentralizaus con tecnolochía de {mastodon}", "about.rules": "Reglas d'o servidor", - "account.account_note_header": "Nota", "account.add_or_remove_from_list": "Adhibir u eliminar de listas", "account.badges.bot": "Bot", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 5cfd587e08..97526c40e6 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -11,7 +11,6 @@ "about.not_available": "لم يتم توفير هذه المعلومات على هذا الخادم.", "about.powered_by": "شبكة اجتماعية لامركزية مدعومة من {mastodon}", "about.rules": "قواعد الخادم", - "account.account_note_header": "مُلاحظة", "account.add_or_remove_from_list": "الإضافة أو الإزالة من القائمة", "account.badges.bot": "آلي", "account.badges.group": "فريق", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index 3843ec69dc..fd673f1f85 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -11,7 +11,6 @@ "about.not_available": "Esta información nun ta disponible nesti sirvidor.", "about.powered_by": "Una rede social descentralizada que tien la teunoloxía de {mastodon}", "about.rules": "Normes del sirvidor", - "account.account_note_header": "Nota", "account.add_or_remove_from_list": "Amestar o quitar de les llistes", "account.badges.group": "Grupu", "account.block": "Bloquiar a @{name}", diff --git a/app/javascript/mastodon/locales/be.json b/app/javascript/mastodon/locales/be.json index 58aff7da44..4a567582fc 100644 --- a/app/javascript/mastodon/locales/be.json +++ b/app/javascript/mastodon/locales/be.json @@ -11,7 +11,6 @@ "about.not_available": "Дадзеная інфармацыя не дасяжная на гэтым серверы.", "about.powered_by": "Дэцэнтралізаваная сацыяльная сетка, створаная {mastodon}", "about.rules": "Правілы сервера", - "account.account_note_header": "Нататка", "account.add_or_remove_from_list": "Дадаць або выдаліць са спісаў", "account.badges.bot": "Бот", "account.badges.group": "Група", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 9858130668..dca64711fa 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -11,7 +11,7 @@ "about.not_available": "Тази информация не е публична на този сървър.", "about.powered_by": "Децентрализирана социална мрежа, захранвана от {mastodon}", "about.rules": "Правила на сървъра", - "account.account_note_header": "Бележка", + "account.account_note_header": "Лична бележка", "account.add_or_remove_from_list": "Добавяне или премахване от списъци", "account.badges.bot": "Бот", "account.badges.group": "Група", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index 7787c1b9cf..bc5b5ae97d 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -11,7 +11,6 @@ "about.not_available": "এই তথ্য এই সার্ভারে উন্মুক্ত করা হয়নি.", "about.powered_by": "{mastodon} দ্বারা তৈরি বিকেন্দ্রীভূত সামাজিক মিডিয়া।", "about.rules": "সার্ভারের নিয়মাবলী", - "account.account_note_header": "বিজ্ঞপ্তি", "account.add_or_remove_from_list": "তালিকাতে যোগ বা অপসারণ করো", "account.badges.bot": "বট", "account.badges.group": "দল", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index b38f436316..bf801d7533 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -11,7 +11,6 @@ "about.not_available": "An titour-mañ ne c'heller ket gwelet war ar servijer-mañ.", "about.powered_by": "Rouedad sokial digreizenned kaset gant {mastodon}", "about.rules": "Reolennoù ar servijer", - "account.account_note_header": "Notenn", "account.add_or_remove_from_list": "Ouzhpenn pe dilemel eus al listennadoù", "account.badges.bot": "Robot", "account.badges.group": "Strollad", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index b52f597711..c06fb1e334 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -11,7 +11,7 @@ "about.not_available": "Aquesta informació no és disponible en aquest servidor.", "about.powered_by": "Xarxa social descentralitzada impulsada per {mastodon}", "about.rules": "Normes del servidor", - "account.account_note_header": "Nota", + "account.account_note_header": "Nota personal", "account.add_or_remove_from_list": "Afegeix o elimina de les llistes", "account.badges.bot": "Automatitzat", "account.badges.group": "Grup", diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json index 3c11ffc715..237a49d8e7 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -11,7 +11,6 @@ "about.not_available": "ئەم زانیاریانە لەسەر ئەم سێرڤەرە بەردەست نەکراون.", "about.powered_by": "سۆشیال میدیای لامەرکەزی کە لەلایەن {mastodon} ەوە بەهێز دەکرێت", "about.rules": "یاساکانی سێرڤەر", - "account.account_note_header": "تێبینی ", "account.add_or_remove_from_list": "زیادکردن یان سڕینەوە لە پێرستەکان", "account.badges.bot": "بوت", "account.badges.group": "گرووپ", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index d95213f9c1..a479c2fedc 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -1,5 +1,4 @@ { - "account.account_note_header": "Nota", "account.add_or_remove_from_list": "Aghjunghje o toglie da e liste", "account.badges.bot": "Bot", "account.badges.group": "Gruppu", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 2afbbfb673..abfbcbfa5e 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -11,7 +11,7 @@ "about.not_available": "Tato informace nebyla zpřístupněna na tomto serveru.", "about.powered_by": "Decentralizovaná sociální média poháněná {mastodon}", "about.rules": "Pravidla serveru", - "account.account_note_header": "Poznámka", + "account.account_note_header": "Osobní poznámka", "account.add_or_remove_from_list": "Přidat nebo odstranit ze seznamů", "account.badges.bot": "Bot", "account.badges.group": "Skupina", @@ -471,6 +471,8 @@ "navigation_bar.security": "Zabezpečení", "not_signed_in_indicator.not_signed_in": "Pro přístup k tomuto zdroji se musíte přihlásit.", "notification.admin.report": "Uživatel {name} nahlásil {target}", + "notification.admin.report_statuses": "{name} nahlásil {target} za {category}", + "notification.admin.report_statuses_other": "{name} nahlásil {target}", "notification.admin.sign_up": "Uživatel {name} se zaregistroval", "notification.favourite": "Uživatel {name} si oblíbil váš příspěvek", "notification.follow": "Uživatel {name} vás začal sledovat", @@ -487,6 +489,7 @@ "notification.moderation_warning.action_suspend": "Váš účet byl pozastaven.", "notification.own_poll": "Vaše anketa skončila", "notification.poll": "Anketa, ve které jste hlasovali, skončila", + "notification.private_mention": "{name} vás soukromě zmínil", "notification.reblog": "Uživatel {name} boostnul váš příspěvek", "notification.relationships_severance_event": "Kontakt ztracen s {name}", "notification.relationships_severance_event.account_suspension": "Administrátor z {from} pozastavil {target}, což znamená, že již od nich nemůžete přijímat aktualizace nebo s nimi interagovat.", @@ -508,6 +511,7 @@ "notifications.column_settings.admin.sign_up": "Nové registrace:", "notifications.column_settings.alert": "Oznámení na počítači", "notifications.column_settings.beta.category": "Experimentální funkce", + "notifications.column_settings.beta.grouping": "Seskupit notifikace", "notifications.column_settings.favourite": "Oblíbené:", "notifications.column_settings.filter_bar.advanced": "Zobrazit všechny kategorie", "notifications.column_settings.filter_bar.category": "Panel rychlého filtrování", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index a5f81aad70..f769810d27 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -11,7 +11,6 @@ "about.not_available": "Nid yw'r wybodaeth hon ar gael ar y gweinydd hwn.", "about.powered_by": "Cyfrwng cymdeithasol datganoledig wedi ei yrru gan {mastodon}", "about.rules": "Rheolau'r gweinydd", - "account.account_note_header": "Nodyn", "account.add_or_remove_from_list": "Ychwanegu neu Ddileu o'r rhestrau", "account.badges.bot": "Bot", "account.badges.group": "Grŵp", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 2ad5bdc965..9fcd24b29e 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -11,7 +11,7 @@ "about.not_available": "Denne information er ikke blevet gjort tilgængelig på denne server.", "about.powered_by": "Decentraliserede sociale medier drevet af {mastodon}", "about.rules": "Serverregler", - "account.account_note_header": "Note", + "account.account_note_header": "Personligt notat", "account.add_or_remove_from_list": "Tilføj eller fjern fra lister", "account.badges.bot": "Bot", "account.badges.group": "Gruppe", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 52a2cf2b9b..49821da68e 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -11,7 +11,7 @@ "about.not_available": "Diese Informationen sind auf diesem Server nicht verfügbar.", "about.powered_by": "Ein dezentralisiertes soziales Netzwerk, angetrieben von {mastodon}", "about.rules": "Serverregeln", - "account.account_note_header": "Notiz", + "account.account_note_header": "Persönliche Notiz", "account.add_or_remove_from_list": "Hinzufügen oder Entfernen von Listen", "account.badges.bot": "Automatisiert", "account.badges.group": "Gruppe", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 3b181b42a6..eab319fdba 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -11,7 +11,6 @@ "about.not_available": "Αυτές οι πληροφορίες δεν έχουν είναι διαθέσιμες σε αυτόν τον διακομιστή.", "about.powered_by": "Αποκεντρωμένα μέσα κοινωνικής δικτύωσης που βασίζονται στο {mastodon}", "about.rules": "Κανόνες διακομιστή", - "account.account_note_header": "Σημείωση", "account.add_or_remove_from_list": "Προσθήκη ή Αφαίρεση από λίστες", "account.badges.bot": "Αυτοματοποιημένος", "account.badges.group": "Ομάδα", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index eaf4f9465b..1307184ddb 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -11,7 +11,6 @@ "about.not_available": "This information has not been made available on this server.", "about.powered_by": "Decentralised social media powered by {mastodon}", "about.rules": "Server rules", - "account.account_note_header": "Note", "account.add_or_remove_from_list": "Add or Remove from lists", "account.badges.bot": "Automated", "account.badges.group": "Group", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index de91fb39dc..851b3bfd1a 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -11,7 +11,6 @@ "about.not_available": "Ĉi tiu informo ne estas disponebla ĉe ĉi tiu servilo.", "about.powered_by": "Malcentrigita socia retejo pere de {mastodon}", "about.rules": "Regularo de la servilo", - "account.account_note_header": "Noto", "account.add_or_remove_from_list": "Aldoni al aŭ forigi el listoj", "account.badges.bot": "Roboto", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 2a86e789a4..bf5b1e2248 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -11,7 +11,7 @@ "about.not_available": "Esta información no está disponible en este servidor.", "about.powered_by": "Redes sociales descentralizadas con tecnología de {mastodon}", "about.rules": "Reglas del servidor", - "account.account_note_header": "Nota", + "account.account_note_header": "Nota personal", "account.add_or_remove_from_list": "Agregar o quitar de las listas", "account.badges.bot": "Automatizada", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 93534ce105..71c9e3b7a1 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -11,7 +11,7 @@ "about.not_available": "Esta información no está disponible en este servidor.", "about.powered_by": "Medio social descentralizado con tecnología de {mastodon}", "about.rules": "Reglas del servidor", - "account.account_note_header": "Nota", + "account.account_note_header": "Nota personal", "account.add_or_remove_from_list": "Agregar o eliminar de las listas", "account.badges.bot": "Bot", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 253416a838..29d5cfb3ac 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -11,7 +11,7 @@ "about.not_available": "Esta información no está disponible en este servidor.", "about.powered_by": "Redes sociales descentralizadas con tecnología de {mastodon}", "about.rules": "Reglas del servidor", - "account.account_note_header": "Nota", + "account.account_note_header": "Nota personal", "account.add_or_remove_from_list": "Agregar o eliminar de listas", "account.badges.bot": "Automatizada", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index 7369a89c46..031904d54a 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -11,7 +11,6 @@ "about.not_available": "See info ei ole sellel serveril saadavaks tehtud.", "about.powered_by": "Hajutatud sotsiaalmeedia, mille taga on {mastodon}", "about.rules": "Serveri reeglid", - "account.account_note_header": "Märge", "account.add_or_remove_from_list": "Lisa või Eemalda nimekirjadest", "account.badges.bot": "Robot", "account.badges.group": "Grupp", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index a4b502ccc0..291f19002e 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -11,7 +11,6 @@ "about.not_available": "Zerbitzari honek ez du informazio hau eskuragarri jarri.", "about.powered_by": "{mastodon} erabiltzen duen sare sozial deszentralizatua", "about.rules": "Zerbitzariaren arauak", - "account.account_note_header": "Oharra", "account.add_or_remove_from_list": "Gehitu edo kendu zerrendetatik", "account.badges.bot": "Bot-a", "account.badges.group": "Taldea", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 414e453fa3..514ce5959a 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -11,7 +11,6 @@ "about.not_available": "این اطّلاعات روی این کارساز موجود نشده.", "about.powered_by": "رسانهٔ اجتماعی نامتمرکز قدرت گرفته از {mastodon}", "about.rules": "قوانین کارساز", - "account.account_note_header": "یادداشت", "account.add_or_remove_from_list": "افزودن یا برداشتن از سیاهه‌ها", "account.badges.bot": "خودکار", "account.badges.group": "گروه", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index ae1ccc0a3c..5161343d30 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -11,7 +11,7 @@ "about.not_available": "Näitä tietoja ei ole julkaistu tällä palvelimella.", "about.powered_by": "Hajautetun sosiaalisen median tarjoaa {mastodon}", "about.rules": "Palvelimen säännöt", - "account.account_note_header": "Muistiinpano", + "account.account_note_header": "Henkilökohtainen muistiinpano", "account.add_or_remove_from_list": "Lisää tai poista listoilta", "account.badges.bot": "Botti", "account.badges.group": "Ryhmä", diff --git a/app/javascript/mastodon/locales/fil.json b/app/javascript/mastodon/locales/fil.json index 1bdcd6f54e..f5cc407ece 100644 --- a/app/javascript/mastodon/locales/fil.json +++ b/app/javascript/mastodon/locales/fil.json @@ -6,7 +6,6 @@ "about.domain_blocks.silenced.title": "Limitado", "about.domain_blocks.suspended.title": "Suspendido", "about.rules": "Mga alituntunin ng server", - "account.account_note_header": "Tala", "account.add_or_remove_from_list": "I-dagdag o tanggalin mula sa mga listahan", "account.badges.bot": "Pakusa", "account.badges.group": "Pangkat", diff --git a/app/javascript/mastodon/locales/fo.json b/app/javascript/mastodon/locales/fo.json index 5f7062b11a..a0d2b347fc 100644 --- a/app/javascript/mastodon/locales/fo.json +++ b/app/javascript/mastodon/locales/fo.json @@ -11,7 +11,7 @@ "about.not_available": "Hetta er ikki tøkt á føroyska servaranum enn.", "about.powered_by": "Miðfirra almennur miðil koyrandi á {mastodon}", "about.rules": "Ambætarareglur", - "account.account_note_header": "Viðmerking", + "account.account_note_header": "Persónlig viðmerking", "account.add_or_remove_from_list": "Legg afturat ella tak av listum", "account.badges.bot": "Bottur", "account.badges.group": "Bólkur", @@ -72,7 +72,7 @@ "account.unmute": "Doyv ikki @{name}", "account.unmute_notifications_short": "Tendra fráboðanir", "account.unmute_short": "Doyv ikki", - "account_note.placeholder": "Klikka fyri at leggja notu afturat", + "account_note.placeholder": "Klikka fyri at leggja viðmerking afturat", "admin.dashboard.daily_retention": "Hvussu nógvir brúkarar eru eftir, síðani tey skrásettu seg, roknað í døgum", "admin.dashboard.monthly_retention": "Hvussu nógvir brúkarar eru eftir síðani tey skrásettu seg, roknað í mánaðum", "admin.dashboard.retention.average": "Miðal", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index ad442df778..02e3396575 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -11,7 +11,6 @@ "about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.", "about.powered_by": "Réseau social décentralisé propulsé par {mastodon}", "about.rules": "Règles du serveur", - "account.account_note_header": "Note", "account.add_or_remove_from_list": "Ajouter ou enlever de listes", "account.badges.bot": "Bot", "account.badges.group": "Groupe", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index b849ab8f87..d218148c25 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -11,7 +11,6 @@ "about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.", "about.powered_by": "Réseau social décentralisé propulsé par {mastodon}", "about.rules": "Règles du serveur", - "account.account_note_header": "Note", "account.add_or_remove_from_list": "Ajouter ou retirer des listes", "account.badges.bot": "Bot", "account.badges.group": "Groupe", diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json index 3045def028..1eceec08a0 100644 --- a/app/javascript/mastodon/locales/fy.json +++ b/app/javascript/mastodon/locales/fy.json @@ -11,7 +11,6 @@ "about.not_available": "Dizze ynformaasje is troch dizze server net iepenbier makke.", "about.powered_by": "Desintralisearre sosjale media, mooglik makke troch {mastodon}", "about.rules": "Serverrigels", - "account.account_note_header": "Opmerking", "account.add_or_remove_from_list": "Tafoegje oan of fuortsmite út listen", "account.badges.bot": "Automatisearre", "account.badges.group": "Groep", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index 44bc62c755..04be6bc2fa 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -11,7 +11,6 @@ "about.not_available": "Níor cuireadh an t-eolas seo ar fáil ar an bhfreastalaí seo.", "about.powered_by": "Meáin shóisialta díláraithe faoi chumhacht {mastodon}", "about.rules": "Rialacha an fhreastalaí", - "account.account_note_header": "Nóta", "account.add_or_remove_from_list": "Cuir Le nó Bain De na liostaí", "account.badges.bot": "Bota", "account.badges.group": "Grúpa", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 440654b0db..5b5009e853 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -11,7 +11,7 @@ "about.not_available": "Cha deach am fiosrachadh seo a sholar air an fhrithealaiche seo.", "about.powered_by": "Lìonra sòisealta sgaoilte le cumhachd {mastodon}", "about.rules": "Riaghailtean an fhrithealaiche", - "account.account_note_header": "Nòta", + "account.account_note_header": "Nòta pearsanta", "account.add_or_remove_from_list": "Cuir ris no thoir air falbh o liostaichean", "account.badges.bot": "Fèin-obrachail", "account.badges.group": "Buidheann", @@ -505,6 +505,8 @@ "notification.update": "Dheasaich {name} post", "notification_requests.accept": "Gabh ris", "notification_requests.dismiss": "Leig seachad", + "notification_requests.maximize": "Làn-mheudaich", + "notification_requests.minimize_banner": "Fìor-lùghdaich bratach nam brathan criathraichte", "notification_requests.notifications_from": "Brathan o {name}", "notification_requests.title": "Brathan criathraichte", "notifications.clear": "Falamhaich na brathan", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 137130e9e9..493b2fcb17 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -11,7 +11,7 @@ "about.not_available": "Esta información non está dispoñible neste servidor.", "about.powered_by": "Comunicación social descentralizada grazas a {mastodon}", "about.rules": "Regras do servidor", - "account.account_note_header": "Nota", + "account.account_note_header": "Nota persoal", "account.add_or_remove_from_list": "Engadir ou eliminar das listaxes", "account.badges.bot": "Automatizada", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index a1f718d24f..3505e14768 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -11,7 +11,7 @@ "about.not_available": "המידע אינו זמין על שרת זה.", "about.powered_by": "רשת חברתית מבוזרת המופעלת על ידי {mastodon}", "about.rules": "כללי השרת", - "account.account_note_header": "הערה", + "account.account_note_header": "הערה אישית", "account.add_or_remove_from_list": "הוספה או הסרה מרשימות", "account.badges.bot": "בוט", "account.badges.group": "קבוצה", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index c2a961b32c..0d2a906569 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -11,7 +11,6 @@ "about.not_available": "यह जानकारी इस सर्वर पर उपलब्ध नहीं कराई गई है।", "about.powered_by": "{mastodon} द्वारा संचालित डेसेंट्रलीसेड सोशल मीडिया प्लैटफ़ॉर्म!", "about.rules": "सर्वर के नियम", - "account.account_note_header": "टिप्पणियाँ", "account.add_or_remove_from_list": "सूची में जोड़ें या हटाए", "account.badges.bot": "बॉट", "account.badges.group": "समूह", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index 5598732465..da83307918 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -11,7 +11,6 @@ "about.not_available": "Te informacije nisu dostupne na ovom poslužitelju.", "about.powered_by": "Decentralizirani društveni mediji koje pokreće {mastodon}", "about.rules": "Pravila servera", - "account.account_note_header": "Bilješka", "account.add_or_remove_from_list": "Dodaj ili ukloni s liste", "account.badges.bot": "Bot", "account.badges.group": "Grupa", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 4acff61740..4291954e20 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -11,7 +11,7 @@ "about.not_available": "Ez az információ nem lett közzétéve ezen a kiszolgálón.", "about.powered_by": "Decentralizált közösségi média a {mastodon} segítségével", "about.rules": "Kiszolgáló szabályai", - "account.account_note_header": "Feljegyzés", + "account.account_note_header": "Személyes megjegyzés", "account.add_or_remove_from_list": "Hozzáadás vagy eltávolítás a listákról", "account.badges.bot": "Automatizált", "account.badges.group": "Csoport", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index e9b9e85ff9..c926e7b4f3 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -7,7 +7,6 @@ "about.not_available": "Այս տեղեկութիւնը տեսանելի չի այս սերուերում։", "about.powered_by": "Ապակենտրոն սոց. ցանց սեղծուած {mastodon}-ով։", "about.rules": "Սերուերի կանոնները", - "account.account_note_header": "Նշում", "account.add_or_remove_from_list": "Աւելացնել կամ հեռացնել ցանկերից", "account.badges.bot": "Բոտ", "account.badges.group": "Խումբ", diff --git a/app/javascript/mastodon/locales/ia.json b/app/javascript/mastodon/locales/ia.json index 60838c3a5d..d775408b17 100644 --- a/app/javascript/mastodon/locales/ia.json +++ b/app/javascript/mastodon/locales/ia.json @@ -11,7 +11,7 @@ "about.not_available": "Iste information non ha essite rendite disponibile sur iste servitor.", "about.powered_by": "Rete social decentralisate, actionate per {mastodon}", "about.rules": "Regulas del servitor", - "account.account_note_header": "Nota", + "account.account_note_header": "Nota personal", "account.add_or_remove_from_list": "Adder a, o remover de listas", "account.badges.bot": "Automatisate", "account.badges.group": "Gruppo", @@ -670,8 +670,11 @@ "report_notification.attached_statuses": "{count, plural, one {{count} message} other {{count} messages}} annexate", "report_notification.categories.legal": "Juridic", "report_notification.categories.other": "Alteres", + "report_notification.categories.other_sentence": "alteres", "report_notification.categories.spam": "Spam", + "report_notification.categories.spam_sentence": "spam", "report_notification.categories.violation": "Violation del regulas", + "report_notification.categories.violation_sentence": "violation del regulas", "report_notification.open": "Aperir reporto", "search.no_recent_searches": "Nulle recercas recente", "search.placeholder": "Cercar", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index e740fb009c..db6e3efe5f 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -11,7 +11,6 @@ "about.not_available": "Informasi ini belum tersedia di server ini.", "about.powered_by": "Media sosial terdesentralisasi diberdayakan oleh {mastodon}", "about.rules": "Aturan server", - "account.account_note_header": "Catatan", "account.add_or_remove_from_list": "Tambah atau Hapus dari daftar", "account.badges.bot": "Bot", "account.badges.group": "Grup", diff --git a/app/javascript/mastodon/locales/ie.json b/app/javascript/mastodon/locales/ie.json index 27519b4776..c5290d18b8 100644 --- a/app/javascript/mastodon/locales/ie.json +++ b/app/javascript/mastodon/locales/ie.json @@ -11,7 +11,6 @@ "about.not_available": "On ne ha disponibilisat ti-ci information sur ti-ci servitor.", "about.powered_by": "Decentralisat social medie disponibilisat de {mastodon}", "about.rules": "Regules del servitor", - "account.account_note_header": "Nota", "account.add_or_remove_from_list": "Adjunter o remover de listes", "account.badges.bot": "Automatisat", "account.badges.group": "Gruppe", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 6ff957bc80..38ece266e6 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -10,7 +10,6 @@ "about.not_available": "Ca informo ne igesis che ca servilo.", "about.powered_by": "Necentraligita sociala ret quo povigesas da {mastodon}", "about.rules": "Servilreguli", - "account.account_note_header": "Noto", "account.add_or_remove_from_list": "Insertez o removez de listi", "account.badges.bot": "Boto", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index a38e56714a..47daa30fc4 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -11,7 +11,7 @@ "about.not_available": "Þessar upplýsingar hafa ekki verið gerðar aðgengilegar á þessum netþjóni.", "about.powered_by": "Dreifhýstur samskiptamiðill keyrður með {mastodon}", "about.rules": "Reglur netþjónsins", - "account.account_note_header": "Minnispunktur", + "account.account_note_header": "Einkaminnispunktur", "account.add_or_remove_from_list": "Bæta við eða fjarlægja af listum", "account.badges.bot": "Yrki", "account.badges.group": "Hópur", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index c0980edc04..3d9df8a234 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -11,7 +11,7 @@ "about.not_available": "Queste informazioni non sono state rese disponibili su questo server.", "about.powered_by": "Social media decentralizzato alimentato da {mastodon}", "about.rules": "Regole del server", - "account.account_note_header": "Nota", + "account.account_note_header": "Note personali", "account.add_or_remove_from_list": "Aggiungi o Rimuovi dalle liste", "account.badges.bot": "Bot", "account.badges.group": "Gruppo", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 9a1ef03efc..97f64b179e 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -11,7 +11,6 @@ "about.not_available": "この情報はこのサーバーでは利用できません。", "about.powered_by": "{mastodon}による分散型ソーシャルメディア", "about.rules": "サーバーのルール", - "account.account_note_header": "メモ", "account.add_or_remove_from_list": "リストから追加または外す", "account.badges.bot": "Bot", "account.badges.group": "Group", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index d61a29d7a3..a54998e92b 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -1,7 +1,6 @@ { "about.contact": "კონტაქტი:", "about.domain_blocks.no_reason_available": "მიზეზი მიუწვდომელია", - "account.account_note_header": "ჩანაწერი", "account.add_or_remove_from_list": "სიებში დამატება ან წაშლა", "account.badges.bot": "ბოტი", "account.badges.group": "ჯგუფი", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index b8fd039b8d..2c5b24adb6 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -8,7 +8,6 @@ "about.not_available": "Talɣut-a ur tettwabder ara deg uqeddac-a.", "about.powered_by": "Azeṭṭa inmetti yettwasɣelsen sɣur {mastodon}", "about.rules": "Ilugan n uqeddac", - "account.account_note_header": "Tazmilt", "account.add_or_remove_from_list": "Rnu neɣ kkes seg tebdarin", "account.badges.bot": "Aṛubut", "account.badges.group": "Agraw", @@ -84,6 +83,7 @@ "bundle_column_error.network.title": "Tuccḍa deg uẓeṭṭa", "bundle_column_error.retry": "Ɛreḍ tikelt-nniḍen", "bundle_column_error.return": "Uɣal ɣer ugejdan", + "bundle_column_error.routing.body": "Asebter i d-yettwasutren ur yettwaf ara. Tetḥeqqeḍ belli tansa URL deg ufeggag n tansa tṣeḥḥa?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Mdel", "bundle_modal_error.message": "Tella-d kra n tuccḍa mi d-yettali ugbur-agi.", @@ -143,20 +143,22 @@ "confirmations.block.confirm": "Sewḥel", "confirmations.delete.confirm": "Kkes", "confirmations.delete.message": "Tebɣiḍ s tidet ad tekkseḍ tasuffeɣt-agi?", + "confirmations.delete.title": "Tukksa n tasuffeɣt?", "confirmations.delete_list.confirm": "Kkes", "confirmations.delete_list.message": "Tebɣiḍ s tidet ad tekkseḍ umuɣ-agi i lebda?", + "confirmations.delete_list.title": "Tukksa n tebdart?", "confirmations.discard_edit_media.confirm": "Sefsex", "confirmations.edit.confirm": "Ẓreg", "confirmations.edit.message": "Abeddel tura ad d-yaru izen-nni i d-tegreḍ akka tura. Tetḥeqqeḍ tebɣiḍ ad tkemmleḍ?", "confirmations.logout.confirm": "Ffeɣ", "confirmations.logout.message": "D tidet tebɣiḍ ad teffɣeḍ?", "confirmations.mute.confirm": "Sgugem", - "confirmations.redraft.confirm": "Sfeḍ & Ɛiwed tira", + "confirmations.redraft.confirm": "Kkes sakin ɛiwed tira", "confirmations.reply.confirm": "Err", "confirmations.reply.message": "Tiririt akka tura ad k-degger izen-agi i tettaruḍ. Tebɣiḍ ad tkemmleḍ?", "confirmations.unfollow.confirm": "Ur ḍḍafaṛ ara", "confirmations.unfollow.message": "Tetḥeqqeḍ belli tebɣiḍ ur teṭafaṛeḍ ara {name}?", - "conversation.delete": "Sfeḍ adiwenni", + "conversation.delete": "Kkes adiwenni", "conversation.mark_as_read": "Creḍ yettwaɣṛa", "conversation.open": "Ssken adiwenni", "conversation.with": "Akked {names}", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index fbaa371843..c530ce8f6a 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -11,7 +11,6 @@ "about.not_available": "Бұл ақпарат бұл серверде қолжетімді емес.", "about.powered_by": "{mastodon} негізіндегі орталықсыз әлеуметтік желі", "about.rules": "Сервер ережелері", - "account.account_note_header": "Жазба", "account.add_or_remove_from_list": "Тізімге қосу немесе жою", "account.badges.bot": "Бот", "account.badges.group": "Топ", diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json index 24592e37fc..2dabae0c14 100644 --- a/app/javascript/mastodon/locales/kn.json +++ b/app/javascript/mastodon/locales/kn.json @@ -4,7 +4,6 @@ "about.disclaimer": "ಮಾಸ್ಟೋಡಾನ್ ಇದು ಉಚಿತ, ಮುಕ್ತ ತಂತ್ರಾಂಶ ಮತ್ತು Mastodon gGmbH ಇದರ ನೊಂದಾಯಿತ ಗುರುತು.", "about.domain_blocks.no_reason_available": "ಕಾರಣ ಲಭ್ಯವಿಲ್ಲ", "about.domain_blocks.preamble": "ಸಾಮಾನ್ಯವಾಗಿ ಮಾಸ್ಟೊಡಾನ್ ನಿಮಗೆ ಇತರೆ ಬಳಕೆದಾರರಿಂದ ಹಂಚಲ್ಪಟ್ಟ ವಿಷಯಗಳನ್ನು ನೋಡಲು ಮತ್ತು ಅವರೊಂದಿಗೆ ಸಂಭಾಷಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.\nಆದರೆ ಈ ಸರ್ವ್ರರ್‌ನಲ್ಲಿ ಅಳವಡಿಸಲಾದ ಕೆಲವು ವಿನಾಯಿತಿಗಳು ಇಂತಿವೆ.", - "account.account_note_header": "ಟಿಪ್ಪಣಿ", "account.add_or_remove_from_list": "ಪಟ್ಟಿಗೆ ಸೇರಿಸು ಅಥವ ಪಟ್ಟಿಯಿಂದ ತೆಗೆದುಹಾಕು", "account.badges.bot": "Bot", "account.badges.group": "ಗುಂಪು", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index be060065f2..5700e17466 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -11,7 +11,7 @@ "about.not_available": "이 정보는 이 서버에서 사용할 수 없습니다.", "about.powered_by": "{mastodon}으로 구동되는 분산 소셜 미디어", "about.rules": "서버 규칙", - "account.account_note_header": "노트", + "account.account_note_header": "개인 메모", "account.add_or_remove_from_list": "리스트에 추가 혹은 삭제", "account.badges.bot": "자동화됨", "account.badges.group": "그룹", @@ -505,6 +505,8 @@ "notification.update": "{name} 님이 게시물을 수정했습니다", "notification_requests.accept": "수락", "notification_requests.dismiss": "지우기", + "notification_requests.maximize": "최대화", + "notification_requests.minimize_banner": "걸러진 알림 배너 최소화", "notification_requests.notifications_from": "{name} 님으로부터의 알림", "notification_requests.title": "걸러진 알림", "notifications.clear": "알림 비우기", @@ -803,11 +805,11 @@ "upload_button.label": "이미지, 영상, 오디오 파일 추가", "upload_error.limit": "파일 업로드 제한에 도달했습니다.", "upload_error.poll": "파일 업로드는 설문과 함께 쓸 수 없습니다.", - "upload_form.audio_description": "청각 장애인을 위한 설명", + "upload_form.audio_description": "청각장애인이나 저청각자를 위한 설명", "upload_form.description": "시각장애인이나 저시력자를 위한 설명", "upload_form.edit": "수정", "upload_form.thumbnail": "썸네일 변경", - "upload_form.video_description": "청각, 시각 장애인을 위한 설명", + "upload_form.video_description": "청각장애인, 저청각자, 시각장애인, 저시력자를 위한 설명", "upload_modal.analyzing_picture": "사진 분석 중…", "upload_modal.apply": "적용", "upload_modal.applying": "적용 중...", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 3d3c20424c..a4a6bfc58c 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -11,7 +11,6 @@ "about.not_available": "Ev zanyarî li ser vê rajekarê nehatine peydakirin.", "about.powered_by": "Medyaya civakî ya nenavendî bi hêzdariya {mastodon}", "about.rules": "Rêbazên rajekar", - "account.account_note_header": "Nîşe", "account.add_or_remove_from_list": "Li lîsteyan zêde bike yan jî rake", "account.badges.bot": "Bot", "account.badges.group": "Kom", diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json index 7ebe71b24c..657688a0bb 100644 --- a/app/javascript/mastodon/locales/kw.json +++ b/app/javascript/mastodon/locales/kw.json @@ -1,6 +1,5 @@ { "about.blocks": "Leurennow koswys", - "account.account_note_header": "Noten", "account.add_or_remove_from_list": "Keworra po Dilea a rolyow", "account.badges.bot": "Bot", "account.badges.group": "Bagas", diff --git a/app/javascript/mastodon/locales/la.json b/app/javascript/mastodon/locales/la.json index 1e2d54396a..81cc9cd998 100644 --- a/app/javascript/mastodon/locales/la.json +++ b/app/javascript/mastodon/locales/la.json @@ -2,7 +2,6 @@ "about.contact": "Ratio:", "about.domain_blocks.no_reason_available": "Ratio abdere est", "about.domain_blocks.silenced.explanation": "Tua profilia atque tuum contentum ab hac serve praecipue non videbis, nisi explōrēs expresse aut subsequeris et optēs.", - "account.account_note_header": "Annotatio", "account.add_or_remove_from_list": "Adde aut ēripe ex tabellīs", "account.badges.bot": "Robotum", "account.badges.group": "Congregatio", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index 96ca615e21..8da6cdecea 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -11,7 +11,6 @@ "about.not_available": "Esta enformasyon no esta desponivle en este sirvidor.", "about.powered_by": "Redes sosyalas desentralizadas kon uzo de {mastodon}", "about.rules": "Reglas del sirvidor", - "account.account_note_header": "Nota", "account.add_or_remove_from_list": "Adjusta a o kita de listas", "account.badges.bot": "Otomatizado", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 2d3626ff9a..e2a7e947eb 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -11,7 +11,7 @@ "about.not_available": "Ši informacija nebuvo pateikta šiame serveryje.", "about.powered_by": "Decentralizuota socialinė medija, veikianti pagal „{mastodon}“", "about.rules": "Serverio taisyklės", - "account.account_note_header": "Pastaba", + "account.account_note_header": "Asmeninė pastaba", "account.add_or_remove_from_list": "Pridėti arba pašalinti iš sąrašų", "account.badges.bot": "Automatizuotas", "account.badges.group": "Grupė", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 86ed6262a9..f1c065b92a 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -11,7 +11,6 @@ "about.not_available": "Šī informācija nav padarīta pieejama šajā serverī.", "about.powered_by": "Decentralizētu sociālo tīklu nodrošina {mastodon}", "about.rules": "Servera noteikumi", - "account.account_note_header": "Piezīme", "account.add_or_remove_from_list": "Pievienot vai Noņemt no sarakstiem", "account.badges.bot": "Automatizēts", "account.badges.group": "Grupa", diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json index b1f3b9fab9..5c8b752cf9 100644 --- a/app/javascript/mastodon/locales/mk.json +++ b/app/javascript/mastodon/locales/mk.json @@ -10,7 +10,6 @@ "about.not_available": "Оваа информација не е достапна на овој сервер.", "about.powered_by": "Децентрализиран друштвен медиум овозможен од {mastodon}", "about.rules": "Правила на серверот", - "account.account_note_header": "Белешка", "account.add_or_remove_from_list": "Додади или одстрани од листа", "account.badges.bot": "Бот", "account.badges.group": "Група", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index d9caccef34..d929b1f461 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -5,7 +5,6 @@ "about.domain_blocks.silenced.title": "പരിമിതമായത്", "about.domain_blocks.suspended.title": "താൽക്കാലികമായി നിർത്തിവെച്ചിരിക്കുന്നു", "about.rules": "സെർവ്വർ നിയമങ്ങൾ", - "account.account_note_header": "കുറിപ്പ്", "account.add_or_remove_from_list": "പട്ടികയിൽ ചേർക്കുകയോ/മാറ്റുകയോ ചെയ്യുക", "account.badges.bot": "റോബോട്ട്", "account.badges.group": "ഗ്രൂപ്പ്", diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json index 2757b96f94..b72d44aa55 100644 --- a/app/javascript/mastodon/locales/mr.json +++ b/app/javascript/mastodon/locales/mr.json @@ -11,7 +11,6 @@ "about.not_available": "ही माहिती या सर्व्हरवर उपलब्ध करून देण्यात आलेली नाही.", "about.powered_by": "{mastodon} द्वारा समर्थित विकेंद्रित सोशल मीडिया", "about.rules": "सर्व्हर नियम", - "account.account_note_header": "नोंद", "account.add_or_remove_from_list": "यादीत घाला किंवा यादीतून काढून टाका", "account.badges.bot": "स्वयंचलित खाते", "account.badges.group": "गट", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index 17af770b9b..b4ee161edf 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -11,7 +11,6 @@ "about.not_available": "Maklumat ini belum tersedia pada pelayan ini.", "about.powered_by": "Media sosial terpencar yang dikuasakan oleh {mastodon}", "about.rules": "Peraturan pelayan", - "account.account_note_header": "Catatan", "account.add_or_remove_from_list": "Tambah atau Buang dari senarai", "account.badges.bot": "Bot", "account.badges.group": "Kumpulan", diff --git a/app/javascript/mastodon/locales/my.json b/app/javascript/mastodon/locales/my.json index cb08d76bd3..6a462b1c7c 100644 --- a/app/javascript/mastodon/locales/my.json +++ b/app/javascript/mastodon/locales/my.json @@ -11,7 +11,6 @@ "about.not_available": "ဤအချက်အလက်ကို ဤဆာဗာတွင် မရရှိနိုင်ပါ။", "about.powered_by": "{mastodon} မှ ဗဟိုချုပ်ကိုင်မှုလျှော့ချထားသော ဆိုရှယ်မီဒီယာ", "about.rules": "ဆာဗာစည်းမျဉ်းများ", - "account.account_note_header": "မှတ်ချက်", "account.add_or_remove_from_list": "စာရင်းများမှ ထည့်ပါ သို့မဟုတ် ဖယ်ရှားပါ။", "account.badges.bot": "စက်ရုပ်", "account.badges.group": "အဖွဲ့", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index dd5a931b6f..c9be1a2735 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -11,7 +11,7 @@ "about.not_available": "Deze informatie is niet beschikbaar gemaakt op deze server.", "about.powered_by": "Gedecentraliseerde sociale media mogelijk gemaakt door {mastodon}", "about.rules": "Serverregels", - "account.account_note_header": "Opmerking", + "account.account_note_header": "Persoonlijke opmerking", "account.add_or_remove_from_list": "Toevoegen aan of verwijderen uit lijsten", "account.badges.bot": "Geautomatiseerd", "account.badges.group": "Groep", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 26973f830f..c408f59d0d 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -11,7 +11,6 @@ "about.not_available": "Denne informasjonen er ikkje gjort tilgjengeleg på denne tenaren.", "about.powered_by": "Desentraliserte sosiale medium drive av {mastodon}", "about.rules": "Tenarreglar", - "account.account_note_header": "Merknad", "account.add_or_remove_from_list": "Legg til eller fjern frå lister", "account.badges.bot": "Robot", "account.badges.group": "Gruppe", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 0f9e0d5a79..9aeb6be9c2 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -11,7 +11,6 @@ "about.not_available": "Denne informasjonen er ikke gjort tilgjengelig på denne tjeneren.", "about.powered_by": "Desentraliserte sosiale medier drevet av {mastodon}", "about.rules": "Regler for serveren", - "account.account_note_header": "Notat", "account.add_or_remove_from_list": "Legg til eller fjern fra lister", "account.badges.bot": "Automatisert", "account.badges.group": "Gruppe", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 00701cbdf9..382b7b127d 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -8,7 +8,6 @@ "about.not_available": "Aquesta informacion foguèt pas renduda disponibla sus aqueste servidor.", "about.powered_by": "Malhum social descentralizat propulsat per {mastodon}", "about.rules": "Règlas del servidor", - "account.account_note_header": "Nòta", "account.add_or_remove_from_list": "Ajustar o tirar de las listas", "account.badges.bot": "Robòt", "account.badges.group": "Grop", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index feca55fad4..83ded408ec 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -4,7 +4,6 @@ "about.domain_blocks.silenced.title": "ਸੀਮਿਤ", "about.domain_blocks.suspended.title": "ਮੁਅੱਤਲ ਕੀਤੀ", "about.rules": "ਸਰਵਰ ਨਿਯਮ", - "account.account_note_header": "ਨੋਟ", "account.add_or_remove_from_list": "ਸੂਚੀ ਵਿੱਚ ਜੋੜੋ ਜਾਂ ਹਟਾਓ", "account.badges.bot": "ਆਟੋਮੇਟ ਕੀਤਾ", "account.badges.group": "ਗਰੁੱਪ", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 2136d3fa82..05f4511b57 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -11,7 +11,7 @@ "about.not_available": "Ta informacja nie została udostępniona na tym serwerze.", "about.powered_by": "Zdecentralizowane media społecznościowe napędzane przez {mastodon}", "about.rules": "Regulamin serwera", - "account.account_note_header": "Notatka", + "account.account_note_header": "Twoja notatka", "account.add_or_remove_from_list": "Dodaj lub usuń z list", "account.badges.bot": "Bot", "account.badges.group": "Grupa", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 3f831dba25..6ebb771002 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -11,7 +11,6 @@ "about.not_available": "Esta informação não foi disponibilizada neste servidor.", "about.powered_by": "Redes sociais descentralizadas alimentadas por {mastodon}", "about.rules": "Regras do servidor", - "account.account_note_header": "Nota", "account.add_or_remove_from_list": "Adicionar ou remover de listas", "account.badges.bot": "Robô", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index a4340f95d5..8e67900ae0 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -11,7 +11,7 @@ "about.not_available": "Esta informação não foi disponibilizada neste servidor.", "about.powered_by": "Rede social descentralizada baseada no {mastodon}", "about.rules": "Regras do servidor", - "account.account_note_header": "Nota", + "account.account_note_header": "Nota pessoal", "account.add_or_remove_from_list": "Adicionar ou remover das listas", "account.badges.bot": "Robô", "account.badges.group": "Grupo", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index c4d0535020..36e5565fdf 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -11,7 +11,6 @@ "about.not_available": "Această informație nu a fost pusă la dispoziție pe acest server.", "about.powered_by": "Media socială descentralizată furnizată de {mastodon}", "about.rules": "Reguli server", - "account.account_note_header": "Notă", "account.add_or_remove_from_list": "Adaugă sau elimină din liste", "account.badges.bot": "Robot", "account.badges.group": "Grup", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 61395c17ab..bff2fe4e7b 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -11,7 +11,6 @@ "about.not_available": "Эта информация не указана на данном сервере.", "about.powered_by": "Децентрализованная социальная сеть на базе {mastodon}", "about.rules": "Правила сервера", - "account.account_note_header": "Заметка", "account.add_or_remove_from_list": "Управление списками", "account.badges.bot": "Бот", "account.badges.group": "Группа", diff --git a/app/javascript/mastodon/locales/ry.json b/app/javascript/mastodon/locales/ry.json index cbd9e3d928..a53394dc5a 100644 --- a/app/javascript/mastodon/locales/ry.json +++ b/app/javascript/mastodon/locales/ry.json @@ -11,7 +11,6 @@ "about.not_available": "Ися інформація не была доступна на сюм сервері.", "about.powered_by": "Децентралізована медіа основана на {mastodon}", "about.rules": "Правила сервера", - "account.account_note_header": "Примітка", "account.add_or_remove_from_list": "Дати авадь забрати из исписа", "account.badges.bot": "Автоматічно", "account.badges.group": "Ґрупа", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index ea18ba2091..e230156615 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -11,7 +11,6 @@ "about.not_available": "अस्मिन्सर्वरि अस्यास्सूचनायाः उपलभ्यो न कृतः।", "about.powered_by": "अकेन्द्रीयितसामाजिकजालकर्म {mastodon} द्वारा आधारितम्", "about.rules": "सर्वरो नियमाः", - "account.account_note_header": "टीका", "account.add_or_remove_from_list": "युज्यतां / नश्यतां सूच्याः", "account.badges.bot": "यन्त्रम्", "account.badges.group": "समूहः", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 050e1e6fae..6be1cd41fa 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -11,7 +11,6 @@ "about.not_available": "Custa informatzione no est istada posta a disponimentu in custu serbidore.", "about.powered_by": "Rete sotziale detzentralizada impulsada dae {mastodon}", "about.rules": "Règulas de su serbidore", - "account.account_note_header": "Nota", "account.add_or_remove_from_list": "Agiunghe o boga dae is listas", "account.badges.bot": "Automatizadu", "account.badges.group": "Grupu", diff --git a/app/javascript/mastodon/locales/sco.json b/app/javascript/mastodon/locales/sco.json index 99f474ace5..54f1d9fe15 100644 --- a/app/javascript/mastodon/locales/sco.json +++ b/app/javascript/mastodon/locales/sco.json @@ -11,7 +11,6 @@ "about.not_available": "This information haesnae been made available on this server.", "about.powered_by": "Decentralised social media pooert bi {mastodon}", "about.rules": "Server rules", - "account.account_note_header": "Note", "account.add_or_remove_from_list": "Add or Remuive frae lists", "account.badges.bot": "Bot", "account.badges.group": "Group", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index c4f82c4133..432b2dff8f 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -4,7 +4,6 @@ "about.disclaimer": "මාස්ටඩන් යනු නිදහස් විවෘත මූලාශ්‍ර මෘදුකාංගයකි. එය මාස්ටඩන් gGmbH හි වෙළඳ නාමයකි.", "about.domain_blocks.suspended.title": "අත්හිටුවා ඇත", "about.rules": "සේවාදායකයේ නීති", - "account.account_note_header": "සටහන", "account.add_or_remove_from_list": "ලැයිස්තු වලින් එකතු හෝ ඉවත් කරන්න", "account.badges.bot": "ස්වයංක්‍රියයි", "account.badges.group": "සමූහය", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 665c85dd41..9abeea62dc 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -11,7 +11,6 @@ "about.not_available": "Tieto informácie neboli sprístupnené na tomto serveri.", "about.powered_by": "Decentralizovaná sociálna sieť na základe technológie {mastodon}", "about.rules": "Pravidlá servera", - "account.account_note_header": "Poznámka", "account.add_or_remove_from_list": "Pridať alebo odobrať zo zoznamov", "account.badges.bot": "Bot", "account.badges.group": "Skupina", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 77bd899ad8..ad282fd60f 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -11,7 +11,7 @@ "about.not_available": "Ti podatki še niso na voljo na tem strežniku.", "about.powered_by": "Decentraliziran družabni medij, ki ga poganja {mastodon}", "about.rules": "Pravila strežnika", - "account.account_note_header": "Opombe", + "account.account_note_header": "Zasebna opomba", "account.add_or_remove_from_list": "Dodaj ali odstrani s seznamov", "account.badges.bot": "Robot", "account.badges.group": "Skupina", @@ -171,21 +171,28 @@ "confirmations.block.confirm": "Blokiraj", "confirmations.delete.confirm": "Izbriši", "confirmations.delete.message": "Ali ste prepričani, da želite izbrisati to objavo?", + "confirmations.delete.title": "Želite izbrisati objavo?", "confirmations.delete_list.confirm": "Izbriši", "confirmations.delete_list.message": "Ali ste prepričani, da želite trajno izbrisati ta seznam?", + "confirmations.delete_list.title": "Želite izbrisati seznam?", "confirmations.discard_edit_media.confirm": "Opusti", "confirmations.discard_edit_media.message": "Imate ne shranjene spremembe za medijski opis ali predogled; jih želite kljub temu opustiti?", "confirmations.edit.confirm": "Uredi", "confirmations.edit.message": "Urejanje bo prepisalo sporočilo, ki ga trenutno sestavljate. Ali ste prepričani, da želite nadaljevati?", + "confirmations.edit.title": "Želite prepisati objavo?", "confirmations.logout.confirm": "Odjava", "confirmations.logout.message": "Ali ste prepričani, da se želite odjaviti?", + "confirmations.logout.title": "Se želite odjaviti?", "confirmations.mute.confirm": "Utišanje", "confirmations.redraft.confirm": "Izbriši in preoblikuj", "confirmations.redraft.message": "Ali ste prepričani, da želite izbrisati ta status in ga preoblikovati? Vzljubi in izpostavitve bodo izgubljeni, odgovori na izvirno objavo pa bodo osiroteli.", + "confirmations.redraft.title": "Želite izbrisati in predelati objavo?", "confirmations.reply.confirm": "Odgovori", "confirmations.reply.message": "Odgovarjanje bo prepisalo sporočilo, ki ga trenutno sestavljate. Ali ste prepričani, da želite nadaljevati?", + "confirmations.reply.title": "Želite prepisati objavo?", "confirmations.unfollow.confirm": "Ne sledi več", "confirmations.unfollow.message": "Ali ste prepričani, da ne želite več slediti {name}?", + "confirmations.unfollow.title": "Želite nehati spremljati uporabnika?", "conversation.delete": "Izbriši pogovor", "conversation.mark_as_read": "Označi kot prebrano", "conversation.open": "Pokaži pogovor", @@ -497,10 +504,12 @@ "notification.update": "{name} je uredil(a) objavo", "notification_requests.accept": "Sprejmi", "notification_requests.dismiss": "Zavrni", + "notification_requests.maximize": "Maksimiraj", "notification_requests.notifications_from": "Obvestila od {name}", "notification_requests.title": "Filtrirana obvestila", "notifications.clear": "Počisti obvestila", "notifications.clear_confirmation": "Ali ste prepričani, da želite trajno izbrisati vsa svoja obvestila?", + "notifications.clear_title": "Želite počistiti obvestila?", "notifications.column_settings.admin.report": "Nove prijave:", "notifications.column_settings.admin.sign_up": "Novi vpisi:", "notifications.column_settings.alert": "Namizna obvestila", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index e7b79c08bb..af44c70247 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -11,7 +11,7 @@ "about.not_available": "Ky informacion, në këtë shërbyes, nuk jepet.", "about.powered_by": "Media shoqërore e decentralizuar, bazuar në {mastodon}", "about.rules": "Rregulla shërbyesi", - "account.account_note_header": "Shënim", + "account.account_note_header": "Shënim personal", "account.add_or_remove_from_list": "Shtoni ose Hiqni prej listash", "account.badges.bot": "Robot", "account.badges.group": "Grup", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index a58376af04..d0636614e8 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -11,7 +11,6 @@ "about.not_available": "Ove informacije nisu dostupne na ovom serveru.", "about.powered_by": "Decentralizovana društvena mreža koju pokreće {mastodon}", "about.rules": "Pravila servera", - "account.account_note_header": "Napomena", "account.add_or_remove_from_list": "Dodaj ili ukloni sa lista", "account.badges.bot": "Automatizovano", "account.badges.group": "Grupa", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index 2c9948299d..c41cda123a 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -11,7 +11,6 @@ "about.not_available": "Ове информације нису доступне на овом серверу.", "about.powered_by": "Децентрализована друштвена мрежа коју покреће {mastodon}", "about.rules": "Правила сервера", - "account.account_note_header": "Напомена", "account.add_or_remove_from_list": "Додај или уклони са листа", "account.badges.bot": "Аутоматизовано", "account.badges.group": "Група", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index b3f70cf2ed..a88502500d 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -11,7 +11,7 @@ "about.not_available": "Denna information har inte gjorts tillgänglig på denna server.", "about.powered_by": "En decentraliserad plattform for sociala medier, drivet av {mastodon}", "about.rules": "Serverregler", - "account.account_note_header": "Anteckning", + "account.account_note_header": "Personlig anteckning", "account.add_or_remove_from_list": "Lägg till i eller ta bort från listor", "account.badges.bot": "Bot", "account.badges.group": "Grupp", diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json index 34d086eb48..269e3b06b5 100644 --- a/app/javascript/mastodon/locales/szl.json +++ b/app/javascript/mastodon/locales/szl.json @@ -10,7 +10,6 @@ "about.domain_blocks.suspended.title": "Zawiyszōne", "about.not_available": "Ta informacyjŏ niy bōła udostympniōna na tym serwerze.", "about.rules": "Zasady serwera", - "account.account_note_header": "Notatka", "account.badges.bot": "Bot", "account.badges.group": "Grupa", "account.block": "Zablokuj @{name}", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index ef3255a7da..402d34b9fd 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -4,7 +4,6 @@ "about.disclaimer": "மாஸ்டோடன் இலவச, திறந்த மூல மென்பொருள் மற்றும் மாஸ்டோடன் gGmbH இன் வர்த்தக முத்திரை.", "about.domain_blocks.no_reason_available": "காரணம் கிடைக்கவில்லை", "about.domain_blocks.preamble": "மாஸ்டோடன் பொதுவாக நீங்கள் ஃபெடிவர்ஸில் உள்ள வேறு எந்தச் சர்வரிலிருந்தும் உள்ளடக்கத்தைப் பார்க்கவும், பயனர்களுடன் தொடர்பு கொள்ளவும் அனுமதிக்கிறது. இந்தக் குறிப்பிட்ட சர்வரில் செய்யப்பட்ட விதிவிலக்குகள் இவை.", - "account.account_note_header": "குறிப்பு", "account.add_or_remove_from_list": "பட்டியல்களில் சேர்/நீக்கு", "account.badges.bot": "பாட்", "account.badges.group": "குழு", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index b4d259f174..a6df1cc976 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -11,7 +11,6 @@ "about.not_available": "ไม่ได้ทำให้ข้อมูลนี้พร้อมใช้งานในเซิร์ฟเวอร์นี้", "about.powered_by": "สื่อสังคมแบบกระจายศูนย์ที่ขับเคลื่อนโดย {mastodon}", "about.rules": "กฎของเซิร์ฟเวอร์", - "account.account_note_header": "หมายเหตุ", "account.add_or_remove_from_list": "เพิ่มหรือเอาออกจากรายการ", "account.badges.bot": "อัตโนมัติ", "account.badges.group": "กลุ่ม", diff --git a/app/javascript/mastodon/locales/tok.json b/app/javascript/mastodon/locales/tok.json index cf76b31f92..03ad31a728 100644 --- a/app/javascript/mastodon/locales/tok.json +++ b/app/javascript/mastodon/locales/tok.json @@ -8,7 +8,6 @@ "about.domain_blocks.suspended.title": "weka", "about.not_available": "lon kulupu ni la sina ken alasa ala e sona ni.", "about.rules": "lawa kulupu", - "account.account_note_header": "sona awen", "account.add_or_remove_from_list": "o ante e lipu jan", "account.badges.bot": "ilo nanpa li lawa e ni", "account.badges.group": "kulupu", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 198ee75eb8..cc9fd78c0a 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -11,7 +11,7 @@ "about.not_available": "Bu sunucuda bu bilgi kullanıma sunulmadı.", "about.powered_by": "{mastodon} destekli merkeziyetsiz sosyal ağ", "about.rules": "Sunucu kuralları", - "account.account_note_header": "Not", + "account.account_note_header": "Kişisel not", "account.add_or_remove_from_list": "Listelere ekle veya kaldır", "account.badges.bot": "Bot", "account.badges.group": "Grup", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index 1c150c99c6..0f95b904eb 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -11,7 +11,6 @@ "about.not_available": "Бу серверда бу мәгълүмат юк иде.", "about.powered_by": "{mastodon} нигезендә үзәкчелеге бетерелгән социаль челтәр нигезендә", "about.rules": "Сервер кагыйдәләре", - "account.account_note_header": "Язма", "account.add_or_remove_from_list": "Исемлеккә кушу яки бетерү", "account.badges.bot": "Бот", "account.badges.group": "Төркем", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index a1c674caa1..9e9d59f087 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -11,7 +11,7 @@ "about.not_available": "Ця інформація не доступна на цьому сервері.", "about.powered_by": "Децентралізовані соціальні мережі від {mastodon}", "about.rules": "Правила сервера", - "account.account_note_header": "Примітка", + "account.account_note_header": "Особиста нотатка", "account.add_or_remove_from_list": "Додати або видалити зі списків", "account.badges.bot": "Бот", "account.badges.group": "Група", diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json index d82e52ae50..8b38783953 100644 --- a/app/javascript/mastodon/locales/ur.json +++ b/app/javascript/mastodon/locales/ur.json @@ -6,7 +6,6 @@ "about.domain_blocks.silenced.title": "محدود", "about.domain_blocks.suspended.title": "معطل شدہ", "about.rules": "سرور کے اصول", - "account.account_note_header": "نوٹ", "account.add_or_remove_from_list": "فہرست میں شامل یا برطرف کریں", "account.badges.bot": "روبوٹ", "account.badges.group": "گروپ", diff --git a/app/javascript/mastodon/locales/uz.json b/app/javascript/mastodon/locales/uz.json index d0bcb90924..534ba74ef7 100644 --- a/app/javascript/mastodon/locales/uz.json +++ b/app/javascript/mastodon/locales/uz.json @@ -11,7 +11,6 @@ "about.not_available": "Ushbu ma'lumot ushbu serverda mavjud emas.", "about.powered_by": "{mastodon} tomonidan boshqariladigan markazlashtirilmagan ijtimoiy media", "about.rules": "Server qoidalari", - "account.account_note_header": "Eslatma", "account.add_or_remove_from_list": "Roʻyxatlarga qoʻshish yoki oʻchirish", "account.badges.bot": "Bo't", "account.badges.group": "Guruhlar", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 0f5eeebd07..197969aa6a 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -11,7 +11,7 @@ "about.not_available": "Máy chủ này chưa cung cấp thông tin.", "about.powered_by": "Mạng xã hội liên hợp {mastodon}", "about.rules": "Nội quy máy chủ", - "account.account_note_header": "Ghi chú", + "account.account_note_header": "Ghi chú cá nhân", "account.add_or_remove_from_list": "Sửa danh sách", "account.badges.bot": "Bot", "account.badges.group": "Nhóm", diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index b42bb7589c..2e09642af9 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -1,5 +1,4 @@ { - "account.account_note_header": "ⵍⵎⴷ ⵓⴳⴳⴰⵔ", "account.add_or_remove_from_list": "ⵔⵏⵓ ⵏⵖ ⵙⵉⵜⵜⵢ ⵙⴳ ⵜⵍⴳⴰⵎⵜ", "account.badges.bot": "ⴰⴱⵓⵜ", "account.badges.group": "ⵜⴰⵔⴰⴱⴱⵓⵜ", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 53fe9b9853..e0c11010a2 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -11,7 +11,7 @@ "about.not_available": "此信息在当前服务器尚不可用。", "about.powered_by": "由 {mastodon} 驱动的去中心化社交媒体", "about.rules": "站点规则", - "account.account_note_header": "备注", + "account.account_note_header": "个人备注", "account.add_or_remove_from_list": "从列表中添加或移除", "account.badges.bot": "机器人", "account.badges.group": "群组", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 389b5c4a3a..97feb9120d 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -11,7 +11,6 @@ "about.not_available": "本伺服器尚未提供這資訊。", "about.powered_by": "由 {mastodon} 提供之去中心化社交媒體", "about.rules": "伺服器規則", - "account.account_note_header": "備忘", "account.add_or_remove_from_list": "從列表中新增或移除", "account.badges.bot": "機械人", "account.badges.group": "群組", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 8be00b273a..9e2f783e6b 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -11,7 +11,7 @@ "about.not_available": "無法於本伺服器上使用此資訊。", "about.powered_by": "由 {mastodon} 提供的去中心化社群媒體", "about.rules": "伺服器規則", - "account.account_note_header": "備註", + "account.account_note_header": "個人備註", "account.add_or_remove_from_list": "自列表中新增或移除", "account.badges.bot": "機器人", "account.badges.group": "群組", diff --git a/app/javascript/mastodon/reducers/notification_groups.ts b/app/javascript/mastodon/reducers/notification_groups.ts index e59f3e7ca1..3a36023211 100644 --- a/app/javascript/mastodon/reducers/notification_groups.ts +++ b/app/javascript/mastodon/reducers/notification_groups.ts @@ -48,6 +48,7 @@ interface NotificationGroupsState { scrolledToTop: boolean; isLoading: boolean; lastReadId: string; + readMarkerId: string; mounted: number; isTabVisible: boolean; } @@ -58,7 +59,8 @@ const initialState: NotificationGroupsState = { scrolledToTop: false, isLoading: false, // The following properties are used to track unread notifications - lastReadId: '0', // used for unread notifications + lastReadId: '0', // used internally for unread notifications + readMarkerId: '0', // user-facing and updated when focus changes mounted: 0, // number of mounted notification list components, usually 0 or 1 isTabVisible: true, }; @@ -284,6 +286,12 @@ function updateLastReadId( } } +function commitLastReadId(state: NotificationGroupsState) { + if (shouldMarkNewNotificationsAsRead(state)) { + state.readMarkerId = state.lastReadId; + } +} + export const notificationGroupsReducer = createReducer( initialState, (builder) => { @@ -457,6 +465,7 @@ export const notificationGroupsReducer = createReducer( compareId(state.lastReadId, mostRecentGroup.page_max_id) < 0 ) state.lastReadId = mostRecentGroup.page_max_id; + commitLastReadId(state); }) .addCase(fetchMarkers.fulfilled, (state, action) => { if ( @@ -470,6 +479,7 @@ export const notificationGroupsReducer = createReducer( }) .addCase(mountNotifications, (state) => { state.mounted += 1; + commitLastReadId(state); updateLastReadId(state); }) .addCase(unmountNotifications, (state) => { @@ -477,6 +487,7 @@ export const notificationGroupsReducer = createReducer( }) .addCase(focusApp, (state) => { state.isTabVisible = true; + commitLastReadId(state); updateLastReadId(state); }) .addCase(unfocusApp, (state) => { diff --git a/app/javascript/mastodon/selectors/notifications.ts b/app/javascript/mastodon/selectors/notifications.ts index 1b1ed2154c..962dedd650 100644 --- a/app/javascript/mastodon/selectors/notifications.ts +++ b/app/javascript/mastodon/selectors/notifications.ts @@ -27,6 +27,22 @@ export const selectUnreadNotificationGroupsCount = createSelector( }, ); +// Whether there is any unread notification according to the user-facing state +export const selectAnyPendingNotification = createSelector( + [ + (s: RootState) => s.notificationGroups.readMarkerId, + (s: RootState) => s.notificationGroups.groups, + ], + (notificationMarker, groups) => { + return groups.some( + (group) => + group.type !== 'gap' && + group.page_max_id && + compareId(group.page_max_id, notificationMarker) > 0, + ); + }, +); + export const selectPendingNotificationGroupsCount = createSelector( [(s: RootState) => s.notificationGroups.pendingGroups], (pendingGroups) => diff --git a/app/models/notification_request.rb b/app/models/notification_request.rb index 2f601ac36b..f0778b3af3 100644 --- a/app/models/notification_request.rb +++ b/app/models/notification_request.rb @@ -47,6 +47,6 @@ class NotificationRequest < ApplicationRecord private def prepare_notifications_count - self.notifications_count = Notification.where(account: account, from_account: from_account, filtered: true).limit(MAX_MEANINGFUL_COUNT).count + self.notifications_count = Notification.where(account: account, from_account: from_account, type: :mention, filtered: true).limit(MAX_MEANINGFUL_COUNT).count end end diff --git a/app/services/dismiss_notification_request_service.rb b/app/services/dismiss_notification_request_service.rb new file mode 100644 index 0000000000..90b26d0bbf --- /dev/null +++ b/app/services/dismiss_notification_request_service.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class DismissNotificationRequestService < BaseService + def call(request) + FilteredNotificationCleanupWorker.perform_async(request.account_id, request.from_account_id) + request.destroy! + end +end diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index 23f92c816b..b0bef8cd65 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -48,7 +48,7 @@ class NotifyService < BaseService end def from_staff? - @sender.local? && @sender.user.present? && @sender.user_role&.overrides?(@recipient.user_role) + @sender.local? && @sender.user.present? && @sender.user_role&.overrides?(@recipient.user_role) && @sender.user_role&.highlighted? && @sender.user_role&.can?(*UserRole::Flags::CATEGORIES[:moderation]) end def from_self? diff --git a/app/workers/filtered_notification_cleanup_worker.rb b/app/workers/filtered_notification_cleanup_worker.rb new file mode 100644 index 0000000000..2b955da3c0 --- /dev/null +++ b/app/workers/filtered_notification_cleanup_worker.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class FilteredNotificationCleanupWorker + include Sidekiq::Worker + + def perform(account_id, from_account_id) + Notification.where(account_id: account_id, from_account_id: from_account_id, filtered: true).reorder(nil).in_batches(order: :desc).delete_all + end +end diff --git a/config/locales/devise.kab.yml b/config/locales/devise.kab.yml index 3fbc58c1f5..8f9e63c214 100644 --- a/config/locales/devise.kab.yml +++ b/config/locales/devise.kab.yml @@ -22,7 +22,7 @@ kab: action: Senqed tansa-inek imayl action_with_app: Sentem sakkin uɣal ɣer %{app} explanation: Aqla-k terniḍ amiḍan deg %{host} s tansa imayl-agi. Mazal-ak yiwen utekki akken ad t-tremdeḍ. Ma mačči d kečč i yessutren ay-agi, ttxil-k ssinef izen-a. - explanation_when_pending: Tsutreḍ-d ajerred deg %{host} s tansa-agi imayl. Ad nγeṛ asuter-ik ticki tsentmeḍ tansa-ik imayl. Send asentem, ur tezmireḍ ara ad teqqneḍ γer umiḍan-ik. Ma yella nugi asuter-ik, isefka-ik ad ttwakksen seg uqeddac, ihi ulac tigawt-nniḍen ara k-d-yettuqeblen. Ma mačči d kečč i yellan deffir n usuter-agi, ttxil-k ssinef izen-agi. + explanation_when_pending: Tsutreḍ-d ajerred deg %{host} s tansa-agi imayl. Ad nɣeṛ asuter-ik·im ticki tsentmeḍ tansa-inek·inem imayl. Send asentem, ur tezmireḍ ara ad teqqneḍ ɣer umiḍan-ik·im. Ma yella nugi asuter-ik·im, isefka-inek·inem ad ttwakksen seg uqeddac, ihi ulac tigawt-nniḍen ara k-d-yettuqeblen. Ma mačči d kečč· kemm i yellan deffir n usuter-agi, ttxil-k·m ssinef izen-agi. extra_html: Ttxil-k ẓer daγen ilugan n uqeddac akked twetlin n useqdec-nneγ. subject: 'Maṣṭudun: Asentem n ujerred deg uqeddac %{instance}' title: Senqed tansa-inek imayl diff --git a/config/locales/devise.lt.yml b/config/locales/devise.lt.yml index f27b68b708..7c72543574 100644 --- a/config/locales/devise.lt.yml +++ b/config/locales/devise.lt.yml @@ -15,7 +15,7 @@ lt: omniauth_user_creation_failure: Klaida kuriant šios tapatybės paskyrą. pending: Tavo paskyra vis dar peržiūrima. timeout: Tavo seansas baigėsi. Norėdamas (-a) tęsti, prisijunk dar kartą. - unauthenticated: Prieš tęsdamas (-a) turi prisijungti arba užsiregistruoti. + unauthenticated: Prieš tęsiant turi prisijungti arba užsiregistruoti. unconfirmed: Prieš tęsdamas (-a) turi patvirtinti savo el. pašto adresą. mailer: confirmation_instructions: diff --git a/config/locales/doorkeeper.cs.yml b/config/locales/doorkeeper.cs.yml index 3101779edf..1b98d0f88b 100644 --- a/config/locales/doorkeeper.cs.yml +++ b/config/locales/doorkeeper.cs.yml @@ -83,6 +83,7 @@ cs: access_denied: Vlastník zdroje či autorizační server žádost zamítl. credential_flow_not_configured: Proud Resource Owner Password Credentials selhal, protože Doorkeeper.configure.resource_owner_from_credentials nebylo nakonfigurováno. invalid_client: Ověření klienta selhalo kvůli neznámému klientovi, chybějící klientské autentizaci či nepodporované autentizační metodě. + invalid_code_challenge_method: Metoda code challenge musí být S256, plain není podporována. invalid_grant: Poskytnuté oprávnění je neplatné, vypršela jeho platnost, bylo odvoláno, neshoduje se s URI přesměrování použitým v požadavku o autorizaci, nebo bylo uděleno jinému klientu. invalid_redirect_uri: Zahrnutá přesměrovací URI není platná. invalid_request: diff --git a/config/locales/doorkeeper.gl.yml b/config/locales/doorkeeper.gl.yml index e86babd64c..2103e50ea1 100644 --- a/config/locales/doorkeeper.gl.yml +++ b/config/locales/doorkeeper.gl.yml @@ -83,6 +83,7 @@ gl: access_denied: O propietario do recurso ou o servidor autorizado denegaron a petición. credential_flow_not_configured: O fluxo do Contrasinal de Credenciais do Dono do Recurso fallou debido a que Doorkeeper.configure.resource_owner_from_credentials non están configuradas. invalid_client: A autenticación do cliente fallou por ser un cliente descoñecido, non se incluíu autenticación do cliente, ou o método de autenticación non está soportado. + invalid_code_challenge_method: O método de desafío para o código debe ser S256, texto claro non ten soporte. invalid_grant: A validación da autorización proporcionada non é valida, caducou, foi rexeitada, non coincide a redirección URI utilizada na petición de autorización, ou foi proporcionada para outro cliente. invalid_redirect_uri: A uri de redirección incluída non é válida. invalid_request: diff --git a/config/locales/doorkeeper.kab.yml b/config/locales/doorkeeper.kab.yml index d79c711e60..13d8d93258 100644 --- a/config/locales/doorkeeper.kab.yml +++ b/config/locales/doorkeeper.kab.yml @@ -84,7 +84,7 @@ kab: create: notice: Asnas yettwarna-d. destroy: - notice: Asnan yettwakkes. + notice: Yettwakkes wesnas-nni. update: notice: Asnan yettwalqem. authorized_applications: diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 28906f9dbf..9c20c1c14f 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -80,8 +80,8 @@ fi: joined: Liittynyt location: all: Kaikki - local: Paikalliset - remote: Etätilit + local: Paikallinen + remote: Etäinen title: Sijainti login_status: Sisäänkirjautumisen tila media_attachments: Medialiitteet @@ -89,12 +89,12 @@ fi: memorialized: Muutettu muistosivuksi memorialized_msg: Käyttäjän %{username} tili muutettiin muistosivuksi onnistuneesti moderation: - active: Aktiiviset + active: Aktiivinen all: Kaikki - disabled: Eivät käytössä - pending: Odottavat - silenced: Rajoitetut - suspended: Jäädytetyt + disabled: Ei käytössä + pending: Odottava + silenced: Rajoitettu + suspended: Jäädytetty title: Moderointi moderation_notes: Moderointimuistiinpanot most_recent_activity: Viimeisin toiminta @@ -341,7 +341,7 @@ fi: shortcode: Lyhennekoodi shortcode_hint: Vähintään 2 merkkiä, vain kirjaimia, numeroita ja alaviivoja title: Mukautetut emojit - uncategorized: Luokittelemattomat + uncategorized: Luokittelematon unlist: Poista listalta unlisted: Ei listalla update_failed_msg: Emojin päivitys epäonnistui @@ -467,7 +467,7 @@ fi: language: Kielelle status: Tila suppress: Hylkää seurantasuositus - suppressed: Hylätyt + suppressed: Hylätty title: Seurantasuositukset unsuppress: Palauta seurantasuositus instances: @@ -514,10 +514,10 @@ fi: delivery: all: Kaikki clear: Tyhjennä toimitusvirheet - failing: Epäonnistuneet + failing: Epäonnistuva restart: Käynnistä toimitus uudelleen stop: Lopeta toimitus - unavailable: Eivät saatavilla + unavailable: Ei saatavilla delivery_available: Toimitus on saatavilla delivery_error_days: Toimitusvirheen päivät delivery_error_hint: Jos toimitus ei ole mahdollista %{count} päivään, se merkitään automaattisesti toimituskelvottomaksi. @@ -528,7 +528,7 @@ fi: other: "%{count} tunnettua tiliä" moderation: all: Kaikki - limited: Rajoitetut + limited: Rajoitettu title: Moderointi private_comment: Yksityinen kommentti public_comment: Julkinen kommentti @@ -547,7 +547,7 @@ fi: filter: all: Kaikki available: Saatavilla - expired: Vanhentuneet + expired: Vanhentunut title: Suodatus title: Kutsut ip_blocks: @@ -643,7 +643,7 @@ fi: reported_account: Raportoitu tili reported_by: Raportoinut reported_with_application: Raportoitu sovelluksella - resolved: Ratkaistut + resolved: Ratkaistu resolved_msg: Raportin ratkaisu onnistui! skip_to_actions: Siirry toimiin status: Tila @@ -671,7 +671,7 @@ fi: title: Raportit unassign: Poista käsittelystä unknown_action_msg: 'Tuntematon toimi: %{action}' - unresolved: Ratkaisemattomat + unresolved: Ratkaisematon updated_at: Päivitetty view_profile: Näytä profiili roles: @@ -906,7 +906,7 @@ fi: title: Ylläpito trends: allow: Salli - approved: Hyväksytyt + approved: Hyväksytty disallow: Kiellä links: allow: Salli linkki @@ -923,14 +923,14 @@ fi: title: Suositut linkit usage_comparison: Jaettu tänään %{today} kertaa verrattuna eilisen %{yesterday} kertaan not_allowed_to_trend: Ei saa trendata - only_allowed: Vain sallitut + only_allowed: Vain sallittu pending_review: Odottaa tarkastusta preview_card_providers: allowed: Tämän julkaisijan lähettämät linkit voivat trendata description_html: Näistä verkkotunnuksista lähetettyjä linkkejä jaetaan usein palvelimellasi. Linkit eivät trendaa julkisesti, ellei linkin verkkotunnusta ole hyväksytty. Hyväksyntäsi (tai hylkäyksesi) ulottuu aliverkkotunnuksiin. rejected: Tämän julkaisijan lähettämät linkit eivät voi trendata title: Julkaisijat - rejected: Hylätyt + rejected: Hylätty statuses: allow: Salli julkaisu allow_account: Salli tekijä @@ -1591,8 +1591,8 @@ fi: followers: Seuraajat following: Seuratut invited: Kutsutut - last_active: Viimeksi aktiiviset - most_recent: Viimeisimmät + last_active: Viimeksi aktiivinen + most_recent: Tuorein moved: Muuttaneet mutual: Seuraatte toisianne primary: Ensisijaiset diff --git a/config/locales/gd.yml b/config/locales/gd.yml index b9f0260f52..017cc660e0 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -1011,7 +1011,7 @@ gd: webhooks: add_new: Cuir puing-dheiridh ris delete: Sguab às - description_html: Bheir webhook comas do Mhastodon gus brathan fìor-ama a phutadh dhan aplacaid agad fhèin mu na tachartasan a thagh thu ach an adhbharaich an aplacaid agad freagairtean gu fèin-obrachail. + description_html: Bheir webhook comas do Mhastodon gus brathan fìor-ama a phutadh dhan aplacaid agad fhèin mu na tachartasan a thagh thu ach an adhbharaich an aplacaid agad frith-ghnìomhan gu fèin-obrachail. disable: Cuir à comas disabled: À comas edit: Deasaich a’ phuing-dheiridh @@ -1627,7 +1627,7 @@ gd: title: Poileasaidh prìobhaideachd reactions: errors: - limit_reached: Ràinig thu crìoch nam freagairtean eadar-dhealaichte + limit_reached: Ràinig thu crìoch nam frith-ghnìomhan eadar-dhealaichte unrecognized_emoji: "– chan aithne dhuinn an Emoji seo" redirects: prompt: Ma tha earbsa agad sa cheangal seo, briog airson leantainn air adhart. diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 9d8e00cb7e..28a078bb3e 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -886,6 +886,9 @@ ia: pending_review: Attende revision title: Stato name: Nomine + newest: Le plus nove + oldest: Le plus ancian + reset: Reinitialisar review: Revide le stato search: Cercar title: Hashtags diff --git a/config/locales/kab.yml b/config/locales/kab.yml index d6295ec9ae..28f2368dd9 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -581,11 +581,13 @@ kab: strikes: status: 'Tasuffeɣt #%{id}' title_actions: + delete_statuses: Tukksa n tsuffeɣt none: Ɣur-wat edit_profile: basic_information: Talɣut tamatut hint_html: "Mudd udem i wayen ttwalin medden deg umaɣnu-inek azayez ɣer yidis n yiznan-ik. Imdanen niḍen zemren ad k-ḍefren yernu ad gen assaɣ yid-k mi ara tesɛuḍ amaɣnu yeccuṛen ed tugna n umaɣnu." errors: + '404': Asebter i tettnadiḍ ulac-it da. '500': title: Asebter-ayi d arameɣtu existing_username_validator: @@ -831,6 +833,7 @@ kab: public_long: Yal yiwen·t yezmer at iwali unlisted: War tabdert statuses_cleanup: + enabled: Tukksa n tsuffaɣ tiqburin s wudem awurman min_age: '1209600': 2 n yimalasen '15778476': 6 n wayyuren @@ -877,10 +880,16 @@ kab: apps_ios_action: Sader-it-id seg App Store apps_step: Zdem-d isnasen-nneɣ unṣiben. apps_title: Isnasen n Mastodon + edit_profile_action: Sagen + edit_profile_title: Sagen amaɣnu-inek·inem feature_action: Issin ugar follow_action: Ḍfeṛ + follows_subtitle: Ḍfer imiḍanen yettwassnen mliḥ follows_title: Anwa ara ḍefṛeḍ follows_view_more: Ssken-d ugar n medden ay tzemred ad tḍefred + hashtags_subtitle: Wali ayen ileḥḥun seg sin wussan-a iεeddan + hashtags_title: Ihacṭagen mucaɛen + hashtags_view_more: Sken-d ugar n yihacṭagen mucaɛen post_step: Ini-as azul i umaḍal s uḍris, s tiwlafin, s tividyutin neɣ s tefranin. post_title: Aru tasuffeɣt-inek·inem tamezwarut share_action: Bḍu diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 5e18751e09..ad9730aca7 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -445,6 +445,9 @@ lt: export_domain_blocks: import: description_html: Netrukus importuosi domenų blokavimų sąrašą. Labai atidžiai peržiūrėk šį sąrašą, ypač jei ne tu jį sudarei. + follow_recommendations: + language: Kalbui + status: Būsena instances: audit_log: title: Naujausi audito žurnalai @@ -457,6 +460,9 @@ lt: back_to_warning: Įspėjimas by_domain: Domenas content_policies: + policies: + reject_media: Atmesti mediją + reject_reports: Atmesti ataskaitas policy: Politika reason: Viešoji priežastis title: Turinio politika diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index d4d370ff5b..2fe08e698a 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -211,6 +211,7 @@ cs: setting_default_privacy: Soukromí příspěvků setting_default_sensitive: Vždy označovat média jako citlivá setting_delete_modal: Před smazáním příspěvku zobrazovat potvrzovací dialog + setting_disable_hover_cards: Zakázat náhled profilu při přejetí myší setting_disable_swiping: Vypnout gesta přejetí prsty setting_display_media: Zobrazování médií setting_display_media_default: Výchozí @@ -313,6 +314,7 @@ cs: listable: Povolit zobrazení tohoto hashtagu ve vyhledávání a návrzích name: Hashtag trendable: Povolit zobrazení tohoto hashtagu mezi populárními + usable: Povolit příspěvkům používat tento hashtag lokálně user: role: Role time_zone: Časové pásmo diff --git a/config/locales/simple_form.kab.yml b/config/locales/simple_form.kab.yml index b4c0e0032b..16f4bdd416 100644 --- a/config/locales/simple_form.kab.yml +++ b/config/locales/simple_form.kab.yml @@ -14,7 +14,7 @@ kab: send_email_notification: Amseqdac ad t-id-yewweḍ usefhem ɣef wayen yeḍran akked umiḍan-is type_html: Fren d acu ara txedmeḍ s %{acct} defaults: - autofollow: Imdanen ara ijerrden s usnebgi-inek, ad k-ḍefṛen s wudem awurman + autofollow: Imdanen ara ijerrden s usnebgi-inek·inem, ad k·m-ḍefṛen s wudem awurman bot: Smekti-d wiyaḍ dakken amiḍan-a ixeddem s wudem amezwer tigawin tiwurmanin yernu ur yezmir ara ad yettwaɛass email: Ad n-teṭṭfeḍ imayl i usentem irreversible: Tisuffaɣ i tessazedgeḍ ad ttwakksent i lebda, ula ma tekkseḍ imsizdeg-nni ar zdat diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml index b558a62fc8..bb16e56a0c 100644 --- a/config/locales/simple_form.sl.yml +++ b/config/locales/simple_form.sl.yml @@ -314,6 +314,7 @@ sl: listable: Dovoli, da se ta ključnik pojavi v iskanjih in predlogih name: Ključnik trendable: Dovoli, da se ta ključnik pojavi med trendi + usable: Dovoli, da objave krajevno uporabljajo ta ključnik user: role: Vloga time_zone: Časovni pas diff --git a/config/locales/sl.yml b/config/locales/sl.yml index f63aadd6c8..2915960554 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -910,7 +910,21 @@ sl: action: Preverite tukaj za več informacij message_html: "Vaša predmetna shramba je napačno nastavljena. Zasebnost vaših uporabnikov je izpostavljena tveganjem." tags: + moderation: + not_usable: Ni uporabno + pending_review: Čakajoče na pregled + review_requested: Zahtevan pregled + reviewed: Pregledano + title: Stanje + unreviewed: Nepregledano + usable: Uporabno + name: Ime + newest: Najnovejše + oldest: Najstarejše + reset: Ponastavi review: Stanje pregleda + search: Išči + title: Ključniki updated_msg: Nastavitve ključnikov uspešno posodobljene title: Upravljanje trends: diff --git a/spec/models/notification_policy_spec.rb b/spec/models/notification_policy_spec.rb index cfd8e85eda..02a582bb08 100644 --- a/spec/models/notification_policy_spec.rb +++ b/spec/models/notification_policy_spec.rb @@ -9,7 +9,7 @@ RSpec.describe NotificationPolicy do let(:sender) { Fabricate(:account) } before do - Fabricate.times(2, :notification, account: subject.account, activity: Fabricate(:status, account: sender), filtered: true) + Fabricate.times(2, :notification, account: subject.account, activity: Fabricate(:status, account: sender), filtered: true, type: :mention) Fabricate(:notification_request, account: subject.account, from_account: sender) subject.summarize! end diff --git a/spec/models/notification_request_spec.rb b/spec/models/notification_request_spec.rb index 4adddc194f..9884132ca7 100644 --- a/spec/models/notification_request_spec.rb +++ b/spec/models/notification_request_spec.rb @@ -8,7 +8,7 @@ RSpec.describe NotificationRequest do context 'when there are remaining notifications' do before do - Fabricate(:notification, account: subject.account, activity: Fabricate(:status, account: subject.from_account), filtered: true) + Fabricate(:notification, account: subject.account, activity: Fabricate(:status, account: subject.from_account), filtered: true, type: :mention) subject.reconsider_existence! end diff --git a/spec/services/dismiss_notification_request_service_spec.rb b/spec/services/dismiss_notification_request_service_spec.rb new file mode 100644 index 0000000000..590725c871 --- /dev/null +++ b/spec/services/dismiss_notification_request_service_spec.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe DismissNotificationRequestService do + describe '#call' do + let(:sender) { Fabricate(:account) } + let(:receiver) { Fabricate(:account) } + let(:request) { Fabricate(:notification_request, account: receiver, from_account: sender) } + + it 'destroys the request and queues a worker', :aggregate_failures do + expect { described_class.new.call(request) } + .to change(request, :destroyed?).to(true) + + expect(FilteredNotificationCleanupWorker) + .to have_enqueued_sidekiq_job(receiver.id, sender.id) + end + end +end diff --git a/spec/services/notify_service_spec.rb b/spec/services/notify_service_spec.rb index c7e00129b2..d64cfe5907 100644 --- a/spec/services/notify_service_spec.rb +++ b/spec/services/notify_service_spec.rb @@ -129,6 +129,40 @@ RSpec.describe NotifyService do end end + context 'when the blocked sender has a role' do + let(:sender) { Fabricate(:user, role: sender_role).account } + let(:activity) { Fabricate(:mention, status: Fabricate(:status, account: sender)) } + let(:type) { :mention } + + before do + recipient.block!(sender) + end + + context 'when the role is a visible moderator' do + let(:sender_role) { Fabricate(:user_role, highlighted: true, permissions: UserRole::FLAGS[:manage_users]) } + + it 'does notify' do + expect { subject }.to change(Notification, :count) + end + end + + context 'when the role is a non-visible moderator' do + let(:sender_role) { Fabricate(:user_role, highlighted: false, permissions: UserRole::FLAGS[:manage_users]) } + + it 'does not notify' do + expect { subject }.to_not change(Notification, :count) + end + end + + context 'when the role is a visible non-moderator' do + let(:sender_role) { Fabricate(:user_role, highlighted: true) } + + it 'does not notify' do + expect { subject }.to_not change(Notification, :count) + end + end + end + context 'with filtered notifications' do let(:unknown) { Fabricate(:account, username: 'unknown') } let(:status) { Fabricate(:status, account: unknown) } diff --git a/spec/workers/filtered_notification_cleanup_worker_spec.rb b/spec/workers/filtered_notification_cleanup_worker_spec.rb new file mode 100644 index 0000000000..2636b70ad4 --- /dev/null +++ b/spec/workers/filtered_notification_cleanup_worker_spec.rb @@ -0,0 +1,24 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe FilteredNotificationCleanupWorker do + describe '#perform' do + let(:sender) { Fabricate(:account) } + let(:recipient) { Fabricate(:account) } + let(:bystander) { Fabricate(:account) } + + before do + Fabricate(:notification, account: recipient, activity: Fabricate(:favourite, account: sender), filtered: true) + Fabricate(:notification, account: recipient, activity: Fabricate(:favourite, account: bystander), filtered: true) + Fabricate(:notification, account: recipient, activity: Fabricate(:follow, account: sender), filtered: true) + Fabricate(:notification, account: recipient, activity: Fabricate(:favourite, account: bystander), filtered: true) + end + + it 'deletes all filtered notifications to the account' do + expect { described_class.new.perform(recipient.id, sender.id) } + .to change { recipient.notifications.where(from_account: sender).count }.from(2).to(0) + .and(not_change { recipient.notifications.where(from_account: bystander).count }) + end + end +end