mirror of
https://github.com/glitch-soc/mastodon.git
synced 2025-12-14 08:19:05 +00:00
Merge commit '54ad57ea9527a58ac2b95159ed178ed7c737a89c' into glitch-soc/merge-upstream
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# This configuration was generated by
|
||||
# `rubocop --auto-gen-config --auto-gen-only-exclude --no-offense-counts --no-auto-gen-timestamp`
|
||||
# using RuboCop version 1.75.7.
|
||||
# using RuboCop version 1.75.8.
|
||||
# The point is for the user to remove these configuration records
|
||||
# one by one as the offenses are removed from the code base.
|
||||
# Note that changes in the inspected code, or installation of new
|
||||
@@ -35,13 +35,9 @@ Rails/OutputSafety:
|
||||
# Configuration parameters: AllowedVars.
|
||||
Style/FetchEnvVar:
|
||||
Exclude:
|
||||
- 'config/environments/production.rb'
|
||||
- 'config/initializers/2_limited_federation_mode.rb'
|
||||
- 'config/initializers/3_omniauth.rb'
|
||||
- 'config/initializers/cache_buster.rb'
|
||||
- 'config/initializers/devise.rb'
|
||||
- 'config/initializers/paperclip.rb'
|
||||
- 'config/initializers/vapid.rb'
|
||||
- 'lib/tasks/repo.rake'
|
||||
|
||||
# This cop supports safe autocorrection (--autocorrect).
|
||||
|
||||
4
Gemfile
4
Gemfile
@@ -74,7 +74,7 @@ gem 'premailer-rails'
|
||||
gem 'public_suffix', '~> 6.0'
|
||||
gem 'pundit', '~> 2.3'
|
||||
gem 'rack-attack', '~> 6.6'
|
||||
gem 'rack-cors', '~> 2.0', require: 'rack/cors'
|
||||
gem 'rack-cors', require: 'rack/cors'
|
||||
gem 'rails-i18n', '~> 8.0'
|
||||
gem 'redcarpet', '~> 3.6'
|
||||
gem 'redis', '~> 4.5', require: ['redis', 'redis/connection/hiredis']
|
||||
@@ -201,7 +201,7 @@ group :development, :test do
|
||||
gem 'faker', '~> 3.2'
|
||||
|
||||
# Generate factory objects
|
||||
gem 'fabrication', '~> 2.30'
|
||||
gem 'fabrication'
|
||||
|
||||
# Profiling tools
|
||||
gem 'memory_profiler', require: false
|
||||
|
||||
13
Gemfile.lock
13
Gemfile.lock
@@ -223,7 +223,7 @@ GEM
|
||||
tzinfo
|
||||
excon (1.2.5)
|
||||
logger
|
||||
fabrication (2.31.0)
|
||||
fabrication (3.0.0)
|
||||
faker (3.5.1)
|
||||
i18n (>= 1.8.11, < 2)
|
||||
faraday (2.13.1)
|
||||
@@ -455,7 +455,7 @@ GEM
|
||||
nokogiri (1.18.8)
|
||||
mini_portile2 (~> 2.8.2)
|
||||
racc (~> 1.4)
|
||||
oj (3.16.10)
|
||||
oj (3.16.11)
|
||||
bigdecimal (>= 3.0)
|
||||
ostruct (>= 0.2)
|
||||
omniauth (2.1.3)
|
||||
@@ -636,8 +636,9 @@ GEM
|
||||
rack (3.1.15)
|
||||
rack-attack (6.7.0)
|
||||
rack (>= 1.0, < 4)
|
||||
rack-cors (2.0.2)
|
||||
rack (>= 2.0.0)
|
||||
rack-cors (3.0.0)
|
||||
logger
|
||||
rack (>= 3.0.14)
|
||||
rack-oauth2 (2.2.1)
|
||||
activesupport
|
||||
attr_required
|
||||
@@ -972,7 +973,7 @@ DEPENDENCIES
|
||||
doorkeeper (~> 5.6)
|
||||
dotenv
|
||||
email_spec
|
||||
fabrication (~> 2.30)
|
||||
fabrication
|
||||
faker (~> 3.2)
|
||||
faraday-httpclient
|
||||
fast_blank (~> 1.0)
|
||||
@@ -1046,7 +1047,7 @@ DEPENDENCIES
|
||||
puma (~> 6.3)
|
||||
pundit (~> 2.3)
|
||||
rack-attack (~> 6.6)
|
||||
rack-cors (~> 2.0)
|
||||
rack-cors
|
||||
rack-test (~> 2.1)
|
||||
rails (~> 8.0)
|
||||
rails-i18n (~> 8.0)
|
||||
|
||||
@@ -45,6 +45,19 @@ export const HoverCardAccount = forwardRef<
|
||||
|
||||
const { familiarFollowers } = useFetchFamiliarFollowers({ accountId });
|
||||
|
||||
const relationship = useAppSelector((state) =>
|
||||
accountId ? state.relationships.get(accountId) : undefined,
|
||||
);
|
||||
const isMutual = relationship?.followed_by && relationship.following;
|
||||
const isFollower = relationship?.followed_by;
|
||||
const hasRelationshipLoaded = !!relationship;
|
||||
|
||||
const shouldDisplayFamiliarFollowers =
|
||||
familiarFollowers.length > 0 &&
|
||||
hasRelationshipLoaded &&
|
||||
!isMutual &&
|
||||
!isFollower;
|
||||
|
||||
return (
|
||||
<div
|
||||
ref={ref}
|
||||
@@ -85,7 +98,7 @@ export const HoverCardAccount = forwardRef<
|
||||
value={account.followers_count}
|
||||
renderer={FollowersCounter}
|
||||
/>
|
||||
{familiarFollowers.length > 0 && (
|
||||
{shouldDisplayFamiliarFollowers && (
|
||||
<>
|
||||
·
|
||||
<div className='hover-card__familiar-followers'>
|
||||
@@ -101,6 +114,22 @@ export const HoverCardAccount = forwardRef<
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
{(isMutual || isFollower) && (
|
||||
<>
|
||||
·
|
||||
{isMutual ? (
|
||||
<FormattedMessage
|
||||
id='account.mutual'
|
||||
defaultMessage='You follow each other'
|
||||
/>
|
||||
) : (
|
||||
<FormattedMessage
|
||||
id='account.follows_you'
|
||||
defaultMessage='Follows you'
|
||||
/>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<FollowButton accountId={accountId} />
|
||||
|
||||
@@ -873,7 +873,7 @@ export const AccountHeader: React.FC<{
|
||||
>
|
||||
<Avatar
|
||||
account={suspended || hidden ? undefined : account}
|
||||
size={90}
|
||||
size={92}
|
||||
/>
|
||||
</a>
|
||||
|
||||
@@ -912,7 +912,7 @@ export const AccountHeader: React.FC<{
|
||||
<div className='account__header__badges'>{badges}</div>
|
||||
)}
|
||||
|
||||
{account.id !== me && signedIn && (
|
||||
{account.id !== me && signedIn && !(suspended || hidden) && (
|
||||
<FamiliarFollowers accountId={accountId} />
|
||||
)}
|
||||
|
||||
|
||||
@@ -173,7 +173,7 @@ class AccountTimeline extends ImmutablePureComponent {
|
||||
prepend={
|
||||
<>
|
||||
<AccountHeader accountId={this.props.accountId} hideTabs={forceEmptyState} tagged={this.props.params.tagged} />
|
||||
<FeaturedCarousel accountId={this.props.accountId} />
|
||||
{!forceEmptyState && <FeaturedCarousel accountId={this.props.accountId} />}
|
||||
</>
|
||||
}
|
||||
alwaysPrepend
|
||||
|
||||
@@ -442,11 +442,14 @@ export const Audio: React.FC<{
|
||||
if (typeof startMuted !== 'undefined') {
|
||||
audioRef.current.muted = startMuted;
|
||||
}
|
||||
}, [setDuration, startTime, startVolume, startMuted]);
|
||||
|
||||
const handleCanPlayThrough = useCallback(() => {
|
||||
if (startPlaying) {
|
||||
void audioRef.current.play();
|
||||
resumeAudio();
|
||||
void audioRef.current?.play();
|
||||
}
|
||||
}, [setDuration, startTime, startVolume, startMuted, startPlaying]);
|
||||
}, [startPlaying, resumeAudio]);
|
||||
|
||||
const seekBy = (time: number) => {
|
||||
if (!audioRef.current) {
|
||||
@@ -591,6 +594,7 @@ export const Audio: React.FC<{
|
||||
onPause={handlePause}
|
||||
onProgress={handleProgress}
|
||||
onLoadedData={handleLoadedData}
|
||||
onCanPlayThrough={handleCanPlayThrough}
|
||||
onTimeUpdate={handleTimeUpdate}
|
||||
onVolumeChange={handleVolumeChange}
|
||||
crossOrigin='anonymous'
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Gweinyddion a gyfyngir",
|
||||
"about.contact": "Cysylltwch â:",
|
||||
"about.default_locale": "Rhagosodedig",
|
||||
"about.disclaimer": "Mae Mastodon yn feddalwedd cod agored rhydd ac o dan hawlfraint Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Dyw'r rheswm ddim ar gael",
|
||||
"about.domain_blocks.preamble": "Fel rheol, mae Mastodon yn caniatáu i chi weld cynnwys gan unrhyw weinyddwr arall yn y ffedysawd a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "Cyfyngedig",
|
||||
"about.domain_blocks.suspended.explanation": "Fydd data o'r gweinydd hwn ddim yn cael ei brosesu, ei gadw na'i gyfnewid, gan wneud unrhyw ryngweithio neu gyfathrebu gyda defnyddwyr o'r gweinydd hwn yn amhosibl.",
|
||||
"about.domain_blocks.suspended.title": "Wedi'i atal",
|
||||
"about.language_label": "Iaith",
|
||||
"about.not_available": "Dyw'r wybodaeth yma heb ei wneud ar gael ar y gweinydd hwn.",
|
||||
"about.powered_by": "Cyfrwng cymdeithasol datganoledig wedi ei yrru gan {mastodon}",
|
||||
"about.rules": "Rheolau'r gweinydd",
|
||||
@@ -127,7 +129,7 @@
|
||||
"annual_report.summary.thanks": "Diolch am fod yn rhan o Mastodon!",
|
||||
"attachments_list.unprocessed": "(heb eu prosesu)",
|
||||
"audio.hide": "Cuddio sain",
|
||||
"block_modal.remote_users_caveat": "Byddwn yn gofyn i'r gweinydd {domain} barchu eich penderfyniad. Fodd bynnag, nid yw cydymffurfiad wedi'i warantu gan y gall rhai gweinyddwyr drin rhwystro mewn ffyrdd gwahanol. Mae'n bosibl y bydd postiadau cyhoeddus yn dal i fod yn weladwy i ddefnyddwyr nad ydynt wedi mewngofnodi.",
|
||||
"block_modal.remote_users_caveat": "Byddwn yn gofyn i'r gweinydd {domain} barchu eich penderfyniad. Fodd bynnag, nid yw cydymffurfiad wedi'i warantu gan y gall rhai gweinyddwyr drin rhwystrau mewn ffyrdd gwahanol. Mae'n bosibl y bydd postiadau cyhoeddus yn dal i fod yn weladwy i ddefnyddwyr nad ydynt wedi mewngofnodi.",
|
||||
"block_modal.show_less": "Dangos llai",
|
||||
"block_modal.show_more": "Dangos rhagor",
|
||||
"block_modal.they_cant_mention": "Dydyn nhw ddim yn gallu eich crybwyll na'ch dilyn.",
|
||||
@@ -236,8 +238,8 @@
|
||||
"confirmations.missing_alt_text.title": "Ychwanegu testun amgen?",
|
||||
"confirmations.mute.confirm": "Tewi",
|
||||
"confirmations.redraft.confirm": "Dileu ac ailddrafftio",
|
||||
"confirmations.redraft.message": "Ydych chi wir eisiau'r dileu'r postiad hwn a'i ailddrafftio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r post gwreiddiol yn mynd yn amddifad.",
|
||||
"confirmations.redraft.title": "Dileu ac ailddraftio'r postiad?",
|
||||
"confirmations.redraft.message": "Ydych chi wir eisiau'r dileu'r postiad hwn a'i ail lunio? Bydd ffefrynnau a hybiau'n cael eu colli, a bydd atebion i'r postiad gwreiddiol yn mynd yn amddifad.",
|
||||
"confirmations.redraft.title": "Dileu ac ail lunio'r postiad?",
|
||||
"confirmations.remove_from_followers.confirm": "Dileu dilynwr",
|
||||
"confirmations.remove_from_followers.message": "Bydd {name} yn rhoi'r gorau i'ch dilyn. A ydych yn siŵr eich bod am fwrw ymlaen?",
|
||||
"confirmations.remove_from_followers.title": "Tynnu dilynwr?",
|
||||
@@ -314,26 +316,26 @@
|
||||
"empty_column.account_hides_collections": "Mae'r defnyddiwr wedi dewis i beidio rhannu'r wybodaeth yma",
|
||||
"empty_column.account_suspended": "Cyfrif wedi'i atal",
|
||||
"empty_column.account_timeline": "Dim postiadau yma!",
|
||||
"empty_column.account_unavailable": "Nid yw'r proffil ar gael",
|
||||
"empty_column.account_unavailable": "Dyw'r proffil ddim ar gael",
|
||||
"empty_column.blocks": "Dydych chi heb rwystro unrhyw ddefnyddwyr eto.",
|
||||
"empty_column.bookmarked_statuses": "Does gennych chi ddim unrhyw bostiad wedi'u cadw fel nod tudalen eto. Pan fyddwch yn gosod nod tudalen i un, mi fydd yn ymddangos yma.",
|
||||
"empty_column.community": "Mae'r ffrwd lleol yn wag. Beth am ysgrifennu rhywbeth cyhoeddus!",
|
||||
"empty_column.direct": "Does gennych chi unrhyw grybwylliadau preifat eto. Pan fyddwch chi'n anfon neu'n derbyn un, bydd yn ymddangos yma.",
|
||||
"empty_column.domain_blocks": "Nid oes unrhyw barthau wedi'u blocio eto.",
|
||||
"empty_column.domain_blocks": "Does dim parthau wedi'u rhwystro eto.",
|
||||
"empty_column.explore_statuses": "Does dim pynciau llosg ar hyn o bryd. Dewch nôl nes ymlaen!",
|
||||
"empty_column.favourited_statuses": "Rydych chi heb ffafrio unrhyw bostiadau eto. Pan byddwch chi'n ffafrio un, bydd yn ymddangos yma.",
|
||||
"empty_column.favourites": "Nid oes unrhyw un wedi ffafrio'r postiad hwn eto. Pan fydd rhywun yn gwneud hynny, byddan nhw'n ymddangos yma.",
|
||||
"empty_column.follow_requests": "Nid oes gennych unrhyw geisiadau dilyn eto. Pan fyddwch yn derbyn un, byddan nhw'n ymddangos yma.",
|
||||
"empty_column.followed_tags": "Nid ydych wedi dilyn unrhyw hashnodau eto. Pan fyddwch chi'n gwneud hynny, byddan nhw'n ymddangos yma.",
|
||||
"empty_column.hashtag": "Nid oes dim ar yr hashnod hwn eto.",
|
||||
"empty_column.home": "Mae eich ffrwd gartref yn wag! Dilynwch fwy o bobl i'w llenwi.",
|
||||
"empty_column.favourites": "Does neb wedi ffafrio'r postiad hwn eto. Pan fydd rhywun yn gwneud hynny, byddan nhw'n ymddangos yma.",
|
||||
"empty_column.follow_requests": "Does gennych chi ddim ceisiadau dilyn eto. Pan fyddwch yn derbyn un, byddan nhw'n ymddangos yma.",
|
||||
"empty_column.followed_tags": "Dydych chi heb ddilyn unrhyw hashnodau eto. Pan fyddwch chi'n gwneud hynny, byddan nhw'n ymddangos yma.",
|
||||
"empty_column.hashtag": "Does dim ar yr hashnod hwn eto.",
|
||||
"empty_column.home": "Mae eich ffrwd gartref yn wag! Dilynwch ragor o bobl i'w llenwi.",
|
||||
"empty_column.list": "Does dim yn y rhestr yma eto. Pan fydd aelodau'r rhestr yn cyhoeddi postiad newydd, mi fydd yn ymddangos yma.",
|
||||
"empty_column.mutes": "Nid ydych wedi tewi unrhyw ddefnyddwyr eto.",
|
||||
"empty_column.mutes": "Dydych chi heb dewi unrhyw ddefnyddwyr eto.",
|
||||
"empty_column.notification_requests": "Dim i boeni amdano! Does dim byd yma. Pan fyddwch yn derbyn hysbysiadau newydd, byddan nhw'n ymddangos yma yn ôl eich gosodiadau.",
|
||||
"empty_column.notifications": "Nid oes gennych unrhyw hysbysiadau eto. Rhyngweithiwch ag eraill i ddechrau'r sgwrs.",
|
||||
"empty_column.notifications": "Does gennych chi ddim hysbysiadau eto. Pan fyddwch chi'n rhyngweithio ag eraill, byddwch yn ei weld yma.",
|
||||
"empty_column.public": "Does dim byd yma! Ysgrifennwch rywbeth cyhoeddus, neu dilynwch ddefnyddwyr o weinyddion eraill i'w lanw",
|
||||
"error.unexpected_crash.explanation": "Oherwydd gwall yn ein cod neu oherwydd problem cysondeb porwr, nid oedd y dudalen hon gallu cael ei dangos yn gywir.",
|
||||
"error.unexpected_crash.explanation_addons": "Nid oes modd dangos y dudalen hon yn gywir. Mae'r gwall hwn yn debygol o gael ei achosi gan ategyn porwr neu offer cyfieithu awtomatig.",
|
||||
"error.unexpected_crash.explanation_addons": "Does dim modd dangos y dudalen hon yn gywir. Mae'r gwall hwn yn debygol o gael ei achosi gan ategyn porwr neu offer cyfieithu awtomatig.",
|
||||
"error.unexpected_crash.next_steps": "Ceisiwch ail-lwytho'r dudalen. Os nad yw hyn yn eich helpu, efallai gallwch ddefnyddio Mastodon trwy borwr neu ap brodorol gwahanol.",
|
||||
"error.unexpected_crash.next_steps_addons": "Ceisiwch eu hanalluogi ac adnewyddu'r dudalen. Os nad yw hynny'n helpu, efallai y byddwch yn dal i allu defnyddio Mastodon trwy borwr neu ap cynhenid arall.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Copïo'r olrhain stac i'r clipfwrdd",
|
||||
@@ -343,11 +345,12 @@
|
||||
"explore.trending_links": "Newyddion",
|
||||
"explore.trending_statuses": "Postiadau",
|
||||
"explore.trending_tags": "Hashnodau",
|
||||
"featured_carousel.header": "{count, plural, one {Postiad wedi'i binio} other {Postiadau wedi'u pinio}}",
|
||||
"featured_carousel.next": "Nesaf",
|
||||
"featured_carousel.post": "Postiad",
|
||||
"featured_carousel.previous": "Blaenorol",
|
||||
"featured_carousel.slide": "{index} o {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "Nid yw'r categori hidlo hwn yn berthnasol i'r cyd-destun yr ydych wedi cyrchu'r postiad hwn ynddo. Os ydych chi am i'r postiad gael ei hidlo yn y cyd-destun hwn hefyd, bydd yn rhaid i chi olygu'r hidlydd.",
|
||||
"filter_modal.added.context_mismatch_explanation": "Dyw'r categori hidlo hwn ddim yn berthnasol i'r cyd-destun yr ydych wedi cyrchu'r postiad hwn ynddo. Os ydych chi am i'r postiad gael ei hidlo yn y cyd-destun hwn hefyd, bydd yn rhaid i chi olygu'r hidlydd.",
|
||||
"filter_modal.added.context_mismatch_title": "Diffyg cyfatebiaeth cyd-destun!",
|
||||
"filter_modal.added.expired_explanation": "Mae'r categori hidlydd hwn wedi dod i ben, bydd angen i chi newid y dyddiad dod i ben er mwyn iddo fod yn berthnasol.",
|
||||
"filter_modal.added.expired_title": "Hidlydd wedi dod i ben!",
|
||||
@@ -367,11 +370,11 @@
|
||||
"filtered_notifications_banner.pending_requests": "Oddi wrth {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",
|
||||
"firehose.local": "Y gweinydd hwn",
|
||||
"firehose.remote": "Gweinyddion eraill",
|
||||
"follow_request.authorize": "Awdurdodi",
|
||||
"follow_request.reject": "Gwrthod",
|
||||
"follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, roedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.",
|
||||
"follow_requests.unlocked_explanation": "Er nad yw eich cyfrif wedi'i gloi, roedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.",
|
||||
"follow_suggestions.curated_suggestion": "Dewis staff",
|
||||
"follow_suggestions.dismiss": "Peidio â dangos hwn eto",
|
||||
"follow_suggestions.featured_longer": "Wedi'i ddewis â llaw gan dîm {domain}",
|
||||
@@ -384,32 +387,32 @@
|
||||
"follow_suggestions.personalized_suggestion": "Awgrym personol",
|
||||
"follow_suggestions.popular_suggestion": "Awgrym poblogaidd",
|
||||
"follow_suggestions.popular_suggestion_longer": "Yn boblogaidd ar {domain}",
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Yn debyg i broffiliau y gwnaethoch chi eu dilyn yn ddiweddar",
|
||||
"follow_suggestions.similar_to_recently_followed_longer": "Yn debyg i broffiliau rydych wedi'u dilyn yn ddiweddar",
|
||||
"follow_suggestions.view_all": "Gweld y cyfan",
|
||||
"follow_suggestions.who_to_follow": "Pwy i ddilyn",
|
||||
"followed_tags": "Hashnodau rydych yn eu dilyn",
|
||||
"footer.about": "Ynghylch",
|
||||
"footer.directory": "Cyfeiriadur proffiliau",
|
||||
"footer.get_app": "Lawrlwytho'r ap",
|
||||
"footer.get_app": "Llwytho'r ap i lawr",
|
||||
"footer.keyboard_shortcuts": "Bysellau brys",
|
||||
"footer.privacy_policy": "Polisi preifatrwydd",
|
||||
"footer.source_code": "Gweld y cod ffynhonnell",
|
||||
"footer.status": "Statws",
|
||||
"footer.terms_of_service": "Telerau gwasanaeth",
|
||||
"generic.saved": "Wedi'i Gadw",
|
||||
"getting_started.heading": "Dechrau",
|
||||
"getting_started.heading": "Dechrau arni",
|
||||
"hashtag.admin_moderation": "Agor rhyngwyneb cymedroli #{name}",
|
||||
"hashtag.browse": "Pori postiadau yn #{hashtag}",
|
||||
"hashtag.browse_from_account": "Pori postiadau gan @{name} yn #{hashtag}",
|
||||
"hashtag.column_header.tag_mode.all": "a {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "neu {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "heb {additional}",
|
||||
"hashtag.column_settings.select.no_options_message": "Dim awgrymiadau i'w weld",
|
||||
"hashtag.column_settings.select.no_options_message": "Dim awgrymiadau i'w gweld",
|
||||
"hashtag.column_settings.select.placeholder": "Mewnbynnu hashnodau…",
|
||||
"hashtag.column_settings.tag_mode.all": "Pob un o'r rhain",
|
||||
"hashtag.column_settings.tag_mode.any": "Unrhyw un o'r rhain",
|
||||
"hashtag.column_settings.tag_mode.none": "Dim o'r rhain",
|
||||
"hashtag.column_settings.tag_toggle": "Include additional tags in this column",
|
||||
"hashtag.column_settings.tag_toggle": "Cynnwys tagiau ychwanegol ar gyfer y golofn hon",
|
||||
"hashtag.counter_by_accounts": "{count, plural, one {{counter} cyfranogwr} other {{counter} cyfranogwr}}",
|
||||
"hashtag.counter_by_uses": "{count, plural, one {postiad {counter}} other {postiad {counter}}}",
|
||||
"hashtag.counter_by_uses_today": "{count, plural, one {{counter} postiad} other {{counter} postiad}} heddiw",
|
||||
@@ -434,7 +437,7 @@
|
||||
"home.pending_critical_update.link": "Gweld 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.disclaimer": "Dyw Mastodon ddim yn gallu hysbysu defnyddwyr eich bod wedi anwybyddu eu hysbysiadau. Bydd anwybyddu hysbysiadau ddim 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",
|
||||
@@ -461,12 +464,12 @@
|
||||
"interaction_modal.title.reblog": "Hybu postiad {name}",
|
||||
"interaction_modal.title.reply": "Ymateb i bostiad {name}",
|
||||
"interaction_modal.title.vote": "Pleidleisiwch ym mhleidlais {name}",
|
||||
"interaction_modal.username_prompt": "E.e. {example}",
|
||||
"interaction_modal.username_prompt": "e.e. {example}",
|
||||
"intervals.full.days": "{number, plural, one {# diwrnod} two {# ddiwrnod} other {# diwrnod}}",
|
||||
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
|
||||
"keyboard_shortcuts.back": "Llywio nôl",
|
||||
"keyboard_shortcuts.blocked": "Agor rhestr defnyddwyr a flociwyd",
|
||||
"intervals.full.hours": "{number, plural, one {# awr} other {# awr}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# funud} other {# munud}}",
|
||||
"keyboard_shortcuts.back": "Symud nôl",
|
||||
"keyboard_shortcuts.blocked": "Agor rhestr defnyddwyr sydd wedi'i rwystro",
|
||||
"keyboard_shortcuts.boost": "Hybu postiad",
|
||||
"keyboard_shortcuts.column": "Ffocysu colofn",
|
||||
"keyboard_shortcuts.compose": "Ffocysu ar ardal cyfansoddi testun",
|
||||
@@ -480,7 +483,7 @@
|
||||
"keyboard_shortcuts.heading": "Bysellau brys",
|
||||
"keyboard_shortcuts.home": "Agor ffrwd gartref",
|
||||
"keyboard_shortcuts.hotkey": "Bysell boeth",
|
||||
"keyboard_shortcuts.legend": "Dangos y rhestr hon",
|
||||
"keyboard_shortcuts.legend": "Dangos yr allwedd hon",
|
||||
"keyboard_shortcuts.local": "Agor ffrwd lleol",
|
||||
"keyboard_shortcuts.mention": "Crybwyll yr awdur",
|
||||
"keyboard_shortcuts.muted": "Agor rhestr defnyddwyr rydych wedi'u tewi",
|
||||
@@ -489,7 +492,7 @@
|
||||
"keyboard_shortcuts.open_media": "Agor cyfryngau",
|
||||
"keyboard_shortcuts.pinned": "Agor rhestr postiadau wedi'u pinio",
|
||||
"keyboard_shortcuts.profile": "Agor proffil yr awdur",
|
||||
"keyboard_shortcuts.reply": "Ymateb i bostiad",
|
||||
"keyboard_shortcuts.reply": "Ateb postiad",
|
||||
"keyboard_shortcuts.requests": "Agor rhestr ceisiadau dilyn",
|
||||
"keyboard_shortcuts.search": "Ffocysu ar y bar chwilio",
|
||||
"keyboard_shortcuts.spoilers": "Dangos/cuddio'r maes CW",
|
||||
@@ -557,7 +560,7 @@
|
||||
"navigation_bar.compose": "Cyfansoddi post newydd",
|
||||
"navigation_bar.direct": "Crybwylliadau preifat",
|
||||
"navigation_bar.discover": "Darganfod",
|
||||
"navigation_bar.domain_blocks": "Parthau wedi'u blocio",
|
||||
"navigation_bar.domain_blocks": "Parthau wedi'u rhwystro",
|
||||
"navigation_bar.explore": "Darganfod",
|
||||
"navigation_bar.favourites": "Ffefrynnau",
|
||||
"navigation_bar.filters": "Geiriau wedi'u tewi",
|
||||
@@ -609,7 +612,7 @@
|
||||
"notification.moderation_warning.action_silence": "Mae eich cyfrif wedi'i gyfyngu.",
|
||||
"notification.moderation_warning.action_suspend": "Mae eich cyfrif wedi'i atal.",
|
||||
"notification.own_poll": "Mae eich pleidlais wedi dod i ben",
|
||||
"notification.poll": "Mae arolwg y gwnaethoch bleidleisio ynddo wedi dod i ben",
|
||||
"notification.poll": "Mae arolwg rydych wedi pleidleisio ynddo wedi dod i ben",
|
||||
"notification.reblog": "Hybodd {name} eich post",
|
||||
"notification.reblog.name_and_others_with_link": "Mae {name} a <a>{count, plural, one {# arall} other {# arall}}</a> wedi hybu eich postiad",
|
||||
"notification.relationships_severance_event": "Wedi colli cysylltiad â {name}",
|
||||
@@ -652,7 +655,7 @@
|
||||
"notifications.column_settings.group": "Grŵp",
|
||||
"notifications.column_settings.mention": "Crybwylliadau:",
|
||||
"notifications.column_settings.poll": "Canlyniadau pleidlais:",
|
||||
"notifications.column_settings.push": "Hysbysiadau gwthiadwy",
|
||||
"notifications.column_settings.push": "Hysbysiadau gwthio",
|
||||
"notifications.column_settings.reblog": "Hybiau:",
|
||||
"notifications.column_settings.show": "Dangos yn y golofn",
|
||||
"notifications.column_settings.sound": "Chwarae sain",
|
||||
@@ -665,21 +668,21 @@
|
||||
"notifications.filter.favourites": "Ffefrynnau",
|
||||
"notifications.filter.follows": "Yn dilyn",
|
||||
"notifications.filter.mentions": "Crybwylliadau",
|
||||
"notifications.filter.polls": "Canlyniadau polau",
|
||||
"notifications.filter.polls": "Canlyniadau pleidleisio",
|
||||
"notifications.filter.statuses": "Diweddariadau gan bobl rydych chi'n eu dilyn",
|
||||
"notifications.grant_permission": "Caniatáu.",
|
||||
"notifications.group": "{count} hysbysiad",
|
||||
"notifications.mark_as_read": "Marciwch bob hysbysiad wedi'i ddarllen",
|
||||
"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.permission_denied": "Does dim hysbysiadau bwrdd gwaith ar gael oherwydd cais am ganiatâd porwr a wrthodwyd yn flaenorol",
|
||||
"notifications.permission_denied_alert": "Does dim modd galluogi hysbysiadau bwrdd gwaith, gan fod caniatâd porwr wedi'i wrthod o'r blaen",
|
||||
"notifications.permission_required": "Does dim 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_hint": "Cyfyngwyd 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",
|
||||
@@ -699,7 +702,7 @@
|
||||
"onboarding.follows.search": "Chwilio",
|
||||
"onboarding.follows.title": "Dilynwch bobl i gychwyn arni",
|
||||
"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 threndiau, ac efallai y bydd eich proffil yn cael ei awgrymu i bobl sydd â diddordebau tebyg i chi.",
|
||||
"onboarding.profile.discoverable_hint": "Pan fyddwch yn dewis ymuno â darganfod 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.note": "Bywgraffiad",
|
||||
@@ -710,7 +713,7 @@
|
||||
"onboarding.profile.upload_header": "Llwytho pennyn proffil",
|
||||
"password_confirmation.exceeds_maxlength": "Mae'r cadarnhad cyfrinair yn fwy nag uchafswm hyd y cyfrinair",
|
||||
"password_confirmation.mismatching": "Nid yw'r cadarnhad cyfrinair yn cyfateb",
|
||||
"picture_in_picture.restore": "Rhowch ef yn ôl",
|
||||
"picture_in_picture.restore": "Rhowch e nôl",
|
||||
"poll.closed": "Ar gau",
|
||||
"poll.refresh": "Adnewyddu",
|
||||
"poll.reveal": "Gweld y canlyniadau",
|
||||
@@ -724,9 +727,9 @@
|
||||
"privacy.change": "Addasu preifatrwdd y post",
|
||||
"privacy.direct.long": "Pawb sydd â sôn amdanyn nhw yn y postiad",
|
||||
"privacy.direct.short": "Crybwylliad preifat",
|
||||
"privacy.private.long": "Eich dilynwyr yn unig",
|
||||
"privacy.private.long": "Dim ond eich dilynwyr",
|
||||
"privacy.private.short": "Dilynwyr",
|
||||
"privacy.public.long": "Unrhyw ar ac oddi ar Mastodon",
|
||||
"privacy.public.long": "Unrhyw un ar ac oddi ar Mastodon",
|
||||
"privacy.public.short": "Cyhoeddus",
|
||||
"privacy.unlisted.additional": "Mae hwn yn ymddwyn yn union fel y cyhoeddus, ac eithrio na fydd y postiad yn ymddangos mewn ffrydiau byw neu hashnodau, archwilio, neu chwiliad Mastodon, hyd yn oed os ydych wedi eich cynnwys ar draws y cyfrif.",
|
||||
"privacy.unlisted.long": "Llai o ddathliadau algorithmig",
|
||||
@@ -736,7 +739,7 @@
|
||||
"recommended": "Argymhellwyd",
|
||||
"refresh": "Adnewyddu",
|
||||
"regeneration_indicator.please_stand_by": "Arhoswch am dipyn.",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Paratoi eich llif cartref…",
|
||||
"regeneration_indicator.preparing_your_home_feed": "Yn paratoi eich ffrwd gartref…",
|
||||
"relative_time.days": "{number}d",
|
||||
"relative_time.full.days": "{number, plural, one {# diwrnod} other {# diwrnod}} yn ôl",
|
||||
"relative_time.full.hours": "{number, plural, one {# awr} other {# awr}} yn ôl",
|
||||
@@ -749,9 +752,9 @@
|
||||
"relative_time.seconds": "{number} eiliad",
|
||||
"relative_time.today": "heddiw",
|
||||
"reply_indicator.attachments": "{count, plural, one {# atodiad} other {# atodiad}}",
|
||||
"reply_indicator.cancel": "Canslo",
|
||||
"reply_indicator.poll": "Arolwg",
|
||||
"report.block": "Blocio",
|
||||
"reply_indicator.cancel": "Diddymu",
|
||||
"reply_indicator.poll": "Pleidlais",
|
||||
"report.block": "Rhwystro",
|
||||
"report.block_explanation": "Ni welwch chi eu postiadau. Ni allan nhw weld eich postiadau na'ch dilyn. Byddan nhw'n gallu gweld eu bod nhw wedi'u rhwystro.",
|
||||
"report.categories.legal": "Cyfreithiol",
|
||||
"report.categories.other": "Arall",
|
||||
@@ -770,11 +773,11 @@
|
||||
"report.next": "Nesaf",
|
||||
"report.placeholder": "Sylwadau ychwanegol",
|
||||
"report.reasons.dislike": "Dydw i ddim yn ei hoffi",
|
||||
"report.reasons.dislike_description": "Nid yw'n rhywbeth yr ydych am ei weld",
|
||||
"report.reasons.dislike_description": "Dyw e ddim yn rhywbeth rydych am ei weld",
|
||||
"report.reasons.legal": "Mae'n anghyfreithlon",
|
||||
"report.reasons.legal_description": "Rydych chi'n credu ei fod yn torri cyfraith eich gwlad chi neu wlad y gweinydd",
|
||||
"report.reasons.other": "Mae'n rhywbeth arall",
|
||||
"report.reasons.other_description": "Nid yw'r mater yn ffitio i gategorïau eraill",
|
||||
"report.reasons.other_description": "Dyw'r mater ddim yn ffitio i gategorïau eraill",
|
||||
"report.reasons.spam": "Sbam yw e",
|
||||
"report.reasons.spam_description": "Dolenni maleisus, ymgysylltu ffug, neu ymatebion ailadroddus",
|
||||
"report.reasons.violation": "Mae'n torri rheolau'r gweinydd",
|
||||
@@ -801,7 +804,7 @@
|
||||
"report_notification.categories.violation": "Torri rheol",
|
||||
"report_notification.categories.violation_sentence": "torri rheolau",
|
||||
"report_notification.open": "Agor adroddiad",
|
||||
"search.no_recent_searches": "Does dim chwiliadau diweddar",
|
||||
"search.no_recent_searches": "Does dim chwilio diweddar",
|
||||
"search.placeholder": "Chwilio",
|
||||
"search.quick_action.account_search": "Proffiliau sy'n cyfateb i {x}",
|
||||
"search.quick_action.go_to_account": "Mynd i broffil {x}",
|
||||
@@ -835,13 +838,13 @@
|
||||
"sign_in_banner.mastodon_is": "Mastodon yw'r ffordd orau o gadw i fyny â'r hyn sy'n digwydd.",
|
||||
"sign_in_banner.sign_in": "Mewngofnodi",
|
||||
"sign_in_banner.sso_redirect": "Mewngofnodi neu Gofrestru",
|
||||
"status.admin_account": "Agor rhyngwyneb cymedroli ar gyfer @{name}",
|
||||
"status.admin_account": "Agor rhyngwyneb cymedroli @{name}",
|
||||
"status.admin_domain": "Agor rhyngwyneb cymedroli {domain}",
|
||||
"status.admin_status": "Agor y postiad hwn yn y rhyngwyneb cymedroli",
|
||||
"status.block": "Blocio @{name}",
|
||||
"status.bookmark": "Llyfrnodi",
|
||||
"status.block": "Rhwystro @{name}",
|
||||
"status.bookmark": "Nod tudalen",
|
||||
"status.cancel_reblog_private": "Dadhybu",
|
||||
"status.cannot_reblog": "Nid oes modd hybu'r postiad hwn",
|
||||
"status.cannot_reblog": "Does dim modd hybu'r postiad hwn",
|
||||
"status.continued_thread": "Edefyn parhaus",
|
||||
"status.copy": "Copïo dolen i'r post",
|
||||
"status.delete": "Dileu",
|
||||
@@ -880,13 +883,13 @@
|
||||
"status.reblogged_by": "Hybodd {name}",
|
||||
"status.reblogs": "{count, plural, one {# hwb} other {# hwb}}",
|
||||
"status.reblogs.empty": "Does neb wedi hybio'r post yma eto. Pan y bydd rhywun yn gwneud, byddent yn ymddangos yma.",
|
||||
"status.redraft": "Dileu ac ailddrafftio",
|
||||
"status.redraft": "Dileu ac ail lunio",
|
||||
"status.remove_bookmark": "Tynnu nod tudalen",
|
||||
"status.remove_favourite": "Tynnu o'r ffefrynnau",
|
||||
"status.replied_in_thread": "Atebodd mewn edefyn",
|
||||
"status.replied_in_thread": "Wedi ateb mewn edefyn",
|
||||
"status.replied_to": "Wedi ymateb i {name}",
|
||||
"status.reply": "Ymateb",
|
||||
"status.replyAll": "Ymateb i edefyn",
|
||||
"status.replyAll": "Ateb edefyn",
|
||||
"status.report": "Adrodd ar @{name}",
|
||||
"status.sensitive_warning": "Cynnwys sensitif",
|
||||
"status.share": "Rhannu",
|
||||
@@ -910,23 +913,23 @@
|
||||
"time_remaining.days": "{number, plural, one {# diwrnod} other {# diwrnod}} ar ôl",
|
||||
"time_remaining.hours": "{number, plural, one {# awr} other {# awr}} ar ôl",
|
||||
"time_remaining.minutes": "{number, plural, one {# munud} other {# munud}} ar ôl",
|
||||
"time_remaining.moments": "Munudau yn weddill",
|
||||
"time_remaining.moments": "Munudau'n weddill",
|
||||
"time_remaining.seconds": "{number, plural, one {# eiliad} other {# eiliad}} ar ôl",
|
||||
"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": "Pynciau llosg",
|
||||
"trends.trending_now": "Wrthi'n trendio",
|
||||
"ui.beforeunload": "Byddwch yn colli eich drafft os byddwch yn gadael Mastodon.",
|
||||
"units.short.billion": "{count}biliwn",
|
||||
"units.short.million": "{count}miliwn",
|
||||
"units.short.thousand": "{count}mil",
|
||||
"upload_area.title": "Llusgwch a gollwng i lwytho",
|
||||
"upload_button.label": "Ychwanegwch gyfryngau (JPEG, PNG, GIF, WebM, MP4, MOV)",
|
||||
"upload_error.limit": "Wedi pasio'r uchafswm llwytho.",
|
||||
"upload_error.poll": "Nid oes modd llwytho ffeiliau â phleidleisiau.",
|
||||
"upload_error.limit": "Wedi mynd heibio'r uchafswm llwytho.",
|
||||
"upload_error.poll": "Does dim modd llwytho ffeiliau â phleidleisiau.",
|
||||
"upload_form.drag_and_drop.instructions": "I godi atodiad cyfryngau, pwyswch y space neu enter. Wrth lusgo, defnyddiwch y bysellau saeth i symud yr atodiad cyfryngau i unrhyw gyfeiriad penodol. Pwyswch space neu enter eto i ollwng yr atodiad cyfryngau yn ei safle newydd, neu pwyswch escape i ddiddymu.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Cafodd llusgo ei ddiddymu. Cafodd atodiad cyfryngau {item} ei ollwng.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Cafodd atodiad cyfryngau {item} ei ollwng.",
|
||||
"upload_form.drag_and_drop.on_drag_cancel": "Cafodd llusgo ei ddiddymu. Cafodd atodi cyfryngau {item} ei ollwng.",
|
||||
"upload_form.drag_and_drop.on_drag_end": "Cafodd atodi cyfryngau {item} ei ollwng.",
|
||||
"upload_form.drag_and_drop.on_drag_over": "Symudwyd atodiad cyfryngau {item}.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "Atodiad cyfryngau godwyd {item}.",
|
||||
"upload_form.drag_and_drop.on_drag_start": "Wedi codi atodiad cyfryngau {item}.",
|
||||
"upload_form.edit": "Golygu",
|
||||
"upload_progress.label": "Yn llwytho...",
|
||||
"upload_progress.processing": "Wrthi'n prosesu…",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "שרתים תחת פיקוח תוכן",
|
||||
"about.contact": "יצירת קשר:",
|
||||
"about.default_locale": "ברירת המחדל",
|
||||
"about.disclaimer": "מסטודון היא תוכנת קוד פתוח חינמית וסימן מסחרי של Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "הסיבה אינה זמינה",
|
||||
"about.domain_blocks.preamble": "ככלל מסטודון מאפשרת לך לצפות בתוכן ולתקשר עם משתמשים מכל שרת בפדיברס. אלו הם היוצאים מן הכלל שהוגדרו עבור השרת המסוים הזה.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "מוגבלים",
|
||||
"about.domain_blocks.suspended.explanation": "שום מידע משרת זה לא יעובד, יישמר או יוחלף, מה שהופך כל תקשורת עם משתמשים משרת זה לבלתי אפשרית.",
|
||||
"about.domain_blocks.suspended.title": "מושעים",
|
||||
"about.language_label": "שפה",
|
||||
"about.not_available": "המידע אינו זמין על שרת זה.",
|
||||
"about.powered_by": "רשת חברתית מבוזרת המופעלת על ידי {mastodon}",
|
||||
"about.rules": "כללי השרת",
|
||||
@@ -308,6 +310,8 @@
|
||||
"emoji_button.search_results": "תוצאות חיפוש",
|
||||
"emoji_button.symbols": "סמלים",
|
||||
"emoji_button.travel": "טיולים ואתרים",
|
||||
"empty_column.account_featured.me": "עוד לא קידמת תכנים. הידעת שניתן לקדם תגיות שבשימושך התדיר או אפילו את החשבונות של חבריםות בפרופיל שלך?",
|
||||
"empty_column.account_featured.other": "{acct} עוד לא קידם תכנים. הידעת שניתן לקדם תגיות שבשימושך התדיר או אפילו את החשבונות של חבריםות בפרופיל שלך?",
|
||||
"empty_column.account_featured_other.unknown": "חשבון זה עוד לא קידם תכנים.",
|
||||
"empty_column.account_hides_collections": "המשתמש.ת בחר.ה להסתיר מידע זה",
|
||||
"empty_column.account_suspended": "חשבון מושעה",
|
||||
@@ -341,6 +345,11 @@
|
||||
"explore.trending_links": "חדשות",
|
||||
"explore.trending_statuses": "הודעות",
|
||||
"explore.trending_tags": "תגיות",
|
||||
"featured_carousel.header": "{count, plural, one {הודעה אחת נעוצה} two {הודעותיים נעוצות} many {הודעות נעוצות} other {הודעות נעוצות}}",
|
||||
"featured_carousel.next": "הבא",
|
||||
"featured_carousel.post": "הודעה",
|
||||
"featured_carousel.previous": "הקודם",
|
||||
"featured_carousel.slide": "{index} מתוך {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "קטגוריית המסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.",
|
||||
"filter_modal.added.context_mismatch_title": "אין התאמה להקשר!",
|
||||
"filter_modal.added.expired_explanation": "פג תוקפה של קטגוריית הסינון הזו, יש צורך לשנות את תאריך התפוגה כדי שהסינון יוחל.",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Server moderati",
|
||||
"about.contact": "Contatti:",
|
||||
"about.default_locale": "Predefinito",
|
||||
"about.disclaimer": "Mastodon è un software libero e open-source e un marchio di Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Motivo non disponibile",
|
||||
"about.domain_blocks.preamble": "Mastodon, generalmente, ti consente di visualizzare i contenuti e interagire con gli utenti da qualsiasi altro server nel fediverso. Queste sono le eccezioni che sono state fatte su questo particolare server.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "Limitato",
|
||||
"about.domain_blocks.suspended.explanation": "Nessun dato proveniente da questo server verrà elaborato, conservato o scambiato, rendendo impossibile qualsiasi interazione o comunicazione con gli utenti da questo server.",
|
||||
"about.domain_blocks.suspended.title": "Sospeso",
|
||||
"about.language_label": "Lingua",
|
||||
"about.not_available": "Queste informazioni non sono state rese disponibili su questo server.",
|
||||
"about.powered_by": "Social media decentralizzato alimentato da {mastodon}",
|
||||
"about.rules": "Regole del server",
|
||||
@@ -308,6 +310,8 @@
|
||||
"emoji_button.search_results": "Risultati della ricerca",
|
||||
"emoji_button.symbols": "Simboli",
|
||||
"emoji_button.travel": "Viaggi & Luoghi",
|
||||
"empty_column.account_featured.me": "Non hai ancora messo in evidenza nulla. Sapevi che puoi mettere in evidenza gli hashtag che usi più spesso e persino gli account dei tuoi amici sul tuo profilo?",
|
||||
"empty_column.account_featured.other": "{acct} non ha ancora messo in evidenza nulla. Sapevi che puoi mettere in evidenza gli hashtag che usi più spesso e persino gli account dei tuoi amici sul tuo profilo?",
|
||||
"empty_column.account_featured_other.unknown": "Questo account non ha ancora pubblicato nulla.",
|
||||
"empty_column.account_hides_collections": "Questo utente ha scelto di non rendere disponibili queste informazioni",
|
||||
"empty_column.account_suspended": "Profilo sospeso",
|
||||
@@ -341,6 +345,11 @@
|
||||
"explore.trending_links": "Notizie",
|
||||
"explore.trending_statuses": "Post",
|
||||
"explore.trending_tags": "Hashtag",
|
||||
"featured_carousel.header": "{count, plural, one {Post appuntato} other {Post appuntati}}",
|
||||
"featured_carousel.next": "Successivo",
|
||||
"featured_carousel.post": "Post",
|
||||
"featured_carousel.previous": "Precedente",
|
||||
"featured_carousel.slide": "{index} di {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "La categoria di questo filtro non si applica al contesto in cui hai acceduto a questo post. Se desideri che il post sia filtrato anche in questo contesto, dovrai modificare il filtro.",
|
||||
"filter_modal.added.context_mismatch_title": "Contesto non corrispondente!",
|
||||
"filter_modal.added.expired_explanation": "La categoria di questo filtro è scaduta, dovrvai modificarne la data di scadenza per applicarlo.",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "제한된 서버들",
|
||||
"about.contact": "연락처:",
|
||||
"about.default_locale": "기본",
|
||||
"about.disclaimer": "Mastodon은 자유 오픈소스 소프트웨어이며, Mastodon gGmbH의 상표입니다",
|
||||
"about.domain_blocks.no_reason_available": "사유를 밝히지 않음",
|
||||
"about.domain_blocks.preamble": "마스토돈은 일반적으로 연합우주에 있는 어떤 서버의 사용자와도 게시물을 보고 응답을 할 수 있도록 허용합니다. 다음 항목들은 특정한 서버에 대해 만들어 진 예외사항입니다.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "제한됨",
|
||||
"about.domain_blocks.suspended.explanation": "이 서버의 어떤 데이터도 처리되거나, 저장 되거나 공유되지 않고, 이 서버의 어떤 유저와도 상호작용 하거나 대화할 수 없습니다.",
|
||||
"about.domain_blocks.suspended.title": "정지됨",
|
||||
"about.language_label": "언어",
|
||||
"about.not_available": "이 정보는 이 서버에서 사용할 수 없습니다.",
|
||||
"about.powered_by": "{mastodon}으로 구동되는 분산 소셜 미디어",
|
||||
"about.rules": "서버 규칙",
|
||||
@@ -41,6 +43,7 @@
|
||||
"account.followers": "팔로워",
|
||||
"account.followers.empty": "아직 아무도 이 사용자를 팔로우하고 있지 않습니다.",
|
||||
"account.followers_counter": "{count, plural, other {팔로워 {counter}명}}",
|
||||
"account.followers_you_know_counter": "내가 아는 {counter} 명",
|
||||
"account.following": "팔로잉",
|
||||
"account.following_counter": "{count, plural, other {팔로잉 {counter}명}}",
|
||||
"account.follows.empty": "이 사용자는 아직 아무도 팔로우하고 있지 않습니다.",
|
||||
@@ -307,6 +310,8 @@
|
||||
"emoji_button.search_results": "검색 결과",
|
||||
"emoji_button.symbols": "기호",
|
||||
"emoji_button.travel": "여행과 장소",
|
||||
"empty_column.account_featured.me": "아직 아무 것도 추천하지 않았습니다. 자주 사용하는 해시태그, 친구의 계정까지 내 계정에서 추천할 수 있다는 것을 알고 계셨나요?",
|
||||
"empty_column.account_featured.other": "{acct} 님은 아직 아무 것도 추천하지 않았습니다. 자주 사용하는 해시태그, 친구의 계정까지 내 계정에서 추천할 수 있다는 것을 알고 계셨나요?",
|
||||
"empty_column.account_featured_other.unknown": "이 계정은 아직 아무 것도 추천하지 않았습니다.",
|
||||
"empty_column.account_hides_collections": "이 사용자는 이 정보를 사용할 수 없도록 설정했습니다",
|
||||
"empty_column.account_suspended": "계정 정지됨",
|
||||
@@ -340,6 +345,11 @@
|
||||
"explore.trending_links": "소식",
|
||||
"explore.trending_statuses": "게시물",
|
||||
"explore.trending_tags": "해시태그",
|
||||
"featured_carousel.header": "{count, plural, other {고정된 게시물}}",
|
||||
"featured_carousel.next": "다음",
|
||||
"featured_carousel.post": "게시물",
|
||||
"featured_carousel.previous": "이전",
|
||||
"featured_carousel.slide": "{total} 중 {index}",
|
||||
"filter_modal.added.context_mismatch_explanation": "이 필터 카테고리는 당신이 이 게시물에 접근한 문맥에 적용되지 않습니다. 만약 이 문맥에서도 필터되길 원한다면, 필터를 수정해야 합니다.",
|
||||
"filter_modal.added.context_mismatch_title": "문맥 불일치!",
|
||||
"filter_modal.added.expired_explanation": "이 필터 카테고리는 만료되었습니다, 적용하려면 만료 일자를 변경할 필요가 있습니다.",
|
||||
@@ -860,11 +870,13 @@
|
||||
"status.mute_conversation": "대화 뮤트",
|
||||
"status.open": "상세 정보 표시",
|
||||
"status.pin": "고정",
|
||||
"status.quote_error.filtered": "필터에 의해 가려짐",
|
||||
"status.quote_error.not_found": "이 게시물은 표시할 수 없습니다.",
|
||||
"status.quote_error.pending_approval": "이 게시물은 원작자의 승인을 기다리고 있습니다.",
|
||||
"status.quote_error.rejected": "이 게시물은 원작자가 인용을 허용하지 않았기 때문에 표시할 수 없습니다.",
|
||||
"status.quote_error.removed": "이 게시물은 작성자에 의해 삭제되었습니다.",
|
||||
"status.quote_error.unauthorized": "이 게시물은 권한이 없기 때문에 볼 수 없습니다.",
|
||||
"status.quote_post_author": "{name} 님의 게시물",
|
||||
"status.read_more": "더 보기",
|
||||
"status.reblog": "부스트",
|
||||
"status.reblog_private": "원래의 수신자들에게 부스트",
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
"column.directory": "Pārlūkot profilus",
|
||||
"column.domain_blocks": "Bloķētie domēni",
|
||||
"column.edit_list": "Labot sarakstu",
|
||||
"column.favourites": "Iecienītie",
|
||||
"column.favourites": "Izlase",
|
||||
"column.firehose": "Tiešraides plūsmas",
|
||||
"column.follow_requests": "Sekošanas pieprasījumi",
|
||||
"column.home": "Sākums",
|
||||
@@ -262,6 +262,7 @@
|
||||
"dismissable_banner.community_timeline": "Šie ir jaunākie publiskie ieraksti no cilvēkiem, kuru konti ir mitināti {domain}.",
|
||||
"dismissable_banner.dismiss": "Atcelt",
|
||||
"dismissable_banner.explore_links": "Šie jaunumi šodien Fediversā tiek visvairāk kopīgoti. Jaunākas ziņas, kuras pievienoši vairāki dažādi cilvēki, tiek novietotas augstāk.",
|
||||
"dismissable_banner.explore_statuses": "Šie ieraksti šodien gūst uzmanību fediversā. Jaunāki ieraksti ar vairāk pastirpinājumiem un pievienošanām izlasē tiek kārtoti augstāk.",
|
||||
"dismissable_banner.public_timeline": "Šie ir jaunākie Fediverse lietotāju publiskie ieraksti, kuriem {domain} seko cilvēki.",
|
||||
"domain_block_modal.block": "Bloķēt serveri",
|
||||
"domain_block_modal.block_account_instead": "Tā vietā liegt @{name}",
|
||||
@@ -306,7 +307,7 @@
|
||||
"empty_column.domain_blocks": "Vēl nav neviena bloķēta domēna.",
|
||||
"empty_column.explore_statuses": "Pašlaik nav nekā aktuāla. Ieskaties šeit vēlāk!",
|
||||
"empty_column.favourited_statuses": "Tev vēl nav izlasei pievienotu ierakstu. Kad pievienosi kādu, tas tiks parādīts šeit.",
|
||||
"empty_column.favourites": "Šo ierakstu vēl neviens nav pievienojis izlasei. Kad kāds to izdarīs, šeit parādīsies ieraksti.",
|
||||
"empty_column.favourites": "Šo ierakstu vēl neviens nav pievienojis izlasei. Kad kāds to izdarīs, tas parādīsies šeit.",
|
||||
"empty_column.follow_requests": "Šobrīd Tev nav sekošanas pieprasījumu. Kad saņemsi kādu, tas parādīsies šeit.",
|
||||
"empty_column.followed_tags": "Tu vēl neseko nevienam tēmturim. Kad to izdarīsi, tie tiks parādīti šeit.",
|
||||
"empty_column.hashtag": "Ar šo tēmturi nekas nav atrodams.",
|
||||
@@ -435,7 +436,7 @@
|
||||
"keyboard_shortcuts.down": "Pārvietoties lejup sarakstā",
|
||||
"keyboard_shortcuts.enter": "Atvērt ierakstu",
|
||||
"keyboard_shortcuts.favourite": "Pievienot ierakstu izlasei",
|
||||
"keyboard_shortcuts.favourites": "Atvērt izlašu sarakstu",
|
||||
"keyboard_shortcuts.favourites": "Atvērt izlases sarakstu",
|
||||
"keyboard_shortcuts.federated": "Atvērt apvienoto laika līniju",
|
||||
"keyboard_shortcuts.heading": "Īsinājumtaustiņi",
|
||||
"keyboard_shortcuts.home": "Atvērt mājas laika līniju",
|
||||
@@ -525,6 +526,9 @@
|
||||
"notification.admin.report_statuses": "{name} ziņoja par {target} ar iemeslu: {category}",
|
||||
"notification.admin.sign_up": "{name} pierakstījās",
|
||||
"notification.favourite": "{name} pievienoja izlasei Tavu ierakstu",
|
||||
"notification.favourite.name_and_others_with_link": "{name} un <a>{count, plural, one {# cits} other {# citi}}</a> pievienoja Tavu ierakstu izlasē",
|
||||
"notification.favourite_pm": "{name} pievienoja izlasē Tavu privāto pieminējumu",
|
||||
"notification.favourite_pm.name_and_others_with_link": "{name} un <a>{count, plural, one {# cits} other {# citi}}</a> pievienoja Tavu privāto pieminējumu izlasē",
|
||||
"notification.follow": "{name} uzsāka Tev sekot",
|
||||
"notification.follow_request": "{name} nosūtīja Tev sekošanas pieprasījumu",
|
||||
"notification.mentioned_you": "{name} pieminēja jūs",
|
||||
@@ -573,7 +577,7 @@
|
||||
"notifications.column_settings.update": "Labojumi:",
|
||||
"notifications.filter.all": "Visi",
|
||||
"notifications.filter.boosts": "Pastiprinātie ieraksti",
|
||||
"notifications.filter.favourites": "Izlases",
|
||||
"notifications.filter.favourites": "Izlase",
|
||||
"notifications.filter.follows": "Seko",
|
||||
"notifications.filter.mentions": "Pieminēšanas",
|
||||
"notifications.filter.polls": "Aptaujas rezultāti",
|
||||
@@ -768,6 +772,7 @@
|
||||
"status.reblogs.empty": "Neviens vēl nav pastiprinājis šo ierakstu. Kad kāds to izdarīs, šeit tiks parādīti lietotāji.",
|
||||
"status.redraft": "Dzēst un pārrakstīt",
|
||||
"status.remove_bookmark": "Noņemt grāmatzīmi",
|
||||
"status.remove_favourite": "Noņemt no izlases",
|
||||
"status.replied_to": "Atbildēja {name}",
|
||||
"status.reply": "Atbildēt",
|
||||
"status.replyAll": "Atbildēt uz tematu",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Modererte tenarar",
|
||||
"about.contact": "Kontakt:",
|
||||
"about.default_locale": "Standard",
|
||||
"about.disclaimer": "Mastodon er gratis programvare med open kjeldekode, og eit varemerke frå Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Årsaka er ikkje tilgjengeleg",
|
||||
"about.domain_blocks.preamble": "Mastodon gjev deg som regel lov til å sjå innhald og samhandla med brukarar frå alle andre tenarar i allheimen. Dette er unntaka som er valde for akkurat denne tenaren.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "Avgrensa",
|
||||
"about.domain_blocks.suspended.explanation": "Ingen data frå denne tenaren vert handsama, lagra eller sende til andre, noko som gjer det umogeleg å samhandla eller kommunisera med brukarar på denne tenaren.",
|
||||
"about.domain_blocks.suspended.title": "Utestengd",
|
||||
"about.language_label": "Språk",
|
||||
"about.not_available": "Denne informasjonen er ikkje gjort tilgjengeleg på denne tenaren.",
|
||||
"about.powered_by": "Desentraliserte sosiale medium drive av {mastodon}",
|
||||
"about.rules": "Tenarreglar",
|
||||
@@ -341,6 +343,10 @@
|
||||
"explore.trending_links": "Nytt",
|
||||
"explore.trending_statuses": "Innlegg",
|
||||
"explore.trending_tags": "Emneknaggar",
|
||||
"featured_carousel.next": "Neste",
|
||||
"featured_carousel.post": "Innlegg",
|
||||
"featured_carousel.previous": "Forrige",
|
||||
"featured_carousel.slide": "{index} av {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "Denne filterkategorien gjeld ikkje i den samanhengen du har lese dette innlegget. Viss du vil at innlegget skal filtrerast i denne samanhengen òg, må du endra filteret.",
|
||||
"filter_modal.added.context_mismatch_title": "Konteksten passar ikkje!",
|
||||
"filter_modal.added.expired_explanation": "Denne filterkategorien har gått ut på dato. Du må endre best før datoen for at den skal gjelde.",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Modererte servere",
|
||||
"about.contact": "Kontakt:",
|
||||
"about.default_locale": "Standard",
|
||||
"about.disclaimer": "Mastodon er gratis, åpen kildekode-programvare og et varemerke fra Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "Årsak ikke tilgjengelig",
|
||||
"about.domain_blocks.preamble": "Mastodon lar deg normalt sett se innholdet fra og samhandle med brukere fra enhver annen tjener i fødiverset. Dette er unntakene som har blitt lagt inn på denne tjeneren.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "Begrenset",
|
||||
"about.domain_blocks.suspended.explanation": "Ikke noe innhold fra denne tjeneren vil bli behandlet, lagret eller utvekslet. Det gjør det umulig å samhandle eller kommunisere med brukere fra denne tjeneren.",
|
||||
"about.domain_blocks.suspended.title": "Suspendert",
|
||||
"about.language_label": "Språk",
|
||||
"about.not_available": "Denne informasjonen er ikke gjort tilgjengelig på denne tjeneren.",
|
||||
"about.powered_by": "Desentraliserte sosiale medier drevet av {mastodon}",
|
||||
"about.rules": "Regler for serveren",
|
||||
@@ -200,6 +202,7 @@
|
||||
"compose_form.poll.duration": "Avstemningens varighet",
|
||||
"compose_form.poll.multiple": "Flervalg",
|
||||
"compose_form.poll.option_placeholder": "Valg {number}",
|
||||
"compose_form.poll.single": "Enkelt valg",
|
||||
"compose_form.poll.switch_to_multiple": "Endre avstemning til å tillate flere valg",
|
||||
"compose_form.poll.switch_to_single": "Endre avstemning til å tillate ett valg",
|
||||
"compose_form.poll.type": "Stil",
|
||||
@@ -223,14 +226,23 @@
|
||||
"confirmations.edit.confirm": "Redigér",
|
||||
"confirmations.edit.message": "Å redigere nå vil overskrive meldingen du skriver for øyeblikket. Er du sikker på at du vil fortsette?",
|
||||
"confirmations.edit.title": "Overskriv innlegg?",
|
||||
"confirmations.follow_to_list.confirm": "Følg og legg til i liste",
|
||||
"confirmations.follow_to_list.message": "Du må følge {name} for å kunne legge vedkommende til i en liste.",
|
||||
"confirmations.follow_to_list.title": "Følg bruker?",
|
||||
"confirmations.logout.confirm": "Logg ut",
|
||||
"confirmations.logout.message": "Er du sikker på at du vil logge ut?",
|
||||
"confirmations.logout.title": "Logg ut?",
|
||||
"confirmations.missing_alt_text.confirm": "Legg til bildebeskrivelse",
|
||||
"confirmations.missing_alt_text.message": "Innlegget ditt mangler bildebeskrivelse. Legg til en tekst for å gjøre innholdet ditt tilgjengelig for flere brukere.",
|
||||
"confirmations.missing_alt_text.secondary": "Legg ut likevel",
|
||||
"confirmations.missing_alt_text.title": "Legg til bildebeskrivelse?",
|
||||
"confirmations.mute.confirm": "Demp",
|
||||
"confirmations.redraft.confirm": "Slett og skriv på nytt",
|
||||
"confirmations.redraft.message": "Er du sikker på at du vil slette dette innlegget og lagre det på nytt? Favoritter og fremhevinger vil gå tapt, og svar til det originale innlegget vil bli foreldreløse.",
|
||||
"confirmations.redraft.title": "Slett og skriv på nytt?",
|
||||
"confirmations.remove_from_followers.confirm": "Fjern følger",
|
||||
"confirmations.remove_from_followers.message": "{name} vil ikke lenger følge deg. Er du sikker på at du vil fortsette?",
|
||||
"confirmations.remove_from_followers.title": "Fjern følger?",
|
||||
"confirmations.reply.confirm": "Svar",
|
||||
"confirmations.reply.message": "Å svare nå vil overskrive meldingen du skriver for øyeblikket. Er du sikker på at du vil fortsette?",
|
||||
"confirmations.reply.title": "Overskriv innlegg?",
|
||||
@@ -247,7 +259,7 @@
|
||||
"copy_icon_button.copied": "Kopiert til utklippstavlen",
|
||||
"copypaste.copied": "Kopiert",
|
||||
"copypaste.copy_to_clipboard": "Kopier til utklippstavle",
|
||||
"directory.federated": "Fra det kjente strømiverset",
|
||||
"directory.federated": "Fra det kjente fødiverset",
|
||||
"directory.local": "Kun fra {domain}",
|
||||
"directory.new_arrivals": "Nye ankomster",
|
||||
"directory.recently_active": "Nylig aktiv",
|
||||
@@ -255,12 +267,17 @@
|
||||
"disabled_account_banner.text": "Din konto {disabledAccount} er for øyeblikket deaktivert.",
|
||||
"dismissable_banner.community_timeline": "Dette er de nyeste offentlige innleggene fra personer med kontoer på {domain}.",
|
||||
"dismissable_banner.dismiss": "Avvis",
|
||||
"dismissable_banner.explore_links": "Disse nyhetene snakker folk om akkurat nå på denne og andre servere i det desentraliserte nettverket.",
|
||||
"dismissable_banner.explore_statuses": "Disse innleggene fra denne og andre servere i det desentraliserte nettverket får økt oppmerksomhet på denne serveren akkurat nå. Nyere innlegg med flere fremhevinger og favoritter er rangert høyere.",
|
||||
"dismissable_banner.explore_tags": "Disse emneknaggene snakker folk om akkurat nå på det desentraliserte nettverket. Emneknagger brukt av flere rangeres høyere.",
|
||||
"dismissable_banner.public_timeline": "Dette er de nyeste offentlige innleggene fra folk brukerne av {domain} følger på det desentraliserte nettverket.",
|
||||
"domain_block_modal.block": "Blokker server",
|
||||
"domain_block_modal.block_account_instead": "Blokker @{name} i stedet",
|
||||
"domain_block_modal.they_can_interact_with_old_posts": "Personer fra denne serveren kan samhandle med dine gamle innlegg.",
|
||||
"domain_block_modal.they_cant_follow": "Ingen fra denne serveren kan følge deg.",
|
||||
"domain_block_modal.they_wont_know": "De kommer ikke til å få vite at du har valgt å blokkere dem.",
|
||||
"domain_block_modal.title": "Blokker domenet?",
|
||||
"domain_block_modal.you_will_lose_relationships": "Du vil miste alle følgere og folk du følger fra denne serveren.",
|
||||
"domain_block_modal.you_wont_see_posts": "Du vil ikke se innlegg eller få varsler fra brukere på denne serveren.",
|
||||
"domain_pill.activitypub_lets_connect": "Den lar deg koble til og samhandle med folk ikke bare på Mastodon, men også på tvers av forskjellige sosiale apper.",
|
||||
"domain_pill.activitypub_like_language": "ActivityPub er liksom språket Mastodon snakker med andre sosiale nettverk.",
|
||||
@@ -324,6 +341,10 @@
|
||||
"explore.trending_links": "Nyheter",
|
||||
"explore.trending_statuses": "Innlegg",
|
||||
"explore.trending_tags": "Emneknagger",
|
||||
"featured_carousel.next": "Neste",
|
||||
"featured_carousel.post": "Innlegg",
|
||||
"featured_carousel.previous": "Forrige",
|
||||
"featured_carousel.slide": "{index} av {total}",
|
||||
"filter_modal.added.context_mismatch_explanation": "Denne filterkategorien gjelder ikke for den konteksten du har åpnet dette innlegget i. Hvis du vil at innlegget skal filtreres i denne konteksten også, må du redigere filteret.",
|
||||
"filter_modal.added.context_mismatch_title": "Feil sammenheng!",
|
||||
"filter_modal.added.expired_explanation": "Denne filterkategorien er utløpt, du må endre utløpsdato for at den skal gjelde.",
|
||||
@@ -340,6 +361,7 @@
|
||||
"filter_modal.select_filter.subtitle": "Bruk en eksisterende kategori eller opprett en ny",
|
||||
"filter_modal.select_filter.title": "Filtrer dette innlegget",
|
||||
"filter_modal.title.status": "Filtrer et innlegg",
|
||||
"filter_warning.matches_filter": "Treff på filter \"<span>{title}</span>\"",
|
||||
"filtered_notifications_banner.pending_requests": "Fra {count, plural, =0 {ingen} one {en person} other {# folk}} du kanskje kjenner",
|
||||
"filtered_notifications_banner.title": "Filtrerte varsler",
|
||||
"firehose.all": "Alt",
|
||||
@@ -373,6 +395,9 @@
|
||||
"footer.status": "Status",
|
||||
"generic.saved": "Lagret",
|
||||
"getting_started.heading": "Kom i gang",
|
||||
"hashtag.admin_moderation": "Åpne modereringsgrensesnitt for #{name}",
|
||||
"hashtag.browse": "Utforsk poster i #{hashtag}",
|
||||
"hashtag.browse_from_account": "Utforsk poster av @{name} i #{hashtag}",
|
||||
"hashtag.column_header.tag_mode.all": "og {additional}",
|
||||
"hashtag.column_header.tag_mode.any": "eller {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "uten {additional}",
|
||||
@@ -386,6 +411,7 @@
|
||||
"hashtag.counter_by_uses": "{count, plural, one {ett innlegg} other {{counter} innlegg}}",
|
||||
"hashtag.counter_by_uses_today": "{count, plural, one {ett innlegg} other {{counter} innlegg}} i dag",
|
||||
"hashtag.follow": "Følg emneknagg",
|
||||
"hashtag.mute": "Demp #{hashtag}",
|
||||
"hashtag.unfollow": "Slutt å følge emneknagg",
|
||||
"hashtags.and_other": "…og {count, plural, one{en til} other {# til}}",
|
||||
"hints.profiles.followers_may_be_missing": "Følgere for denne profilen mangler kanskje.",
|
||||
@@ -415,6 +441,10 @@
|
||||
"ignore_notifications_modal.not_following_title": "Overse varsler fra folk du ikke følger?",
|
||||
"ignore_notifications_modal.private_mentions_title": "Overse varsler fra uoppfordrede private omtaler?",
|
||||
"info_button.label": "Hjelp",
|
||||
"interaction_modal.action.favourite": "Favoriser fra din konto for å fortsette.",
|
||||
"interaction_modal.action.follow": "Følg fra din konto for å fortsette.",
|
||||
"interaction_modal.action.reply": "Svar fra kontoen din for å fortsette.",
|
||||
"interaction_modal.action.vote": "Stem fra kontoen din for å fortsette.",
|
||||
"interaction_modal.go": "Gå",
|
||||
"interaction_modal.no_account_yet": "Har du ikke en konto ennå?",
|
||||
"interaction_modal.on_another_server": "På en annen server",
|
||||
@@ -423,6 +453,8 @@
|
||||
"interaction_modal.title.follow": "Følg {name}",
|
||||
"interaction_modal.title.reblog": "Fremhev {name} sitt innlegg",
|
||||
"interaction_modal.title.reply": "Svar på {name} sitt innlegg",
|
||||
"interaction_modal.title.vote": "Stem på {name}s avstemning",
|
||||
"interaction_modal.username_prompt": "For eksempel {example}",
|
||||
"intervals.full.days": "{number, plural,one {# dag} other {# dager}}",
|
||||
"intervals.full.hours": "{number, plural, one {# time} other {# timer}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# minutt} other {# minutter}}",
|
||||
@@ -458,6 +490,7 @@
|
||||
"keyboard_shortcuts.toggle_hidden": "Vis/skjul tekst bak innholdsvarsel",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Vis/skjul media",
|
||||
"keyboard_shortcuts.toot": "Start et nytt innlegg",
|
||||
"keyboard_shortcuts.translate": "for å oversette et innlegg",
|
||||
"keyboard_shortcuts.unfocus": "Fjern fokus fra komponerings-/søkefeltet",
|
||||
"keyboard_shortcuts.up": "Flytt oppover i listen",
|
||||
"lightbox.close": "Lukk",
|
||||
@@ -470,10 +503,18 @@
|
||||
"link_preview.shares": "{count, plural, one {{counter} innlegg} other {{counter} innlegg}}",
|
||||
"lists.add_member": "Legg til",
|
||||
"lists.add_to_list": "Legg til i listen",
|
||||
"lists.add_to_lists": "Legg til {name} i liste",
|
||||
"lists.create": "Opprett",
|
||||
"lists.create_a_list_to_organize": "Lag en ny liste for å organisere hjemmetidslinjen",
|
||||
"lists.create_list": "Lag liste",
|
||||
"lists.delete": "Slett listen",
|
||||
"lists.done": "Ferdig",
|
||||
"lists.edit": "Rediger listen",
|
||||
"lists.find_users_to_add": "Fin brukere å legge til",
|
||||
"lists.list_name": "Listenavn",
|
||||
"lists.new_list_name": "Nytt listenavn",
|
||||
"lists.no_lists_yet": "Ingen lister ennå.",
|
||||
"lists.no_members_yet": "Ingen medlemmer ennå.",
|
||||
"lists.no_results_found": "Ingen treff.",
|
||||
"lists.remove_member": "Fjern",
|
||||
"lists.replies_policy.followed": "Enhver fulgt bruker",
|
||||
@@ -524,15 +565,24 @@
|
||||
"not_signed_in_indicator.not_signed_in": "Du må logge inn for å få tilgang til denne ressursen.",
|
||||
"notification.admin.report": "{name} rapporterte {target}",
|
||||
"notification.admin.report_account": "{name} rapporterte {count, plural, one {et innlegg} other {# innlegg}} fra {target} for {category}",
|
||||
"notification.admin.report_statuses": "{name} rapporterte {target} for {category}",
|
||||
"notification.admin.report_statuses_other": "{name} rapporterte {target}",
|
||||
"notification.admin.sign_up": "{name} registrerte seg",
|
||||
"notification.favourite": "{name} favorittmarkerte innlegget ditt",
|
||||
"notification.follow": "{name} fulgte deg",
|
||||
"notification.follow_request": "{name} har bedt om å få følge deg",
|
||||
"notification.label.mention": "Nevn",
|
||||
"notification.label.private_mention": "Private omtaler",
|
||||
"notification.label.private_reply": "Private svar",
|
||||
"notification.label.reply": "Svar",
|
||||
"notification.mention": "Nevn",
|
||||
"notification.mentioned_you": "{name} nevnte deg",
|
||||
"notification.moderation-warning.learn_more": "Lær mer",
|
||||
"notification.moderation_warning": "Du har fått en advarsel fra en moderator",
|
||||
"notification.moderation_warning.action_delete_statuses": "Noen av innleggene dine har blitt fjernet.",
|
||||
"notification.moderation_warning.action_disable": "Kontoen din har blitt deaktivert.",
|
||||
"notification.moderation_warning.action_mark_statuses_as_sensitive": "Noen av innleggene dine har blitt markert som sensitive.",
|
||||
"notification.moderation_warning.action_none": "Kontoen din har fått en advarsel fra en moderator.",
|
||||
"notification.own_poll": "Avstemningen din er ferdig",
|
||||
"notification.reblog": "{name} fremhevet ditt innlegg",
|
||||
"notification.relationships_severance_event.learn_more": "Lær mer",
|
||||
@@ -542,7 +592,11 @@
|
||||
"notification_requests.dismiss": "Lukk",
|
||||
"notification_requests.edit_selection": "Redigér",
|
||||
"notification_requests.exit_selection": "Ferdig",
|
||||
"notification_requests.explainer_for_limited_remote_account": "Varsler fra denne kontoen har blitt filtrert bort fordi kontoen eller serveren den er på har blitt sensurert av en moderator.",
|
||||
"notification_requests.maximize": "Maksimer",
|
||||
"notification_requests.minimize_banner": "Minimer banneret for filtrerte varsler",
|
||||
"notification_requests.notifications_from": "Varsler fra {name}",
|
||||
"notification_requests.title": "Filtrerte varlser",
|
||||
"notification_requests.view": "Vis varsler",
|
||||
"notifications.clear": "Fjern varsler",
|
||||
"notifications.clear_confirmation": "Er du sikker på at du vil fjerne alle dine varsler permanent?",
|
||||
@@ -602,6 +656,7 @@
|
||||
"onboarding.follows.done": "Ferdig",
|
||||
"onboarding.follows.empty": "Dessverre kan ingen resultater vises akkurat nå. Du kan prøve å bruke søk eller bla gjennom utforske-siden for å finne folk å følge, eller prøve igjen senere.",
|
||||
"onboarding.follows.search": "Søk",
|
||||
"onboarding.follows.title": "Følg folk for å komme i gang",
|
||||
"onboarding.profile.discoverable": "Gjør min profil synlig",
|
||||
"onboarding.profile.display_name": "Visningsnavn",
|
||||
"onboarding.profile.display_name_hint": "Ditt fulle navn eller ditt morsomme navn…",
|
||||
@@ -695,6 +750,7 @@
|
||||
"report_notification.categories.other": "Annet",
|
||||
"report_notification.categories.other_sentence": "annet",
|
||||
"report_notification.categories.spam": "Søppelpost",
|
||||
"report_notification.categories.spam_sentence": "spam",
|
||||
"report_notification.categories.violation": "Regelbrudd",
|
||||
"report_notification.open": "Åpne rapport",
|
||||
"search.no_recent_searches": "Ingen søk nylig",
|
||||
@@ -719,11 +775,14 @@
|
||||
"search_results.no_results": "Ingen resultater.",
|
||||
"search_results.see_all": "Se alle",
|
||||
"search_results.statuses": "Innlegg",
|
||||
"search_results.title": "Søk etter \"{q}\"",
|
||||
"server_banner.about_active_users": "Personer som har brukt denne serveren i løpet av de siste 30 dagene (aktive brukere månedlig)",
|
||||
"server_banner.active_users": "aktive brukere",
|
||||
"server_banner.administered_by": "Administrert av:",
|
||||
"server_banner.is_one_of_many": "{domain} er en av mange uavhengige Mastodon-servere du kan bruke for å delta i det desentraliserte sosiale nettet.",
|
||||
"server_banner.server_stats": "Serverstatistikk:",
|
||||
"sign_in_banner.create_account": "Opprett konto",
|
||||
"sign_in_banner.follow_anyone": "Følg hvem som helst på tvers av det desentraliserte sosiale nettet. Ingen algoritmer, reklamer eller clickbait.",
|
||||
"sign_in_banner.sign_in": "Logg inn",
|
||||
"sign_in_banner.sso_redirect": "Logg inn eller registrer deg",
|
||||
"status.admin_account": "Åpne moderatorgrensesnittet for @{name}",
|
||||
@@ -733,12 +792,14 @@
|
||||
"status.bookmark": "Bokmerke",
|
||||
"status.cancel_reblog_private": "Fjern fremheving",
|
||||
"status.cannot_reblog": "Denne posten kan ikke fremheves",
|
||||
"status.continued_thread": "Fortsettelse av samtale",
|
||||
"status.copy": "Kopier lenken til innlegget",
|
||||
"status.delete": "Slett",
|
||||
"status.detailed_status": "Detaljert samtalevisning",
|
||||
"status.direct": "Nevn @{name} privat",
|
||||
"status.direct_indicator": "Privat omtale",
|
||||
"status.edit": "Rediger",
|
||||
"status.edited": "Sist endret {date}",
|
||||
"status.edited_x_times": "Redigert {count, plural,one {{count} gang} other {{count} ganger}}",
|
||||
"status.favourite": "Favoritt",
|
||||
"status.filter": "Filtrer dette innlegget",
|
||||
@@ -754,6 +815,10 @@
|
||||
"status.mute_conversation": "Demp samtale",
|
||||
"status.open": "Utvid dette innlegget",
|
||||
"status.pin": "Fest på profilen",
|
||||
"status.quote_error.filtered": "Skjult på grunn av et av filterne dine",
|
||||
"status.quote_error.not_found": "Dette innlegget kan ikke vises.",
|
||||
"status.quote_error.pending_approval": "Dette innlegget venter på godkjenning fra den opprinnelige forfatteren.",
|
||||
"status.quote_error.rejected": "Dette innlegget kan ikke vises fordi den opprinnelige forfatteren ikke har tillatt at det blir sitert.",
|
||||
"status.read_more": "Les mer",
|
||||
"status.reblog": "Fremhev",
|
||||
"status.reblog_private": "Fremhev til det opprinnelige publikummet",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"about.blocks": "Shërbyes të moderuar",
|
||||
"about.contact": "Kontakt:",
|
||||
"about.default_locale": "Parazgjedhje",
|
||||
"about.disclaimer": "Mastodon-i është software i lirë, me burim të hapët dhe shenjë tregtare e Mastodon gGmbH.",
|
||||
"about.domain_blocks.no_reason_available": "S’ka arsye",
|
||||
"about.domain_blocks.preamble": "Mastodon-i ju lë përgjithësisht të shihni lëndë prej përdoruesish dhe të ndërveproni me ta nga cilido shërbyes tjetër qofshin në fedivers. Ka përjashtime që janë bërë në këtë shërbyes të dhënë.",
|
||||
@@ -8,6 +9,7 @@
|
||||
"about.domain_blocks.silenced.title": "E kufizuar",
|
||||
"about.domain_blocks.suspended.explanation": "S’do të përpunohen, depozitohen apo shkëmbehen të dhëna të këtij shërbyesi, duke e bërë të pamundur çfarëdo ndërveprimi apo komunikimi me përdorues nga ky shërbyes.",
|
||||
"about.domain_blocks.suspended.title": "E pezulluar",
|
||||
"about.language_label": "Gjuhë",
|
||||
"about.not_available": "Ky informacion, në këtë shërbyes, nuk jepet.",
|
||||
"about.powered_by": "Media shoqërore e decentralizuar, bazuar në {mastodon}",
|
||||
"about.rules": "Rregulla shërbyesi",
|
||||
|
||||
@@ -7963,7 +7963,6 @@ noscript {
|
||||
.avatar {
|
||||
display: block;
|
||||
flex: 0 0 auto;
|
||||
width: 94px;
|
||||
|
||||
.account__avatar {
|
||||
background: var(--background-color);
|
||||
@@ -10766,7 +10765,7 @@ noscript {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
gap: 2px 10px;
|
||||
}
|
||||
|
||||
&__numbers {
|
||||
@@ -11044,7 +11043,7 @@ noscript {
|
||||
overflow: hidden;
|
||||
flex-shrink: 0;
|
||||
border-bottom: 1px solid var(--background-border-color);
|
||||
touch-action: pan-x;
|
||||
touch-action: pan-y;
|
||||
|
||||
&__slides {
|
||||
display: flex;
|
||||
|
||||
@@ -38,7 +38,7 @@ class StatusFilter
|
||||
end
|
||||
|
||||
def silenced_account?
|
||||
!account&.silenced? && status_account_silenced? && !account_following_status_account?
|
||||
status_account_silenced? && !account_following_status_account?
|
||||
end
|
||||
|
||||
def status_account_silenced?
|
||||
|
||||
@@ -79,8 +79,8 @@ class WebPushRequest
|
||||
|
||||
def vapid_key
|
||||
@vapid_key ||= Webpush::VapidKey.from_keys(
|
||||
Rails.configuration.x.vapid_public_key,
|
||||
Rails.configuration.x.vapid_private_key
|
||||
Rails.configuration.x.vapid.public_key,
|
||||
Rails.configuration.x.vapid.private_key
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@ class MediaAttachment < ApplicationRecord
|
||||
|
||||
# Record the cache keys to burst before the file get actually deleted
|
||||
def prepare_cache_bust!
|
||||
return unless Rails.configuration.x.cache_buster_enabled
|
||||
return unless Rails.configuration.x.cache_buster.enabled
|
||||
|
||||
@paths_to_cache_bust = MediaAttachment.attachment_definitions.keys.flat_map do |attachment_name|
|
||||
attachment = public_send(attachment_name)
|
||||
@@ -434,7 +434,7 @@ class MediaAttachment < ApplicationRecord
|
||||
# Once Paperclip has deleted the files, we can't recover the cache keys,
|
||||
# so use the previously-saved ones
|
||||
def bust_cache!
|
||||
return unless Rails.configuration.x.cache_buster_enabled
|
||||
return unless Rails.configuration.x.cache_buster.enabled
|
||||
|
||||
CacheBusterWorker.push_bulk(@paths_to_cache_bust) { |path| [path] }
|
||||
rescue => e
|
||||
|
||||
@@ -18,6 +18,6 @@ class REST::ApplicationSerializer < ActiveModel::Serializer
|
||||
end
|
||||
|
||||
def vapid_key
|
||||
Rails.configuration.x.vapid_public_key
|
||||
Rails.configuration.x.vapid.public_key
|
||||
end
|
||||
end
|
||||
|
||||
@@ -65,7 +65,7 @@ class REST::InstanceSerializer < ActiveModel::Serializer
|
||||
},
|
||||
|
||||
vapid: {
|
||||
public_key: Rails.configuration.x.vapid_public_key,
|
||||
public_key: Rails.configuration.x.vapid.public_key,
|
||||
},
|
||||
|
||||
accounts: {
|
||||
|
||||
@@ -10,7 +10,7 @@ class REST::WebPushSubscriptionSerializer < ActiveModel::Serializer
|
||||
end
|
||||
|
||||
def server_key
|
||||
Rails.configuration.x.vapid_public_key
|
||||
Rails.configuration.x.vapid.public_key
|
||||
end
|
||||
|
||||
def policy
|
||||
|
||||
@@ -95,7 +95,7 @@ class SuspendAccountService < BaseService
|
||||
end
|
||||
end
|
||||
|
||||
CacheBusterWorker.perform_async(attachment.url(style)) if Rails.configuration.x.cache_buster_enabled
|
||||
CacheBusterWorker.perform_async(attachment.url(style)) if Rails.configuration.x.cache_buster.enabled
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -91,7 +91,7 @@ class UnsuspendAccountService < BaseService
|
||||
end
|
||||
end
|
||||
|
||||
CacheBusterWorker.perform_async(attachment.url(style)) if Rails.configuration.x.cache_buster_enabled
|
||||
CacheBusterWorker.perform_async(attachment.url(style)) if Rails.configuration.x.cache_buster.enabled
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
- if user_signed_in?
|
||||
%meta{ name: 'initialPath', content: request.path }
|
||||
|
||||
%meta{ name: 'applicationServerKey', content: Rails.configuration.x.vapid_public_key }
|
||||
%meta{ name: 'applicationServerKey', content: Rails.configuration.x.vapid.public_key }
|
||||
|
||||
= render_initial_state
|
||||
= flavoured_vite_typescript_tag 'application.ts', crossorigin: 'anonymous'
|
||||
|
||||
@@ -103,9 +103,11 @@ module Mastodon
|
||||
end
|
||||
end
|
||||
|
||||
config.x.cache_buster = config_for(:cache_buster)
|
||||
config.x.captcha = config_for(:captcha)
|
||||
config.x.mastodon = config_for(:mastodon)
|
||||
config.x.translation = config_for(:translation)
|
||||
config.x.vapid = config_for(:vapid)
|
||||
|
||||
if ENV.fetch('QUERY_LOG_TAGS_ENABLED', 'false') == 'true'
|
||||
config.active_record.query_log_tags_enabled = ENV.fetch('QUERY_LOG_TAGS_ENABLED', 'false') == 'true'
|
||||
|
||||
5
config/cache_buster.yml
Normal file
5
config/cache_buster.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
shared:
|
||||
enabled: <%= ENV.fetch('CACHE_BUSTER_ENABLED', 'false') == 'true' %>
|
||||
secret_header: <%= ENV.fetch('CACHE_BUSTER_SECRET_HEADER', nil) %>
|
||||
secret: <%= ENV.fetch('CACHE_BUSTER_SECRET', nil) %>
|
||||
http_method: <%= ENV.fetch('CACHE_BUSTER_HTTP_METHOD', 'GET') %>
|
||||
@@ -40,10 +40,10 @@ Rails.application.configure do
|
||||
# Override default file logging in favor of STDOUT logging in dev environment
|
||||
config.logger = ActiveSupport::TaggedLogging.logger($stdout, formatter: config.log_formatter)
|
||||
|
||||
# Generate random VAPID keys
|
||||
# Generate random VAPID keys when needed
|
||||
Webpush.generate_key.tap do |vapid_key|
|
||||
config.x.vapid_private_key = vapid_key.private_key
|
||||
config.x.vapid_public_key = vapid_key.public_key
|
||||
config.x.vapid.private_key ||= vapid_key.private_key
|
||||
config.x.vapid.public_key ||= vapid_key.public_key
|
||||
end
|
||||
|
||||
# Don't care if the mailer can't send.
|
||||
|
||||
@@ -113,7 +113,7 @@ Rails.application.configure do
|
||||
enable_starttls = nil
|
||||
enable_starttls_auto = nil
|
||||
|
||||
case ENV['SMTP_ENABLE_STARTTLS']
|
||||
case ENV.fetch('SMTP_ENABLE_STARTTLS', nil)
|
||||
when 'always'
|
||||
enable_starttls = true
|
||||
when 'never'
|
||||
@@ -125,14 +125,14 @@ Rails.application.configure do
|
||||
end
|
||||
|
||||
config.action_mailer.smtp_settings = {
|
||||
port: ENV['SMTP_PORT'],
|
||||
address: ENV['SMTP_SERVER'],
|
||||
port: ENV.fetch('SMTP_PORT', nil),
|
||||
address: ENV.fetch('SMTP_SERVER', nil),
|
||||
user_name: ENV['SMTP_LOGIN'].presence,
|
||||
password: ENV['SMTP_PASSWORD'].presence,
|
||||
domain: ENV['SMTP_DOMAIN'] || ENV['LOCAL_DOMAIN'],
|
||||
domain: ENV['SMTP_DOMAIN'] || ENV.fetch('LOCAL_DOMAIN', nil),
|
||||
authentication: ENV['SMTP_AUTH_METHOD'] == 'none' ? nil : ENV['SMTP_AUTH_METHOD'] || :plain,
|
||||
ca_file: ENV['SMTP_CA_FILE'].presence || '/etc/ssl/certs/ca-certificates.crt',
|
||||
openssl_verify_mode: ENV['SMTP_OPENSSL_VERIFY_MODE'],
|
||||
openssl_verify_mode: ENV.fetch('SMTP_OPENSSL_VERIFY_MODE', nil),
|
||||
enable_starttls: enable_starttls,
|
||||
enable_starttls_auto: enable_starttls_auto,
|
||||
tls: ENV['SMTP_TLS'].presence && ENV['SMTP_TLS'] == 'true',
|
||||
|
||||
@@ -48,10 +48,11 @@ Rails.application.configure do
|
||||
# Print deprecation notices to the stderr.
|
||||
config.active_support.deprecation = :stderr
|
||||
|
||||
# Generate random VAPID keys
|
||||
vapid_key = Webpush.generate_key
|
||||
config.x.vapid_private_key = vapid_key.private_key
|
||||
config.x.vapid_public_key = vapid_key.public_key
|
||||
# Generate random VAPID keys when needed
|
||||
Webpush.generate_key.tap do |vapid_key|
|
||||
config.x.vapid.private_key ||= vapid_key.private_key
|
||||
config.x.vapid.public_key ||= vapid_key.public_key
|
||||
end
|
||||
|
||||
# Raise exceptions when a reorder occurs in in_batches
|
||||
config.active_record.error_on_ignored_order = true
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
Rails.application.configure do
|
||||
config.x.cache_buster_enabled = ENV['CACHE_BUSTER_ENABLED'] == 'true'
|
||||
|
||||
config.x.cache_buster = {
|
||||
secret_header: ENV['CACHE_BUSTER_SECRET_HEADER'],
|
||||
secret: ENV['CACHE_BUSTER_SECRET'],
|
||||
http_method: ENV['CACHE_BUSTER_HTTP_METHOD'] || 'GET',
|
||||
}
|
||||
end
|
||||
@@ -377,7 +377,7 @@ Devise.setup do |config|
|
||||
config.usernamefield = nil
|
||||
config.emailfield = 'email'
|
||||
config.check_at_sign = true
|
||||
config.pam_default_suffix = ENV.fetch('PAM_EMAIL_DOMAIN') { ENV['LOCAL_DOMAIN'] }
|
||||
config.pam_default_suffix = ENV.fetch('PAM_EMAIL_DOMAIN') { ENV.fetch('LOCAL_DOMAIN', nil) }
|
||||
config.pam_default_service = ENV.fetch('PAM_DEFAULT_SERVICE') { 'rpam' }
|
||||
config.pam_controlled_service = ENV.fetch('PAM_CONTROLLED_SERVICE', nil).presence
|
||||
end
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
Rails.application.configure do
|
||||
# You can generate the keys using the following command (first is the private key, second is the public one)
|
||||
# You should only generate this once per instance. If you later decide to change it, all push subscription will
|
||||
# be invalidated, requiring the users to access the website again to resubscribe.
|
||||
#
|
||||
# Generate with `bundle exec rails mastodon:webpush:generate_vapid_key` task (`docker-compose run --rm web bundle exec rails mastodon:webpush:generate_vapid_key` if you use docker compose)
|
||||
#
|
||||
# For more information visit https://rossta.net/blog/using-the-web-push-api-with-vapid.html
|
||||
|
||||
if Rails.env.production?
|
||||
config.x.vapid_private_key = ENV['VAPID_PRIVATE_KEY']
|
||||
config.x.vapid_public_key = ENV['VAPID_PUBLIC_KEY']
|
||||
end
|
||||
end
|
||||
@@ -15,7 +15,7 @@ cy:
|
||||
two: Dilynwyr
|
||||
zero: Dilynwyr
|
||||
following: Yn dilyn
|
||||
instance_actor_flash: Mae'r cyfrif hwn yn actor rhithwir sy'n cael ei ddefnyddio i gynrychioli'r gweinydd ei hun ac nid unrhyw ddefnyddiwr unigol. Fe'i defnyddir at ddibenion ffederasiwn ac ni ddylid ei atal.
|
||||
instance_actor_flash: Mae'r cyfrif hwn yn actor rhithwir sy'n cael ei ddefnyddio i gynrychioli'r gweinydd ei hun ac nid unrhyw ddefnyddiwr unigol. Mae'n cael ei ddefnyddio at ddibenion ffederasiwn ac ni ddylid ei atal.
|
||||
last_active: gweithgar ddiwethaf
|
||||
link_verified_on: Gwiriwyd perchnogaeth y ddolen yma ar %{date}
|
||||
nothing_here: Does dim byd yma!
|
||||
|
||||
@@ -1588,7 +1588,7 @@ de:
|
||||
too_many: Mehr als vier Dateien können nicht angehängt werden
|
||||
migrations:
|
||||
acct: umgezogen nach
|
||||
cancel: Weiterleitung beenden
|
||||
cancel: Nicht mehr weiterleiten
|
||||
cancel_explanation: Das Abbrechen der Weiterleitung wird dein aktuelles Konto erneut aktivieren, aber keine Follower zurückholen, die auf dieses Konto verschoben wurden.
|
||||
cancelled_msg: Die Weiterleitung wurde erfolgreich beendet.
|
||||
errors:
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
closed_registrations_message: Vises når det er stengt for registrering
|
||||
custom_css: Du kan bruke egendefinerte stiler på nettversjonen av Mastodon.
|
||||
mascot: Overstyrer illustrasjonen i det avanserte webgrensesnittet.
|
||||
peers_api_enabled: En liste over domenenavn denne serveren har oppstått i fødiverset. Det finnes ikke data om du føderer med en gitt server, for akkurat det serveren din vet om. Dette brukes av tjenester som i all hovedsak innhenter føderasjonsstatistikk.
|
||||
peers_api_enabled: En liste over domenenavn denne serveren har oppdaget i fødiverset. Dette er ikke noen indikasjon på om du fødererer med en gitt server, kun at din server vet om den. Dette brukes av tjenester som samler statistikk om fødiverset generelt.
|
||||
profile_directory: Profilkatalogen viser alle brukere som har valgt å kunne bli oppdaget.
|
||||
require_invite_text: Når registreringer krever manuell godkjenning, må du gjøre «Hvorfor vil du bli med?»-tekstinput obligatorisk i stedet for valgfritt
|
||||
site_contact_email: Hvordan mennesker får tak i deg for rettslige spørsmål eller brukerstøtte.
|
||||
|
||||
17
config/vapid.yml
Normal file
17
config/vapid.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
# You can generate the private and public keys using the following task. You
|
||||
# should only generate this once per instance. If you later decide to change it,
|
||||
# all push subscriptions will be invalidated, requiring users to access the
|
||||
# website again to resubscribe.
|
||||
#
|
||||
# Generate on the CLI:
|
||||
# `bundle exec rails mastodon:webpush:generate_vapid_key`
|
||||
#
|
||||
# Generate via Docker Compose:
|
||||
# `docker-compose run --rm web bundle exec rails mastodon:webpush:generate_vapid_key`
|
||||
#
|
||||
# For more information visit
|
||||
# https://rossta.net/blog/using-the-web-push-api-with-vapid.html
|
||||
#
|
||||
shared:
|
||||
private_key: <%= ENV.fetch('VAPID_PRIVATE_KEY', nil) %>
|
||||
public_key: <%= ENV.fetch('VAPID_PUBLIC_KEY', nil) %>
|
||||
@@ -291,7 +291,7 @@ RSpec.describe MediaAttachment, :attachment_processing do
|
||||
let(:media) { Fabricate(:media_attachment) }
|
||||
|
||||
before do
|
||||
allow(Rails.configuration.x).to receive(:cache_buster_enabled).and_return(true)
|
||||
allow(Rails.configuration.x.cache_buster).to receive(:enabled).and_return(true)
|
||||
end
|
||||
|
||||
it 'queues CacheBusterWorker jobs' do
|
||||
|
||||
@@ -29,7 +29,7 @@ RSpec.describe 'Credentials' do
|
||||
redirect_uris: token.application.redirect_uris,
|
||||
# Deprecated properties as of 4.3:
|
||||
redirect_uri: token.application.redirect_uri.split.first,
|
||||
vapid_key: Rails.configuration.x.vapid_public_key
|
||||
vapid_key: Rails.configuration.x.vapid.public_key
|
||||
)
|
||||
)
|
||||
end
|
||||
@@ -69,7 +69,7 @@ RSpec.describe 'Credentials' do
|
||||
redirect_uris: token.application.redirect_uris,
|
||||
# Deprecated properties as of 4.3:
|
||||
redirect_uri: token.application.redirect_uri.split.first,
|
||||
vapid_key: Rails.configuration.x.vapid_public_key
|
||||
vapid_key: Rails.configuration.x.vapid.public_key
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
@@ -49,7 +49,7 @@ RSpec.describe 'Apps' do
|
||||
redirect_uris: redirect_uris,
|
||||
# Deprecated properties as of 4.3:
|
||||
redirect_uri: redirect_uri,
|
||||
vapid_key: Rails.configuration.x.vapid_public_key
|
||||
vapid_key: Rails.configuration.x.vapid.public_key
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
@@ -15,7 +15,7 @@ RSpec.describe REST::InstanceSerializer do
|
||||
describe 'configuration' do
|
||||
it 'returns the VAPID public key' do
|
||||
expect(serialization['configuration']['vapid']).to eq({
|
||||
'public_key' => Rails.configuration.x.vapid_public_key,
|
||||
'public_key' => Rails.configuration.x.vapid.public_key,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ RSpec.describe SuspendAccountService do
|
||||
|
||||
before do
|
||||
allow(FeedManager.instance).to receive_messages(unmerge_from_home: nil, unmerge_from_list: nil)
|
||||
allow(Rails.configuration.x).to receive(:cache_buster_enabled).and_return(true)
|
||||
allow(Rails.configuration.x.cache_buster).to receive(:enabled).and_return(true)
|
||||
|
||||
local_follower.follow!(account)
|
||||
list.accounts << account
|
||||
|
||||
@@ -30,6 +30,10 @@ end
|
||||
|
||||
Capybara.javascript_driver = :headless_chrome
|
||||
|
||||
# Some of the flaky tests seem to be caused by github runners being too slow for the
|
||||
# default timeout of 2 seconds
|
||||
Capybara.default_max_wait_time = 8
|
||||
|
||||
RSpec.configure do |config|
|
||||
config.before(:each, type: :system) do
|
||||
driven_by :rack_test
|
||||
|
||||
@@ -38,13 +38,13 @@ RSpec.describe Web::PushNotificationWorker do
|
||||
|
||||
describe 'perform' do
|
||||
around do |example|
|
||||
original_private = Rails.configuration.x.vapid_private_key
|
||||
original_public = Rails.configuration.x.vapid_public_key
|
||||
Rails.configuration.x.vapid_private_key = vapid_private_key
|
||||
Rails.configuration.x.vapid_public_key = vapid_public_key
|
||||
original_private = Rails.configuration.x.vapid.private_key
|
||||
original_public = Rails.configuration.x.vapid.public_key
|
||||
Rails.configuration.x.vapid.private_key = vapid_private_key
|
||||
Rails.configuration.x.vapid.public_key = vapid_public_key
|
||||
example.run
|
||||
Rails.configuration.x.vapid_private_key = original_private
|
||||
Rails.configuration.x.vapid_public_key = original_public
|
||||
Rails.configuration.x.vapid.private_key = original_private
|
||||
Rails.configuration.x.vapid.public_key = original_public
|
||||
end
|
||||
|
||||
before do
|
||||
|
||||
Reference in New Issue
Block a user