Merge commit 'a1ddaa9ee96ab1d05f4e37f3472b0418e0d5628e' into glitch-soc/merge-upstream

shrike
Claire 2024-08-14 21:17:43 +02:00
commit 169b35869f
69 changed files with 874 additions and 402 deletions

View File

@ -87,6 +87,7 @@
},
{
// Update devDependencies every week, with one grouped PR
matchManagers: ['npm'],
matchDepTypes: 'devDependencies',
matchUpdateTypes: ['patch', 'minor'],
groupName: 'devDependencies (non-major)',
@ -95,8 +96,7 @@
{
// Group all eslint-related packages with `eslint` in the same PR
matchManagers: ['npm'],
matchPackageNames: ['eslint'],
matchPackagePrefixes: ['eslint-', '@typescript-eslint/'],
matchPackageNames: ['eslint', 'eslint-*', '@typescript-eslint/*'],
matchUpdateTypes: ['patch', 'minor'],
groupName: 'eslint (non-major)',
},
@ -112,7 +112,8 @@
},
{
// Update @types/* packages every week, with one grouped PR
matchPackagePrefixes: '@types/',
matchManagers: ['npm'],
matchPackageNames: '@types/*',
matchUpdateTypes: ['patch', 'minor'],
groupName: 'DefinitelyTyped types (non-major)',
extends: ['schedule:weekly'],
@ -129,23 +130,21 @@
{
// Group all RuboCop packages with `rubocop` in the same PR
matchManagers: ['bundler'],
matchPackageNames: ['rubocop'],
matchPackagePrefixes: ['rubocop-'],
matchPackageNames: ['rubocop', 'rubocop-*'],
matchUpdateTypes: ['patch', 'minor'],
groupName: 'RuboCop (non-major)',
},
{
// Group all RSpec packages with `rspec` in the same PR
matchManagers: ['bundler'],
matchPackageNames: ['rspec'],
matchPackagePrefixes: ['rspec-'],
matchPackageNames: ['rspec', 'rspec-*'],
matchUpdateTypes: ['patch', 'minor'],
groupName: 'RSpec (non-major)',
},
{
// Group all opentelemetry-ruby packages in the same PR
matchManagers: ['bundler'],
matchPackagePrefixes: ['opentelemetry-'],
matchPackageNames: ['opentelemetry-*'],
matchUpdateTypes: ['patch', 'minor'],
groupName: 'opentelemetry-ruby (non-major)',
},

View File

@ -85,7 +85,7 @@ jobs:
tags: ${{ inputs.tags }}
labels: ${{ inputs.labels }}
- uses: docker/build-push-action@v5
- uses: docker/build-push-action@v6
with:
context: .
file: ${{ inputs.file_to_build }}

View File

@ -26,7 +26,7 @@ jobs:
# Download the translation files from Crowdin
- name: crowdin action
uses: crowdin/github-action@v1
uses: crowdin/github-action@v2
with:
config: crowdin-glitch.yml
upload_sources: false

View File

@ -26,7 +26,7 @@ jobs:
uses: actions/checkout@v4
- name: crowdin action
uses: crowdin/github-action@v1
uses: crowdin/github-action@v2
with:
config: crowdin-glitch.yml
upload_sources: true

View File

@ -10,6 +10,7 @@ permissions:
jobs:
label-rebase-needed:
runs-on: ubuntu-latest
if: github.repository == 'mastodon/mastodon'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

View File

@ -40,7 +40,6 @@ Style/FetchEnvVar:
- 'config/environments/production.rb'
- 'config/initializers/2_limited_federation_mode.rb'
- 'config/initializers/3_omniauth.rb'
- 'config/initializers/blacklists.rb'
- 'config/initializers/cache_buster.rb'
- 'config/initializers/devise.rb'
- 'config/initializers/paperclip.rb'

View File

@ -191,7 +191,7 @@ FROM build AS libvips
# libvips version to compile, change with [--build-arg VIPS_VERSION="8.15.2"]
# renovate: datasource=github-releases depName=libvips packageName=libvips/libvips
ARG VIPS_VERSION=8.15.2
ARG VIPS_VERSION=8.15.3
# libvips download URL, change with [--build-arg VIPS_URL="https://github.com/libvips/libvips/releases/download"]
ARG VIPS_URL=https://github.com/libvips/libvips/releases/download

View File

@ -168,7 +168,7 @@ GEM
climate_control (1.2.0)
cocoon (1.2.15)
color_diff (0.1)
concurrent-ruby (1.3.3)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
cose (1.3.0)
cbor (~> 0.5.9)
@ -460,8 +460,9 @@ GEM
concurrent-ruby (~> 1.0, >= 1.0.2)
sidekiq (>= 3.5)
statsd-ruby (~> 1.4, >= 1.4.0)
oj (3.16.4)
oj (3.16.5)
bigdecimal (>= 3.0)
ostruct (>= 0.2)
omniauth (2.1.2)
hashie (>= 3.4.6)
rack (>= 2.2.3)
@ -582,6 +583,7 @@ GEM
opentelemetry-semantic_conventions (1.10.1)
opentelemetry-api (~> 1.0)
orm_adapter (0.5.0)
ostruct (0.6.0)
ox (2.14.18)
parallel (1.25.1)
parser (3.3.4.0)
@ -601,7 +603,7 @@ GEM
actionmailer (>= 3)
net-smtp
premailer (~> 1.7, >= 1.7.9)
propshaft (0.9.0)
propshaft (0.9.1)
actionpack (>= 7.0.0)
activesupport (>= 7.0.0)
rack
@ -904,7 +906,7 @@ GEM
xorcist (1.1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.6.16)
zeitwerk (2.6.17)
PLATFORMS
ruby

View File

@ -187,4 +187,15 @@ class Auth::SessionsController < Devise::SessionsController
def second_factor_attempts_key(user)
"2fa_auth_attempts:#{user.id}:#{Time.now.utc.hour}"
end
def respond_to_on_destroy
respond_to do |format|
format.json do
render json: {
redirect_to: after_sign_out_path_for(resource_name),
}, status: 200
end
format.all { super }
end
end
end

View File

@ -47,7 +47,7 @@ function dispatchAssociatedRecords(
fetchedAccounts.push(notification.moderation_warning.target_account);
}
if ('status' in notification) {
if ('status' in notification && notification.status) {
fetchedStatuses.push(notification.status);
}
});
@ -119,7 +119,7 @@ export const processNewNotificationForGroups = createAppAsyncThunk(
if (
(notification.type === 'mention' || notification.type === 'update') &&
notification.status.filtered
notification.status?.filtered
) {
const filters = notification.status.filtered.filter((result) =>
result.filter.context.includes('notifications'),

View File

@ -60,12 +60,12 @@ export interface BaseNotificationGroupJSON {
interface NotificationGroupWithStatusJSON extends BaseNotificationGroupJSON {
type: NotificationWithStatusType;
status_id: string;
status_id: string | null;
}
interface NotificationWithStatusJSON extends BaseNotificationJSON {
type: NotificationWithStatusType;
status: ApiStatusJSON;
status: ApiStatusJSON | null;
}
interface ReportNotificationGroupJSON extends BaseNotificationGroupJSON {

View File

@ -1,12 +1,15 @@
import { FormattedMessage } from 'react-intl';
import classNames from 'classnames';
interface Props {
resource: JSX.Element;
url: string;
className?: string;
}
export const TimelineHint: React.FC<Props> = ({ resource, url }) => (
<div className='timeline-hint'>
export const TimelineHint: React.FC<Props> = ({ className, resource, url }) => (
<div className={classNames('timeline-hint', className)}>
<strong>
<FormattedMessage
id='timeline_hint.remote_resource_not_displayed'

View File

@ -45,14 +45,18 @@ class ColumnSettings extends PureComponent {
return (
<div className='column-settings'>
{alertsEnabled && browserSupport && browserPermission === 'denied' && (
<span className='warning-hint'><FormattedMessage id='notifications.permission_denied' defaultMessage='Desktop notifications are unavailable due to previously denied browser permissions request' /></span>
)}
<section>
<ClearColumnButton onClick={onClear} />
</section>
{alertsEnabled && browserSupport && browserPermission === 'denied' && (
<section>
<span className='warning-hint'>
<FormattedMessage id='notifications.permission_denied' defaultMessage='Desktop notifications are unavailable due to previously denied browser permissions request' />
</span>
</section>
)}
{alertsEnabled && browserSupport && browserPermission === 'default' && (
<section>
<span className='warning-hint'>

View File

@ -37,7 +37,11 @@ export const NotificationMention: React.FC<{
unread: boolean;
}> = ({ notification, unread }) => {
const [isDirect, isReply] = useAppSelector((state) => {
const status = state.statuses.get(notification.statusId) as Status;
const status = state.statuses.get(notification.statusId) as
| Status
| undefined;
if (!status) return [false, false] as const;
return [
status.get('visibility') === 'direct',

View File

@ -23,7 +23,7 @@ export const NotificationWithStatus: React.FC<{
icon: IconProp;
iconId: string;
accountIds: string[];
statusId: string;
statusId: string | undefined;
count: number;
labelRenderer: LabelRenderer;
unread: boolean;
@ -76,6 +76,8 @@ export const NotificationWithStatus: React.FC<{
[dispatch, statusId],
);
if (!statusId) return null;
return (
<HotKeys handlers={handlers}>
<div

View File

@ -629,7 +629,7 @@ class Status extends ImmutablePureComponent {
const isIndexable = !status.getIn(['account', 'noindex']);
if (!isLocal) {
remoteHint = <TimelineHint url={status.get('url')} resource={<FormattedMessage id='timeline_hint.resources.replies' defaultMessage='Some replies' />} />;
remoteHint = <TimelineHint className={classNames(!!descendants && 'timeline-hint--with-descendants')} url={status.get('url')} resource={<FormattedMessage id='timeline_hint.resources.replies' defaultMessage='Some replies' />} />;
}
const handlers = {

View File

@ -25,7 +25,7 @@ export const ConfirmLogOutModal: React.FC<BaseConfirmationModalProps> = ({
const intl = useIntl();
const onConfirm = useCallback(() => {
logOut();
void logOut();
}, []);
return (

View File

@ -482,6 +482,8 @@
"notification.favourite": "{name} направи любима публикацията ви",
"notification.follow": "{name} ви последва",
"notification.follow_request": "{name} поиска да ви последва",
"notification.label.mention": "Споменаване",
"notification.mention": "Споменаване",
"notification.moderation-warning.learn_more": "Научете повече",
"notification.moderation_warning": "Получихте предупреждение за модериране",
"notification.moderation_warning.action_delete_statuses": "Някои от публикациите ви са премахнати.",
@ -503,12 +505,15 @@
"notification.update": "{name} промени публикация",
"notification_requests.accept": "Приемам",
"notification_requests.dismiss": "Отхвърлям",
"notification_requests.enter_selection_mode": "Изберете",
"notification_requests.exit_selection_mode": "Отказ",
"notification_requests.explainer_for_limited_account": "Известията от този акаунт са прецедени, защото акаунтът е ограничен от модератор.",
"notification_requests.explainer_for_limited_remote_account": "Известията от този акаунт са прецедени, защото акаунтът или сървърът му е ограничен от модератор.",
"notification_requests.maximize": "Максимизиране",
"notification_requests.minimize_banner": "Минимизиране на банера за филтрирани известия",
"notification_requests.notifications_from": "Известия от {name}",
"notification_requests.title": "Филтрирани известия",
"notification_requests.view": "Преглед на известията",
"notifications.clear": "Изчистване на известията",
"notifications.clear_confirmation": "Наистина ли искате да изчистите завинаги всичките си известия?",
"notifications.clear_title": "Изчиствате ли известията?",
@ -545,6 +550,9 @@
"notifications.permission_denied": "Известията на работния плот не са налични поради предварително отказана заявка за разрешение в браузъра",
"notifications.permission_denied_alert": "Известията на работния плот не могат да се включат, тъй като разрешението на браузъра е отказвано преди",
"notifications.permission_required": "Известията на работния плот ги няма, щото няма дадено нужното позволение.",
"notifications.policy.accept": "Приемам",
"notifications.policy.accept_hint": "Показване в известия",
"notifications.policy.filter": "Филтър",
"notifications.policy.filter_limited_accounts_hint": "Ограничено от модераторите на сървъра",
"notifications.policy.filter_limited_accounts_title": "Модерирани акаунти",
"notifications.policy.filter_new_accounts.hint": "Сътворено през {days, plural, one {последния ден} other {последните # дена}}",

View File

@ -11,6 +11,7 @@
"about.not_available": "Nid yw'r wybodaeth hon ar gael ar y gweinydd hwn.",
"about.powered_by": "Cyfrwng cymdeithasol datganoledig wedi ei yrru gan {mastodon}",
"about.rules": "Rheolau'r gweinydd",
"account.account_note_header": "Nodyn personol",
"account.add_or_remove_from_list": "Ychwanegu neu Ddileu o'r rhestrau",
"account.badges.bot": "Bot",
"account.badges.group": "Grŵp",
@ -299,6 +300,7 @@
"filter_modal.select_filter.subtitle": "Defnyddiwch gategori sy'n bodoli eisoes neu crëu un newydd",
"filter_modal.select_filter.title": "Hidlo'r postiad hwn",
"filter_modal.title.status": "Hidlo postiad",
"filtered_notifications_banner.pending_requests": "Gan {count, plural, =0 {no one} one {un person} two {# berson} few {# pherson} other {# person}} efallai eich bod yn eu hadnabod",
"filtered_notifications_banner.title": "Hysbysiadau wedi'u hidlo",
"firehose.all": "Popeth",
"firehose.local": "Gweinydd hwn",
@ -354,6 +356,17 @@
"home.pending_critical_update.link": "Gweld y diweddariadau",
"home.pending_critical_update.title": "Mae diweddariad diogelwch hanfodol ar gael!",
"home.show_announcements": "Dangos cyhoeddiadau",
"ignore_notifications_modal.disclaimer": "Ni all Mastodon hysbysu defnyddwyr eich bod wedi anwybyddu eu hysbysiadau. Ni fydd anwybyddu hysbysiadau yn atal y negeseuon eu hunain rhag cael eu hanfon.",
"ignore_notifications_modal.filter_instead": "Hidlo yn lle hynny",
"ignore_notifications_modal.filter_to_act_users": "Byddwch yn dal i allu derbyn, gwrthod neu adrodd ar ddefnyddwyr",
"ignore_notifications_modal.filter_to_avoid_confusion": "Mae hidlo yn helpu i osgoi dryswch posibl",
"ignore_notifications_modal.filter_to_review_separately": "Gallwch adolygu hysbysiadau wedi'u hidlo ar wahân",
"ignore_notifications_modal.ignore": "Anwybyddu hysbysiadau",
"ignore_notifications_modal.limited_accounts_title": "Anwybyddu hysbysiadau o gyfrifon wedi'u cymedroli?",
"ignore_notifications_modal.new_accounts_title": "Anwybyddu hysbysiadau o gyfrifon newydd?",
"ignore_notifications_modal.not_followers_title": "Anwybyddu hysbysiadau gan bobl nad ydynt yn eich dilyn?",
"ignore_notifications_modal.not_following_title": "Anwybyddu hysbysiadau gan bobl nad ydych yn eu dilyn?",
"ignore_notifications_modal.private_mentions_title": "Anwybyddu hysbysiadau o Grybwylliadau Preifat digymell?",
"interaction_modal.description.favourite": "Gyda chyfrif ar Mastodon, gallwch chi hoffi'r postiad hwn er mwyn roi gwybod i'r awdur eich bod chi'n ei werthfawrogi ac yn ei gadw ar gyfer nes ymlaen.",
"interaction_modal.description.follow": "Gyda chyfrif ar Mastodon, gallwch ddilyn {name} i dderbyn eu postiadau yn eich llif cartref.",
"interaction_modal.description.reblog": "Gyda chyfrif ar Mastodon, gallwch hybu'r postiad hwn i'w rannu â'ch dilynwyr.",
@ -472,6 +485,7 @@
"navigation_bar.security": "Diogelwch",
"not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.",
"notification.admin.report": "Adroddwyd ar {name} {target}",
"notification.admin.report_account": "{name} reported {count, plural, one {un post} other {# postsiadau}} from {target} for {category}",
"notification.admin.report_account_other": "Adroddodd {name} {count, plural, one {un post} two {# bost} few {# phost} other {# post}} gan {target}",
"notification.admin.report_statuses": "Adroddodd {name} {target} ar gyfer {category}",
"notification.admin.report_statuses_other": "Adroddodd {name} {target}",
@ -479,6 +493,11 @@
"notification.favourite": "Hoffodd {name} eich postiad",
"notification.follow": "Dilynodd {name} chi",
"notification.follow_request": "Mae {name} wedi gwneud cais i'ch dilyn",
"notification.label.mention": "Crybwyll",
"notification.label.private_mention": "Crybwyll preifat",
"notification.label.private_reply": "Ateb preifat",
"notification.label.reply": "Ateb",
"notification.mention": "Crybwyll",
"notification.moderation-warning.learn_more": "Dysgu mwy",
"notification.moderation_warning": "Rydych wedi derbyn rhybudd gan gymedrolwr",
"notification.moderation_warning.action_delete_statuses": "Mae rhai o'ch postiadau wedi'u dileu.",
@ -499,10 +518,26 @@
"notification.status": "{name} newydd ei bostio",
"notification.update": "Golygodd {name} bostiad",
"notification_requests.accept": "Derbyn",
"notification_requests.accept_all": "Derbyn y cyfan",
"notification_requests.accept_multiple": "{count, plural, one {Derbyn # cais} other {Derbyn # cais}}",
"notification_requests.confirm_accept_all.button": "Derbyn y cyfan",
"notification_requests.confirm_accept_all.message": "Rydych ar fin derbyn {count, plural, one {un cais hysbysu} other {# cais hysbysiad}}. A ydych yn siŵr eich bod am fwrw ymlaen?",
"notification_requests.confirm_accept_all.title": "Derbyn ceisiadau hysbysu?",
"notification_requests.confirm_dismiss_all.button": "Diystyru pob un",
"notification_requests.confirm_dismiss_all.message": "Rydych ar fin diystyru {count, plural, one {un cais hysbysu} other {# cais hysbysiad}}. Ni fyddwch yn gallu cyrchu {count, plural, one {it} other {them}} yn hawdd eto. A ydych yn siŵr eich bod am fwrw ymlaen?",
"notification_requests.confirm_dismiss_all.title": "Diystyru ceisiadau hysbysu?",
"notification_requests.dismiss": "Cau",
"notification_requests.dismiss_all": "Diystyru pob un",
"notification_requests.dismiss_multiple": "{count, plural, one {Diystyru # cais} other {Diystyru # cais}}",
"notification_requests.enter_selection_mode": "Dewis",
"notification_requests.exit_selection_mode": "Canslo",
"notification_requests.explainer_for_limited_account": "Mae hysbysiadau o'r cyfrif hwn wedi'u hidlo oherwydd bod y cyfrif wedi'i gyfyngu gan gymedrolwr.",
"notification_requests.explainer_for_limited_remote_account": "Mae hysbysiadau o'r cyfrif hwn wedi'u hidlo oherwydd bod y cyfrif neu ei weinydd wedi'i gyfyngu gan gymedrolwr.",
"notification_requests.maximize": "Mwyhau",
"notification_requests.minimize_banner": "Lleihau baner hysbysiadau wedi'u hidlo",
"notification_requests.notifications_from": "Hysbysiadau gan {name}",
"notification_requests.title": "Hysbysiadau wedi'u hidlo",
"notification_requests.view": "Gweld hysbysiadau",
"notifications.clear": "Clirio hysbysiadau",
"notifications.clear_confirmation": "Ydych chi'n siŵr eich bod am glirio'ch holl hysbysiadau am byth?",
"notifications.clear_title": "Clirio hysbysiadau?",
@ -539,6 +574,14 @@
"notifications.permission_denied": "Nid oes hysbysiadau bwrdd gwaith ar gael oherwydd cais am ganiatâd porwr a wrthodwyd yn flaenorol",
"notifications.permission_denied_alert": "Nid oes modd galluogi hysbysiadau bwrdd gwaith, gan fod caniatâd porwr wedi'i wrthod o'r blaen",
"notifications.permission_required": "Nid oes hysbysiadau bwrdd gwaith ar gael oherwydd na roddwyd y caniatâd gofynnol.",
"notifications.policy.accept": "Derbyn",
"notifications.policy.accept_hint": "Dangos mewn hysbysiadau",
"notifications.policy.drop": "Anwybyddu",
"notifications.policy.drop_hint": "Anfon i'r gwagle, byth i'w gweld eto",
"notifications.policy.filter": "Hidlo",
"notifications.policy.filter_hint": "Anfon i flwch derbyn hysbysiadau wedi'u hidlo",
"notifications.policy.filter_limited_accounts_hint": "Cyfyngedig gan gymedrolwyr gweinydd",
"notifications.policy.filter_limited_accounts_title": "Cyfrifon wedi'u cymedroli",
"notifications.policy.filter_new_accounts.hint": "Crëwyd o fewn {days, lluosog, un {yr un diwrnod} arall {y # diwrnod}} diwethaf",
"notifications.policy.filter_new_accounts_title": "Cyfrifon newydd",
"notifications.policy.filter_not_followers_hint": "Gan gynnwys pobl sydd wedi bod yn eich dilyn am llai {days, plural, un {nag un diwrnod} arall {na # diwrnod}}",
@ -547,19 +590,20 @@
"notifications.policy.filter_not_following_title": "Pobl nad ydych yn eu dilyn",
"notifications.policy.filter_private_mentions_hint": "Wedi'i hidlo oni bai ei fod mewn ymateb i'ch crybwylliad eich hun neu os ydych yn dilyn yr anfonwr",
"notifications.policy.filter_private_mentions_title": "Crybwylliadau preifat digymell",
"notifications.policy.title": "Rheoli hysbysiadau gan…",
"notifications_permission_banner.enable": "Galluogi hysbysiadau bwrdd gwaith",
"notifications_permission_banner.how_to_control": "I dderbyn hysbysiadau pan nad yw Mastodon ar agor, galluogwch hysbysiadau bwrdd gwaith. Gallwch reoli'n union pa fathau o ryngweithiadau sy'n cynhyrchu hysbysiadau bwrdd gwaith trwy'r botwm {icon} uchod unwaith y byddan nhw wedi'u galluogi.",
"notifications_permission_banner.title": "Peidiwch â cholli dim",
"onboarding.action.back": "Ewch â fi yn ôl",
"onboarding.actions.back": "Ewch â fi yn ôl",
"onboarding.actions.go_to_explore": "Gweld beth yw'r tuedd",
"onboarding.action.back": "Ewch â fi nôl",
"onboarding.actions.back": "Ewch â fi nôl",
"onboarding.actions.go_to_explore": "Gweld beth sy'n trendio",
"onboarding.actions.go_to_home": "Ewch i'ch ffrwd gartref",
"onboarding.compose.template": "Helo, #Mastodon!",
"onboarding.follows.empty": "Yn anffodus, nid oes modd dangos unrhyw ganlyniadau ar hyn o bryd. Gallwch geisio defnyddio chwilio neu bori'r dudalen archwilio i ddod o hyd i bobl i'w dilyn, neu ceisio eto yn nes ymlaen.",
"onboarding.follows.lead": "Rydych chi'n curadu eich ffrwd gartref eich hun. Po fwyaf o bobl y byddwch chi'n eu dilyn, y mwyaf egnïol a diddorol fydd hi. Gall y proffiliau hyn fod yn fan cychwyn da - gallwch chi bob amser eu dad-ddilyn yn nes ymlaen:",
"onboarding.follows.title": "Yn boblogaidd ar Mastodon",
"onboarding.profile.discoverable": "Gwnewch fy mhroffil yn un y gellir ei ddarganfod",
"onboarding.profile.discoverable_hint": "Pan fyddwch yn optio i mewn i ddarganfodadwyedd ar Mastodon, gall eich postiadau ymddangos mewn canlyniadau chwilio a thueddiadau, ac efallai y bydd eich proffil yn cael ei awgrymu i bobl sydd â diddordebau tebyg i chi.",
"onboarding.profile.discoverable_hint": "Pan fyddwch yn optio i mewn i ddarganfodadwyedd ar Mastodon, gall eich postiadau ymddangos mewn canlyniadau chwilio a threndiau, ac efallai y bydd eich proffil yn cael ei awgrymu i bobl sydd â diddordebau tebyg i chi.",
"onboarding.profile.display_name": "Enw dangos",
"onboarding.profile.display_name_hint": "Eich enw llawn neu'ch enw hwyl…",
"onboarding.profile.lead": "Gallwch chi bob amser gwblhau hyn yn ddiweddarach yn y gosodiadau, lle mae hyd yn oed mwy o ddewisiadau cyfaddasu ar gael.",
@ -787,6 +831,7 @@
"timeline_hint.remote_resource_not_displayed": "Nid yw {resource} o weinyddion eraill yn cael ei ddangos.",
"timeline_hint.resources.followers": "Dilynwyr",
"timeline_hint.resources.follows": "Yn dilyn",
"timeline_hint.resources.replies": "Rhai atebion",
"timeline_hint.resources.statuses": "Postiadau hŷn",
"trends.counter_by_accounts": "{count, plural, zero {neb} one {{counter} person} two {{counter} berson} few {{counter} pherson} other {{counter} o bobl}} yn y {days, plural, one {diwrnod diwethaf} two {ddeuddydd diwethaf} other {{days} diwrnod diwethaf}}",
"trends.trending_now": "Yn trendio nawr",

View File

@ -11,6 +11,7 @@
"about.not_available": "Zerbitzari honek ez du informazio hau eskuragarri jarri.",
"about.powered_by": "{mastodon} erabiltzen duen sare sozial deszentralizatua",
"about.rules": "Zerbitzariaren arauak",
"account.account_note_header": "Ohar pertsonala",
"account.add_or_remove_from_list": "Gehitu edo kendu zerrendetatik",
"account.badges.bot": "Bot-a",
"account.badges.group": "Taldea",
@ -34,7 +35,9 @@
"account.follow_back": "Jarraitu bueltan",
"account.followers": "Jarraitzaileak",
"account.followers.empty": "Ez du inork erabiltzaile hau jarraitzen oraindik.",
"account.followers_counter": "{count, plural, one {{counter} jarraitzaile} other {{counter} jarraitzaile}}",
"account.following": "Jarraitzen",
"account.following_counter": "{count, plural, one {{counter} jarraitzen} other {{counter} jarraitzen}}",
"account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.",
"account.go_to_profile": "Joan profilera",
"account.hide_reblogs": "Ezkutatu @{name} erabiltzailearen bultzadak",
@ -60,6 +63,7 @@
"account.requested_follow": "{name}-(e)k zu jarraitzeko eskaera egin du",
"account.share": "Partekatu @{name} erabiltzailearen profila",
"account.show_reblogs": "Erakutsi @{name} erabiltzailearen bultzadak",
"account.statuses_counter": "{count, plural, one {{counter} bidalketa} other {{counter} bidalketa}}",
"account.unblock": "Desblokeatu @{name}",
"account.unblock_domain": "Berriz erakutsi {domain}",
"account.unblock_short": "Desblokeatu",
@ -175,6 +179,7 @@
"confirmations.discard_edit_media.message": "Multimediaren deskribapen edo aurrebistan gorde gabeko aldaketak daude, baztertu nahi dituzu?",
"confirmations.edit.confirm": "Editatu",
"confirmations.edit.message": "Orain editatzen baduzu, une honetan idazten ari zaren mezua gainidatziko da. Ziur jarraitu nahi duzula?",
"confirmations.edit.title": "Gainidatzi bidalketa?",
"confirmations.logout.confirm": "Amaitu saioa",
"confirmations.logout.message": "Ziur saioa amaitu nahi duzula?",
"confirmations.logout.title": "Itxi saioa?",
@ -184,8 +189,10 @@
"confirmations.redraft.title": "Ezabatu eta berridatzi bidalketa?",
"confirmations.reply.confirm": "Erantzun",
"confirmations.reply.message": "Orain erantzuteak idazten ari zaren mezua gainidatziko du. Ziur jarraitu nahi duzula?",
"confirmations.reply.title": "Gainidatzi bidalketa?",
"confirmations.unfollow.confirm": "Utzi jarraitzeari",
"confirmations.unfollow.message": "Ziur {name} jarraitzeari utzi nahi diozula?",
"confirmations.unfollow.title": "Erabiltzailea jarraitzeari utzi?",
"conversation.delete": "Ezabatu elkarrizketa",
"conversation.mark_as_read": "Markatu irakurrita bezala",
"conversation.open": "Ikusi elkarrizketa",
@ -348,6 +355,12 @@
"home.pending_critical_update.link": "Ikusi eguneraketak",
"home.pending_critical_update.title": "Segurtasun eguneraketa kritikoa eskuragarri!",
"home.show_announcements": "Erakutsi iragarpenak",
"ignore_notifications_modal.filter_instead": "Iragazi ez ikusiarena egin beharrean",
"ignore_notifications_modal.ignore": "Ezikusi jakinarazpenak",
"ignore_notifications_modal.limited_accounts_title": "Moderatutako kontuen jakinarazpenei ez ikusiarena egin?",
"ignore_notifications_modal.new_accounts_title": "Kontu berrien jakinarazpenei ez ikusiarena egin?",
"ignore_notifications_modal.not_followers_title": "Jarraitzen ez zaituzten pertsonen jakinarazpenei ez ikusiarena egin?",
"ignore_notifications_modal.not_following_title": "Jarraitzen ez dituzun pertsonen jakinarazpenei ez ikusiarena egin?",
"interaction_modal.description.favourite": "Mastodon kontu batekin bidalketa hau gogoko egin dezakezu, egileari eskertzeko eta gerorako gordetzeko.",
"interaction_modal.description.follow": "Mastodon kontu batekin {name} jarraitu dezakezu bere bidalketak zure hasierako denbora lerroan jasotzeko.",
"interaction_modal.description.reblog": "Mastodon kontu batekin bidalketa hau bultzatu dezakezu, zure jarraitzaileekin partekatzeko.",
@ -466,6 +479,11 @@
"notification.favourite": "{name}(e)k zure bidalketa gogoko du",
"notification.follow": "{name}(e)k jarraitzen dizu",
"notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du",
"notification.label.mention": "Aipamena",
"notification.label.private_mention": "Aipamen pribatua",
"notification.label.private_reply": "Erantzun pribatua",
"notification.label.reply": "Erantzuna",
"notification.mention": "Aipamena",
"notification.moderation-warning.learn_more": "Informazio gehiago",
"notification.moderation_warning": "Moderazio-abisu bat jaso duzu",
"notification.moderation_warning.action_delete_statuses": "Argitalpen batzuk kendu dira.",
@ -476,6 +494,7 @@
"notification.moderation_warning.action_silence": "Kontua murriztu egin da.",
"notification.moderation_warning.action_suspend": "Kontua itxi da.",
"notification.own_poll": "Zure inkesta amaitu da",
"notification.poll": "Zuk erantzun duzun inkesta bat bukatu da",
"notification.reblog": "{name}(e)k bultzada eman dio zure bidalketari",
"notification.relationships_severance_event": "{name} erabiltzailearekin galdutako konexioak",
"notification.relationships_severance_event.account_suspension": "{from} zerbitzariko administratzaile batek {target} bertan behera utzi du, hau da, ezin izango dituzu jaso hango eguneratzerik edo hangoekin elkarreragin.",
@ -483,9 +502,19 @@
"notification.status": "{name} erabiltzaileak bidalketa egin berri du",
"notification.update": "{name} erabiltzaileak bidalketa bat editatu du",
"notification_requests.accept": "Onartu",
"notification_requests.accept_all": "Onartu dena",
"notification_requests.confirm_accept_all.button": "Onartu dena",
"notification_requests.confirm_accept_all.title": "Onartu jakinarazpen-eskaerak?",
"notification_requests.confirm_dismiss_all.button": "Baztertu guztiak",
"notification_requests.confirm_dismiss_all.title": "Baztertu jakinarazpen-eskaerak?",
"notification_requests.dismiss": "Baztertu",
"notification_requests.dismiss_all": "Baztertu guztiak",
"notification_requests.enter_selection_mode": "Hautatu",
"notification_requests.exit_selection_mode": "Utzi",
"notification_requests.maximize": "Maximizatu",
"notification_requests.notifications_from": "{name} erabiltzailearen jakinarazpenak",
"notification_requests.title": "Iragazitako jakinarazpenak",
"notification_requests.view": "Ikusi jakinarazpenak",
"notifications.clear": "Garbitu jakinarazpenak",
"notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?",
"notifications.clear_title": "Garbitu jakinarazpenak?",
@ -522,6 +551,14 @@
"notifications.permission_denied": "Mahaigaineko jakinarazpenak ez daude erabilgarri, nabigatzaileari baimen eskaera ukatu zitzaiolako",
"notifications.permission_denied_alert": "Mahaigaineko jakinarazpenak ezin dira gaitu, nabigatzaileari baimena ukatu zitzaiolako",
"notifications.permission_required": "Mahaigaineko jakinarazpenak ez daude erabilgarri, horretarako behar den baimena ez delako eman.",
"notifications.policy.accept": "Onartu",
"notifications.policy.accept_hint": "Erakutsi jakinarazpenetan",
"notifications.policy.drop": "Ezikusi",
"notifications.policy.drop_hint": "Hutsera bidali, ez erakutsi inoiz gehiago",
"notifications.policy.filter": "Iragazi",
"notifications.policy.filter_hint": "Bidali filtratutako jakinarazpenen sarrerako ontzira",
"notifications.policy.filter_limited_accounts_hint": "Zerbitzariaren moderatzaileek mugatuta",
"notifications.policy.filter_limited_accounts_title": "Moderatutako kontuak",
"notifications.policy.filter_new_accounts.hint": "Azken {days, plural, one {egunean} other {# egunetan}} sortua",
"notifications.policy.filter_new_accounts_title": "Kontu berriak",
"notifications.policy.filter_not_followers_hint": "{days, plural, one {Egun batez} other {# egunez}} baino gutxiago jarraitu zaituen jendea barne",
@ -530,6 +567,7 @@
"notifications.policy.filter_not_following_title": "Jarraitzen ez duzun jendea",
"notifications.policy.filter_private_mentions_hint": "Iragazita, baldin eta zure aipamenaren erantzuna bada edo bidaltzailea jarraitzen baduzu",
"notifications.policy.filter_private_mentions_title": "Eskatu gabeko aipamen pribatuak",
"notifications.policy.title": "Kudeatu honen jakinarazpaenak…",
"notifications_permission_banner.enable": "Gaitu mahaigaineko jakinarazpenak",
"notifications_permission_banner.how_to_control": "Mastodon irekita ez dagoenean jakinarazpenak jasotzeko, gaitu mahaigaineko jakinarazpenak. Mahaigaineko jakinarazpenak ze elkarrekintzak eragingo dituzten zehazki kontrolatu dezakezu goiko {icon} botoia erabiliz, gaituta daudenean.",
"notifications_permission_banner.title": "Ez galdu ezer inoiz",
@ -656,6 +694,7 @@
"report.unfollow_explanation": "Kontu hau jarraitzen ari zara. Zure denbora-lerro nagusian bere bidalketak ez ikusteko, jarraitzeari utzi.",
"report_notification.attached_statuses": "{count, plural, one {Bidalketa {count}} other {{count} bidalketa}} erantsita",
"report_notification.categories.legal": "Legala",
"report_notification.categories.legal_sentence": "eduki ilegala",
"report_notification.categories.other": "Bestelakoak",
"report_notification.categories.other_sentence": "bestelakoak",
"report_notification.categories.spam": "Spam",
@ -691,6 +730,7 @@
"server_banner.administered_by": "Administratzailea(k):",
"server_banner.server_stats": "Zerbitzariaren estatistikak:",
"sign_in_banner.create_account": "Sortu kontua",
"sign_in_banner.mastodon_is": "Mastodon gertatzen ari denari buruz egunean egoteko modurik onena da.",
"sign_in_banner.sign_in": "Hasi saioa",
"sign_in_banner.sso_redirect": "Hasi saioa edo izena eman",
"status.admin_account": "Ireki @{name} erabiltzailearen moderazio interfazea",
@ -766,6 +806,7 @@
"timeline_hint.remote_resource_not_displayed": "Beste zerbitzarietako {resource} ez da bistaratzen.",
"timeline_hint.resources.followers": "Jarraitzaileak",
"timeline_hint.resources.follows": "Jarraitzen",
"timeline_hint.resources.replies": "Erantzun batzuk",
"timeline_hint.resources.statuses": "Bidalketa zaharragoak",
"trends.counter_by_accounts": "{count, plural, one {Pertsona {counter}} other {{counter} pertsona}} azken {days, plural, one {egunean} other {{days} egunetan}}",
"trends.trending_now": "Joera orain",

View File

@ -358,7 +358,7 @@
"home.show_announcements": "Vís kunngerðir",
"ignore_notifications_modal.disclaimer": "Mastodon kann ikki upplýsa brúkarar um, at tú hevur latið sum um, at tú ikki hevur sæð teirra fráboðanir. At lata sum um, at tú ikki sær fráboðanir, forðar ikki, at boðini sjálv verða send.",
"ignore_notifications_modal.filter_instead": "Filtrera ístaðin",
"ignore_notifications_modal.filter_to_act_users": "Tú kann framvegis góðtaka, avvísa og melda brúkarar",
"ignore_notifications_modal.filter_to_act_users": "Tú kanst framvegis góðtaka, avvísa og melda brúkarar",
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtrering ger tað lættari at sleppa undan møguligum misskiljingum",
"ignore_notifications_modal.filter_to_review_separately": "Tú kanst kanna filtreraðar fráboðanir fyri seg",
"ignore_notifications_modal.ignore": "Lat sum um tú ikki sær fráboðanir",

View File

@ -11,6 +11,7 @@
"about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.",
"about.powered_by": "Réseau social décentralisé propulsé par {mastodon}",
"about.rules": "Règles du serveur",
"account.account_note_header": "Note personnelle",
"account.add_or_remove_from_list": "Ajouter ou enlever de listes",
"account.badges.bot": "Bot",
"account.badges.group": "Groupe",

View File

@ -11,6 +11,7 @@
"about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.",
"about.powered_by": "Réseau social décentralisé propulsé par {mastodon}",
"about.rules": "Règles du serveur",
"account.account_note_header": "Note personnelle",
"account.add_or_remove_from_list": "Ajouter ou retirer des listes",
"account.badges.bot": "Bot",
"account.badges.group": "Groupe",

View File

@ -284,15 +284,15 @@
"explore.trending_links": "חדשות",
"explore.trending_statuses": "הודעות",
"explore.trending_tags": "תגיות",
"filter_modal.added.context_mismatch_explanation": "קטגוריית הסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.",
"filter_modal.added.context_mismatch_explanation": "קטגוריית המסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.",
"filter_modal.added.context_mismatch_title": "אין התאמה להקשר!",
"filter_modal.added.expired_explanation": "פג תוקפה של קטגוריית הסינון הזו, יש צורך לשנות את תאריך התפוגה כדי שהסינון יוחל.",
"filter_modal.added.expired_title": "פג תוקף הפילטר!",
"filter_modal.added.expired_title": "פג תוקף המסנן!",
"filter_modal.added.review_and_configure": "לסקירה והתאמה מתקדמת של קטגוריית הסינון הזו, לכו ל{settings_link}.",
"filter_modal.added.review_and_configure_title": "אפשרויות סינון",
"filter_modal.added.settings_link": "דף הגדרות",
"filter_modal.added.short_explanation": "ההודעה הזו הוספה לקטגוריית הסינון הזו: {title}.",
"filter_modal.added.title": פילטר הוסף!",
"filter_modal.added.title": מסנן הוסף!",
"filter_modal.select_filter.context_mismatch": "לא חל בהקשר זה",
"filter_modal.select_filter.expired": "פג התוקף",
"filter_modal.select_filter.prompt_new": "קטגוריה חדשה {name}",
@ -356,8 +356,16 @@
"home.pending_critical_update.link": "צפיה בעדכונים",
"home.pending_critical_update.title": "יצא עדכון אבטחה חשוב!",
"home.show_announcements": "הצג הכרזות",
"ignore_notifications_modal.filter_instead": "לסנן במקום",
"ignore_notifications_modal.filter_to_act_users": "עדיין ביכולתך לקבל, לדחות ולדווח על משתמשים אחרים",
"ignore_notifications_modal.filter_to_avoid_confusion": "סינון מסייע למניעת בלבולים אפשריים",
"ignore_notifications_modal.filter_to_review_separately": "ניתן לסקור התראות מפולטרות בנפרד",
"ignore_notifications_modal.ignore": "להתעלם מהתראות",
"ignore_notifications_modal.limited_accounts_title": "להתעלם מהתראות מחשבונות תחת פיקוח?",
"ignore_notifications_modal.new_accounts_title": "להתעלם מהתראות מחשבונות חדשים?",
"ignore_notifications_modal.not_followers_title": "להתעלם מהתראות מא.נשים שאינם עוקביך?",
"ignore_notifications_modal.not_following_title": "להתעלם מהתראות מא.נשים שאינם נעקביך?",
"ignore_notifications_modal.private_mentions_title": "להתעלם מהתראות מאיזכורים פרטיים?",
"interaction_modal.description.favourite": "עם חשבון מסטודון, ניתן לחבב את ההודעה כדי לומר למחבר/ת שהערכת את תוכנו או כדי לשמור אותו לקריאה בעתיד.",
"interaction_modal.description.follow": "עם חשבון מסטודון, ניתן לעקוב אחרי {name} כדי לקבל את הפוסטים שלו/ה בפיד הבית.",
"interaction_modal.description.reblog": "עם חשבון מסטודון, ניתן להדהד את החצרוץ ולשתף עם עוקבים.",
@ -509,13 +517,26 @@
"notification.status": "{name} הרגע פרסמו",
"notification.update": "{name} ערכו הודעה",
"notification_requests.accept": "לקבל",
"notification_requests.accept_all": "לקבל את כל הבקשות",
"notification_requests.accept_multiple": "{count, plural,one {לאשר קבלת בקשה}other {לאשר קבלת # בקשות}}",
"notification_requests.confirm_accept_all.button": "לקבל את כל הבקשות",
"notification_requests.confirm_accept_all.message": "אתם עומדים לאשר {count, plural,one {בקשת התראה אחת}other {# בקשות התראה}}. להמשיך?",
"notification_requests.confirm_accept_all.title": "לקבל בקשות התראה?",
"notification_requests.confirm_dismiss_all.button": "דחיית כל הבקשות",
"notification_requests.confirm_dismiss_all.message": "אתם עומדים לדחות {count, plural,one {בקשת התראה}other {# בקשות התראה}}. לא תוכלו למצוא {count, plural,one {אותה}other {אותן}} בקלות אחר כך. להמשיך?",
"notification_requests.confirm_dismiss_all.title": "לדחות בקשות התראה?",
"notification_requests.dismiss": "לבטל",
"notification_requests.dismiss_all": "דחיית כל הבקשות",
"notification_requests.dismiss_multiple": "{count, plural,one {לדחות בקשה}other {לדחות # בקשות}} לקבלת התראה",
"notification_requests.enter_selection_mode": "בחירה",
"notification_requests.exit_selection_mode": "ביטול",
"notification_requests.explainer_for_limited_account": "התראות על פעולות חשבון זה סוננו כי חשבון זה הוגבל על ידי מנהלי הדיונים.",
"notification_requests.explainer_for_limited_remote_account": "התראות על פעולות חשבון זה סוננו כי חשבון זה או השרת שלו הוגבלו על ידי מנהלי הדיונים.",
"notification_requests.maximize": "הגדלה למקסימום",
"notification_requests.minimize_banner": "להקטין את כותרת ההודעות המפולטרות",
"notification_requests.minimize_banner": "להקטין את כותרת ההודעות המסוננות",
"notification_requests.notifications_from": "התראות מ־ {name}",
"notification_requests.title": "התראות מסוננות",
"notification_requests.view": "הצגת ההתראות",
"notifications.clear": "הסרת התראות",
"notifications.clear_confirmation": "להסיר את כל ההתראות לצמיתות ? ",
"notifications.clear_title": "לנקות התראות?",
@ -552,6 +573,12 @@
"notifications.permission_denied": "לא ניתן להציג התראות מסך כיוון כיוון שהרשאות דפדפן נשללו בעבר",
"notifications.permission_denied_alert": "לא ניתן לאפשר נוטיפיקציות מסך שכן הדפדפן סורב הרשאה בעבר",
"notifications.permission_required": "לא ניתן לאפשר נוטיפיקציות מסך כיוון שהרשאה דרושה לא ניתנה.",
"notifications.policy.accept": "אישור",
"notifications.policy.accept_hint": "הצגה בהתראות",
"notifications.policy.drop": "להתעלם",
"notifications.policy.drop_hint": "שליחה אל מצולות הנשיה, ולא יוודעו אודותיה לעולם",
"notifications.policy.filter": "מסנן",
"notifications.policy.filter_hint": "שליחה לתיבה נכנסת מסוננת",
"notifications.policy.filter_limited_accounts_hint": "הוגבל על ידי מנהלי הדיונים",
"notifications.policy.filter_limited_accounts_title": "חשבון מוגבל",
"notifications.policy.filter_new_accounts.hint": "נוצר {days, plural,one {ביום האחרון} two {ביומיים האחרונים} other {ב־# הימים האחרונים}}",
@ -562,6 +589,7 @@
"notifications.policy.filter_not_following_title": "משתמשים שאינך עוקב(ת) אחריהםן",
"notifications.policy.filter_private_mentions_hint": "מסונן אלא אם זו תשובה למינשון שלך או אם אתם עוקבים אחרי העונה",
"notifications.policy.filter_private_mentions_title": "מינשונים בפרטי שלא הוזמנו",
"notifications.policy.title": "ניהול התראות מ…",
"notifications_permission_banner.enable": "לאפשר נוטיפיקציות מסך",
"notifications_permission_banner.how_to_control": "כדי לקבל התראות גם כאשר מסטודון סגור יש לאפשר התראות מסך. ניתן לשלוט בדיוק איזה סוג של אינטראקציות יביא להתראות מסך דרך כפתור ה- {icon} מרגע שהן מאופשרות.",
"notifications_permission_banner.title": "לעולם אל תחמיץ דבר",
@ -802,6 +830,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 {אדם אחד} other {{count} א.נשים}} {days, plural, one {מאז אתמול} two {ביומיים האחרונים} other {במשך {days} הימים האחרונים}}",
"trends.trending_now": "נושאים חמים",

View File

@ -358,7 +358,7 @@
"home.show_announcements": "Közlemények megjelenítése",
"ignore_notifications_modal.disclaimer": "A Mastodon nem tudja értesíteni azokat a felhasználókat, akiknek figyelmen kívül hagytad az értesítéseit. Az értesítések figyelmen kívül hagyása nem állítja meg az üzenetek elküldését.",
"ignore_notifications_modal.filter_instead": "Inkább szűrés",
"ignore_notifications_modal.filter_to_act_users": "Továbbra is el tudja fogadni, el tudja utasítani vagy jelenteni tudja a felhasználókat",
"ignore_notifications_modal.filter_to_act_users": "Továbbra is el tudod fogadni, el tudod utasítani vagy tudod jelenteni a felhasználókat",
"ignore_notifications_modal.filter_to_avoid_confusion": "A szűrés segít elkerülni a lehetséges félreértéseket",
"ignore_notifications_modal.filter_to_review_separately": "A szűrt értesítések külön tekinthetők át",
"ignore_notifications_modal.ignore": "Értesítések figyelmen kívül hagyása",

View File

@ -358,7 +358,9 @@
"home.show_announcements": "Mostra annunci",
"ignore_notifications_modal.disclaimer": "Mastodon non può informare gli utenti che hai ignorato le loro notifiche. Ignorare le notifiche non impedirà l'invio dei messaggi stessi.",
"ignore_notifications_modal.filter_instead": "Filtra invece",
"ignore_notifications_modal.filter_to_act_users": "Potrai comunque accettare, rifiutare o segnalare gli utenti",
"ignore_notifications_modal.filter_to_avoid_confusion": "Il filtraggio aiuta a evitare potenziali confusioni",
"ignore_notifications_modal.filter_to_review_separately": "Puoi rivedere le notifiche filtrate separatamente",
"ignore_notifications_modal.ignore": "Ignora le notifiche",
"ignore_notifications_modal.limited_accounts_title": "Ignorare le notifiche dagli account moderati?",
"ignore_notifications_modal.new_accounts_title": "Ignorare le notifiche dai nuovi account?",
@ -575,6 +577,8 @@
"notifications.policy.accept": "Accetta",
"notifications.policy.accept_hint": "Mostra nelle notifiche",
"notifications.policy.drop": "Ignora",
"notifications.policy.drop_hint": "Scarta definitivamente, per non essere mai più visto",
"notifications.policy.filter": "Filtrare",
"notifications.policy.filter_hint": "Invia alla casella in arrivo delle notifiche filtrate",
"notifications.policy.filter_limited_accounts_hint": "Limitato dai moderatori del server",
"notifications.policy.filter_limited_accounts_title": "Account moderati",

View File

@ -486,7 +486,7 @@
"privacy.private.short": "Imeḍfaren",
"privacy.public.long": "Kra n win yellan deg Masṭudun neɣ berra-s",
"privacy.public.short": "Azayez",
"privacy.unlisted.long": "Kra kan n ilguritmen",
"privacy.unlisted.long": "Kra kan yiwarzimen",
"privacy_policy.last_updated": "Aleqqem aneggaru {date}",
"privacy_policy.title": "Tasertit tabaḍnit",
"recommended": "Yettuwelleh",
@ -629,6 +629,7 @@
"timeline_hint.remote_resource_not_displayed": "{resource} seg yiqeddacen-nniḍen ur d-ttwaskanent ara.",
"timeline_hint.resources.followers": "Imeḍfaṛen",
"timeline_hint.resources.follows": "T·Yeṭafaṛ",
"timeline_hint.resources.replies": "Kra tririyin",
"timeline_hint.resources.statuses": "Tisuffaɣ tiqdimin",
"trends.counter_by_accounts": "{count, plural, one {{counter} wemdan} other {{counter} medden}} deg {days, plural, one {ass} other {{days} wussan}} iɛeddan",
"trends.trending_now": "Ayen mucaɛen tura",

View File

@ -503,6 +503,8 @@
"notification.update": "{name} 님이 게시물을 수정했습니다",
"notification_requests.accept": "수락",
"notification_requests.dismiss": "지우기",
"notification_requests.enter_selection_mode": "선택",
"notification_requests.exit_selection_mode": "취소",
"notification_requests.maximize": "최대화",
"notification_requests.minimize_banner": "걸러진 알림 배너 최소화",
"notification_requests.notifications_from": "{name} 님으로부터의 알림",
@ -543,6 +545,9 @@
"notifications.permission_denied": "권한이 거부되었기 때문에 데스크탑 알림을 활성화할 수 없음",
"notifications.permission_denied_alert": "이전에 브라우저 권한이 거부되었기 때문에, 데스크탑 알림이 활성화 될 수 없습니다.",
"notifications.permission_required": "필요한 권한이 승인되지 않아 데스크탑 알림을 사용할 수 없습니다.",
"notifications.policy.accept": "허용",
"notifications.policy.drop": "무시",
"notifications.policy.filter": "필터",
"notifications.policy.filter_limited_accounts_hint": "서버 중재자에 의해 제한됨",
"notifications.policy.filter_limited_accounts_title": "중재된 계정",
"notifications.policy.filter_new_accounts.hint": "{days, plural, one {하루} other {#일}} 안에 만들어진",
@ -793,6 +798,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": "이전 {days}일 동안 {counter} 명의 사용자",
"trends.trending_now": "지금 유행 중",

View File

@ -40,7 +40,7 @@
"compose_form.direct_message_warning_learn_more": "Discere plura",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Tua ratio non est {clausa}. Quisquis te sequi potest ut visum accipiat nuntios tuos tantum pro sectatoribus.",
"compose_form.lock_disclaimer": "Tua ratio non est {locked}. Quisquis te sequi potest ut visum accipiat nuntios tuos tantum pro sectatoribus.",
"compose_form.lock_disclaimer.lock": "clausum",
"compose_form.placeholder": "What is on your mind?",
"compose_form.publish_form": "Barrire",
@ -128,6 +128,7 @@
"lightbox.next": "Secundum",
"lists.account.add": "Adde ad tabellās",
"lists.new.create": "Addere tabella",
"lists.subheading": "Tuae tabulae",
"load_pending": "{count, plural, one {# novum item} other {# nova itema}}",
"media_gallery.toggle_visible": "{number, plural, one {Cēla imaginem} other {Cēla imagines}}",
"moved_to_account_banner.text": "Tua ratione {disabledAccount} interdum reposita est, quod ad {movedToAccount} migrāvisti.",
@ -146,7 +147,7 @@
"notification.moderation_warning.action_sensitive": "Tua nuntia hinc sensibiliter notabuntur.",
"notification.moderation_warning.action_silence": "Ratio tua est limitata.",
"notification.moderation_warning.action_suspend": "Ratio tua suspensus est.",
"notification.own_poll": "Suffragium tuum terminatum est.",
"notification.own_poll": "Suffragium tuum terminatum est",
"notification.reblog": "{name} tuum nuntium amplificavit.",
"notification.relationships_severance_event.account_suspension": "Admin ab {from} {target} suspendit, quod significat nōn iam posse tē novitātēs ab eīs accipere aut cum eīs interagere.",
"notification.relationships_severance_event.domain_block": "Admin ab {from} {target} obsēcāvit, includēns {followersCount} ex tuīs sectātōribus et {followingCount, plural, one {# ratione} other {# rationibus}} quās sequeris.",
@ -161,7 +162,7 @@
"onboarding.actions.go_to_home": "Go to your home feed",
"onboarding.follows.lead": "Tua domus feed est principalis via Mastodon experīrī. Quō plūrēs persōnas sequeris, eō actīvior et interessantior erit. Ad tē incipiendum, ecce quaedam suāsiones:",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.profile.display_name_hint": "Tuum nomen completum aut tuum nomen ludens...",
"onboarding.profile.display_name_hint": "Tuum nomen completum aut tuum nomen ludens",
"onboarding.start.lead": "Nunc pars es Mastodonis, singularis, socialis medii platformae decentralis ubi—non algorismus—tuam ipsius experientiam curas. Incipiāmus in nova hac socialis regione:",
"onboarding.start.skip": "Want to skip right ahead?",
"onboarding.start.title": "Perfecisti eam!",

View File

@ -358,7 +358,9 @@
"home.show_announcements": "Rodyti skelbimus",
"ignore_notifications_modal.disclaimer": "„Mastodon“ negali informuoti naudotojų, kad ignoravai jų pranešimus. Ignoravus pranešimus, pačių pranešimų siuntimas nebus sustabdytas.",
"ignore_notifications_modal.filter_instead": "Filtruoti vietoj to",
"ignore_notifications_modal.filter_to_act_users": "Vis dar galėsi priimti, atmesti arba pranešti naudotojus.",
"ignore_notifications_modal.filter_to_avoid_confusion": "Filtravimas padeda išvengti galimos painiavos.",
"ignore_notifications_modal.filter_to_review_separately": "Filtruotus pranešimus gali peržiūrėti atskirai.",
"ignore_notifications_modal.ignore": "Ignoruoti pranešimus",
"ignore_notifications_modal.limited_accounts_title": "Ignoruoti pranešimus iš prižiūrėmų paskyrų?",
"ignore_notifications_modal.new_accounts_title": "Ignoruoti pranešimus iš naujų paskyrų?",
@ -514,13 +516,26 @@
"notification.status": "{name} ką tik paskelbė",
"notification.update": "{name} redagavo įrašą",
"notification_requests.accept": "Priimti",
"notification_requests.accept_all": "Priimti visus",
"notification_requests.accept_multiple": "{count, plural, one {Priimti # prašymą} few {Priimti # prašymus} many {Priimti # prašymo} other {Priimti # prašymų}}",
"notification_requests.confirm_accept_all.button": "Priimti visus",
"notification_requests.confirm_accept_all.message": "Ketini priimti {count, plural, one {# pranešimo prašymą} few {# pranešimų prašymus} many {# pranešimo prašymo} other {# pranešimų prašymų}}. Ar tikrai nori tęsti?",
"notification_requests.confirm_accept_all.title": "Priimti pranešimų prašymus?",
"notification_requests.confirm_dismiss_all.button": "Atmesti visus",
"notification_requests.confirm_dismiss_all.message": "Ketini atmesti {count, plural, one {# pranešimo prašymą} few {# pranešimų prašymus} many {# pranešimo prašymo} other {# pranešimų prašymų}}. Daugiau negalėsi lengvai pasiekti {count, plural, one {jo} few {jų} many {juos} other {jų}}. Ar tikrai nori tęsti?",
"notification_requests.confirm_dismiss_all.title": "Atmesti pranešimų prašymus?",
"notification_requests.dismiss": "Atmesti",
"notification_requests.dismiss_all": "Atmesti visus",
"notification_requests.dismiss_multiple": "{count, plural, one {Atmesti # prašymą} few {Atmesti # prašymus} many {Atmesti # prašymo} other {Atmesti # prašymų}}",
"notification_requests.enter_selection_mode": "Pasirinkti",
"notification_requests.exit_selection_mode": "Atšaukti",
"notification_requests.explainer_for_limited_account": "Pranešimai iš šios paskyros buvo filtruojami, nes prižiūrėtojas (-a) apribojo paskyrą.",
"notification_requests.explainer_for_limited_remote_account": "Pranešimai iš šios paskyros buvo filtruojami, nes prižiūrėtojas (-a) apribojo paskyrą arba serverį.",
"notification_requests.maximize": "Padidinti",
"notification_requests.minimize_banner": "Mažinti filtruotų pranešimų reklamjuostę",
"notification_requests.notifications_from": "Pranešimai iš {name}",
"notification_requests.title": "Filtruojami pranešimai",
"notification_requests.view": "Peržiūrėti pranešimus",
"notifications.clear": "Išvalyti pranešimus",
"notifications.clear_confirmation": "Ar tikrai nori visam laikui išvalyti visus pranešimus?",
"notifications.clear_title": "Valyti pranešimus?",
@ -810,6 +825,7 @@
"timeline_hint.remote_resource_not_displayed": "{resource} iš kitų serverių nerodomi.",
"timeline_hint.resources.followers": "Sekėjai",
"timeline_hint.resources.follows": "Seka",
"timeline_hint.resources.replies": "Kai kurie atsakymai",
"timeline_hint.resources.statuses": "Senesni įrašai",
"trends.counter_by_accounts": "{count, plural, one {{counter} žmogus} few {{counter} žmonės} many {{counter} žmogus} other {{counter} žmonių}} per {days, plural, one {dieną} few {{days} dienas} many {{days} dienas} other {{days} dienų}}",
"trends.trending_now": "Tendencinga dabar",

View File

@ -358,7 +358,9 @@
"home.show_announcements": "Vis kunngjeringar",
"ignore_notifications_modal.disclaimer": "Mastodon kan ikkje informera brukarane at du overser varsla deira. Å oversjå varsel vil ikkje hindra at meldingane blir sende.",
"ignore_notifications_modal.filter_instead": "Filtrer i staden",
"ignore_notifications_modal.filter_to_act_users": "Du kan framleis godta, avvisa eller rapportera brukarar",
"ignore_notifications_modal.filter_to_avoid_confusion": "Å filtrera hjelper til å unngå mogleg forvirring",
"ignore_notifications_modal.filter_to_review_separately": "Du kan gå gjennom filtrerte varslingar for seg",
"ignore_notifications_modal.ignore": "Oversjå varsel",
"ignore_notifications_modal.limited_accounts_title": "Oversjå varsel frå modererte kontoar?",
"ignore_notifications_modal.new_accounts_title": "Oversjå varsel frå nye kontoar?",

View File

@ -21,7 +21,7 @@ interface BaseNotificationGroup
interface BaseNotificationWithStatus<Type extends NotificationWithStatusType>
extends BaseNotificationGroup {
type: Type;
statusId: string;
statusId: string | undefined;
}
interface BaseNotification<Type extends NotificationType>
@ -126,7 +126,7 @@ export function createNotificationGroupFromJSON(
case 'update': {
const { status_id: statusId, ...groupWithoutStatus } = group;
return {
statusId,
statusId: statusId ?? undefined,
sampleAccountIds,
...groupWithoutStatus,
};
@ -183,7 +183,7 @@ export function createNotificationGroupFromNotificationJSON(
case 'mention':
case 'poll':
case 'update':
return { ...group, statusId: notification.status.id };
return { ...group, statusId: notification.status?.id };
case 'admin.report':
return { ...group, report: createReportFromJSON(notification.report) };
case 'severed_relationships':

View File

@ -1,36 +1,20 @@
export const logOut = () => {
const form = document.createElement('form');
import api from 'mastodon/api';
const methodInput = document.createElement('input');
methodInput.setAttribute('name', '_method');
methodInput.setAttribute('value', 'delete');
methodInput.setAttribute('type', 'hidden');
form.appendChild(methodInput);
export async function logOut() {
try {
const response = await api(false).delete<{ redirect_to?: string }>(
'/auth/sign_out',
{ headers: { Accept: 'application/json' }, withCredentials: true },
);
const csrfToken = document.querySelector<HTMLMetaElement>(
'meta[name=csrf-token]',
);
const csrfParam = document.querySelector<HTMLMetaElement>(
'meta[name=csrf-param]',
);
if (csrfParam && csrfToken) {
const csrfInput = document.createElement('input');
csrfInput.setAttribute('name', csrfParam.content);
csrfInput.setAttribute('value', csrfToken.content);
csrfInput.setAttribute('type', 'hidden');
form.appendChild(csrfInput);
if (response.status === 200 && response.data.redirect_to)
window.location.href = response.data.redirect_to;
else
console.error(
'Failed to log out, got an unexpected non-redirect response from the server',
response,
);
} catch (error) {
console.error('Failed to log out, response was an error', error);
}
const submitButton = document.createElement('input');
submitButton.setAttribute('type', 'submit');
form.appendChild(submitButton);
form.method = 'post';
form.action = '/auth/sign_out';
form.style.display = 'none';
document.body.appendChild(form);
submitButton.click();
};
}

View File

@ -713,7 +713,7 @@ body,
top: 15px;
.avatar {
border-radius: 4px;
border-radius: var(--avatar-border-radius);
width: 40px;
height: 40px;
}
@ -764,7 +764,7 @@ body,
top: 15px;
.avatar {
border-radius: 4px;
border-radius: var(--avatar-border-radius);
width: 40px;
height: 40px;
}
@ -888,6 +888,7 @@ a.name-tag,
.account {
padding: 0;
border: none;
&__avatar-wrapper {
margin-inline-start: 0;
@ -1611,7 +1612,7 @@ a.sparkline {
position: absolute;
inset-inline-start: 15px;
top: 15px;
border-radius: 4px;
border-radius: var(--avatar-border-radius);
width: 40px;
height: 40px;
}

View File

@ -1808,6 +1808,7 @@ body > [data-popper-placement] {
.account {
padding: 16px;
border-bottom: 1px solid var(--background-border-color);
.account__display-name {
flex: 1 1 auto;
@ -1996,13 +1997,14 @@ body > [data-popper-placement] {
.account__avatar {
display: block;
position: relative;
border-radius: var(--avatar-border-radius);
img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 4px;
border-radius: var(--avatar-border-radius);
}
&-inline {
@ -2836,7 +2838,7 @@ $ui-header-logo-wordmark-width: 99px;
overflow: hidden;
}
@media screen and (width >= 631px) {
@media screen and (width > $mobile-breakpoint) {
.columns-area {
padding: 0;
}
@ -4248,6 +4250,10 @@ a.status-card {
}
}
.timeline-hint--with-descendants {
border-top: 1px solid var(--background-border-color);
}
.regeneration-indicator {
text-align: center;
font-size: 16px;
@ -4498,10 +4504,19 @@ a.status-card {
opacity: 1;
z-index: 1;
position: relative;
border-left: 1px solid var(--background-border-color);
border-right: 1px solid var(--background-border-color);
border-bottom: 1px solid var(--background-border-color);
@media screen and (max-width: $no-gap-breakpoint) {
border-left: 0;
border-right: 0;
}
&.collapsed {
max-height: 0;
opacity: 0.5;