diff --git a/CHANGELOG_glitch.md b/CHANGELOG_glitch.md index 7c3d96ba4a..d47c9bc168 100644 --- a/CHANGELOG_glitch.md +++ b/CHANGELOG_glitch.md @@ -2,6 +2,39 @@ All notable changes to this project will be documented in this file. +## |4.2.11] - 2024-08-16 + +### Added + +- Add support for incoming `` tag ([mediaformat](https://github.com/mastodon/mastodon/pull/31375)) + +### Changed + +- Change logic of block/mute bypass for mentions from moderators to only apply to visible roles with moderation powers ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31271)) + +### Fixed + +- Fix incorrect rate limit on PUT requests ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31356)) +- Fix presence of `ß` in adjacent word preventing mention and hashtag matching ([adamniedzielski](https://github.com/mastodon/mastodon/pull/31122)) +- Fix processing of webfinger responses with multiple `self` links ([adamniedzielski](https://github.com/mastodon/mastodon/pull/31110)) +- Fix duplicate `orderedItems` in user archive's `outbox.json` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31099)) +- Fix click event handling when clicking outside of an open dropdown menu ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31251)) +- Fix status processing failing halfway when a remote post has a malformed `replies` attribute ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/31246)) +- Fix `--verbose` option of `tootctl media remove`, which was previously erroneously removed ([mjankowski](https://github.com/mastodon/mastodon/pull/30536)) +- Fix division by zero on some video/GIF files ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30600)) +- Fix Web UI trying to save user settings despite being logged out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30324)) +- Fix hashtag regexp matching some link anchors ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/30190)) +- Fix local account search on LDAP login being case-sensitive ([raucao](https://github.com/mastodon/mastodon/pull/30113)) +- Fix development environment admin account not being auto-approved ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29958)) +- Fix report reason selector in moderation interface not unselecting rules when changing category ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29026)) +- Fix already-invalid reports failing to resolve ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/29027)) +- Fix OCR when using S3/CDN for assets ([vmstan](https://github.com/mastodon/mastodon/pull/28551)) +- Fix error when encountering malformed `Tag` objects from Kbin ([ShadowJonathan](https://github.com/mastodon/mastodon/pull/28235)) +- Fix not all allowed image formats showing in file picker when uploading custom emoji ([june128](https://github.com/mastodon/mastodon/pull/28076)) +- Fix search popout listing unusable search options when logged out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/27918)) +- Fix processing of featured collections lacking an `items` attribute ([tribela](https://github.com/mastodon/mastodon/pull/27581)) +- Fix `mastodon:stats` decoration of stats rake task ([mjankowski](https://github.com/mastodon/mastodon/pull/31104)) + ## [4.2.10] - 2024-07-04 ### Security diff --git a/Gemfile b/Gemfile index cf930dadb6..5b82fa98dd 100644 --- a/Gemfile +++ b/Gemfile @@ -112,7 +112,7 @@ group :opentelemetry do gem 'opentelemetry-instrumentation-http', '~> 0.23.2', require: false gem 'opentelemetry-instrumentation-http_client', '~> 0.22.3', require: false gem 'opentelemetry-instrumentation-net_http', '~> 0.22.4', require: false - gem 'opentelemetry-instrumentation-pg', '~> 0.27.1', require: false + gem 'opentelemetry-instrumentation-pg', '~> 0.28.0', require: false gem 'opentelemetry-instrumentation-rack', '~> 0.24.1', require: false gem 'opentelemetry-instrumentation-rails', '~> 0.31.0', require: false gem 'opentelemetry-instrumentation-redis', '~> 0.25.3', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 2a3a2b3893..61bdb1d39c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,16 +100,16 @@ GEM attr_required (1.0.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.961.0) - aws-sdk-core (3.201.3) + aws-partitions (1.964.0) + aws-sdk-core (3.201.5) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.8) + aws-sigv4 (~> 1.9) jmespath (~> 1, >= 1.6.1) aws-sdk-kms (1.88.0) aws-sdk-core (~> 3, >= 3.201.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.157.0) + aws-sdk-s3 (1.158.0) aws-sdk-core (~> 3, >= 3.201.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) @@ -551,7 +551,7 @@ GEM opentelemetry-instrumentation-net_http (0.22.7) opentelemetry-api (~> 1.0) opentelemetry-instrumentation-base (~> 0.22.1) - opentelemetry-instrumentation-pg (0.27.4) + opentelemetry-instrumentation-pg (0.28.0) opentelemetry-api (~> 1.0) opentelemetry-helpers-sql-obfuscation opentelemetry-instrumentation-base (~> 0.22.1) @@ -723,7 +723,7 @@ GEM rspec-mocks (3.13.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.3) + rspec-rails (6.1.4) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) @@ -779,7 +779,7 @@ GEM fugit (~> 1.1, >= 1.1.6) safety_net_attestation (0.4.0) jwt (~> 2.0) - sanitize (6.1.2) + sanitize (6.1.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) scenic (1.8.0) @@ -838,7 +838,7 @@ GEM unicode-display_width (>= 1.1.1, < 3) terrapin (1.0.1) climate_control - test-prof (1.3.3.1) + test-prof (1.4.0) thor (1.3.1) tilt (2.3.0) timeout (0.4.1) @@ -997,7 +997,7 @@ DEPENDENCIES opentelemetry-instrumentation-http (~> 0.23.2) opentelemetry-instrumentation-http_client (~> 0.22.3) opentelemetry-instrumentation-net_http (~> 0.22.4) - opentelemetry-instrumentation-pg (~> 0.27.1) + opentelemetry-instrumentation-pg (~> 0.28.0) opentelemetry-instrumentation-rack (~> 0.24.1) opentelemetry-instrumentation-rails (~> 0.31.0) opentelemetry-instrumentation-redis (~> 0.25.3) diff --git a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow.tsx b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow.tsx index 92d28dccbd..3bb3708255 100644 --- a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow.tsx +++ b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow.tsx @@ -1,7 +1,11 @@ import { FormattedMessage } from 'react-intl'; import PersonAddIcon from '@/material-icons/400-24px/person_add-fill.svg?react'; +import { FollowersCounter } from 'flavours/glitch/components/counters'; +import { FollowButton } from 'flavours/glitch/components/follow_button'; +import { ShortNumber } from 'flavours/glitch/components/short_number'; import type { NotificationGroupFollow } from 'flavours/glitch/models/notification_group'; +import { useAppSelector } from 'flavours/glitch/store'; import type { LabelRenderer } from './notification_group_with_status'; import { NotificationGroupWithStatus } from './notification_group_with_status'; @@ -14,18 +18,45 @@ const labelRenderer: LabelRenderer = (values) => ( /> ); +const FollowerCount: React.FC<{ accountId: string }> = ({ accountId }) => { + const account = useAppSelector((s) => s.accounts.get(accountId)); + + if (!account) return null; + + return ( + + ); +}; + export const NotificationFollow: React.FC<{ notification: NotificationGroupFollow; unread: boolean; -}> = ({ notification, unread }) => ( - -); +}> = ({ notification, unread }) => { + let actions: JSX.Element | undefined; + let additionalContent: JSX.Element | undefined; + + if (notification.sampleAccountIds.length === 1) { + // only display those if the group contains 1 account, otherwise it does not makes sense + const account = notification.sampleAccountIds[0]; + + if (account) { + actions = ; + additionalContent = ; + } + } + + return ( + + ); +}; diff --git a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow_request.tsx b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow_request.tsx index eff233152d..02fe1329e6 100644 --- a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow_request.tsx +++ b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_follow_request.tsx @@ -46,7 +46,7 @@ export const NotificationFollowRequest: React.FC<{ }, [dispatch, notification.sampleAccountIds]); const actions = ( -
+ <> -
+ ); return ( diff --git a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group_with_status.tsx b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group_with_status.tsx index a7c1170d85..7dc498f244 100644 --- a/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group_with_status.tsx +++ b/app/javascript/flavours/glitch/features/notifications_v2/components/notification_group_with_status.tsx @@ -31,6 +31,7 @@ export const NotificationGroupWithStatus: React.FC<{ labelSeeMoreHref?: string; type: string; unread: boolean; + additionalContent?: JSX.Element; }> = ({ icon, iconId, @@ -43,6 +44,7 @@ export const NotificationGroupWithStatus: React.FC<{ labelSeeMoreHref, type, unread, + additionalContent, }) => { const dispatch = useAppDispatch(); @@ -92,7 +94,9 @@ export const NotificationGroupWithStatus: React.FC<{
- {actions} + {actions && ( +
{actions}
+ )}
@@ -106,6 +110,12 @@ export const NotificationGroupWithStatus: React.FC<{
)} + + {additionalContent && ( +
+ {additionalContent} +
+ )} diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index 00e9314b33..5600a99f67 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -11066,6 +11066,13 @@ noscript { gap: 8px; flex: 1 1 auto; overflow: hidden; + container-type: inline-size; + + @container (width < 350px) { + &__header time { + display: none; + } + } &__header { display: flex; @@ -11105,6 +11112,11 @@ noscript { border-radius: 8px; padding: 8px; } + + &__additional-content { + color: $darker-text-color; + margin-top: -8px; // to offset the parent's `gap` property + } } &__avatar-group { diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx index 0ed96ae636..3760096d44 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_follow.tsx @@ -1,7 +1,11 @@ import { FormattedMessage } from 'react-intl'; import PersonAddIcon from '@/material-icons/400-24px/person_add-fill.svg?react'; +import { FollowersCounter } from 'mastodon/components/counters'; +import { FollowButton } from 'mastodon/components/follow_button'; +import { ShortNumber } from 'mastodon/components/short_number'; import type { NotificationGroupFollow } from 'mastodon/models/notification_group'; +import { useAppSelector } from 'mastodon/store'; import type { LabelRenderer } from './notification_group_with_status'; import { NotificationGroupWithStatus } from './notification_group_with_status'; @@ -14,18 +18,45 @@ const labelRenderer: LabelRenderer = (values) => ( /> ); +const FollowerCount: React.FC<{ accountId: string }> = ({ accountId }) => { + const account = useAppSelector((s) => s.accounts.get(accountId)); + + if (!account) return null; + + return ( + + ); +}; + export const NotificationFollow: React.FC<{ notification: NotificationGroupFollow; unread: boolean; -}> = ({ notification, unread }) => ( - -); +}> = ({ notification, unread }) => { + let actions: JSX.Element | undefined; + let additionalContent: JSX.Element | undefined; + + if (notification.sampleAccountIds.length === 1) { + // only display those if the group contains 1 account, otherwise it does not makes sense + const account = notification.sampleAccountIds[0]; + + if (account) { + actions = ; + additionalContent = ; + } + } + + return ( + + ); +}; diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_follow_request.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_follow_request.tsx index 8c9837efa3..281bfd94af 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_follow_request.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_follow_request.tsx @@ -46,7 +46,7 @@ export const NotificationFollowRequest: React.FC<{ }, [dispatch, notification.sampleAccountIds]); const actions = ( -
+ <> -
+ ); return ( diff --git a/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx b/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx index 2af73c8362..8f555956e0 100644 --- a/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx +++ b/app/javascript/mastodon/features/notifications_v2/components/notification_group_with_status.tsx @@ -31,6 +31,7 @@ export const NotificationGroupWithStatus: React.FC<{ labelSeeMoreHref?: string; type: string; unread: boolean; + additionalContent?: JSX.Element; }> = ({ icon, iconId, @@ -43,6 +44,7 @@ export const NotificationGroupWithStatus: React.FC<{ labelSeeMoreHref, type, unread, + additionalContent, }) => { const dispatch = useAppDispatch(); @@ -92,7 +94,9 @@ export const NotificationGroupWithStatus: React.FC<{
- {actions} + {actions && ( +
{actions}
+ )}
@@ -106,6 +110,12 @@ export const NotificationGroupWithStatus: React.FC<{
)} + + {additionalContent && ( +
+ {additionalContent} +
+ )} diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index e7b3e7dacb..48448196be 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -11,6 +11,7 @@ "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": "فريق", @@ -176,9 +177,11 @@ "confirmations.edit.message": "التعديل في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد تحريرها. متأكد من أنك تريد المواصلة؟", "confirmations.logout.confirm": "خروج", "confirmations.logout.message": "متأكد من أنك تريد الخروج؟", + "confirmations.logout.title": "أتريد المغادرة؟", "confirmations.mute.confirm": "أكتم", "confirmations.redraft.confirm": "إزالة وإعادة الصياغة", "confirmations.redraft.message": "هل أنت متأكد من أنك تريد حذف هذا المنشور و إعادة صياغته؟ سوف تفقد جميع الإعجابات و الترقيات أما الردود المتصلة به فستُصبِح يتيمة.", + "confirmations.redraft.title": "أتريد حذف وإعادة صياغة المنشور؟", "confirmations.reply.confirm": "رد", "confirmations.reply.message": "الرد في الحين سوف يُعيد كتابة الرسالة التي أنت بصدد كتابتها. متأكد من أنك تريد المواصلة؟", "confirmations.unfollow.confirm": "إلغاء المتابعة", @@ -464,6 +467,11 @@ "notification.favourite": "أضاف {name} منشورك إلى مفضلته", "notification.follow": "يتابعك {name}", "notification.follow_request": "لقد طلب {name} متابعتك", + "notification.label.mention": "إشارة", + "notification.label.private_mention": "إشارة خاصة", + "notification.label.private_reply": "رد خاص", + "notification.label.reply": "ردّ", + "notification.mention": "إشارة", "notification.moderation-warning.learn_more": "اعرف المزيد", "notification.moderation_warning": "لقد تلقيت تحذيرًا بالإشراف", "notification.moderation_warning.action_delete_statuses": "تم إزالة بعض مشاركاتك.", @@ -474,6 +482,7 @@ "notification.moderation_warning.action_silence": "لقد تم تقييد حسابك.", "notification.moderation_warning.action_suspend": "لقد تم تعليق حسابك.", "notification.own_poll": "انتهى استطلاعك للرأي", + "notification.poll": "لقد انتهى استطلاع رأي صوتت فيه", "notification.reblog": "قام {name} بمشاركة منشورك", "notification.relationships_severance_event": "فقدت الاتصالات مع {name}", "notification.relationships_severance_event.account_suspension": "قام مشرف من {from} بتعليق {target}، مما يعني أنك لم يعد بإمكانك تلقي التحديثات منهم أو التفاعل معهم.", @@ -483,7 +492,13 @@ "notification.status": "{name} نشر للتو", "notification.update": "عدّلَ {name} منشورًا", "notification_requests.accept": "موافقة", + "notification_requests.accept_all": "قبول الكل", + "notification_requests.confirm_accept_all.button": "قبول الكل", + "notification_requests.confirm_dismiss_all.button": "تجاهل الكل", "notification_requests.dismiss": "تخطي", + "notification_requests.dismiss_all": "تجاهل الكل", + "notification_requests.enter_selection_mode": "اختر", + "notification_requests.exit_selection_mode": "إلغاء", "notification_requests.notifications_from": "إشعارات من {name}", "notification_requests.title": "الإشعارات المصفاة", "notifications.clear": "مسح الإشعارات", @@ -654,8 +669,11 @@ "report_notification.attached_statuses": "{count, plural, one {{count} منشور} other {{count} منشورات}} مرفقة", "report_notification.categories.legal": "أمور قانونية", "report_notification.categories.other": "آخر", + "report_notification.categories.other_sentence": "آخر", "report_notification.categories.spam": "مزعج", + "report_notification.categories.spam_sentence": "مزعج", "report_notification.categories.violation": "القاعدة المنتهَكة", + "report_notification.categories.violation_sentence": "انتهاك لقاعدة", "report_notification.open": "فتح التقرير", "search.no_recent_searches": "ما من عمليات بحث تمت مؤخرًا", "search.placeholder": "ابحث", @@ -760,6 +778,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} من الخوادم الأخرى لا يتم عرضها.", "timeline_hint.resources.followers": "المتابِعون", "timeline_hint.resources.follows": "المتابَعون", + "timeline_hint.resources.replies": "بعض الردود", "timeline_hint.resources.statuses": "المنشورات القديمة", "trends.counter_by_accounts": "{count, plural, one {شخص واحد} two {شخصان} few {{counter} أشخاصٍ} many {{counter} شخصًا} other {{counter} شخصًا}} {days, plural, one {خلال اليوم الماضي} two {خلال اليومَيْنِ الماضيَيْنِ} few {خلال {days} أيام الماضية} many {خلال {days} يومًا الماضية} other {خلال {days} يومٍ الماضية}}", "trends.trending_now": "المتداولة الآن", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 620c5e190a..2d49f172e6 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -356,7 +356,7 @@ "home.pending_critical_update.link": "Updates ansehen", "home.pending_critical_update.title": "Kritisches Sicherheitsupdate verfügbar!", "home.show_announcements": "Ankündigungen anzeigen", - "ignore_notifications_modal.disclaimer": "Mastodon kann anderen Nutzer*innen nicht mitteilen, dass du deren Benachrichtigungen ignorierst. Das Ignorieren von Benachrichtigung wird das Absenden der Nachricht selbst nicht unterbinden.", + "ignore_notifications_modal.disclaimer": "Mastodon kann anderen Nutzer*innen nicht mitteilen, dass du deren Benachrichtigungen ignorierst. Das Ignorieren von Benachrichtigungen wird nicht das Absenden der Nachricht selbst unterbinden.", "ignore_notifications_modal.filter_instead": "Stattdessen filtern", "ignore_notifications_modal.filter_to_act_users": "Du wirst weiterhin die Möglichkeit haben, andere Nutzer*innen zu genehmigen, abzulehnen oder zu melden", "ignore_notifications_modal.filter_to_avoid_confusion": "Filtern hilft, mögliches Durcheinander zu vermeiden", @@ -578,7 +578,7 @@ "notifications.policy.accept_hint": "In Benachrichtigungen anzeigen", "notifications.policy.drop": "Ignorieren", "notifications.policy.drop_hint": "In die Leere senden und nie wieder sehen", - "notifications.policy.filter": "Filter", + "notifications.policy.filter": "Filtern", "notifications.policy.filter_hint": "An gefilterte Benachrichtigungen im Posteingang senden", "notifications.policy.filter_limited_accounts_hint": "Durch Server-Moderator*innen eingeschränkt", "notifications.policy.filter_limited_accounts_title": "Moderierte Konten", @@ -586,7 +586,7 @@ "notifications.policy.filter_new_accounts_title": "Neuen Konten", "notifications.policy.filter_not_followers_hint": "Einschließlich Profilen, die dir seit weniger als {days, plural, one {einem Tag} other {# Tagen}} folgen", "notifications.policy.filter_not_followers_title": "Profilen, die mir nicht folgen", - "notifications.policy.filter_not_following_hint": "Solange du sie nicht manuell akzeptierst", + "notifications.policy.filter_not_following_hint": "Bis du sie manuell genehmigst", "notifications.policy.filter_not_following_title": "Profilen, denen ich nicht folge", "notifications.policy.filter_private_mentions_hint": "Solange sie keine Antwort auf deine Erwähnung ist oder du dem Profil nicht folgst", "notifications.policy.filter_private_mentions_title": "Unerwünschten privaten Erwähnungen", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index 64e22505b2..8315333994 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -11,6 +11,7 @@ "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": "Personal note", "account.add_or_remove_from_list": "Add or Remove from lists", "account.badges.bot": "Automated", "account.badges.group": "Group", @@ -170,21 +171,28 @@ "confirmations.block.confirm": "Block", "confirmations.delete.confirm": "Delete", "confirmations.delete.message": "Are you sure you want to delete this post?", + "confirmations.delete.title": "Delete post?", "confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", + "confirmations.delete_list.title": "Delete list?", "confirmations.discard_edit_media.confirm": "Discard", "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.edit.confirm": "Edit", "confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?", + "confirmations.edit.title": "Overwrite post?", "confirmations.logout.confirm": "Log out", "confirmations.logout.message": "Are you sure you want to log out?", + "confirmations.logout.title": "Log out?", "confirmations.mute.confirm": "Mute", "confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.message": "Are you sure you want to delete this post and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.", + "confirmations.redraft.title": "Delete & redraft post?", "confirmations.reply.confirm": "Reply", "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", + "confirmations.reply.title": "Overwrite post?", "confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", + "confirmations.unfollow.title": "Unfollow user?", "conversation.delete": "Delete conversation", "conversation.mark_as_read": "Mark as read", "conversation.open": "View conversation", @@ -292,6 +300,7 @@ "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.title": "Filter this post", "filter_modal.title.status": "Filter a post", + "filtered_notifications_banner.pending_requests": "From {count, plural, =0 {no one} one {one person} other {# people}} you may know", "filtered_notifications_banner.title": "Filtered notifications", "firehose.all": "All", "firehose.local": "This server", @@ -347,6 +356,16 @@ "home.pending_critical_update.link": "See updates", "home.pending_critical_update.title": "Critical security update available!", "home.show_announcements": "Show announcements", + "ignore_notifications_modal.disclaimer": "Mastodon cannot inform users that you've ignored their notifications. Ignoring notifications will not stop the messages themselves from being sent.", + "ignore_notifications_modal.filter_instead": "Filter instead", + "ignore_notifications_modal.filter_to_act_users": "You'll still be able to accept, reject, or report users", + "ignore_notifications_modal.filter_to_avoid_confusion": "Filtering helps avoid potential confusion", + "ignore_notifications_modal.filter_to_review_separately": "You can review filtered notifications separately", + "ignore_notifications_modal.ignore": "Ignore notifications", + "ignore_notifications_modal.limited_accounts_title": "Ignore notifications from restricted accounts?", + "ignore_notifications_modal.new_accounts_title": "Ignore notifications from new accounts?", + "ignore_notifications_modal.not_followers_title": "Ignore notifications from people not following you?", + "ignore_notifications_modal.not_following_title": "Ignore notifications from people you don't follow?", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", @@ -473,6 +492,11 @@ "notification.favourite": "{name} favourited your post", "notification.follow": "{name} followed you", "notification.follow_request": "{name} has requested to follow you", + "notification.label.mention": "Mention", + "notification.label.private_mention": "Private mention", + "notification.label.private_reply": "Private reply", + "notification.label.reply": "Reply", + "notification.mention": "Mention", "notification.moderation-warning.learn_more": "Learn more", "notification.moderation_warning": "You have received a moderation warning", "notification.moderation_warning.action_delete_statuses": "Some of your posts have been removed.", @@ -493,11 +517,28 @@ "notification.status": "{name} just posted", "notification.update": "{name} edited a post", "notification_requests.accept": "Accept", + "notification_requests.accept_all": "Accept all", + "notification_requests.accept_multiple": "{count, plural, one {Accept 1 request} other {Accept # requests}}", + "notification_requests.confirm_accept_all.button": "Accept all", + "notification_requests.confirm_accept_all.message": "You are about to accept {count, plural, one {one notification request} other {# notification requests}}. Are you sure you want to proceed?", + "notification_requests.confirm_accept_all.title": "Accept notification requests?", + "notification_requests.confirm_dismiss_all.button": "Dismiss all", + "notification_requests.confirm_dismiss_all.message": "You are about to dismiss {count, plural, one {one notification request} other {# notification requests}}. You won't be able to easily access {count, plural, one {it} other {them}} again. Are you sure you want to proceed?", + "notification_requests.confirm_dismiss_all.title": "Dismiss notification requests?", "notification_requests.dismiss": "Dismiss", + "notification_requests.dismiss_all": "Dismiss all", + "notification_requests.dismiss_multiple": "{count, plural, one {Dismiss one request} other {Dismiss # requests}}", + "notification_requests.enter_selection_mode": "Select", + "notification_requests.exit_selection_mode": "Cancel", + "notification_requests.explainer_for_limited_account": "Notifications from this account have been filtered because the account has been limited by a moderator.", + "notification_requests.explainer_for_limited_remote_account": "Notifications from this account have been filtered because the account or its server has been limited by a moderator.", + "notification_requests.minimize_banner": "Minimize filtered notifications banner", "notification_requests.notifications_from": "Notifications from {name}", "notification_requests.title": "Filtered notifications", + "notification_requests.view": "View notifications", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.clear_title": "Clear notifications?", "notifications.column_settings.admin.report": "New reports:", "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Desktop notifications", @@ -531,6 +572,13 @@ "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", + "notifications.policy.accept": "Accept", + "notifications.policy.drop": "Ignore", + "notifications.policy.drop_hint": "Send to the void, never to be seen again", + "notifications.policy.filter": "Filter", + "notifications.policy.filter_hint": "Send to filtered notifications inbox", + "notifications.policy.filter_limited_accounts_hint": "Limited by server moderators", + "notifications.policy.filter_limited_accounts_title": "Moderated accounts", "notifications.policy.filter_new_accounts.hint": "Created within the past {days, plural, one {one day} other {# days}}", "notifications.policy.filter_new_accounts_title": "New accounts", "notifications.policy.filter_not_followers_hint": "Including people who have been following you fewer than {days, plural, one {one day} other {# days}}", @@ -539,6 +587,7 @@ "notifications.policy.filter_not_following_title": "People you don't follow", "notifications.policy.filter_private_mentions_hint": "Filtered unless it's in reply to your own mention or if you follow the sender", "notifications.policy.filter_private_mentions_title": "Unsolicited private mentions", + "notifications.policy.title": "Manage notifications from…", "notifications_permission_banner.enable": "Enable desktop notifications", "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.", "notifications_permission_banner.title": "Never miss a thing", @@ -779,6 +828,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} from other servers are not displayed.", "timeline_hint.resources.followers": "Followers", "timeline_hint.resources.follows": "Follows", + "timeline_hint.resources.replies": "Some replies", "timeline_hint.resources.statuses": "Older posts", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "Trending now", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index b583f80fe1..9b48f1bf37 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -327,7 +327,7 @@ "footer.about": "Tietoja", "footer.directory": "Profiilihakemisto", "footer.get_app": "Hanki sovellus", - "footer.invite": "Kutsu ihmisiä", + "footer.invite": "Kutsu käyttäjiä", "footer.keyboard_shortcuts": "Pikanäppäimet", "footer.privacy_policy": "Tietosuojakäytäntö", "footer.source_code": "Näytä lähdekoodi", @@ -366,7 +366,7 @@ "ignore_notifications_modal.new_accounts_title": "Sivuutetaanko ilmoitukset uusilta tileiltä?", "ignore_notifications_modal.not_followers_title": "Sivuutetaanko ilmoitukset käyttäjiltä, jotka eivät seuraa sinua?", "ignore_notifications_modal.not_following_title": "Sivuutetaanko ilmoitukset käyttäjiltä, joita et seuraa?", - "ignore_notifications_modal.private_mentions_title": "Sivuutetaanko ilmoitukset ei-toivotuista yksityismaininnoista?", + "ignore_notifications_modal.private_mentions_title": "Sivuutetaanko ilmoitukset pyytämättömistä yksityismaininnoista?", "interaction_modal.description.favourite": "Mastodon-tilillä voit lisätä tämän julkaisun suosikkeihisi osoittaaksesi tekijälle arvostavasi sitä ja tallentaaksesi sen tulevaa käyttöä varten.", "interaction_modal.description.follow": "Mastodon-tilillä voit seurata käyttäjää {name} saadaksesi hänen julkaisunsa kotisyötteeseesi.", "interaction_modal.description.reblog": "Mastodon-tilillä voit tehostaa tätä julkaisua jakaaksesi sen seuraajiesi kanssa.", diff --git a/app/javascript/mastodon/locales/fr-CA.json b/app/javascript/mastodon/locales/fr-CA.json index 1ad821ee07..9cf1d8a69b 100644 --- a/app/javascript/mastodon/locales/fr-CA.json +++ b/app/javascript/mastodon/locales/fr-CA.json @@ -35,6 +35,7 @@ "account.follow_back": "S'abonner en retour", "account.followers": "abonné·e·s", "account.followers.empty": "Personne ne suit ce compte pour l'instant.", + "account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}", "account.following": "Abonné·e", "account.follows.empty": "Ce compte ne suit personne présentement.", "account.go_to_profile": "Voir ce profil", @@ -313,6 +314,7 @@ "follow_suggestions.hints.similar_to_recently_followed": "Ce profil est similaire aux profils que vous avez suivis le plus récemment.", "follow_suggestions.personalized_suggestion": "Suggestion personnalisée", "follow_suggestions.popular_suggestion": "Suggestion populaire", + "follow_suggestions.popular_suggestion_longer": "Populaire sur {domain}", "follow_suggestions.view_all": "Tout afficher", "follow_suggestions.who_to_follow": "Qui suivre", "followed_tags": "Hashtags suivis", @@ -466,7 +468,19 @@ "notification.favourite": "{name} a ajouté votre publication à ses favoris", "notification.follow": "{name} vous suit", "notification.follow_request": "{name} a demandé à vous suivre", + "notification.label.private_mention": "Mention privée", + "notification.label.private_reply": "Répondre en privé", + "notification.moderation-warning.learn_more": "En savoir plus", + "notification.moderation_warning": "Vous avez reçu un avertissement de modération", + "notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.", + "notification.moderation_warning.action_disable": "Votre compte a été désactivé.", + "notification.moderation_warning.action_mark_statuses_as_sensitive": "Certains de vos messages ont été marqués comme sensibles.", + "notification.moderation_warning.action_none": "Votre compte a reçu un avertissement de modération.", + "notification.moderation_warning.action_sensitive": "Vos messages seront désormais marqués comme sensibles.", + "notification.moderation_warning.action_silence": "Votre compte a été limité.", + "notification.moderation_warning.action_suspend": "Votre compte a été suspendu.", "notification.own_poll": "Votre sondage est terminé", + "notification.poll": "Un sondage auquel vous avez participé vient de se terminer", "notification.reblog": "{name} a boosté votre message", "notification.relationships_severance_event": "Connexions perdues avec {name}", "notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.", @@ -476,6 +490,9 @@ "notification.status": "{name} vient de publier", "notification.update": "{name} a modifié une publication", "notification_requests.accept": "Accepter", + "notification_requests.accept_all": "Tout accepter", + "notification_requests.confirm_accept_all.button": "Tout accepter", + "notification_requests.confirm_dismiss_all.button": "Tout rejeter", "notification_requests.dismiss": "Rejeter", "notification_requests.notifications_from": "Notifications de {name}", "notification_requests.title": "Notifications filtrées", @@ -649,6 +666,7 @@ "report_notification.categories.legal": "Mentions légales", "report_notification.categories.other": "Autre", "report_notification.categories.spam": "Spam", + "report_notification.categories.spam_sentence": "indésirable", "report_notification.categories.violation": "Infraction aux règles du serveur", "report_notification.open": "Ouvrir le signalement", "search.no_recent_searches": "Aucune recherche récente", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 141a856e31..6546cbb1e9 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -35,6 +35,7 @@ "account.follow_back": "S'abonner en retour", "account.followers": "Abonné·e·s", "account.followers.empty": "Personne ne suit cet·te utilisateur·rice pour l’instant.", + "account.followers_counter": "{count, plural, one {{counter} abonné·e} other {{counter} abonné·e·s}}", "account.following": "Abonnements", "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.", "account.go_to_profile": "Aller au profil", @@ -313,6 +314,7 @@ "follow_suggestions.hints.similar_to_recently_followed": "Ce profil est similaire aux profils que vous avez suivis le plus récemment.", "follow_suggestions.personalized_suggestion": "Suggestion personnalisée", "follow_suggestions.popular_suggestion": "Suggestion populaire", + "follow_suggestions.popular_suggestion_longer": "Populaire sur {domain}", "follow_suggestions.view_all": "Tout afficher", "follow_suggestions.who_to_follow": "Qui suivre", "followed_tags": "Hashtags suivis", @@ -466,7 +468,19 @@ "notification.favourite": "{name} a ajouté votre message à ses favoris", "notification.follow": "{name} vous suit", "notification.follow_request": "{name} a demandé à vous suivre", + "notification.label.private_mention": "Mention privée", + "notification.label.private_reply": "Répondre en privé", + "notification.moderation-warning.learn_more": "En savoir plus", + "notification.moderation_warning": "Vous avez reçu un avertissement de modération", + "notification.moderation_warning.action_delete_statuses": "Certains de vos messages ont été supprimés.", + "notification.moderation_warning.action_disable": "Votre compte a été désactivé.", + "notification.moderation_warning.action_mark_statuses_as_sensitive": "Certains de vos messages ont été marqués comme sensibles.", + "notification.moderation_warning.action_none": "Votre compte a reçu un avertissement de modération.", + "notification.moderation_warning.action_sensitive": "Vos messages seront désormais marqués comme sensibles.", + "notification.moderation_warning.action_silence": "Votre compte a été limité.", + "notification.moderation_warning.action_suspend": "Votre compte a été suspendu.", "notification.own_poll": "Votre sondage est terminé", + "notification.poll": "Un sondage auquel vous avez participé vient de se terminer", "notification.reblog": "{name} a partagé votre message", "notification.relationships_severance_event": "Connexions perdues avec {name}", "notification.relationships_severance_event.account_suspension": "Un·e administrateur·rice de {from} a suspendu {target}, ce qui signifie que vous ne pourrez plus recevoir de mises à jour ou interagir avec lui.", @@ -476,6 +490,9 @@ "notification.status": "{name} vient de publier", "notification.update": "{name} a modifié un message", "notification_requests.accept": "Accepter", + "notification_requests.accept_all": "Tout accepter", + "notification_requests.confirm_accept_all.button": "Tout accepter", + "notification_requests.confirm_dismiss_all.button": "Tout rejeter", "notification_requests.dismiss": "Rejeter", "notification_requests.notifications_from": "Notifications de {name}", "notification_requests.title": "Notifications filtrées", @@ -649,6 +666,7 @@ "report_notification.categories.legal": "Légal", "report_notification.categories.other": "Autre", "report_notification.categories.spam": "Spam", + "report_notification.categories.spam_sentence": "indésirable", "report_notification.categories.violation": "Infraction aux règles du serveur", "report_notification.open": "Ouvrir le signalement", "search.no_recent_searches": "Aucune recherche récente", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 7d71400206..c344c19b7e 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -834,7 +834,7 @@ "timeline_hint.resources.replies": "Algunhas respostas", "timeline_hint.resources.statuses": "Publicacións antigas", "trends.counter_by_accounts": "{count, plural, one {{counter} persoa} other {{counter} persoas}} {days, plural, one {no último día} other {nos {days} últimos días}}", - "trends.trending_now": "Tendencias actuais", + "trends.trending_now": "Temas populares", "ui.beforeunload": "O borrador perderase se saes de Mastodon.", "units.short.billion": "{count}B", "units.short.million": "{count}M", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index e90826ded1..e9cbfcbcc3 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -356,6 +356,7 @@ "home.pending_critical_update.link": "צפיה בעדכונים", "home.pending_critical_update.title": "יצא עדכון אבטחה חשוב!", "home.show_announcements": "הצג הכרזות", + "ignore_notifications_modal.disclaimer": "מסטודון אינו יכול ליידע משתמשים שהתעלמתם מהתראותיהם. התעלמות מהתראות לא תחסום את ההודעות עצמן מלהשלח.", "ignore_notifications_modal.filter_instead": "לסנן במקום", "ignore_notifications_modal.filter_to_act_users": "עדיין ביכולתך לקבל, לדחות ולדווח על משתמשים אחרים", "ignore_notifications_modal.filter_to_avoid_confusion": "סינון מסייע למניעת בלבולים אפשריים", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 7b7ee85066..420ba495f0 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -391,6 +391,10 @@ "notification.favourite": "{name} yesmenyaf addad-ik·im", "notification.follow": "iṭṭafar-ik·em-id {name}", "notification.follow_request": "{name} yessuter-d ad k·m-yeḍfeṛ", + "notification.label.private_mention": "Abdar uslig", + "notification.label.private_reply": "Tiririt tusligt", + "notification.label.reply": "Tiririt", + "notification.mention": "Abdar", "notification.moderation-warning.learn_more": "Issin ugar", "notification.moderation_warning.action_suspend": "Yettwaseḥbes umiḍan-ik.", "notification.own_poll": "Tafrant-ik·im tfuk", @@ -399,6 +403,7 @@ "notification.status": "{name} akken i d-yessufeɣ", "notification_requests.accept": "Qbel", "notification_requests.dismiss": "Agi", + "notification_requests.exit_selection_mode": "Sefsex", "notification_requests.notifications_from": "Alɣuten sɣur {name}", "notifications.clear": "Sfeḍ alɣuten", "notifications.clear_confirmation": "Tebɣiḍ s tidet ad tekkseḍ akk alɣuten-inek·em i lebda?", @@ -430,6 +435,7 @@ "notifications.group": "{count} n walɣuten", "notifications.mark_as_read": "Creḍ meṛṛa alɣuten am wakken ttwaɣran", "notifications.permission_denied": "D awezɣi ad yili wermad n walɣuten n tnarit axateṛ turagt tettwagdel", + "notifications.policy.drop": "Anef-as", "notifications.policy.filter_new_accounts.hint": "Imiḍanen imaynuten i d-yennulfan deg {days, plural, one {yiwen n wass} other {# n wussan}} yezrin", "notifications.policy.filter_new_accounts_title": "Imiḍan imaynuten", "notifications.policy.filter_not_followers_hint": "Ula d wid akked tid i k·m-id-iḍefren, ur wwiḍen ara {days, plural, one {yiwen wass} other {# wussan}}", @@ -537,6 +543,7 @@ "report_notification.categories.legal": "Azerfan", "report_notification.categories.other": "Ayen nniḍen", "report_notification.categories.spam": "Aspam", + "report_notification.categories.spam_sentence": "aspam", "report_notification.open": "Ldi aneqqis", "search.no_recent_searches": "Ulac inadiyen ineggura", "search.placeholder": "Nadi", diff --git a/app/javascript/mastodon/locales/lad.json b/app/javascript/mastodon/locales/lad.json index f4954ed3a9..0b0449c96a 100644 --- a/app/javascript/mastodon/locales/lad.json +++ b/app/javascript/mastodon/locales/lad.json @@ -11,6 +11,7 @@ "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 personala", "account.add_or_remove_from_list": "Adjusta a o kita de listas", "account.badges.bot": "Otomatizado", "account.badges.group": "Grupo", @@ -165,21 +166,26 @@ "confirmations.block.confirm": "Bloka", "confirmations.delete.confirm": "Efasa", "confirmations.delete.message": "Estas siguro ke keres efasar esta publikasyon?", + "confirmations.delete.title": "Efasar publikasyon?", "confirmations.delete_list.confirm": "Efasa", "confirmations.delete_list.message": "Estas siguro ke keres permanentemente efasar esta lista?", + "confirmations.delete_list.title": "Efasa lista?", "confirmations.discard_edit_media.confirm": "Anula", "confirmations.discard_edit_media.message": "Tienes trokamientos no guadrados en la deskripsion o vista previa. Keres efasarlos entanto?", "confirmations.edit.confirm": "Edita", "confirmations.edit.message": "Si edites agora, kitaras el mesaj kualo estas eskriviendo aktualmente. Estas siguro ke keres fazerlo?", "confirmations.logout.confirm": "Sal", "confirmations.logout.message": "Estas siguro ke keres salir de tu kuento?", + "confirmations.logout.title": "Salir?", "confirmations.mute.confirm": "Silensia", "confirmations.redraft.confirm": "Efasa i reeskrive", "confirmations.redraft.message": "Estas siguro ke keres efasar esta publikasyon i reeskrivirla? Pedreras todos los favoritos i repartajasyones asosiados kon esta publikasyon i repuestas a eya seran guerfanadas.", + "confirmations.redraft.title": "Efasar i reeskrivir?", "confirmations.reply.confirm": "Arisponde", "confirmations.reply.message": "Si arispondas agora, kitaras el mesaj kualo estas eskriviendo aktualmente. Estas siguro ke keres fazerlo?", "confirmations.unfollow.confirm": "Desige", "confirmations.unfollow.message": "Estas siguro ke keres deshar de segir a {name}?", + "confirmations.unfollow.title": "Desige utilizador?", "conversation.delete": "Efasa konversasyon", "conversation.mark_as_read": "Marka komo meldado", "conversation.open": "Ve konversasyon", @@ -277,6 +283,7 @@ "filter_modal.select_filter.subtitle": "Kulanea una kategoria egzistente o kriya mueva", "filter_modal.select_filter.title": "Filtra esta publikasyon", "filter_modal.title.status": "Filtra una publikasyon", + "filtered_notifications_banner.pending_requests": "De {count, plural, =0 {dingun} one {una persona} other {# personas}} ke puedes koneser", "filtered_notifications_banner.title": "Avizos filtrados", "firehose.all": "Todo", "firehose.local": "Este sirvidor", @@ -330,6 +337,7 @@ "home.pending_critical_update.link": "Ve aktualizasyones", "home.pending_critical_update.title": "Aktualizasyon de seguridad kritika esta desponivle!", "home.show_announcements": "Amostra pregones", + "ignore_notifications_modal.ignore": "Inyora avizos", "interaction_modal.description.favourite": "Kon un kuento en Mastodon, puedes markar esta publikasyon komo favorita para ke el autor sepa ke te plaze i para guadrarla para dempues.", "interaction_modal.description.follow": "Kon un kuento en Mastodon, puedes segir a {name} para risivir sus publikasyones en tu linya temporal prinsipala.", "interaction_modal.description.reblog": "Kon un kuento en Mastodon, puedes repartajar esta publikasyon para amostrarla a tus suivantes.", @@ -400,7 +408,7 @@ "lists.exclusive": "Eskonder estas publikasyones de linya prinsipala", "lists.new.create": "Adjusta lista", "lists.new.title_placeholder": "Titolo de mueva lista", - "lists.replies_policy.followed": "Kualseker utilizardo segido", + "lists.replies_policy.followed": "Kualseker utilizador segido", "lists.replies_policy.list": "Miembros de la lista", "lists.replies_policy.none": "Dinguno", "lists.replies_policy.title": "Amostra repuestas a:", @@ -449,6 +457,10 @@ "notification.favourite": "A {name} le plaze tu publikasyon", "notification.follow": "{name} te ampeso a segir", "notification.follow_request": "{name} tiene solisitado segirte", + "notification.label.mention": "Enmenta", + "notification.label.private_mention": "Enmentadura privada", + "notification.label.reply": "Arisponde", + "notification.mention": "Enmenta", "notification.moderation-warning.learn_more": "Ambezate mas", "notification.moderation_warning.action_disable": "Tu kuento tiene sido inkapasitado.", "notification.moderation_warning.action_mark_statuses_as_sensitive": "Algunas de tus publikasyones tienen sido markadas komo sensivles.", @@ -463,14 +475,21 @@ "notification.status": "{name} publiko algo", "notification.update": "{name} edito una publikasyon", "notification_requests.accept": "Acheta", + "notification_requests.accept_all": "Acheta todos", + "notification_requests.confirm_accept_all.button": "Acheta todos", "notification_requests.dismiss": "Kita", + "notification_requests.enter_selection_mode": "Eskoje", + "notification_requests.exit_selection_mode": "Anula", "notification_requests.notifications_from": "Avizos de {name}", "notification_requests.title": "Avizos filtrados", + "notification_requests.view": "Amostra avizos", "notifications.clear": "Efasa avizos", "notifications.clear_confirmation": "Estas siguro ke keres permanentemente efasar todos tus avizos?", + "notifications.clear_title": "Efasar avizos?", "notifications.column_settings.admin.report": "Muveos raportos:", "notifications.column_settings.admin.sign_up": "Muevas enrejistrasyones:", "notifications.column_settings.alert": "Avizos de ensimameza", + "notifications.column_settings.beta.category": "Funksyones eksperimentalas", "notifications.column_settings.favourite": "Te plazen:", "notifications.column_settings.filter_bar.advanced": "Amostra todas las kategorias", "notifications.column_settings.filter_bar.category": "Vara de filtrado rapido", @@ -499,6 +518,10 @@ "notifications.permission_denied": "Avizos de ensimameza no estan desponivles porke ya se tiene refuzado el permiso", "notifications.permission_denied_alert": "\"No se pueden kapasitar los avizos de ensimameza, porke ya se tiene refuzado el permiso de navigador", "notifications.permission_required": "Avizos de ensimameza no estan desponivles porke los nesesarios permisos no tienen sido risividos.", + "notifications.policy.accept": "Acheta", + "notifications.policy.accept_hint": "Amostra en avizos", + "notifications.policy.drop": "Inyora", + "notifications.policy.filter": "Filtra", "notifications.policy.filter_new_accounts.hint": "Kriyadas durante {days, plural, one {el ultimo diya} other {los ultimos # diyas}}", "notifications.policy.filter_new_accounts_title": "Muevos kuentos", "notifications.policy.filter_not_followers_title": "Personas ke te no sigen", @@ -739,6 +762,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} de otros sirvidores no se amostran.", "timeline_hint.resources.followers": "Suivantes", "timeline_hint.resources.follows": "Segidos", + "timeline_hint.resources.replies": "Algunas repuestas", "timeline_hint.resources.statuses": "Publikasyones mas viejas", "trends.counter_by_accounts": "{count, plural, one {{counter} kuento} other {{counter} kuentos}} en los ultimos {days, plural, one {diyas} other {{days} diyas}}", "trends.trending_now": "Trendes", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index cc23b3b1d8..8c08d4e54e 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -11,6 +11,7 @@ "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 personale", "account.add_or_remove_from_list": "Agiunghe o boga dae is listas", "account.badges.bot": "Automatizadu", "account.badges.group": "Grupu", @@ -27,6 +28,7 @@ "account.edit_profile": "Modìfica profilu", "account.enable_notifications": "Notìfica·mi cando @{name} pùblicat messàgios", "account.endorse": "Cussìgia in su profilu tuo", + "account.featured_tags.last_status_at": "Ùrtima publicatzione in su {date}", "account.featured_tags.last_status_never": "Peruna publicatzione", "account.featured_tags.title": "Etichetas de {name} in evidèntzia", "account.follow": "Sighi", @@ -71,10 +73,15 @@ "account.unmute_notifications_short": "Ativa is notìficas", "account.unmute_short": "Ativa su sonu", "account_note.placeholder": "Incarca pro agiùnghere una nota", + "admin.dashboard.daily_retention": "Tassu de ritentzione de is utentes a pustis de sa registratzione", + "admin.dashboard.monthly_retention": "Tassu de ritentzione de utentes pro mese a pustis de sa registratzione", + "admin.dashboard.retention.average": "Mèdiu", + "admin.dashboard.retention.cohort": "Mese de registratzione", "admin.dashboard.retention.cohort_size": "Utentes noos", "admin.impact_report.instance_accounts": "Contos de profilu chi custu diat cantzellare", "admin.impact_report.instance_followers": "Sighiduras chi is utentes nostros diant pèrdere", "admin.impact_report.instance_follows": "Sighiduras chi is utentes issoro diant pèrdere", + "admin.impact_report.title": "Resumu de s'impatu", "alert.rate_limited.message": "Torra·bi a proare a pustis de {retry_time, time, medium}.", "alert.rate_limited.title": "Màssimu de rechestas barigadu", "alert.unexpected.message": "Ddoe est istada una faddina.", @@ -82,6 +89,7 @@ "announcement.announcement": "Annùntziu", "attachments_list.unprocessed": "(non protzessadu)", "audio.hide": "Cua s'àudio", + "block_modal.remote_users_caveat": "Amus a pedire a su serbidore {domain} de rispetare sa detzisione tua. Nointames custu, su rispetu no est garantidu ca unos cantos serbidores diant pòdere gestire is blocos de manera diferente. Is publicatzione pùblicas diant pòdere ancora èssere visìbiles a is utentes chi no ant fatu s'atzessu.", "block_modal.show_less": "Ammustra·nde prus pagu", "block_modal.show_more": "Ammustra·nde prus", "block_modal.they_cant_mention": "Non ti podent mentovare nen sighire.", @@ -91,7 +99,9 @@ "block_modal.you_wont_see_mentions": "No as a bìdere is publicatziones chi mèntovent custa persone.", "boost_modal.combo": "Podes incarcare {combo} pro brincare custu sa borta chi benit", "bundle_column_error.copy_stacktrace": "Còpia s'informe de faddina", + "bundle_column_error.error.body": "Sa pàgina pedida non faghiat a dda renderizare. Diat pòdere èssere pro neghe de una faddina in su còdighe nostru, o de unu problema de cumpatibilidade de su navigadore.", "bundle_column_error.error.title": "Oh, no!", + "bundle_column_error.network.body": "Ddoe est àpidu un'errore proende a carrigare custa pàgina. Custu diat pòdere derivare dae unu problema temporàneu cun sa connessione ìnternet tua a su serbidore.", "bundle_column_error.network.title": "Faddina de connessione", "bundle_column_error.retry": "Torra·bi a proare", "bundle_column_error.return": "Torra a sa pàgina printzipale", @@ -138,6 +148,7 @@ "compose_form.lock_disclaimer.lock": "blocadu", "compose_form.placeholder": "A ite ses pensende?", "compose_form.poll.duration": "Longària de su sondàgiu", + "compose_form.poll.multiple": "Sèberu mùltiplu", "compose_form.poll.option_placeholder": "Optzione {number}", "compose_form.poll.single": "Sèbera·nde una", "compose_form.poll.switch_to_multiple": "Muda su sondàgiu pro permìtere multi-optziones", @@ -154,9 +165,12 @@ "confirmations.block.confirm": "Bloca", "confirmations.delete.confirm": "Cantzella", "confirmations.delete.message": "Seguru chi boles cantzellare custa publicatzione?", + "confirmations.delete.title": "Cantzellare sa publicatzione?", "confirmations.delete_list.confirm": "Cantzella", "confirmations.delete_list.message": "Seguru chi boles cantzellare custa lista in manera permanente?", + "confirmations.delete_list.title": "Cantzellare sa lista?", "confirmations.discard_edit_media.confirm": "Iscarta", + "confirmations.discard_edit_media.message": "Tenes modìficas non sarvadas a is descritziones o a is anteprimas de is cuntenutos, ddas boles iscartare su matessi?", "confirmations.edit.confirm": "Modìfica", "confirmations.logout.confirm": "Essi·nche", "confirmations.logout.message": "Seguru chi boles essire?", @@ -182,9 +196,21 @@ "disabled_account_banner.text": "Su contu tuo {disabledAccount} no est ativu.", "dismissable_banner.dismiss": "Iscarta", "domain_block_modal.block": "Bloca su serbidore", + "domain_block_modal.block_account_instead": "Bloca imbetzes a @{name}", + "domain_block_modal.they_can_interact_with_old_posts": "Is persones de custu serbidore podent ancora interagire cun is publicatziones betzas tuas.", + "domain_block_modal.they_cant_follow": "Perunu dae custu serbidore ti podet sighire.", + "domain_block_modal.they_wont_know": "No ant a ischire chi t'ant blocadu.", "domain_block_modal.title": "Boles blocare su domìniu?", + "domain_block_modal.you_wont_see_posts": "No as a bìdere publicatziones o notìficas dae utentes in custu serbidore.", + "domain_pill.activitypub_lets_connect": "Ti permitit de ti collegare e de interagire cun persones no isceti in Mastodon, ma in aplicatziones sotziales diferentes puru.", + "domain_pill.activitypub_like_language": "ActivityPub est a tipu sa limba chi Mastodon chistionat cun àteras retes sotziales.", "domain_pill.server": "Serbidore", + "domain_pill.their_handle": "S'identificadore suo:", + "domain_pill.their_server": "Sa domo digitale sua, in ue istant totu is publicatziones suas.", "domain_pill.username": "Nòmine de utente", + "domain_pill.your_handle": "S'identificadore tuo:", + "domain_pill.your_server": "Sa domo digitale tua, in ue istant totu is publicatziones tuas. Custa non t'agradat? Tràmuda serbidore in cale si siat momentu e bati·ti fintzas in fatu is sighidores tuos.", + "domain_pill.your_username": "S'identificadore ùnicu tuo in custu serbidore. Si podent agatare utentes cun su matessi nòmine de utente in àteros serbidores.", "embed.instructions": "Inserta custa publicatzione in su situ web tuo copiende su còdighe de suta.", "embed.preview": "At a aparèssere aici:", "emoji_button.activity": "Atividade", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 52dbb3e27c..1466ff0524 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -356,7 +356,8 @@ "home.pending_critical_update.link": "Переглянути оновлення", "home.pending_critical_update.title": "Доступне критичне оновлення безпеки!", "home.show_announcements": "Показати оголошення", - "ignore_notifications_modal.filter_to_review_separately": "Ви можете відслідковувати відфільтровані сповіщення окремо", + "ignore_notifications_modal.filter_to_act_users": "Ви все ще зможете прийняти, відхилити або поскаржитися на користувачів", + "ignore_notifications_modal.filter_to_review_separately": "Ви можете переглянути відфільтровані сповіщення окремо", "ignore_notifications_modal.ignore": "Ігнорувати сповіщення", "interaction_modal.description.favourite": "Маючи обліковий запис на Mastodon, ви можете вподобати цей допис, щоб дати автору знати, що ви його цінуєте, і зберегти його на потім.", "interaction_modal.description.follow": "Маючи обліковий запис на Mastodon, ви можете підписатися на {name}, щоб отримувати дописи цього користувача у свою стрічку.", diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 984441a72c..3d8ec84665 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -10486,6 +10486,13 @@ noscript { gap: 8px; flex: 1 1 auto; overflow: hidden; + container-type: inline-size; + + @container (width < 350px) { + &__header time { + display: none; + } + } &__header { display: flex; @@ -10525,6 +10532,11 @@ noscript { border-radius: 8px; padding: 8px; } + + &__additional-content { + color: $darker-text-color; + margin-top: -8px; // to offset the parent's `gap` property + } } &__avatar-group { diff --git a/app/workers/unfilter_notifications_worker.rb b/app/workers/unfilter_notifications_worker.rb index 5939a691fb..4351758907 100644 --- a/app/workers/unfilter_notifications_worker.rb +++ b/app/workers/unfilter_notifications_worker.rb @@ -43,6 +43,6 @@ class UnfilterNotificationsWorker end def notifications_with_private_mentions - filtered_notifications.joins(mention: :status).merge(Status.where(visibility: :direct)).includes(mention: :status) + filtered_notifications.where(type: :mention).joins(mention: :status).merge(Status.where(visibility: :direct)).includes(mention: :status) end end diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 1a2d9a2906..8a142d0bd5 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -900,6 +900,8 @@ ar: message_html: "تم تكوين مخزن الكائنات الخاص بك بشكل خاطئ. خصوصية المستخدمين في خطر." tags: review: حالة المراجعة + search: البحث + title: الوسوم updated_msg: تم تحديث إعدادات الوسوم بنجاح title: الإدارة trends: @@ -1107,6 +1109,7 @@ ar: or_log_in_with: أو قم بتسجيل الدخول بواسطة privacy_policy_agreement_html: لقد قرأتُ وأوافق على سياسة الخصوصية progress: + confirm: تأكيد عنوان البريد الإلكتروني details: تفاصيلك review: رأيُنا rules: قبول القواعد @@ -1695,6 +1698,7 @@ ar: import: استيراد import_and_export: استيراد وتصدير migrate: تهجير الحساب + notifications: إشعارات البريد الإلكتروني preferences: التفضيلات profile: الملف التعريفي relationships: المتابِعون والمتابَعون diff --git a/config/locales/de.yml b/config/locales/de.yml index fe47c15370..9bb070caf3 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -59,7 +59,7 @@ de: destroyed_msg: Daten von %{username} wurden zum Löschen in die Warteschlange eingereiht disable: Einfrieren disable_sign_in_token_auth: E-Mail-Token-Authentisierung deaktivieren - disable_two_factor_authentication: Zwei-Faktor-Authentisierung (2FA) deaktivieren + disable_two_factor_authentication: Zwei-Faktor-Authentisierung deaktivieren disabled: Eingefroren display_name: Anzeigename domain: Domain @@ -723,7 +723,7 @@ de: manage_taxonomies: Hashtags verwalten manage_taxonomies_description: Ermöglicht Benutzer*innen, die Trends zu überprüfen und die Hashtag-Einstellungen zu aktualisieren manage_user_access: Kontozugriff verwalten - manage_user_access_description: Erlaubt Nutzer*innen, die Zwei-Faktor-Authentisierung (2FA) anderer zu deaktivieren, ihre E-Mail-Adresse zu ändern und ihr Passwort zurückzusetzen + manage_user_access_description: Erlaubt Nutzer*innen, die Zwei-Faktor-Authentisierung anderer zu deaktivieren, ihre E-Mail-Adresse zu ändern und ihr Passwort zurückzusetzen manage_users: Konten verwalten manage_users_description: Erlaubt es Benutzer*innen, die Details anderer Profile einzusehen und diese Accounts zu moderieren manage_webhooks: Webhooks verwalten @@ -1430,7 +1430,7 @@ de: password: Passwort sign_in_token: E-Mail-Sicherheitscode webauthn: Sicherheitsschlüssel - description_html: Wenn du verdächtige Aktivitäten bemerkst, die du nicht verstehst oder zuordnen kannst, solltest du dringend dein Passwort ändern und ungeachtet dessen die Zwei-Faktor-Authentisierung (2FA) aktivieren. + description_html: Wenn du verdächtige Aktivitäten bemerkst, die du nicht verstehst oder zuordnen kannst, solltest du dringend dein Passwort ändern und ungeachtet dessen die Zwei-Faktor-Authentisierung aktivieren. empty: Kein Anmeldeverlauf verfügbar failed_sign_in_html: Fehlgeschlagener Anmeldeversuch mit %{method} von %{ip} (%{browser}) successful_sign_in_html: Erfolgreiches Anmelden mit %{method} von %{ip} (%{browser}) @@ -1696,7 +1696,7 @@ de: severed_relationships: Getrennte Beziehungen statuses_cleanup: Automatische Löschung strikes: Maßnahmen - two_factor_authentication: Zwei-Faktor-Authentisierung (2FA) + two_factor_authentication: Zwei-Faktor-Authentisierung webauthn_authentication: Sicherheitsschlüssel severed_relationships: download: Herunterladen (%{count}) @@ -1815,14 +1815,14 @@ de: too_many_requests: Der Übersetzungsdienst hat kürzlich zu viele Anfragen erhalten. two_factor_authentication: add: Hinzufügen - disable: Zwei-Faktor-Authentisierung (2FA) deaktivieren - disabled_success: Zwei-Faktor-Authentisierung (2FA) erfolgreich deaktiviert + disable: Zwei-Faktor-Authentisierung deaktivieren + disabled_success: Zwei-Faktor-Authentisierung erfolgreich deaktiviert edit: Bearbeiten enabled: Zwei-Faktor-Authentisierung (2FA) ist aktiviert enabled_success: Zwei-Faktor-Authentisierung (2FA) erfolgreich aktiviert generate_recovery_codes: Wiederherstellungscodes erstellen - lost_recovery_codes: Wiederherstellungscodes ermöglichen es dir, wieder Zugang zu deinem Konto zu erlangen, falls du keinen Zugriff mehr auf die Zwei-Faktor-Authentisierung (2FA) oder den Sicherheitsschlüssel hast. Solltest du diese Wiederherstellungscodes verloren haben, kannst du sie hier neu generieren. Deine alten, bereits erstellten Wiederherstellungscodes werden dadurch ungültig. - methods: Methoden der Zwei-Faktor-Authentisierung (2FA) + lost_recovery_codes: Wiederherstellungscodes ermöglichen es dir, wieder Zugang zu deinem Konto zu erlangen, falls du keinen Zugriff mehr auf die Zwei-Faktor-Authentisierung oder den Sicherheitsschlüssel hast. Solltest du diese Wiederherstellungscodes verloren haben, kannst du sie hier neu generieren. Deine alten, bereits erstellten Wiederherstellungscodes werden dadurch ungültig. + methods: Methoden der Zwei-Faktor-Authentisierung otp: Authentisierungs-App recovery_codes: Wiederherstellungscodes sichern recovery_codes_regenerated: Wiederherstellungscodes erfolgreich neu erstellt @@ -1855,7 +1855,7 @@ de: change_password: dein Passwort zu ändern details: 'Hier sind die Details zu den Anmeldeversuchen:' explanation: Wir haben eine Anmeldung zu deinem Konto von einer neuen IP-Adresse festgestellt. - further_actions_html: Wenn du das nicht warst, empfehlen wir dir schnellstmöglich, %{action} und die Zwei-Faktor-Authentisierung (2FA) für dein Konto zu aktivieren, um es abzusichern. + further_actions_html: Wenn du das nicht warst, empfehlen wir dir schnellstmöglich, %{action} und die Zwei-Faktor-Authentisierung für dein Konto zu aktivieren, um es abzusichern. subject: Es wurde auf dein Konto von einer neuen IP-Adresse zugegriffen title: Eine neue Anmeldung warning: @@ -1933,7 +1933,7 @@ de: users: follow_limit_reached: Du kannst nicht mehr als %{limit} Profilen folgen go_to_sso_account_settings: Kontoeinstellungen des Identitätsanbieters aufrufen - invalid_otp_token: Ungültiger Code der Zwei-Faktor-Authentisierung (2FA) + invalid_otp_token: Ungültiger Code der Zwei-Faktor-Authentisierung otp_lost_help_html: Wenn du beides nicht mehr weißt, melde dich bitte bei uns unter der E-Mail-Adresse %{email} rate_limited: Zu viele Authentisierungsversuche. Bitte versuche es später noch einmal. seamless_external_login: Du bist über einen externen Dienst angemeldet, daher sind Passwort- und E-Mail-Einstellungen nicht verfügbar. @@ -1960,5 +1960,5 @@ de: nickname_hint: Gib den Spitznamen deines neuen Sicherheitsschlüssels ein not_enabled: Du hast WebAuthn noch nicht aktiviert not_supported: Dieser Browser unterstützt keine Sicherheitsschlüssel - otp_required: Um Sicherheitsschlüssel zu verwenden, aktiviere zunächst die Zwei-Faktor-Authentisierung (2FA). + otp_required: Um Sicherheitsschlüssel zu verwenden, aktiviere zunächst die Zwei-Faktor-Authentisierung. registered_on: Registriert am %{date} diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml index 032132cf5c..f22f834e61 100644 --- a/config/locales/devise.de.yml +++ b/config/locales/devise.de.yml @@ -49,12 +49,12 @@ de: title: Passwort zurücksetzen two_factor_disabled: explanation: Das Anmelden ist jetzt nur noch mit einer E-Mail-Adresse und einem Passwort möglich. - subject: 'Mastodon: Zwei‐Faktor‐Authentisierung (2FA) deaktiviert' + subject: 'Mastodon: Zwei‐Faktor‐Authentisierung deaktiviert' subtitle: Zwei-Faktor-Authentisierung wurde für dein Konto deaktiviert. title: 2FA deaktiviert two_factor_enabled: explanation: Für das Anmelden wird ein Token benötigt, das von der hinterlegten TOTP-App generiert wird. - subject: 'Mastodon: Zwei‐Faktor‐Authentisierung (2FA) aktiviert' + subject: 'Mastodon: Zwei‐Faktor‐Authentisierung aktiviert' subtitle: Zwei-Faktor-Authentisierung wurde für dein Konto aktiviert. title: 2FA aktiviert two_factor_recovery_codes_changed: diff --git a/config/locales/doorkeeper.ar.yml b/config/locales/doorkeeper.ar.yml index 889c182a3f..3cecbd495a 100644 --- a/config/locales/doorkeeper.ar.yml +++ b/config/locales/doorkeeper.ar.yml @@ -135,6 +135,7 @@ ar: media: الوسائط المرفقة mutes: تم كتمها notifications: الإشعارات + profile: مِلَفّ مَستُدون التعريفي الخاص بك push: الإشعارات reports: الشكاوى search: البحث diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 0ec9ae7fe7..aaf30fa760 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -699,7 +699,7 @@ fi: delete_user_data: Poistaa käyttäjän tiedot delete_user_data_description: Sallii käyttäjien poistaa muiden käyttäjien tiedot viipymättä invite_users: Kutsua käyttäjiä - invite_users_description: Sallii käyttäjien kutsua uusia ihmisiä palvelimelle + invite_users_description: Sallii käyttäjien kutsua uusia käyttäjiä palvelimelle manage_announcements: Hallita tiedotteita manage_announcements_description: Sallii käyttäjien hallita palvelimen tiedotteita manage_appeals: Hallita valituksia @@ -1420,7 +1420,7 @@ fi: table: expires_at: Vanhenee uses: Käyttökertoja - title: Kutsu ihmisiä + title: Kutsu käyttäjiä lists: errors: limit: Sinulla on enimmäismäärä listoja diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 27c71182b6..431bc1f915 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -830,7 +830,7 @@ gl: reblogs: Promocións status_changed: Publicación editada title: Publicacións da conta - trending: Tendencia + trending: Popular visibility: Visibilidade with_media: con medios strikes: @@ -977,7 +977,7 @@ gl: one: Utilizado por unha persoa na última semana other: Utilizado por %{count} persoas na última semana title: Recomendacións e Suxestións - trending: Tendencias + trending: Popularidade warning_presets: add_new: Engadir novo delete: Eliminar diff --git a/config/locales/he.yml b/config/locales/he.yml index 6c02e12b95..d090302311 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -62,6 +62,7 @@ he: demote: הורדה בדרגה destroyed_msg: הנתונים של %{username} נכנסו לתור המחיקה וצפויים להימחק באופן מיידי disable: הקפאה + disable_sign_in_token_auth: ביטול הזדהות באמצעות אסימון דוא״ל disable_two_factor_authentication: ביטול הזדהות דו־שלבית disabled: מוקפא display_name: שם תצוגה @@ -70,6 +71,7 @@ he: email: דוא״ל email_status: מצב דוא״ל enable: ביטול הקפאה + enable_sign_in_token_auth: הפעלת אסימון הזדהות בדוא״ל enabled: מופעל enabled_msg: ביטול השעית החשבון של %{username} בוצע בהצלחה followers: עוקבים @@ -136,6 +138,7 @@ he: resubscribe: להרשם מחדש role: תפקיד search: חיפוש + search_same_email_domain: משתמשים אחרים מאותו דומיין דוא"ל search_same_ip: משתמשים אחרים מאותה כתובת IP security: אבטחה security_measures: @@ -176,21 +179,26 @@ he: approve_appeal: אישור ערעור approve_user: אישור משתמש assigned_to_self_report: הקצאת דו"ח + change_email_user: שינוי כתובת דוא"ל למשתמש change_role_user: שינוי תפקיד למשתמש confirm_user: אשר משתמש create_account_warning: יצירת אזהרה create_announcement: יצירת הכרזה + create_canonical_email_block: יצירת חסימת דואל create_custom_emoji: יצירת אמוג'י מיוחד create_domain_allow: יצירת דומיין מותר create_domain_block: יצירת דומיין חסום + create_email_domain_block: יצירת חסימת דומיין דוא"ל create_ip_block: יצירת כלל IP create_unavailable_domain: יצירת דומיין בלתי זמין create_user_role: יצירת תפקיד demote_user: הורדת משתמש בדרגה destroy_announcement: מחיקת הכרזה + destroy_canonical_email_block: מחיקת חסימת דואל destroy_custom_emoji: מחיקת אמוג'י יחודי destroy_domain_allow: מחיקת דומיין מותר destroy_domain_block: מחיקת דומיין חסום + destroy_email_domain_block: מחיקת חסימת דומיין דוא"ל destroy_instance: טיהור דומיין destroy_ip_block: מחיקת כלל IP destroy_status: מחיקת הודעה @@ -198,8 +206,10 @@ he: destroy_user_role: מחיקת תפקיד disable_2fa_user: השעיית זיהוי דו-גורמי disable_custom_emoji: השעיית אמוג'י מיוחד + disable_sign_in_token_auth_user: השעיית אסימון הזדהות בדוא"ל של משתמש disable_user: השעיית משתמש enable_custom_emoji: הפעלת אמוג'י מיוחד + enable_sign_in_token_auth_user: הפעלת אסימון הזדהות בדוא"ל של משתמש enable_user: אפשור משתמש memorialize_account: הנצחת חשבון promote_user: קידום משתמש @@ -229,20 +239,26 @@ he: approve_appeal_html: "%{name} אישר/ה ערעור על החלטת מנהלי הקהילה מ-%{target}" approve_user_html: "%{name} אישר/ה הרשמה מ-%{target}" assigned_to_self_report_html: '%{name} הקצה/תה דו"ח %{target} לעצמם' + change_email_user_html: '%{name} שינה\שינתה את כתובת הדוא"ל של המשתמש %{target}' change_role_user_html: "%{name} שינה את התפקיד של %{target}" + confirm_user_html: '%{name} אישר/ה את כותבת הדו"אל של המשתמש %{target}' create_account_warning_html: "%{name} שלח/ה אזהרה ל %{target}" create_announcement_html: "%{name} יצר/ה הכרזה חדשה %{target}" + create_canonical_email_block_html: "%{name} חסם/ה את הדואל %{target}" create_custom_emoji_html: "%{name} העלו אמוג'י חדש %{target}" create_domain_allow_html: "%{name} אישר/ה פדרציה עם הדומיין %{target}" create_domain_block_html: "%{name} חסם/ה את הדומיין %{target}" + create_email_domain_block_html: '%{name} חסם/ה את דומיין הדוא"ל %{target}' create_ip_block_html: "%{name} יצר/ה כלל עבור IP %{target}" create_unavailable_domain_html: "%{name} הפסיק/ה משלוח לדומיין %{target}" create_user_role_html: "%{name} יצר את התפקיד של %{target}" demote_user_html: "%{name} הוריד/ה בדרגה את המשתמש %{target}" destroy_announcement_html: "%{name} מחק/ה את ההכרזה %{target}" + destroy_canonical_email_block_html: "%{name} הסיר/ה חסימה מדואל %{target}" destroy_custom_emoji_html: "%{name} מחק אמוג'י של %{target}" destroy_domain_allow_html: "%{name} לא התיר/ה פדרציה עם הדומיין %{target}" destroy_domain_block_html: "%{name} הסיר/ה חסימה מהדומיין %{target}" + destroy_email_domain_block_html: '%{name} הסיר/ה חסימה מדומיין הדוא"ל %{target}' destroy_instance_html: "%{name} טיהר/ה את הדומיין %{target}" destroy_ip_block_html: "%{name} מחק/ה את הכלל עבור IP %{target}" destroy_status_html: ההודעה של %{target} הוסרה ע"י %{name} @@ -250,8 +266,10 @@ he: destroy_user_role_html: "%{name} ביטל את התפקיד של %{target}" disable_2fa_user_html: "%{name} ביטל/ה את הדרישה לאימות דו-גורמי למשתמש %{target}" disable_custom_emoji_html: "%{name} השבית/ה את האמוג'י %{target}" + disable_sign_in_token_auth_user_html: '%{name} השבית/ה את האימות בעזרת אסימון דוא"ל עבור %{target}' disable_user_html: "%{name} חסם/ה כניסה מהמשתמש/ת %{target}" enable_custom_emoji_html: "%{name} אפשר/ה את האמוג'י %{target}" + enable_sign_in_token_auth_user_html: '%{name} אפשר/ה אימות בעזרת אסימון דוא"ל עבור %{target}' enable_user_html: "%{name} אפשר/ה כניסה עבור המשתמש %{target}" memorialize_account_html: "%{name} הפך/ה את חשבונו של %{target} לדף הנצחה" promote_user_html: "%{name} העלה בדרגה את המשתמש %{target}" @@ -259,6 +277,7 @@ he: reject_user_html: "%{name} דחו הרשמה מ-%{target}" remove_avatar_user_html: "%{name} הסירו את תמונת הפרופיל של %{target}" reopen_report_html: '%{name} פתח מחדש דו"ח %{target}' + resend_user_html: "%{name} הפעיל.ה שליחה מחדש של דואל אימות עבור %{target}" reset_password_user_html: הסיסמה עבור המשתמש %{target} התאפסה על־ידי %{name} resolve_report_html: '%{name} פתר/ה דו"ח %{target}' sensitive_account_html: "%{name} סימן/ה את המדיה של %{target} כרגיש" @@ -429,6 +448,7 @@ he: one: "%{count} נסיון במשך השבוע שעבר" other: "%{count} נסיונות הרשמה במשך השבוע שעבר" two: "%{count} נסיונות הרשמה במשך השבוע שעבר" + created_msg: מתחם כתובות דואל נחסם בהצלחה delete: מחיקה dns: types: @@ -437,8 +457,12 @@ he: new: create: הוספת דומיין resolve: פתור דומיין + title: חסימת מתחם כתובות דואל חדש + no_email_domain_block_selected: לא בוצעו שינויים לחסימת מתחמי דוא"ל שכן לא נבחרו מתחמים not_permitted: נאסר + resolved_dns_records_hint_html: שם הדומיין מוביל למתחמי ה-MX הבאים, שהם בסופו של דבר אחראיים לקבלת דוא"ל. חסימת שם MX תוביל לחסימת הרשמות מכל כתובת דוא"ל שעושה שימוש בכתובת MX זו, אפילו אם הדומיין הגלוי שונה. יש להמנע מלחסום ספקי דוא"ל מובילים. resolved_through_html: נמצא דרך %{domain} + title: מתחמי כתובות דוא"ל חסומים export_domain_allows: new: title: יבוא רשימת שרתים מאושרים @@ -600,6 +624,7 @@ he: resolve_description_html: אף פעולה לא תבוצע נגד החשבון עליו דווח, לא תירשם עבירה, והדיווח ייסגר. silence_description_html: הפרופיל יהיה גלוי אך ורק לאלה שכבר עוקבים אחריו או לאלה שיחפשו אותו ידנית, מה שיגביל מאד את תפוצתו. ניתן תמיד להחזיר את המצב לקדמותו. פעולה זו תסגור את כל הדיווחים נגד הפרופיל. suspend_description_html: חשבון זה על כל תכניו יחסמו וברבות הימים ימחקו, כל פעילות מולו לא תתאפשר. הפעולה ניתנת לביטול תוך 30 ימים, והיא תסגור כל דיווח התלוי ועומד נגד החשבון. + actions_description_html: בחר/י איזו פעולה לבצע על מנת לפתור את הדו"ח. אם תופעל פעולת ענישה כנגד החשבון המדווח, הודעת דוא"ל תשלח אליהם, אלא אם נבחרה קטגוריית הספאם. actions_description_remote_html: בחרו איזו פעולה לבצע כדי לפתור את הדיווח שהוגש. פעולה זו תשפיע רק על התקשורת מול השרת שלך עם החשבון המרוחק ותוכנו. add_to_report: הוספת פרטים לדיווח already_suspended_badges: @@ -664,6 +689,7 @@ he: delete_data_html: למחוק את הפרופיל והתוכן של @%{acct} בעוד 30 יום אלא אם תוסר ההגבלה עליהם לפני כן preview_preamble_html: 'שליחת אזהרה אל @%{acct} בזו הלשון:' record_strike_html: ציין נקודה שחורה נגד @%{acct} כדי לסייע בשיפוטו בדיווחים עתידיים על חריגות + send_email_html: שליחת דואל אזהרה אל @%{acct} warning_placeholder: צידוקים אפשריים נוספים לפעולה המשמעתית. target_origin: מקור החשבון המדווח title: דיווחים @@ -707,6 +733,7 @@ he: manage_appeals: ניהול ערעורים manage_appeals_description: מאפשר למשתמשים לסקור ערעורים כנגד פעולות מודרציה manage_blocks: ניהול חסימות + manage_blocks_description: מאפשר למשתמשים לחסום ספקי דוא"ל וכתובות IP manage_custom_emojis: ניהול סמלונים בהתאמה אישית manage_custom_emojis_description: מאפשר למשתמשים לנהל סמלונים בהתאמה אישית של השרת manage_federation: ניהול פדרציה @@ -724,6 +751,7 @@ he: manage_taxonomies: ניהול טקסונומיות manage_taxonomies_description: מאפשר למשתמשים לסקור תוכן אופנתי (טרנדי) ולעדכן אפשרויות של תגיות. manage_user_access: ניהול גישת משתמשים + manage_user_access_description: מאפשר למשתמשים לבטל אימות דו-שלבי של משתמשים אחרים, לשנות את כתובות הדוא"ל שלהם, ולאפס את סיסמתם manage_users: ניהול משתמשים manage_users_description: מאפשר למשתמשים לצפות בפרטים של משתמשים אחרים ולבצע פעולות מודרציה לפיהם manage_webhooks: ניהול Webhooks @@ -798,6 +826,7 @@ he: destroyed_msg: העלאת אתר נמחקה בהצלחה! software_updates: critical_update: חשוב -- יש לעדכן במהירות + description: מומלץ לשמור את התקנת המסטודון שלך עדכנית כדי להרוויח מהיכולות והתיקונים האחרונים. למעלה מכך, לעיתים קריטי לעדכן את מסטודון בהקדם כדי להמנע מפרצות אבטחה. מסיבות אלו, השרת יבדוק כל 30 דקות, ויודיע לך לפי העדפות הדואל שלך. documentation_link: למידע נוסף release_notes: פרטי הגרסה title: עדכונים זמינים @@ -981,6 +1010,7 @@ he: one: הוצגה על ידי משתמש בודד במשך השבוע שעבר other: הוצגה על ידי %{count} משתמשים במשך השבוע שעבר two: הוצגה על ידי %{count} משתמשים במשך השבוע שעבר + title: המלצות ונושאים חמים trending: נושאים חמים warning_presets: add_new: הוספת חדש @@ -1067,7 +1097,9 @@ he: guide_link_text: כולם יכולים לתרום. sensitive_content: תוכן רגיש application_mailer: + notification_preferences: שינוי העדפות דוא"ל salutation: "%{name}," + settings: 'שינוי הגדרות דוא"ל: %{link}' unsubscribe: בטל מנוי view: 'תצוגה:' view_profile: צפיה בפרופיל @@ -1087,6 +1119,7 @@ he: hint_html: עוד דבר אחד, עלינו לאשרר שאת(ה) אנושיים (לצורך סינון ספאם). נא לפתור את הקאפצ'ה להלן וללחוץ "המשך". title: בדיקות אבטחה confirmations: + awaiting_review: כתובת הדואל שלך אושרה! צוות %{domain} עכשיו יבדוק את הרשמתך. תשלח אליך הודעת דואל אם הצוות יאשר את החשבון! awaiting_review_title: הרשמתך עוברת בדיקה clicking_this_link: לחיצה על קישור זה login_link: כניסה @@ -1094,6 +1127,7 @@ he: redirect_to_app_html: כאן אמורה היתה להיות הפניה אוטמטית ליישומון %{app_name}. אם זה לא קרה, ניתן לנסות שוב על ידי %{clicking_this_link} או חזרה ידנית אל היישומון. registration_complete: הרשמתך לשרת %{domain} הושלמה כעת! welcome_title: ברוך/ה הבא/ה, %{name}! + wrong_email_hint: אם כתובת הדואל הזו איננה נכונה, ניתן לשנות אותה בעמוד ההגדרות. delete_account: מחיקת חשבון delete_account_html: אם ברצונך למחוק את החשבון, ניתן להמשיך כאן. תתבקש/י לספק אישור נוסף. description: @@ -1114,6 +1148,7 @@ he: or_log_in_with: או התחבר באמצעות privacy_policy_agreement_html: קראתי והסכמתי למדיניות הפרטיות progress: + confirm: אימות כתובת הדואל details: הפרטים שלך review: הבדיקה שלנו rules: הסכמה לתקנות @@ -1135,8 +1170,10 @@ he: security: אבטחה set_new_password: סיסמה חדשה setup: + email_below_hint_html: אנא בדקו בתיקיית הספאם, או בקשו קוד חדש. ניתן לתקן את הכתובת אם נפלה תקלדה. email_settings_hint_html: לחצו על הקישור שנשלח כדי לאשר את הכתובת %{email}. אנו ממתינים פה. link_not_received: לא קיבלת קישור? + new_confirmation_instructions_sent: אתם עומדים לקבל הודעת דואל חדשה עם קיש/ור אימות בדקות הקרובות! title: בדוק/בדקי את תיבת הדואר הנכנס שלך sign_in: preamble_html: הכנס.י עם שם וסיסמה מאתר %{domain}. אם חשבונך מתארח בשרת אחר, לא ניתן להתחבר איתו פה. @@ -1147,7 +1184,9 @@ he: title: הבה ניצור לך חשבון בשרת %{domain}. status: account_status: מצב חשבון + confirming: ממתין שדוא"ל האישור יושלם. functional: החשבון שלכם פעיל לגמרי. + pending: בקשתך ממתינה לאישור על ידי הצוות שלנו. זה עשוי לקחת זמן מה. דוא"ל יישלח אליך אם בקשתך התקבלה. redirecting_to: חשבונכם לא פעיל כעת מכיוון שמפנה ל%{acct}. self_destruct: מכיוון שהשרת %{domain} בתהליכי סגירה, תהיה לך גישה מוגבלת בלבד לחשבונך. view_strikes: צפיה בעברות קודמות שנרשמו נגד חשבונך @@ -1190,6 +1229,9 @@ he: before: 'לפני שנמשיך, נא לקרוא בזהירות את ההערות הבאות:' caches: מידע שהוטמן על ידי שרתים אחרים עשוי להתמיד data_removal: הודעותיך וכל מידע אחר יוסרו לתמיד + email_change_html: ניתן לשנות את כתובת הדוא"ל שלך מבלי למחוק את החשבון + email_contact_html: אם הוא עדיין לא הגיע, ניתן לקבל עזרה על ידי משלוח דואל ל-%{email} + email_reconfirmation_html: אם לא מתקבל דוא"ל האישור, ניתן לבקש אותו שוב irreversible: לא ניתן יהיה לשחזר או להפעיל מחדש את חשבונך more_details_html: לפרטים נוספים, ראו את מדיניות הפרטיות. username_available: שם המשתמש שלך שוב יהיה זמין @@ -1438,6 +1480,7 @@ he: authentication_methods: otp: יישומון אימות דו-שלבי password: סיסמה + sign_in_token: קוד אימות בדוא"ל webauthn: מפתחות אבטחה description_html: אם את/ה רואה פעילות שאינך מזהה, אנא שנה/י את סיסמתך והפעל/י אימות דו-גורמי. empty: הסטוריית אימותים אינה זמינה @@ -1448,6 +1491,16 @@ he: unsubscribe: action: כן, לבטל הרשמה complete: הפסקת הרשמה + confirmation_html: יש לאשר את ביטול ההרשמה להודעות %{type} ממסטודון בשרת %{domain} לכתובת הדואל %{email}. תמיד אפשר להרשם מחדש בכיוונוני הודעות דואל. + emails: + notification_emails: + favourite: הודעות דואל לגבי חיבובים + follow: הודעות דואל לגבי עוקבים חדשים + follow_request: הודעות דואל לגבי בקשות מעקב + mention: הודעות דואל לגבי איזכורים + reblog: הודעות דואל לגבי הידהודים + resubscribe_html: אם ביטול ההרשמה היה בטעות, ניתן להרשם מחדש מתוך מסך הגדרות ההרשמה שלך. + success_html: לא יגיעו אליך יותר הודעות %{type} משרת מסטודון %{domain} לכתובת הדואל %{email}. title: הפסקת הרשמה media_attachments: validations: @@ -1528,6 +1581,8 @@ he: update: subject: "%{name} ערכו הודעה" notifications: + administration_emails: התראות לדוא"ל חשבון מנהל + email_events: ארועים להתראות דוא"ל email_events_hint: 'בחר/י ארועים עבורים תרצה/י לקבל התראות:' number: human: @@ -1686,6 +1741,7 @@ he: import: יבוא import_and_export: יבוא ויצוא migrate: הגירת חשבון + notifications: התראות בדואל preferences: העדפות profile: פרופיל relationships: נעקבים ועוקבים @@ -1946,6 +2002,7 @@ he: invalid_otp_token: קוד דו-שלבי שגוי otp_lost_help_html: אם איבדת גישה לשניהם, ניתן ליצור קשר ב-%{email} rate_limited: יותר מדי ניסיונות אימות, נסו שוב מאוחר יותר. + seamless_external_login: את.ה מחובר דרך שירות חיצוני, לכן אפשרויות הסיסמא והדוא"ל לא מאופשרות. signed_in_as: 'מחובר בתור:' verification: extra_instructions_html: טיפ: הלינק באתר שלך יכול להיות מוסתר. החלק החשוב הוא rel="me" שמונע התחזות על אתרים עם תוכן משתמשים. ניתן גם ליצור תגית link בכותרת העמוד במקום קישור a אבל קוד ה־HTML חייב להופיע שם ללא הרצה של ג'אווהסקריפט. diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 8775ed543c..5eb4d04881 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -1194,7 +1194,7 @@ hu: caches: Más szerverek által cache-elt tartalmak még megmaradhatnak data_removal: Bejegyzéseid és minden más adatod véglegesen törlődni fog email_change_html: Megváltoztathatod az e-mail-címed a fiókod törlése nélkül - email_contact_html: Ha még mindig nem érkezik meg, akkor segítségért írjon a(z) %{email} e-mail-címre + email_contact_html: Ha még mindig nem érkezik meg, akkor segítségért írj a(z) %{email} e-mail-címre email_reconfirmation_html: Ha nem kaptad meg a megerősítő e-mailt, itt újrakérheted irreversible: Nem fogod tudni visszaállítani vagy újraaktiválni a fiókodat more_details_html: A részletekért nézd meg az adatvédelmi szabályzatot. diff --git a/config/locales/kab.yml b/config/locales/kab.yml index b45450de04..3aed6c55e7 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -429,6 +429,9 @@ kab: action: Wali ileqqman yellan software_version_patch_check: action: Wali ileqqman yellan + tags: + search: Anadi + title: Ihacṭagen title: Tadbelt trends: allow: Sireg @@ -476,6 +479,7 @@ kab: title: Asefqed n tɣellist confirmations: clicking_this_link: tekki ɣef wassaɣ-a + login_link: qqen proceed_to_login_html: Tzemreḍ tura ad tkemmleḍ ɣer %{login_link}. welcome_title: Ansuf yessek·em, %{name}! delete_account: Kkes amiḍan @@ -493,6 +497,7 @@ kab: or_log_in_with: Neɣ eqqen s privacy_policy_agreement_html: Ɣriɣ yerna qebleɣ tasertit n tbaḍnit progress: + confirm: Sentem imayl details: Isalli-inek review: Tamuɣli-nneɣ rules: Qbel ilugan @@ -566,6 +571,7 @@ kab: 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." + other: Ayen nniḍen errors: '404': Asebter i tettnadiḍ ulac-it da. '500': diff --git a/config/locales/lad.yml b/config/locales/lad.yml index 0267892fc8..40be2627da 100644 --- a/config/locales/lad.yml +++ b/config/locales/lad.yml @@ -31,6 +31,7 @@ lad: created_msg: Nota de moderasyon kriyada kon sukseso! destroyed_msg: Nota de moderasyon destruida kon sukseso! accounts: + add_email_domain_block: Bloka domeno de posta approve: Achetar approved_msg: La solisitasyon de enrejistrasyon de %{username} achetada djustamente are_you_sure: Estas siguro? @@ -57,6 +58,7 @@ lad: demote: Degrada destroyed_msg: Los datos de %{username} estan agora en kola para ser supremir pishin disable: Inkapasita + disable_sign_in_token_auth: Inkapasita la autentifikasyon por token de posta elektronika disable_two_factor_authentication: Inkapasita autentifikasyon en dos pasos disabled: Inkapasitada display_name: Nombre amostrado @@ -65,6 +67,7 @@ lad: email: Posta elektronika email_status: Estatus de posta enable: Kapasita + enable_sign_in_token_auth: Kapasita la autentifikasyon por token de posta elektronika enabled: Kapasitada enabled_msg: El kuento de %{username} fue kapasitado djustamente followers: Suivantes @@ -129,6 +132,7 @@ lad: resubscribe: Reabona role: Rolo search: Bushka + search_same_email_domain: Otros utilizadores kon el mezmo domeno de posta search_same_ip: Otros utilizadores kon el mezmo adreso IP security: Sigurita security_measures: @@ -169,21 +173,26 @@ lad: approve_appeal: Acheta apelasyon approve_user: Acheta utilizador assigned_to_self_report: Asinya raporto + change_email_user: Troka posta elektronika del utilizador change_role_user: Troka rolo de utilizador confirm_user: Konfirma utilizador create_account_warning: Kriya avertensya create_announcement: Kriya pregon + create_canonical_email_block: Kriya bloko de posta elektronika create_custom_emoji: Kriya emoji personalizado create_domain_allow: Kriya permiso de domeno create_domain_block: Kriya bloko de domeno + create_email_domain_block: Kriya bloko de domeno de posta create_ip_block: Kriya regla de IP create_unavailable_domain: Kriya domeno no desponivle create_user_role: Kriya rolo demote_user: Degrada utilizador destroy_announcement: Efasa pregon + destroy_canonical_email_block: Efasa bloko de posta elektronika destroy_custom_emoji: Efasa emoji personalizado destroy_domain_allow: Efasa permiso de domeno destroy_domain_block: Efasa bloko de domeno + destroy_email_domain_block: Efasa bloko de domeno de posta destroy_instance: Efasa domeno destroy_ip_block: Efasa regla de IP destroy_status: Efasa publikasyon @@ -191,8 +200,10 @@ lad: destroy_user_role: Efasa rolo disable_2fa_user: Inkapasita autentifikasyon en dos pasos disable_custom_emoji: Inkapasita emoji personalizados + disable_sign_in_token_auth_user: Inkapasita la autentifikasyon por token de posta elektronika para el utilizador disable_user: Inkapasita utilizador enable_custom_emoji: Kapasita emoji personalizados + enable_sign_in_token_auth_user: Kapasita la autentifikasyon por token de posta para el utilizador enable_user: Kapasita utilizador memorialize_account: Transforma en kuento komemorativo promote_user: Promove utilizador @@ -221,20 +232,26 @@ lad: approve_appeal_html: "%{name} acheto la solisitasyon de moderasyon de %{target}" approve_user_html: "%{name} acheto el enrejistramiento de %{target}" assigned_to_self_report_html: "%{name} asinyo el raporto %{target} a si mezmo" + change_email_user_html: "%{name} troko el adreso de posta elektronika del utilizador %{target}" change_role_user_html: "%{name} troko el rolo de %{target}" + confirm_user_html: "%{name} konfirmo el adreso de posta elektronika del utilizador %{target}" create_account_warning_html: "%{name} embio una avertensya a %{target}" create_announcement_html: "%{name} kriyo un muevo pregon %{target}" + create_canonical_email_block_html: "%{name} bloko la posta elektronika kon el hash %{target}" create_custom_emoji_html: "%{name} kargo el muevo emoji %{target}" create_domain_allow_html: "%{name} perimitio la federasyon kon el domeno %{target}" create_domain_block_html: "%{name} bloko el domeno %{target}" + create_email_domain_block_html: "%{name} bloko el domeno de posta elektronika %{target}" create_ip_block_html: "%{name} kriyo una regla para IP %{target}" create_unavailable_domain_html: "%{name} detuvo las entregas al domeno %{target}" create_user_role_html: "%{name} kriyo el rolo %{target}" demote_user_html: "%{name} degrado a %{target}" destroy_announcement_html: "%{name} supremio el pregon %{target}" + destroy_canonical_email_block_html: "%{name} dezbloko la posta elektronika kon el hash %{target}" destroy_custom_emoji_html: "%{name} supremio el emoji %{target}" destroy_domain_allow_html: "%{name} bloko la federasyon kon el domeno %{target}" destroy_domain_block_html: "%{name} dezbloko el domeno %{target}" + destroy_email_domain_block_html: "%{name} dezbloko el domeno de posta elektronika %{target}" destroy_instance_html: "\"%{name} purgo el domeno %{target}" destroy_ip_block_html: "%{name} supremio una regla para la IP %{target}" destroy_status_html: "%{name} supremio una publikasyon de %{target}" @@ -242,8 +259,10 @@ lad: destroy_user_role_html: "%{name} supremio el rolo %{target}" disable_2fa_user_html: "%{name} dezaktivo el rekerimiento en dos pasos para el utilizador %{target}" disable_custom_emoji_html: "%{name} dezaktivo el emoji %{target}" + disable_sign_in_token_auth_user_html: "%{name} inkapasito la autentifikasyon por token de posta elektronika para %{target}" disable_user_html: "%{name} inkapasito la koneksion kon el kuento para el utilizador %{target}" enable_custom_emoji_html: "%{name} aktivo el emoji %{target}" + enable_sign_in_token_auth_user_html: "%{name} tiene kapasitado la autentifikasyon por token de posta elektronika para %{target}" enable_user_html: "%{name} kapasito koneksion kon kuento para el utilizador %{target}" memorialize_account_html: "%{name} konvirtio el kuento de %{target} en una pajina de bendicha memoria" promote_user_html: "%{name} promosyon al utilizador %{target}" @@ -251,6 +270,7 @@ lad: reject_user_html: "%{name} refuzo el enrejistramiento de %{target}" remove_avatar_user_html: "%{name} supremio la imaje de profil de %{target}" reopen_report_html: "%{name} reavrio el raporto %{target}" + resend_user_html: "%{name} tiene reembiado la posta de konfirmasyon para %{target}" reset_password_user_html: "%{name} reinisyo el kod del utilizador %{target}" resolve_report_html: "%{name} rezolvio el raporto %{target}" sensitive_account_html: "%{name} marko la multimedia de %{target} komo sensivle" @@ -410,6 +430,7 @@ lad: attempts_over_week: one: "\"%{count} prova durante la ultima semana" other: "%{count} provas de enrejistrarse durante la ultima semana" + created_msg: Domeno de posta blokado kon sukseso delete: Efasa dns: types: @@ -418,6 +439,7 @@ lad: new: create: Adjusta domeno resolve: Rezolve domeno + title: Bloka muevo domeno de posta not_permitted: Sin permiso resolved_through_html: Rezolvido por %{domain} export_domain_allows: @@ -848,7 +870,13 @@ lad: action: Ve aki para mas enformasyon message_html: "Tu magazinaje de objektos es mal konfigurado. La privasita de tus utilizadores esta en riziko." tags: + moderation: + title: Estado + name: Nombre + reset: Reinisya review: Estado de revizion + search: Bushka + title: Etiketas updated_msg: Konfigurasyon de etiketas aktualizada kon sukseso title: Administrasyon trends: @@ -1043,6 +1071,7 @@ lad: or_log_in_with: O konektate kon tu kuento kon privacy_policy_agreement_html: Tengo meldado i acheto la politika de privasita progress: + confirm: Konfirma posta details: Tus detalyos review: Muestra revizyon rules: Acheta reglas @@ -1361,6 +1390,15 @@ lad: unsubscribe: action: Si, dezabona complete: Dezabonado + emails: + notification_emails: + favourite: avizos de favoritos por posta + follow: avizos de segidores por posta + follow_request: avizos de solisitasyones de segimyento por posta + mention: avizos de enmentaduras por posta + reblog: avizos de repartajasyones por posta + resubscribe_html: Si tyenes deabonado por yerro, puedes reabonar en tus opsyones de avizos por posta elektronika. + success_html: Ya no risiviras %{type} de Mastodon en %{domain} a tu posta en %{email}. title: Dezabona media_attachments: validations: @@ -1441,6 +1479,8 @@ lad: update: subject: "%{name} edito una publikasyon" notifications: + administration_emails: Avizos de administrasyon por posta + email_events: Evenimyentos para avizos por posta email_events_hint: 'Eskoje los evenimientos para los kualos keres risivir avizos:' number: human: @@ -1599,6 +1639,7 @@ lad: import: Importo import_and_export: Importo i eksporto migrate: Migrasyon de kuento + notifications: Avizos por posta elektronika preferences: Preferensyas profile: Profil publiko relationships: Segidos i suivantes diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml index 744da9d055..f6d177badf 100644 --- a/config/locales/simple_form.ar.yml +++ b/config/locales/simple_form.ar.yml @@ -242,11 +242,13 @@ ar: warn: إخفاء بتحذير form_admin_settings: activity_api_enabled: نشر مُجمل الإحصائيات عن نشاط المستخدمين في واجهة برمجة التطبيقات API + app_icon: أيقونة التطبيق backups_retention_period: فترة الاحتفاظ بأرشيف المستخدم bootstrap_timeline_accounts: أوصي دائما بهذه الحسابات للمستخدمين الجدد closed_registrations_message: رسالة مخصصة عندما يكون التسجيل غير متاح content_cache_retention_period: مدة الاحتفاظ بالمحتوى البعيد custom_css: سي أس أس CSS مخصص + favicon: أيقونة المفضلة mascot: جالب حظ مخصص (قديم) media_cache_retention_period: مدة الاحتفاظ بالتخزين المؤقت للوسائط peers_api_enabled: نشر قائمة للخوادم المكتشَفة في واجهة برمجة التطبيقات API @@ -311,6 +313,7 @@ ar: listable: اسمح لهذا الوسم بالظهور في البحث وفي دليل الصفحات التعريفية name: الوسم trendable: السماح لهذه الكلمة المفتاحية بالظهور تحت المتداوَلة + usable: السماح للمنشورات باستخدام هذا الوسم محليا user: role: الدور time_zone: النطاق الزمني diff --git a/config/locales/simple_form.fr-CA.yml b/config/locales/simple_form.fr-CA.yml index 5edffb49d4..b9582fab74 100644 --- a/config/locales/simple_form.fr-CA.yml +++ b/config/locales/simple_form.fr-CA.yml @@ -237,10 +237,12 @@ fr-CA: warn: Cacher derrière un avertissement form_admin_settings: activity_api_enabled: Publie des statistiques agrégées sur l'activité des utilisateur⋅rice⋅s dans l'API + app_icon: Icône de l'appli backups_retention_period: Période d'archivage utilisateur bootstrap_timeline_accounts: Toujours recommander ces comptes aux nouveaux utilisateurs closed_registrations_message: Message personnalisé lorsque les inscriptions ne sont pas disponibles custom_css: CSS personnalisé + favicon: Favicon mascot: Mascotte personnalisée (héritée) media_cache_retention_period: Durée de rétention des médias dans le cache peers_api_enabled: Publie la liste des serveurs découverts dans l'API diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 9694b00b48..99e0e1f210 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -237,10 +237,12 @@ fr: warn: Cacher derrière un avertissement form_admin_settings: activity_api_enabled: Publie des statistiques agrégées sur l'activité des utilisateur⋅rice⋅s dans l'API + app_icon: Icône de l'appli backups_retention_period: Durée de rétention des archives utilisateur bootstrap_timeline_accounts: Toujours recommander ces comptes aux nouveaux⋅elles utilisateur⋅rice⋅s closed_registrations_message: Message personnalisé lorsque les inscriptions ne sont pas disponibles custom_css: CSS personnalisé + favicon: Favicon mascot: Mascotte personnalisée (héritée) media_cache_retention_period: Durée de rétention des médias dans le cache peers_api_enabled: Publie la liste des serveurs découverts dans l'API diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index a7074af0f9..9adaa31efc 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -99,9 +99,9 @@ gl: theme: Decorado que verán visitantes e novas usuarias. thumbnail: Imaxe con proporcións 2:1 mostrada xunto á información sobre o servidor. timeline_preview: Visitantes e usuarias non conectadas poderán ver as publicacións públicas máis recentes do servidor. - trendable_by_default: Omitir a revisión manual das tendencias. Poderás igualmente eliminar manualmente os elementos que vaian aparecendo. + trendable_by_default: Omitir a revisión manual dos contidos populares. Poderás igualmente eliminar manualmente os elementos que vaian aparecendo. trends: As tendencias mostran publicacións, cancelos e novas historias que teñen popularidade no teu servidor. - trends_as_landing_page: Mostrar contidos en voga para as persoas sen sesión iniciada e visitantes no lugar dunha descrición deste servidor. Require ter activado Tendencias. + trends_as_landing_page: Mostrar contidos en voga para as persoas sen sesión iniciada e visitantes no lugar dunha descrición deste servidor. Require ter activado Popularidade. form_challenge: current_password: Estás entrando nun área segura imports: @@ -303,7 +303,7 @@ gl: label: Hai unha nova versión de Mastodon dispoñible none: Non notificar nunca as actualizacións (non se aconsella) patch: Notificar as actualizacións de arranxos - trending_tag: Hai que revisar unha nova tendencia + trending_tag: Hai que revisar un novo tema popular rule: hint: Información adicional text: Regra diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 4add810bc6..eeeb117d6c 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -35,6 +35,7 @@ uk: created_msg: Нотатку модератора успішно створено! destroyed_msg: Нотатку модератора успішно видалено! accounts: + add_email_domain_block: Заблокувати домен до е-пошти approve: Схвалити approved_msg: Заявку на реєстрацію %{username} затверджено are_you_sure: Ви впевнені? @@ -61,6 +62,7 @@ uk: demote: Усунути destroyed_msg: Дані %{username} тепер в черзі на негайне видалення disable: Заморозити + disable_sign_in_token_auth: Вимкнути автентифікацію за допомогою токена е-пошти disable_two_factor_authentication: Вимкнути двофакторну авторизацію disabled: Вимкнено display_name: Відображуване ім'я @@ -69,6 +71,7 @@ uk: email: Електронна пошта email_status: Стан електронної пошти enable: Розморозити + enable_sign_in_token_auth: Увімкнути автентифікацію за допомогою токена е-пошти enabled: Увімкнено enabled_msg: Обліковий запис %{username} успішно розморожено followers: Підписники @@ -135,6 +138,7 @@ uk: resubscribe: Перепідписатися role: Роль search: Пошук + search_same_email_domain: Інші користувачі з тим самим доменом е-пошти search_same_ip: Інші користувачі з тим самим IP security: Безпека security_measures: @@ -175,21 +179,26 @@ uk: approve_appeal: Затвердити апеляцію approve_user: Затвердити користувачів assigned_to_self_report: Призначити звіт + change_email_user: Змінити електронну пошту для користувача change_role_user: Змінити роль користувача confirm_user: Підтвердити користувача create_account_warning: Створити попередження create_announcement: Створити оголошення + create_canonical_email_block: Створити блокування електронної пошти create_custom_emoji: Створити користувацьке емодзі create_domain_allow: Створити дозвіл на домен create_domain_block: Створити блокування домену + create_email_domain_block: Створити блокування домену е-пошти create_ip_block: Створити правило IP create_unavailable_domain: Створити недоступний домен create_user_role: Створити роль demote_user: Понизити користувача destroy_announcement: Видалити оголошення + destroy_canonical_email_block: Видалити блокування електронної пошти destroy_custom_emoji: Видалити користувацьке емодзі destroy_domain_allow: Видалити дозвіл на домен destroy_domain_block: Видалити блокування домену + destroy_email_domain_block: Видалити блокування домену е-пошти destroy_instance: Очистити домен destroy_ip_block: Видалити правило IP destroy_status: Видалити допис @@ -197,8 +206,10 @@ uk: destroy_user_role: Знищити роль disable_2fa_user: Вимкнути 2FA disable_custom_emoji: Вимкнути користувацькі емодзі + disable_sign_in_token_auth_user: Вимкнути автентифікацію за допомогою токена е-пошти для користувача disable_user: Відключити користувача enable_custom_emoji: Увімкнути користувацькі емодзі + enable_sign_in_token_auth_user: Увімкнути автентифікацію за допомогою токена е-пошти для користувача enable_user: Активувати користувача memorialize_account: Меморіалізувати акаунт promote_user: Підвищити користувача @@ -228,20 +239,26 @@ uk: approve_appeal_html: "%{name} затвердили звернення на оскарження рішення від %{target}" approve_user_html: "%{name} схвалює реєстрацію від %{target}" assigned_to_self_report_html: "%{name} створює скаргу %{target} на себе" + change_email_user_html: "%{name} змінює адресу е-пошти користувача %{target}" change_role_user_html: "%{name} змінює роль %{target}" + confirm_user_html: "%{name} підтверджує стан адреси е-пошти користувача %{target}" create_account_warning_html: "%{name} надсилає попередження до %{target}" create_announcement_html: "%{name} створює нове оголошення %{target}" + create_canonical_email_block_html: "%{name} блокує адресу е-пошти з хешем %{target}" create_custom_emoji_html: "%{name} завантажує нові емодзі %{target}" create_domain_allow_html: "%{name} дозволяє федерацію з доменом %{target}" create_domain_block_html: "%{name} блокує домен %{target}" + create_email_domain_block_html: "%{name} блокує домен електронної пошти %{target}" create_ip_block_html: "%{name} створює правило для IP %{target}" create_unavailable_domain_html: "%{name} зупиняє доставляння на домен %{target}" create_user_role_html: "%{name} створює роль %{target}" demote_user_html: "%{name} понижує користувача %{target}" destroy_announcement_html: "%{name} видаляє оголошення %{target}" + destroy_canonical_email_block_html: "%{name} розблоковує електронну пошту з хешем %{target}" destroy_custom_emoji_html: "%{name} видаляє емоджі %{target}" destroy_domain_allow_html: "%{name} скасовує федерацію з доменом %{target}" destroy_domain_block_html: "%{name} розблокує домен %{target}" + destroy_email_domain_block_html: "%{name} розблоковує домен електронної пошти %{target}" destroy_instance_html: "%{name} очищує домен %{target}" destroy_ip_block_html: "%{name} видаляє правило для IP %{target}" destroy_status_html: "%{name} вилучає допис %{target}" @@ -249,8 +266,10 @@ uk: destroy_user_role_html: "%{name} видаляє роль %{target}" disable_2fa_user_html: "%{name} вимикає двоетапну перевірку для користувача %{target}" disable_custom_emoji_html: "%{name} вимикає емодзі %{target}" + disable_sign_in_token_auth_user_html: "%{name} вимикає автентифікацію через токен е-пошти для %{target}" disable_user_html: "%{name} вимикає вхід для користувача %{target}" enable_custom_emoji_html: "%{name} вмикає емодзі %{target}" + enable_sign_in_token_auth_user_html: "%{name} вмикає автентифікацію через токен е-пошти для %{target}" enable_user_html: "%{name} вмикає вхід для користувача %{target}" memorialize_account_html: "%{name} перетворює обліковий запис %{target} на сторінку пам'яті" promote_user_html: "%{name} підвищує користувача %{target}" @@ -258,6 +277,7 @@ uk: reject_user_html: "%{name} відхиляє реєстрацію від %{target}" remove_avatar_user_html: "%{name} прибирає аватар %{target}" reopen_report_html: "%{name} знову відкриває звіт %{target}" + resend_user_html: "%{name} надсилає підтверджувальний лист для %{target}" reset_password_user_html: "%{name} скидає пароль користувача %{target}" resolve_report_html: "%{name} розв'язує скаргу %{target}" sensitive_account_html: "%{name} позначає медіа від %{target} делікатним" @@ -428,6 +448,7 @@ uk: many: "%{count} спроб входу за останній тиждень" one: "%{count} спроба за останній тиждень" other: "%{count} спроби входу за останній тиждень" + created_msg: Домен е-пошти заблоковано delete: Видалити dns: types: @@ -436,6 +457,8 @@ uk: new: create: Додати домен resolve: Розв'язати домен + title: Заблокувати новий домен е-пошти + no_email_domain_block_selected: Налаштування блокування доменів електронної пошти не змінено, оскільки жоден домен вибрано not_permitted: Не дозволено resolved_through_html: Розв'язано через %{domain} export_domain_allows: @@ -1412,6 +1435,7 @@ uk: authentication_methods: otp: застосунок двофакторної автентифікації password: пароль + sign_in_token: код безпеки е-поштою webauthn: ключі безпеки description_html: Якщо ви помітили невідомі вам дії, тоді подумайте про зміну свого пароля та можливість увімкнення двофакторної автентифікації. empty: Немає історії входів @@ -1422,6 +1446,15 @@ uk: unsubscribe: action: Так, відписатися complete: Відписалися + emails: + notification_emails: + favourite: отримувати сповіщення про вподобання електронною поштою + follow: отримувати сповіщення про підписки електронною поштою + follow_request: отримувати сповіщення про запити на стеження електронною поштою + mention: отримувати сповіщення про згадки електронною поштою + reblog: отримувати сповіщення про поширення електронною поштою + resubscribe_html: Якщо ви відписалися помилково, ви можете повторно підписатися в налаштуваннях сповіщень електронною поштою. + success_html: Ви більше не отримуватимете %{type} для Mastodon %{domain} на адресу %{email}. title: Відписатися media_attachments: validations: @@ -1502,6 +1535,8 @@ uk: update: subject: "%{name} змінює допис" notifications: + administration_emails: Сповіщення е-пошти адміністратора + email_events: Події, про які сповіщати електронною поштою email_events_hint: 'Оберіть події, про які ви хочете отримувати сповіщення:' number: human: @@ -1660,6 +1695,7 @@ uk: import: Імпорт import_and_export: Імпорт та експорт migrate: Міграція облікового запису + notifications: Сповіщення е-поштою preferences: Налаштування profile: Загальнодоступний профіль relationships: Підписки та підписники @@ -1920,6 +1956,7 @@ uk: invalid_otp_token: Введено неправильний код otp_lost_help_html: Якщо ви втратили доступ до обох, ви можете отримати доступ з %{email} rate_limited: Забагато спроб з'єднання. Спробуйте ще раз пізніше. + seamless_external_login: Ви увійшли за допомогою зовнішньої служби, тому налаштування пароля та електронної пошти недоступні. signed_in_as: 'Ви увійшли як:' verification: extra_instructions_html: Порада: Посилання на ваш сайт може бути невидимим. Важлива частина — це rel="me", яка не запобігає видаванню себе за іншу особу на вебсайтах з користувацьким наповненням. Ви навіть можете використовувати тег link у заголовку сторінки замість a, але HTML має бути доступним без виконання JavaScript. diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index c0403a0169..df1d1cc810 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -1218,7 +1218,7 @@ zh-TW: invalid_domain: 並非一個有效網域 edit_profile: basic_information: 基本資訊 - hint_html: "自訂人們能於您個人檔案及嘟文旁所見之內容。當您完成填寫個人檔案以及設定大頭貼後,其他人們比較願意跟隨您並與您互動。" + hint_html: "自訂人們能於您個人檔案及嘟文旁所見之內容。當您完成填寫個人檔案及設定大頭貼後,其他人們比較願意跟隨您並與您互動。" other: 其他 errors: '400': 您所送出的請求無效或格式不正確。 diff --git a/docker-compose.yml b/docker-compose.yml index 7a6f9be509..1c4ab536a8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -58,7 +58,7 @@ services: web: build: . - image: ghcr.io/mastodon/mastodon:v4.2.10 + image: ghcr.io/mastodon/mastodon:v4.2.11 restart: always env_file: .env.production command: bundle exec puma -C config/puma.rb @@ -79,7 +79,7 @@ services: streaming: build: . - image: ghcr.io/mastodon/mastodon:v4.2.10 + image: ghcr.io/mastodon/mastodon:v4.2.11 restart: always env_file: .env.production command: node ./streaming @@ -97,7 +97,7 @@ services: sidekiq: build: . - image: ghcr.io/mastodon/mastodon:v4.2.10 + image: ghcr.io/mastodon/mastodon:v4.2.11 restart: always env_file: .env.production command: bundle exec sidekiq