From ce79caca4e440e600c9624851a5567819472478f Mon Sep 17 00:00:00 2001
From: gunchleoc
Date: Thu, 28 Sep 2023 09:13:44 +0100
Subject: [PATCH 01/73] Only strip country code when language not listed in
SUPPORTED_LOCALES (#27099)
---
app/helpers/languages_helper.rb | 1 +
1 file changed, 1 insertion(+)
diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb
index a8c66552cf..c42c4c23ef 100644
--- a/app/helpers/languages_helper.rb
+++ b/app/helpers/languages_helper.rb
@@ -254,6 +254,7 @@ module LanguagesHelper
def valid_locale_or_nil(str)
return if str.blank?
+ return str if valid_locale?(str)
code, = str.to_s.split(/[_-]/) # Strip out the region from e.g. en_US or ja-JP
From 2979a5924b93dc2f810e3c0f5554c6eeb61d6140 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 28 Sep 2023 10:14:43 +0200
Subject: [PATCH 02/73] Update dependency @material-design-icons/svg to
v0.14.13 (#27181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index ca1ac07d63..537a952165 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1739,9 +1739,9 @@
"@jridgewell/sourcemap-codec" "^1.4.14"
"@material-design-icons/svg@^0.14.10":
- version "0.14.12"
- resolved "https://registry.yarnpkg.com/@material-design-icons/svg/-/svg-0.14.12.tgz#b3dd27b4c2a93e0310f51acfb311846b0212f987"
- integrity sha512-hVEMICFvG26SKDXatPmz+vY5BAqLPCDiyXnw+KN46FXOtY4PcpeAfzFZvwt6D9ywNnVJd4EvmLdlWgLmtOWxbA==
+ version "0.14.13"
+ resolved "https://registry.yarnpkg.com/@material-design-icons/svg/-/svg-0.14.13.tgz#de5a79038cf8b281f4b47d79c07399b2b92fcfb7"
+ integrity sha512-nCExGZOtoLoFeeqShEOM4XA9DkkLzLlQdk/ZxHxps0//dz6e1Lw3fvQbZ2X/+0Dz2O+udiEukfZ4Nd4KpHg8aA==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
@@ -11461,6 +11461,7 @@ stringz@^2.1.0:
char-regex "^1.0.2"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ name strip-ansi-cjs
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
From 7fddeca1907493fb327316c5447740922acb934f Mon Sep 17 00:00:00 2001
From: Michael Stanclift
Date: Thu, 28 Sep 2023 03:16:15 -0500
Subject: [PATCH 03/73] Fix retention dashboard not displaying correct month
(#27180)
---
app/javascript/mastodon/components/admin/Retention.jsx | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/app/javascript/mastodon/components/admin/Retention.jsx b/app/javascript/mastodon/components/admin/Retention.jsx
index 7bef96d8c4..2f56710682 100644
--- a/app/javascript/mastodon/components/admin/Retention.jsx
+++ b/app/javascript/mastodon/components/admin/Retention.jsx
@@ -9,11 +9,12 @@ import api from 'mastodon/api';
import { roundTo10 } from 'mastodon/utils/numbers';
const dateForCohort = cohort => {
+ const timeZone = 'UTC';
switch(cohort.frequency) {
case 'day':
- return ;
+ return ;
default:
- return ;
+ return ;
}
};
From 0f588a4a867f1432d02c9c4f717fff78fc941186 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 28 Sep 2023 10:17:08 +0200
Subject: [PATCH 04/73] Update dependency axios to v1.5.1 (#27159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 537a952165..b7430d65b5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3351,9 +3351,9 @@ axe-core@^4.6.2:
integrity sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==
axios@^1.4.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.0.tgz#f02e4af823e2e46a9768cfc74691fdd0517ea267"
- integrity sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.5.1.tgz#11fbaa11fc35f431193a9564109c88c1f27b585f"
+ integrity sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==
dependencies:
follow-redirects "^1.15.0"
form-data "^4.0.0"
@@ -6002,11 +6002,16 @@ flatted@^3.2.7:
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf"
integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==
-follow-redirects@^1.0.0, follow-redirects@^1.15.0:
+follow-redirects@^1.0.0:
version "1.15.2"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+follow-redirects@^1.15.0:
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a"
+ integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
+
font-awesome@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
From 66a7bc215c4202407ec56dd3304f3eab79cf3e4c Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 28 Sep 2023 10:30:19 +0200
Subject: [PATCH 05/73] Update dependency glob to v10.3.10 (#27169)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index b7430d65b5..e419454661 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6232,9 +6232,9 @@ glob-parent@^6.0.2:
is-glob "^4.0.3"
glob@^10.2.5, glob@^10.2.6:
- version "10.3.9"
- resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.9.tgz#181ae87640ecce9b2fc5b96e4e2d70b7c3629ab8"
- integrity sha512-2tU/LKevAQvDVuVJ9pg9Yv9xcbSh+TqHuTaXTNbQwf+0kDl9Fm6bMovi4Nm5c8TVvfxo2LLcqCGtmO9KoJaGWg==
+ version "10.3.10"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b"
+ integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==
dependencies:
foreground-child "^3.1.0"
jackspeak "^2.3.5"
From 6d0767558a86c1ae3c42cb5ab0f6f78a2e93c1eb Mon Sep 17 00:00:00 2001
From: Christian Schmidt
Date: Thu, 28 Sep 2023 10:39:38 +0200
Subject: [PATCH 06/73] Make notification respect reduce-motion (#27178)
---
app/javascript/styles/mastodon/components.scss | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index 2f09f356dd..aac49a389b 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -9284,14 +9284,17 @@ noscript {
0 10px 15px -3px rgba($base-shadow-color, 0.25),
0 4px 6px -4px rgba($base-shadow-color, 0.25);
cursor: default;
- transition: 0.5s cubic-bezier(0.89, 0.01, 0.5, 1.1);
- transform: translateZ(0);
font-size: 15px;
line-height: 21px;
&.notification-bar-active {
inset-inline-start: 1rem;
}
+
+ .no-reduce-motion & {
+ transition: 0.5s cubic-bezier(0.89, 0.01, 0.5, 1.1);
+ transform: translateZ(0);
+ }
}
.notification-bar-title {
From b93ce7d8b31e1302d823f9a267591f4e00e5e91c Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 28 Sep 2023 10:44:16 +0200
Subject: [PATCH 07/73] New Crowdin Translations (automated) (#27168)
Co-authored-by: GitHub Actions
---
app/javascript/mastodon/locales/de.json | 2 +-
app/javascript/mastodon/locales/fi.json | 230 +++++-----
app/javascript/mastodon/locales/hy.json | 15 +
app/javascript/mastodon/locales/lv.json | 2 +-
config/locales/de.yml | 2 +-
config/locales/devise.en-GB.yml | 24 +-
config/locales/doorkeeper.fi.yml | 86 ++--
config/locales/en-GB.yml | 22 +-
config/locales/fi.yml | 572 ++++++++++++------------
config/locales/hy.yml | 22 +
config/locales/ko.yml | 2 +-
config/locales/simple_form.en-GB.yml | 2 +-
config/locales/simple_form.fi.yml | 68 +--
config/locales/simple_form.hy.yml | 1 +
14 files changed, 544 insertions(+), 506 deletions(-)
diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json
index acd53c28a7..76b37ef44b 100644
--- a/app/javascript/mastodon/locales/de.json
+++ b/app/javascript/mastodon/locales/de.json
@@ -383,7 +383,7 @@
"lists.new.create": "Neue Liste erstellen",
"lists.new.title_placeholder": "Titel der neuen Liste",
"lists.replies_policy.followed": "Alle folgenden Profile",
- "lists.replies_policy.list": "Mitglieder*innen der Liste",
+ "lists.replies_policy.list": "Mitglieder der Liste",
"lists.replies_policy.none": "Niemanden",
"lists.replies_policy.title": "Antworten anzeigen für:",
"lists.search": "Suche nach Leuten, denen du folgst",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 2454bdf980..4aa46ec0fc 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -1,9 +1,9 @@
{
- "about.blocks": "Moderoidut palvelimet",
- "about.contact": "Yhteystiedot:",
+ "about.blocks": "Valvotut palvelimet",
+ "about.contact": "Yhteydenotto:",
"about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.",
"about.domain_blocks.no_reason_available": "Syytä ei ole ilmoitettu",
- "about.domain_blocks.preamble": "Yleisesti Mastodonin avulla voidaan tarkastella minkä tahansa muun fediverse-palvelinten sisältöä ja vuorovaikuttaa eri palvelinten käyttäjien kanssa. Nämä ovat tälle palvelimelle määritetyt poikkeukset.",
+ "about.domain_blocks.preamble": "Mastodonin avulla voidaan yleensä tarkastella minkä tahansa fediversumiin kuuluvan palvelimen sisältöä ja vuorovaikuttaa eri palvelinten käyttäjien kanssa. Nämä ovat tälle palvelimelle määritetyt poikkeukset.",
"about.domain_blocks.silenced.explanation": "Et yleensä näe tämän palvelimen profiileja ja sisältöä, jollet erityisesti etsi juuri sitä tai liity siihen seuraamalla.",
"about.domain_blocks.silenced.title": "Rajoitettu",
"about.domain_blocks.suspended.explanation": "Mitään tämän palvelimen tietoja ei käsitellä, tallenneta tai vaihdeta, mikä tekee vuorovaikutuksesta ja viestinnästä sen käyttäjien kanssa mahdotonta.",
@@ -16,7 +16,7 @@
"account.badges.bot": "Botti",
"account.badges.group": "Ryhmä",
"account.block": "Estä @{name}",
- "account.block_domain": "Estä palvelu {domain}",
+ "account.block_domain": "Estä verkkotunnus {domain}",
"account.block_short": "Estä",
"account.blocked": "Estetty",
"account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
@@ -25,11 +25,11 @@
"account.disable_notifications": "Lopeta ilmoittamasta minulle, kun @{name} julkaisee",
"account.domain_blocked": "Verkkotunnus estetty",
"account.edit_profile": "Muokkaa profiilia",
- "account.enable_notifications": "Ilmoita kun käyttäjä @{name} julkaisee viestin",
+ "account.enable_notifications": "Ilmoita minulle, kun @{name} julkaisee",
"account.endorse": "Suosittele profiilissasi",
- "account.featured_tags.last_status_at": "Viimeisin viesti {date}",
- "account.featured_tags.last_status_never": "Ei viestejä",
- "account.featured_tags.title": "Käyttäjän {name} esillä olevat aihetunnisteet",
+ "account.featured_tags.last_status_at": "Viimeisin julkaisu {date}",
+ "account.featured_tags.last_status_never": "Ei julkaisuja",
+ "account.featured_tags.title": "Käyttäjän {name} esille nostetut aihetunnisteet",
"account.follow": "Seuraa",
"account.followers": "seuraaja(t)",
"account.followers.empty": "Kukaan ei seuraa tätä käyttäjää vielä.",
@@ -54,21 +54,21 @@
"account.muted": "Mykistetty",
"account.no_bio": "Kuvausta ei ole annettu.",
"account.open_original_page": "Avaa alkuperäinen sivu",
- "account.posts": "viesti(t)",
- "account.posts_with_replies": "Viestit ja vastaukset",
+ "account.posts": "Julkaisut",
+ "account.posts_with_replies": "Julkaisut ja vastaukset",
"account.report": "Raportoi @{name}",
- "account.requested": "Odottaa hyväksyntää. Peruuta seuraamispyyntö klikkaamalla",
+ "account.requested": "Odottaa hyväksyntää. Peruuta seuraamispyyntö napsauttamalla",
"account.requested_follow": "{name} on pyytänyt lupaa seurata sinua",
"account.share": "Jaa käyttäjän @{name} profiili",
- "account.show_reblogs": "Näytä tehostukset käyttäjältä @{name}",
- "account.statuses_counter": "{count, plural, one {{counter} viesti} other {{counter} viestiä}}",
+ "account.show_reblogs": "Näytä käyttäjän @{name} tehostukset",
+ "account.statuses_counter": "{count, plural, one {{counter} julkaisu} other {{counter} julkaisua}}",
"account.unblock": "Poista esto: @{name}",
"account.unblock_domain": "Salli palvelu {domain}",
"account.unblock_short": "Poista esto",
"account.unendorse": "Poista suosittelu profiilistasi",
"account.unfollow": "Lopeta seuraaminen",
"account.unmute": "Poista käyttäjän @{name} mykistys",
- "account.unmute_notifications_short": "Kumoa ilmoitusten mykistys",
+ "account.unmute_notifications_short": "Poista ilmoitusten mykistys",
"account.unmute_short": "Poista mykistys",
"account_note.placeholder": "Lisää muistiinpano napsauttamalla",
"admin.dashboard.daily_retention": "Käyttäjän säilyminen rekisteröitymisen jälkeiseen päivään mennessä",
@@ -112,7 +112,7 @@
"column.community": "Paikallinen aikajana",
"column.direct": "Yksityiset maininnat",
"column.directory": "Selaa profiileja",
- "column.domain_blocks": "Estetyt palvelut",
+ "column.domain_blocks": "Estetyt verkkotunnukset",
"column.favourites": "Suosikit",
"column.firehose": "Live-syötteet",
"column.follow_requests": "Seuraamispyynnöt",
@@ -120,7 +120,7 @@
"column.lists": "Listat",
"column.mutes": "Mykistetyt käyttäjät",
"column.notifications": "Ilmoitukset",
- "column.pins": "Kiinnitetyt viestit",
+ "column.pins": "Kiinnitetyt julkaisut",
"column.public": "Yleinen aikajana",
"column_back_button.label": "Takaisin",
"column_header.hide_settings": "Piilota asetukset",
@@ -128,7 +128,7 @@
"column_header.moveRight_settings": "Siirrä saraketta oikealle",
"column_header.pin": "Kiinnitä",
"column_header.show_settings": "Näytä asetukset",
- "column_header.unpin": "Poista kiinnitys",
+ "column_header.unpin": "Irrota",
"column_subheading.settings": "Asetukset",
"community.column_settings.local_only": "Vain paikalliset",
"community.column_settings.media_only": "Vain media",
@@ -137,13 +137,13 @@
"compose.language.search": "Hae kieliä...",
"compose.published.body": "Julkaisusi julkaistiin.",
"compose.published.open": "Avaa",
- "compose.saved.body": "Viesti tallennettu.",
+ "compose.saved.body": "Julkaisu tallennettu.",
"compose_form.direct_message_warning_learn_more": "Lisätietoja",
- "compose_form.encryption_warning": "Mastodonin viestit eivät ole päästä päähän salattuja. Älä jaa arkaluonteisia tietoja Mastodonissa.",
+ "compose_form.encryption_warning": "Mastodonin julkaisut eivät ole päästä päähän salattuja. Älä jaa arkaluonteisia tietoja Mastodonissa.",
"compose_form.hashtag_warning": "Tätä julkaisua ei voi liittää aihetunnisteisiin, koska se ei ole julkinen. Vain näkyvyydeltään julkisiksi määritettyjä julkaisuja voidaan hakea aihetunnisteiden avulla.",
"compose_form.lock_disclaimer": "Tilisi ei ole {locked}. Kuka tahansa voi seurata tiliäsi ja nähdä vain seuraajille rajaamasi julkaisut.",
"compose_form.lock_disclaimer.lock": "lukittu",
- "compose_form.placeholder": "Mitä sinulla on mielessäsi?",
+ "compose_form.placeholder": "Mitä mietit?",
"compose_form.poll.add_option": "Lisää valinta",
"compose_form.poll.duration": "Äänestyksen kesto",
"compose_form.poll.option_placeholder": "Valinta {number}",
@@ -167,24 +167,24 @@
"confirmations.cancel_follow_request.confirm": "Peruuta pyyntö",
"confirmations.cancel_follow_request.message": "Haluatko varmasti peruuttaa pyyntösi seurata profiilia {name}?",
"confirmations.delete.confirm": "Poista",
- "confirmations.delete.message": "Haluatko varmasti poistaa tämän viestin?",
+ "confirmations.delete.message": "Haluatko varmasti poistaa tämän julkaisun?",
"confirmations.delete_list.confirm": "Poista",
- "confirmations.delete_list.message": "Haluatko varmasti poistaa tämän listan kokonaan?",
+ "confirmations.delete_list.message": "Haluatko varmasti poistaa tämän listan pysyvästi?",
"confirmations.discard_edit_media.confirm": "Hylkää",
"confirmations.discard_edit_media.message": "Sinulla on tallentamattomia muutoksia median kuvaukseen tai esikatseluun, hylätäänkö ne silti?",
"confirmations.domain_block.confirm": "Estä koko verkkotunnus",
- "confirmations.domain_block.message": "Haluatko aivan varmasti estää palvelun {domain} täysin? Useimmiten muutama kohdistettu esto tai mykistys on riittävä ja suositeltava toimenpide. Et näe kyseisen sisältöä kyseiseltä verkkoalueelta missään julkisissa aikajanoissa tai ilmoituksissa. Tälle verkkoalueelle kuuluvat seuraajasi poistetaan.",
+ "confirmations.domain_block.message": "Haluatko aivan varmasti estää koko verkkotunnuksen {domain}? Useimmiten muutama kohdistettu esto tai mykistys on riittävä ja suositeltava toimi. Et näe sisältöä tästä verkkotunnuksesta millään julkisilla aikajanoilla tai ilmoituksissa. Tähän verkkotunnukseen kuuluvat seuraajasi poistetaan.",
"confirmations.edit.confirm": "Muokkaa",
- "confirmations.edit.message": "Muokkaaminen nyt korvaa viestin, jota paraikaa työstät. Haluatko varmasti jatkaa?",
+ "confirmations.edit.message": "Jos muokkaat viestiä nyt, se korvaa parhaillaan työstämäsi viestin. Haluatko varmasti jatkaa?",
"confirmations.logout.confirm": "Kirjaudu ulos",
"confirmations.logout.message": "Haluatko varmasti kirjautua ulos?",
"confirmations.mute.confirm": "Mykistä",
"confirmations.mute.explanation": "Tämä toiminto piilottaa heidän julkaisunsa sinulta – mukaan lukien ne, joissa heidät mainitaan – sallien heidän yhä nähdä julkaisusi ja seurata sinua.",
- "confirmations.mute.message": "Haluatko varmasti mykistää profiilin {name}?",
+ "confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?",
"confirmations.redraft.confirm": "Poista & palauta muokattavaksi",
- "confirmations.redraft.message": "Haluatko varmasti poistaa viestin ja tehdä siitä luonnoksen? Suosikiksi lisäykset sekä tehostukset menetään, ja vastaukset alkuperäisviestiisi jäävät orvoiksi.",
+ "confirmations.redraft.message": "Haluatko varmasti poistaa julkaisun ja tehdä siitä luonnoksen? Suosikit ja tehostukset menetetään, ja alkuperäisen julkaisun vastaukset jäävät orvoiksi.",
"confirmations.reply.confirm": "Vastaa",
- "confirmations.reply.message": "Jos vastaat nyt, vastaus korvaa tällä hetkellä työstämäsi viestin. Oletko varma, että haluat jatkaa?",
+ "confirmations.reply.message": "Jos vastaat nyt, vastaus korvaa parhaillaan työstämäsi viestin. Haluatko varmasti jatkaa?",
"confirmations.unfollow.confirm": "Lopeta seuraaminen",
"confirmations.unfollow.message": "Haluatko varmasti lakata seuraamasta profiilia {name}?",
"conversation.delete": "Poista keskustelu",
@@ -193,18 +193,18 @@
"conversation.with": "{names} kanssa",
"copypaste.copied": "Kopioitu",
"copypaste.copy_to_clipboard": "Kopioi leikepöydälle",
- "directory.federated": "Koko tunnettu fediverse",
+ "directory.federated": "Koko tunnettu fediversumi",
"directory.local": "Vain palvelusta {domain}",
"directory.new_arrivals": "Äskettäin saapuneet",
"directory.recently_active": "Hiljattain aktiiviset",
"disabled_account_banner.account_settings": "Tilin asetukset",
"disabled_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä.",
- "dismissable_banner.community_timeline": "Nämä ovat uusimmat julkiset julkaisut käyttäjiltä, joiden tilejä isännöi {domain}.",
+ "dismissable_banner.community_timeline": "Nämä ovat viimeisimpiä julkaisuja käyttäjiltä, joiden tili sijaitsee palvelimella {domain}.",
"dismissable_banner.dismiss": "Hylkää",
"dismissable_banner.explore_links": "Näistä uutisista puhutaan juuri nyt tällä ja muilla hajautetun verkon palvelimilla.",
- "dismissable_banner.explore_statuses": "Nämä ovat tänään huomiota keräävimpiä sosiaalisen verkon julkaisuja. Tuoreimmat, tehostetuimmat sekä suosikeiksi merkityimmät sijoitetaan listauksessa korkeammalle.",
+ "dismissable_banner.explore_statuses": "Nämä ovat tänään huomiota keräävimpiä sosiaalisen verkon julkaisuja. Uusimmat, tehostetuimmat ja suosikiksi lisätyimmät nousevat listauksessa korkeimmalle.",
"dismissable_banner.explore_tags": "Nämä aihetunnisteet saavat juuri nyt vetovoimaa tällä ja muilla hajautetun verkon palvelimilla olevien ihmisten keskuudessa.",
- "dismissable_banner.public_timeline": "Nämä ovat viimeisimpiä julkaisuja sosiaalisen verkon käyttäjiltä, joita seurataan palvelussa {domain}.",
+ "dismissable_banner.public_timeline": "Nämä ovat viimeisimpiä julkaisuja sosiaalisen verkon käyttäjiltä, joita seurataan palvelimella {domain}.",
"embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.",
"embed.preview": "Se tulee näyttämään tältä:",
"emoji_button.activity": "Aktiviteetit",
@@ -218,7 +218,7 @@
"emoji_button.objects": "Esineet",
"emoji_button.people": "Ihmiset",
"emoji_button.recent": "Usein käytetyt",
- "emoji_button.search": "Etsi...",
+ "emoji_button.search": "Hae...",
"emoji_button.search_results": "Hakutulokset",
"emoji_button.symbols": "Symbolit",
"emoji_button.travel": "Matkailu ja paikat",
@@ -231,20 +231,20 @@
"empty_column.direct": "Yksityisiä mainintoja ei vielä ole. Jos lähetät tai sinulle lähetetään sellaisia, näet ne täällä.",
"empty_column.domain_blocks": "Palveluita ei ole vielä estetty.",
"empty_column.explore_statuses": "Mikään ei trendaa nyt. Tarkista myöhemmin uudelleen!",
- "empty_column.favourited_statuses": "Sinulla ei ole vielä yhtään suosikkiviestiä. Kun lisäät yhden, näkyy se tässä.",
- "empty_column.favourites": "Kukaan ei ole vielä merkinnyt tätä viestiä suosikiksi. Kun joku tekee niin, näkyy asia täällä.",
- "empty_column.follow_requests": "Et ole vielä vastaanottanut seurauspyyntöjä. Saamasi pyynnöt näytetään täällä.",
- "empty_column.followed_tags": "Et ole vielä ottanut yhtään aihetunnistetta seurattavaksesi. Jos tai kun sitten teet niin, ne listautuvat tänne.",
+ "empty_column.favourited_statuses": "Sinulla ei ole vielä yhtään suosikkijulkaisua. Kun lisäät sellaisen, näkyy se tässä.",
+ "empty_column.favourites": "Kukaan ei ole vielä lisännyt tätä julkaisua suosikkeihinsa. Kun joku tekee niin, tulee hän tähän näkyviin.",
+ "empty_column.follow_requests": "Et ole vielä vastaanottanut seuraamispyyntöjä. Saamasi pyynnöt näkyvät täällä.",
+ "empty_column.followed_tags": "Et seuraa vielä yhtäkään aihetunnistetta. Kun alat seurata, ne tulevat tähän näkyviin.",
"empty_column.hashtag": "Tällä aihetunnisteella ei ole vielä mitään.",
"empty_column.home": "Kotiaikajanasi on tyhjä! Seuraa useampia henkilöjä, niin näet enemmän sisältöä.",
- "empty_column.list": "Tässä luettelossa ei ole vielä mitään. Kun tämän luettelon jäsenet julkaisevat uusia viestejä, ne näkyvät täällä.",
+ "empty_column.list": "Tällä listalla ei ole vielä mitään. Kun tämän listan jäsenet lähettävät uusia julkaisuja, ne näkyvät tässä.",
"empty_column.lists": "Sinulla ei ole vielä yhtään listaa. Kun luot sellaisen, näkyy se tässä.",
"empty_column.mutes": "Et ole mykistänyt vielä yhtään käyttäjää.",
"empty_column.notifications": "Sinulla ei ole vielä ilmoituksia. Kun keskustelet muille, näet sen täällä.",
"empty_column.public": "Täällä ei ole mitään! Kirjoita jotain julkisesti. Voit myös seurata muiden palvelimien käyttäjiä",
"error.unexpected_crash.explanation": "Sivua ei voi näyttää oikein, johtuen bugista tai ongelmasta selaimen yhteensopivuudessa.",
"error.unexpected_crash.explanation_addons": "Sivua ei voitu näyttää oikein. Tämä virhe johtuu todennäköisesti selaimen lisäosasta tai automaattisista käännöstyökaluista.",
- "error.unexpected_crash.next_steps": "Kokeile sivun päivitystä. Jos se ei auta, voi Mastodonin käyttö silti olla mahdollista eri selaimella tai natiivilla sovelluksella.",
+ "error.unexpected_crash.next_steps": "Kokeile päivittää sivu. Jos se ei auta, voi Mastodonin käyttö ehkä onnistua eri selaimella tai natiivisovelluksella.",
"error.unexpected_crash.next_steps_addons": "Yritä poistaa ne käytöstä ja päivittää sivu. Jos se ei auta, voit silti käyttää Mastodonia eri selaimen tai sovelluksen kautta.",
"errors.unexpected_crash.copy_stacktrace": "Kopioi pinon jäljitys leikepöydälle",
"errors.unexpected_crash.report_issue": "Ilmoita ongelmasta",
@@ -254,28 +254,28 @@
"explore.trending_links": "Uutiset",
"explore.trending_statuses": "Julkaisut",
"explore.trending_tags": "Aihetunnisteet",
- "filter_modal.added.context_mismatch_explanation": "Tämä suodatinluokka ei koske asiayhteyttä, jossa olet käyttänyt tätä viestiä. Jos haluat, että viesti suodatetaan myös tässä yhteydessä, sinun on muokattava suodatinta.",
- "filter_modal.added.context_mismatch_title": "Asiayhteys ei täsmää!",
- "filter_modal.added.expired_explanation": "Tämä suodatinluokka on vanhentunut ja sinun on muutettava viimeistä voimassaolon päivää, jotta sitä voidaan käyttää.",
+ "filter_modal.added.context_mismatch_explanation": "Tämä suodatinluokka ei koske kontekstia, jossa olet tarkastellut tätä julkaisua. Jos haluat, että julkaisu suodatetaan myös tässä kontekstissa, sinun pitää muokata suodatinta.",
+ "filter_modal.added.context_mismatch_title": "Konteksti ei täsmää!",
+ "filter_modal.added.expired_explanation": "Tämä suodatinluokka on vanhentunut, joten sinun on muutettava viimeistä voimassaolopäivää, jotta suodatin on voimassa.",
"filter_modal.added.expired_title": "Vanhentunut suodatin!",
- "filter_modal.added.review_and_configure": "Voit tarkastella tätä suodatinluokkaa ja määrittää sen tarkemmin siirtymällä {settings_link}.",
+ "filter_modal.added.review_and_configure": "Voit tarkastella tätä suodatinluokkaa ja määrittää sen tarkemmin kohdassa {settings_link}.",
"filter_modal.added.review_and_configure_title": "Suodattimen asetukset",
"filter_modal.added.settings_link": "asetukset-sivulle",
- "filter_modal.added.short_explanation": "Tämä viesti on lisätty seuraavaan suodatinluokkaan: {title}.",
+ "filter_modal.added.short_explanation": "Tämä julkaisu on lisätty seuraavaan suodatinluokkaan: {title}.",
"filter_modal.added.title": "Suodatin lisätty!",
- "filter_modal.select_filter.context_mismatch": "ei sovellu tähän asiayhteyteen",
+ "filter_modal.select_filter.context_mismatch": "ei sovellu tähän kontekstiin",
"filter_modal.select_filter.expired": "vanhentunut",
"filter_modal.select_filter.prompt_new": "Uusi luokka: {name}",
"filter_modal.select_filter.search": "Etsi tai luo",
- "filter_modal.select_filter.subtitle": "Käytä olemassa olevaa luokkaa tai luo uusi luokka",
- "filter_modal.select_filter.title": "Suodata tämä viesti",
- "filter_modal.title.status": "Suodata viesti",
+ "filter_modal.select_filter.subtitle": "Käytä olemassa olevaa luokkaa tai luo uusi",
+ "filter_modal.select_filter.title": "Suodata tämä julkaisu",
+ "filter_modal.title.status": "Suodata julkaisu",
"firehose.all": "Kaikki",
"firehose.local": "Tämä palvelin",
"firehose.remote": "Muut palvelimet",
"follow_request.authorize": "Valtuuta",
"follow_request.reject": "Hylkää",
- "follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, on palvelun {domain} ylläpito arvioinut, että saatat olla halukas tarkistamaan nämä seurauspyynnöt erikseen.",
+ "follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, palvelimen {domain} ylläpito on arvioinut, että saatat olla halukas tarkistamaan nämä seuraamispyynnöt erikseen.",
"followed_tags": "Seuratut aihetunnisteet",
"footer.about": "Tietoja",
"footer.directory": "Profiilihakemisto",
@@ -307,17 +307,17 @@
"home.column_settings.basic": "Perusasetukset",
"home.column_settings.show_reblogs": "Näytä tehostukset",
"home.column_settings.show_replies": "Näytä vastaukset",
- "home.explore_prompt.body": "Kotisyötteesi on sekoitus seuraamistasi aihetunnisteista ja käyttäjistä sekä heidän tehostamistaan viesteistä. Jos se näyttää tällä hetkellä turhan hiljaiselta, saatat haluta:",
+ "home.explore_prompt.body": "Kotisyötteesi on sekoitus seuraamiasi aihetunnisteita ja käyttäjiä sekä heidän tehostamiaan julkaisuja. Jos se tuntuu liian hiljaiselta, saatat haluta:",
"home.explore_prompt.title": "Tämä on tukikohtasi Mastodonissa.",
- "home.hide_announcements": "Piilota ilmoitukset",
+ "home.hide_announcements": "Piilota tiedotteet",
"home.pending_critical_update.body": "Päivitäthän Mastodon-palvelimen mahdollisimman pian!",
"home.pending_critical_update.link": "Tutustu päivityssisältöihin",
"home.pending_critical_update.title": "Kriittinen tietoturvapäivitys saatavilla!",
- "home.show_announcements": "Näytä ilmoitukset",
- "interaction_modal.description.favourite": "Mastodon-tilisi myötä voit merkitä julkaisuja suosikeiksi, jolloin osoitat julkaisijoille arvostavasi sisältöä, ja tallennat sitä myös helpommin saatavillesi jatkossa.",
- "interaction_modal.description.follow": "Kun sinulla on Mastodon-tili, voit seurata käyttäjää {name} nähdäksesi hänen viestinsä kotisyötteessäsi.",
- "interaction_modal.description.reblog": "Kun sinulla on tili Mastodonissa, voit tehostaa viestiä ja jakaa sen omien seuraajiesi kanssa.",
- "interaction_modal.description.reply": "Kun sinulla on tili Mastodonissa, voit vastata tähän viestiin.",
+ "home.show_announcements": "Näytä tiedotteet",
+ "interaction_modal.description.favourite": "Mastodon-tilillä voit lisätä julkaisun suosikkeihisi osoittaaksesi kirjoittajalle arvostavasi sitä ja tallentaaksesi sen tulevaa käyttöä varten.",
+ "interaction_modal.description.follow": "Mastodon-tilillä voit seurata käyttäjää {name} saadaksesi hänen julkaisunsa kotisyötteeseesi.",
+ "interaction_modal.description.reblog": "Mastodon-tilillä voit tehostaa tätä julkaisua jakaaksesi sen seuraajiesi kanssa.",
+ "interaction_modal.description.reply": "Mastodon-tilillä voit vastata tähän julkaisuun.",
"interaction_modal.login.action": "Palaa aloitussivulle",
"interaction_modal.login.prompt": "Kotipalvelimesi verkkotunnus (kuten mastodon.social)",
"interaction_modal.no_account_yet": "Etkö ole vielä Mastodonissa?",
@@ -326,15 +326,15 @@
"interaction_modal.sign_in": "Et ole kirjautunut tälle palvelimelle. Millä palvelimella tilisi sijaitsee?",
"interaction_modal.sign_in_hint": "Vihje: Se on sama verkkosivusto, jolla loit tilisi. Jos et muista, etsi tervetuliaissähköpostia saapuneista viesteistäsi. Voit myös syöttää koko käyttäjätunnuksesi! (Esimerkki: @Mastodon@mastodon.social)",
"interaction_modal.title.favourite": "Lisää käyttäjän {name} julkaisu suosikkeihin",
- "interaction_modal.title.follow": "Seuraa {name}",
- "interaction_modal.title.reblog": "Tehosta käyttäjän {name} viestiä",
- "interaction_modal.title.reply": "Vastaa käyttäjän {name} viestiin",
+ "interaction_modal.title.follow": "Seuraa käyttäjää {name}",
+ "interaction_modal.title.reblog": "Tehosta käyttäjän {name} julkaisua",
+ "interaction_modal.title.reply": "Vastaa käyttäjän {name} julkaisuun",
"intervals.full.days": "{number, plural, one {# päivä} other {# päivää}}",
"intervals.full.hours": "{number, plural, one {# tunti} other {# tuntia}}",
"intervals.full.minutes": "{number, plural, one {# minuutti} other {# minuuttia}}",
"keyboard_shortcuts.back": "Siirry takaisin",
"keyboard_shortcuts.blocked": "Avaa estettyjen käyttäjien luettelo",
- "keyboard_shortcuts.boost": "Tehosta viestiä",
+ "keyboard_shortcuts.boost": "Tehosta julkaisua",
"keyboard_shortcuts.column": "Kohdista sarakkeeseen",
"keyboard_shortcuts.compose": "siirry tekstinsyöttöön",
"keyboard_shortcuts.description": "Kuvaus",
@@ -342,7 +342,7 @@
"keyboard_shortcuts.down": "Siirry listassa alaspäin",
"keyboard_shortcuts.enter": "Avaa julkaisu",
"keyboard_shortcuts.favourite": "Lisää julkaisu suosikkeihin",
- "keyboard_shortcuts.favourites": "Avaa suosikkilista",
+ "keyboard_shortcuts.favourites": "Avaa suosikkiluettelo",
"keyboard_shortcuts.federated": "Avaa yleinen aikajana",
"keyboard_shortcuts.heading": "Pikanäppäimet",
"keyboard_shortcuts.home": "Avaa kotiaikajana",
@@ -354,16 +354,16 @@
"keyboard_shortcuts.my_profile": "Avaa profiilisi",
"keyboard_shortcuts.notifications": "Avaa ilmoitukset-valikko",
"keyboard_shortcuts.open_media": "Avaa media",
- "keyboard_shortcuts.pinned": "Avaa lista kiinnitetyistä viesteistä",
+ "keyboard_shortcuts.pinned": "Avaa kiinnitettyjen julkaisujen luettelo",
"keyboard_shortcuts.profile": "Avaa kirjoittajan profiili",
- "keyboard_shortcuts.reply": "Vastaa viestiin",
- "keyboard_shortcuts.requests": "Avaa lista seurauspyynnöistä",
+ "keyboard_shortcuts.reply": "Vastaa julkaisuun",
+ "keyboard_shortcuts.requests": "Avaa seuraamispyyntöjen luettelo",
"keyboard_shortcuts.search": "siirry hakukenttään",
"keyboard_shortcuts.spoilers": "Näytä/piilota sisältövaroituskenttä",
"keyboard_shortcuts.start": "avaa \"Aloitus\"",
"keyboard_shortcuts.toggle_hidden": "näytä/piilota sisältövaroituksella merkitty teksti",
"keyboard_shortcuts.toggle_sensitivity": "näytä/piilota media",
- "keyboard_shortcuts.toot": "Luo uusi viesti",
+ "keyboard_shortcuts.toot": "Luo uusi julkaisu",
"keyboard_shortcuts.unfocus": "Poistu teksti-/hakukentästä",
"keyboard_shortcuts.up": "Siirry listassa ylöspäin",
"lightbox.close": "Sulje",
@@ -372,19 +372,19 @@
"lightbox.next": "Seuraava",
"lightbox.previous": "Edellinen",
"limited_account_hint.action": "Näytä profiili joka tapauksessa",
- "limited_account_hint.title": "Palvelun {domain} ylläpito on piilottanut tämän profiilin.",
+ "limited_account_hint.title": "Palvelun {domain} valvojat ovat piilottaneet tämän profiilin.",
"link_preview.author": "Julkaissut {name}",
- "lists.account.add": "Lisää listaan",
- "lists.account.remove": "Poista listasta",
+ "lists.account.add": "Lisää listalle",
+ "lists.account.remove": "Poista listalta",
"lists.delete": "Poista lista",
"lists.edit": "Muokkaa listaa",
- "lists.edit.submit": "Vaihda otsikko",
- "lists.exclusive": "Piilota nämä julkaisut kotiaikajanaltasi",
+ "lists.edit.submit": "Vaihda nimi",
+ "lists.exclusive": "Piilota nämä julkaisut kotisyötteestä",
"lists.new.create": "Lisää lista",
"lists.new.title_placeholder": "Uuden listan nimi",
- "lists.replies_policy.followed": "Jokainen seurattu käyttäjä",
- "lists.replies_policy.list": "Listan jäsenet",
- "lists.replies_policy.none": "Ei kukaan",
+ "lists.replies_policy.followed": "Jokaiselle seuratulle käyttäjälle",
+ "lists.replies_policy.list": "Listan jäsenille",
+ "lists.replies_policy.none": "Ei kellekään",
"lists.replies_policy.title": "Näytä vastaukset:",
"lists.search": "Etsi seuraamistasi henkilöistä",
"lists.subheading": "Omat listasi",
@@ -400,23 +400,23 @@
"navigation_bar.blocks": "Estetyt käyttäjät",
"navigation_bar.bookmarks": "Kirjanmerkit",
"navigation_bar.community_timeline": "Paikallinen aikajana",
- "navigation_bar.compose": "Julkaise",
+ "navigation_bar.compose": "Kirjoita uusi julkaisu",
"navigation_bar.direct": "Yksityiset maininnat",
"navigation_bar.discover": "Löydä uutta",
- "navigation_bar.domain_blocks": "Estetyt palvelut",
+ "navigation_bar.domain_blocks": "Estetyt verkkotunnukset",
"navigation_bar.edit_profile": "Muokkaa profiilia",
"navigation_bar.explore": "Selaa",
"navigation_bar.favourites": "Suosikit",
"navigation_bar.filters": "Mykistetyt sanat",
"navigation_bar.follow_requests": "Seuraamispyynnöt",
"navigation_bar.followed_tags": "Seuratut aihetunnisteet",
- "navigation_bar.follows_and_followers": "Seurattavat ja seuraajat",
+ "navigation_bar.follows_and_followers": "Seuratut ja seuraajat",
"navigation_bar.lists": "Listat",
"navigation_bar.logout": "Kirjaudu ulos",
"navigation_bar.mutes": "Mykistetyt käyttäjät",
- "navigation_bar.opened_in_classic_interface": "Julkaisut, profiilit sekä tietyt muut sivut avataan oletuksena perinteisessä käyttöliittymässä.",
+ "navigation_bar.opened_in_classic_interface": "Julkaisut, profiilit ja tietyt muut sivut avautuvat oletuksena perinteiseen web-käyttöliittymään.",
"navigation_bar.personal": "Henkilökohtainen",
- "navigation_bar.pins": "Kiinnitetyt viestit",
+ "navigation_bar.pins": "Kiinnitetyt julkaisut",
"navigation_bar.preferences": "Asetukset",
"navigation_bar.public_timeline": "Yleinen aikajana",
"navigation_bar.search": "Haku",
@@ -430,9 +430,9 @@
"notification.mention": "{name} mainitsi sinut",
"notification.own_poll": "Äänestyksesi on päättynyt",
"notification.poll": "Äänestys, johon osallistuit, on päättynyt",
- "notification.reblog": "{name} tehosti viestiäsi",
- "notification.status": "{name} julkaisi juuri viestin",
- "notification.update": "{name} muokkasi viestiä",
+ "notification.reblog": "{name} tehosti julkaisuasi",
+ "notification.status": "{name} julkaisi juuri",
+ "notification.update": "{name} muokkasi julkaisua",
"notifications.clear": "Tyhjennä ilmoitukset",
"notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?",
"notifications.column_settings.admin.report": "Uudet ilmoitukset:",
@@ -446,7 +446,7 @@
"notifications.column_settings.follow_request": "Uudet seuraamispyynnöt:",
"notifications.column_settings.mention": "Maininnat:",
"notifications.column_settings.poll": "Äänestyksen tulokset:",
- "notifications.column_settings.push": "Push-ilmoitukset",
+ "notifications.column_settings.push": "Puskuilmoitukset",
"notifications.column_settings.reblog": "Tehostukset:",
"notifications.column_settings.show": "Näytä sarakkeessa",
"notifications.column_settings.sound": "Äänimerkki",
@@ -477,7 +477,7 @@
"onboarding.compose.template": "Tervehdys #Mastodon!",
"onboarding.follows.empty": "Valitettavasti tuloksia ei voida näyttää juuri nyt. Voit kokeilla hakua tai selata tutustumissivua löytääksesi seurattavaa, tai yrittää myöhemmin uudelleen.",
"onboarding.follows.lead": "Kokoat oman kotisyötteesi itse. Mitä enemmän ihmisiä seuraat, sitä aktiivisempi ja kiinnostavampi syöte on. Nämä profiilit voivat olla alkuun hyvä lähtökohta — voit aina lopettaa niiden seuraamisen myöhemmin!",
- "onboarding.follows.title": "Suosittua Mastodonissa",
+ "onboarding.follows.title": "Mukauta kotisyötettäsi",
"onboarding.share.lead": "Kerro ihmisille, kuinka he voivat löytää sinut Mastodonista!",
"onboarding.share.message": "Olen {username} #Mastodon'issa! Seuraa minua osoitteessa {url}",
"onboarding.share.next_steps": "Mahdolliset seuraavat vaiheet:",
@@ -494,7 +494,7 @@
"onboarding.steps.share_profile.body": "Kerro kavereillesi, kuinka sinut löytää Mastodonista",
"onboarding.steps.share_profile.title": "Jaa Mastodon-profiilisi",
"onboarding.tips.2fa": "Tiesitkö? Voit lisäsuojata tiliäsi ottamalla kaksivaiheisen todennuksen käyttöön palvelun tiliasetuksista. Ominaisuus toimii haluamasi TOTP-todennussovelluksen avulla, eikä käyttö edellytä puhelinnumeron antamista!",
- "onboarding.tips.accounts_from_other_servers": "Tiesitkö? Koska Mastodon kuuluu hajautettuun verkkoon, osa kohtaamistasi profiileista sijaitsee muilla palvelimilla kuin sinun. Voit silti viestiä saumattomasti heidän kanssaan! Heidän palvelimensa ilmaistaan käyttäjänimen perässä!",
+ "onboarding.tips.accounts_from_other_servers": "Tiesitkö? Koska Mastodon on hajautettu, osa kohtaamistasi profiileista sijaitsee muilla kuin sinun palvelimellasi. Voit silti viestiä saumattomasti heidän kanssaan! Heidän palvelimensa mainitaan käyttäjänimen jälkiosassa!",
"onboarding.tips.migration": "Tiesitkö? Jos koet, ettei {domain} ole jatkossa itsellesi hyvä palvelinvalinta, voit siirtyä toiselle Mastodon-palvelimelle menettämättä seuraajiasi. Voit jopa isännöidä omaa palvelintasi!",
"onboarding.tips.verification": "Tiesitkö? Voit vahvistaa tilisi lisäämällä omalle verkkosivustollesi linkin Mastodon-profiiliisi, ja lisäämällä sitten verkkosivustosi osoitteen Mastodon-profiilisi tietoihin. Tämä ei maksa mitään, eikä sinun tarvitse lähetellä mitään asiakirjoja!",
"password_confirmation.exceeds_maxlength": "Salasanan vahvistus ylittää salasanan enimmäispituuden",
@@ -510,15 +510,15 @@
"poll.votes": "{votes, plural, one {# ääni} other {# ääntä}}",
"poll_button.add_poll": "Lisää äänestys",
"poll_button.remove_poll": "Poista äänestys",
- "privacy.change": "Muuta viestin näkyvyyttä",
- "privacy.direct.long": "Näkyvissä vain mainituille käyttäjille",
- "privacy.direct.short": "Vain mainitut henkilöt",
- "privacy.private.long": "Näkyvissä vain seuraajille",
+ "privacy.change": "Muuta julkaisun näkyvyyttä",
+ "privacy.direct.long": "Näkyy vain mainituille käyttäjille",
+ "privacy.direct.short": "Vain mainitut käyttäjät",
+ "privacy.private.long": "Näkyy vain seuraajille",
"privacy.private.short": "Vain seuraajat",
- "privacy.public.long": "Näkyvissä kaikille",
+ "privacy.public.long": "Näkyy kaikille",
"privacy.public.short": "Julkinen",
- "privacy.unlisted.long": "Näkyvissä kaikille, mutta jättäen pois hakemisen mahdollisuus",
- "privacy.unlisted.short": "Listaamaton julkinen",
+ "privacy.unlisted.long": "Näkyy kaikille, mutta jää pois löytämisominaisuuksista",
+ "privacy.unlisted.short": "Listaamaton",
"privacy_policy.last_updated": "Viimeksi päivitetty {date}",
"privacy_policy.title": "Tietosuojakäytäntö",
"refresh": "Päivitä",
@@ -539,11 +539,11 @@
"report.block": "Estä",
"report.block_explanation": "Et näe hänen viestejään, eikä hän voi nähdä viestejäsi tai seurata sinua. Hän näkevät, että olet estänyt hänet.",
"report.categories.legal": "Lakiasiat",
- "report.categories.other": "muu",
+ "report.categories.other": "Muu",
"report.categories.spam": "Roskaposti",
"report.categories.violation": "Sisältö rikkoo yhtä tai useampaa palvelimen sääntöä",
- "report.category.subtitle": "Valitse se, mikä sopii parhaiten",
- "report.category.title": "Kerro meille miksi tämä {type} pitää raportoida",
+ "report.category.subtitle": "Valitse sopivin",
+ "report.category.title": "Kerro meille, miksi tämä {type} pitää raportoida",
"report.category.title_account": "profiili",
"report.category.title_status": "julkaisu",
"report.close": "Valmis",
@@ -551,7 +551,7 @@
"report.forward": "Välitä kohteeseen {target}",
"report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?",
"report.mute": "Mykistä",
- "report.mute_explanation": "Et näe hänen viestejään. Hän voi silti seurata sinua ja nähdä viestisi. Hän ei tiedä, että on mykistetty.",
+ "report.mute_explanation": "Et näe hänen julkaisujaan. Hän voi silti seurata sinua ja nähdä julkaisusi. Hän ei tiedä, että hänet on mykistetty.",
"report.next": "Seuraava",
"report.placeholder": "Lisäkommentit",
"report.reasons.dislike": "En pidä siitä",
@@ -564,10 +564,10 @@
"report.reasons.spam_description": "Haitalliset linkit, väärennetyt sitoutumiset tai toistuvat vastaukset",
"report.reasons.violation": "Se rikkoo palvelimen sääntöjä",
"report.reasons.violation_description": "Tiedät, että se rikkoo tiettyjä sääntöjä",
- "report.rules.subtitle": "Valitse kaikki jotka sopivat",
+ "report.rules.subtitle": "Valitse kaikki sopivat",
"report.rules.title": "Mitä sääntöjä rikotaan?",
"report.statuses.subtitle": "Valitse kaikki sopivat",
- "report.statuses.title": "Onko olemassa yhtään viestiä, jotka tukevat tätä raporttia?",
+ "report.statuses.title": "Onko julkaisuja, jotka tukevat tätä raporttia?",
"report.submit": "Lähetä",
"report.target": "Raportoidaan {target}",
"report.thanks.take_action": "Tässä on vaihtoehtosi hallita näkemääsi Mastodonissa:",
@@ -576,7 +576,7 @@
"report.thanks.title_actionable": "Kiitos raportista, tutkimme asiaa.",
"report.unfollow": "Lopeta käyttäjän @{name} seuraaminen",
"report.unfollow_explanation": "Seuraat tätä tiliä. Estääksesi tilin viestejä näykymästä kotisyötteessäsi, lopeta sen seuraaminen.",
- "report_notification.attached_statuses": "{count, plural, one {{count} viesti} other {{count} viestiä}} liitteenä",
+ "report_notification.attached_statuses": "{count, plural, one {{count} julkaisu} other {{count} julkaisua}} liitteenä",
"report_notification.categories.legal": "Laillinen",
"report_notification.categories.other": "Muu",
"report_notification.categories.spam": "Roskaposti",
@@ -588,7 +588,7 @@
"search.quick_action.go_to_account": "Avaa profiili {x}",
"search.quick_action.go_to_hashtag": "Siirry aihetunnisteeseen {x}",
"search.quick_action.open_url": "Avaa URL-osoite Mastodonissa",
- "search.quick_action.status_search": "Julkaisut, jotka vastaavat hakua {x}",
+ "search.quick_action.status_search": "Julkaisut haulla {x}",
"search.search_or_paste": "Etsi tai kirjoita URL-osoite",
"search_popout.full_text_search_disabled_message": "Ei saatavilla palvelimella {domain}.",
"search_popout.language_code": "ISO-kielikoodi",
@@ -602,8 +602,8 @@
"search_results.hashtags": "Aihetunnisteet",
"search_results.nothing_found": "Näille hakusanoille ei löytynyt mitään",
"search_results.see_all": "Näytä kaikki",
- "search_results.statuses": "Viestit",
- "search_results.title": "Etsi {q}",
+ "search_results.statuses": "Julkaisut",
+ "search_results.title": "Hae {q}",
"server_banner.about_active_users": "Palvelinta käyttäneet ihmiset viimeisen 30 päivän aikana (kuukauden aktiiviset käyttäjät)",
"server_banner.active_users": "aktiivista käyttäjää",
"server_banner.administered_by": "Ylläpitäjä:",
@@ -613,15 +613,15 @@
"sign_in_banner.create_account": "Luo tili",
"sign_in_banner.sign_in": "Kirjaudu",
"sign_in_banner.sso_redirect": "Kirjaudu tai rekisteröidy",
- "sign_in_banner.text": "Kirjaudu sisään seurataksesi profiileja tai aihetunnisteita, merkitäksesi julkaisuja suosikeiksi, julkaistaksesi sekä vastataksesi julkaisuihin. Voit vuorovaikuttaa myös eri palvelimella sijaitsevalta tililtäsi.",
- "status.admin_account": "Avaa moderaattorinäkymä tilistä @{name}",
- "status.admin_domain": "Avaa palvelimen {domain} moderointitoiminnot",
- "status.admin_status": "Avaa viesti moderointinäkymässä",
+ "sign_in_banner.text": "Kirjaudu sisään, niin voit seurata profiileja tai aihetunnisteita, lisätä julkaisuja suosikkeihin, jakaa julkaisuja ja vastata niihin. Voit olla vuorovaikutuksessa myös eri palvelimella olevalta tililtäsi.",
+ "status.admin_account": "Avaa tilin @{name} valvontanäkymä",
+ "status.admin_domain": "Avaa palvelimen {domain} valvontanäkymä",
+ "status.admin_status": "Avaa julkaisu valvontanäkymässä",
"status.block": "Estä @{name}",
"status.bookmark": "Tallenna kirjanmerkki",
"status.cancel_reblog_private": "Peru tehostus",
- "status.cannot_reblog": "Tätä viestiä ei voi tehostaa",
- "status.copy": "Kopioi linkki viestiin",
+ "status.cannot_reblog": "Tätä julkaisua ei voi tehostaa",
+ "status.copy": "Kopioi linkki julkaisuun",
"status.delete": "Poista",
"status.detailed_status": "Yksityiskohtainen keskustelunäkymä",
"status.direct": "Mainitse @{name} yksityisesti",
@@ -630,8 +630,8 @@
"status.edited": "Muokattu {date}",
"status.edited_x_times": "Muokattu {count, plural, one {{count} kerran} other {{count} kertaa}}",
"status.embed": "Upota",
- "status.favourite": "Merkitse suosikiksi",
- "status.filter": "Suodata tämä viesti",
+ "status.favourite": "Suosikki",
+ "status.filter": "Suodata tämä julkaisu",
"status.filtered": "Suodatettu",
"status.hide": "Piilota julkaisu",
"status.history.created": "{name} luotu {date}",
@@ -644,21 +644,21 @@
"status.more": "Lisää",
"status.mute": "Mykistä @{name}",
"status.mute_conversation": "Mykistä keskustelu",
- "status.open": "Laajenna viesti",
+ "status.open": "Laajenna julkaisu",
"status.pin": "Kiinnitä profiiliin",
"status.pinned": "Kiinnitetty julkaisu",
"status.read_more": "Näytä enemmän",
"status.reblog": "Tehosta",
"status.reblog_private": "Tehosta alkuperäiselle yleisölle",
"status.reblogged_by": "{name} tehosti",
- "status.reblogs.empty": "Kukaan ei ole vielä tehostanut tätä viestiä. Kun joku tekee niin, näkyy kyseinen henkilö tässä.",
+ "status.reblogs.empty": "Kukaan ei ole vielä tehostanut tätä julkaisua. Kun joku tekee niin, tulee hän tähän näkyviin.",
"status.redraft": "Poista ja palauta muokattavaksi",
"status.remove_bookmark": "Poista kirjanmerkki",
"status.replied_to": "Vastattu {name}",
"status.reply": "Vastaa",
"status.replyAll": "Vastaa ketjuun",
"status.report": "Raportoi @{name}",
- "status.sensitive_warning": "Arkaluontoista sisältöä",
+ "status.sensitive_warning": "Arkaluonteista sisältöä",
"status.share": "Jaa",
"status.show_filter_reason": "Näytä joka tapauksessa",
"status.show_less": "Näytä vähemmän",
@@ -672,7 +672,7 @@
"status.uncached_media_warning": "Esikatselu ei ole käytettävissä",
"status.unmute_conversation": "Poista keskustelun mykistys",
"status.unpin": "Irrota profiilista",
- "subscribed_languages.lead": "Vain valituilla kielillä julkaistut viestit näkyvät etusivullasi ja aikajanalla muutoksen jälkeen. Valitse ei mitään, jos haluat vastaanottaa viestejä kaikilla kielillä.",
+ "subscribed_languages.lead": "Vain valituilla kielillä kirjoitetut julkaisut näkyvät koti- ja lista-aikajanoillasi muutoksen jälkeen. Älä valitse mitään, jos haluat nähdä julkaisuja kaikilla kielillä.",
"subscribed_languages.save": "Tallenna muutokset",
"subscribed_languages.target": "Vaihda tilatut kielet {target}",
"tabs_bar.home": "Koti",
@@ -685,7 +685,7 @@
"timeline_hint.remote_resource_not_displayed": "{resource} muilta palvelimilta ei näytetä.",
"timeline_hint.resources.followers": "Seuraajat",
"timeline_hint.resources.follows": "seurattua",
- "timeline_hint.resources.statuses": "Vanhemmat viestit",
+ "timeline_hint.resources.statuses": "Vanhemmat julkaisut",
"trends.counter_by_accounts": "{count, plural, one {{counter} henkilö} other {{counter} henkilöä}} viimeisten {days, plural, one {päivän} other {{days} päivän}}",
"trends.trending_now": "Suosittua nyt",
"ui.beforeunload": "Luonnos häviää, jos poistut Mastodonista.",
@@ -711,7 +711,7 @@
"upload_modal.detect_text": "Tunnista teksti kuvasta",
"upload_modal.edit_media": "Muokkaa mediaa",
"upload_modal.hint": "Klikkaa tai vedä ympyrä esikatselussa valitaksesi keskipiste, joka näkyy aina pienoiskuvissa.",
- "upload_modal.preparing_ocr": "Valmistellaan OCR…",
+ "upload_modal.preparing_ocr": "Valmistellaan tekstintunnistusta…",
"upload_modal.preview_label": "Esikatselu ({ratio})",
"upload_progress.label": "Ladataan...",
"upload_progress.processing": "Käsitellään…",
@@ -725,5 +725,5 @@
"video.mute": "Mykistä ääni",
"video.pause": "Keskeytä",
"video.play": "Toista",
- "video.unmute": "Poista äänen mykistys"
+ "video.unmute": "Palauta ääni"
}
diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json
index e61aa773dc..776991b014 100644
--- a/app/javascript/mastodon/locales/hy.json
+++ b/app/javascript/mastodon/locales/hy.json
@@ -17,6 +17,7 @@
"account.blocked": "Արգելափակուած է",
"account.browse_more_on_origin_server": "Դիտել աւելին իրական պրոֆիլում",
"account.cancel_follow_request": "Withdraw follow request",
+ "account.direct": "Մասնաւոր յիշատակում @{name}",
"account.disable_notifications": "Ծանուցումները անջատել @{name} գրառումների համար",
"account.domain_blocked": "Տիրոյթը արգելափակուած է",
"account.edit_profile": "Խմբագրել հաշիւը",
@@ -85,9 +86,11 @@
"column.blocks": "Արգելափակուած օգտատէրեր",
"column.bookmarks": "Էջանիշեր",
"column.community": "Տեղական հոսք",
+ "column.direct": "Մասնաւոր յիշատակումներ",
"column.directory": "Զննել անձնական էջերը",
"column.domain_blocks": "Թաքցուած տիրոյթները",
"column.favourites": "Հաւանածներ",
+ "column.firehose": "Հոսքեր",
"column.follow_requests": "Հետեւելու հայցեր",
"column.home": "Հիմնական",
"column.lists": "Ցանկեր",
@@ -135,6 +138,7 @@
"confirmations.block.block_and_report": "Արգելափակել եւ բողոքել",
"confirmations.block.confirm": "Արգելափակել",
"confirmations.block.message": "Վստա՞հ ես, որ ուզում ես արգելափակել {name}֊ին։",
+ "confirmations.cancel_follow_request.confirm": "Կասեցնել հայցը",
"confirmations.delete.confirm": "Ջնջել",
"confirmations.delete.message": "Վստա՞հ ես, որ ուզում ես ջնջել այս գրառումը։",
"confirmations.delete_list.confirm": "Ջնջել",
@@ -216,6 +220,8 @@
"filter_modal.select_filter.search": "Որոնել կամ ստեղծել",
"filter_modal.select_filter.title": "Զտել այս գրառումը",
"firehose.all": "Բոլորը",
+ "firehose.local": "Այս հանգոյցը",
+ "firehose.remote": "Այլ հանգոյցներ",
"follow_request.authorize": "Վաւերացնել",
"follow_request.reject": "Մերժել",
"follow_requests.unlocked_explanation": "Այս հարցումը ուղարկուած է հաշուից, որի համար {domain}-ի անձնակազմը միացրել է ձեռքով ստուգում։",
@@ -246,6 +252,8 @@
"home.column_settings.show_replies": "Ցուցադրել պատասխանները",
"home.hide_announcements": "Թաքցնել յայտարարութիւնները",
"home.show_announcements": "Ցուցադրել յայտարարութիւնները",
+ "interaction_modal.on_another_server": "Այլ հանգոյցում",
+ "interaction_modal.on_this_server": "Այս հանգոյցում",
"interaction_modal.title.favourite": "Հաւանել {name}-ի գրառումը",
"interaction_modal.title.follow": "Հետեւել {name}-ին",
"interaction_modal.title.reblog": "Տարածել {name}-ի գրառումը",
@@ -316,6 +324,7 @@
"navigation_bar.bookmarks": "Էջանիշեր",
"navigation_bar.community_timeline": "Տեղական հոսք",
"navigation_bar.compose": "Ստեղծել նոր գրառում",
+ "navigation_bar.direct": "Մասնաւոր յիշատակումներ",
"navigation_bar.discover": "Բացայայտել",
"navigation_bar.domain_blocks": "Թաքցուած տիրոյթներ",
"navigation_bar.edit_profile": "Խմբագրել հաշիւը",
@@ -451,11 +460,15 @@
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
"report_notification.categories.other": "Այլ",
"report_notification.categories.spam": "Սպամ",
+ "search.no_recent_searches": "Որոնման պատմութիւն չկայ",
"search.placeholder": "Փնտրել",
"search.search_or_paste": "Որոնել կամ դնել URL",
+ "search_popout.options": "Որոնման տեսակները",
+ "search_popout.recent": "Վերջին որոնումները",
"search_results.accounts": "Հաշիւներ",
"search_results.all": "Բոլորը",
"search_results.hashtags": "Պիտակներ",
+ "search_results.see_all": "Տեսնել բոլորը",
"search_results.statuses": "Գրառումներ",
"search_results.title": "Որոնել {q}-ն",
"server_banner.active_users": "ակտիւ մարդիկ",
@@ -475,6 +488,8 @@
"status.copy": "Պատճէնել գրառման յղումը",
"status.delete": "Ջնջել",
"status.detailed_status": "Շղթայի ընդլայնուած դիտում",
+ "status.direct": "Մասնաւոր յիշատակում @{name}",
+ "status.direct_indicator": "Մասնաւոր յիշատակում",
"status.edit": "Խմբագրել",
"status.edited": "Խմբագրուել է՝ {date}",
"status.edited_x_times": "Edited {count, plural, one {# time} other {# times}}",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 2480f879ca..d35418e185 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -202,7 +202,7 @@
"dismissable_banner.community_timeline": "Šīs ir jaunākās publiskās ziņas no personām, kuru kontus mitina {domain}.",
"dismissable_banner.dismiss": "Atcelt",
"dismissable_banner.explore_links": "Par šiem jaunumiem šobrīd runā cilvēki šajā un citos decentralizētā tīkla serveros.",
- "dismissable_banner.explore_statuses": "Šīs ir ziņas no visa sociālā tīkla, kas šodien kļūst arvien populārākas. Jaunākas ziņas ar vairāk uzlabojumiem un iecienītākajām ziņām tiek novērtētas augstāk.",
+ "dismissable_banner.explore_statuses": "Ieraksti, kas šobrīd gūst arvien lielāku ievērību visā sociālajā tīklā. Augstāk tiek kārtoti neseni ieraksti, kas pastiprināti un pievienoti izlasēm.",
"dismissable_banner.explore_tags": "Šie tēmturi šobrīd kļūst arvien populārāki cilvēku vidū šajā un citos decentralizētā tīkla serveros.",
"dismissable_banner.public_timeline": "Šīs ir jaunākās publiskās ziņas no lietotājiem sociālajā tīmeklī, kurām seko lietotāji domēnā {domain}.",
"embed.instructions": "Iestrādā šo ziņu savā mājaslapā, kopējot zemāk redzamo kodu.",
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 69151b2e70..d72b0a608f 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -1069,7 +1069,7 @@ de:
cas: CAS
saml: SAML
register: Registrieren
- registration_closed: "%{instance} akzeptiert keine neuen Mitglieder*innen"
+ registration_closed: "%{instance} akzeptiert keine neuen Mitglieder"
resend_confirmation: Bestätigungslink erneut zusenden
reset_password: Passwort zurücksetzen
rules:
diff --git a/config/locales/devise.en-GB.yml b/config/locales/devise.en-GB.yml
index 9a51d07576..e7ab9462dc 100644
--- a/config/locales/devise.en-GB.yml
+++ b/config/locales/devise.en-GB.yml
@@ -6,22 +6,22 @@ en-GB:
send_instructions: You will receive an email with instructions for how to confirm your email address in a few minutes. Please check your spam folder if you didn't receive this email.
send_paranoid_instructions: If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes. Please check your spam folder if you didn't receive this email.
failure:
- already_authenticated: You are already signed in.
+ already_authenticated: You are already logged in.
inactive: Your account is not activated yet.
invalid: Invalid %{authentication_keys} or password.
last_attempt: You have one more attempt before your account is locked.
locked: Your account is locked.
not_found_in_database: Invalid %{authentication_keys} or password.
pending: Your account is still under review.
- timeout: Your session expired. Please sign in again to continue.
- unauthenticated: You need to sign in or sign up before continuing.
+ timeout: Your session expired. Please log in again to continue.
+ unauthenticated: You need to log in or sign up before continuing.
unconfirmed: You have to confirm your email address before continuing.
mailer:
confirmation_instructions:
action: Verify email address
action_with_app: Confirm and return to %{app}
explanation: You have created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email.
- explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can login to change your details or delete your account, but you cannot access most of the functions until your account is approved. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email.
+ explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can log in to change your details or delete your account, but you cannot access most of the functions until your account is approved. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email.
extra_html: Please also check out the rules of the server and our terms of service.
subject: 'Mastodon: Confirmation instructions for %{instance}'
title: Verify email address
@@ -84,28 +84,28 @@ en-GB:
no_token: You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided.
send_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes. Please check your spam folder if you didn't receive this email.
send_paranoid_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes. Please check your spam folder if you didn't receive this email.
- updated: Your password has been changed successfully. You are now signed in.
+ updated: Your password has been changed successfully. You are now logged in.
updated_not_active: Your password has been changed successfully.
registrations:
destroyed: Bye! Your account has been successfully cancelled. We hope to see you again soon.
signed_up: Welcome! You have signed up successfully.
- signed_up_but_inactive: You have signed up successfully. However, we could not sign you in because your account is not yet activated.
- signed_up_but_locked: You have signed up successfully. However, we could not sign you in because your account is locked.
+ signed_up_but_inactive: You have signed up successfully. However, we could not log you in because your account is not yet activated.
+ signed_up_but_locked: You have signed up successfully. However, we could not log you in because your account is locked.
signed_up_but_pending: A message with a confirmation link has been sent to your email address. After you click the link, we will review your application. You will be notified if it is approved.
signed_up_but_unconfirmed: A message with a confirmation link has been sent to your email address. Please follow the link to activate your account. Please check your spam folder if you didn't receive this email.
update_needs_confirmation: You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address. Please check your spam folder if you didn't receive this email.
updated: Your account has been updated successfully.
sessions:
- already_signed_out: Signed out successfully.
- signed_in: Signed in successfully.
- signed_out: Signed out successfully.
+ already_signed_out: Logged out successfully.
+ signed_in: Logged in successfully.
+ signed_out: Logged out successfully.
unlocks:
send_instructions: You will receive an email with instructions for how to unlock your account in a few minutes. Please check your spam folder if you didn't receive this email.
send_paranoid_instructions: If your account exists, you will receive an email with instructions for how to unlock it in a few minutes. Please check your spam folder if you didn't receive this email.
- unlocked: Your account has been unlocked successfully. Please sign in to continue.
+ unlocked: Your account has been unlocked successfully. Please log in to continue.
errors:
messages:
- already_confirmed: was already confirmed, please try signing in
+ already_confirmed: was already confirmed, please try logging in
confirmation_period_expired: needs to be confirmed within %{period}, please request a new one
expired: has expired, please request a new one
not_found: not found
diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml
index 71958c5b3d..81b248ef2e 100644
--- a/config/locales/doorkeeper.fi.yml
+++ b/config/locales/doorkeeper.fi.yml
@@ -6,7 +6,7 @@ fi:
name: Sovelluksen nimi
redirect_uri: Uudelleenohjauksen URI
scopes: Oikeudet
- website: Sovelluksen verkkosivu
+ website: Sovelluksen verkkosivusto
errors:
models:
doorkeeper/application:
@@ -135,7 +135,7 @@ fi:
media: Medialiitteet
mutes: Mykistykset
notifications: Ilmoitukset
- push: Push-ilmoitukset
+ push: Puskuilmoitukset
reports: Raportit
search: Hae
statuses: Viestit
@@ -147,49 +147,49 @@ fi:
application:
title: OAuth-valtuutus tarvitaan
scopes:
- admin:read: lukea kaikkia tietoja palvelimelta
- admin:read:accounts: lue arkaluontoinen sisältö kaikilta tileiltä
- admin:read:canonical_email_blocks: lue arkaluonteisia tietoja kaikista kanonisesti sallituista sähköpostiosoitteista
+ admin:read: lue kaikkia palvelimen tietoja
+ admin:read:accounts: lue arkaluonteisia tietoja kaikista tileistä
+ admin:read:canonical_email_blocks: lue arkaluonteisia tietoja kaikista estetyistä kanonisista sähköpostiosoitteista
admin:read:domain_allows: lue arkaluonteisia tietoja kaikista sallituista verkkotunnuksista
admin:read:domain_blocks: lue arkaluonteisia tietoja kaikista estetyistä verkkotunnuksista
admin:read:email_domain_blocks: lue arkaluonteisia tietoja kaikista estetyistä sähköpostiverkkotunnuksista
admin:read:ip_blocks: lue arkaluonteisia tietoja kaikista estetyistä IP-osoitteista
- admin:read:reports: lue arkaluonteiset tiedot kaikista raporteista ja raportoiduista tileistä
- admin:write: muokata kaikkia tietoja palvelimella
- admin:write:accounts: suorita moderointitoiminnot tileillä
- admin:write:canonical_email_blocks: toteuta moderointitoimenpiteitä kanonisille sähköpostiosoite-estoille
- admin:write:domain_allows: toteuta moderointitoimenpiteitä sallituille verkkotunnuksille
- admin:write:domain_blocks: toteuta moderointitoimenpiteitä estetyille verkkotunnuksille
- admin:write:email_domain_blocks: toteuta moderointitoimenpiteitä estetyille sähköpostiverkkotunnuksille
- admin:write:ip_blocks: toteuta moderointitoimenpiteitä estetyille IP-osoitteille
- admin:write:reports: suorita moderointitoiminnot raporteissa
- crypto: käytä päästä päähän salausta
- follow: seurata, estää, perua eston ja lopettaa tilien seuraaminen
- push: vastaanottaa push-ilmoituksesi
- read: lukea tilin tietoja
- read:accounts: nähdä tilin tiedot
- read:blocks: katso lohkosi
- read:bookmarks: katso kirjanmerkkisi
- read:favourites: näytä suosikkisi
- read:filters: katso suodattimesi
- read:follows: katso ketä seuraat
- read:lists: katso listasi
- read:mutes: katso mykistyksesi
- read:notifications: katso ilmoitukset
- read:reports: katso raporttisi
- read:search: haku sinun puolesta
- read:statuses: katso kaikki viestit
- write: julkaista puolestasi
- write:accounts: muokata profiiliasi
- write:blocks: estää tilit ja palvelimet
- write:bookmarks: kirjanmerkki viestit
- write:conversations: mykistä ja poistaa keskustelut
+ admin:read:reports: lue arkaluonteisia tietoja kaikista raporteista ja raportoiduista tileistä
+ admin:write: muokkaa kaikkia palvelimen tietoja
+ admin:write:accounts: suorita valvontatoimia tileille
+ admin:write:canonical_email_blocks: suorita valvontatoimia estetyille kanonisille sähköpostiosoitteille
+ admin:write:domain_allows: suorita valvontatoimia sallituille verkkotunnuksille
+ admin:write:domain_blocks: suorita valvontatoimia estetyille verkkotunnuksille
+ admin:write:email_domain_blocks: suorita valvontatoimia estetyille sähköpostiverkkotunnuksille
+ admin:write:ip_blocks: suorita valvontatoimia estetyille IP-osoitteille
+ admin:write:reports: suorita valvontatoimia raporteille
+ crypto: käytä päästä päähän -salausta
+ follow: muokkaa tilin suhteita
+ push: vastaanota puskuilmoituksiasi
+ read: lue kaikkia tilin tietoja
+ read:accounts: katso tilien tietoja
+ read:blocks: katso estojasi
+ read:bookmarks: katso kirjanmerkkejäsi
+ read:favourites: katso suosikkejasi
+ read:filters: katso suodattimiasi
+ read:follows: katso seurattujasi
+ read:lists: katso listojasi
+ read:mutes: katso mykistyksiäsi
+ read:notifications: katso ilmoituksiasi
+ read:reports: katso raporttejasi
+ read:search: hae puolestasi
+ read:statuses: katso kaikkia julkaisujasi
+ write: muokkaa kaikkia tilisi tietoja
+ write:accounts: muokkaa profiiliasi
+ write:blocks: estä tilejä ja verkkotunnuksia
+ write:bookmarks: lisää julkaisuja kirjanmerkkeihisi
+ write:conversations: mykistä ja poista keskusteluja
write:favourites: suosikkijulkaisut
- write:filters: luoda suodattimia
- write:follows: seurata ihmisiä
- write:lists: luoda listoja
- write:media: lähettää mediatiedostoja
- write:mutes: mykistää ihmisiä ja keskusteluja
- write:notifications: tyhjentää ilmoituksesi
- write:reports: raportoi muille ihmisille
- write:statuses: julkaise viestejä
+ write:filters: luo suodattimia
+ write:follows: seuraa käyttäjiä
+ write:lists: luo listoja
+ write:media: lähetä mediatiedostoja
+ write:mutes: mykistä käyttäjiä ja keskusteluja
+ write:notifications: tyhjennä ilmoituksesi
+ write:reports: raportoi muita käyttäjiä
+ write:statuses: julkaise julkaisuja
diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml
index ca61644632..98a40c45cf 100644
--- a/config/locales/en-GB.yml
+++ b/config/locales/en-GB.yml
@@ -1028,7 +1028,7 @@ en-GB:
applications:
created: Application successfully created
destroyed: Application successfully deleted
- logout: Logout
+ logout: Log out
regenerate_token: Regenerate access token
token_regenerated: Access token successfully regenerated
warning: Be very careful with this data. Never share it with anyone!
@@ -1055,7 +1055,7 @@ en-GB:
link_to_webauth: Use your security key device
log_in_with: Log in with
login: Log in
- logout: Logout
+ logout: Log out
migrate_account: Move to a different account
migrate_account_html: If you wish to redirect this account to a different one, you can configure it here.
or_log_in_with: Or log in with
@@ -1089,8 +1089,8 @@ en-GB:
new_confirmation_instructions_sent: You will receive a new e-mail with the confirmation link in a few minutes!
title: Check your inbox
sign_in:
- preamble_html: Sign in with your %{domain} credentials. If your account is hosted on a different server, you will not be able to log in here.
- title: Sign in to %{domain}
+ preamble_html: Log in with your %{domain} credentials. If your account is hosted on a different server, you will not be able to log in here.
+ title: Log in to %{domain}
sign_up:
manual_review: Sign-ups on %{domain} go through manual review by our moderators. To help us process your registration, write a bit about yourself and why you want an account on %{domain}.
preamble: With an account on this Mastodon server, you'll be able to follow any other person on the network, regardless of where their account is hosted.
@@ -1379,8 +1379,8 @@ en-GB:
webauthn: security keys
description_html: If you see activity that you don't recognise, consider changing your password and enabling two-factor authentication.
empty: No authentication history available
- failed_sign_in_html: Failed sign-in attempt with %{method} from %{ip} (%{browser})
- successful_sign_in_html: Successful sign-in with %{method} from %{ip} (%{browser})
+ failed_sign_in_html: Failed login attempt with %{method} from %{ip} (%{browser})
+ successful_sign_in_html: Successful login with %{method} from %{ip} (%{browser})
title: Authentication history
mail_subscriptions:
unsubscribe:
@@ -1773,11 +1773,11 @@ en-GB:
title: Archive takeout
suspicious_sign_in:
change_password: change your password
- details: 'Here are details of the sign-in:'
- explanation: We've detected a sign-in to your account from a new IP address.
+ details: 'Here are details of the login:'
+ explanation: We've detected a login to your account from a new IP address.
further_actions_html: If this wasn't you, we recommend that you %{action} immediately and enable two-factor authentication to keep your account secure.
subject: Your account has been accessed from a new IP address
- title: A new sign-in
+ title: A new login
warning:
appeal: Submit an appeal
appeal_description: If you believe this is an error, you can submit an appeal to the staff of %{instance}.
@@ -1790,7 +1790,7 @@ en-GB:
mark_statuses_as_sensitive: Some of your posts have been marked as sensitive by the moderators of %{instance}. This means that people will need to tap the media in the posts before a preview is displayed. You can mark media as sensitive yourself when posting in the future.
sensitive: From now on, all your uploaded media files will be marked as sensitive and hidden behind a click-through warning.
silence: You can still use your account but only people who are already following you will see your posts on this server, and you may be excluded from various discovery features. However, others may still manually follow you.
- suspend: You can no longer use your account, and your profile and other data are no longer accessible. You can still login to request a backup of your data until the data is fully removed in about 30 days, but we will retain some basic data to prevent you from evading the suspension.
+ suspend: You can no longer use your account, and your profile and other data are no longer accessible. You can still log in to request a backup of your data until the data is fully removed in about 30 days, but we will retain some basic data to prevent you from evading the suspension.
reason: 'Reason:'
statuses: 'Posts cited:'
subject:
@@ -1825,7 +1825,7 @@ en-GB:
invalid_otp_token: Invalid two-factor code
otp_lost_help_html: If you lost access to both, you may get in touch with %{email}
seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available.
- signed_in_as: 'Signed in as:'
+ signed_in_as: 'Logged in as:'
verification:
extra_instructions_html: Tip: The link on your website can be invisible. The important part is rel="me" which prevents impersonation on websites with user-generated content. You can even use a link tag in the header of the page instead of a, but the HTML must be accessible without executing JavaScript.
here_is_how: Here's how
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 5403f22473..8a5d72a661 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -12,24 +12,24 @@ fi:
one: seuraaja
other: seuraajaa
following: seurattu(a)
- instance_actor_flash: Tämä on virtuaalitili, jota käytetään edustamaan itse palvelinta eikä yksittäistä käyttäjää. Sitä käytetään yhdistämistarkoituksiin, eikä sitä tule jäädyttää.
+ instance_actor_flash: Tämä tili on virtuaalinen toimija, jota käytetään edustamaan itse palvelinta eikä yksittäistä käyttäjää. Sitä käytetään federointitarkoituksiin, eikä sitä tule jäädyttää.
last_active: viimeksi aktiivinen
link_verified_on: Tämän linkin omistus on tarkastettu %{date}
nothing_here: Täällä ei ole mitään!
pin_errors:
following: Sinun täytyy seurata henkilöä jota haluat tukea
posts:
- one: viesti
+ one: Julkaisu
other: viestiä
- posts_tab_heading: Viestit
+ posts_tab_heading: Julkaisut
admin:
account_actions:
action: Suorita toimenpide
- title: Suorita moderointitoiminto %{acct}
+ title: Suorita valvontatoimi käyttäjälle %{acct}
account_moderation_notes:
create: Jätä muistiinpano
- created_msg: Moderointimerkinnän luonti onnistui!
- destroyed_msg: Moderointimerkinnän poisto onnistui!
+ created_msg: Valvontamerkinnän luonti onnistui!
+ destroyed_msg: Valvontamerkinnän poisto onnistui!
accounts:
add_email_domain_block: Estä sähköpostidomain
approve: Hyväksy
@@ -48,7 +48,7 @@ fi:
changed_msg: Rooli vaihdettu onnistuneesti!
label: Vaihda roolia
no_role: Ei roolia
- title: Vaihda roolia käyttäjälle %{username}
+ title: Vaihda käyttäjän %{username} roolia
confirm: Vahvista
confirmed: Vahvistettu
confirming: Vahvistetaan
@@ -61,7 +61,7 @@ fi:
disable_sign_in_token_auth: Poista sähköpostitunnuksen todennus käytöstä
disable_two_factor_authentication: Poista 2FA käytöstä
disabled: Poistettu käytöstä
- display_name: Nimimerkki
+ display_name: Näyttönimi
domain: Verkkotunnus
edit: Muokkaa
email: Sähköposti
@@ -71,7 +71,7 @@ fi:
enabled: Käytössä
enabled_msg: Käyttäjän %{username} tili palautettu onnistuneesti käyttöön
followers: Seuraajat
- follows: Seuraa
+ follows: Seuratut
header: Otsakekuva
inbox_url: Saapuvan postilaatikon osoite
invite_request_text: Syitä liittymiseen
@@ -94,9 +94,9 @@ fi:
disabled: Ei käytössä
pending: Odottavat
silenced: Rajoitettu
- suspended: Jäähyllä
- title: Moderointi
- moderation_notes: Moderointimerkinnät
+ suspended: Jäädytetty
+ title: Valvonta
+ moderation_notes: Valvontamerkinnät
most_recent_activity: Viimeisin toiminta
most_recent_ip: Viimeisin IP
no_account_selected: Yhtään tiliä ei muutettu, koska mitään ei valittu
@@ -104,7 +104,7 @@ fi:
no_role_assigned: Roolia ei ole määritetty
not_subscribed: Ei tilaaja
pending: Odottaa tarkistusta
- perform_full_suspension: Siirrä kokonaan jäähylle
+ perform_full_suspension: Jäädytä
previous_strikes: Aiemmat varoitukset
previous_strikes_description_html:
one: Tällä tilillä on yksi varoitus.
@@ -118,7 +118,7 @@ fi:
reject: Hylkää
rejected_msg: Käyttäjän %{username} rekisteröitymishakemus hylättiin
remote_suspension_irreversible: Tämän tilin tiedot on poistettu peruuttamattomasti.
- remote_suspension_reversible_hint_html: Tili on jäädytetty heidän palvelimellaan, ja tilin kaikki tiedot poistetaan %{date}. Ennen tätä ajankohtaa on kyseessä olevan palvelimen ylläpidolla mahdollisuus palauttaa tili ongelmitta. Jos puolestaan haluat poistaa tilin tietoineen heti, onnistuu se alta.
+ remote_suspension_reversible_hint_html: Tili on jäädytetty heidän palvelimellaan, ja kaikki tiedot poistetaan %{date}. Sitä ennen etäpalvelin voi palauttaa tilin ongelmitta. Jos haluat poistaa kaikki tilin tiedot heti, onnistuu se alta.
remove_avatar: Poista profiilikuva
remove_header: Poista otsakekuva
removed_avatar_msg: Käyttäjän %{username} avatar-kuva poistettu onnistuneesti
@@ -144,21 +144,21 @@ fi:
show:
created_reports: Tämän tilin luomat raportit
targeted_reports: Tästä tilistä tehdyt raportit
- silence: Hiljennä
- silenced: Mykistetty
- statuses: Viestit
+ silence: Rajoita
+ silenced: Rajoitettu
+ statuses: Julkaisut
strikes: Aiemmat varoitukset
subscribe: Tilaa
suspend: Jäädytä
- suspended: Jäähyllä
- suspension_irreversible: Tämän tilin tiedot on poistettu peruuttamattomasti. Voit peruuttaa tilin jäädyttämisen, jolloin siitä tulee käyttökelpoinen, mutta toiminto ei palauta sillä aiemmin olleita tietoja.
- suspension_reversible_hint_html: Tili on jäädytetty, ja tiedot poistetaan kokonaan %{date}. Siihen asti tili voidaan palauttaa ilman haitallisia vaikutuksia. Jos haluat poistaa kaikki tilin tiedot välittömästi, voit tehdä sen alla.
+ suspended: Jäädytetty
+ suspension_irreversible: Tämän tilin tiedot on poistettu peruuttamattomasti. Voit kumota tilin jäädytyksen, jolloin siitä tulee käyttökelpoinen, mutta toiminto ei palauta sillä aiemmin olleita tietoja.
+ suspension_reversible_hint_html: Tili on jäädytetty, ja tiedot poistetaan kokonaan %{date}. Siihen asti tili voidaan palauttaa ongelmitta. Jos haluat poistaa kaikki tilin tiedot heti, onnistuu se alta.
title: Tilit
unblock_email: Poista sähköpostiosoitteen esto
unblocked_email_msg: Käyttäjän %{username} sähköpostiosoitteen esto kumottiin
unconfirmed_email: Sähköpostia ei vahvistettu
undo_sensitized: Kumoa pakotus arkaluonteiseksi tiliksi
- undo_silenced: Peru hiljennys
+ undo_silenced: Kumoa rajoitus
undo_suspension: Peru jäähy
unsilenced_msg: Tilin %{username} rajoituksen kumoaminen onnistui
unsubscribe: Lopeta tilaus
@@ -167,7 +167,7 @@ fi:
view_domain: Näytä verkkotunnuksen yhteenveto
warn: Varoita
web: Verkko
- whitelisted: Sallittu federaatioon
+ whitelisted: Sallittu federoimaan
action_logs:
action_types:
approve_appeal: Hyväksy valitus
@@ -177,7 +177,7 @@ fi:
change_role_user: Muuta käyttäjän roolia
confirm_user: Vahvista käyttäjä
create_account_warning: Luo varoitus
- create_announcement: Luo ilmoitus
+ create_announcement: Luo tiedote
create_canonical_email_block: Luo sähköpostin esto
create_custom_emoji: Luo mukautettu emoji
create_domain_allow: Luo verkkotunnuksen salliminen
@@ -187,7 +187,7 @@ fi:
create_unavailable_domain: Luo ei-saatavilla oleva verkkotunnus
create_user_role: Luo rooli
demote_user: Alenna käyttäjä
- destroy_announcement: Poista ilmoitus
+ destroy_announcement: Poista tiedote
destroy_canonical_email_block: Poista sähköpostin esto
destroy_custom_emoji: Poista mukautettu emoji
destroy_domain_allow: Poista verkkotunnuksen salliminen
@@ -195,7 +195,7 @@ fi:
destroy_email_domain_block: Poista sähköpostin verkkotunnuksen esto
destroy_instance: Tyhjennä verkkotunnus
destroy_ip_block: Poista IP-sääntö
- destroy_status: Poista viesti
+ destroy_status: Poista julkaisu
destroy_unavailable_domain: Poista ei-saatavilla oleva verkkotunnus
destroy_user_role: Hävitä rooli
disable_2fa_user: Poista kaksivaiheinen tunnistautuminen käytöstä
@@ -215,77 +215,77 @@ fi:
reset_password_user: Nollaa salasana
resolve_report: Selvitä raportti
sensitive_account: Pakotus arkaluontoiseksi tiliksi
- silence_account: Hiljennä tili
+ silence_account: Rajoita tiliä
suspend_account: Jäädytä tili
unassigned_report: Peruuta raportin määritys
unblock_email_account: Poista sähköpostiosoitteen esto
unsensitive_account: Kumoa pakotus arkaluontoiseksi tiliksi
- unsilence_account: Peruuta tilin rajoitus
- unsuspend_account: Peruuta tilin jäädytys
- update_announcement: Päivitä ilmoitus
- update_custom_emoji: Päivitä muokattu emoji
+ unsilence_account: Kumoa tilin rajoitus
+ unsuspend_account: Kumoa tilin jäädytys
+ update_announcement: Päivitä tiedote
+ update_custom_emoji: Päivitä mukautettu emoji
update_domain_block: Päivitä verkkotunnuksen esto
update_ip_block: Päivitä IP-sääntö
- update_status: Päivitä viesti
+ update_status: Päivitä julkaisu
update_user_role: Päivitä rooli
actions:
- approve_appeal_html: "%{name} hyväksyi moderointipäätöksen muutoksenhaun lähettäjältä %{target}"
+ approve_appeal_html: "%{name} hyväksyi valvontapäätöksen valituksen käyttäjältä %{target}"
approve_user_html: "%{name} hyväksyi käyttäjän rekisteröitymisen kohteesta %{target}"
assigned_to_self_report_html: "%{name} otti raportin %{target} tehtäväkseen"
change_email_user_html: "%{name} vaihtoi käyttäjän %{target} sähköpostiosoitteen"
change_role_user_html: "%{name} muutti käyttäjän %{target} roolia"
confirm_user_html: "%{name} vahvisti käyttäjän %{target} sähköpostiosoitteen"
create_account_warning_html: "%{name} lähetti varoituksen käyttäjälle %{target}"
- create_announcement_html: "%{name} loi uuden ilmoituksen %{target}"
+ create_announcement_html: "%{name} loi uuden tiedotteen %{target}"
create_canonical_email_block_html: "%{name} esti sähköpostin hashilla %{target}"
create_custom_emoji_html: "%{name} lähetti uuden emojin %{target}"
- create_domain_allow_html: "%{name} salli federaation verkkotunnuksella %{target}"
+ create_domain_allow_html: "%{name} salli federoinnin verkkotunnuksen %{target} kanssa"
create_domain_block_html: "%{name} esti verkkotunnuksen %{target}"
create_email_domain_block_html: "%{name} esti sähköpostin %{target}"
create_ip_block_html: "%{name} loi IP-säännön %{target}"
create_unavailable_domain_html: "%{name} pysäytti toimituksen verkkotunnukseen %{target}"
create_user_role_html: "%{name} loi roolin %{target}"
demote_user_html: "%{name} alensi käyttäjän %{target}"
- destroy_announcement_html: "%{name} poisti ilmoituksen %{target}"
+ destroy_announcement_html: "%{name} poisti tiedotteen %{target}"
destroy_canonical_email_block_html: "%{name} poisti sähköpostieston hashilla %{target}"
destroy_custom_emoji_html: "%{name} poisti emojin %{target}"
- destroy_domain_allow_html: "%{name} esti federaation verkkotunnuksella %{target}"
+ destroy_domain_allow_html: "%{name} kielsi federoinnin verkkotunnuksen %{target} kanssa"
destroy_domain_block_html: "%{name} poisti verkkotunnuksen %{target} eston"
destroy_email_domain_block_html: "%{name} poisti sähköpostin verkkotunnuksen %{target} eston"
destroy_instance_html: "%{name} tyhjensi verkkotunnuksen %{target}"
destroy_ip_block_html: "%{name} poisti IP-säännön %{target}"
- destroy_status_html: "%{name} poisti käyttäjän %{target} viestin"
+ destroy_status_html: "%{name} poisti käyttäjän %{target} julkaisun"
destroy_unavailable_domain_html: "%{name} jatkoi toimitusta verkkotunnukseen %{target}"
destroy_user_role_html: "%{name} poisti roolin %{target}"
disable_2fa_user_html: "%{name} poisti käyttäjältä %{target} vaatimuksen kaksivaiheisen todentamiseen"
disable_custom_emoji_html: "%{name} poisti käytöstä emojin %{target}"
disable_sign_in_token_auth_user_html: "%{name} poisti sähköpostitunnuksen %{target} todennuksen käytöstä"
disable_user_html: "%{name} poisti kirjautumisen käyttäjältä %{target}"
- enable_custom_emoji_html: "%{name} salli emojin %{target}"
+ enable_custom_emoji_html: "%{name} otti käyttöön emojin %{target}"
enable_sign_in_token_auth_user_html: "%{name} aktivoi sähköpostitunnuksen käyttäjälle %{target}"
enable_user_html: "%{name} salli kirjautumisen käyttäjälle %{target}"
memorialize_account_html: "%{name} muutti käyttäjän %{target} tilin muistosivuksi"
promote_user_html: "%{name} ylensi käyttäjän %{target}"
- reject_appeal_html: "%{name} hylkäsi moderointipäätöksen muutoksenhaun %{target}"
+ reject_appeal_html: "%{name} hylkäsi valvontapäätöksen valituksen käyttäjältä %{target}"
reject_user_html: "%{name} hylkäsi käyttäjän rekisteröitymisen kohteesta %{target}"
remove_avatar_user_html: "%{name} poisti käyttäjän %{target} profiilikuvan"
reopen_report_html: "%{name} avasi uudelleen raportin %{target}"
- resend_user_html: "%{name} lähetti vahvistusviestin sähköpostitse käyttäjälle %{target}"
+ resend_user_html: "%{name} lähetti vahvistussähköpostiviestin uudelleen käyttäjälle %{target}"
reset_password_user_html: "%{name} palautti käyttäjän %{target} salasanan"
resolve_report_html: "%{name} ratkaisi raportin %{target}"
sensitive_account_html: "%{name} merkitsi käyttäjän %{target} median arkaluonteiseksi"
- silence_account_html: "%{name} rajoitti käyttäjän %{target} tilin"
- suspend_account_html: "%{name} siirsi käyttäjän %{target} jäähylle"
+ silence_account_html: "%{name} rajoitti käyttäjän %{target} tiliä"
+ suspend_account_html: "%{name} jäädytti käyttäjän %{target} tilin"
unassigned_report_html: "%{name} peruutti raportin määrityksen %{target}"
unblock_email_account_html: "%{name} poisti käyttäjän %{target} sähköpostiosoitteen eston"
unsensitive_account_html: "%{name} poisti käyttäjän %{target} median arkaluonteisen merkinnän"
- unsilence_account_html: "%{name} ei tehnyt rajoitusta %{target} tilille"
- unsuspend_account_html: "%{name} perui käyttäjän %{target} jäähyn"
- update_announcement_html: "%{name} päivitti ilmoituksen %{target}"
+ unsilence_account_html: "%{name} kumosi käyttäjän %{target} rajoituksen"
+ unsuspend_account_html: "%{name} kumosi käyttäjän %{target} tilin jäädytyksen"
+ update_announcement_html: "%{name} päivitti tiedotteen %{target}"
update_custom_emoji_html: "%{name} päivitti emojin %{target}"
update_domain_block_html: "%{name} päivitti verkkotunnuksen %{target} eston"
update_ip_block_html: "%{name} muutti sääntöä IP-osoitteelle %{target}"
- update_status_html: "%{name} päivitti viestin %{target}"
+ update_status_html: "%{name} päivitti käyttäjän %{target} julkaisun"
update_user_role_html: "%{name} muutti roolia %{target}"
deleted_account: poisti tilin
empty: Lokeja ei löytynyt.
@@ -293,43 +293,43 @@ fi:
filter_by_user: Suodata käyttäjän mukaan
title: Auditointiloki
announcements:
- destroyed_msg: Ilmoitus poistettu onnistuneesti!
+ destroyed_msg: Tiedote poistettu onnistuneesti!
edit:
- title: Muokkaa ilmoitusta
- empty: Yhtään ilmoitusta ei löytynyt.
- live: Suora
+ title: Muokkaa tiedotetta
+ empty: Tiedotteita ei löytynyt.
+ live: Julki
new:
- create: Luo ilmoitus
- title: Uusi ilmoitus
+ create: Luo tiedote
+ title: Uusi tiedote
publish: Julkaise
- published_msg: Ilmoitus julkaistu onnistuneesti!
- scheduled_for: Ajastettu %{time}
- scheduled_msg: Ilmoitus on ajastettu julkaisua varten!
- title: Ilmoitukset
+ published_msg: Tiedote julkaistu onnistuneesti!
+ scheduled_for: Ajoitettu %{time}
+ scheduled_msg: Tiedotteen julkaisu ajoitettu!
+ title: Tiedotteet
unpublish: Lopeta julkaisu
- unpublished_msg: Ilmoituksen julkaisu lopetettu!
- updated_msg: Ilmoitus päivitetty onnistuneesti!
+ unpublished_msg: Tiedotteen julkaisu lopetettu onnistuneesti!
+ updated_msg: Tiedote päivitetty onnistuneesti!
critical_update_pending: Kriittinen päivitys odottaa
custom_emojis:
- assign_category: Aseta kategoria
+ assign_category: Aseta luokka
by_domain: Verkkotunnus
copied_msg: Emojin paikallisen kopion luonti onnistui
copy: Kopioi
copy_failed_msg: Emojista ei voitu tehdä paikallista kopiota
- create_new_category: Luo uusi kategoria
- created_msg: Emojin luotu!
+ create_new_category: Luo uusi luokka
+ created_msg: Emojin luonti onnistui!
delete: Poista
- destroyed_msg: Emojo poistettu!
+ destroyed_msg: Emojon poisto onnistui!
disable: Poista käytöstä
disabled: Ei käytössä
- disabled_msg: Emojin poisto käytöstä onnistui
+ disabled_msg: Emojin käytöstäpoisto onnistui
emoji: Emoji
enable: Ota käyttöön
enabled: Käytössä
enabled_msg: Emojin käyttöönotto onnistui
image_hint: PNG tai GIF, enintään %{size}
- list: Listaa
- listed: Listassa
+ list: Lisää listalle
+ listed: Listalla
new:
title: Lisää uusi mukautettu emoji
no_emoji_selected: Emojeita ei muutettu, koska yhtään ei valittu
@@ -340,7 +340,7 @@ fi:
title: Mukautetut emojit
uncategorized: Luokittelemattomat
unlist: Poista listalta
- unlisted: Ei listassa
+ unlisted: Ei listalla
update_failed_msg: Emojin päivitys epäonnistui
updated_msg: Emojin päivitys onnistui!
upload: Lähetä
@@ -349,26 +349,26 @@ fi:
interactions: vuorovaikutukset
media_storage: Median tallennustila
new_users: uudet käyttäjät
- opened_reports: raportit avattu
+ opened_reports: avatut raportit
pending_appeals_html:
one: "%{count} vireillä oleva valitus"
- other: "%{count} vireillä olevat valitukset"
+ other: "%{count} vireillä olevaa valitusta"
pending_reports_html:
one: "%{count} odottava raportti"
- other: "%{count} odottavat raportit"
+ other: "%{count} odottavaa raporttia"
pending_tags_html:
- one: "%{count} odottava hashtagi"
+ one: "%{count} odottava aihetunniste"
other: "%{count} odottavaa aihetunnistetta"
pending_users_html:
one: "%{count} odottava käyttäjä"
- other: "%{count} odottavat käyttäjät"
- resolved_reports: raportit ratkaistu
+ other: "%{count} odottavaa käyttäjää"
+ resolved_reports: ratkaistut raportit
software: Ohjelmisto
sources: Rekisteröitymisen lähteet
space: Tilankäyttö
title: Hallintapaneeli
- top_languages: Aktiiviset kielet
- top_servers: Aktiiviset palvelimet
+ top_languages: Aktiivisimmat kielet
+ top_servers: Aktiivisimmat palvelimet
website: Sivusto
disputes:
appeals:
@@ -376,8 +376,8 @@ fi:
title: Valitukset
domain_allows:
add_new: Salli liitto verkkotunnuksella
- created_msg: Verkkotunnus on onnistuneesti sallittu federaatiolle
- destroyed_msg: Verkkotunnus on estetty federaatiossa
+ created_msg: Verkkotunnus on onnistuneesti sallittu federoinnille
+ destroyed_msg: Verkkotunnusta on kielletty federoimasta
export: Vie
import: Tuo
undo: Estä liitto verkkotunnukselle
@@ -389,34 +389,34 @@ fi:
permanent_action: Jäädytyksen kumoaminen ei palauta mitään tietoja tai suhteita.
preamble_html: Olet jäädyttämässä verkkotunnuksen %{domain} ja sen aliverkkotunnukset.
remove_all_data: Tämä toiminto poistaa palvelimeltasi kaiken sisällön, median ja profiilitiedot tämän palvelun tileiltä.
- stop_communication: Palvelimesi lopettaa näiden palvelinten viestinnän.
+ stop_communication: Palvelimesi lopettaa viestinnän näiden palvelinten kanssa.
title: Vahvista verkkotunnuksen %{domain} esto
undo_relationships: Tämä kumoaa näiden palvelimien ja sinun tilien välisen seurannan.
created_msg: Verkkotunnuksen estoa käsitellään
destroyed_msg: Verkkotunnuksen esto on peruttu
domain: Verkkotunnus
edit: Muokkaa verkkotunnuksen estoa
- existing_domain_block: Olet jo asettanut tiukemmat rajoitukset %{name}.
- existing_domain_block_html: Olet jo asettanut %{name} tiukemmat rajat ja sinun täytyy poistaa se ensin.
+ existing_domain_block: Olet jo asettanut tiukemmat rajoitukset käyttäjälle %{name}.
+ existing_domain_block_html: Olet jo asettanut tiukemmat rajoitukset käyttäjälle %{name}, joten sinun täytyy poistaa sen esto ensin.
export: Vie
import: Tuo
new:
create: Luo esto
- hint: Verkkotunnuksen esto ei estä tilien luomista ja lisäämistä tietokantaan, mutta se soveltaa näihin tileihin automaattisesti määrättyjä moderointitoimia tilin luomisen jälkeen.
+ hint: Verkkotunnuksen esto ei estä tilien lisäämistä tietokantaan, mutta se soveltaa näihin tileihin takautuvasti ja automaattisesti tiettyjä valvontatoimia.
severity:
- desc_html: "Rajoita -valinta piilottaa tämän verkkoalueen tilien julkaisut heiltä, jotka eivät seuraa kyseisiä tilejä. Lopeta poistaa kaiken sisällön, median ja profiilien tiedot tämän verkkotunnuksen tileiltä palvelimellasi. Käytä valintaa Ei mitään, jos haluat vain estää mediatiedostojen julkaisemisen."
+ desc_html: Valinta Rajoita piilottaa tässä verkkotunnuksessa sijaitsevien tilien julkaisut kaikilta, jotka eivät seuraa näitä tilejä. Valinta Jäädytä poistaa palvelimeltasi kaikkien tässä verkkotunnuksessa sijaitsevien tilien sisällön, median ja profiilitiedot. Käytä valintaa Ei mitään, jos haluat vain hylätä mediatiedostot.
noop: Ei mitään
silence: Rajoita
- suspend: Jäähy
+ suspend: Jäädytä
title: Uusi verkkotunnuksen esto
no_domain_block_selected: Verkkoalue-estoihin ei tehty muutoksia, koska valintoja ei tehty
not_permitted: Nykyiset käyttöoikeutesi eivät kata tätä toimintoa
obfuscate: Peitä verkkotunnuksen nimi
- obfuscate_hint: Peitä verkkotunnus osittain luettelossa, jos verkkotunnuksen rajoitusten luettelo on käytössä
+ obfuscate_hint: Peitä verkkotunnus osittain luettelossa, jos julkinen verkkotunnusten rajoitusluettelo on käytössä
private_comment: Yksityinen kommentti
private_comment_hint: Kommentoi tätä verkkotunnuksen rajoitusta, valvojien sisäiseen käyttöön.
public_comment: Julkinen kommentti
- public_comment_hint: Kommentoi tätä verkkotunnukselle koskevaa rajoitusta suurelle yleisölle, jos verkkotunnusten luettelon mainonta on käytössä.
+ public_comment_hint: Kommentoi tätä verkkotunnuksen rajoitusta suurelle yleisölle, jos julkinen verkkotunnusten rajoitusluettelo on käytössä.
reject_media: Hylkää mediatiedostot
reject_media_hint: Poistaa paikallisesti tallennetut mediatiedostot eikä lataa niitä enää jatkossa. Ei merkitystä jäähyn kohdalla
reject_reports: Hylkää raportit
@@ -449,7 +449,7 @@ fi:
no_file: Yhtäkään tiedostoa ei ole valittu
export_domain_blocks:
import:
- description_html: Olet tuomassa järjestelmään luetteloa verkkoalue-estoista. Tarkista luettelo huolella – etenkin, ellet ole itse tehnyt listausta.
+ description_html: Olet tuomassa verkkotunnusten estoluetteloa. Tarkista luettelo huolella – etenkin, jos et ole laatinut sitä itse.
existing_relationships_warning: Olemassa olevat seuraussuhteet
private_comment_description_html: 'Tuodun estolistan alkuperän selvillä pitämiseksi, lisätään tietojen yhteyteen seuraava yksityinen kommentti: %{comment}'
private_comment_template: Tuotu lähteestä %{source}, pvm %{date}
@@ -459,13 +459,13 @@ fi:
title: Tuo luettelo verkkoalue-estoista
no_file: Yhtäkään tiedostoa ei ole valittu
follow_recommendations:
- description_html: "Suositusten noudattaminen auttaa uusia käyttäjiä löytämään nopeasti mielenkiintoista sisältöä.. Jos käyttäjä ei ole ollut vuorovaikutuksessa tarpeeksi muiden kanssa luodakseen henkilökohtaisia seuraajia, näitä muita tilejä suositellaan sen sijaan. Ne lasketaan uudelleen päivittäin yhdistelmästä tilejä, joilla on korkein viimeaikainen käyttö ja korkein paikallinen seuraajien määrä tietyllä kielellä."
+ description_html: "Seuraamissuositukset auttavat uusia käyttäjiä löytämään nopeasti kiinnostavaa sisältöä. Kun käyttäjä ei ole ollut tarpeeksi vuorovaikutuksessa muiden kanssa, jotta hänelle olisi muodostunut henkilökohtaisia seuraamissuosituksia, suositellaan niiden sijaan näitä tilejä. Ne lasketaan päivittäin uudelleen yhdistelmästä tilejä, jotka ovat viime aikoina olleet aktiivisimmin sitoutuneita ja joilla on suurimmat paikalliset seuraajamäärät tietyllä kielellä."
language: Kielelle
status: Tila
- suppress: Peitä noudata suosituksia
- suppressed: Rajoitettu
- title: Noudata suosituksia
- unsuppress: Palauta seuraa suositus
+ suppress: Hylkää seuraamissuositus
+ suppressed: Hylätty
+ title: Seuraamissuositukset
+ unsuppress: Palauta seuraamissuositus
instances:
availability:
description_html:
@@ -490,7 +490,7 @@ fi:
policies:
reject_media: Hylkää media
reject_reports: Hylkää raportit
- silence: Rajoitus
+ silence: Rajoita
suspend: Jäädytä
policy: Käytännöt
reason: Julkinen syy
@@ -503,7 +503,7 @@ fi:
instance_languages_dimension: Suosituimmat kielet
instance_media_attachments_measure: tallennetut median liitteet
instance_reports_measure: niitä koskevat raportit
- instance_statuses_measure: tallennetut viestit
+ instance_statuses_measure: tallennetut julkaisut
delivery:
all: Kaikki
clear: Tyhjennä toimitusvirheet
@@ -522,12 +522,12 @@ fi:
moderation:
all: Kaikki
limited: Rajoitettu
- title: Moderointi
+ title: Valvonta
private_comment: Yksityinen kommentti
public_comment: Julkinen kommentti
purge: Tyhjennä
- purge_description_html: Jos uskot tämän verkkotunnuksen olevan offline-tilassa, voit poistaa kaikki tilitietueet ja niihin liittyvät tiedot sinun tallennustilasta. Tämä voi kestää jonkin aikaa.
- title: Tiedossa olevat instanssit
+ purge_description_html: Jos uskot, että tämä verkkotunnus on offline-tilassa tarkoituksella, voit poistaa kaikki verkkotunnuksen tilitietueet ja niihin liittyvät tiedot tallennustilastasi. Tämä voi kestää jonkin aikaa.
+ title: Federointi
total_blocked_by_us: Estetty meidän toimesta
total_followed_by_them: Heidän seuraama
total_followed_by_us: Meidän seuraama
@@ -562,11 +562,11 @@ fi:
relays:
add_new: Lisää uusi välittäjä
delete: Poista
- description_html: "federaatiovälittäjä on välityspalvelin, joka siirtää siihen liittyneiden palvelimien välillä suuria julksia viestimääriä. Tämä voi auttaa pieniä ja keskikokoisia palvelimia löytämään fediversen sisältöä, joka muutoin vaatisi paikallisia käyttäjiä seuraamaan etäpalvelimien käyttäjiä manuaalisesti."
+ description_html: "Federointivälittäjä on välityspalvelin, joka siirtää suuria määriä julkisia julkaisuja siihen liittyneiden palvelinten välillä. Se voi auttaa pieniä ja keskisuuria palvelimia löytämään fediversumin sisältöä, mikä muutoin vaatisi paikallisia käyttäjiä seuraamaan etäpalvalinten käyttäjiä manuaalisesti."
disable: Poista käytöstä
- disabled: Ei käytössä
+ disabled: Poissa käytöstä
enable: Ota käyttöön
- enable_hint: Kun tämä on otettu käyttöön, palvelimesi liittyy välittäjään ja vastaanottaa jatkossa kaikki sen jakelemat julkiset julkaisut sekä välittää omat julkiset julkaisunsa sille.
+ enable_hint: Kun tämä on otettu käyttöön, palvelimesi tilaa välittäjältä kaikki sen välittämät julkiset julkaisut ja alkaa lähettää omansa sille.
enabled: Käytössä
inbox_url: Välittäjän URL
pending: Odotetaan välittäjän hyväksyntää
@@ -586,13 +586,13 @@ fi:
action_log: Tarkastusloki
action_taken_by: Toimenpiteen tekijä
actions:
- delete_description_html: Ilmoitetut viestit poistetaan ja kirjataan varoitus, joka auttaa sinua saman tilin tulevista rikkomuksista.
- mark_as_sensitive_description_html: Ilmoitettujen viestien media merkitään arkaluonteisiksi ja varoitus tallennetaan, jotta voit kärjistää saman tilin tulevia rikkomuksia.
- other_description_html: Katso lisää vaihtoehtoja tilin käytöksen hallitsemiseksi ja ilmoitetun tilin viestinnän mukauttamiseksi.
- resolve_description_html: Ilmoitettua tiliä vastaan ei ryhdytä toimenpiteisiin, varoitusta ei kirjata ja raportti suljetaan.
- silence_description_html: Tili näkyy vain niille, jotka jo seuraavat sitä tai estävät sen manuaalisesti, mikä rajoittaa merkittävästi sen kattavuutta. Se voidaan aina palauttaa. Sulkee kaikki raportit tätä tiliä vastaan.
- suspend_description_html: Tili ja kaikki sen sisältö eivät ole käytettävissä ja vuorovaikutus sen kanssa on mahdotonta, sekä lopulta poistetaan. Palautettava 30 päivän kuluessa. Sulkee kaikki raportit tätä tiliä vastaan.
- actions_description_html: Päätä, mihin toimiin ryhdyt tämän ilmoituksen ratkaisemiseksi. Jos ryhdyt rangaistustoimeen ilmoitettua tiliä vastaan, heille lähetetään sähköposti-ilmoitus, paitsi jos Roskaposti luokka on valittuna.
+ delete_description_html: Raportoidut julkaisut poistetaan ja kirjataan varoitus, joka auttaa suhtautumaan vakavammin saman tilin tuleviin rikkomuksiin.
+ mark_as_sensitive_description_html: Raportoitujen julkaisujen media merkitään arkaluonteiseksi ja kirjataan varoitus, joka auttaa suhtautumaan vakavammin saman tilin tuleviin rikkomuksiin.
+ other_description_html: Katso lisää vaihtoehtoja tilin käytöksen hallitsemiseksi ja raportoidulle tilille kohdistuvan viestinnän mukauttamiseksi.
+ resolve_description_html: Ilmoitettua tiliä kohtaan ei ryhdytä toimiin, varoitusta ei kirjata ja raportti suljetaan.
+ silence_description_html: Tili näkyy vain niille, jotka jo seuraavat sitä tai etsivät sen manuaalisesti, mikä rajoittaa merkittävästi sen tavoitettavuutta. Voidaan perua milloin vain. Sulkee kaikki tilin vastaiset raportit.
+ suspend_description_html: Tili ja mikään sen sisältö eivät ole käytettävissä, ja lopulta ne poistetaan, ja vuorovaikutus tilin kanssa on mahdotonta. Peruttavissa 30 päivän ajan. Sulkee kaikki tämän tilin vastaiset raportit.
+ actions_description_html: Päätä, mihin toimiin ryhdyt tämän raportin ratkaisemiseksi. Jos ryhdyt rangaistustoimeen ilmoitettua tiliä kohtaan, hänelle lähetetään sähköposti-ilmoitus, paitsi jos Roskaposti-luokka on valittuna.
actions_description_remote_html: Päätä, mihin toimiin ryhdyt tämän raportin ratkaisemiseksi. Tämä vaikuttaa vain siihen, miten palvelimesi kommunikoi tämän etätilin kanssa ja käsittelee sen sisältöä.
add_to_report: Lisää raporttiin
are_you_sure: Oletko varma?
@@ -600,15 +600,15 @@ fi:
assigned: Määritetty valvoja
by_target_domain: Ilmoitetun tilin verkkotunnus
cancel: Peruuta
- category: Kategoria
- category_description_html: Syy, miksi tämä tili ja/tai sisältö ilmoitettiin, mainitaan yhteydenotossa ilmoitettuun tiliin
+ category: Luokka
+ category_description_html: Syy siihen, miksi tämä tili ja/tai sisältö raportoitiin, mainitaan ilmoitetun tilin kanssa viestiessä
comment:
none: Ei mitään
comment_description_html: 'Antaakseen lisätietoja %{name} kirjoitti:'
confirm: Vahvista
- confirm_action: Vahvista moderointitoiminto käyttäjää @%{acct} kohtaan
+ confirm_action: Vahvista valvontatoimi käyttäjää @%{acct} kohtaan
created_at: Raportoitu
- delete_and_resolve: Poista viestejä
+ delete_and_resolve: Poista julkaisut
forwarded: Välitetty
forwarded_to: Välitetty %{domain}
mark_as_resolved: Merkitse ratkaistuksi
@@ -638,22 +638,22 @@ fi:
statuses_description_html: Loukkaava sisältö mainitaan ilmoitetun tilin yhteydessä
summary:
action_preambles:
- delete_html: 'Olet aikeissa poistaa joitain käyttäjän @%{acct} viestejä. Tästä seuraa:'
- mark_as_sensitive_html: 'Olet aikeissa merkitä joitain käyttäjän @%{acct} viestejä arkaluonteisiksi. Tästä seuraa:'
+ delete_html: 'Olet aikeissa poistaa käyttäjän @%{acct} julkaisuja. Tästä seuraa:'
+ mark_as_sensitive_html: 'Olet aikeissa merkitä käyttäjän @%{acct} julkaisuja arkaluonteisiksi. Tästä seuraa:'
silence_html: 'Olet aikeissa rajoittaa käyttäjän @%{acct} tiliä. Tästä seuraa:'
- suspend_html: 'Olet aikeissa rajoittaa käyttäjän @%{acct} tiliä. Tästä seuraa:'
+ suspend_html: 'Olet aikeissa jäädyttää käyttäjän @%{acct} tilin. Tästä seuraa:'
actions:
- delete_html: Loukkaavat viestit poistetaan
- mark_as_sensitive_html: Loukkaavien viestien media merkitään arkaluonteiseksi
- silence_html: Vakavasti rajoittaa käyttäjän @%{acct} tavoitettavuutta tekemällä profiilista ja sen sisällöstä näkyviä vain jo häntä seuraaville tai niille, jotka etsivät profiilia manuaalisesti
- suspend_html: Rajoita @%{acct}, jolloin heidän profiilinsa ja sisällönsä ei ole käytettävissä ja on mahdotonta olla vuorovaikutuksessa
+ delete_html: Poista loukkaavat julkaisut
+ mark_as_sensitive_html: Merkitse loukkaavien julkaisujen media arkaluonteiseksi
+ silence_html: Rajoita merkittävästi käyttäjän @%{acct} tavoitettavuutta tekemällä profiilista ja sen sisällöstä näkyviä vain niille, jotka jo seuraavat tiliä tai etsivät sen manuaalisesti
+ suspend_html: Jäädytä @%{acct}, jolloin hänen profiilinsa ja sisältönsä ei ole käytettävissä ja hänen kanssaan on mahdotonta olla vuorovaikutuksessa
close_report: 'Merkitse raportti #%{id} selvitetyksi'
close_reports_html: Merkitse kaikki käyttäjään @%{acct} kohdistuvat raportit ratkaistuiksi
- delete_data_html: Poista @%{acct}profiili ja sisältö 30 päivän kuluttua, ellei jäädytystä tällä välin peruuteta
+ delete_data_html: Poista käyttäjän @%{acct} profiili ja sen sisältö 30 päivän kuluttua, ellei jäädytystä sillä välin kumota
preview_preamble_html: "@%{acct} saa varoituksen, jonka sisältö on seuraava:"
record_strike_html: Tallenna varoitus @%{acct} vastaan, joka auttaa sinua selvittämään tulevia rikkomuksia tältä tililtä
send_email_html: Lähetä käyttäjälle @%{acct} varoitus sähköpostitse
- warning_placeholder: Valinnaiset lisäperustelut moderointitoimenpiteelle.
+ warning_placeholder: Valinnaiset lisäperustelut valvontatoimelle.
target_origin: Raportoidun tilin alkuperä
title: Raportit
unassign: Määrittämätön
@@ -670,7 +670,7 @@ fi:
administration: Ylläpito
devops: DevOps
invites: Kutsut
- moderation: Moderointi
+ moderation: Valvonta
special: Erikois
delete: Poista
description_html: Käyttäjän roolit, voit muokata toimintoja ja alueita mitä sinun Mastodon käyttäjät voivat käyttää.
@@ -687,34 +687,34 @@ fi:
delete_user_data_description: Salli käyttäjien poistaa muiden käyttäjien tiedot viipymättä
invite_users: Kutsu käyttäjiä
invite_users_description: Sallii käyttäjien kutsua uusia ihmisiä palvelimelle
- manage_announcements: Hallitse Ilmoituksia
- manage_announcements_description: Salli käyttäjien hallita ilmoituksia palvelimella
+ manage_announcements: Hallitse tiedotteita
+ manage_announcements_description: Sallii käyttäjien hallita tiedotteita palvelimella
manage_appeals: Hallitse valituksia
- manage_appeals_description: Antaa käyttäjien tarkastella valvontatoimia koskevia valituksia
- manage_blocks: Hallitse lohkoja
- manage_blocks_description: Sallii käyttäjien estää sähköpostipalvelujen ja IP-osoitteiden käytön
- manage_custom_emojis: Hallita mukautettuja hymiöitä
- manage_custom_emojis_description: Salli käyttäjien hallita mukautettuja hymiöitä palvelimella
- manage_federation: Hallita liitoksia
- manage_federation_description: Sallii käyttäjien estää tai sallia liitoksen muiden verkkotunnusten kanssa ja hallita toimitusta
- manage_invites: Hallita kutsuja
+ manage_appeals_description: Sallii käyttäjien tarkistaa valvontatoimia koskevia valituksia
+ manage_blocks: Hallitse estoja
+ manage_blocks_description: Sallii käyttäjien estää sähköpostipalveluntarjoajia ja IP-osoitteita
+ manage_custom_emojis: Hallitse mukautettuja emojeita
+ manage_custom_emojis_description: Sallii käyttäjien hallita mukautettuja emojeita palvelimella
+ manage_federation: Hallitse federointia
+ manage_federation_description: Sallii käyttäjien estää tai sallia federointi muiden verkkotunnusten kanssa ja hallita toimitusta
+ manage_invites: Hallitse kutsuja
manage_invites_description: Sallii käyttäjien selata ja poistaa kutsulinkkejä käytöstä
- manage_reports: Hallita raportteja
- manage_reports_description: Sallii käyttäjien tarkastella raportteja ja suorittaa valvontatoimia niitä vastaan
- manage_roles: Hallita rooleja
+ manage_reports: Hallitse raportteja
+ manage_reports_description: Sallii käyttäjien tarkistaa raportteja ja suorittaa valvontatoimia niitä vastaan
+ manage_roles: Hallitse rooleja
manage_roles_description: Sallii käyttäjien hallita ja määrittää rooleja heidän alapuolellaan
- manage_rules: Hallita sääntöjä
- manage_rules_description: Sallii käyttäjien vaihtaa palvelinsääntöjä
- manage_settings: Hallita asetuksia
- manage_settings_description: Salli käyttäjien muuttaa sivuston asetuksia
- manage_taxonomies: Hallita luokittelua
+ manage_rules: Hallitse sääntöjä
+ manage_rules_description: Sallii käyttäjien muuttaa palvelimen sääntöjä
+ manage_settings: Hallitse asetuksia
+ manage_settings_description: Sallii käyttäjien muuttaa sivuston asetuksia
+ manage_taxonomies: Hallitse luokittelua
manage_taxonomies_description: Sallii käyttäjien tarkistaa nousussa olevan sisällön ja päivittää aihetunnisteiden asetuksia
- manage_user_access: Hallita käyttäjän oikeuksia
- manage_user_access_description: Sallii käyttäjien poistaa käytöstä muiden käyttäjien kaksivaiheisen todennuksen, muuttaa heidän sähköpostiosoitettaan ja nollata heidän salasanansa
- manage_users: Hallita käyttäjiä
- manage_users_description: Sallii käyttäjien tarkastella muiden käyttäjien tietoja ja suorittaa valvontatoimia heitä vastaan
- manage_webhooks: Hallita Webhookit
- manage_webhooks_description: Sallii käyttäjien luoda webhookit hallinnollisiin tapahtumiin
+ manage_user_access: Hallitse käyttäjäoikeuksia
+ manage_user_access_description: Sallii käyttäjien poistaa muiden käyttäjien kaksivaiheinen todennus käytöstä, vaihtaa heidän sähköpostiosoitteensa ja nollata heidän salasanansa
+ manage_users: Hallitse käyttäjiä
+ manage_users_description: Sallii käyttäjien tarkastella muiden käyttäjien tietoja ja suorittaa valvontatoimia heitä kohtaan
+ manage_webhooks: Hallitse webhookeja
+ manage_webhooks_description: Sallii käyttäjien luoda webhookeja hallinnollisiin tapahtumiin
view_audit_log: Katsoa valvontalokia
view_audit_log_description: Sallii käyttäjien nähdä palvelimen hallinnollisten toimien historian
view_dashboard: Näytä koontinäyttö
@@ -725,13 +725,13 @@ fi:
rules:
add_new: Lisää sääntö
delete: Poista
- description_html: Vaikka useimmat väittävät, että ovat lukenut ja hyväksyneet käyttöehdot niin yleensä ihmiset eivät lue niitä läpi ennen kuin ongelma syntyy. Tee helpoksi nähdä palvelimen säännöt yhdellä silmäyksellä tarjoamalla ne tiiviissä luettelossa. Yritä pitää säännöt lyhyinä ja yksinkertaisina, mutta yritä olla jakamatta niitä moniin erillisiin kohteisiin.
+ description_html: Vaikka useimmat väittävät, että ovat lukeneet ja hyväksyneet käyttöehdot, niin yleensä ihmiset eivät lue niitä läpi ennen kuin ilmenee ongelma. Helpota palvelimen sääntöjen näkemistä yhdellä silmäyksellä tarjoamalla ne tiiviissä luettelossa. Yritä pitää säännöt lyhyinä ja yksinkertaisina, mutta yritä olla jakamatta niitä useisiin erillisiin kohtiin.
edit: Muokkaa sääntöä
empty: Palvelimen sääntöjä ei ole vielä määritelty.
title: Palvelimen säännöt
settings:
about:
- manage_rules: Hallinnoi palvelimen sääntöjä
+ manage_rules: Hallitse palvelimen sääntöjä
preamble: Anna perusteellista tietoa siitä, miten palvelinta käytetään, valvotaan, rahoitetaan.
rules_hint: On olemassa erityinen alue sääntöjä, joita käyttäjien odotetaan noudattavan.
title: Tietoja
@@ -739,7 +739,7 @@ fi:
preamble: Muokkaa Mastodonin web-käyttöliittymää.
title: Ulkoasu
branding:
- preamble: Palvelimesi brändäys erottaa sen muista verkon palvelimista. Nämä tiedot voidaan näyttää useissa eri ympäristöissä, kuten Mastodonin käyttöliittymässä, sovelluksissa, linkkien esikatselu muilla sivustoilla ja viestisovelluksien sisällä ja niin edelleen. Tästä syystä on parasta pitää nämä tiedot selkeinä, lyhyinä ja ytimekkäinä.
+ preamble: Palvelimesi brändäys erottaa sen muista verkon palvelimista. Nämä tiedot voivat näkyä monissa eri ympäristöissä, kuten Mastodonin web-käyttöliittymässä, natiivisovelluksissa, linkkien esikatseluissa muilla sivustoilla, viestintäsovelluksissa ja niin edelleen. Siksi nämä tiedot kannattaa pitää selkeinä, lyhyinä ja ytimekkäinä.
title: Brändäys
captcha_enabled:
desc_html: Tämä perustuu ulkoisiin skripteihin hCaptchasta, mikä voi olla turvallisuus- ja yksityisyysongelma. Lisäksi tämä voi tehdä rekisteröinnin ihmisille huomattavasti (erityisesti vammaisten) helpommaksi. Harkitse vaihtoehtoisia toimenpiteitä, kuten hyväksymisperusteista tai kutsupohjaista rekisteröintiä.
@@ -751,7 +751,7 @@ fi:
desc_html: Vaikuttaa kaikkiin käyttäjiin, jotka eivät ole muuttaneet tätä asetusta itse
title: Jätä käyttäjät oletusarvoisesti hakukoneindeksoinnin ulkopuolelle
discovery:
- follow_recommendations: Noudata suosituksia
+ follow_recommendations: Seuraamissuositukset
preamble: Mielenkiintoisen sisällön esille tuominen auttaa saamaan uusia käyttäjiä, jotka eivät ehkä tunne ketään Mastodonista. Määrittele, kuinka erilaiset etsintäominaisuudet toimivat palvelimellasi.
profile_directory: Profiilihakemisto
public_timelines: Julkiset aikajanat
@@ -773,7 +773,7 @@ fi:
open: Kaikki voivat rekisteröityä
security:
authorized_fetch: Vaadi todennus yhdistetyiltä palvelimilta
- authorized_fetch_hint: Todennuksen vaatiminen yhdistetyiltä palvelimilta mahdollistaa sekä käyttäjätason että palvelintason alueiden tiukemmat estot. Tämä tapahtuu kuitenkin suorituskyvyn kustannuksella, vähentää vastauksien ulottuvuutta ja voi luoda yhteensopivuusongelmia joidenkin yhdistettyjen palveluiden kanssa. Lisäksi, tämä ei myöskään estä muita toimijoita hakemasta julkisia viestejäsi ja tilejäsi.
+ authorized_fetch_hint: Todennuksen vaatiminen federoiduilta palvelimilta mahdollistaa sekä käyttäjä- että palvelintason estojen tiukemman valvonnan. Tämä tapahtuu kuitenkin suorituskyvyn kustannuksella, vähentää vastauksiesi tavoittavuutta ja voi aiheuttaa yhteensopivuusongelmia joidenkin federoitujen palvelujen kanssa. Tämä ei myöskään estä omistautuneita toimijoita hakemasta julkisia julkaisujasi ja tilejäsi.
authorized_fetch_overridden_hint: Et voi tällä hetkellä muuttaa tätä asetusta, koska se on ohitettu ympäristömuuttujalla.
federation_authentication: Yhdistettyjen palvelinten todentamisen täytäntöönpano
title: Palvelimen asetukset
@@ -808,23 +808,23 @@ fi:
media:
title: Media
metadata: Metadata
- no_status_selected: Viestejä ei muutettu, koska yhtään ei ole valittuna
- open: Avaa viesti
- original_status: Alkuperäinen viesti
+ no_status_selected: Julkaisuja ei muutettu, koska yhtään ei ole valittuna
+ open: Avaa julkaisu
+ original_status: Alkuperäinen julkaisu
reblogs: Edelleen jako
- status_changed: Viesti muutettu
+ status_changed: Julkaisua muutettu
title: Tilin tilat
trending: Nousussa
visibility: Näkyvyys
with_media: Sisältää mediaa
strikes:
actions:
- delete_statuses: "%{name} poisti käyttäjän %{target} viestit"
+ delete_statuses: "%{name} poisti käyttäjän %{target} julkaisut"
disable: "%{name} jäädytti %{target} tilin"
- mark_statuses_as_sensitive: "%{name} merkitsi käyttäjän %{target} viestit arkaluonteisiksi"
+ mark_statuses_as_sensitive: "%{name} merkitsi käyttäjän %{target} julkaisut arkaluonteisiksi"
none: "%{name} lähetti varoituksen henkilölle %{target}"
sensitive: "%{name} merkitsi käyttäjän %{target} tilin arkaluonteiseksi"
- silence: "%{name} rajoitti käyttäjän %{target} tilin"
+ silence: "%{name} rajoitti käyttäjän %{target} tiliä"
suspend: "%{name} jäädytti käyttäjän %{target} tilin"
appeal_approved: Valitti
appeal_pending: Valitus vireillä
@@ -852,7 +852,7 @@ fi:
message_html: 'Yhteensopimaton Elasticsearch versio: %{value}'
version_comparison: Elasticsearch %{running_version} on käynnissä, kun %{required_version} vaaditaan
rules_check:
- action: Hallinnoi palvelimen sääntöjä
+ action: Hallitse palvelimen sääntöjä
message_html: Et ole määrittänyt mitään palvelimen sääntöä.
sidekiq_process_check:
message_html: Ei ole Sidekiq-prosessia käynnissä jonossa %{value}. Tarkista Sidekiq-asetukset
@@ -900,17 +900,17 @@ fi:
title: Julkaisijat
rejected: Hylätty
statuses:
- allow: Salli viesti
+ allow: Salli julkaisu
allow_account: Salli tekijä
- description_html: Nämä ovat viestejä, jotka palvelimesi tietää tällä hetkellä jaetuksi ja suosituksi. Tämä voi auttaa uusia ja palaavia ihmisiä löytämään lisää ihmisiä, joita seurata seurata. Julkaisuja ei näytetä julkisesti ennen kuin hyväksyt tekijän ja kirjoittaja sallii tilinsä ehdottamisen muille. Voit myös sallia tai hylätä yksittäiset viestit.
- disallow: Estä viesti
+ description_html: Nämä ovat julkaisuja, joita palvelimesi tietää jaettavan ja lisättävän suosikkeihin paljon tällä hetkellä. Listaus voi auttaa uusia ja palaavia käyttäjiäsi löytämään lisää seurattavia. Julkaisut eivät näy julkisesti ennen kuin hyväksyt niiden julkaisijan ja julkaisija sallii tilinsä ehdottamisen. Voit myös sallia tai hylätä yksittäisiä julkaisuja.
+ disallow: Kiellä julkaisu
disallow_account: Estä tekijä
- no_status_selected: Suosittuja viestejä ei muutettu, koska yhtään ei valittu
+ no_status_selected: Suosittuja julkaisuja ei muutettu, koska yhtään ei ole valittuna
not_discoverable: Tekijä ei ole ilmoittanut olevansa löydettävissä
shared_by:
- one: Jaettu tai merkitty suosikiksi kerran
+ one: Jaettu tai lisätty suosikkeihin kerran
other: Jaettu tai merkitty suosikiksi %{friendly_count} kertaa
- title: Suositut viestit
+ title: Suositut julkaisut
tags:
current_score: Nykyinen tulos %{score}
dashboard:
@@ -941,7 +941,7 @@ fi:
delete: Poista
edit_preset: Muokkaa varoituksen esiasetusta
empty: Et ole vielä määrittänyt yhtäkään varoitusten esiasetusta.
- title: Hallinnoi varoitusten esiasetuksia
+ title: Hallitse varoitusten esiasetuksia
webhooks:
add_new: Lisää päätepiste
delete: Poista
@@ -965,16 +965,16 @@ fi:
admin_mailer:
new_appeal:
actions:
- delete_statuses: poistaa heidän viestit
+ delete_statuses: poistaa hänen julkaisunsa
disable: jäädyttää heidän tilinsä
- mark_statuses_as_sensitive: merkitä heidän viestinsä arkaluonteisiksi
+ mark_statuses_as_sensitive: merkitä hänen julkaisunsa arkaluonteisiksi
none: varoitus
sensitive: merkitä heidän tilinsä arkaluonteiseksi
- silence: rajoittaa heidän tilinsä
- suspend: jäädyttää heidän tilinsä
- body: "%{target} on valittanut valvojan päätöksestä %{action_taken_by} aika %{date}, joka oli %{type}. He kirjoittivat:"
- next_steps: Voit hyväksyä vetoomuksen ja kumota päätöksen tai jättää sen huomiotta.
- subject: "%{username} valittaa valvojan päätöksestä, joka koskee instanssia %{instance}"
+ silence: rajoittaa hänen tiliään
+ suspend: jäädyttää hänen tilinsä
+ body: "%{target} valittaa valvojan %{action_taken_by} päätöksestä %{date}, joka oli %{type}. Hän kirjoitti:"
+ next_steps: Voit hyväksyä valituksen, jolloin valvontapäätös kumoutuu, tai sivuuttaa sen.
+ subject: "%{username} valittaa valvontapäätöksestä, joka koskee instanssia %{instance}"
new_critical_software_updates:
body: Mastodonin uusia kriittisen tärkeitä versioita on julkaistu, joten saatat haluta päivittää niin pian kuin mahdollista!
subject: Kriittisiä Mastodon-päivityksiä on saatavilla instanssille %{instance}!
@@ -983,7 +983,7 @@ fi:
subject: Uusi tili tarkastettavana instanssissa %{instance} (%{username})
new_report:
body: "%{reporter} on raportoinut kohteen %{target}"
- body_remote: Joku osoitteesta %{domain} on raportoinut kohteen %{target}
+ body_remote: Joku palvelimelta %{domain} raportoi käyttäjän %{target}
subject: Uusi raportti instanssista %{instance} (nro %{id})
new_software_updates:
body: Uusia Mastodon-versioita on julkaistu, joten saatat haluta päivittää!
@@ -993,7 +993,7 @@ fi:
new_trending_links:
title: Suositut linkit
new_trending_statuses:
- title: Suositut viestit
+ title: Suositut julkaisut
new_trending_tags:
no_approved_tags: Tällä hetkellä ei ole hyväksyttyjä trendikkäitä aihetunnisteita.
requirements: 'Mikä tahansa näistä ehdokkaista voisi ylittää #%{rank} hyväksytyn trendikkään aihetunnisteen, joka on tällä hetkellä #%{lowest_tag_name} arvosanalla %{lowest_tag_score}.'
@@ -1008,10 +1008,10 @@ fi:
remove: Poista aliaksen linkitys
appearance:
advanced_web_interface: Edistynyt selainkäyttöliittymä
- advanced_web_interface_hint: 'Jos haluat käyttää koko näytön leveyttä, edistyneen web-käyttöliittymän avulla voit määrittää useita eri sarakkeita näyttämään niin paljon tietoa samanaikaisesti kuin haluat: Koti, ilmoitukset, yhdistetty aikajana, mikä tahansa määrä luetteloita ja aihetunnisteita.'
+ advanced_web_interface_hint: 'Jos haluat hyödyntää näytön koko leveyttä, edistyneen webkäyttöliittymän avulla voit määrittää useita erilaisia sarakkeita, niin näet kerralla niin paljon tietoa kuin haluat: kotisyöte, ilmoitukset, yleinen aikajana, mikä tahansa määrä listoja ja aihetunnisteita.'
animations_and_accessibility: Animaatiot ja saavutettavuus
confirmation_dialogs: Vahvistusvalinnat
- discovery: Löydöt
+ discovery: Löytäminen
localization:
body: Mastodonin ovat kääntäneet vapaaehtoiset.
guide_link: https://crowdin.com/project/mastodon
@@ -1076,8 +1076,8 @@ fi:
accept: Hyväksy
back: Takaisin
invited_by: 'Seuraavalta käyttäjältä vastaanottamasi kutsun ansiosta voit liittyä palvelimelle %{domain}:'
- preamble: "%{domain} valvojat määrittävät ja valvovat sääntöjä."
- preamble_invited: Ennen kuin jatkat, huomioi palvelimen %{domain} valvojien asettamat perussäännöt.
+ preamble: Palvelimen %{domain} valvojat määrittävät ja valvovat sääntöjä.
+ preamble_invited: Ennen kuin jatkat, ota huomioon palvelimen %{domain} valvojien asettamat perussäännöt.
title: Joitakin perussääntöjä.
title_invited: Sinut on kutsuttu.
security: Tunnukset
@@ -1086,21 +1086,21 @@ fi:
email_below_hint_html: Tarkista roskapostikansiosi tai pyydä uusi viesti. Voit korjata sähköpostiosoitteesi, jos se oli väärin.
email_settings_hint_html: Napsauta lähettämäämme linkkiä vahvistaaksesi osoitteen %{email}. Odotamme täällä.
link_not_received: Etkö saanut linkkiä?
- new_confirmation_instructions_sent: Saat uuden vahvistuslinkin sisältävän sähköpostiviestin muutaman minuutin sisällä!
- title: Tarkista saamasi viestit
+ new_confirmation_instructions_sent: Saat uuden vahvistuslinkin sisältävän sähköpostiviestin muutamassa minuutissa!
+ title: Tarkista sähköpostilaatikkosi
sign_in:
preamble_html: Kirjaudu %{domain}-tunnuksellasi. Jos tilisi sijaitsee eri palvelimella, et voi kirjautua täällä.
title: Kirjaudu palvelimelle %{domain}
sign_up:
- manual_review: Palvelimen %{domain} ylläpito tarkastaa rekisteröitymiset käsin. Helpottaaksesi rekisteröitymisesi käsittelyä, kerro hieman itsestäsi ja miksi haluat luoda käyttäjätilin palvelimelle %{domain}.
+ manual_review: Palvelimen %{domain} valvojat tarkistavat rekisteröitymiset käsin. Helpottaaksesi rekisteröitymisesi käsittelyä kerro hieman itsestäsi ja miksi haluat luoda käyttäjätilin palvelimelle %{domain}.
preamble: Kun sinulla on tili tällä Mastodon-palvelimella, voit seurata kaikkia muita verkossa olevia henkilöitä riippumatta siitä, missä heidän tilinsä on.
title: Otetaan sinulle käyttöön %{domain}.
status:
account_status: Tilin tila
confirming: Odotetaan sähköpostivahvistuksen valmistumista.
functional: Tilisi on täysin toiminnassa.
- pending: Hakemuksesi odottaa henkilökuntamme tarkastusta. Tämä voi kestää jonkin aikaa. Saat sähköpostiviestin, jos hakemuksesi on hyväksytty.
- redirecting_to: Tilisi ei ole aktiivinen, koska se ohjaa tällä hetkellä kohteeseen %{acct}.
+ pending: Hakemuksesi odottaa henkilökuntamme tarkastusta. Tämä voi kestää jonkin aikaa. Saat sähköpostiviestin, jos hakemuksesi hyväksytään.
+ redirecting_to: Tilisi ei ole aktiivinen, koska se ohjaa tällä hetkellä tilille %{acct}.
view_strikes: Näytä tiliäsi koskevia aiempia varoituksia
too_fast: Lomake lähetettiin liian nopeasti, yritä uudelleen.
use_security_key: Käytä suojausavainta
@@ -1140,7 +1140,7 @@ fi:
warning:
before: 'Ennen kuin jatkat, lue nämä huomautukset huolellisesti:'
caches: Muiden palvelimien välimuistiin tallentamaa sisältöä voi vielä löytyä
- data_removal: Viestit ja muut tiedot poistetaan pysyvästi
+ data_removal: Julkaisusi ja muut tietosi poistetaan pysyvästi
email_change_html: Voit muuttaa sähköpostiosoitettasi poistamatta tiliäsi
email_contact_html: Jos ei saavu perille, voit pyytää apua sähköpostilla %{email}
email_reconfirmation_html: Jos et saa vahvistuksen sähköpostia, niin voit pyytää sitä uudelleen
@@ -1164,17 +1164,17 @@ fi:
description_html: Nämä ovat tiliäsi koskevia toimia ja varoituksia, jotka instanssin %{instance} henkilökunta on lähettänyt sinulle.
recipient: Osoitettu
reject_appeal: Hylkää valitus
- status: 'Viesti #%{id}'
- status_removed: Viesti on jo poistettu järjestelmästä
+ status: 'Julkaisu #%{id}'
+ status_removed: Julkaisu on jo poistettu järjestelmästä
title: "%{action} alkaen %{date}"
title_actions:
- delete_statuses: Viestin poisto
+ delete_statuses: Julkaisun poisto
disable: Tilin jäädyttäminen
- mark_statuses_as_sensitive: Viestien merkitseminen arkaluonteisiksi
+ mark_statuses_as_sensitive: Julkaisujen merkitseminen arkaluonteisiksi
none: Varoitus
sensitive: Tilin merkitseminen arkaluonteiseksi
silence: Tilin rajoittaminen
- suspend: Tilin jäädyttäminen
+ suspend: Tilin jäädytys
your_appeal_approved: Valituksesi on hyväksytty
your_appeal_pending: Olet lähettänyt valituksen
your_appeal_rejected: Valituksesi on hylätty
@@ -1182,8 +1182,8 @@ fi:
invalid_domain: ei ole kelvollinen toimialueen nimi
edit_profile:
basic_information: Perustiedot
- hint_html: "Mukauta mitä ihmiset näkevät julkisessa profiilissasi ja sinun julkaisujen vieressä. Ihmiset todennäköisesti seuraavat ja kirjoittavat sinulle, kun sinulla on täytetty profiili ja profiilikuva."
- other: Muu
+ hint_html: "Mukauta, mitä ihmiset näkevät julkisessa profiilissasi ja julkaisujesi vieressä. Ihmiset seuraavat sinua takaisin ja ovat kanssasi vuorovaikutuksessa todennäköisemmin, kun sinulla on täytetty profiili ja profiilikuva."
+ other: Muut
errors:
'400': Lähettämäsi pyyntö oli virheellinen tai muotoiltu virheellisesti.
'403': Sinulla ei ole lupaa nähdä tätä sivua.
@@ -1206,7 +1206,7 @@ fi:
archive_takeout:
date: Päiväys
download: Lataa arkisto
- hint_html: Voit pyytää arkistoa omista viesteistä ja mediasta. Viedyt tiedot ovat ActivityPub-muodossa, ja ne voi lukea millä tahansa yhteensopivalla ohjelmalla. Voit pyytää arkistoa viikon välein.
+ hint_html: Voit pyytää arkistoa omista julkaisuista ja mediasta. Viedyt tiedot ovat ActivityPub-muodossa, ja ne voi lukea millä tahansa yhteensopivalla ohjelmalla. Voit pyytää arkistoa 7 päivän välein.
in_progress: Arkistoa kootaan...
request: Pyydä arkisto
size: Koko
@@ -1225,15 +1225,15 @@ fi:
filters:
contexts:
account: Profiilit
- home: Kotiaikajana
+ home: Kotisyöte ja listat
notifications: Ilmoitukset
public: Julkiset aikajanat
thread: Keskustelut
edit:
add_keyword: Lisää avainsana
keywords: Avainsanat
- statuses: Yksittäiset viestit
- statuses_hint_html: Tämä suodatin koskee yksittäisten viestien valintaa riippumatta siitä, vastaavatko ne alla olevia avainsanoja. Tarkista tai poista viestit suodattimesta.
+ statuses: Yksittäiset julkaisut
+ statuses_hint_html: Tämä suodatin koskee yksittäisten julkaisujen valintaa riippumatta siitä, vastaavatko ne alla olevia avainsanoja. Tarkista tai poista julkaisut suodattimesta.
title: Muokkaa suodatinta
errors:
deprecated_api_multiple_keywords: Näitä parametreja ei voi muuttaa tästä sovelluksesta, koska ne koskevat useampaa kuin yhtä suodattimen avainsanaa. Käytä uudempaa sovellusta tai selainkäyttöliittymää.
@@ -1248,11 +1248,11 @@ fi:
one: "%{count} avainsana"
other: "%{count} avainsanaa"
statuses:
- one: "%{count} viesti"
- other: "%{count} viestiä"
+ one: "%{count} julkaisu"
+ other: "%{count} julkaisua"
statuses_long:
- one: "%{count} yksittäinen viesti piilotettu"
- other: "%{count} yksittäistä viestiä piilotettu"
+ one: "%{count} yksittäinen julkaisu piilotettu"
+ other: "%{count} yksittäistä julkaisua piilotettu"
title: Suodattimet
new:
save: Tallenna uusi suodatin
@@ -1262,8 +1262,8 @@ fi:
batch:
remove: Poista suodattimista
index:
- hint: Tämä suodatin koskee yksittäisten viestien valintaa muista kriteereistä riippumatta. Voit lisätä lisää viestejä tähän suodattimeen web-käyttöliittymästä.
- title: Suodatetut viestit
+ hint: Tämä suodatin koskee yksittäisten julkaisujen valintaa muista kriteereistä riippumatta. Voit lisätä lisää julkaisuja tähän suodattimeen web-käyttöliittymästä.
+ title: Suodatetut julkaisut
generic:
all: Kaikki
all_items_on_page_selected_html:
@@ -1291,7 +1291,7 @@ fi:
imports:
errors:
empty: Tyhjä CSV-tiedosto
- incompatible_type: Yhteensopimaton valitun tuontityypin kanssa
+ incompatible_type: Yhteensopimaton valitun tuontilajin kanssa
invalid_csv_file: 'Epäkelpo CSV-tiedosto. Virhe: %{error}'
over_rows_processing_limit: sisältää yli %{count} riviä
too_large: Tiedosto on liian suuri
@@ -1304,20 +1304,20 @@ fi:
overwrite: Korvaa
overwrite_long: Korvaa nykyiset tietueet uusilla
overwrite_preambles:
- blocking_html: Olet aikeissa korvata estoluettelon kaikkiaan %{total_items} tilillä tiedostoon %{filename} perustuen.
- bookmarks_html: Olet aikeissa korvata kirjanmerkit kaikkiaan %{total_items} julkaisulla tiedostosta %{filename}.
- domain_blocking_html: Olet aikeissa korvata verkkotunnusestot kaikkiaan %{total_items} verkkotunnuksella tiedostoon %{filename} perustuen.
- following_html: Olet aikeissa seurata kaikkiaan %{total_items} tiliä tiedostoon %{filename} perustuen. Aiot lisäksi lopettaa kaikkien muiden seuraamisen.
- lists_html: Olet korvaamassa listojasi tiedoston %{filename} sisällöllä. Uusiin listoihin lisätään kaikkiaan %{total_items} tiliä.
- muting_html: Olet korvaamassa mykistettyjä tilejäsi kaikkiaan %{total_items} tilillä tiedostoon %{filename} perustuen.
+ blocking_html: Olet aikeissa korvata estoluettelosi kaikkiaan %{total_items} tilillä tiedostosta %{filename}.
+ bookmarks_html: Olet aikeissa korvata kirjanmerkkisi kaikkiaan %{total_items} julkaisulla tiedostosta %{filename}.
+ domain_blocking_html: Olet aikeissa korvata verkkotunnusten estoluettelosi kaikkiaan %{total_items} verkkotunnuksella tiedostosta %{filename}.
+ following_html: Olet aikeissa seurata kaikkiaan %{total_items} tiliä tiedostosta %{filename} ja lopettaa kaikkien muiden seuraamisen.
+ lists_html: Olet aikeissa korvata listojasi tiedoston %{filename} sisällöllä. Uusiin listoihin lisätään kaikkiaan %{total_items} tiliä.
+ muting_html: Olet aikeissa korvata mykistettyjen tilien luettelosi kaikkiaan %{total_items} tilillä tiedostosta %{filename}.
preambles:
- blocking_html: Olet estämässä yhteensä %{total_items} tiliä tiedostoon %{filename} perustuen.
- bookmarks_html: Olet lisäämässä %{total_items} julkaisua tiedostosta %{filename}kirjanmerkkeihisi.
- domain_blocking_html: Olet estämässä yhteensä %{total_items} verkkotunnusta tiedoston %{filename} nojalla.
- following_html: Olet aikeissa seurata kaikkiaan %{total_items} tiliä tiedostoon %{filename} perustuen.
- lists_html: Olet lisäämässä listoihisi%{total_items} tiliä tiedostosta %{filename}. Uudet listat luodaan, jos sopivaa kohdelistaa ei ole olemassa.
- muting_html: Olet hiljentämässä yhteensä %{total_items} tiliä tiedostosta %{filename}.
- preface: Voit tuoda toisesta instanssista viemiäsi tietoja, kuten esimerkiksi seuraamiesi tai estämiesi henkilöiden listan.
+ blocking_html: Olet aikeissa estää kaikkiaan %{total_items} tiliä tiedostosta %{filename}.
+ bookmarks_html: Olet lisäämässä kaikkiaan %{total_items} julkaisua tiedostosta %{filename}kirjanmerkkeihisi.
+ domain_blocking_html: Olet aikeissa estää kaikkiaan %{total_items} verkkotunnusta tiedostosta %{filename}.
+ following_html: Olet aikeissa seurata kaikkiaan %{total_items} tiliä tiedostosta %{filename}.
+ lists_html: Olet lisäämässä listoihisi kaikkiaan %{total_items} tiliä tiedostosta %{filename}. Uusia listoja luodaan, jos sopivaa kohdelistaa ei ole olemassa.
+ muting_html: Olet aikeissa mykistää kaikkiaan %{total_items} tiliä tiedostosta %{filename}.
+ preface: Voit tuoda toiselta palvelimelta viemiäsi tietoja, kuten seuraamiesi tai estämiesi henkilöiden luettelon.
recent_imports: Viimeksi tuotu
states:
finished: Valmis
@@ -1337,14 +1337,14 @@ fi:
type: Tuonnin tyyppi
type_groups:
constructive: Seuratut ja kirjanmerkit
- destructive: Estot ja hiljennykset
+ destructive: Estot ja mykistykset
types:
- blocking: Estettyjen lista
+ blocking: Estoluettelo
bookmarks: Kirjanmerkit
- domain_blocking: Verkkoalueen estolista
- following: Seurattujen lista
+ domain_blocking: Verkkotunnuksen estoluettelo
+ following: Seurattujen luettelo
lists: Listat
- muting: Mykistettyjen lista
+ muting: Mykistettyjen luettelo
upload: Lähetä
invites:
delete: Poista käytöstä
@@ -1386,7 +1386,7 @@ fi:
unsubscribe:
action: Kyllä, peru tilaus
complete: Tilaus lopetettiin
- confirmation_html: Olethan varma, että haluat lopettaa %{type} -aiheisten Mastodonin sähköposti-ilmoitusten vastaanoton palvelimelta %{domain} osoitteeseesi %{email}? Voit toki milloin tahansa ottaa jälleen käyttöön muun muassa nämä viestit sähköposti-ilmoitusasetusten kautta.
+ confirmation_html: Haluatko varmasti lopettaa Mastodonin sähköposti-ilmoitusten vastaanottamisen aiheesta %{type} palvelimelta %{domain} osoitteeseesi %{email}? Voit tilata ilmoitusviestejä milloin tahansa uudelleen sähköposti-ilmoitusten asetuksista.
emails:
notification_emails:
favourite: sähköpostit ilmoituksille
@@ -1394,7 +1394,7 @@ fi:
follow_request: seuraa pyyntöjä sähköpostiin
mention: mainitse sähköpostin ilmoitukset
reblog: tehosta sähköpostien ilmoituksia
- resubscribe_html: Jos olet perunut ilmoitusviestien vastaanottamisen suotta, pääset jälleentilaamaan ilmoitusviestejä sähköposti-ilmoitusasetusten kautta.
+ resubscribe_html: Jos olet perunut tilauksen erehdyksessä, voit tilata ilmoitusviestejä uudelleen sähköposti-ilmoitusten asetuksista.
success_html: Sinulle ei vastedes lähetetä %{type} -aihepiirin Mastodon-sähköposti-ilmoituksia palvelimelta %{domain} osoitteeseen %{email}.
title: Lopeta tilaus
media_attachments:
@@ -1434,7 +1434,7 @@ fi:
other_data: Muita tietoja ei siirretä automaattisesti
redirect: Nykyinen tilisi profiili päivitetään, ohjataan uudelleen ja jätetään pois hausta
moderation:
- title: Moderointi
+ title: Valvonta
move_handler:
carry_blocks_over_text: Tämä käyttäjä siirtyi paikasta %{acct}, jonka olit estänyt.
carry_mutes_over_text: Tämä käyttäjä siirtyi paikasta %{acct}, jonka mykistit.
@@ -1448,15 +1448,15 @@ fi:
sign_up:
subject: "%{name} rekisteröityi"
favourite:
- body: "%{name} tykkäsi tilastasi:"
- subject: "%{name} tykkäsi tilastasi"
- title: Uusi tykkäys
+ body: "%{name} lisäsi julkaisusi suosikkeihinsa:"
+ subject: "%{name} lisäsi julkaisusi suosikkeihinsa"
+ title: Uusi suosikkeihin lisäys
follow:
body: "%{name} seuraa nyt sinua!"
subject: "%{name} seuraa nyt sinua"
title: Uusi seuraaja
follow_request:
- action: Hallinnoi seuraamispyyntöjä
+ action: Hallitse seuraamispyyntöjä
body: "%{name} haluaa seurata sinua"
subject: 'Odottava seuraamispyyntö: %{name}'
title: Uusi seuraamispyyntö
@@ -1468,13 +1468,13 @@ fi:
poll:
subject: Äänestys käyttäjältä %{name} on päättynyt
reblog:
- body: "%{name} tehosti viestiäsi:"
- subject: "%{name} tehosti viestiäsi"
+ body: "%{name} tehosti julkaisuasi:"
+ subject: "%{name} tehosti julkaisuasi"
title: Uusi tehostus
status:
subject: "%{name} julkaisi juuri"
update:
- subject: "%{name} muokkasi viestiä"
+ subject: "%{name} muokkasi julkaisua"
notifications:
administration_emails: Ylläpitäjän sähköposti-ilmoitukset
email_events: Sähköposti-ilmoitusten tapahtumat
@@ -1518,16 +1518,16 @@ fi:
too_many_options: ei voi sisältää enempää kuin %{max} kohdetta
preferences:
other: Muut
- posting_defaults: Viestien oletusasetukset
+ posting_defaults: Julkaisun oletusasetukset
public_timelines: Julkiset aikajanat
privacy:
- hint_html: "Määritä, kuinka haluat profiilisi ja julkaisujesi löytyvän. Mastodonissa on monia ominaisuuksia, joiden käyttöönotto voi auttaa sinua saavuttamaan laajemman yleisön. Käytä hetki aikaa tarkistaaksesi, soveltuvatko nämä vaihtoehdot tarpeisiisi."
+ hint_html: "Määritä, kuinka haluat profiilisi ja julkaisujesi löytyvän. Mastodonissa on monia ominaisuuksia, joiden käyttöönotto voi auttaa sinua tavoittamaan laajemman yleisön. Käytä hetki tarkistaaksesi, sopivatko nämä asetukset käyttöösi."
privacy: Yksityisyys
- privacy_hint_html: Määritä miten paljon muita avustavia tietoja haluat paljastaa. Käyttäjät löytävät kiinnostavia profiileja sekä hienoja sovelluksia selaillen toisten seuraamia käyttäjiä, ja näkemällä, millä sovelluksilla nämä julkaisevat. Saatat kuitenkin haluta piilottaa nämä tiedot.
+ privacy_hint_html: Määritä, kuinka paljon muita avustavia tietoja haluat paljastaa. Käyttäjät löytävät kiinnostavia profiileja ja hienoja sovelluksia, kun he selaavat toisten seuraamia käyttäjiä ja kun he näkevät, millä sovelluksilla nämä julkaisevat. Saatat kuitenkin haluta piilottaa nämä tiedot.
reach: Tavoittavuus
- reach_hint_html: Päätä, haluatko tulla uusien käyttäjien löytämäksi ja seuraamaksi. Haluatko viestiesi näkyvän Selaa-sivulla? Haluatko käyttäjien näkevän sinut heidän seuraussuosituksissaan? Haluatko hyväksyä uudet seuraajat automaattisesti vai haluatko hyväksyä jokaisen erikseen?
+ reach_hint_html: Määritä, haluatko tulla uusien käyttäjien löytämäksi ja seuraamaksi. Haluatko julkaisujesi näkyvän Selaa-sivulla? Haluatko muiden käyttäjien näkevän sinut seuraamissuosituksissaan? Haluatko hyväksyä kaikki uudet seuraajat automaattisesti vai päättää jokaisesta erikseen?
search: Haku
- search_hint_html: Määritä, kuinka haluat tulla löydetyksi. Haluatko, että ihmiset löytävät sinut julkisten julkaisujesi perusteella? Haluatko, että ihmiset Mastodonin ulkopuolella löytävät profiilisi tehdessään hakuja verkossa? Huomioithan, ettei täyttä poisjättäytymistä kaikista hakukoneista voida taata julkisille tiedoille.
+ search_hint_html: Määritä, kuinka haluat tulla löydetyksi. Haluatko, että ihmiset löytävät sinut julkisten julkaisujesi perusteella? Haluatko, että ihmiset Mastodonin ulkopuolella löytävät profiilisi tehdessään hakuja verkossa? Otathan huomioon, ettei julkisten tietojen täyttä kaikista hakukoneista poisjäämistä voi taata.
title: Yksityisyys ja tavoittavuus
privacy_policy:
title: Tietosuojakäytäntö
@@ -1564,12 +1564,12 @@ fi:
rss:
content_warning: 'Sisältövaroitus:'
descriptions:
- account: Julkiset viestit lähettäjältä @%{acct}
- tag: 'Julkiset viestit merkitty #%{hashtag}'
+ account: Julkiset julkaisut tililtä @%{acct}
+ tag: 'Julkiset julkaisut aihetunnisteella #%{hashtag}'
scheduled_statuses:
- over_daily_limit: Olet ylittänyt %{limit} ajoitetun viestin rajan tälle päivälle
- over_total_limit: Olet ylittänyt %{limit} ajoitetun viestin rajan
- too_soon: Ajoitetun päivämäärän on oltava tulevaisuudessa
+ over_daily_limit: Olet ylittänyt %{limit} ajoitetun julkaisun rajan tälle päivälle
+ over_total_limit: Olet ylittänyt %{limit} ajoitetun julkaisun rajan
+ too_soon: Ajoitetun päiväyksen pitää olla tulevaisuudessa
sessions:
activity: Viimeisin toiminta
browser: Selain
@@ -1623,19 +1623,19 @@ fi:
authorized_apps: Valtuutetut sovellukset
back: Takaisin Mastodoniin
delete: Tilin poisto
- development: Kehittäminen
+ development: Kehitys
edit_profile: Muokkaa profiilia
export: Vie tietoja
- featured_tags: Esitellyt aihetunnisteet
+ featured_tags: Esiteltävät aihetunnisteet
import: Tuo
- import_and_export: Tuo ja vie
+ import_and_export: Tuonti ja vienti
migrate: Tilin muutto muualle
notifications: Ilmoitukset
preferences: Ominaisuudet
- profile: Profiili
- relationships: Seurattavat ja seuraajat
- statuses_cleanup: Automaattinen viestin poisto
- strikes: Valvojan varoitukset
+ profile: Julkinen profiili
+ relationships: Seuratut ja seuraajat
+ statuses_cleanup: Autom. julkaisujen poisto
+ strikes: Valvontavaroitukset
two_factor_authentication: Kaksivaiheinen todentaminen
webauthn_authentication: Suojausavaimet
statuses:
@@ -1650,21 +1650,21 @@ fi:
video:
one: "%{count} video"
other: "%{count} videota"
- boosted_from_html: Tehostus lähteestä %{acct_link}
+ boosted_from_html: Tehosti lähteestä %{acct_link}
content_warning: 'Sisältövaroitus: %{warning}'
default_language: Sama kuin käyttöliittymän kieli
disallowed_hashtags:
- one: 'sisälsi aihetunnisteen jota ei sallita: %{tags}'
- other: 'sisälsi aihetunnisteet joita ei sallita: %{tags}'
+ one: 'sisälsi kielletyn aihetunnisteen: %{tags}'
+ other: 'sisälsi kiellettyjä aihetunnisteita: %{tags}'
edited_at_html: Muokattu %{date}
errors:
- in_reply_not_found: Viesti, johon yrität vastata, ei näytä olevan olemassa.
+ in_reply_not_found: Julkaisua, johon yrität vastata, ei näytä olevan olemassa.
open_in_web: Avaa selaimessa
over_character_limit: merkkimäärän rajoitus %{max} ylitetty
pin_errors:
- direct: Viestejä, jotka ovat näkyvissä vain mainituille käyttäjille, ei voi kiinnittää
- limit: Olet jo kiinnittänyt suurimman mahdollisen määrän viestejä
- ownership: Muiden viestejä ei voi kiinnittää
+ direct: Vain mainituille käyttäjille näkyviä julkaisuja ei voi kiinnittää
+ limit: Olet jo kiinnittänyt enimmäismäärän julkaisuja
+ ownership: Muiden julkaisuja ei voi kiinnittää
reblog: Tehostusta ei voi kiinnittää
poll:
total_people:
@@ -1685,29 +1685,29 @@ fi:
private_long: Näytä vain seuraajille
public: Julkinen
public_long: Kaikki voivat nähdä
- unlisted: Listaamaton julkinen
+ unlisted: Listaamaton
unlisted_long: Kaikki voivat nähdä, mutta ei näytetä julkisilla aikajanoilla
statuses_cleanup:
- enabled: Poista vanhat viestit automaattisesti
- enabled_hint: Poistaa viestit automaattisesti, kun ne saavuttavat tietyn ikärajan, elleivät ne täsmää yhtä alla olevista poikkeuksista
+ enabled: Poista vanhat julkaisut automaattisesti
+ enabled_hint: Poistaa julkaisusi automaattisesti, kun ne saavuttavat valitun ikärajan, ellei jokin alla olevista poikkeuksista tule kyseeseen
exceptions: Poikkeukset
- explanation: Koska viestien poistaminen on kallista toimintaa, sitä tehdään hitaasti ajan mittaan, kun palvelin ei ole muutoin kiireinen. Viestejäsi voidaankin siis poistaa myös viiveellä verrattuna niille määrittämääsi aikarajaan.
+ explanation: Koska julkaisujen poistaminen on raskas toimi, se tapahtuu hitaasti ajan mittaan, kun palvelin ei ole muutoin ruuhkainen. Siksi viestejäsi voi poistua vasta tovi sen jälkeen, kun ne ovat saavuttaneet ikärajan.
ignore_favs: Ohita suosikit
ignore_reblogs: Ohita tehostukset
interaction_exceptions: Poikkeukset, jotka perustuvat vuorovaikutukseen
- interaction_exceptions_explanation: Huomaa, että ei ole takeita viestien poistamiselle, jos ne alittavat suosikki- tai tehostusrajan sen jälkeen, kun ne on kerran ylitetty.
+ interaction_exceptions_explanation: Huomaa, ettei julkaisujen poistumisesta ole varmuutta, jos ne alittavat suosikki- tai tehostusrajan sen jälkeen kun ne on kerran ylitetty.
keep_direct: Säilytä yksityisviestit
- keep_direct_hint: Ei poista mitään sinun suoria viestejä
- keep_media: Säilytä viestit, joissa on liitetiedostoja
- keep_media_hint: Ei poista viestejä, joissa on liitteitä
- keep_pinned: Pidä kiinnitettyt viestit
- keep_pinned_hint: Ei poista mitään kiinnitettyä viestiä
+ keep_direct_hint: Ei poista yksityisviestejäsi
+ keep_media: Säilytä julkaisut, joissa on medialiitteitä
+ keep_media_hint: Ei poista julkaisujasi, joissa on medialiitteitä
+ keep_pinned: Säilytä kiinnitetyt julkaisut
+ keep_pinned_hint: Ei poista kiinnitettyjä julkaisujasi
keep_polls: Säilytä äänestykset
keep_polls_hint: Ei poista yhtäkään äänestystä
- keep_self_bookmark: Säilytä kirjanmerkkeihin lisäämäsi viestit
- keep_self_bookmark_hint: Ei poista viestejäsi, jos olet lisännyt ne kirjanmerkkeihin
- keep_self_fav: Säilyttää viestit suosikeissa
- keep_self_fav_hint: Ei poista omia viestejäsi, jos olet lisännyt ne suosikkeihin
+ keep_self_bookmark: Säilytä kirjanmerkkeihin lisäämäsi julkaisut
+ keep_self_bookmark_hint: Ei poista julkaisujasi, jos olet lisännyt ne kirjanmerkkeihin
+ keep_self_fav: Säilytä suosikkeihin lisäämäsi julkaisut
+ keep_self_fav_hint: Ei poista julkaisujasi, jos olet lisännyt ne suosikkeihin
min_age:
'1209600': 2 viikkoa
'15778476': 6 kuukautta
@@ -1718,12 +1718,12 @@ fi:
'63113904': 2 vuotta
'7889238': 3 kuukautta
min_age_label: Ikäraja
- min_favs: Pidä viestit suosikeissa vähintään
- min_favs_hint: Toiminto ei poista julkaisujasi, joista on tykätty vähintään tässä kohtaa määritellyn monesti. Jätä kenttä tyhjäksi, jos haluat poistaa julkaisut tykkäyksistä huolimatta
- min_reblogs: Pidä viestit tehostettuna vähintään
- min_reblogs_hint: Ei poista yhtään viestiäsi, jota on tehostettu vähintään näin monta kertaa. Jätä tyhjäksi poistaaksesi viestejä riippumatta niiden tehosteiden määrästä
+ min_favs: Säilytä julkaisut, joilla on suosikiksi lisäyksiä vähintään
+ min_favs_hint: Ei poista julkaisujasi, joita on lisätty suosikeihin vähintään näin monta kertaa. Jätä tyhjäksi, jos haluat poistaa julkaisuja riippumatta suosikkeihin lisäysmääristä
+ min_reblogs: Säilytä julkaisut, joilla on tehostuksia vähintään
+ min_reblogs_hint: Ei poista julkaisujasi, joita on tehostettu vähintään näin monta kertaa. Jätä tyhjäksi, jos haluat poistaa julkaisuja riippumatta niiden tehostusten määrästä
stream_entries:
- sensitive_content: Arkaluontoista sisältöä
+ sensitive_content: Arkaluonteista sisältöä
strikes:
errors:
too_late: On liian myöhäistä vedota tähän varoitukseen
@@ -1786,38 +1786,38 @@ fi:
spam: Roskaposti
violation: Sisältö rikkoo seuraavia yhteisön sääntöjä
explanation:
- delete_statuses: Joitakin viesteistäsi on havaittu rikkovan yhtä tai useampaa yhteisön sääntöä ja instanssin %{instance} valvojat ovat poistaneet ne.
+ delete_statuses: Joidenkin julkaisuistasi on havaittu rikkovan ainakin yhtä yhteisön sääntöä, ja instanssin %{instance} valvojat ovat poistaneet ne.
disable: Et voi enää käyttää tiliäsi, mutta profiilisi ja muut tiedot pysyvät muuttumattomina. Voit pyytää varmuuskopiota tiedoistasi, vaihtaa tilin asetuksia tai poistaa tilisi.
- mark_statuses_as_sensitive: Instanssin %{instance} valvojat ovat merkinneet osan julkaisuistasi arkaluonteisiksi. Tämä tarkoittaa sitä, että ihmisten täytyy napauttaa viestiä ennen kuin esikatselu näytetään. Voit merkitä median itse arkaluonteiseksi kun julkaiset tulevaisuudessa.
+ mark_statuses_as_sensitive: Palvelimen %{instance} valvojat ovat merkinneet osan julkaisuistasi arkaluonteisiksi. Tämä tarkoittaa sitä, että ihmisten täytyy napauttaa mediaa ennen kuin sen esikatselu näytetään. Voit merkitä median itse arkaluonteiseksi, kun julkaiset tulevaisuudessa.
sensitive: Tästä lähtien kaikki ladatut mediatiedostot merkitään arkaluonteisiksi ja piilotetaan napsautusvaroituksen taakse.
- silence: Voit edelleen käyttää tiliäsi, mutta vain sinua jo seuraavat ihmiset näkevät viestisi tällä palvelimella ja sinut voidaan sulkea pois erilaisista hakuominaisuuksista. Toiset voivat kuitenkin edelleen seurata sinua manuaalisesti.
- suspend: Et voi enää käyttää tiliäsi ja profiilisi ja muut tiedot eivät ole enää käytettävissä. Voit silti kirjautua sisään pyytääksesi varmuuskopiota tiedoistasi, kunnes tiedot on poistettu kokonaan noin 30 päivän kuluttua. Säilytämme joitakin perustietoja, jotka estävät sinua kiertämästä keskeyttämistä.
+ silence: Voit edelleen käyttää tiliäsi, mutta vain sinua jo seuraavat käyttäjät näkevät julkaisusi tällä palvelimella ja sinut voidaan sulkea pois eri löytämisominaisuuksista. Toiset voivat kuitenkin edelleen seurata sinua manuaalisesti.
+ suspend: Et voi enää käyttää tiliäsi, eivätkä profiilisi ja muut tiedot ole enää käytettävissä. Voit silti kirjautua sisään pyytääksesi tietojesi varmuuskopiota, kunnes tiedot on poistettu kokonaan noin 30 päivän kuluttua. Säilytämme kuitenkin joitain perustietoja, jotka estävät sinua kiertämästä jäädytystä.
reason: 'Syy:'
- statuses: 'Viestejä lainattu:'
+ statuses: 'Julkaisuja lainattu:'
subject:
- delete_statuses: Viestisi %{acct} on poistettu
+ delete_statuses: Julkaisusi tilillä %{acct} on poistettu
disable: Tilisi %{acct} on jäädytetty
- mark_statuses_as_sensitive: Viestisi %{acct} on merkitty arkaluonteisiksi
+ mark_statuses_as_sensitive: Julkaisusi tilillä %{acct} on merkitty arkaluonteisiksi
none: Varoitus %{acct}
- sensitive: Sinun viestisi %{acct} merkitään arkaluonteisiksi tästä lähtien
- silence: Tilisi %{acct} on rajoitettu
+ sensitive: Julkaisusi tilillä %{acct} merkitään arkaluonteisiksi tästä lähtien
+ silence: Tiliäsi %{acct} on rajoitettu
suspend: Tilisi %{acct} on jäädytetty
title:
- delete_statuses: Viestit poistettu
+ delete_statuses: Julkaisut poistettu
disable: Tili jäädytetty
- mark_statuses_as_sensitive: Viestit on merkitty arkaluonteisiksi
+ mark_statuses_as_sensitive: Julkaisut merkitty arkaluonteisiksi
none: Varoitus
sensitive: Tili on merkitty arkaluonteiseksi
- silence: Rajoitettu tili
- suspend: Tilin käyttäminen jäädytetty
+ silence: Tiliä rajoitettu
+ suspend: Tili jäädytetty
welcome:
edit_profile_action: Määritä profiili
edit_profile_step: Voit mukauttaa profiiliasi mm. profiilikuvalla ja uudella näyttönimellä. Voit myös valita haluatko tarkastaa ja hyväksyä uudet seuraajat itse.
explanation: Näillä vinkeillä pääset alkuun
final_action: Ala julkaista
- final_step: 'Aloita julkaiseminen! Vaikkei sinulla ole seuraajia, voivat muut nähdä julkiset julkaisusi esimerkiksi paikallisella aikajanalla ja aihetunnisteilla. Kannattaa myös esittäytyä käyttämällä aihetunnistetta #introductions.'
+ final_step: 'Ala julkaista! Vaikkei sinulla olisi seuraajia, voivat muut nähdä julkisia julkaisujasi esimerkiksi paikallisella aikajanalla tai aihetunnisteissa. Kannattaa myös esitellä itsensä aihetunnisteella #esittely.'
full_handle: Koko käyttäjätunnuksesi
- full_handle_hint: Kerro tämä kavereillesi, niin he voivat lähettää sinulle viestejä tai löytää sinut muiden palvelimien kautta.
+ full_handle_hint: Kerro tämä kavereillesi, niin he voivat lähettää sinulle viestejä tai seurata sinua toiselta palvelimelta.
subject: Tervetuloa Mastodoniin
title: Tervetuloa mukaan, %{name}!
users:
diff --git a/config/locales/hy.yml b/config/locales/hy.yml
index f32fe33ab7..f3a6392ff0 100644
--- a/config/locales/hy.yml
+++ b/config/locales/hy.yml
@@ -463,20 +463,40 @@ hy:
regenerate_token: Ստեղծել նոր հասանելիութեան կտրոն
your_token: Քո մուտքի բանալին
auth:
+ apply_for_account: Ուղարկել
delete_account: Ջնջել հաշիվը
description:
prefix_sign_up: Գրանցուի՛ր Մաստոդոնում հենց այսօր
+ didnt_get_confirmation: Չե՞ս ստացել հաստատման յղում
dont_have_your_security_key: Չունե՞ս անվտանգութեան բանալի։
forgot_password: Մոռացե՞լ ես գաղտնաբառդ
login: Մտնել
logout: Դուրս գալ
migrate_account: Տեղափոխուել այլ հաշիւ
or_log_in_with: Կամ մուտք գործել օգտագործելով՝
+ privacy_policy_agreement_html: Ես կարդացել եւ ընդունել եմ գաղնիութեան քաղաքականութիւնը
+ progress:
+ confirm: Փոստի հաստատում
+ details: Ձեր տուեալները
+ review: Վաւերացում
+ rules: Ընդունել կանոները
register: Գրանցվել
registration_closed: "%{instance}ը չի ընդունում նոր անդամներ"
reset_password: Վերականգնել գաղտանաբառը
+ rules:
+ accept: Հաստատել
+ back: Վերադառնալ
+ preamble: Կանոնները սահմանում եւ կիրառում են %{domain}-ի մոդերատորները։
+ title: Մի քանի հիմանական կանոններ։
security: Անվտանգություն
set_new_password: Սահմանել նոր գաղտնաբառ
+ sign_in:
+ preamble_html: Մուտքագրէք %{domain}-ի ձեր տուեալները։ Եթե ձեր հաշիւը ուրիշ սպասարկիչի վրայ է, այտեղ մտնել չի ստացուի։
+ title: Մտնել %{domain}
+ sign_up:
+ manual_review: Գրանցումները %{domain}-ում վաւերացնում են մոդերատորնրը։ Մեզ օգնելու համար մի փոքր պատմէք ձեր մասին եւ թե ինչու էք ուզում գրանցուել։
+ preamble: Այս հանգոյցում հաշիւ ունենալով դուք կարող էք հերտեւել դաշնեզերքի ցանկացած օգտատիրոջ, անկախ նրանից թե որտեղ է նրա հաշիւը տեղակայուած։
+ title: Ստեղծի՜ր հաշիւ %{domain}-ում
status:
account_status: Հաշուի կարգավիճակ
pending: Դիմումը պէտք է քննուի մեր անձնակազմի կողմից, ինչը կարող է մի փոքր ժամանակ խլել։ Դիմումի հաստատուելու դէպքում, կտեղեկացնենք նամակով։
@@ -685,6 +705,8 @@ hy:
other: Այլ
posting_defaults: Կանխադիր կարգաւորումներ
public_timelines: Հանրային հոսք
+ privacy:
+ search: Որոնել
privacy_policy:
title: Գաղտնիութեան քաղաքականութիւն
reactions:
diff --git a/config/locales/ko.yml b/config/locales/ko.yml
index da6d8596e0..cc3fd07c49 100644
--- a/config/locales/ko.yml
+++ b/config/locales/ko.yml
@@ -269,7 +269,7 @@ ko:
reopen_report_html: "%{name} 님이 신고 %{target}을 다시 열었습니다"
resend_user_html: "%{name} 님이 %{target} 님에 대한 확인 메일을 다시 보냈습니다"
reset_password_user_html: "%{name} 님이 사용자 %{target}의 암호를 초기화했습니다"
- resolve_report_html: "%{name} 중재자가 %{target}번 신고를 해결로 변경하였습니다"
+ resolve_report_html: "%{name} 님이 %{target}번 신고를 해결로 변경하였습니다"
sensitive_account_html: "%{name} 님이 %{target}의 미디어를 민감함으로 표시했습니다"
silence_account_html: "%{name} 님이 %{target}의 계정을 제한시켰습니다"
suspend_account_html: "%{name} 님이 %{target}의 계정을 정지시켰습니다"
diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml
index 12af55af62..f0c18d1128 100644
--- a/config/locales/simple_form.en-GB.yml
+++ b/config/locales/simple_form.en-GB.yml
@@ -330,5 +330,5 @@ en-GB:
text: required
title:
sessions:
- webauthn: Use one of your security keys to sign in
+ webauthn: Use one of your security keys to log in
'yes': 'Yes'
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index cc2f1141d9..db82edba24 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -3,13 +3,13 @@ fi:
simple_form:
hints:
account:
- discoverable: Julkisia viestejäsi ja profiiliasi voidaan pitää esillä tai suositella Mastodonin eri alueilla, ja profiiliasi voidaan myös ehdottaa suoraan toisille käyttäjille.
+ discoverable: Julkisia viestejäsi ja profiiliasi voidaan pitää esillä tai suositella Mastodonin eri alueilla ja profiiliasi voidaan ehdottaa toisille käyttäjille.
display_name: Koko nimesi tai lempinimesi.
- fields: Kotisivusi, pronominit, ikä, mitä ikinä haluatkin.
- indexable: Julkiset viestit voivat näkyä hakutuloksissa Mastodonissa. Ihmiset, jotka ovat olleet vuorovaikutuksessa viestiesi kanssa, voivat etsiä niitä siitä riippumatta.
+ fields: Kotisivusi, pronominit, ikä, mitä ikinä haluat.
+ indexable: Julkiset julkaisusi voivat näkyä hakutuloksissa Mastodonissa. Ihmiset, jotka ovat olleet vuorovaikutuksessa julkaisujesi kanssa, voivat etsiä niitä asetuksesta riippumatta.
note: 'Voit @mainita muita käyttäjiä tai #aihetunnisteita.'
- show_collections: Käyttäjät eivät näe ketä seuraat ja ketkä seuraavat sinua. Käyttäjät, joita sinä seuraat, näkevät kuitenkin sinun seuraavan heitä.
- unlocked: Käyttäjät voivat seurata sinua pyytämättä hyväksyntää. Poista valinta, jos haluat tarkistaa ja hyväksyä tai hylätä vastaanottamasi seurantapyynnöt.
+ show_collections: Käyttäjät voivat selata seurattujasi ja seuraajiasi. Käyttäjät, joita seuraat, näkevät joka tapauksessa, että seuraat heitä.
+ unlocked: Käyttäjät voivat seurata sinua pyytämättä hyväksyntää. Poista valinta, jos haluat tarkistaa ja hyväksyä tai hylätä vastaanottamasi seuraamispyynnöt.
account_alias:
acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus, josta haluat siirtyä
account_migration:
@@ -18,7 +18,7 @@ fi:
text: Voit käyttää julkaisun syntaksia, kuten URL-osoitteita, aihetunnisteita ja mainintoja
title: Valinnainen. Ei näy vastaanottajalle
admin_account_action:
- include_statuses: Käyttäjä näkee mitkä viestit johtivat toimenpiteeseen tai varoitukseen
+ include_statuses: Käyttäjä näkee, mitkä julkaisut johtivat valvontatoimeen tai varoitukseen
send_email_notification: Käyttäjä saa selvityksen siitä, mitä hänen tililleen tapahtui
text_html: Valinnainen. Voit käyttää julkaisun syntaksia. Voit lisätä varoitusasetuksia säästääksesi aikaa
type_html: Valitse mitä teet käyttäjälle %{acct}
@@ -31,10 +31,10 @@ fi:
warning_preset_id: Valinnainen. Voit silti lisätä mukautetun tekstin esiasetuksen loppuun
announcement:
all_day: Kun valittu, vain valittu aikaväli näytetään
- ends_at: Valinnainen. Ilmoitus tullaan poistamaan automaattisesti tällä hetkellä
- scheduled_at: Jätä tyhjäksi julkaistaksesi ilmoituksen välittömästi
- starts_at: Valinnainen. Jos ilmoituksesi on sidottu tiettyyn aikaväliin
- text: Voit käyttää julkaisun syntaksia. Muista, kuinka paljon tilaa ilmoitus vie käyttäjän näytöltä
+ ends_at: Valinnainen. Tiedote poistetaan automaattisesti tällä hetkellä
+ scheduled_at: Jätä tyhjäksi julkaistaksesi tiedotteen heti
+ starts_at: Valinnainen. Jos tiedotteesi on sidottu tiettyyn aikaväliin
+ text: Voit käyttää julkaisun syntaksia. Ota huomioon, kuinka paljon tilaa tiedote vie käyttäjän näytöltä
appeal:
text: Voit valittaa varoituksesta vain kerran
defaults:
@@ -51,14 +51,14 @@ fi:
irreversible: Suodatetut julkaisut katoavat lopullisesti, vaikka suodatin poistettaisiin myöhemmin
locale: Käyttöliittymän, sähköpostien ja ilmoitusten kieli
password: Käytä vähintään 8 merkkiä
- phrase: Täytetään riippumatta julkaisun kirjainkoon tai sisällön varoituksesta
+ phrase: Täsmää riippumatta tekstin aakkoslajista tai julkaisun sisältövaroituksesta
scopes: Mihin sovellusliittymiin sovellus pääsee käsiksi. Jos valitset ylätason laajuuden, sinun ei tarvitse valita yksittäisiä.
- setting_aggregate_reblogs: Älä näytä uusia tehosteita viesteille, joita on äskettäin tehostettu (koskee vain äskettäin saatuja tehosteita)
+ setting_aggregate_reblogs: Älä näytä uusia tehostuksia julkaisuille, joita on äskettäin tehostettu (koskee vain juuri vastaanotettuja tehostuksia)
setting_always_send_emails: Yleensä sähköposti-ilmoituksia ei lähetetä, kun käytät aktiivisesti Mastodonia
setting_default_sensitive: Arkaluontoinen media on oletuksena piilotettu ja se voidaan näyttää yhdellä napsautuksella
setting_display_media_default: Piilota arkaluonteiseksi merkitty media
- setting_display_media_hide_all: Piilota aina kaikki media
- setting_display_media_show_all: Näytä aina arkaluonteiseksi merkitty media
+ setting_display_media_hide_all: Piilota media aina
+ setting_display_media_show_all: Näytä media aina
setting_use_blurhash: Liukuvärit perustuvat piilotettujen kuvien väreihin, mutta sumentavat yksityiskohdat
setting_use_pending_items: Piilota aikajanan päivitykset napsautuksen taakse syötteen automaattisen vierityksen sijaan
username: Voit käyttää kirjaimia, numeroita ja alaviivoja
@@ -74,7 +74,7 @@ fi:
action: Valitse, mikä toiminto suoritetaan, kun viesti vastaa suodatinta
actions:
hide: Piilota suodatettu sisältö kokonaan ja käyttäydy ikään kuin sitä ei olisi olemassa
- warn: Piilota suodatettu sisältö varoituksen taakse, jossa mainitaan suodattimen otsikko
+ warn: Piilota suodatettu sisältö varoituksen taakse, jossa mainitaan suodattimen nimi
form_admin_settings:
activity_api_enabled: Paikallisesti julkaistujen julkaisujen, aktiivisten käyttäjien ja rekisteröitymisten viikoittainen määrä
backups_retention_period: Säilytä luodut arkistot määritetyn määrän päiviä.
@@ -84,7 +84,7 @@ fi:
custom_css: Voit käyttää mukautettuja tyylejä Mastodonin verkkoversiossa.
mascot: Ohittaa kuvituksen edistyneessä käyttöliittymässä.
media_cache_retention_period: Ladatut mediatiedostot poistetaan määritetyn määrän päiviä jälkeen, kun arvo on positiivinen ja ladataan uudelleen pyynnöstä.
- peers_api_enabled: Lista verkkotunnuksista, joita tämä palvelin on kohdannut fediversessä. Täällä ei ole tietoja siitä, oletko liitossa tiettyjen palvelinten kanssa, vaan ainoastaan luettelo niistä verkkotunnuksista, joista palvelimesi on ylipäätään tietoinen. Tätä tietoa käytetään palveluissa, jotka keräävät liittotilastoja laajassa merkityksessä.
+ peers_api_enabled: Luettelo verkkotunnuksista, jotka tämä palvelin on kohdannut fediversumissa. Se ei kerro, oletko liitossa tietyn palvelimen kanssa, vaan että palvelimesi on ylipäätään tietoinen siitä. Tätä tietoa käytetään palveluissa, jotka keräävät tilastoja liittoutumisesta yleisellä tasolla.
profile_directory: Profiilihakemisto lueteloi kaikki käyttäjät, jotka ovat ilmoittaneet olevansa löydettävissä.
require_invite_text: Kun kirjautuminen vaatii manuaalisen hyväksynnän, tee ”Miksi haluat liittyä?” teksti syötetään pakolliseksi eikä vapaaehtoiseksi
site_contact_email: Kuinka ihmiset voivat tavoittaa sinut oikeudellisissa tai tukikysymyksissä.
@@ -103,7 +103,7 @@ fi:
form_challenge:
current_password: Olet menossa suojatulle alueelle
imports:
- data: Toisesta Mastodon-instanssista tuotu CSV-tiedosto
+ data: Toiselta Mastodon-palvelimelta tuotu CSV-tiedosto
invite_request:
text: Tämä auttaa meitä arvioimaan hakemustasi
ip_block:
@@ -122,7 +122,7 @@ fi:
webauthn: Jos kyseessä on USB-avain, muista laittaa se paikalleen ja tarvittaessa napauttaa sitä.
settings:
indexable: Profiilisi voi näkyä Googlen, Bingin ja muiden hakukoneiden hakutuloksissa.
- show_application: Voit siitä huolimatta aina nähdä, millä sovelluksella julkaisusi laadittiin.
+ show_application: Voit silti aina nähdä, mistä sovelluksesta julkaisusi lähetettiin.
tag:
name: Voit muuttaa esimerkiksi kirjaimia paremmin luettavaksi
user:
@@ -140,11 +140,11 @@ fi:
url: Mihin tapahtumat lähetetään
labels:
account:
- discoverable: Sisällytä profiili ja julkaisut etsintäalgoritmeihin
+ discoverable: Nosta profiili ja julkaisut esille löytämisalgoritmeissa
fields:
name: Nimike
value: Sisältö
- indexable: Sisällytä julkiset viestit hakutuloksiin
+ indexable: Sisällytä julkiset julkaisut hakutuloksiin
show_collections: Näytä seuratut ja seuraajat profiilissa
unlocked: Hyväksy uudet seuraajat automaattisesti
account_alias:
@@ -169,9 +169,9 @@ fi:
announcement:
all_day: Koko päivän kestävä tapahtuma
ends_at: Tapahtuman loppu
- scheduled_at: Ajasta julkaisu
+ scheduled_at: Ajoita julkaisu
starts_at: Tapahtuman alku
- text: Ilmoitus
+ text: Tiedote
appeal:
text: Perustele, miksi tämä päätös olisi kumottava
defaults:
@@ -184,18 +184,18 @@ fi:
context: Suodata konteksteista
current_password: Nykyinen salasana
data: Tiedot
- display_name: Nimimerkki
+ display_name: Näyttönimi
email: Sähköpostiosoite
expires_in: Vanhenee
- fields: Profiilin metadata
- header: Otsakekuva
+ fields: Lisäkentät
+ header: Otsikkokuva
honeypot: "%{label} (älä täytä)"
inbox_url: Välittäjän postilaatikon URL-osoite
irreversible: Pudota piilottamisen sijaan
locale: Kieli
max_uses: Käyttökertoja enintään
new_password: Uusi salasana
- note: Kuvaus
+ note: Elämäkerta
otp_attempt: Kaksivaiheisen tunnistuksen koodi
password: Salasana
phrase: Avainsana tai lause
@@ -203,29 +203,29 @@ fi:
setting_aggregate_reblogs: Ryhmitä tehostukset aikajanalla
setting_always_send_emails: Lähetä aina sähköposti-ilmoituksia
setting_auto_play_gif: Toista GIF-animaatiot automaattisesti
- setting_boost_modal: Kysy vahvistus ennen tehostusta
+ setting_boost_modal: Kysy vahvistusta ennen tehostusta
setting_default_language: Viestien kieli
setting_default_privacy: Viestin näkyvyys
setting_default_sensitive: Merkitse media aina arkaluontoiseksi
- setting_delete_modal: Kysy vahvistusta ennen viestin poistamista
+ setting_delete_modal: Kysy vahvistusta ennen julkaisun poistamista
setting_disable_swiping: Poista pyyhkäisyt käytöstä
setting_display_media: Median näyttäminen
setting_display_media_default: Oletus
setting_display_media_hide_all: Piilota kaikki
setting_display_media_show_all: Näytä kaikki
- setting_expand_spoilers: Laajenna aina sisältövaroituksilla merkityt viestit
+ setting_expand_spoilers: Laajenna aina sisältövaroituksilla merkityt julkaisut
setting_hide_network: Piilota verkkosi
setting_reduce_motion: Vähennä animaatioiden liikettä
setting_system_font_ui: Käytä järjestelmän oletusfonttia
setting_theme: Sivuston teema
setting_trends: Näytä päivän trendit
- setting_unfollow_modal: Kysy vahvistusta, ennen kuin lopetat seuraamisen
+ setting_unfollow_modal: Kysy vahvistusta ennen seuraamisen lopettamista
setting_use_blurhash: Näytä värikkäät liukuvärit piilotetulle medialle
- setting_use_pending_items: Hidastila
+ setting_use_pending_items: Hidas tila
severity: Vakavuus
sign_in_token_attempt: Turvakoodi
title: Otsikko
- type: Tietojen laji
+ type: Tuontilaji
username: Käyttäjänimi
username_or_email: Käyttäjänimi tai sähköposti
whole_word: Koko sana
@@ -289,7 +289,7 @@ fi:
follow_request: Lähetä sähköposti, kun joku pyytää seurata sinua
mention: Lähetä sähköposti, kun sinut mainitaan
pending_account: Uusi tili tarvitsee tarkastusta
- reblog: Lähetä sähköposti, kun joku tehosti viestiäsi
+ reblog: Joku tehosti julkaisuasi
report: Uusi raportti on lähetetty
software_updates:
all: Ilmoita kaikista päivityksistä
@@ -302,7 +302,7 @@ fi:
text: Sääntö
settings:
indexable: Sisällytä profiilisivu hakukoneisiin
- show_application: Näytä, mistä sovelluksesta lähetit viestin
+ show_application: Näytä, mistä sovelluksesta lähetit julkaisun
tag:
listable: Salli tämän aihetunnisteen näkyä hauissa ja ehdotuksissa
name: Aihetunniste
diff --git a/config/locales/simple_form.hy.yml b/config/locales/simple_form.hy.yml
index d2fab9e048..56aa1d66b1 100644
--- a/config/locales/simple_form.hy.yml
+++ b/config/locales/simple_form.hy.yml
@@ -44,6 +44,7 @@ hy:
setting_display_media_show_all: Մեդիա միշտ ցոյց տալ
setting_use_blurhash: Կտորները հիմնուում են թաքցուած վիզուալի վրայ՝ խամրեցնելով դետալները
setting_use_pending_items: Թաքցնել հոսքի թարմացումները կտտոի ետեւում՝ աւտօմատ թարմացուող հոսքի փոխարէն
+ username: Միայն լատինատառեր, թուեր եւ տակի գծիկ
whole_word: Եթէ բանալի բառը կամ արտայայտութիւնը պարունակում է միայն այբբենական նիշեր եւ թուեր, ապա այն կիրառուելու է ամբողջ բառի հետ համընկնելու դէպքում միայն
domain_allow:
domain: Այս տիրոյթը կարող է ստանալ տուեալներ այս սպասարկչից եւ ստացուող տուեալները կարող են օգտագործուել եւ պահուել
From f0c720cfc9622ebb331f5d923cee8f1c71654698 Mon Sep 17 00:00:00 2001
From: Claire
Date: Thu, 28 Sep 2023 13:40:43 +0200
Subject: [PATCH 08/73] Bump version to v4.3.0-alpha.0 (#27022)
---
lib/mastodon/version.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index 46c07596d1..587e89303b 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -9,7 +9,7 @@ module Mastodon
end
def minor
- 2
+ 3
end
def patch
@@ -17,7 +17,7 @@ module Mastodon
end
def default_prerelease
- ''
+ 'alpha.0'
end
def prerelease
From 686406cc2deeb6a1fa61dadc45b02349ce1853e4 Mon Sep 17 00:00:00 2001
From: Claire
Date: Thu, 28 Sep 2023 13:41:24 +0200
Subject: [PATCH 09/73] Fix filtering audit log for entries about disabling 2FA
(#27186)
---
app/models/admin/action_log_filter.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/models/admin/action_log_filter.rb b/app/models/admin/action_log_filter.rb
index f89d452ef4..0117974628 100644
--- a/app/models/admin/action_log_filter.rb
+++ b/app/models/admin/action_log_filter.rb
@@ -38,7 +38,7 @@ class Admin::ActionLogFilter
destroy_status: { target_type: 'Status', action: 'destroy' }.freeze,
destroy_user_role: { target_type: 'UserRole', action: 'destroy' }.freeze,
destroy_canonical_email_block: { target_type: 'CanonicalEmailBlock', action: 'destroy' }.freeze,
- disable_2fa_user: { target_type: 'User', action: 'disable' }.freeze,
+ disable_2fa_user: { target_type: 'User', action: 'disable_2fa' }.freeze,
disable_custom_emoji: { target_type: 'CustomEmoji', action: 'disable' }.freeze,
disable_user: { target_type: 'User', action: 'disable' }.freeze,
enable_custom_emoji: { target_type: 'CustomEmoji', action: 'enable' }.freeze,
From 1da3c588ca19d66df1871d6616bde32192eed4b5 Mon Sep 17 00:00:00 2001
From: Claire
Date: Thu, 28 Sep 2023 15:29:07 +0200
Subject: [PATCH 10/73] Fix link handling of mentions in user profiles when
logged out (#27185)
---
app/javascript/mastodon/actions/search.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/app/javascript/mastodon/actions/search.js b/app/javascript/mastodon/actions/search.js
index 7aea346e6d..38a089b486 100644
--- a/app/javascript/mastodon/actions/search.js
+++ b/app/javascript/mastodon/actions/search.js
@@ -147,6 +147,10 @@ export const openURL = (value, history, onFailure) => (dispatch, getState) => {
const signedIn = !!getState().getIn(['meta', 'me']);
if (!signedIn) {
+ if (onFailure) {
+ onFailure();
+ }
+
return;
}
From e6b903b21e0682c1156ffec583ac2836fda7d657 Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 09:40:28 -0400
Subject: [PATCH 11/73] Fix haml-lint `InstanceVariables` rule for
invites/_form (#26064)
---
.haml-lint_todo.yml | 11 ++++-------
app/helpers/invites_helper.rb | 11 +++++++++++
app/views/admin/invites/index.html.haml | 3 ++-
app/views/invites/_form.html.haml | 21 ++++++++++-----------
app/views/invites/index.html.haml | 3 ++-
5 files changed, 29 insertions(+), 20 deletions(-)
create mode 100644 app/helpers/invites_helper.rb
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index 6d2aa0641f..e8791e05ca 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -1,13 +1,13 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
-# on 2023-07-20 09:47:50 -0400 using Haml-Lint version 0.48.0.
+# on 2023-08-28 13:08:37 -0400 using Haml-Lint version 0.50.0.
# The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of Haml-Lint, may require this file to be generated again.
linters:
- # Offense count: 951
+ # Offense count: 945
LineLength:
enabled: false
@@ -26,7 +26,7 @@ linters:
- 'app/views/admin/reports/show.html.haml'
- 'app/views/disputes/strikes/show.html.haml'
- # Offense count: 32
+ # Offense count: 28
InstanceVariables:
exclude:
- 'app/views/admin/reports/_actions.html.haml'
@@ -34,14 +34,11 @@ linters:
- 'app/views/admin/webhooks/_form.html.haml'
- 'app/views/auth/registrations/_status.html.haml'
- 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
- - 'app/views/authorize_interactions/_post_follow_actions.html.haml'
- - 'app/views/invites/_form.html.haml'
- 'app/views/relationships/_account.html.haml'
- 'app/views/shared/_og.html.haml'
- # Offense count: 3
+ # Offense count: 2
IdNames:
exclude:
- - 'app/views/authorize_interactions/error.html.haml'
- 'app/views/oauth/authorizations/error.html.haml'
- 'app/views/shared/_error_messages.html.haml'
diff --git a/app/helpers/invites_helper.rb b/app/helpers/invites_helper.rb
new file mode 100644
index 0000000000..c189061db0
--- /dev/null
+++ b/app/helpers/invites_helper.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+module InvitesHelper
+ def invites_max_uses_options
+ [1, 5, 10, 25, 50, 100]
+ end
+
+ def invites_expires_options
+ [30.minutes, 1.hour, 6.hours, 12.hours, 1.day, 1.week]
+ end
+end
diff --git a/app/views/admin/invites/index.html.haml b/app/views/admin/invites/index.html.haml
index ee6ba0f574..964deaba8f 100644
--- a/app/views/admin/invites/index.html.haml
+++ b/app/views/admin/invites/index.html.haml
@@ -14,7 +14,8 @@
- if policy(:invite).create?
%p= t('invites.prompt')
- = render 'invites/form'
+ = simple_form_for(@invite, url: admin_invites_path) do |form|
+ = render partial: 'invites/form', object: form
%hr.spacer/
diff --git a/app/views/invites/_form.html.haml b/app/views/invites/_form.html.haml
index 7ea521ebc7..dbbb785e83 100644
--- a/app/views/invites/_form.html.haml
+++ b/app/views/invites/_form.html.haml
@@ -1,14 +1,13 @@
-= simple_form_for(@invite, url: controller.is_a?(Admin::InvitesController) ? admin_invites_path : invites_path) do |f|
- = render 'shared/error_messages', object: @invite
+= render 'shared/error_messages', object: form.object
- .fields-row
- .fields-row__column.fields-row__column-6.fields-group
- = f.input :max_uses, wrapper: :with_label, collection: [1, 5, 10, 25, 50, 100], label_method: ->(num) { I18n.t('invites.max_uses', count: num) }, prompt: I18n.t('invites.max_uses_prompt')
- .fields-row__column.fields-row__column-6.fields-group
- = f.input :expires_in, wrapper: :with_label, collection: [30.minutes, 1.hour, 6.hours, 12.hours, 1.day, 1.week].map(&:to_i), label_method: ->(i) { I18n.t("invites.expires_in.#{i}") }, prompt: I18n.t('invites.expires_in_prompt')
+.fields-row
+ .fields-row__column.fields-row__column-6.fields-group
+ = form.input :max_uses, wrapper: :with_label, collection: invites_max_uses_options, label_method: ->(num) { I18n.t('invites.max_uses', count: num) }, prompt: I18n.t('invites.max_uses_prompt')
+ .fields-row__column.fields-row__column-6.fields-group
+ = form.input :expires_in, wrapper: :with_label, collection: invites_expires_options.map(&:to_i), label_method: ->(i) { I18n.t("invites.expires_in.#{i}") }, prompt: I18n.t('invites.expires_in_prompt')
- .fields-group
- = f.input :autofollow, wrapper: :with_label
+.fields-group
+ = form.input :autofollow, wrapper: :with_label
- .actions
- = f.button :button, t('invites.generate'), type: :submit
+.actions
+ = form.button :button, t('invites.generate'), type: :submit
diff --git a/app/views/invites/index.html.haml b/app/views/invites/index.html.haml
index 61420ab1e4..88ed662af8 100644
--- a/app/views/invites/index.html.haml
+++ b/app/views/invites/index.html.haml
@@ -4,7 +4,8 @@
- if policy(:invite).create?
%p= t('invites.prompt')
- = render 'form'
+ = simple_form_for(@invite, url: invites_path) do |form|
+ = render partial: 'form', object: form
%hr.spacer/
From 56c0babc0bacf6f8e87c126e98966f0afa6ab467 Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 09:48:47 -0400
Subject: [PATCH 12/73] Fix rubocop `Layout/ArgumentAlignment` cop (#26060)
---
.rubocop_todo.yml | 9 --------
config/initializers/cors.rb | 32 ++++++++++------------------
config/initializers/session_store.rb | 11 ++++++----
3 files changed, 18 insertions(+), 34 deletions(-)
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
index adfd476892..efe369d776 100644
--- a/.rubocop_todo.yml
+++ b/.rubocop_todo.yml
@@ -13,14 +13,6 @@ Bundler/OrderedGems:
Exclude:
- 'Gemfile'
-# This cop supports safe autocorrection (--autocorrect).
-# Configuration parameters: EnforcedStyle, IndentationWidth.
-# SupportedStyles: with_first_argument, with_fixed_indentation
-Layout/ArgumentAlignment:
- Exclude:
- - 'config/initializers/cors.rb'
- - 'config/initializers/session_store.rb'
-
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
# SupportedHashRocketStyles: key, separator, table
@@ -841,6 +833,5 @@ Style/TrailingCommaInHashLiteral:
Style/WordArray:
Exclude:
- 'app/helpers/languages_helper.rb'
- - 'config/initializers/cors.rb'
- 'spec/controllers/settings/imports_controller_spec.rb'
- 'spec/models/form/import_spec.rb'
diff --git a/config/initializers/cors.rb b/config/initializers/cors.rb
index 1fde35f9d0..3d94e38e8e 100644
--- a/config/initializers/cors.rb
+++ b/config/initializers/cors.rb
@@ -11,26 +11,16 @@ Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
- resource '/.well-known/*',
- headers: :any,
- methods: [:get],
- credentials: false
- resource '/@:username',
- headers: :any,
- methods: [:get],
- credentials: false
- resource '/users/:username',
- headers: :any,
- methods: [:get],
- credentials: false
- resource '/api/*',
- headers: :any,
- methods: [:post, :put, :delete, :get, :patch, :options],
- credentials: false,
- expose: ['Link', 'X-RateLimit-Reset', 'X-RateLimit-Limit', 'X-RateLimit-Remaining', 'X-Request-Id']
- resource '/oauth/token',
- headers: :any,
- methods: [:post],
- credentials: false
+ with_options headers: :any, credentials: false do
+ with_options methods: [:get] do
+ resource '/.well-known/*'
+ resource '/@:username'
+ resource '/users/:username'
+ end
+ resource '/api/*',
+ expose: %w(Link X-RateLimit-Reset X-RateLimit-Limit X-RateLimit-Remaining X-Request-Id),
+ methods: %i(post put delete get patch options)
+ resource '/oauth/token', methods: [:post]
+ end
end
end
diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb
index b29e0a8159..eac23a79b9 100644
--- a/config/initializers/session_store.rb
+++ b/config/initializers/session_store.rb
@@ -2,7 +2,10 @@
# Be sure to restart your server when you modify this file.
-Rails.application.config.session_store :cookie_store,
- key: '_mastodon_session',
- secure: false, # All cookies have their secure flag set by the force_ssl option in production
- same_site: :lax
+Rails
+ .application
+ .config
+ .session_store :cookie_store,
+ key: '_mastodon_session',
+ secure: false, # All cookies have their secure flag set by the force_ssl option in production
+ same_site: :lax
From 937dc42f101be905e3af41b879901a4445b0223a Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 10:04:05 -0400
Subject: [PATCH 13/73] Extract methods for file movement in `CLI::Upgrade`
(#25120)
---
.rubocop.yml | 6 ------
lib/mastodon/cli/upgrade.rb | 42 ++++++++++++++++++++++---------------
2 files changed, 25 insertions(+), 23 deletions(-)
diff --git a/.rubocop.yml b/.rubocop.yml
index c8a433c729..4684ef06db 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -75,12 +75,6 @@ Metrics/AbcSize:
- 'lib/mastodon/cli/*.rb'
- db/*migrate/**/*
-# Reason:
-# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocknesting
-Metrics/BlockNesting:
- Exclude:
- - 'lib/mastodon/cli/*.rb'
-
# Reason: Currently disabled in .rubocop_todo.yml
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricscyclomaticcomplexity
Metrics/CyclomaticComplexity:
diff --git a/lib/mastodon/cli/upgrade.rb b/lib/mastodon/cli/upgrade.rb
index 52b5540c40..cf83986844 100644
--- a/lib/mastodon/cli/upgrade.rb
+++ b/lib/mastodon/cli/upgrade.rb
@@ -125,27 +125,12 @@ module Mastodon::CLI
progress.log("Moving #{previous_path} to #{upgraded_path}") if options[:verbose]
begin
- unless dry_run?
- FileUtils.mkdir_p(File.dirname(upgraded_path))
- FileUtils.mv(previous_path, upgraded_path)
-
- begin
- FileUtils.rmdir(File.dirname(previous_path), parents: true)
- rescue Errno::ENOTEMPTY
- # OK
- end
- end
+ move_previous_to_upgraded
rescue => e
progress.log(pastel.red("Error processing #{previous_path}: #{e}"))
success = false
- unless dry_run?
- begin
- FileUtils.rmdir(File.dirname(upgraded_path), parents: true)
- rescue Errno::ENOTEMPTY
- # OK
- end
- end
+ remove_directory
end
end
@@ -155,5 +140,28 @@ module Mastodon::CLI
attachment.instance_write(:storage_schema_version, previous_storage_schema_version)
success
end
+
+ def move_previous_to_upgraded(previous_path, upgraded_path)
+ return if dry_run?
+
+ FileUtils.mkdir_p(File.dirname(upgraded_path))
+ FileUtils.mv(previous_path, upgraded_path)
+
+ begin
+ FileUtils.rmdir(File.dirname(previous_path), parents: true)
+ rescue Errno::ENOTEMPTY
+ # OK
+ end
+ end
+
+ def remove_directory(path)
+ return if dry_run?
+
+ begin
+ FileUtils.rmdir(File.dirname(path), parents: true)
+ rescue Errno::ENOTEMPTY
+ # OK
+ end
+ end
end
end
From 3060bfa4bd62c46c04e1ed0071ec3d6506111f89 Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 10:22:05 -0400
Subject: [PATCH 14/73] Extract filename and csv helper methods from
`Form::Import` (#26129)
---
app/models/form/import.rb | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/app/models/form/import.rb b/app/models/form/import.rb
index 2fc74715b5..29a2975c7b 100644
--- a/app/models/form/import.rb
+++ b/app/models/form/import.rb
@@ -43,14 +43,14 @@ class Form::Import
validate :validate_data
def guessed_type
- return :muting if csv_data.headers.include?('Hide notifications')
- return :following if csv_data.headers.include?('Show boosts') || csv_data.headers.include?('Notify on new posts') || csv_data.headers.include?('Languages')
- return :following if data.original_filename&.start_with?('follows') || data.original_filename&.start_with?('following_accounts')
- return :blocking if data.original_filename&.start_with?('blocks') || data.original_filename&.start_with?('blocked_accounts')
- return :muting if data.original_filename&.start_with?('mutes') || data.original_filename&.start_with?('muted_accounts')
- return :domain_blocking if data.original_filename&.start_with?('domain_blocks') || data.original_filename&.start_with?('blocked_domains')
- return :bookmarks if data.original_filename&.start_with?('bookmarks')
- return :lists if data.original_filename&.start_with?('lists')
+ return :muting if csv_headers_match?('Hide notifications')
+ return :following if csv_headers_match?('Show boosts') || csv_headers_match?('Notify on new posts') || csv_headers_match?('Languages')
+ return :following if file_name_matches?('follows') || file_name_matches?('following_accounts')
+ return :blocking if file_name_matches?('blocks') || file_name_matches?('blocked_accounts')
+ return :muting if file_name_matches?('mutes') || file_name_matches?('muted_accounts')
+ return :domain_blocking if file_name_matches?('domain_blocks') || file_name_matches?('blocked_domains')
+ return :bookmarks if file_name_matches?('bookmarks')
+ return :lists if file_name_matches?('lists')
end
# Whether the uploaded CSV file seems to correspond to a different import type than the one selected
@@ -79,6 +79,14 @@ class Form::Import
private
+ def file_name_matches?(string)
+ data.original_filename&.start_with?(string)
+ end
+
+ def csv_headers_match?(string)
+ csv_data.headers.include?(string)
+ end
+
def default_csv_headers
case type.to_sym
when :following, :blocking, :muting
From 9d56c1949b1c2f9fefde88021ec82745b9aae495 Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 10:23:35 -0400
Subject: [PATCH 15/73] Fix haml-lint `InstanceVariables` rule for
admin/webhooks/_form (#26062)
---
.haml-lint_todo.yml | 9 ++++-----
app/views/admin/webhooks/_form.html.haml | 18 +++++++-----------
app/views/admin/webhooks/edit.html.haml | 5 ++++-
app/views/admin/webhooks/new.html.haml | 5 ++++-
4 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index e8791e05ca..39e7b29903 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -1,13 +1,13 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
-# on 2023-08-28 13:08:37 -0400 using Haml-Lint version 0.50.0.
+# on 2023-09-28 10:03:39 -0400 using Haml-Lint version 0.50.0.
# The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of Haml-Lint, may require this file to be generated again.
linters:
- # Offense count: 945
+ # Offense count: 946
LineLength:
enabled: false
@@ -15,7 +15,7 @@ linters:
UnnecessaryStringOutput:
enabled: false
- # Offense count: 57
+ # Offense count: 59
RuboCop:
enabled: false
@@ -26,12 +26,11 @@ linters:
- 'app/views/admin/reports/show.html.haml'
- 'app/views/disputes/strikes/show.html.haml'
- # Offense count: 28
+ # Offense count: 25
InstanceVariables:
exclude:
- 'app/views/admin/reports/_actions.html.haml'
- 'app/views/admin/roles/_form.html.haml'
- - 'app/views/admin/webhooks/_form.html.haml'
- 'app/views/auth/registrations/_status.html.haml'
- 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
- 'app/views/relationships/_account.html.haml'
diff --git a/app/views/admin/webhooks/_form.html.haml b/app/views/admin/webhooks/_form.html.haml
index c870e943f4..6c4574fd3b 100644
--- a/app/views/admin/webhooks/_form.html.haml
+++ b/app/views/admin/webhooks/_form.html.haml
@@ -1,14 +1,10 @@
-= simple_form_for @webhook, url: @webhook.new_record? ? admin_webhooks_path : admin_webhook_path(@webhook) do |f|
- = render 'shared/error_messages', object: @webhook
+= render 'shared/error_messages', object: form.object
- .fields-group
- = f.input :url, wrapper: :with_block_label, input_html: { placeholder: 'https://' }
+.fields-group
+ = form.input :url, wrapper: :with_block_label, input_html: { placeholder: 'https://' }
- .fields-group
- = f.input :events, collection: Webhook::EVENTS, wrapper: :with_block_label, include_blank: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', disabled: Webhook::EVENTS.filter { |event| !current_user.role.can?(Webhook.permission_for_event(event)) }
+.fields-group
+ = form.input :events, collection: Webhook::EVENTS, wrapper: :with_block_label, include_blank: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', disabled: Webhook::EVENTS.filter { |event| !current_user.role.can?(Webhook.permission_for_event(event)) }
- .fields-group
- = f.input :template, wrapper: :with_block_label, input_html: { placeholder: '{ "content": "Hello {{object.username}}" }' }
-
- .actions
- = f.button :button, @webhook.new_record? ? t('admin.webhooks.add_new') : t('generic.save_changes'), type: :submit
+.fields-group
+ = form.input :template, wrapper: :with_block_label, input_html: { placeholder: '{ "content": "Hello {{object.username}}" }' }
diff --git a/app/views/admin/webhooks/edit.html.haml b/app/views/admin/webhooks/edit.html.haml
index 3dc0ace9bf..2c2a7aa034 100644
--- a/app/views/admin/webhooks/edit.html.haml
+++ b/app/views/admin/webhooks/edit.html.haml
@@ -1,4 +1,7 @@
- content_for :page_title do
= t('admin.webhooks.edit')
-= render partial: 'form'
+= simple_form_for @webhook, url: admin_webhook_path(@webhook) do |form|
+ = render partial: 'form', object: form
+ .actions
+ = form.button :button, t('generic.save_changes'), type: :submit
diff --git a/app/views/admin/webhooks/new.html.haml b/app/views/admin/webhooks/new.html.haml
index 1258df74ab..f51b039ce8 100644
--- a/app/views/admin/webhooks/new.html.haml
+++ b/app/views/admin/webhooks/new.html.haml
@@ -1,4 +1,7 @@
- content_for :page_title do
= t('admin.webhooks.new')
-= render partial: 'form'
+= simple_form_for @webhook, url: admin_webhooks_path do |form|
+ = render partial: 'form', object: form
+ .actions
+ = form.button :button, t('admin.webhooks.add_new'), type: :submit
From f9eefb27855d0b6d73aec430f8cf6ece7f99bf88 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Thu, 28 Sep 2023 16:25:14 +0200
Subject: [PATCH 16/73] Update dependency rubocop to v1.56.4 (#27188)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index 7842fb69d2..0535d4ee45 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -640,7 +640,7 @@ GEM
sidekiq (>= 5, < 8)
rspec-support (3.12.1)
rspec_chunked (0.6)
- rubocop (1.56.3)
+ rubocop (1.56.4)
base64 (~> 0.1.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
From 89a17878ef7c6e1b5fae847ee293a7dcfc43c305 Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 10:36:24 -0400
Subject: [PATCH 17/73] Fix haml-lint `InstanceVariables` rule for
admin/roles/_form (#26063)
---
.haml-lint_todo.yml | 7 ++--
app/views/admin/roles/_form.html.haml | 54 +++++++++++++--------------
app/views/admin/roles/edit.html.haml | 5 ++-
app/views/admin/roles/new.html.haml | 5 ++-
4 files changed, 36 insertions(+), 35 deletions(-)
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index 39e7b29903..886855ce0f 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -1,13 +1,13 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
-# on 2023-09-28 10:03:39 -0400 using Haml-Lint version 0.50.0.
+# on 2023-09-28 10:26:23 -0400 using Haml-Lint version 0.50.0.
# The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of Haml-Lint, may require this file to be generated again.
linters:
- # Offense count: 946
+ # Offense count: 944
LineLength:
enabled: false
@@ -26,11 +26,10 @@ linters:
- 'app/views/admin/reports/show.html.haml'
- 'app/views/disputes/strikes/show.html.haml'
- # Offense count: 25
+ # Offense count: 18
InstanceVariables:
exclude:
- 'app/views/admin/reports/_actions.html.haml'
- - 'app/views/admin/roles/_form.html.haml'
- 'app/views/auth/registrations/_status.html.haml'
- 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
- 'app/views/relationships/_account.html.haml'
diff --git a/app/views/admin/roles/_form.html.haml b/app/views/admin/roles/_form.html.haml
index 3cbec0d0b5..2400332145 100644
--- a/app/views/admin/roles/_form.html.haml
+++ b/app/views/admin/roles/_form.html.haml
@@ -1,40 +1,36 @@
-= simple_form_for @role, url: @role.new_record? ? admin_roles_path : admin_role_path(@role) do |f|
- = render 'shared/error_messages', object: @role
+= render 'shared/error_messages', object: form.object
- - if @role.everyone?
- .flash-message.info
- = t('admin.roles.everyone_full_description_html')
- - else
+- if form.object.everyone?
+ .flash-message.info
+ = t('admin.roles.everyone_full_description_html')
+- else
+ .fields-group
+ = form.input :name, wrapper: :with_label
+
+ - unless current_user.role == form.object
.fields-group
- = f.input :name, wrapper: :with_label
+ = form.input :position, wrapper: :with_label, input_html: { max: current_user.role.position - 1 }
- - unless current_user.role.id == @role.id
- .fields-group
- = f.input :position, wrapper: :with_label, input_html: { max: current_user.role.position - 1 }
+ .fields-group
+ = form.input :color, wrapper: :with_label, input_html: { placeholder: '#000000', type: 'color' }
- .fields-group
- = f.input :color, wrapper: :with_label, input_html: { placeholder: '#000000', type: 'color' }
+ %hr.spacer/
- %hr.spacer/
+ .fields-group
+ = form.input :highlighted, wrapper: :with_label
- .fields-group
- = f.input :highlighted, wrapper: :with_label
+ %hr.spacer/
- %hr.spacer/
+- unless current_user.role == form.object
- - unless current_user.role.id == @role.id
+ .field-group
+ .input.with_block_label
+ %label= t('simple_form.labels.user_role.permissions_as_keys')
+ %span.hint= t('simple_form.hints.user_role.permissions_as_keys')
- .field-group
- .input.with_block_label
- %label= t('simple_form.labels.user_role.permissions_as_keys')
- %span.hint= t('simple_form.hints.user_role.permissions_as_keys')
+ - (form.object.everyone? ? UserRole::Flags::CATEGORIES.slice(:invites) : UserRole::Flags::CATEGORIES).each do |category, permissions|
+ %h4= t(category, scope: 'admin.roles.categories')
- - (@role.everyone? ? UserRole::Flags::CATEGORIES.slice(:invites) : UserRole::Flags::CATEGORIES).each do |category, permissions|
- %h4= t(category, scope: 'admin.roles.categories')
+ = form.input :permissions_as_keys, collection: permissions, wrapper: :with_block_label, include_blank: false, label_method: ->(privilege) { safe_join([t("admin.roles.privileges.#{privilege}"), content_tag(:span, t("admin.roles.privileges.#{privilege}_description"), class: 'hint')]) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', label: false, hint: false, disabled: permissions.filter { |privilege| UserRole::FLAGS[privilege] & current_user.role.computed_permissions == 0 }
- = f.input :permissions_as_keys, collection: permissions, wrapper: :with_block_label, include_blank: false, label_method: ->(privilege) { safe_join([t("admin.roles.privileges.#{privilege}"), content_tag(:span, t("admin.roles.privileges.#{privilege}_description"), class: 'hint')]) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', label: false, hint: false, disabled: permissions.filter { |privilege| UserRole::FLAGS[privilege] & current_user.role.computed_permissions == 0 }
-
- %hr.spacer/
-
- .actions
- = f.button :button, @role.new_record? ? t('admin.roles.add_new') : t('generic.save_changes'), type: :submit
+ %hr.spacer/
diff --git a/app/views/admin/roles/edit.html.haml b/app/views/admin/roles/edit.html.haml
index 5688b69b1f..ec3f5b6fbe 100644
--- a/app/views/admin/roles/edit.html.haml
+++ b/app/views/admin/roles/edit.html.haml
@@ -4,4 +4,7 @@
- content_for :heading_actions do
= link_to t('admin.roles.delete'), admin_role_path(@role), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') }, class: 'button button--destructive' if can?(:destroy, @role)
-= render partial: 'form'
+= simple_form_for @role, url: admin_role_path(@role) do |form|
+ = render partial: 'form', object: form
+ .actions
+ = form.button :button, t('generic.save_changes'), type: :submit
diff --git a/app/views/admin/roles/new.html.haml b/app/views/admin/roles/new.html.haml
index 8210792718..6ca0c2137b 100644
--- a/app/views/admin/roles/new.html.haml
+++ b/app/views/admin/roles/new.html.haml
@@ -1,4 +1,7 @@
- content_for :page_title do
= t('admin.roles.add_new')
-= render partial: 'form'
+= simple_form_for @role, url: admin_roles_path do |form|
+ = render partial: 'form', object: form
+ .actions
+ = form.button :button, t('admin.roles.add_new'), type: :submit
From 99e289f03f6a8e2f1ba82ecadaac2d0a6e9fe876 Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 10:52:11 -0400
Subject: [PATCH 18/73] Fix include `Rails.application.routes.url_helpers`
(Rails 7.1 prep) (#27189)
---
app/helpers/routing_helper.rb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/helpers/routing_helper.rb b/app/helpers/routing_helper.rb
index 0d5a8505a2..2fb9ce72cb 100644
--- a/app/helpers/routing_helper.rb
+++ b/app/helpers/routing_helper.rb
@@ -3,11 +3,12 @@
module RoutingHelper
extend ActiveSupport::Concern
- include Rails.application.routes.url_helpers
include ActionView::Helpers::AssetTagHelper
include Webpacker::Helper
included do
+ include Rails.application.routes.url_helpers
+
def default_url_options
ActionMailer::Base.default_url_options
end
From 2016c5d912f400ae98ee03ce269112de2f9ec62d Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 10:52:23 -0400
Subject: [PATCH 19/73] Fix deprecation warning about `rewhere: true` being
default behavior (Rails 7.1 prep) (#27190)
---
app/models/report_filter.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/models/report_filter.rb b/app/models/report_filter.rb
index c9b3bce2d1..fd0e23cb81 100644
--- a/app/models/report_filter.rb
+++ b/app/models/report_filter.rb
@@ -19,7 +19,7 @@ class ReportFilter
scope = Report.unresolved
params.each do |key, value|
- scope = scope.merge scope_for(key, value), rewhere: true
+ scope = scope.merge scope_for(key, value)
end
scope
From 340f1a68becaf7c0f67b0f3a6d101213c8ceff90 Mon Sep 17 00:00:00 2001
From: Matt Jankowski
Date: Thu, 28 Sep 2023 10:52:37 -0400
Subject: [PATCH 20/73] Simplify instance presenter view access (#26046)
---
.haml-lint_todo.yml | 5 ++---
app/controllers/about_controller.rb | 8 --------
app/controllers/auth/registrations_controller.rb | 5 -----
app/controllers/auth/sessions_controller.rb | 5 -----
app/controllers/concerns/account_controller_concern.rb | 6 ------
app/controllers/home_controller.rb | 8 --------
app/controllers/privacy_controller.rb | 8 --------
app/controllers/statuses_controller.rb | 5 -----
app/controllers/tags_controller.rb | 5 -----
app/helpers/mascot_helper.rb | 2 --
app/views/shared/_og.html.haml | 6 +++---
11 files changed, 5 insertions(+), 58 deletions(-)
diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml
index 886855ce0f..64f5c0cc75 100644
--- a/.haml-lint_todo.yml
+++ b/.haml-lint_todo.yml
@@ -1,6 +1,6 @@
# This configuration was generated by
# `haml-lint --auto-gen-config`
-# on 2023-09-28 10:26:23 -0400 using Haml-Lint version 0.50.0.
+# on 2023-09-28 10:42:25 -0400 using Haml-Lint version 0.50.0.
# The point is for the user to remove these configuration records
# one by one as the lints are removed from the code base.
# Note that changes in the inspected code, or installation of new
@@ -26,14 +26,13 @@ linters:
- 'app/views/admin/reports/show.html.haml'
- 'app/views/disputes/strikes/show.html.haml'
- # Offense count: 18
+ # Offense count: 15
InstanceVariables:
exclude:
- 'app/views/admin/reports/_actions.html.haml'
- 'app/views/auth/registrations/_status.html.haml'
- 'app/views/auth/sessions/two_factor/_otp_authentication_form.html.haml'
- 'app/views/relationships/_account.html.haml'
- - 'app/views/shared/_og.html.haml'
# Offense count: 2
IdNames:
diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb
index c4b7e9c9d2..ffccf7a28e 100644
--- a/app/controllers/about_controller.rb
+++ b/app/controllers/about_controller.rb
@@ -5,15 +5,7 @@ class AboutController < ApplicationController
skip_before_action :require_functional!
- before_action :set_instance_presenter
-
def show
expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.day) unless user_signed_in?
end
-
- private
-
- def set_instance_presenter
- @instance_presenter = InstancePresenter.new
- end
end
diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb
index e70ae5b1b8..b0f2a02aa3 100644
--- a/app/controllers/auth/registrations_controller.rb
+++ b/app/controllers/auth/registrations_controller.rb
@@ -10,7 +10,6 @@ class Auth::RegistrationsController < Devise::RegistrationsController
before_action :configure_sign_up_params, only: [:create]
before_action :set_sessions, only: [:edit, :update]
before_action :set_strikes, only: [:edit, :update]
- before_action :set_instance_presenter, only: [:new, :create, :update]
before_action :set_body_classes, only: [:new, :create, :edit, :update]
before_action :require_not_suspended!, only: [:update]
before_action :set_cache_headers, only: [:edit, :update]
@@ -107,10 +106,6 @@ class Auth::RegistrationsController < Devise::RegistrationsController
private
- def set_instance_presenter
- @instance_presenter = InstancePresenter.new
- end
-
def set_body_classes
@body_classes = %w(edit update).include?(action_name) ? 'admin' : 'lighter'
end
diff --git a/app/controllers/auth/sessions_controller.rb b/app/controllers/auth/sessions_controller.rb
index 06a3deee2b..5327192b81 100644
--- a/app/controllers/auth/sessions_controller.rb
+++ b/app/controllers/auth/sessions_controller.rb
@@ -11,7 +11,6 @@ class Auth::SessionsController < Devise::SessionsController
include TwoFactorAuthenticationConcern
- before_action :set_instance_presenter, only: [:new]
before_action :set_body_classes
content_security_policy only: :new do |p|
@@ -99,10 +98,6 @@ class Auth::SessionsController < Devise::SessionsController
private
- def set_instance_presenter
- @instance_presenter = InstancePresenter.new
- end
-
def set_body_classes
@body_classes = 'lighter'
end
diff --git a/app/controllers/concerns/account_controller_concern.rb b/app/controllers/concerns/account_controller_concern.rb
index e9cff22ca8..d63bcc85c9 100644
--- a/app/controllers/concerns/account_controller_concern.rb
+++ b/app/controllers/concerns/account_controller_concern.rb
@@ -9,17 +9,11 @@ module AccountControllerConcern
FOLLOW_PER_PAGE = 12
included do
- before_action :set_instance_presenter
-
after_action :set_link_headers, if: -> { request.format.nil? || request.format == :html }
end
private
- def set_instance_presenter
- @instance_presenter = InstancePresenter.new
- end
-
def set_link_headers
response.headers['Link'] = LinkHeader.new(
[
diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb
index ee940e6707..03aa3eb52a 100644
--- a/app/controllers/home_controller.rb
+++ b/app/controllers/home_controller.rb
@@ -3,15 +3,7 @@
class HomeController < ApplicationController
include WebAppControllerConcern
- before_action :set_instance_presenter
-
def index
expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.day) unless user_signed_in?
end
-
- private
-
- def set_instance_presenter
- @instance_presenter = InstancePresenter.new
- end
end
diff --git a/app/controllers/privacy_controller.rb b/app/controllers/privacy_controller.rb
index 070ee8a06a..860e7c77a0 100644
--- a/app/controllers/privacy_controller.rb
+++ b/app/controllers/privacy_controller.rb
@@ -5,15 +5,7 @@ class PrivacyController < ApplicationController
skip_before_action :require_functional!
- before_action :set_instance_presenter
-
def show
expires_in(15.seconds, public: true, stale_while_revalidate: 30.seconds, stale_if_error: 1.day) unless user_signed_in?
end
-
- private
-
- def set_instance_presenter
- @instance_presenter = InstancePresenter.new
- end
end
diff --git a/app/controllers/statuses_controller.rb b/app/controllers/statuses_controller.rb
index effaba3630..db7eddd78b 100644
--- a/app/controllers/statuses_controller.rb
+++ b/app/controllers/statuses_controller.rb
@@ -10,7 +10,6 @@ class StatusesController < ApplicationController
before_action :require_account_signature!, only: [:show, :activity], if: -> { request.format == :json && authorized_fetch_mode? }
before_action :set_status
- before_action :set_instance_presenter
before_action :redirect_to_original, only: :show
before_action :set_body_classes, only: :embed
@@ -67,10 +66,6 @@ class StatusesController < ApplicationController
not_found
end
- def set_instance_presenter
- @instance_presenter = InstancePresenter.new
- end
-
def redirect_to_original
redirect_to(ActivityPub::TagManager.instance.url_for(@status.reblog), allow_other_host: true) if @status.reblog?
end
diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
index 2007fe8462..b0bdbde956 100644
--- a/app/controllers/tags_controller.rb
+++ b/app/controllers/tags_controller.rb
@@ -14,7 +14,6 @@ class TagsController < ApplicationController
before_action :set_local
before_action :set_tag
before_action :set_statuses, if: -> { request.format == :rss }
- before_action :set_instance_presenter
skip_before_action :require_functional!, unless: :limited_federation_mode?
@@ -49,10 +48,6 @@ class TagsController < ApplicationController
@statuses = cache_collection(TagFeed.new(@tag, nil, local: @local).get(limit_param), Status)
end
- def set_instance_presenter
- @instance_presenter = InstancePresenter.new
- end
-
def limit_param
params[:limit].present? ? [params[:limit].to_i, PAGE_SIZE_MAX].min : PAGE_SIZE
end
diff --git a/app/helpers/mascot_helper.rb b/app/helpers/mascot_helper.rb
index 0124c74f19..8ee04383ec 100644
--- a/app/helpers/mascot_helper.rb
+++ b/app/helpers/mascot_helper.rb
@@ -5,8 +5,6 @@ module MascotHelper
full_asset_url(instance_presenter.mascot&.file&.url || asset_pack_path('media/images/elephant_ui_plane.svg'))
end
- private
-
def instance_presenter
@instance_presenter ||= InstancePresenter.new
end
diff --git a/app/views/shared/_og.html.haml b/app/views/shared/_og.html.haml
index a5d99ae33a..385351ee14 100644
--- a/app/views/shared/_og.html.haml
+++ b/app/views/shared/_og.html.haml
@@ -1,12 +1,12 @@
-- thumbnail = @instance_presenter.thumbnail
-- description ||= @instance_presenter.description.presence || strip_tags(t('about.about_mastodon_html'))
+- thumbnail = instance_presenter.thumbnail
+- description ||= instance_presenter.description.presence || strip_tags(t('about.about_mastodon_html'))
%meta{ name: 'description', content: description }/
= opengraph 'og:site_name', t('about.hosted_on', domain: site_hostname)
= opengraph 'og:url', url_for(only_path: false)
= opengraph 'og:type', 'website'
-= opengraph 'og:title', @instance_presenter.title
+= opengraph 'og:title', instance_presenter.title
= opengraph 'og:description', description
= opengraph 'og:image', full_asset_url(thumbnail&.file&.url(:'@1x') || asset_pack_path('media/images/preview.png', protocol: :request))
= opengraph 'og:image:width', thumbnail ? thumbnail.meta['width'] : '1200'
From a1becc91899a53c8702a3350a2a63a417b12fae6 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 29 Sep 2023 09:50:15 +0200
Subject: [PATCH 21/73] Update dependency node to 20.8 (#27201)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.nvmrc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.nvmrc b/.nvmrc
index b1b396bcfa..fa69d015bd 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-20.7
+20.8
From 665093a7b67c83cea15486b862394910705af9cc Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 29 Sep 2023 09:50:33 +0200
Subject: [PATCH 22/73] Update dependency postcss to v8.4.31 (#27199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index e419454661..015c5544a7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -9723,9 +9723,9 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.2.15, postcss@^8.4.24, postcss@^8.4.25:
- version "8.4.30"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.30.tgz#0e0648d551a606ef2192a26da4cabafcc09c1aa7"
- integrity sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==
+ version "8.4.31"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
+ integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
dependencies:
nanoid "^3.3.6"
picocolors "^1.0.0"
From 695e42de0d0db75f15647c1aa6350ab2517701e0 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 29 Sep 2023 10:04:18 +0200
Subject: [PATCH 23/73] New Crowdin Translations (automated) (#27202)
Co-authored-by: GitHub Actions
---
app/javascript/mastodon/locales/fi.json | 12 ++--
config/locales/devise.fi.yml | 14 ++--
config/locales/doorkeeper.fi.yml | 8 +--
config/locales/fi.yml | 92 ++++++++++++-------------
config/locales/simple_form.fi.yml | 62 ++++++++---------
5 files changed, 94 insertions(+), 94 deletions(-)
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 4aa46ec0fc..094b7d3b36 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -201,9 +201,9 @@
"disabled_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä.",
"dismissable_banner.community_timeline": "Nämä ovat viimeisimpiä julkaisuja käyttäjiltä, joiden tili sijaitsee palvelimella {domain}.",
"dismissable_banner.dismiss": "Hylkää",
- "dismissable_banner.explore_links": "Näistä uutisista puhutaan juuri nyt tällä ja muilla hajautetun verkon palvelimilla.",
- "dismissable_banner.explore_statuses": "Nämä ovat tänään huomiota keräävimpiä sosiaalisen verkon julkaisuja. Uusimmat, tehostetuimmat ja suosikiksi lisätyimmät nousevat listauksessa korkeimmalle.",
- "dismissable_banner.explore_tags": "Nämä aihetunnisteet saavat juuri nyt vetovoimaa tällä ja muilla hajautetun verkon palvelimilla olevien ihmisten keskuudessa.",
+ "dismissable_banner.explore_links": "Näitä uutisia jaetaan tänään sosiaalisessa verkossa eniten. Uusimmat ja eri käyttäjien eniten lähettämät uutiset nousevat listauksessa korkeimmalle.",
+ "dismissable_banner.explore_statuses": "Nämä sosiaalisen verkon julkaisut keräävät tänään eniten huomiota. Uusimmat, tehostetuimmat ja suosikiksi lisätyimmät nousevat listauksessa korkeimmalle.",
+ "dismissable_banner.explore_tags": "Nämä sosiaalisen verkon aihetunnisteet keräävät tänään eniten huomiota. Useimman käyttäjän käyttämät aihetunnisteet nousevat listauksessa korkeimmalle.",
"dismissable_banner.public_timeline": "Nämä ovat viimeisimpiä julkaisuja sosiaalisen verkon käyttäjiltä, joita seurataan palvelimella {domain}.",
"embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.",
"embed.preview": "Se tulee näyttämään tältä:",
@@ -324,7 +324,7 @@
"interaction_modal.on_another_server": "Toisella palvelimella",
"interaction_modal.on_this_server": "Tällä palvelimella",
"interaction_modal.sign_in": "Et ole kirjautunut tälle palvelimelle. Millä palvelimella tilisi sijaitsee?",
- "interaction_modal.sign_in_hint": "Vihje: Se on sama verkkosivusto, jolla loit tilisi. Jos et muista, etsi tervetuliaissähköpostia saapuneista viesteistäsi. Voit myös syöttää koko käyttäjätunnuksesi! (Esimerkki: @Mastodon@mastodon.social)",
+ "interaction_modal.sign_in_hint": "Vihje: Se on sama verkkosivusto, jossa loit tilisi. Jos et muista, etsi tervetulosähköpostia saapuneista viesteistäsi. Voit myös syöttää koko käyttäjätunnuksesi! (Esimerkki: @Mastodon@Mastodon.social)",
"interaction_modal.title.favourite": "Lisää käyttäjän {name} julkaisu suosikkeihin",
"interaction_modal.title.follow": "Seuraa käyttäjää {name}",
"interaction_modal.title.reblog": "Tehosta käyttäjän {name} julkaisua",
@@ -493,10 +493,10 @@
"onboarding.steps.setup_profile.title": "Mukauta profiiliasi",
"onboarding.steps.share_profile.body": "Kerro kavereillesi, kuinka sinut löytää Mastodonista",
"onboarding.steps.share_profile.title": "Jaa Mastodon-profiilisi",
- "onboarding.tips.2fa": "Tiesitkö? Voit lisäsuojata tiliäsi ottamalla kaksivaiheisen todennuksen käyttöön palvelun tiliasetuksista. Ominaisuus toimii haluamasi TOTP-todennussovelluksen avulla, eikä käyttö edellytä puhelinnumeron antamista!",
+ "onboarding.tips.2fa": "Tiesitkö? Voit suojata tilisi ottamalla kaksivaiheisen todennuksen käyttöön tilisi asetuksista. Se toimii millä tahansa TOTP-sovelluksella, eikä sen käyttö edellytä puhelinnumeroa!",
"onboarding.tips.accounts_from_other_servers": "Tiesitkö? Koska Mastodon on hajautettu, osa kohtaamistasi profiileista sijaitsee muilla kuin sinun palvelimellasi. Voit silti viestiä saumattomasti heidän kanssaan! Heidän palvelimensa mainitaan käyttäjänimen jälkiosassa!",
"onboarding.tips.migration": "Tiesitkö? Jos koet, ettei {domain} ole jatkossa itsellesi hyvä palvelinvalinta, voit siirtyä toiselle Mastodon-palvelimelle menettämättä seuraajiasi. Voit jopa isännöidä omaa palvelintasi!",
- "onboarding.tips.verification": "Tiesitkö? Voit vahvistaa tilisi lisäämällä omalle verkkosivustollesi linkin Mastodon-profiiliisi, ja lisäämällä sitten verkkosivustosi osoitteen Mastodon-profiilisi tietoihin. Tämä ei maksa mitään, eikä sinun tarvitse lähetellä mitään asiakirjoja!",
+ "onboarding.tips.verification": "Tiesitkö? Voit vahvistaa tilisi lisäämällä omalle verkkosivustollesi linkin Mastodon-profiiliisi ja lisäämällä sitten verkkosivustosi osoitteen Mastodon-profiilisi lisäkenttään. Tämä ei maksa mitään, eikä sinun tarvitse lähetellä asiakirjoja!",
"password_confirmation.exceeds_maxlength": "Salasanan vahvistus ylittää salasanan enimmäispituuden",
"password_confirmation.mismatching": "Salasanan vahvistus ei täsmää",
"picture_in_picture.restore": "Laita se takaisin",
diff --git a/config/locales/devise.fi.yml b/config/locales/devise.fi.yml
index eecbb3897a..8bbcb071e3 100644
--- a/config/locales/devise.fi.yml
+++ b/config/locales/devise.fi.yml
@@ -27,12 +27,12 @@ fi:
title: Vahvista sähköpostiosoite
email_changed:
explanation: 'Tilin sähköpostiosoitteeksi vaihdetaan:'
- extra: Jos et vaihtanut sähköpostiosoitettasi, joku muu on todennäköisesti päässyt käyttämään tiliäsi. Vaihda salasanasi viipymättä. Jos et pääse kirjautumaan tilillesi, ota yhteyttä instanssin ylläpitäjään.
+ extra: Jos et vaihtanut sähköpostiosoitettasi, joku muu on todennäköisesti päässyt käyttämään tiliäsi. Vaihda salasanasi viipymättä, tai ota yhteyttä palvelimen ylläpitäjään, jos et pääse kirjautumaan tilillesi.
subject: 'Mastodon: Sähköpostiosoite vaihdettu'
title: Uusi sähköpostiosoite
password_change:
explanation: Tilisi salasana on vaihdettu.
- extra: Jos et vaihtanut salasanaasi, joku muu on todennäköisesti päässyt käyttämään tiliäsi. Vaihda salasanasi viipymättä. Jos et pääse kirjautumaan tilillesi, ota yhteyttä instanssin ylläpitäjään.
+ extra: Jos et vaihtanut salasanaasi, joku muu on todennäköisesti päässyt käyttämään tiliäsi. Vaihda salasanasi viipymättä, tai ota yhteyttä palvelimen ylläpitäjään, jos et pääse kirjautumaan tilillesi.
subject: 'Mastodon: salasana vaihdettu'
title: Salasana vaihdettu
reconfirmation_instructions:
@@ -47,11 +47,11 @@ fi:
subject: 'Mastodon: ohjeet salasanan vaihtoon'
title: Salasanan vaihto
two_factor_disabled:
- explanation: Kaksivaiheinen todennus tilillesi poistettiin käytöstä. Kirjautuminen onnistuu nyt käyttäen pelkkää sähköpostiosoitetta ja salasanaa.
+ explanation: Tilisi kaksivaiheinen todennus poistettiin käytöstä. Kirjautuminen onnistuu nyt pelkällä sähköpostiosoitella ja salasanalla.
subject: 'Mastodon: kaksivaiheinen todennus poistettu käytöstä'
title: 2-vaiheinen todennus pois käytöstä
two_factor_enabled:
- explanation: Kaksivaiheinen tunnistus on otettu käyttöön tilillesi. Kaksivaiheisen tunnistuksen sovelluksesta saatu koodi tarvitaan kirjautumiseen.
+ explanation: Kaksivaiheinen todennus on otettu käyttöön tilillesi. Kirjautumiseen tarvitaan kaksivaiheisen todennuksen sovelluksesta saatu koodi.
subject: 'Mastodon: kaksivaiheinen todennus otettu käyttöön'
title: 2-vaiheinen todennus käytössä
two_factor_recovery_codes_changed:
@@ -70,11 +70,11 @@ fi:
subject: 'Mastodon: suojausavain poistettu'
title: Yksi suojausavaimistasi on poistettu
webauthn_disabled:
- explanation: Suojausavaimilla todennus on poistettu käytöstä tililtäsi. Kirjautuminen on nyt mahdollista käyttämällä vain paritetun TOTP-sovelluksen luomaa tokenia.
- subject: 'Mastodon: Todennus suoja-avaimilla poistettu käytöstä'
+ explanation: Suojausavaimilla todennus on poistettu käytöstä tililtäsi. Kirjautuminen on nyt mahdollista vain paritetun TOTP-sovelluksen luomaa koodia käyttämällä.
+ subject: 'Mastodon: Todennus suojausavaimilla poistettu käytöstä'
title: Suojausavaimet poistettu käytöstä
webauthn_enabled:
- explanation: Todennus suojausavaimella on otettu käyttöön tililläsi. Suojausavaintasi voidaan nyt käyttää kirjautumiseen.
+ explanation: Todennus suojausavaimella on otettu käyttöön tilillesi. Suojausavaintasi voidaan nyt käyttää kirjautumiseen.
subject: 'Mastodon: Todennus suojausavaimella on otettu käyttöön'
title: Suojausavaimet käytössä
omniauth_callbacks:
diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml
index 81b248ef2e..8d030274e7 100644
--- a/config/locales/doorkeeper.fi.yml
+++ b/config/locales/doorkeeper.fi.yml
@@ -67,13 +67,13 @@ fi:
title: Kopioi tämä valtuutuskoodi ja liitä se sovellukseen.
authorized_applications:
buttons:
- revoke: Peru
+ revoke: Hylkää
confirmations:
revoke: Oletko varma?
index:
authorized_at: Valtuutettu %{date}
- description_html: Nämä ovat sovelluksia, jotka voivat käyttää tiliäsi käyttäen API. Jos et tunnista sitä tai sovellus toimii väärin, voit peruuttaa sen käyttöoikeuden.
- last_used_at: Viimeksi käytetty %{date}
+ description_html: Nämä sovellukset voivat käyttää tiliäsi ohjelmointirajapinnan kautta. Jos tässä on sovelluksia, joita et tunnista, tai sovellus toimii väärin, voit peruuttaa sen käyttöoikeuden.
+ last_used_at: Käytetty viimeksi %{date}
never_used: Ei käytetty
scopes: Oikeudet
superapp: Sisäinen
@@ -114,7 +114,7 @@ fi:
notice: Sovellus poistettu.
grouped_scopes:
access:
- read: Vain luku
+ read: Vain lukuoikeus
read/write: Luku- ja kirjoitusoikeudet
write: Vain kirjoitusoikeus
title:
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 8a5d72a661..466cb95a24 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -76,7 +76,7 @@ fi:
inbox_url: Saapuvan postilaatikon osoite
invite_request_text: Syitä liittymiseen
invited_by: Kutsuja
- ip: IP
+ ip: IP-osoite
joined: Liittynyt
location:
all: Kaikki
@@ -736,10 +736,10 @@ fi:
rules_hint: On olemassa erityinen alue sääntöjä, joita käyttäjien odotetaan noudattavan.
title: Tietoja
appearance:
- preamble: Muokkaa Mastodonin web-käyttöliittymää.
+ preamble: Mukauta Mastodonin verkkokäyttöliittymää.
title: Ulkoasu
branding:
- preamble: Palvelimesi brändäys erottaa sen muista verkon palvelimista. Nämä tiedot voivat näkyä monissa eri ympäristöissä, kuten Mastodonin web-käyttöliittymässä, natiivisovelluksissa, linkkien esikatseluissa muilla sivustoilla, viestintäsovelluksissa ja niin edelleen. Siksi nämä tiedot kannattaa pitää selkeinä, lyhyinä ja ytimekkäinä.
+ preamble: Palvelimesi brändäys erottaa sen muista verkon palvelimista. Nämä tiedot voivat näkyä monissa eri ympäristöissä, kuten Mastodonin verkkokäyttöliittymässä, natiivisovelluksissa, linkkien esikatseluissa muilla sivustoilla, viestintäsovelluksissa ja niin edelleen. Siksi nämä tiedot kannattaa pitää selkeinä, lyhyinä ja ytimekkäinä.
title: Brändäys
captcha_enabled:
desc_html: Tämä perustuu ulkoisiin skripteihin hCaptchasta, mikä voi olla turvallisuus- ja yksityisyysongelma. Lisäksi tämä voi tehdä rekisteröinnin ihmisille huomattavasti (erityisesti vammaisten) helpommaksi. Harkitse vaihtoehtoisia toimenpiteitä, kuten hyväksymisperusteista tai kutsupohjaista rekisteröintiä.
@@ -853,7 +853,7 @@ fi:
version_comparison: Elasticsearch %{running_version} on käynnissä, kun %{required_version} vaaditaan
rules_check:
action: Hallitse palvelimen sääntöjä
- message_html: Et ole määrittänyt mitään palvelimen sääntöä.
+ message_html: Et ole määrittänyt lainkaan palvelimen sääntöjä.
sidekiq_process_check:
message_html: Ei ole Sidekiq-prosessia käynnissä jonossa %{value}. Tarkista Sidekiq-asetukset
software_version_critical_check:
@@ -864,7 +864,7 @@ fi:
message_html: Mastodonin virhekorjauspäivitys on saatavilla.
upload_check_privacy_error:
action: Katso täältä lisätietoja
- message_html: "Verkkopalvelimesi on määritetty virheellisesti, ja käyttäjiesi yksityisyys on vaarassa."
+ message_html: "Verkkopalvelimesi on määritetty väärin. Käyttäjiesi yksityisyys on vaarassa."
upload_check_privacy_error_object_storage:
action: Katso täältä lisätietoja
message_html: "Objektivarastosi on määritetty virheellisesti, ja käyttäjiesi yksityisyys on vaarassa."
@@ -1004,7 +1004,7 @@ fi:
created_msg: Uusi alias luotiin onnistuneesti. Voit nyt aloittaa siirron vanhasta tilistä.
deleted_msg: Alias poistettiin onnistuneesti. Siirtyminen tuolta tililtä tähän ei ole enää mahdollista.
empty: Sinulla ei ole aliaksia.
- hint_html: Jos haluat siirtyä toisesta tilistä tähän tiliin, voit luoda aliasin, joka on pakollinen, ennen kuin voit siirtää seuraajia vanhasta tilistä tähän tiliin. Tämä toiminto on itsessään vaaraton ja palautuva. Tilin siirtyminen aloitetaan vanhalta tililtä.
+ hint_html: Jos haluat muuttaa toiselta tililtä tälle tilille, voit luoda tässä aliaksen, mitä vaaditaan ennen kuin voit edetä siirtämään seuraajat vanhalta tililtä tälle tilille. Tänä toiminto on itsessään vaaraton ja kumottavissa. Tilin muuttaminen aloitetaan vanhalta tililtä.
remove: Poista aliaksen linkitys
appearance:
advanced_web_interface: Edistynyt selainkäyttöliittymä
@@ -1042,7 +1042,7 @@ fi:
confirmations:
wrong_email_hint: Jos sähköpostiosoite ei ole oikein, voit muuttaa sen tilin asetuksista.
delete_account: Poista tili
- delete_account_html: Jos haluat poistaa tilisi, paina tästä. Poisto on vahvistettava.
+ delete_account_html: Jos haluat poistaa tilisi, voit edetä tästä. Sinua pyydetään vahvistamaan poisto.
description:
prefix_invited_by_user: "@%{name} kutsuu sinut liittymään tälle Mastodonin palvelimelle!"
prefix_sign_up: Liity Mastodoniin tänään!
@@ -1051,13 +1051,13 @@ fi:
dont_have_your_security_key: Eikö sinulla ole suojausavainta?
forgot_password: Unohditko salasanasi?
invalid_reset_password_token: Salasanan palautustunnus on virheellinen tai vanhentunut. Pyydä uusi.
- link_to_otp: Syötä puhelimesi kaksivaiheinen koodi tai palautuskoodi
+ link_to_otp: Syötä puhelimesi kaksivaiheisen todennuksen koodi tai palautuskoodi
link_to_webauth: Käytä suojausavaintasi
log_in_with: Kirjaudu käyttäen
login: Kirjaudu sisään
logout: Kirjaudu ulos
migrate_account: Muuta toiseen tiliin
- migrate_account_html: Jos haluat ohjata tämän tilin toiseen tiliin, voit asettaa toisen tilin tästä.
+ migrate_account_html: Jos haluat ohjata tämän tilin toiseen, voit asettaa toisen tilin tästä.
or_log_in_with: Tai käytä kirjautumiseen
privacy_policy_agreement_html: Olen lukenut ja hyväksynyt tietosuojakäytännön
progress:
@@ -1138,7 +1138,7 @@ fi:
proceed: Poista tili
success_msg: Tilin poisto onnistui
warning:
- before: 'Ennen kuin jatkat, lue nämä huomautukset huolellisesti:'
+ before: 'Ennen kuin etenet, lue nämä huomautukset huolellisesti:'
caches: Muiden palvelimien välimuistiin tallentamaa sisältöä voi vielä löytyä
data_removal: Julkaisusi ja muut tietosi poistetaan pysyvästi
email_change_html: Voit muuttaa sähköpostiosoitettasi poistamatta tiliäsi
@@ -1198,7 +1198,7 @@ fi:
content: Valitettavasti jokin meni pieleen meidän päässämme.
title: Sivu ei ole oikein
'503': Sivua ei voitu näyttää palvelimen väliaikaisen vian vuoksi.
- noscript_html: Käyttääksesi Mastodon-verkkopalvelua, ota JavaScript käyttöön. Vaihtoehtoisesti voit kokeilla myös jotakin juuri käyttämällesi alustalle kehitettyä Mastodon-sovellusta.
+ noscript_html: Käyttääksesi Mastodonin verkkosovellusta, ota JavaScript käyttöön. Vaihtoehtoisesti voit kokeilla käyttämällesi alustalle kehitettyjä Mastodonin natiivisovelluksia.
existing_username_validator:
not_found: paikallista käyttäjää ei löydy kyseisellä käyttäjänimellä
not_found_multiple: "%{usernames} ei löytynyt"
@@ -1236,7 +1236,7 @@ fi:
statuses_hint_html: Tämä suodatin koskee yksittäisten julkaisujen valintaa riippumatta siitä, vastaavatko ne alla olevia avainsanoja. Tarkista tai poista julkaisut suodattimesta.
title: Muokkaa suodatinta
errors:
- deprecated_api_multiple_keywords: Näitä parametreja ei voi muuttaa tästä sovelluksesta, koska ne koskevat useampaa kuin yhtä suodattimen avainsanaa. Käytä uudempaa sovellusta tai selainkäyttöliittymää.
+ deprecated_api_multiple_keywords: Näitä parametreja ei voi muuttaa tästä sovelluksesta, koska ne koskevat useampaa kuin yhtä suodattimen avainsanaa. Käytä uudempaa sovellusta tai verkkokäyttöliittymää.
invalid_context: Ei sisältöä tai se on virheellinen
index:
contexts: Suodattimet %{contexts}
@@ -1262,7 +1262,7 @@ fi:
batch:
remove: Poista suodattimista
index:
- hint: Tämä suodatin koskee yksittäisten julkaisujen valintaa muista kriteereistä riippumatta. Voit lisätä lisää julkaisuja tähän suodattimeen web-käyttöliittymästä.
+ hint: Tämä suodatin koskee yksittäisten julkaisujen valintaa muista kriteereistä riippumatta. Voit lisätä lisää julkaisuja tähän suodattimeen verkkokäyttöliittymästä.
title: Suodatetut julkaisut
generic:
all: Kaikki
@@ -1279,7 +1279,7 @@ fi:
delete: Poista
deselect: Poista kaikki valinnat
none: Ei mitään
- order_by: Järjestä
+ order_by: Järjestys
save_changes: Tallenna muutokset
select_all_matching_items:
one: Valitse %{count} kohde, joka vastaa hakuasi.
@@ -1373,7 +1373,7 @@ fi:
limit: Sinulla on enimmäismäärä listoja
login_activities:
authentication_methods:
- otp: kaksivaiheinen todennussovellus
+ otp: kaksivaiheisen todennuksen sovellus
password: salasana
sign_in_token: sähköpostin turvakoodi
webauthn: suojausavaimet
@@ -1415,7 +1415,7 @@ fi:
on_cooldown: Sinä olet jäähyllä
followers_count: Seuraajat muuton aikana
incoming_migrations: Siirtyminen toiselta tililtä
- incoming_migrations_html: Siirtääksesi toisesta tilistä tähän tiliin, sinun täytyy ensin luoda tilin alias.
+ incoming_migrations_html: Siirtyäksesi toisesta tilistä tähän, sinun täytyy ensin luoda tilin alias.
moved_msg: Tilisi ohjaa nyt kohteeseen %{acct} ja seuraajiasi siirretään.
not_redirecting: Tilisi ei ohjaa tällä hetkellä mihinkään muuhun tiliin.
on_cooldown: Olet siirtänyt tilisi äskettäin. Tämä toiminto tulee saataville uudelleen %{count} päivän kuluttua.
@@ -1426,13 +1426,13 @@ fi:
set_redirect: Aseta uudelleenohjaus
warning:
backreference_required: Uusi tili on ensin määritettävä viittaamaan tähän tiliin
- before: 'Ennen jatkamista, lue nämä huomautukset huolellisesti:'
- cooldown: Muuton jälkeen on odotusaika, jonka aikana et pysty enää liikkumaan
- disabled_account: Nykyinen tilisi ei ole täysin käytettävissä jälkikäteen. Sinulla on kuitenkin pääsy tietojen vientiin ja uudelleenaktivointiin.
+ before: 'Ennen kuin etenet, lue nämä huomautukset huolellisesti:'
+ cooldown: Muuton jälkeen on odotusaika, jonka aikana et pysty enää muuttamaan
+ disabled_account: Nykyinen tilisi ei ole täysin käytettävissä tämän jälkeen. Sinulla on kuitenkin pääsy tietojen vientiin ja uudelleenaktivointiin.
followers: Tämä toiminto siirtää kaikki seuraajat nykyisestä tilistä uudelle tilille
- only_redirect_html: Vaihtoehtoisesti voit asettaa vain uudelleenohjauksen profiiliisi.
+ only_redirect_html: Vaihtoehtoisesti voit asettaa vain ohjauksen profiiliisi.
other_data: Muita tietoja ei siirretä automaattisesti
- redirect: Nykyinen tilisi profiili päivitetään, ohjataan uudelleen ja jätetään pois hausta
+ redirect: Nykyisen tilisi profiili päivitetään ohjaushuomautuksella ja suljetaan pois hauista
moderation:
title: Valvonta
move_handler:
@@ -1492,7 +1492,7 @@ fi:
trillion: B
otp_authentication:
code_hint: Anna todennussovelluksen luoma koodi vahvistaaksesi
- description_html: Jos otat käyttöön kaksivaiheisen todentamisen, käyttämällä todennussovellusta, kirjautumiseen vaaditaan puhelin, jolla voidaan luoda kirjautumistunnuksia.
+ description_html: Jos otat kaksivaiheisen todennuksen käyttöön käyttämällä todennussovellusta, kirjautumiseen vaaditaan puhelin, jolla voidaan luoda kirjautumistunnuksia.
enable: Ota käyttöön
instructions_html: "Lue tämä QR-koodi puhelimen Google Authenticator- tai vastaavalla TOTP-sovelluksella. Sen jälkeen sovellus luo tunnuksia, joita tarvitset kun kirjaudut sisään."
manual_instructions: 'Jos et voi lukea QR-koodia ja haluat syöttää sen käsin, tässä on salainen koodi tekstinä:'
@@ -1547,10 +1547,10 @@ fi:
following: Seuratut
invited: Kutsutut
last_active: Viimeksi aktiivinen
- most_recent: Viimeisin
- moved: Muuttanut
+ most_recent: Viimeisimmät
+ moved: Muuttaneet
mutual: Molemmat
- primary: Ensisijainen
+ primary: Ensisijaiset
relationship: Suhde
remove_selected_domains: Poista kaikki seuraajat valituista verkkotunnuksista
remove_selected_followers: Poista valitut seuraajat
@@ -1595,7 +1595,7 @@ fi:
weibo: Weibo
current_session: Nykyinen istunto
description: "%{browser} alustalla %{platform}"
- explanation: Nämä verkkoselaimet ovat tällä hetkellä kirjautuneet Mastodon-tilillesi.
+ explanation: Nämä verkkoselaimet ovat tällä hetkellä kirjautuneena Mastodon-tilillesi.
ip: IP-osoite
platforms:
adobe_air: Adobe AIR
@@ -1636,7 +1636,7 @@ fi:
relationships: Seuratut ja seuraajat
statuses_cleanup: Autom. julkaisujen poisto
strikes: Valvontavaroitukset
- two_factor_authentication: Kaksivaiheinen todentaminen
+ two_factor_authentication: Kaksivaiheinen todennus
webauthn_authentication: Suojausavaimet
statuses:
attached:
@@ -1681,7 +1681,7 @@ fi:
title: "%{name}: ”%{quote}”"
visibilities:
direct: Suoraan
- private: Vain seuraajille
+ private: Vain seuraajat
private_long: Näytä vain seuraajille
public: Julkinen
public_long: Kaikki voivat nähdä
@@ -1694,7 +1694,7 @@ fi:
explanation: Koska julkaisujen poistaminen on raskas toimi, se tapahtuu hitaasti ajan mittaan, kun palvelin ei ole muutoin ruuhkainen. Siksi viestejäsi voi poistua vasta tovi sen jälkeen, kun ne ovat saavuttaneet ikärajan.
ignore_favs: Ohita suosikit
ignore_reblogs: Ohita tehostukset
- interaction_exceptions: Poikkeukset, jotka perustuvat vuorovaikutukseen
+ interaction_exceptions: Vuorovaikutuksiin perustuvat poikkeukset
interaction_exceptions_explanation: Huomaa, ettei julkaisujen poistumisesta ole varmuutta, jos ne alittavat suosikki- tai tehostusrajan sen jälkeen kun ne on kerran ylitetty.
keep_direct: Säilytä yksityisviestit
keep_direct_hint: Ei poista yksityisviestejäsi
@@ -1703,7 +1703,7 @@ fi:
keep_pinned: Säilytä kiinnitetyt julkaisut
keep_pinned_hint: Ei poista kiinnitettyjä julkaisujasi
keep_polls: Säilytä äänestykset
- keep_polls_hint: Ei poista yhtäkään äänestystä
+ keep_polls_hint: Ei poista äänestyksiäsi
keep_self_bookmark: Säilytä kirjanmerkkeihin lisäämäsi julkaisut
keep_self_bookmark_hint: Ei poista julkaisujasi, jos olet lisännyt ne kirjanmerkkeihin
keep_self_fav: Säilytä suosikkeihin lisäämäsi julkaisut
@@ -1745,16 +1745,16 @@ fi:
too_many_requests: Käännöspalvelulle on hiljattain esitetty liian monta pyyntöä.
two_factor_authentication:
add: Lisää
- disable: Poista käytöstä
+ disable: Poista 2FA käytöstä
disabled_success: Kaksivaiheinen todennus on poistettu käytöstä
edit: Muokkaa
- enabled: Kaksivaiheinen todentaminen käytössä
- enabled_success: Kaksivaiheisen todentamisen käyttöönotto onnistui
+ enabled: Kaksivaiheinen todennus käytössä
+ enabled_success: Kaksivaiheisen todennuksen käyttöönotto onnistui
generate_recovery_codes: Luo palautuskoodit
- lost_recovery_codes: Palautuskoodien avulla voit käyttää tiliä, jos menetät puhelimesi. Jos olet hukannut palautuskoodit, voit luoda uudet tästä. Vanhat palautuskoodit poistetaan käytöstä.
- methods: Kaksivaiheisen tunnistautumisen menetelmät
+ lost_recovery_codes: Palautuskoodien avulla voit käyttää tiliä, jos menetät puhelimesi. Jos olet hukannut palautuskoodisi, voit luoda uudet tästä. Vanhat palautuskoodit poistetaan käytöstä.
+ methods: Kaksivaiheisen todennuksen menetelmät
otp: Todennussovellus
- recovery_codes: Varapalautuskoodit
+ recovery_codes: Ota palautuskoodit talteen
recovery_codes_regenerated: Uusien palautuskoodien luonti onnistui
recovery_instructions_html: Jos menetät puhelimesi, voit kirjautua tilillesi jollakin alla olevista palautuskoodeista. Pidä palautuskoodit hyvässä tallessa. Voit esimerkiksi tulostaa ne ja säilyttää muiden tärkeiden papereiden joukossa.
webauthn: Suojausavaimet
@@ -1776,7 +1776,7 @@ fi:
change_password: vaihda salasanasi
details: 'Tässä on tiedot kirjautumisesta:'
explanation: Olemme havainneet kirjautumisen tilillesi uudesta IP-osoitteesta.
- further_actions_html: Jos tämä et ollut sinä, suosittelemme että %{action} välittömästi ja ota kaksivaiheinen todennus käyttöön säilyttääksesi tilisi turvallisena.
+ further_actions_html: Jos tämä et ollut sinä, suosittelemme, että %{action} heti ja otat käyttöön kaksivaiheisen todennuksen pitääksesi tilisi turvassa.
subject: Tiliäsi on käytetty uudesta IP-osoitteesta
title: Uusi kirjautuminen
warning:
@@ -1828,26 +1828,26 @@ fi:
seamless_external_login: Olet kirjautunut ulkoisen palvelun kautta, joten salasana- ja sähköpostiasetukset eivät ole käytettävissä.
signed_in_as: 'Kirjautunut tilillä:'
verification:
- extra_instructions_html: Vinkki: Tämä linkitys verkkosivustollasi voidaan toteuttaa myös näkymättömänä. Tärkeä osuus on rel="me" -määre, jolla ehkäistään valeprofiilikäyttötarkoituksia sivustoilla, joiden sisältö perustuu käyttäjiensä julkaisuihin. Voit siis käyttää linkkiviittauselementtiä link HTML-lähdekoodin otsakeosassa (head) sen sijaan, että käyttäisit näkyvää hyperlinkkielementtiä a. HTML-lähdekoodin tulee tuolta osin kuitenkin olla JavaScriptistä riippumatonta.
+ extra_instructions_html: Vinkki: Verkkosivustollasi oleva linkki voi olla myös näkymätön. Olennainen osuus on rel="me", joka estää toiseksi henkilöksi tekeytymisen verkkosivustoilla, joilla on käyttäjien luomaa sisältöä. Voit käyttää jopa link-elementtiä sivun head-osassa elementin a sijaan, mutta HTML:n pitää olla käytettävissä ilman JavaScript-koodin suorittamista.
here_is_how: Näin voit tehdä sen
- hint_html: "Mastodonissa henkilöllisyyden vahventaminen on jokaisen käyttäjän ulottuvilla. Tämä perustuu avoimiin standardeihin, maksuttomasti nyt ja aina. Kaikki mitä tarvitset on henkilökohtainen verkkosivusto, jonka avulla sinut voidaan tunnistaa. Kun Mastodon-profiilistasi on linkki kyseiselle verkkosivustollesi, ja sieltä löytyy vastaviittaus tai -linkitys profiiliisi, näkyy profiilissasi vahvistustunniste."
- instructions_html: Kopioi ja liitä alla oleva koodi verkkosivusi HTML-lähdekoodiin. Lisää sitten verkkosivustosi osoite johonkin ylimääräisistä kentistä profiiliasetuksissa, "Muokkaa profiilia" -välilehdestä, ja tallenna muutokset.
+ hint_html: "Henkilöllisyyden vahvistaminen on Mastodonissa jokaisen käyttäjän ulottuvilla. Se perustuu avoimiin standardeihin ja on maksutonta nyt ja aina. Tarvitset vain henkilökohtaisen verkkosivuston, jonka perusteella sinut voidaan tunnistaa. Kun teet linkin tuolle verkkosivulle profiilistasi, tarkistamme, että verkkosivustolla on linkki takaisin profiiliisi, ja näytämme profiilissasi visuaalisen ilmaisimen."
+ instructions_html: Kopioi ja liitä alla oleva koodi verkkosivustosi HTML-lähdekoodiin. Lisää sitten verkkosivustosi osoite johonkin profiilisi lisäkentistä ”Muokkaa profiilia” -välilehdellä ja tallenna muutokset.
verification: Vahvistus
verified_links: Vahvistetut linkkisi
webauthn_credentials:
add: Lisää uusi suojausavain
create:
- error: Suojausavaimen lisäämisessä tapahtui ongelma. Yritä uudelleen.
- success: Sinun suojausavaimen lisääminen onnistui.
+ error: Suojausavaimen lisäämisessä oli ongelma. Yritä uudelleen.
+ success: Suojausavaimesi lisääminen onnistui.
delete: Poista
delete_confirmation: Haluatko varmasti poistaa tämän suojausavaimen?
description_html: Jos otat suojausavaimen todennuksen käyttöön, kirjautuminen edellyttää jonkin suojausavaimen käyttämistä.
destroy:
- error: Suojausavaimen poistamisessa tapahtui ongelma. Yritä uudelleen.
- success: Sinun suojausavaimen poistaminen onnistui.
+ error: Suojausavaimen poistamisessa oli ongelma. Yritä uudelleen.
+ success: Suojausavaimesi poistaminen onnistui.
invalid_credential: Virheellinen suojausavain
- nickname_hint: Anna nimimerkki uudelle suojausavaimelle
+ nickname_hint: Anna uuden suojausaivaimesi lempinimi
not_enabled: Et ole vielä ottanut käyttöön WebAuthn-ohjelmaa
not_supported: Tämä selain ei tue suojausavaimia
- otp_required: Jos haluat käyttää suojausavaimia, ota ensin käyttöön kaksivaiheinen todennus.
+ otp_required: Jos haluat käyttää suojausavaimia, ota ensin kaksivaiheinen todennus käyttöön.
registered_on: Rekisteröity %{date}
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index db82edba24..1eec9a9317 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -11,9 +11,9 @@ fi:
show_collections: Käyttäjät voivat selata seurattujasi ja seuraajiasi. Käyttäjät, joita seuraat, näkevät joka tapauksessa, että seuraat heitä.
unlocked: Käyttäjät voivat seurata sinua pyytämättä hyväksyntää. Poista valinta, jos haluat tarkistaa ja hyväksyä tai hylätä vastaanottamasi seuraamispyynnöt.
account_alias:
- acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus, josta haluat siirtyä
+ acct: Määrittele sen tilin käyttäjänimi@verkkotunnus, josta haluat siirtyä
account_migration:
- acct: Määrittele käyttäjän käyttäjänimi@verkkotunnus, johon haluat siirtyä
+ acct: Määrittele sen tilin käyttäjänimi@verkkotunnus, johon haluat siirtyä
account_warning_preset:
text: Voit käyttää julkaisun syntaksia, kuten URL-osoitteita, aihetunnisteita ja mainintoja
title: Valinnainen. Ei näy vastaanottajalle
@@ -41,7 +41,7 @@ fi:
autofollow: Henkilöt, jotka rekisteröityvät kutsun kautta, seuraavat sinua automaattisesti
avatar: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
bot: Tämä tili suorittaa enimmäkseen automaattisia toimintoja eikä sitä ehkä valvota
- context: Yksi tai useampi asiayhteys, jossa suodattimen pitäisi olla käytössä
+ context: Ainakin yksi konteksti, jossa suodattimen pitäisi olla voimassa
current_password: Turvallisuussyistä kirjoita nykyisen tilin salasana
current_username: Vahvista kirjoittamalla nykyisen tilin käyttäjätunnus
digest: Lähetetään vain pitkän poissaolon jälkeen ja vain, jos olet saanut suoria viestejä poissaolosi aikana
@@ -54,15 +54,15 @@ fi:
phrase: Täsmää riippumatta tekstin aakkoslajista tai julkaisun sisältövaroituksesta
scopes: Mihin sovellusliittymiin sovellus pääsee käsiksi. Jos valitset ylätason laajuuden, sinun ei tarvitse valita yksittäisiä.
setting_aggregate_reblogs: Älä näytä uusia tehostuksia julkaisuille, joita on äskettäin tehostettu (koskee vain juuri vastaanotettuja tehostuksia)
- setting_always_send_emails: Yleensä sähköposti-ilmoituksia ei lähetetä, kun käytät aktiivisesti Mastodonia
- setting_default_sensitive: Arkaluontoinen media on oletuksena piilotettu ja se voidaan näyttää yhdellä napsautuksella
+ setting_always_send_emails: Yleensä sähköposti-ilmoituksia ei lähetetä, kun käytät Mastodonia aktiivisesti
+ setting_default_sensitive: Arkaluonteinen media on oletuksena piilotettu, ja se voidaan näyttää yhdellä napsautuksella
setting_display_media_default: Piilota arkaluonteiseksi merkitty media
setting_display_media_hide_all: Piilota media aina
setting_display_media_show_all: Näytä media aina
setting_use_blurhash: Liukuvärit perustuvat piilotettujen kuvien väreihin, mutta sumentavat yksityiskohdat
setting_use_pending_items: Piilota aikajanan päivitykset napsautuksen taakse syötteen automaattisen vierityksen sijaan
username: Voit käyttää kirjaimia, numeroita ja alaviivoja
- whole_word: Kun avainsana tai lause on vain aakkosnumeerinen, se otetaan käyttöön, jos se vastaa koko sanaa
+ whole_word: Kun avainsana tai -fraasi on kokonaan aakkosnumeerinen, se on voimassa vain, jos se vastaa koko sanaa
domain_allow:
domain: Tämä verkkotunnus voi noutaa tietoja tältä palvelimelta ja sieltä saapuvat tiedot käsitellään ja tallennetaan
email_domain_block:
@@ -71,7 +71,7 @@ fi:
featured_tag:
name: 'Tässä muutamia hiljattain käyttämiäsi aihetunnisteita:'
filters:
- action: Valitse, mikä toiminto suoritetaan, kun viesti vastaa suodatinta
+ action: Valitse, mikä toiminto suoritetaan, kun julkaisu vastaa suodatinta
actions:
hide: Piilota suodatettu sisältö kokonaan ja käyttäydy ikään kuin sitä ei olisi olemassa
warn: Piilota suodatettu sisältö varoituksen taakse, jossa mainitaan suodattimen nimi
@@ -126,7 +126,7 @@ fi:
tag:
name: Voit muuttaa esimerkiksi kirjaimia paremmin luettavaksi
user:
- chosen_languages: Kun valittu, vain valituilla kielillä julkaistut viestit näkyvät julkisilla aikajanoilla
+ chosen_languages: Kun valittu, vain valituilla kielillä kirjoitetut julkaisut näkyvät julkisilla aikajanoilla
role: Rooli määrää, mitkä käyttöoikeudet käyttäjällä on
user_role:
color: Väri, jota käytetään roolin koko käyttöliittymässä, RGB heksamuodossa
@@ -148,21 +148,21 @@ fi:
show_collections: Näytä seuratut ja seuraajat profiilissa
unlocked: Hyväksy uudet seuraajat automaattisesti
account_alias:
- acct: Vanhan tilin käsittely
+ acct: Vanhan tilin käyttäjätunnus
account_migration:
- acct: Uuden tilin käsittely
+ acct: Uuden tilin käyttäjätunnus
account_warning_preset:
text: Esiasetettu teksti
- title: Otsikko
+ title: Nimi
admin_account_action:
include_statuses: Sisällytä raportoidut viestit sähköpostiin
send_email_notification: Ilmoita käyttäjälle sähköpostitse
text: Mukautettu varoitus
- type: Toimenpide
+ type: Toimi
types:
disable: Poista kirjautuminen käytöstä
none: Älä tee mitään
- sensitive: Arkaluontoinen
+ sensitive: Arkaluonteinen
silence: Hiljennä
suspend: Poista käytöstä ja tuhoa käyttäjätunnuksen tiedot peruuttamattomasti
warning_preset_id: Käytä varoitusmallia
@@ -181,7 +181,7 @@ fi:
chosen_languages: Suodata kieliä
confirm_new_password: Vahvista uusi salasana
confirm_password: Vahvista salasana
- context: Suodata konteksteista
+ context: Suodattimen kontekstit
current_password: Nykyinen salasana
data: Tiedot
display_name: Näyttönimi
@@ -198,15 +198,15 @@ fi:
note: Elämäkerta
otp_attempt: Kaksivaiheisen tunnistuksen koodi
password: Salasana
- phrase: Avainsana tai lause
- setting_advanced_layout: Ota käyttöön edistynyt selainkäyttöliittymä
- setting_aggregate_reblogs: Ryhmitä tehostukset aikajanalla
- setting_always_send_emails: Lähetä aina sähköposti-ilmoituksia
+ phrase: Avainsana tai -fraasi
+ setting_advanced_layout: Ota edistynyt selainkäyttöliittymä käyttöön
+ setting_aggregate_reblogs: Ryhmitä tehostukset aikajanoilla
+ setting_always_send_emails: Lähetä sähköposti-ilmoitukset aina
setting_auto_play_gif: Toista GIF-animaatiot automaattisesti
setting_boost_modal: Kysy vahvistusta ennen tehostusta
- setting_default_language: Viestien kieli
- setting_default_privacy: Viestin näkyvyys
- setting_default_sensitive: Merkitse media aina arkaluontoiseksi
+ setting_default_language: Julkaisun kieli
+ setting_default_privacy: Julkaisun näkyvyys
+ setting_default_sensitive: Merkitse media aina arkaluonteiseksi
setting_delete_modal: Kysy vahvistusta ennen julkaisun poistamista
setting_disable_swiping: Poista pyyhkäisyt käytöstä
setting_display_media: Median näyttäminen
@@ -224,7 +224,7 @@ fi:
setting_use_pending_items: Hidas tila
severity: Vakavuus
sign_in_token_attempt: Turvakoodi
- title: Otsikko
+ title: Nimi
type: Tuontilaji
username: Käyttäjänimi
username_or_email: Käyttäjänimi tai sähköposti
@@ -236,7 +236,7 @@ fi:
filters:
actions:
hide: Piilota kokonaan
- warn: Piilota varoituksella
+ warn: Piilota ja näytä varoitus
form_admin_settings:
activity_api_enabled: Julkaise yhteenlasketut tilastot käyttäjätoiminnasta rajapinnassa
backups_retention_period: Käyttäjän arkiston säilytysaika
@@ -268,14 +268,14 @@ fi:
interactions:
must_be_follower: Estä ilmoitukset käyttäjiltä, jotka eivät seuraa sinua
must_be_following: Estä ilmoitukset käyttäjiltä, joita et seuraa
- must_be_following_dm: Estä suorat viestit käyttäjiltä, joita et seuraa
+ must_be_following_dm: Estä yksityisviestit käyttäjiltä, joita et seuraa
invite:
comment: Kommentoi
invite_request:
text: Miksi haluat liittyä?
ip_block:
comment: Kommentti
- ip: IP
+ ip: IP-osoite
severities:
no_access: Estä pääsy
sign_up_block: Estä kirjautumiset
@@ -284,11 +284,11 @@ fi:
notification_emails:
appeal: Joku valittaa valvojan päätöksestä
digest: Lähetä koosteviestejä sähköpostitse
- favourite: Lähetä sähköposti, kun joku tykkää tilastasi
- follow: Lähetä sähköposti, kun joku seuraa sinua
- follow_request: Lähetä sähköposti, kun joku pyytää seurata sinua
- mention: Lähetä sähköposti, kun sinut mainitaan
- pending_account: Uusi tili tarvitsee tarkastusta
+ favourite: Joku lisäsi julkaisusi suosikkeihinsa
+ follow: Joku seurasi sinua
+ follow_request: Joku pyysi saada seurata sinua
+ mention: Joku mainitsi sinut
+ pending_account: Uusi tili tarvitsee tarkistusta
reblog: Joku tehosti julkaisuasi
report: Uusi raportti on lähetetty
software_updates:
@@ -297,7 +297,7 @@ fi:
label: Uusi Mastodon-versio on saatavilla
none: Älä koskaan ilmoita päivityksistä (ei suositeltu)
patch: Ilmoita virhekorjauspäivityksistä
- trending_tag: Uusi trendi vaatii tarkastelua
+ trending_tag: Uusi trendi vaatii tarkistusta
rule:
text: Sääntö
settings:
From 9b785877d2ae752359acf3ed636cc5f2da53510e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 29 Sep 2023 15:34:32 +0200
Subject: [PATCH 24/73] Update DefinitelyTyped types (non-major) (#27212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
package.json | 2 +-
yarn.lock | 113 +++++++++++++++++++++++++++------------------------
2 files changed, 61 insertions(+), 54 deletions(-)
diff --git a/package.json b/package.json
index 227399e804..bedfe076ff 100644
--- a/package.json
+++ b/package.json
@@ -172,7 +172,7 @@
"@types/react-dom": "^18.2.4",
"@types/react-helmet": "^6.1.6",
"@types/react-immutable-proptypes": "^2.1.0",
- "@types/react-motion": "^0.0.34",
+ "@types/react-motion": "^0.0.35",
"@types/react-overlays": "^3.1.0",
"@types/react-router-dom": "^5.3.3",
"@types/react-select": "^5.0.1",
diff --git a/yarn.lock b/yarn.lock
index 015c5544a7..e150c6faee 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1096,13 +1096,20 @@
dependencies:
regenerator-runtime "^0.12.0"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8"
integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==
dependencies:
regenerator-runtime "^0.14.0"
+"@babel/runtime@^7.9.2":
+ version "7.23.1"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d"
+ integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
"@babel/template@^7.22.15", "@babel/template@^7.22.5":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
@@ -2305,9 +2312,9 @@
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
"@types/node@*":
- version "20.6.5"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.5.tgz#4c6a79adf59a8e8193ac87a0e522605b16587258"
- integrity sha512-2qGq5LAOTh9izcc0+F+dToFigBWiK1phKPt7rNhOqJSr35y8rlIBjDwGtFSgAI6MGIhjwOVNSQZVdJsZJ2uR1w==
+ version "20.7.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.7.1.tgz#06d732ead0bd5ad978ef0ea9cbdeb24dc8717514"
+ integrity sha512-LT+OIXpp2kj4E2S/p91BMe+VgGX2+lfO+XTpfXhh+bCk2LkQtHZSub8ewFBMGP5ClysPjTDFa4sMI8Q3n4T0wg==
"@types/node@14 || 16 || 17":
version "17.0.45"
@@ -2374,31 +2381,31 @@
integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
"@types/react-dom@^18.0.0", "@types/react-dom@^18.2.4":
- version "18.2.7"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.7.tgz#67222a08c0a6ae0a0da33c3532348277c70abb63"
- integrity sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==
+ version "18.2.8"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.8.tgz#338f1b0a646c9f10e0a97208c1d26b9f473dffd6"
+ integrity sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==
dependencies:
"@types/react" "*"
"@types/react-helmet@^6.1.6":
- version "6.1.6"
- resolved "https://registry.yarnpkg.com/@types/react-helmet/-/react-helmet-6.1.6.tgz#7d1afd8cbf099616894e8240e9ef70e3c6d7506d"
- integrity sha512-ZKcoOdW/Tg+kiUbkFCBtvDw0k3nD4HJ/h/B9yWxN4uDO8OkRksWTO+EL+z/Qu3aHTeTll3Ro0Cc/8UhwBCMG5A==
+ version "6.1.7"
+ resolved "https://registry.yarnpkg.com/@types/react-helmet/-/react-helmet-6.1.7.tgz#4cecc03165084727408d29d92d8fdd4a7e267403"
+ integrity sha512-mUFOrdR3AIvHE8BEaqzfPEnR62xq5PHQJehhgNtj78x0d5NOxUCQ0j+r9OZ4RvB+prNZx9wvQnVW8ApFBX+fig==
dependencies:
"@types/react" "*"
"@types/react-immutable-proptypes@^2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@types/react-immutable-proptypes/-/react-immutable-proptypes-2.1.0.tgz#c045fb48ba28c34c9d759abc3a51a04b5321b77a"
- integrity sha512-NRH4W4mgymzyM2gnAG+i2VoOdWIBOQlJlSyAgnFiBTdJ0l8IVeyCtdWP8g6Lra59sUBj2XUO/+DkfmrRAxj6UA==
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/@types/react-immutable-proptypes/-/react-immutable-proptypes-2.1.1.tgz#9327e09b07ea61c95a8c99869a5e9f0fc1690cc4"
+ integrity sha512-PiVos0qCotGqI+J0kOeFhbeg7zK8StPMTSDGaTtgYkX6UPjuVVS7lJMedyt4kAMFbM/2QE0bbP5jh22WqtspQg==
dependencies:
"@types/prop-types" "*"
immutable "^3.8.2"
-"@types/react-motion@^0.0.34":
- version "0.0.34"
- resolved "https://registry.yarnpkg.com/@types/react-motion/-/react-motion-0.0.34.tgz#789ff2063e2f7fbb6085d291135c442e8b35291a"
- integrity sha512-/rFI22Vg4Xzb47hXtS06WkzUGRu+Vb3yDleuxiqzGj0JbXYXQUCgwSa2ZU12K7ubKi4C8xsdIN3xt4Z4fjSdPw==
+"@types/react-motion@^0.0.35":
+ version "0.0.35"
+ resolved "https://registry.yarnpkg.com/@types/react-motion/-/react-motion-0.0.35.tgz#63002d85791dc9c7c212044c7b89dfff99cd0b51"
+ integrity sha512-7e0rlyG4wgvL1F5G8FMpgEYgPF54i7tmOy3b9KSp6kPjU2hEAV6BiRrl3qMPGrJXZ9soH/OlUYx1Ae5C9AJLGA==
dependencies:
"@types/react" "*"
@@ -2434,23 +2441,23 @@
react-select "*"
"@types/react-sparklines@^1.7.2":
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/@types/react-sparklines/-/react-sparklines-1.7.2.tgz#c14e80623abd3669a10f18d13f6fb9fbdc322f70"
- integrity sha512-N1GwO7Ri5C5fE8+CxhiDntuSw1qYdGytBuedKrCxWpaojXm4WnfygbdBdc5sXGX7feMxDXBy9MNhxoUTwrMl4A==
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/@types/react-sparklines/-/react-sparklines-1.7.3.tgz#cdcbeea734bae191011d8f42ef20d794e55b9064"
+ integrity sha512-fU88CytKUp/aT8CsaWCNOgcvto5OoINj717z9l0a6OiLiz4EhojRW3c6dSwawM9VjKOIJZMXobSRbbJt7MCtsw==
dependencies:
"@types/react" "*"
"@types/react-swipeable-views@^0.13.1":
- version "0.13.2"
- resolved "https://registry.yarnpkg.com/@types/react-swipeable-views/-/react-swipeable-views-0.13.2.tgz#c37cc8978ae60ab0dff209ef3eb1f77185aef330"
- integrity sha512-FiszBm9M0JicAgzO/IwDqpfHQRUEjPZA88UexYsVD6qHJBf5LrbGjR5Mw4+yZbf8ZxJneNqOsZbe4WGjOYG7iQ==
+ version "0.13.3"
+ resolved "https://registry.yarnpkg.com/@types/react-swipeable-views/-/react-swipeable-views-0.13.3.tgz#a4c545b7b722c2622806e5853a96ec5826b0bafb"
+ integrity sha512-gVAQb5AxZTSLVTrJ/Fxwsk0axdBqGzXC8NxAD8MNwEf+qZynsb+15KL9TpNCaGGk4SCE2iyU/JNi6nGNB61AyA==
dependencies:
"@types/react" "*"
"@types/react-test-renderer@^18.0.0":
- version "18.0.2"
- resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.2.tgz#44243977eec18ab8cda88d8977437f47a0d3fdbe"
- integrity sha512-tJzMn+9GHDrdrLe0O4rwJELDfTrmdJbCn/UdYyzjlnPiXYXDl5FBNzdw4PVk2R3hJvSHKFjZcRgvZc12lV0p5Q==
+ version "18.0.3"
+ resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-18.0.3.tgz#67922bf5e5f0096581b1efd67dcdeabdd400cfea"
+ integrity sha512-4wcNLnY6nIT+L6g94CpzL4CXX2P18JvKPU9CDlaHr3DnbP3GiaQLhDotJqjWlVqOcE4UhLRjp0MtxqwuNKONnA==
dependencies:
"@types/react" "*"
@@ -2476,18 +2483,18 @@
"@types/react" "*"
"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@>=16.9.11", "@types/react@^18.0.26", "@types/react@^18.2.7":
- version "18.2.22"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.22.tgz#abe778a1c95a07fa70df40a52d7300a40b949ccb"
- integrity sha512-60fLTOLqzarLED2O3UQImc/lsNRgG0jE/a1mPW9KjMemY0LMITWEsbS4VvZ4p6rorEHd5YKxxmMKSDK505GHpA==
+ version "18.2.23"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.23.tgz#60ad6cf4895e93bed858db0e03bcc4ff97d0410e"
+ integrity sha512-qHLW6n1q2+7KyBEYnrZpcsAmU/iiCh9WGCKgXvMxx89+TYdJWRjZohVIo9XTcoLhfX3+/hP0Pbulu3bCZQ9PSA==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/redux-immutable@^4.0.3":
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/@types/redux-immutable/-/redux-immutable-4.0.3.tgz#db92a281aa9a55a7b63bc1f20a233790305a1f06"
- integrity sha512-wXUApt9ib9MGUqoHUMbQmQhqCkvykMHBW3z/P7DISMigFGpGRQ0kkbv7we0XNiv5sYEtEiZzNCEDm+W6ei04DA==
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/@types/redux-immutable/-/redux-immutable-4.0.4.tgz#091641dea366ceed4f8b228a08a0de5f380b9bfd"
+ integrity sha512-qPFra/qd6HX7+bxayxwM9bsGdMoF7QhTGW/ZJFiaoBZVDZEnQEQCrDhsbSW8Xpuihe6xJ0TRHG3/WTvQpHLGaQ==
dependencies:
immutable "^4.0.0-rc.1"
redux "^4.0.0"
@@ -2505,9 +2512,9 @@
"@types/node" "*"
"@types/scheduler@*":
- version "0.16.3"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
- integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
+ version "0.16.4"
+ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.4.tgz#fedc3e5b15c26dc18faae96bf1317487cb3658cf"
+ integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==
"@types/semver@^7.5.0":
version "7.5.2"
@@ -2532,9 +2539,9 @@
"@types/node" "*"
"@types/source-list-map@*":
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9"
- integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.3.tgz#077e15c87fe06520e30396a533bd9848e735ce9b"
+ integrity sha512-I9R/7fUjzUOyDy6AFkehCK711wWoAXEaBi80AfjZt1lIkbe6AcXKd3ckQc3liMvQExWvfOeh/8CtKzrfUFN5gA==
"@types/stack-utils@^2.0.0":
version "2.0.1"
@@ -2542,9 +2549,9 @@
integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
"@types/tapable@^1":
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310"
- integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.9.tgz#1481a4236267dd2d0ca2a637adb90f0ccb3d69c4"
+ integrity sha512-fOHIwZua0sRltqWzODGUM6b4ffZrf/vzGUmNXdR+4DzuJP42PMbM5dLKcdzlYvv8bMJ3GALOzkk1q7cDm2zPyA==
"@types/tough-cookie@*":
version "4.0.2"
@@ -2557,9 +2564,9 @@
integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==
"@types/uglify-js@*":
- version "3.17.1"
- resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.1.tgz#e0ffcef756476410e5bce2cb01384ed878a195b5"
- integrity sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g==
+ version "3.17.2"
+ resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.2.tgz#a2ba86fd524f6281a7655463338c546f845b29c3"
+ integrity sha512-9SjrHO54LINgC/6Ehr81NjAxAYvwEZqjUHLjJYvC4Nmr9jbLQCIZbWSvl4vXQkkmR1UAuaKDycau3O1kWGFyXQ==
dependencies:
source-map "^0.6.1"
@@ -2579,18 +2586,18 @@
integrity sha512-t/Tvs5qR47OLOr+4E9ckN8AmP2Tf16gWq+/qA4iUGS/OOyHVO8wv2vjJuX8SNOUTJyWb+2t7wJm6cXILFnOROA==
"@types/webpack-sources@*":
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b"
- integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg==
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.1.tgz#98670b35fa799c44ac235910f3fda9bfdcdbc2c6"
+ integrity sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ==
dependencies:
"@types/node" "*"
"@types/source-list-map" "*"
source-map "^0.7.3"
"@types/webpack@^4.41.33":
- version "4.41.33"
- resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.33.tgz#16164845a5be6a306bcbe554a8e67f9cac215ffc"
- integrity sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g==
+ version "4.41.34"
+ resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.34.tgz#8cf616be84b39c8fb26f9459d4470a5514df2477"
+ integrity sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g==
dependencies:
"@types/node" "*"
"@types/tapable" "^1"
@@ -2605,9 +2612,9 @@
integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==
"@types/yargs@^17.0.24", "@types/yargs@^17.0.8":
- version "17.0.25"
- resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.25.tgz#3edd102803c97356fb4c805b2bbaf7dfc9ab6abc"
- integrity sha512-gy7iPgwnzNvxgAEi2bXOHWCVOG6f7xsprVJH4MjlAWeBmJ7vh/Y1kwMtUrs64ztf24zVIRCpr3n/z6gm9QIkgg==
+ version "17.0.26"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.26.tgz#388e5002a8b284ad7b4599ba89920a6d74d8d79a"
+ integrity sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==
dependencies:
"@types/yargs-parser" "*"
From 48ef7d0f067943b5e608eaee7bba4e277bea83db Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 29 Sep 2023 15:34:55 +0200
Subject: [PATCH 25/73] Update libretranslate/libretranslate Docker tag to
v1.3.12 (#27214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.devcontainer/docker-compose.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml
index 20aecd71d6..0369521963 100644
--- a/.devcontainer/docker-compose.yml
+++ b/.devcontainer/docker-compose.yml
@@ -70,7 +70,7 @@ services:
hard: -1
libretranslate:
- image: libretranslate/libretranslate:v1.3.11
+ image: libretranslate/libretranslate:v1.3.12
restart: unless-stopped
volumes:
- lt-data:/home/libretranslate/.local
From 5393be7a21331c8615ffb79c2271db92f6959458 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Fri, 29 Sep 2023 15:51:27 +0200
Subject: [PATCH 26/73] Update eslint (non-major) to v6.7.3 (#27213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 109 ++++++++++++++++++++++++++++--------------------------
1 file changed, 57 insertions(+), 52 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index e150c6faee..19436669f3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1305,7 +1305,12 @@
dependencies:
eslint-visitor-keys "^3.3.0"
-"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
+"@eslint-community/regexpp@^4.5.1":
+ version "4.9.0"
+ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.0.tgz#7ccb5f58703fa61ffdcbf39e2c604a109e781162"
+ integrity sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==
+
+"@eslint-community/regexpp@^4.6.1":
version "4.8.1"
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.1.tgz#8c4bb756cc2aa7eaf13cfa5e69c83afb3260c20c"
integrity sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==
@@ -2517,9 +2522,9 @@
integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==
"@types/semver@^7.5.0":
- version "7.5.2"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.2.tgz#31f6eec1ed7ec23f4f05608d3a2d381df041f564"
- integrity sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==
+ version "7.5.3"
+ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04"
+ integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==
"@types/send@*":
version "0.17.1"
@@ -2619,15 +2624,15 @@
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^6.0.0":
- version "6.7.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz#f18cc75c9cceac8080a9dc2e7d166008c5207b9f"
- integrity sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==
+ version "6.7.3"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.3.tgz#d98046e9f7102d49a93d944d413c6055c47fafd7"
+ integrity sha512-vntq452UHNltxsaaN+L9WyuMch8bMd9CqJ3zhzTPXXidwbf5mqqKCVXEuvRZUqLJSTLeWE65lQwyXsRGnXkCTA==
dependencies:
"@eslint-community/regexpp" "^4.5.1"
- "@typescript-eslint/scope-manager" "6.7.2"
- "@typescript-eslint/type-utils" "6.7.2"
- "@typescript-eslint/utils" "6.7.2"
- "@typescript-eslint/visitor-keys" "6.7.2"
+ "@typescript-eslint/scope-manager" "6.7.3"
+ "@typescript-eslint/type-utils" "6.7.3"
+ "@typescript-eslint/utils" "6.7.3"
+ "@typescript-eslint/visitor-keys" "6.7.3"
debug "^4.3.4"
graphemer "^1.4.0"
ignore "^5.2.4"
@@ -2636,31 +2641,31 @@
ts-api-utils "^1.0.1"
"@typescript-eslint/parser@^6.0.0":
- version "6.7.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.7.2.tgz#e0ae93771441b9518e67d0660c79e3a105497af4"
- integrity sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==
+ version "6.7.3"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.7.3.tgz#aaf40092a32877439e5957e18f2d6a91c82cc2fd"
+ integrity sha512-TlutE+iep2o7R8Lf+yoer3zU6/0EAUc8QIBB3GYBc1KGz4c4TRm83xwXUZVPlZ6YCLss4r77jbu6j3sendJoiQ==
dependencies:
- "@typescript-eslint/scope-manager" "6.7.2"
- "@typescript-eslint/types" "6.7.2"
- "@typescript-eslint/typescript-estree" "6.7.2"
- "@typescript-eslint/visitor-keys" "6.7.2"
+ "@typescript-eslint/scope-manager" "6.7.3"
+ "@typescript-eslint/types" "6.7.3"
+ "@typescript-eslint/typescript-estree" "6.7.3"
+ "@typescript-eslint/visitor-keys" "6.7.3"
debug "^4.3.4"
-"@typescript-eslint/scope-manager@6.7.2":
- version "6.7.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz#cf59a2095d2f894770c94be489648ad1c78dc689"
- integrity sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==
+"@typescript-eslint/scope-manager@6.7.3":
+ version "6.7.3"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.3.tgz#07e5709c9bdae3eaf216947433ef97b3b8b7d755"
+ integrity sha512-wOlo0QnEou9cHO2TdkJmzF7DFGvAKEnB82PuPNHpT8ZKKaZu6Bm63ugOTn9fXNJtvuDPanBc78lGUGGytJoVzQ==
dependencies:
- "@typescript-eslint/types" "6.7.2"
- "@typescript-eslint/visitor-keys" "6.7.2"
+ "@typescript-eslint/types" "6.7.3"
+ "@typescript-eslint/visitor-keys" "6.7.3"
-"@typescript-eslint/type-utils@6.7.2":
- version "6.7.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz#ed921c9db87d72fa2939fee242d700561454f367"
- integrity sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==
+"@typescript-eslint/type-utils@6.7.3":
+ version "6.7.3"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.7.3.tgz#c2c165c135dda68a5e70074ade183f5ad68f3400"
+ integrity sha512-Fc68K0aTDrKIBvLnKTZ5Pf3MXK495YErrbHb1R6aTpfK5OdSFj0rVN7ib6Tx6ePrZ2gsjLqr0s98NG7l96KSQw==
dependencies:
- "@typescript-eslint/typescript-estree" "6.7.2"
- "@typescript-eslint/utils" "6.7.2"
+ "@typescript-eslint/typescript-estree" "6.7.3"
+ "@typescript-eslint/utils" "6.7.3"
debug "^4.3.4"
ts-api-utils "^1.0.1"
@@ -2669,10 +2674,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
-"@typescript-eslint/types@6.7.2":
- version "6.7.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.2.tgz#75a615a6dbeca09cafd102fe7f465da1d8a3c066"
- integrity sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==
+"@typescript-eslint/types@6.7.3":
+ version "6.7.3"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.3.tgz#0402b5628a63f24f2dc9d4a678e9a92cc50ea3e9"
+ integrity sha512-4g+de6roB2NFcfkZb439tigpAMnvEIg3rIjWQ+EM7IBaYt/CdJt6em9BJ4h4UpdgaBWdmx2iWsafHTrqmgIPNw==
"@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0"
@@ -2687,30 +2692,30 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/typescript-estree@6.7.2":
- version "6.7.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz#ce5883c23b581a5caf878af641e49dd0349238c7"
- integrity sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==
+"@typescript-eslint/typescript-estree@6.7.3":
+ version "6.7.3"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.3.tgz#ec5bb7ab4d3566818abaf0e4a8fa1958561b7279"
+ integrity sha512-YLQ3tJoS4VxLFYHTw21oe1/vIZPRqAO91z6Uv0Ss2BKm/Ag7/RVQBcXTGcXhgJMdA4U+HrKuY5gWlJlvoaKZ5g==
dependencies:
- "@typescript-eslint/types" "6.7.2"
- "@typescript-eslint/visitor-keys" "6.7.2"
+ "@typescript-eslint/types" "6.7.3"
+ "@typescript-eslint/visitor-keys" "6.7.3"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.5.4"
ts-api-utils "^1.0.1"
-"@typescript-eslint/utils@6.7.2":
- version "6.7.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.7.2.tgz#b9ef0da6f04932167a9222cb4ac59cb187165ebf"
- integrity sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==
+"@typescript-eslint/utils@6.7.3":
+ version "6.7.3"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.7.3.tgz#96c655816c373135b07282d67407cb577f62e143"
+ integrity sha512-vzLkVder21GpWRrmSR9JxGZ5+ibIUSudXlW52qeKpzUEQhRSmyZiVDDj3crAth7+5tmN1ulvgKaCU2f/bPRCzg==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
"@types/json-schema" "^7.0.12"
"@types/semver" "^7.5.0"
- "@typescript-eslint/scope-manager" "6.7.2"
- "@typescript-eslint/types" "6.7.2"
- "@typescript-eslint/typescript-estree" "6.7.2"
+ "@typescript-eslint/scope-manager" "6.7.3"
+ "@typescript-eslint/types" "6.7.3"
+ "@typescript-eslint/typescript-estree" "6.7.3"
semver "^7.5.4"
"@typescript-eslint/visitor-keys@5.62.0":
@@ -2721,12 +2726,12 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
-"@typescript-eslint/visitor-keys@6.7.2":
- version "6.7.2"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz#4cb2bd786f1f459731b0ad1584c9f73e1c7a4d5c"
- integrity sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==
+"@typescript-eslint/visitor-keys@6.7.3":
+ version "6.7.3"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.3.tgz#83809631ca12909bd2083558d2f93f5747deebb2"
+ integrity sha512-HEVXkU9IB+nk9o63CeICMHxFWbHWr3E1mpilIQBe9+7L/lH97rleFLVtYsfnWB+JVMaiFnEaxvknvmIzX+CqVg==
dependencies:
- "@typescript-eslint/types" "6.7.2"
+ "@typescript-eslint/types" "6.7.3"
eslint-visitor-keys "^3.4.1"
"@webassemblyjs/ast@1.9.0":
From d80a819fc60b530042784cc3f20cd3041ee0a996 Mon Sep 17 00:00:00 2001
From: Claire
Date: Fri, 29 Sep 2023 15:51:36 +0200
Subject: [PATCH 27/73] Fix explore prompt appearing because of posts being
received out of order (#27211)
---
.../mastodon/features/home_timeline/index.jsx | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/app/javascript/mastodon/features/home_timeline/index.jsx b/app/javascript/mastodon/features/home_timeline/index.jsx
index 63d373b9a9..93f9376285 100644
--- a/app/javascript/mastodon/features/home_timeline/index.jsx
+++ b/app/javascript/mastodon/features/home_timeline/index.jsx
@@ -39,8 +39,17 @@ const getHomeFeedSpeed = createSelector([
], (statusIds, pendingStatusIds, statusMap) => {
const recentStatusIds = pendingStatusIds.size > 0 ? pendingStatusIds : statusIds;
const statuses = recentStatusIds.filter(id => id !== null).map(id => statusMap.get(id)).filter(status => status?.get('account') !== me).take(20);
- const oldest = new Date(statuses.getIn([statuses.size - 1, 'created_at'], 0));
- const newest = new Date(statuses.getIn([0, 'created_at'], 0));
+
+ if (statuses.isEmpty()) {
+ return {
+ gap: 0,
+ newest: new Date(0),
+ };
+ }
+
+ const datetimes = statuses.map(status => status.get('created_at', 0));
+ const oldest = new Date(datetimes.min());
+ const newest = new Date(datetimes.max());
const averageGap = (newest - oldest) / (1000 * (statuses.size + 1)); // Average gap between posts on first page in seconds
return {
From 829be02abe00783ffc82292592bc855670a14f44 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 2 Oct 2023 13:16:02 +0200
Subject: [PATCH 28/73] Update Node.js to v20.8 (#27240)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
Dockerfile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Dockerfile b/Dockerfile
index 4d397e3bdf..8e40091add 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1.4
# This needs to be bookworm-slim because the Ruby image is built on bookworm-slim
-ARG NODE_VERSION="20.7-bookworm-slim"
+ARG NODE_VERSION="20.8-bookworm-slim"
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.2-slim as ruby
FROM node:${NODE_VERSION} as build
From 73a92f9e7acdd5fda99549384c24c4038fe6bf83 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 2 Oct 2023 13:17:55 +0200
Subject: [PATCH 29/73] Update DefinitelyTyped types (non-major) (#27239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 19436669f3..5ff66346a0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2361,9 +2361,9 @@
integrity sha512-O397rnSS9iQI4OirieAtsDqvCj4+3eY1J+EPdNTKuHuRWIfUoGyzX294o8C4KJYaLqgSrd2o60c5EqCU8Zv02g==
"@types/prop-types@*", "@types/prop-types@^15.7.5":
- version "15.7.7"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.7.tgz#f9361f7b87fd5d8188b2c998db0a1f47e9fb391a"
- integrity sha512-FbtmBWCcSa2J4zL781Zf1p5YUBXQomPEcep9QZCfRfQgTxz3pJWiDFLebohZ9fFntX5ibzOkSsrJ0TEew8cAog==
+ version "15.7.8"
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.8.tgz#805eae6e8f41bd19e88917d2ea200dc992f405d3"
+ integrity sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==
"@types/punycode@^2.1.0":
version "2.1.0"
@@ -2381,9 +2381,9 @@
integrity sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==
"@types/range-parser@*":
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
- integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.5.tgz#38bd1733ae299620771bd414837ade2e57757498"
+ integrity sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==
"@types/react-dom@^18.0.0", "@types/react-dom@^18.2.4":
version "18.2.8"
@@ -2488,9 +2488,9 @@
"@types/react" "*"
"@types/react@*", "@types/react@16 || 17 || 18", "@types/react@>=16.9.11", "@types/react@^18.0.26", "@types/react@^18.2.7":
- version "18.2.23"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.23.tgz#60ad6cf4895e93bed858db0e03bcc4ff97d0410e"
- integrity sha512-qHLW6n1q2+7KyBEYnrZpcsAmU/iiCh9WGCKgXvMxx89+TYdJWRjZohVIo9XTcoLhfX3+/hP0Pbulu3bCZQ9PSA==
+ version "18.2.24"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.24.tgz#3c7d68c02e0205a472f04abe4a0c1df35d995c05"
+ integrity sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
From bad1629dcdf16797449ed2b60e600dd79c432d9e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 2 Oct 2023 13:18:06 +0200
Subject: [PATCH 30/73] Update dependency core-js to v3.33.0 (#27237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index 5ff66346a0..cf7e7448ed 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4350,9 +4350,9 @@ core-js@^2.5.0:
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.30.2:
- version "3.32.2"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.32.2.tgz#172fb5949ef468f93b4be7841af6ab1f21992db7"
- integrity sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ==
+ version "3.33.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.0.tgz#70366dbf737134761edb017990cf5ce6c6369c40"
+ integrity sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw==
core-util-is@~1.0.0:
version "1.0.3"
From c2f13769cde257f1b0dcfddfbc6d553741d4b68b Mon Sep 17 00:00:00 2001
From: Jake Anto <64896514+jake-anto@users.noreply.github.com>
Date: Mon, 2 Oct 2023 16:48:16 +0530
Subject: [PATCH 31/73] Add PWA shortcut to `/explore` page (#27235)
---
app/serializers/manifest_serializer.rb | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb
index 48f3aa7a6a..aa7f7ce5d8 100644
--- a/app/serializers/manifest_serializer.rb
+++ b/app/serializers/manifest_serializer.rb
@@ -84,6 +84,10 @@ class ManifestSerializer < ActiveModel::Serializer
name: 'Notifications',
url: '/notifications',
},
+ {
+ name: 'Explore',
+ url: '/explore',
+ },
]
end
end
From 5f2d494f0d072abc5360b170076d13b87aa150f5 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 2 Oct 2023 13:18:29 +0200
Subject: [PATCH 32/73] Update dependency react-redux to v8.1.3 (#27229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
yarn.lock | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index cf7e7448ed..4a14c22ce2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1096,14 +1096,14 @@
dependencies:
regenerator-runtime "^0.12.0"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
version "7.22.15"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8"
integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==
dependencies:
regenerator-runtime "^0.14.0"
-"@babel/runtime@^7.9.2":
+"@babel/runtime@^7.12.1", "@babel/runtime@^7.9.2":
version "7.23.1"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d"
integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==
@@ -10144,9 +10144,9 @@ react-redux-loading-bar@^5.0.4:
react-lifecycles-compat "^3.0.4"
react-redux@^8.0.4:
- version "8.1.2"
- resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.2.tgz#9076bbc6b60f746659ad6d51cb05de9c5e1e9188"
- integrity sha512-xJKYI189VwfsFc4CJvHqHlDrzyFTY/3vZACbE+rr/zQ34Xx1wQfB4OTOSeOSNrF6BDVe8OOdxIrAnMGXA3ggfw==
+ version "8.1.3"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.3.tgz#4fdc0462d0acb59af29a13c27ffef6f49ab4df46"
+ integrity sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==
dependencies:
"@babel/runtime" "^7.12.1"
"@types/hoist-non-react-statics" "^3.3.1"
From f68d5402711b81744b6660e750c68de421e863f1 Mon Sep 17 00:00:00 2001
From: Emelia Smith
Date: Mon, 2 Oct 2023 13:21:43 +0200
Subject: [PATCH 33/73] Fix websocket connections being incorrectly decremented
twice on errors (#27238)
---
streaming/index.js | 33 +++++++++++++++++++++------------
1 file changed, 21 insertions(+), 12 deletions(-)
diff --git a/streaming/index.js b/streaming/index.js
index 8015c6815a..3565ed2783 100644
--- a/streaming/index.js
+++ b/streaming/index.js
@@ -1386,19 +1386,21 @@ const startServer = async () => {
};
wss.on('connection', (ws, req) => {
- const location = url.parse(req.url, true);
+ // Note: url.parse could throw, which would terminate the connection, so we
+ // increment the connected clients metric straight away when we establish
+ // the connection, without waiting:
+ connectedClients.labels({ type: 'websocket' }).inc();
+ // Setup request properties:
req.requestId = uuid.v4();
req.remoteAddress = ws._socket.remoteAddress;
+ // Setup connection keep-alive state:
ws.isAlive = true;
-
ws.on('pong', () => {
ws.isAlive = true;
});
- connectedClients.labels({ type: 'websocket' }).inc();
-
/**
* @type {WebSocketSession}
*/
@@ -1408,27 +1410,31 @@ const startServer = async () => {
subscriptions: {},
};
- const onEnd = () => {
+ ws.on('close', function onWebsocketClose() {
const subscriptions = Object.keys(session.subscriptions);
subscriptions.forEach(channelIds => {
removeSubscription(session.subscriptions, channelIds.split(';'), req)
});
+ // Decrement the metrics for connected clients:
+ connectedClients.labels({ type: 'websocket' }).dec();
+
// ensure garbage collection:
session.socket = null;
session.request = null;
session.subscriptions = {};
+ });
- connectedClients.labels({ type: 'websocket' }).dec();
- };
-
- ws.on('close', onEnd);
- ws.on('error', onEnd);
+ // Note: immediately after the `error` event is emitted, the `close` event
+ // is emitted. As such, all we need to do is log the error here.
+ ws.on('error', (err) => {
+ log.error('websocket', err.toString());
+ });
ws.on('message', (data, isBinary) => {
if (isBinary) {
- log.warn('socket', 'Received binary data, closing connection');
+ log.warn('websocket', 'Received binary data, closing connection');
ws.close(1003, 'The mastodon streaming server does not support binary messages');
return;
}
@@ -1451,7 +1457,10 @@ const startServer = async () => {
subscribeWebsocketToSystemChannel(session);
- if (location.query.stream) {
+ // Parse the URL for the connection arguments (if supplied), url.parse can throw:
+ const location = req.url && url.parse(req.url, true);
+
+ if (location && location.query.stream) {
subscribeWebsocketToChannel(session, firstParam(location.query.stream), location.query);
}
});
From ee866ec0e008c3ea0b98093202f1866b7784499d Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 2 Oct 2023 13:35:29 +0200
Subject: [PATCH 34/73] New Crowdin Translations (automated) (#27220)
Co-authored-by: GitHub Actions
---
app/javascript/mastodon/locales/fa.json | 2 +-
app/javascript/mastodon/locales/fi.json | 24 ++--
app/javascript/mastodon/locales/fr-QC.json | 2 +-
app/javascript/mastodon/locales/ja.json | 16 +--
app/javascript/mastodon/locales/lv.json | 30 ++---
app/javascript/mastodon/locales/sk.json | 109 ++++++++++++-------
app/javascript/mastodon/locales/sr-Latn.json | 2 +-
app/javascript/mastodon/locales/sr.json | 2 +-
config/locales/doorkeeper.fa.yml | 2 +
config/locales/doorkeeper.fi.yml | 2 +-
config/locales/fi.yml | 34 +++---
config/locales/ja.yml | 4 +-
config/locales/simple_form.fi.yml | 6 +-
13 files changed, 132 insertions(+), 103 deletions(-)
diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json
index c1b067cff8..f4a2e09e73 100644
--- a/app/javascript/mastodon/locales/fa.json
+++ b/app/javascript/mastodon/locales/fa.json
@@ -338,7 +338,7 @@
"keyboard_shortcuts.column": "برای تمرکز روی یک فرسته در یکی از ستونها",
"keyboard_shortcuts.compose": "تمرکز روی محیط نوشتن",
"keyboard_shortcuts.description": "توضیح",
- "keyboard_shortcuts.direct": "باز کردن ستون اشارههای خصوصی",
+ "keyboard_shortcuts.direct": "برای گشودن ستون اشارههای خصوصی",
"keyboard_shortcuts.down": "پایین بردن در سیاهه",
"keyboard_shortcuts.enter": "گشودن فرسته",
"keyboard_shortcuts.favourite": "پسندیدن فرسته",
diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json
index 094b7d3b36..4c920b038f 100644
--- a/app/javascript/mastodon/locales/fi.json
+++ b/app/javascript/mastodon/locales/fi.json
@@ -206,7 +206,7 @@
"dismissable_banner.explore_tags": "Nämä sosiaalisen verkon aihetunnisteet keräävät tänään eniten huomiota. Useimman käyttäjän käyttämät aihetunnisteet nousevat listauksessa korkeimmalle.",
"dismissable_banner.public_timeline": "Nämä ovat viimeisimpiä julkaisuja sosiaalisen verkon käyttäjiltä, joita seurataan palvelimella {domain}.",
"embed.instructions": "Upota julkaisu verkkosivullesi kopioimalla alla oleva koodi.",
- "embed.preview": "Se tulee näyttämään tältä:",
+ "embed.preview": "Tältä se näyttää:",
"emoji_button.activity": "Aktiviteetit",
"emoji_button.clear": "Tyhjennä",
"emoji_button.custom": "Mukautetut",
@@ -226,7 +226,7 @@
"empty_column.account_timeline": "Ei viestejä täällä.",
"empty_column.account_unavailable": "Profiilia ei löydy",
"empty_column.blocks": "Et ole estänyt käyttäjiä.",
- "empty_column.bookmarked_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
+ "empty_column.bookmarked_statuses": "Et ole vielä lisännyt julkaisuja kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
"empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!",
"empty_column.direct": "Yksityisiä mainintoja ei vielä ole. Jos lähetät tai sinulle lähetetään sellaisia, näet ne täällä.",
"empty_column.domain_blocks": "Palveluita ei ole vielä estetty.",
@@ -314,17 +314,17 @@
"home.pending_critical_update.link": "Tutustu päivityssisältöihin",
"home.pending_critical_update.title": "Kriittinen tietoturvapäivitys saatavilla!",
"home.show_announcements": "Näytä tiedotteet",
- "interaction_modal.description.favourite": "Mastodon-tilillä voit lisätä julkaisun suosikkeihisi osoittaaksesi kirjoittajalle arvostavasi sitä ja tallentaaksesi sen tulevaa käyttöä varten.",
+ "interaction_modal.description.favourite": "Mastodon-tilillä voit lisätä tämän julkaisun suosikkeihisi osoittaaksesi kirjoittajalle arvostavasi sitä ja tallentaaksesi sen tulevaa käyttöä varten.",
"interaction_modal.description.follow": "Mastodon-tilillä voit seurata käyttäjää {name} saadaksesi hänen julkaisunsa kotisyötteeseesi.",
"interaction_modal.description.reblog": "Mastodon-tilillä voit tehostaa tätä julkaisua jakaaksesi sen seuraajiesi kanssa.",
"interaction_modal.description.reply": "Mastodon-tilillä voit vastata tähän julkaisuun.",
- "interaction_modal.login.action": "Palaa aloitussivulle",
- "interaction_modal.login.prompt": "Kotipalvelimesi verkkotunnus (kuten mastodon.social)",
+ "interaction_modal.login.action": "Siirry kotiin",
+ "interaction_modal.login.prompt": "Kotipalvelimesi verkkotunnus, kuten mastodon.social",
"interaction_modal.no_account_yet": "Etkö ole vielä Mastodonissa?",
"interaction_modal.on_another_server": "Toisella palvelimella",
"interaction_modal.on_this_server": "Tällä palvelimella",
"interaction_modal.sign_in": "Et ole kirjautunut tälle palvelimelle. Millä palvelimella tilisi sijaitsee?",
- "interaction_modal.sign_in_hint": "Vihje: Se on sama verkkosivusto, jossa loit tilisi. Jos et muista, etsi tervetulosähköpostia saapuneista viesteistäsi. Voit myös syöttää koko käyttäjätunnuksesi! (Esimerkki: @Mastodon@Mastodon.social)",
+ "interaction_modal.sign_in_hint": "Vihje: Se on sama verkkosivusto, jolle rekisteröidyit. Jos et muista, etsi tervetulosähköposti saapuneista viesteistäsi. Voit myös syöttää koko käyttäjätunnuksesi! (Esimerkki: @Mastodon@Mastodon.social)",
"interaction_modal.title.favourite": "Lisää käyttäjän {name} julkaisu suosikkeihin",
"interaction_modal.title.follow": "Seuraa käyttäjää {name}",
"interaction_modal.title.reblog": "Tehosta käyttäjän {name} julkaisua",
@@ -473,7 +473,7 @@
"onboarding.action.back": "Palaa takaisin",
"onboarding.actions.back": "Palaa takaisin",
"onboarding.actions.go_to_explore": "Siirry suosituimpien aiheiden syötteeseen",
- "onboarding.actions.go_to_home": "Siirry kotisyötteeseen",
+ "onboarding.actions.go_to_home": "Siirry kotisyötteeseeni",
"onboarding.compose.template": "Tervehdys #Mastodon!",
"onboarding.follows.empty": "Valitettavasti tuloksia ei voida näyttää juuri nyt. Voit kokeilla hakua tai selata tutustumissivua löytääksesi seurattavaa, tai yrittää myöhemmin uudelleen.",
"onboarding.follows.lead": "Kokoat oman kotisyötteesi itse. Mitä enemmän ihmisiä seuraat, sitä aktiivisempi ja kiinnostavampi syöte on. Nämä profiilit voivat olla alkuun hyvä lähtökohta — voit aina lopettaa niiden seuraamisen myöhemmin!",
@@ -618,10 +618,10 @@
"status.admin_domain": "Avaa palvelimen {domain} valvontanäkymä",
"status.admin_status": "Avaa julkaisu valvontanäkymässä",
"status.block": "Estä @{name}",
- "status.bookmark": "Tallenna kirjanmerkki",
+ "status.bookmark": "Lisää kirjanmerkki",
"status.cancel_reblog_private": "Peru tehostus",
"status.cannot_reblog": "Tätä julkaisua ei voi tehostaa",
- "status.copy": "Kopioi linkki julkaisuun",
+ "status.copy": "Kopioi julkaisun linkki",
"status.delete": "Poista",
"status.detailed_status": "Yksityiskohtainen keskustelunäkymä",
"status.direct": "Mainitse @{name} yksityisesti",
@@ -662,9 +662,9 @@
"status.share": "Jaa",
"status.show_filter_reason": "Näytä joka tapauksessa",
"status.show_less": "Näytä vähemmän",
- "status.show_less_all": "Näytä vähemmän kaikista",
+ "status.show_less_all": "Näytä kaikista vähemmän",
"status.show_more": "Näytä lisää",
- "status.show_more_all": "Näytä lisää kaikista",
+ "status.show_more_all": "Näytä kaikista enemmän",
"status.show_original": "Näytä alkuperäinen",
"status.title.with_attachments": "{user} liitti {attachmentCount, plural, one {{attachmentCount} tiedoston} other {{attachmentCount} tiedostoa}}",
"status.translate": "Käännä",
@@ -715,7 +715,7 @@
"upload_modal.preview_label": "Esikatselu ({ratio})",
"upload_progress.label": "Ladataan...",
"upload_progress.processing": "Käsitellään…",
- "username.taken": "Kyseinen käyttäjätunnus on jo käytössä. Kokeile eri tunnusta",
+ "username.taken": "Käyttäjätunnus on jo varattu. Kokeile toista",
"video.close": "Sulje video",
"video.download": "Lataa tiedosto",
"video.exit_fullscreen": "Poistu koko näytön tilasta",
diff --git a/app/javascript/mastodon/locales/fr-QC.json b/app/javascript/mastodon/locales/fr-QC.json
index 4da7477dca..16a18048b4 100644
--- a/app/javascript/mastodon/locales/fr-QC.json
+++ b/app/javascript/mastodon/locales/fr-QC.json
@@ -308,7 +308,7 @@
"home.column_settings.show_reblogs": "Afficher boosts",
"home.column_settings.show_replies": "Afficher réponses",
"home.explore_prompt.body": "Votre fil d'actualité aura un mélange de messages depuis les hashtags que vous avez choisi de suivre, les personnes que vous avez choisi de suivre, et les messages qu'ils boostent. Si ça vous semble trop calme à votre goût, n’hésitez pas à :",
- "home.explore_prompt.title": "C'est chez vous dans Mastadon.",
+ "home.explore_prompt.title": "C'est votre page d'accueil dans Mastodon.",
"home.hide_announcements": "Masquer les annonces",
"home.pending_critical_update.body": "Veuillez mettre à jour votre serveur Mastodon dès que possible !",
"home.pending_critical_update.link": "Voir les mises à jour",
diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json
index cfba6db93f..0bf0a96a27 100644
--- a/app/javascript/mastodon/locales/ja.json
+++ b/app/javascript/mastodon/locales/ja.json
@@ -1,13 +1,13 @@
{
"about.blocks": "制限中のサーバー",
"about.contact": "連絡先",
- "about.disclaimer": "Mastodonは自由なオープンソースソフトウェアでMastodon gGmbHの商標です。",
- "about.domain_blocks.no_reason_available": "制限理由",
- "about.domain_blocks.preamble": "Mastodonでは連合先のどのようなサーバーのユーザーとも交流できます。ただし次のサーバーには例外が設定されています。",
+ "about.disclaimer": "Mastodonは自由なオープンソースソフトウェアであり、Mastodon gGmbHの商標です。",
+ "about.domain_blocks.no_reason_available": "理由未記載",
+ "about.domain_blocks.preamble": "Mastodonでは原則的にあらゆるサーバー同士で交流したり、互いの投稿を読んだりできますが、当サーバーでは例外的に次のような制限を設けています。",
"about.domain_blocks.silenced.explanation": "このサーバーのプロフィールやコンテンツは、明示的に検索したり、フォローでオプトインしない限り、通常は表示されません。",
"about.domain_blocks.silenced.title": "制限",
"about.domain_blocks.suspended.explanation": "これらのサーバーからのデータは処理されず、保存や変換もされません。該当するユーザーとの交流もできません。",
- "about.domain_blocks.suspended.title": "停止済み",
+ "about.domain_blocks.suspended.title": "停止中",
"about.not_available": "この情報はこのサーバーでは利用できません。",
"about.powered_by": "{mastodon}による分散型ソーシャルメディア",
"about.rules": "サーバーのルール",
@@ -301,7 +301,7 @@
"hashtag.counter_by_uses_today": "今日{count, plural, other {{counter}件}}",
"hashtag.follow": "ハッシュタグをフォローする",
"hashtag.unfollow": "ハッシュタグのフォローを解除",
- "hashtags.and_other": "+{count, plural, other {#件}}",
+ "hashtags.and_other": "ほか{count, plural, other {#個}}",
"home.actions.go_to_explore": "話題をさがす",
"home.actions.go_to_suggestions": "フォローするユーザーを検索",
"home.column_settings.basic": "基本設定",
@@ -405,7 +405,7 @@
"navigation_bar.discover": "見つける",
"navigation_bar.domain_blocks": "ブロックしたドメイン",
"navigation_bar.edit_profile": "プロフィールを編集",
- "navigation_bar.explore": "エクスプローラー",
+ "navigation_bar.explore": "探索する",
"navigation_bar.favourites": "お気に入り",
"navigation_bar.filters": "フィルター設定",
"navigation_bar.follow_requests": "フォローリクエスト",
@@ -424,7 +424,7 @@
"not_signed_in_indicator.not_signed_in": "この機能を使うにはログインする必要があります。",
"notification.admin.report": "{name}さんが{target}さんを通報しました",
"notification.admin.sign_up": "{name}さんがサインアップしました",
- "notification.favourite": "{name}さんがあなたの投稿をお気に入りに追加しました。",
+ "notification.favourite": "{name}さんがお気に入りしました",
"notification.follow": "{name}さんにフォローされました",
"notification.follow_request": "{name}さんがあなたにフォローリクエストしました",
"notification.mention": "{name}さんがあなたに返信しました",
@@ -518,7 +518,7 @@
"privacy.public.long": "誰でも閲覧可",
"privacy.public.short": "公開",
"privacy.unlisted.long": "誰でも閲覧可、サイレント",
- "privacy.unlisted.short": "未収載",
+ "privacy.unlisted.short": "非収載",
"privacy_policy.last_updated": "{date}に更新",
"privacy_policy.title": "プライバシーポリシー",
"refresh": "更新",
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index d35418e185..3f2c74cbac 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -1,7 +1,7 @@
{
"about.blocks": "Moderētie serveri",
"about.contact": "Kontakts:",
- "about.disclaimer": "Mastodon ir bezmaksas atklātā pirmkoda programmatūra un Mastodon gGmbH preču zīme.",
+ "about.disclaimer": "Mastodon ir bezmaksas atvērtā koda programmatūra un Mastodon gGmbH preču zīme.",
"about.domain_blocks.no_reason_available": "Iemesls nav norādīts",
"about.domain_blocks.preamble": "Mastodon parasti ļauj apskatīt saturu un mijiedarboties ar lietotājiem no jebkura cita federācijas servera. Šie ir izņēmumi, kas veikti šajā konkrētajā serverī.",
"about.domain_blocks.silenced.explanation": "Parasti tu neredzēsi profilus un saturu no šī servera, ja vien tu nepārprotami izvēlēsies to pārskatīt vai sekot.",
@@ -9,11 +9,11 @@
"about.domain_blocks.suspended.explanation": "Nekādi dati no šī servera netiks apstrādāti, uzglabāti vai apmainīti, padarot neiespējamu mijiedarbību vai saziņu ar lietotājiem no šī servera.",
"about.domain_blocks.suspended.title": "Apturētie",
"about.not_available": "Šī informācija šajā serverī nav bijusi pieejama.",
- "about.powered_by": "Decentralizētu sociālo tīklu nodrošina {mastodon}",
+ "about.powered_by": "Decentralizēto sociālo tīklu nodrošina {mastodon}",
"about.rules": "Servera noteikumi",
"account.account_note_header": "Piezīme",
"account.add_or_remove_from_list": "Pievienot vai Noņemt no sarakstiem",
- "account.badges.bot": "Robots",
+ "account.badges.bot": "Automatizēts",
"account.badges.group": "Grupa",
"account.block": "Bloķēt @{name}",
"account.block_domain": "Bloķēt domēnu {domain}",
@@ -102,7 +102,7 @@
"bundle_modal_error.message": "Kaut kas nogāja greizi, ielādējot šo komponenti.",
"bundle_modal_error.retry": "Mēģināt vēlreiz",
"closed_registrations.other_server_instructions": "Tā kā Mastodon ir decentralizēts, tu vari izveidot kontu citā serverī un joprojām mijiedarboties ar šo.",
- "closed_registrations_modal.description": "Pašlaik nav iespējams izveidot kontu domēnā {domain}, taču ņem vērā, ka tev nav nepieciešams konts tieši domēnā {domain}, lai izmantotu Mastodon.",
+ "closed_registrations_modal.description": "Pašlaik nav iespējams izveidot kontu domēnā {domain}, taču ņem vērā, ka tev nav nepieciešams konts tieši {domain}, lai lietotu Mastodon.",
"closed_registrations_modal.find_another_server": "Atrast citu serveri",
"closed_registrations_modal.preamble": "Mastodon ir decentralizēts, tāpēc neatkarīgi no tā, kur tu izveido savu kontu, varēsi sekot līdzi un sazināties ar ikvienu šajā serverī. Tu pat vari vadīt to pats!",
"closed_registrations_modal.title": "Reģistrēšanās Mastodon",
@@ -113,7 +113,7 @@
"column.direct": "Privāti pieminēti",
"column.directory": "Pārlūkot profilus",
"column.domain_blocks": "Bloķētie domēni",
- "column.favourites": "Iecienīti",
+ "column.favourites": "Iecienītie",
"column.firehose": "Tiešraides plūsmas",
"column.follow_requests": "Sekošanas pieprasījumi",
"column.home": "Sākums",
@@ -151,7 +151,7 @@
"compose_form.poll.switch_to_multiple": "Mainīt aptaujas veidu, lai atļautu vairākas izvēles",
"compose_form.poll.switch_to_single": "Mainīt aptaujas veidu, lai atļautu vienu izvēli",
"compose_form.publish": "Publicēt",
- "compose_form.publish_form": "Publicēt",
+ "compose_form.publish_form": "Jauns ieraksts",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Saglabāt izmaiņas",
"compose_form.sensitive.hide": "{count, plural, one {Atzīmēt multividi kā sensitīvu} other {Atzīmēt multivides kā sensitīvas}}",
@@ -161,7 +161,7 @@
"compose_form.spoiler.unmarked": "Pievienot satura brīdinājumu",
"compose_form.spoiler_placeholder": "Ieraksti savu brīdinājumu šeit",
"confirmation_modal.cancel": "Atcelt",
- "confirmations.block.block_and_report": "Bloķēt un sūdzēties",
+ "confirmations.block.block_and_report": "Bloķēt un Ziņot",
"confirmations.block.confirm": "Bloķēt",
"confirmations.block.message": "Vai tiešām vēlies bloķēt {name}?",
"confirmations.cancel_follow_request.confirm": "Atsaukt pieprasījumu",
@@ -236,7 +236,7 @@
"empty_column.follow_requests": "Šobrīd tev nav sekošanas pieprasījumu. Kad kāds pieteiksies tev sekot, pieprasījums parādīsies šeit.",
"empty_column.followed_tags": "Tu vēl neesi sekojis nevienam tēmturim. Kad to izdarīsi, tie tiks parādīti šeit.",
"empty_column.hashtag": "Ar šo tēmturi nekas nav atrodams.",
- "empty_column.home": "Tava mājas laika līnija ir tukša! Lai to aizpildītu, pieseko vairāk cilvēkiem. {suggestions}",
+ "empty_column.home": "Tava mājas laikrinda ir tukša! Lai to aizpildītu, pieseko vairāk cilvēkiem.",
"empty_column.list": "Šis saraksts pašreiz ir tukšs. Kad šī saraksta dalībnieki publicēs jaunas ziņas, tās parādīsies šeit.",
"empty_column.lists": "Pašreiz tev nav neviena saraksta. Kad tādu izveidosi, tas parādīsies šeit.",
"empty_column.mutes": "Neviens lietotājs vēl nav apklusināts.",
@@ -244,7 +244,7 @@
"empty_column.public": "Šeit vēl nekā nav! Ieraksti ko publiski vai pieseko lietotājiem no citiem serveriem",
"error.unexpected_crash.explanation": "Koda kļūdas vai pārlūkprogrammas saderības problēmas dēļ šo lapu nevarēja parādīt pareizi.",
"error.unexpected_crash.explanation_addons": "Šo lapu nevarēja parādīt pareizi. Šo kļūdu, iespējams, izraisīja pārlūkprogrammas papildinājums vai automātiskās tulkošanas rīki.",
- "error.unexpected_crash.next_steps": "Mēģini atsvaidzināt lapu. Ja tas nepalīdz, iespējams, varēsi lietot Mastodon, izmantojot citu pārlūkprogrammu vai lietotni.",
+ "error.unexpected_crash.next_steps": "Mēģini atsvaidzināt lapu. Ja tas nepalīdz, vari lietot Mastodon, izmantojot citu pārlūkprogrammu vai lietotni.",
"error.unexpected_crash.next_steps_addons": "Mēģini tos atspējot un atsvaidzināt lapu. Ja tas nepalīdz, iespējams, varēsi lietot Mastodon, izmantojot citu pārlūkprogrammu vai lietotni.",
"errors.unexpected_crash.copy_stacktrace": "Kopēt stacktrace uz starpliktuvi",
"errors.unexpected_crash.report_issue": "Ziņot par problēmu",
@@ -476,23 +476,23 @@
"onboarding.actions.go_to_home": "Dodieties uz manu mājas plūsmu",
"onboarding.compose.template": "Sveiki, #Mastodon!",
"onboarding.follows.empty": "Diemžēl pašlaik nevar parādīt rezultātus. Vari mēģināt izmantot meklēšanu vai pārlūkot izpētes lapu, lai atrastu personas, kurām sekot, vai mēģināt vēlreiz vēlāk.",
- "onboarding.follows.lead": "Savu mājas plūsmu veido tu pats. Jo vairāk cilvēkiem tu sekosi, jo aktīvāk un interesantāk viss būs. Šie profili var būt labs sākumpunkts — vēlāk vienmēr varēsi pārstāt sekot!",
+ "onboarding.follows.lead": "Tava mājas plūsma ir galvenais veids, kā izbaudīt Mastodon. Jo vairāk cilvēku sekosi, jo aktīvāk un interesantāk tas būs. Lai sāktu, šeit ir daži ieteikumi:",
"onboarding.follows.title": "Populārs Mastodon",
"onboarding.share.lead": "Paziņo citiem, kā viņi tevi var atrast Mastodon!",
"onboarding.share.message": "Es esmu {username} #Mastodon! Nāc sekot man uz {url}",
"onboarding.share.next_steps": "Iespējamie nākamie soļi:",
"onboarding.share.title": "Kopīgo savu profilu",
- "onboarding.start.lead": "Tavs jaunais Mastodon konts ir gatavs lietošanai. Lūk, kā tu vari to pilnīgāk izmantot:",
- "onboarding.start.skip": "Vai vēlies izlaist tieši uz priekšu?",
+ "onboarding.start.lead": "Tagad tu esat daļa no Mastodon — unikālas, decentralizētas sociālo mediju platformas, kurā tu, nevis algoritms, veido savu pieredzi. Sāksim darbu šajā jaunajā sociālajā jomā:",
+ "onboarding.start.skip": "Nav nepieciešama palīdzība darba sākšanai?",
"onboarding.start.title": "Tev tas izdevās!",
"onboarding.steps.follow_people.body": "Tu pats veido savu plūsmu. Piepildīsim to ar interesantiem cilvēkiem.",
"onboarding.steps.follow_people.title": "Sekot {count, plural, one {one person} other {# cilvēkiem}}",
- "onboarding.steps.publish_status.body": "Sveicini pasauli.",
+ "onboarding.steps.publish_status.body": "Sveicini pasauli ar tekstu, fotoattēliem, video, vai aptaujām {emoji}",
"onboarding.steps.publish_status.title": "Izveido savu pirmo ziņu",
"onboarding.steps.setup_profile.body": "Citi, visticamāk, sazināsies ar tevi, izmantojot aizpildītu profilu.",
"onboarding.steps.setup_profile.title": "Pielāgo savu profilu",
"onboarding.steps.share_profile.body": "Paziņo saviem draugiem, kā tevi atrast Mastodon!",
- "onboarding.steps.share_profile.title": "Kopīgo savu profilu",
+ "onboarding.steps.share_profile.title": "Kopīgo savu Mastodon profilu",
"onboarding.tips.2fa": "Vai zināji? Tu vari aizsargāt savu kontu, konta iestatījumos iestatot divu faktoru autentifikāciju. Tas darbojas ar jebkuru tevis izvēlētu TOTP lietotni, nav nepieciešams tālruņa numurs!",
"onboarding.tips.accounts_from_other_servers": "Vai zināji? Tā kā Mastodon ir decentralizēts, daži profili, ar kuriem saskaraties, tiks mitināti citos, nevis tavos serveros. Un tomēr tu varat sazināties ar viņiem nevainojami! Viņu serveris atrodas viņu lietotājvārda otrajā pusē!",
"onboarding.tips.migration": "Vai zināji? Ja uzskati, ka {domain} nākotnē nav lieliska servera izvēle, vari pāriet uz citu Mastodon serveri, nezaudējot savus sekotājus. Tu pat vari mitināt savu personīgo serveri!",
@@ -518,7 +518,7 @@
"privacy.public.long": "Redzams visiem",
"privacy.public.short": "Publiska",
"privacy.unlisted.long": "Redzams visiem, bet izslēgts no satura atklāšanas funkcijām",
- "privacy.unlisted.short": "Nerindota",
+ "privacy.unlisted.short": "Neiekļautie",
"privacy_policy.last_updated": "Pēdējo reizi atjaunināta {date}",
"privacy_policy.title": "Privātuma politika",
"refresh": "Atsvaidzināt",
diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json
index bd1252b47f..da12eaa1b5 100644
--- a/app/javascript/mastodon/locales/sk.json
+++ b/app/javascript/mastodon/locales/sk.json
@@ -12,53 +12,53 @@
"about.powered_by": "Decentralizované sociálne médiá poháňané technológiou {mastodon}",
"about.rules": "Pravidlá servera",
"account.account_note_header": "Poznámka",
- "account.add_or_remove_from_list": "Pridaj do, alebo odober zo zoznamov",
+ "account.add_or_remove_from_list": "Pridaj alebo odober zo zoznamov",
"account.badges.bot": "Bot",
"account.badges.group": "Skupina",
"account.block": "Blokuj @{name}",
- "account.block_domain": "Ukry všetko z {domain}",
+ "account.block_domain": "Skry všetko z {domain}",
"account.block_short": "Blokuj",
"account.blocked": "Blokovaný/á",
"account.browse_more_on_origin_server": "Prehľadávaj viac na pôvodnom profile",
- "account.cancel_follow_request": "Stiahni žiadosť o nasledovanie",
- "account.direct": "Spomeň @{name} v súkromí",
- "account.disable_notifications": "Prestaň ma oboznamovať, keď má @{name} príspevky",
- "account.domain_blocked": "Doména ukrytá",
+ "account.cancel_follow_request": "Zruš žiadosť o sledovanie",
+ "account.direct": "Spomeň @{name} súkromne",
+ "account.disable_notifications": "Prestaň mi oznamovať, keď má @{name} príspevky",
+ "account.domain_blocked": "Doména skrytá",
"account.edit_profile": "Uprav profil",
- "account.enable_notifications": "Oboznamuj ma, keď má @{name} príspevky",
+ "account.enable_notifications": "Oznamuj mi, keď má @{name} príspevky",
"account.endorse": "Zobrazuj na profile",
"account.featured_tags.last_status_at": "Posledný príspevok dňa {date}",
"account.featured_tags.last_status_never": "Žiadne príspevky",
"account.featured_tags.title": "Odporúčané hashtagy používateľa {name}",
- "account.follow": "Nasleduj",
- "account.followers": "Nasledovatelia",
+ "account.follow": "Sleduj",
+ "account.followers": "Sledovatelia",
"account.followers.empty": "Tohto používateľa ešte nikto nenasleduje.",
- "account.followers_counter": "{count, plural, one {{counter} Sledujúci} few {{counter} Sledujúci} many {{counter} Sledujúci} other {{counter} Sledujúci}}",
- "account.following": "Nasledujem",
+ "account.followers_counter": "{count, plural, one {{counter} Sledujúci} few {{counter} Sledujúci} many {{counter} Sledujúcich} other {{counter} Sledujúcich}}",
+ "account.following": "Sledujem",
"account.following_counter": "{count, plural, one {{counter} Sledovaných} other {{counter} Sledujúcich}}",
- "account.follows.empty": "Tento používateľ ešte nikoho nenasleduje.",
- "account.follows_you": "Nasleduje ťa",
+ "account.follows.empty": "Tento používateľ ešte nikoho nesleduje.",
+ "account.follows_you": "Sleduje ťa",
"account.go_to_profile": "Prejdi na profil",
- "account.hide_reblogs": "Skry vyzdvihnutia od @{name}",
+ "account.hide_reblogs": "Skry zdieľania od @{name}",
"account.in_memoriam": "In Memoriam.",
"account.joined_short": "Pridal/a sa",
"account.languages": "Zmeniť odoberané jazyky",
"account.link_verified_on": "Vlastníctvo tohto odkazu bolo skontrolované {date}",
- "account.locked_info": "Stav súkromia pre tento účet je nastavený na zamknutý. Jeho vlastník sám prehodnocuje, kto ho môže sledovať.",
+ "account.locked_info": "Stav súkromia pre tento účet je nastavený na zamknutý. Jeho vlastník sa sám rozhoduje, kto ho môže sledovať.",
"account.media": "Médiá",
"account.mention": "Spomeň @{name}",
"account.moved_to": "{name} uvádza, že jeho/jej nový účet je teraz:",
- "account.mute": "Nevšímaj si @{name}",
- "account.mute_notifications_short": "Stíš oboznámenia",
- "account.mute_short": "Nevšímaj si",
- "account.muted": "Nevšímaný/á",
- "account.no_bio": "Nieje uvedený žiadny popis.",
+ "account.mute": "Stíš @{name}",
+ "account.mute_notifications_short": "Stíš oznámenia",
+ "account.mute_short": "Stíš",
+ "account.muted": "Stíšený",
+ "account.no_bio": "Nie je uvedený žiadny popis.",
"account.open_original_page": "Otvor pôvodnú stránku",
"account.posts": "Príspevky",
"account.posts_with_replies": "Príspevky a odpovede",
"account.report": "Nahlás @{name}",
"account.requested": "Čaká na schválenie. Klikni pre zrušenie žiadosti",
- "account.requested_follow": "{name} ťa žiada nasledovať",
+ "account.requested_follow": "{name} ti poslal žiadosť na sledovanie",
"account.share": "Zdieľaj @{name} profil",
"account.show_reblogs": "Ukáž vyzdvihnutia od @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}",
@@ -84,7 +84,7 @@
"alert.rate_limited.title": "Tempo obmedzené",
"alert.unexpected.message": "Vyskytla sa nečakaná chyba.",
"alert.unexpected.title": "Ups!",
- "announcement.announcement": "Oboznámenie",
+ "announcement.announcement": "Oznámenie",
"attachments_list.unprocessed": "(nespracované)",
"audio.hide": "Skry zvuk",
"autosuggest_hashtag.per_week": "{count} týždenne",
@@ -119,7 +119,7 @@
"column.home": "Domov",
"column.lists": "Zoznamy",
"column.mutes": "Nevšímaní užívatelia",
- "column.notifications": "Oboznámenia",
+ "column.notifications": "Oznámenia",
"column.pins": "Pripnuté príspevky",
"column.public": "Federovaná časová os",
"column_back_button.label": "Späť",
@@ -185,7 +185,7 @@
"confirmations.redraft.message": "Ste si istý, že chcete premazať a prepísať tento príspevok? Jeho nadobudnuté vyzdvihnutia a obľúbenia, ale i odpovede na pôvodný príspevok budú odlúčené.",
"confirmations.reply.confirm": "Odpovedz",
"confirmations.reply.message": "Odpovedaním akurát teraz prepíšeš správu, ktorú máš práve rozpísanú. Si si istý/á, že chceš pokračovať?",
- "confirmations.unfollow.confirm": "Nesleduj",
+ "confirmations.unfollow.confirm": "Prestaň sledovať",
"confirmations.unfollow.message": "Naozaj chceš prestať sledovať {name}?",
"conversation.delete": "Vymaž konverzáciu",
"conversation.mark_as_read": "Označ za prečítané",
@@ -223,7 +223,7 @@
"emoji_button.symbols": "Symboly",
"emoji_button.travel": "Cestovanie a miesta",
"empty_column.account_suspended": "Účet bol vylúčený",
- "empty_column.account_timeline": "Niesu tu žiadne príspevky!",
+ "empty_column.account_timeline": "Nie sú tu žiadne príspevky!",
"empty_column.account_unavailable": "Profil nedostupný",
"empty_column.blocks": "Ešte si nikoho nezablokoval/a.",
"empty_column.bookmarked_statuses": "Ešte nemáš žiadné záložky. Keď si pridáš príspevok k záložkám, zobrazí sa tu.",
@@ -296,19 +296,24 @@
"hashtag.column_settings.tag_mode.any": "Hociktorý z týchto",
"hashtag.column_settings.tag_mode.none": "Žiaden z týchto",
"hashtag.column_settings.tag_toggle": "Vlož dodatočné haštagy pre tento stĺpec",
- "hashtag.follow": "Nasleduj haštag",
+ "hashtag.counter_by_accounts": "{count, plural, one {{counter} sledujúci} few {{counter} sledujúci} many {{counter} sledujúcich} other {{counter} sledujúcich}}",
+ "hashtag.counter_by_uses": "{count, plural, one {{counter} príspevok} few {{counter} príspevky} many {{counter} príspevkov} other {{counter} príspevkov}}",
+ "hashtag.counter_by_uses_today": "{count, plural, one {{counter} príspevok} few {{counter} príspevky} many {{counter} príspevkov} other {{counter} príspevkov}} dnes",
+ "hashtag.follow": "Sleduj haštag",
"hashtag.unfollow": "Nesleduj haštag",
+ "hashtags.and_other": "…a {count, plural, one {} few {# ďalšie} many {# ďalších}other {# ďalších}}",
"home.actions.go_to_explore": "Pozrieť, čo je trendy",
"home.actions.go_to_suggestions": "Nájdi ľudí na sledovanie",
"home.column_settings.basic": "Základné",
"home.column_settings.show_reblogs": "Ukáž vyzdvihnuté",
"home.column_settings.show_replies": "Ukáž odpovede",
+ "home.explore_prompt.body": "Váš domovský informačný kanál bude obsahovať mix príspevkov z mriežok, ktoré ste sa rozhodli sledovať, ľudí, ktorých ste sa rozhodli sledovať, a príspevkov, ktoré preferujú. Ak sa vám to zdá príliš málo, možno budete chcieť:",
"home.explore_prompt.title": "Toto je tvoja domovina v rámci Mastodonu.",
- "home.hide_announcements": "Skry oboznámenia",
+ "home.hide_announcements": "Skry oznámenia",
"home.pending_critical_update.body": "Prosím aktualizuj si svoj Mastodon server, ako náhle to bude možné!",
"home.pending_critical_update.link": "Pozri aktualizácie",
"home.pending_critical_update.title": "Je dostupná kritická bezpečnostná aktualizácia!",
- "home.show_announcements": "Ukáž oboznámenia",
+ "home.show_announcements": "Ukáž oznámenia",
"interaction_modal.description.favourite": "S účtom na Mastodone si môžeš tento príspevok obľúbiť, aby si dal/a autorovi vedieť, že ho oceňuješ, a uložiť si ho na neskôr.",
"interaction_modal.description.follow": "Ak máte konto na Mastodone, môžete sledovať {name} a dostávať príspevky do svojho domovského kanála.",
"interaction_modal.description.reblog": "Ak máte účet na Mastodone, môžete tento príspevok posilniť a zdieľať ho s vlastnými sledovateľmi.",
@@ -319,6 +324,7 @@
"interaction_modal.on_another_server": "Na inom serveri",
"interaction_modal.on_this_server": "Na tomto serveri",
"interaction_modal.sign_in": "Nie si prihláseý/á na tomto serveri. Kde je tvoj účet hostovaný?",
+ "interaction_modal.sign_in_hint": "Tip: Toto je webová stránka, na ktorej ste sa zaregistrovali. Ak si nepamätáte, pohľadajte uvítací e-mail vo svojej schránke. Môžete tiež zadať svoje celé používateľské meno! (napr. @Mastodon@mastodon.social)",
"interaction_modal.title.favourite": "Obľúb si {name} ov/in príspevok",
"interaction_modal.title.follow": "Nasleduj {name}",
"interaction_modal.title.reblog": "Vyzdvihni {name}ov/in príspevok",
@@ -346,7 +352,7 @@
"keyboard_shortcuts.mention": "spomeň autora",
"keyboard_shortcuts.muted": "otvor zoznam stíšených užívateľov",
"keyboard_shortcuts.my_profile": "otvor svoj profil",
- "keyboard_shortcuts.notifications": "otvor panel oboznámení",
+ "keyboard_shortcuts.notifications": "Otvor panel oznámení",
"keyboard_shortcuts.open_media": "na otvorenie médií",
"keyboard_shortcuts.pinned": "otvor zoznam pripnutých príspevkov",
"keyboard_shortcuts.profile": "otvor autorov profil",
@@ -373,6 +379,7 @@
"lists.delete": "Vymaž list",
"lists.edit": "Uprav zoznam",
"lists.edit.submit": "Zmeň názov",
+ "lists.exclusive": "Skryť tieto príspevky z domovskej stránky",
"lists.new.create": "Pridaj zoznam",
"lists.new.title_placeholder": "Názov nového zoznamu",
"lists.replies_policy.followed": "Akýkoľvek nasledovaný užívateľ",
@@ -426,11 +433,11 @@
"notification.reblog": "{name} zdieľal/a tvoj príspevok",
"notification.status": "{name} práve uverejnil/a",
"notification.update": "{name} upravil/a príspevok",
- "notifications.clear": "Vyčisti oboznámenia",
- "notifications.clear_confirmation": "Naozaj chceš nenávratne prečistiť všetky tvoje oboznámenia?",
+ "notifications.clear": "Vyčisti oznámenia",
+ "notifications.clear_confirmation": "Naozaj chceš nenávratne odstrániť všetky tvoje oznámenia?",
"notifications.column_settings.admin.report": "Nové hlásenia:",
"notifications.column_settings.admin.sign_up": "Nové registrácie:",
- "notifications.column_settings.alert": "Oboznámenia na ploche",
+ "notifications.column_settings.alert": "Oznámenia na ploche",
"notifications.column_settings.favourite": "Obľúbené:",
"notifications.column_settings.filter_bar.advanced": "Zobraz všetky kategórie",
"notifications.column_settings.filter_bar.category": "Rýchle triedenie",
@@ -444,8 +451,8 @@
"notifications.column_settings.show": "Ukáž v stĺpci",
"notifications.column_settings.sound": "Prehraj zvuk",
"notifications.column_settings.status": "Nové príspevky:",
- "notifications.column_settings.unread_notifications.category": "Neprečítané oboznámenia",
- "notifications.column_settings.unread_notifications.highlight": "Zdôrazni neprečítané oboznámenia",
+ "notifications.column_settings.unread_notifications.category": "Neprečítané oznámenia",
+ "notifications.column_settings.unread_notifications.highlight": "Zdôrazni neprečítané oznámenia",
"notifications.column_settings.update": "Úpravy:",
"notifications.filter.all": "Všetky",
"notifications.filter.boosts": "Vyzdvihnutia",
@@ -455,12 +462,12 @@
"notifications.filter.polls": "Výsledky ankiet",
"notifications.filter.statuses": "Aktualizácie od ľudí, ktorých nasleduješ",
"notifications.grant_permission": "Udeľ povolenie.",
- "notifications.group": "{count} oboznámení",
- "notifications.mark_as_read": "Označ každé oboznámenie za prečítané",
- "notifications.permission_denied": "Oboznámenia na plochu sú nedostupné, kvôli predtým zamietnutej požiadavke prehliadača",
- "notifications.permission_denied_alert": "Oboznámenia na ploche nemôžu byť zapnuté, pretože požiadavka prehliadača o to, bola už skôr zamietnutá",
- "notifications.permission_required": "Oboznámenia na ploche sú nedostupné, pretože potrebné povolenia neboli udelené.",
- "notifications_permission_banner.enable": "Povoliť oboznámenia na plochu",
+ "notifications.group": "{count} Oznámení",
+ "notifications.mark_as_read": "Označ každé oznámenie za prečítané",
+ "notifications.permission_denied": "Oznámenia na ploche sú nedostupné, kvôli predtým zamietnutej požiadavke prehliadača",
+ "notifications.permission_denied_alert": "Oznámenia na ploche nemôžu byť zapnuté, pretože požiadavka prehliadača bola už skôr zamietnutá",
+ "notifications.permission_required": "Oznámenia na ploche sú nedostupné, pretože potrebné povolenia neboli udelené.",
+ "notifications_permission_banner.enable": "Povoliť oznámenia na ploche",
"notifications_permission_banner.how_to_control": "Ak chcete dostávať upozornenia, keď Mastodon nie je otvorený, povoľte upozornenia na ploche. Po ich zapnutí môžete presne kontrolovať, ktoré typy interakcií generujú upozornenia na ploche, a to prostredníctvom tlačidla {icon} vyššie.",
"notifications_permission_banner.title": "Nikdy nezmeškaj jedinú vec",
"onboarding.action.back": "Vziať ma späť",
@@ -468,6 +475,7 @@
"onboarding.actions.go_to_explore": "See what's trending",
"onboarding.actions.go_to_home": "Go to your home feed",
"onboarding.compose.template": "Nazdar #Mastodon!",
+ "onboarding.follows.empty": "Žiaľ, momentálne sa nedajú zobraziť žiadne výsledky. Môžete skúsiť použiť vyhľadávanie alebo navštíviť stránku objavovania a nájsť ľudí, ktorých chcete sledovať, alebo to skúste znova neskôr.",
"onboarding.follows.lead": "You curate your own home feed. The more people you follow, the more active and interesting it will be. These profiles may be a good starting point—you can always unfollow them later!",
"onboarding.follows.title": "Popular on Mastodon",
"onboarding.share.lead": "Daj ľudom vedieť, ako ťa môžu na Mastodone nájsť!",
@@ -476,6 +484,7 @@
"onboarding.share.title": "Zdieľaj svoj profil",
"onboarding.start.lead": "Your new Mastodon account is ready to go. Here's how you can make the most of it:",
"onboarding.start.skip": "Want to skip right ahead?",
+ "onboarding.start.title": "Zvládli ste to!",
"onboarding.steps.follow_people.body": "You curate your own feed. Lets fill it with interesting people.",
"onboarding.steps.follow_people.title": "Follow {count, plural, one {one person} other {# people}}",
"onboarding.steps.publish_status.body": "Say hello to the world.",
@@ -484,6 +493,12 @@
"onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
"onboarding.steps.share_profile.title": "Share your profile",
+ "onboarding.tips.2fa": "Vedeli ste? Svoj účet môžete zabezpečiť nastavením dvojfaktorového overenia v nastaveniach účtu. Funguje to s akoukoľvek aplikáciou TOTP podľa vášho výberu, nie je potrebné žiadne telefónne číslo!",
+ "onboarding.tips.accounts_from_other_servers": "Vedeli ste? Keďže Mastodon je decentralizovaný, niektoré profily, s ktorými sa stretnete, budú na iných serveroch, ako je váš. Aj napriek tomu s nimi môžete bezproblémovo komunikovať! Ich server je v druhej časti ich používateľského mena!",
+ "onboarding.tips.migration": "Vedeli ste? Ak máte pocit, že doména {domain} pre vás v budúcnosti nebude skvelou voľbou, môžete prejsť na iný server Mastodon bez straty svojich sledovateľov. Môžete dokonca hostovať svoj vlastný server!",
+ "onboarding.tips.verification": "Vedeli ste? Svoj účet môžete overiť umiestnením odkazu na svoj profil Mastodon na svoju vlastnú webovú lokalitu a pridaním webovej lokality do svojho profilu. Nie sú potrebné žiadne poplatky ani doklady!",
+ "password_confirmation.exceeds_maxlength": "Potvrdené heslo presahuje maximálnu dĺžku hesla",
+ "password_confirmation.mismatching": "Zadané heslá sa nezhodujú",
"picture_in_picture.restore": "Vrátiť späť",
"poll.closed": "Uzatvorená",
"poll.refresh": "Obnoviť",
@@ -542,6 +557,7 @@
"report.reasons.dislike": "Nepáči sa mi",
"report.reasons.dislike_description": "Nieje to niečo, čo chceš vidieť",
"report.reasons.legal": "Je to nelegálne",
+ "report.reasons.legal_description": "Domnievate sa, že porušuje zákony vašej krajiny alebo krajiny servera",
"report.reasons.other": "Je to niečo iné",
"report.reasons.other_description": "Tento problém nepatrí do iných kategórií",
"report.reasons.spam": "Je to spam",
@@ -559,6 +575,7 @@
"report.thanks.title": "Nechceš to vidieť?",
"report.thanks.title_actionable": "Vďaka za nahlásenie, pozrieme sa na to.",
"report.unfollow": "Nesleduj @{name}",
+ "report.unfollow_explanation": "Tento účet sledujete. Ak už nechcete vidieť jeho príspevky vo svojom domovskom kanáli, zrušte jeho sledovanie.",
"report_notification.attached_statuses": "{count, plural, one {# post} other {# posts}} attached",
"report_notification.categories.legal": "Právne ujednania",
"report_notification.categories.other": "Ostatné",
@@ -573,6 +590,8 @@
"search.quick_action.open_url": "Otvor URL v rámci Mastodonu",
"search.quick_action.status_search": "Príspevky zodpovedajúce {x}",
"search.search_or_paste": "Hľadaj, alebo vlož URL adresu",
+ "search_popout.full_text_search_disabled_message": "Nie je k dispozícii v doméne {domain}.",
+ "search_popout.language_code": "ISO kód jazyka",
"search_popout.options": "Možnosti vyhľadávania",
"search_popout.quick_actions": "Rýchle akcie",
"search_popout.recent": "Nedávne vyhľadávania",
@@ -585,14 +604,18 @@
"search_results.see_all": "Ukáž všetky",
"search_results.statuses": "Príspevky",
"search_results.title": "Hľadaj {q}",
+ "server_banner.about_active_users": "Ľudia používajúci tento server za posledných 30 dní (Aktívni používatelia za mesiac)",
"server_banner.active_users": "aktívni užívatelia",
"server_banner.administered_by": "Správcom je:",
+ "server_banner.introduction": "{domain} je súčasťou decentralizovanej sociálnej siete využívajúcej technológiu {mastodon}.",
"server_banner.learn_more": "Zisti viac",
"server_banner.server_stats": "Serverové štatistiky:",
"sign_in_banner.create_account": "Vytvor účet",
"sign_in_banner.sign_in": "Prihlás sa",
"sign_in_banner.sso_redirect": "Prihlás sa, alebo zaregistruj",
+ "sign_in_banner.text": "Prihláste sa, aby ste mohli sledovať profily alebo haštagy, obľúbené veci, zdieľať ich a odpovedať na príspevky. Môžete tiež komunikovať zo svojho účtu na inom serveri.",
"status.admin_account": "Otvor moderovacie rozhranie užívateľa @{name}",
+ "status.admin_domain": "Otvor rozhranie na moderovanie domény {domain}",
"status.admin_status": "Otvor tento príspevok v moderovacom rozhraní",
"status.block": "Blokuj @{name}",
"status.bookmark": "Záložka",
@@ -649,9 +672,11 @@
"status.uncached_media_warning": "Náhľad nie je k dispozícii",
"status.unmute_conversation": "Prestaň si nevšímať konverzáciu",
"status.unpin": "Odopni z profilu",
+ "subscribed_languages.lead": "Po zmene sa na vašej domovskej stránke a časovej osi zoznamu zobrazia iba príspevky vo vybraných jazykoch. Ak chcete dostávať príspevky vo všetkých jazykoch, vyberte možnosť žiadne.",
"subscribed_languages.save": "Ulož zmeny",
+ "subscribed_languages.target": "Zmeniť prihlásené jazyky pre {target}",
"tabs_bar.home": "Domov",
- "tabs_bar.notifications": "Oboznámenia",
+ "tabs_bar.notifications": "Oznámenia",
"time_remaining.days": "Ostáva {number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}",
"time_remaining.hours": "Ostáva {number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodiny}}",
"time_remaining.minutes": "Ostáva {number, plural, one {# minúta} few {# minút} many {# minút} other {# minúty}}",
@@ -680,6 +705,7 @@
"upload_form.video_description": "Popíš, pre ľudí so stratou sluchu, alebo očným znevýhodnením",
"upload_modal.analyzing_picture": "Analyzujem obrázok…",
"upload_modal.apply": "Použi",
+ "upload_modal.applying": "Nastavovanie…",
"upload_modal.choose_image": "Vyber obrázok",
"upload_modal.description_placeholder": "Rýchla hnedá líška skáče ponad lenivého psa",
"upload_modal.detect_text": "Rozpoznaj text z obrázka",
@@ -689,6 +715,7 @@
"upload_modal.preview_label": "Náhľad ({ratio})",
"upload_progress.label": "Nahráva sa...",
"upload_progress.processing": "Spracovávanie…",
+ "username.taken": "Používateľské meno je obsadené. Skúste iné",
"video.close": "Zavri video",
"video.download": "Stiahni súbor",
"video.exit_fullscreen": "Vypni zobrazenie na celú obrazovku",
diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json
index 9750784bbc..f64952f7b5 100644
--- a/app/javascript/mastodon/locales/sr-Latn.json
+++ b/app/javascript/mastodon/locales/sr-Latn.json
@@ -514,7 +514,7 @@
"privacy.direct.long": "Vidljivo samo pomenutim korisnicima",
"privacy.direct.short": "Samo pomenute osobe",
"privacy.private.long": "Vidljivo samo pratiocima",
- "privacy.private.short": "Samo pratiocima",
+ "privacy.private.short": "Samo pratioci",
"privacy.public.long": "Vidljivo za sve",
"privacy.public.short": "Javno",
"privacy.unlisted.long": "Vidljivo svima, ali isključeno iz funkcija otkrivanja",
diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json
index bb4739cbcc..130b28bc74 100644
--- a/app/javascript/mastodon/locales/sr.json
+++ b/app/javascript/mastodon/locales/sr.json
@@ -514,7 +514,7 @@
"privacy.direct.long": "Видљиво само поменутим корисницима",
"privacy.direct.short": "Само поменуте особе",
"privacy.private.long": "Видљиво само пратиоцима",
- "privacy.private.short": "Само пратиоцима",
+ "privacy.private.short": "Само пратиоци",
"privacy.public.long": "Видљиво за све",
"privacy.public.short": "Јавно",
"privacy.unlisted.long": "Видљиво свима, али искључено из функција откривања",
diff --git a/config/locales/doorkeeper.fa.yml b/config/locales/doorkeeper.fa.yml
index 085507f8bf..c56e76e346 100644
--- a/config/locales/doorkeeper.fa.yml
+++ b/config/locales/doorkeeper.fa.yml
@@ -149,6 +149,7 @@ fa:
scopes:
admin:read: خواندن تمام دادهها روی کارساز
admin:read:accounts: خواندن اطّلاعات حساس از همهٔ حسابها
+ admin:read:canonical_email_blocks: خواندن اطّلاعات حسّاس از همهٔ انسدادهای رایانامهٔ متعارف
admin:read:domain_allows: خواندن اطّلاعات حساس از همهٔ دامنه ها اجازه داده شد
admin:read:domain_blocks: خواندن اطّلاعات حساس از همهٔ دامنه های مسدودشده
admin:read:email_domain_blocks: خواندن اطّلاعات حساس از همهٔ دامنه های رایانامه های مسدودشده
@@ -156,6 +157,7 @@ fa:
admin:read:reports: خواندن اطّلاعات حساس از همهٔ گزارشها و حسابهای گزارششده
admin:write: تغییر تمام دادهها روی کارساز
admin:write:accounts: انجام کنش مدیریتی روی حسابها
+ admin:write:canonical_email_blocks: انجام کنشهای نظارتی روی همهٔ انسدادهای رایانامهٔ متعارف
admin:write:domain_allows: انجام کنش مدیریتی روی اجازههای دامنه
admin:write:domain_blocks: انجام کنش مدیریتی روی انسدادهای دامنه
admin:write:email_domain_blocks: انجام کنش مدیریتی روی انسدادهای دامنهٔ رایانامه
diff --git a/config/locales/doorkeeper.fi.yml b/config/locales/doorkeeper.fi.yml
index 8d030274e7..0f263b00d5 100644
--- a/config/locales/doorkeeper.fi.yml
+++ b/config/locales/doorkeeper.fi.yml
@@ -182,7 +182,7 @@ fi:
write: muokkaa kaikkia tilisi tietoja
write:accounts: muokkaa profiiliasi
write:blocks: estä tilejä ja verkkotunnuksia
- write:bookmarks: lisää julkaisuja kirjanmerkkeihisi
+ write:bookmarks: lisää julkaisuja kirjanmerkkeihin
write:conversations: mykistä ja poista keskusteluja
write:favourites: suosikkijulkaisut
write:filters: luo suodattimia
diff --git a/config/locales/fi.yml b/config/locales/fi.yml
index 466cb95a24..2043d327a1 100644
--- a/config/locales/fi.yml
+++ b/config/locales/fi.yml
@@ -1,7 +1,7 @@
---
fi:
about:
- about_mastodon_html: 'Tulevaisuuden sosiaalinen verkosto: Ei mainoksia, ei valvontaa, toteutettu avoimilla protokollilla ja hajautettu! Pidä tietosi ominasi Mastodonilla!'
+ about_mastodon_html: 'Tulevaisuuden sosiaalinen verkosto: ei mainoksia, ei valvontaa, toteutettu avoimilla protokollilla ja hajautettu rakenne! Pidä tietosi ominasi Mastodonin avulla!'
contact_missing: Ei asetettu
contact_unavailable: Ei saatavilla
hosted_on: Mastodon palvelimella %{domain}
@@ -262,8 +262,8 @@ fi:
disable_sign_in_token_auth_user_html: "%{name} poisti sähköpostitunnuksen %{target} todennuksen käytöstä"
disable_user_html: "%{name} poisti kirjautumisen käyttäjältä %{target}"
enable_custom_emoji_html: "%{name} otti käyttöön emojin %{target}"
- enable_sign_in_token_auth_user_html: "%{name} aktivoi sähköpostitunnuksen käyttäjälle %{target}"
- enable_user_html: "%{name} salli kirjautumisen käyttäjälle %{target}"
+ enable_sign_in_token_auth_user_html: "%{name} otti todennuksen sähköpostivaltuutuksella käyttöön käyttäjälle %{target}"
+ enable_user_html: "%{name} otti kirjautumisen käyttöön käyttäjälle %{target}"
memorialize_account_html: "%{name} muutti käyttäjän %{target} tilin muistosivuksi"
promote_user_html: "%{name} ylensi käyttäjän %{target}"
reject_appeal_html: "%{name} hylkäsi valvontapäätöksen valituksen käyttäjältä %{target}"
@@ -584,7 +584,7 @@ fi:
one: "%{count} ilmoitus"
other: "%{count} ilmoitusta"
action_log: Tarkastusloki
- action_taken_by: Toimenpiteen tekijä
+ action_taken_by: Toimen tehnyt
actions:
delete_description_html: Raportoidut julkaisut poistetaan ja kirjataan varoitus, joka auttaa suhtautumaan vakavammin saman tilin tuleviin rikkomuksiin.
mark_as_sensitive_description_html: Raportoitujen julkaisujen media merkitään arkaluonteiseksi ja kirjataan varoitus, joka auttaa suhtautumaan vakavammin saman tilin tuleviin rikkomuksiin.
@@ -673,7 +673,7 @@ fi:
moderation: Valvonta
special: Erikois
delete: Poista
- description_html: Käyttäjän roolit, voit muokata toimintoja ja alueita mitä sinun Mastodon käyttäjät voivat käyttää.
+ description_html: "Käyttäjärooleilla voit muokata, mihin toimintoihin ja alueisiin käyttäjäsi pääsevät käsiksi."
edit: Muokkaa "%{name}" roolia
everyone: Oletus käyttöoikeudet
everyone_full_description_html: Tämä on perusrooli joka vaikuttaa kaikkiin käyttäjiin, jopa ilman määrättyä roolia. Kaikki muut roolit perivät sen käyttöoikeudet.
@@ -945,11 +945,11 @@ fi:
webhooks:
add_new: Lisää päätepiste
delete: Poista
- description_html: "Webhook mahdollistaa Mastodonin työntää reaaliaikaisia ilmoituksia valituista tapahtumista omaan sovellukseesi, joten sovelluksesi voi laukaista automaattisesti reaktioita."
+ description_html: "Webhookin avulla Mastodon voi puskea sovellukseesi reaaliaikaisia ilmoituksia valituista tapahtumista, jotta sovelluksesi voi laukaista reaktioita automaattisesti."
disable: Poista käytöstä
- disabled: Ei käytössä
+ disabled: Pois käytöstä
edit: Muokkaa päätepistettä
- empty: Sinulla ei ole vielä määritetty webhook-päätepisteitä.
+ empty: Et ole vielä määrittänyt webhook-päätepisteitä.
enable: Ota käyttöön
enabled: Aktiivinen
enabled_events:
@@ -1150,7 +1150,7 @@ fi:
username_unavailable: Käyttäjänimesi ei tule saataville enää uudestaan
disputes:
strikes:
- action_taken: Toteutetut toimet
+ action_taken: Tehty toimi
appeal: Vetoomus
appeal_approved: Tähän valitukseen on haettu muutosta, eikä se ole enää voimassa
appeal_rejected: Valitus on hylätty
@@ -1389,13 +1389,13 @@ fi:
confirmation_html: Haluatko varmasti lopettaa Mastodonin sähköposti-ilmoitusten vastaanottamisen aiheesta %{type} palvelimelta %{domain} osoitteeseesi %{email}? Voit tilata ilmoitusviestejä milloin tahansa uudelleen sähköposti-ilmoitusten asetuksista.
emails:
notification_emails:
- favourite: sähköpostit ilmoituksille
- follow: seuraa sähköpostin ilmoituksia
- follow_request: seuraa pyyntöjä sähköpostiin
- mention: mainitse sähköpostin ilmoitukset
- reblog: tehosta sähköpostien ilmoituksia
+ favourite: sähköposti-ilmoituksia suosikkeihin lisäämisistä
+ follow: sähköposti-ilmoituksia seuraamisista
+ follow_request: sähköposti-ilmoituksia seuraamispyynnöistä
+ mention: sähköposti-ilmoituksia maininnoista
+ reblog: sähköposti-ilmoituksia tehostuksista
resubscribe_html: Jos olet perunut tilauksen erehdyksessä, voit tilata ilmoitusviestejä uudelleen sähköposti-ilmoitusten asetuksista.
- success_html: Sinulle ei vastedes lähetetä %{type} -aihepiirin Mastodon-sähköposti-ilmoituksia palvelimelta %{domain} osoitteeseen %{email}.
+ success_html: Sinulle ei enää lähetetä Mastodonin %{type} palvelimelta %{domain} osoitteeseen %{email}.
title: Lopeta tilaus
media_attachments:
validations:
@@ -1812,7 +1812,7 @@ fi:
suspend: Tili jäädytetty
welcome:
edit_profile_action: Määritä profiili
- edit_profile_step: Voit mukauttaa profiiliasi mm. profiilikuvalla ja uudella näyttönimellä. Voit myös valita haluatko tarkastaa ja hyväksyä uudet seuraajat itse.
+ edit_profile_step: Voit mukauttaa profiiliasi muun muassa profiilikuvalla ja uudella näyttönimellä. Voit myös valita, haluatko tarkastaa ja hyväksyä uudet seuraajat itse.
explanation: Näillä vinkeillä pääset alkuun
final_action: Ala julkaista
final_step: 'Ala julkaista! Vaikkei sinulla olisi seuraajia, voivat muut nähdä julkisia julkaisujasi esimerkiksi paikallisella aikajanalla tai aihetunnisteissa. Kannattaa myös esitellä itsensä aihetunnisteella #esittely.'
@@ -1847,7 +1847,7 @@ fi:
success: Suojausavaimesi poistaminen onnistui.
invalid_credential: Virheellinen suojausavain
nickname_hint: Anna uuden suojausaivaimesi lempinimi
- not_enabled: Et ole vielä ottanut käyttöön WebAuthn-ohjelmaa
+ not_enabled: Et ole vielä ottanut WebAuthn-ohjelmaa käyttöön
not_supported: Tämä selain ei tue suojausavaimia
otp_required: Jos haluat käyttää suojausavaimia, ota ensin kaksivaiheinen todennus käyttöön.
registered_on: Rekisteröity %{date}
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index b18405fb65..6a72c1ca14 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -770,12 +770,12 @@ ja:
critical_update: "※緊急 (速やかに適用してください)"
description: Mastodonサーバーはいつでも最新の状態を保ち、新しい機能や修正を利用できるようにしておくことをおすすめします。またセキュリティの問題が発生した場合は、速やかにMastodonをアップデートすることが大切です。Mastodonは30分おきにアップデートを確認し、通知設定に応じて新しいアップデートをメールで通知します。
documentation_link: もっと見る
- release_notes: 更新情報
+ release_notes: リリースノート
title: 利用可能なアップデート
type: アップデートの種別
types:
major: メジャーリリース
- minor: リリース
+ minor: マイナーリリース
patch: パッチ (バグ修正のみ)
version: バージョン
statuses:
diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml
index 1eec9a9317..1925ba77f3 100644
--- a/config/locales/simple_form.fi.yml
+++ b/config/locales/simple_form.fi.yml
@@ -3,7 +3,7 @@ fi:
simple_form:
hints:
account:
- discoverable: Julkisia viestejäsi ja profiiliasi voidaan pitää esillä tai suositella Mastodonin eri alueilla ja profiiliasi voidaan ehdottaa toisille käyttäjille.
+ discoverable: Julkisia julkaisujasi ja profiiliasi voidaan pitää esillä tai suositella Mastodonin eri alueilla ja profiiliasi voidaan ehdottaa toisille käyttäjille.
display_name: Koko nimesi tai lempinimesi.
fields: Kotisivusi, pronominit, ikä, mitä ikinä haluat.
indexable: Julkiset julkaisusi voivat näkyä hakutuloksissa Mastodonissa. Ihmiset, jotka ovat olleet vuorovaikutuksessa julkaisujesi kanssa, voivat etsiä niitä asetuksesta riippumatta.
@@ -49,7 +49,7 @@ fi:
header: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px
inbox_url: Kopioi URL-osoite haluamasi välittäjän etusivulta
irreversible: Suodatetut julkaisut katoavat lopullisesti, vaikka suodatin poistettaisiin myöhemmin
- locale: Käyttöliittymän, sähköpostien ja ilmoitusten kieli
+ locale: Käyttöliittymän, sähköpostien ja puskuilmoitusten kieli
password: Käytä vähintään 8 merkkiä
phrase: Täsmää riippumatta tekstin aakkoslajista tai julkaisun sisältövaroituksesta
scopes: Mihin sovellusliittymiin sovellus pääsee käsiksi. Jos valitset ylätason laajuuden, sinun ei tarvitse valita yksittäisiä.
@@ -136,7 +136,7 @@ fi:
position: Korkeampi rooli ratkaisee konfliktit tietyissä tilanteissa. Tiettyjä toimintoja voidaan suorittaa vain rooleille, joiden prioriteetti on pienempi
webhook:
events: Valitse lähetettävät tapahtumat
- template: Luo oma JSON-hyötykuorma käyttäen muuttujainterpolointia. Jättäessäsi kentän tyhjäksi, käytetään vakio-JSON-kuormaa.
+ template: Luo oma JSON-hyötykuorma käyttäen muuttujien interpolointia. Jätä kenttä tyhjäksi käyttääksesi vakio-JSON-kuormaa.
url: Mihin tapahtumat lähetetään
labels:
account:
From 1e2d4975cfcc064b3cf40760b2bb66b3a26e2a40 Mon Sep 17 00:00:00 2001
From: Claire
Date: Mon, 2 Oct 2023 16:20:04 +0200
Subject: [PATCH 35/73] Fix import progress not updating on certain failures
(#27247)
---
app/workers/import/row_worker.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/workers/import/row_worker.rb b/app/workers/import/row_worker.rb
index 09dd6ce736..c86900e6ad 100644
--- a/app/workers/import/row_worker.rb
+++ b/app/workers/import/row_worker.rb
@@ -8,7 +8,7 @@ class Import::RowWorker
sidekiq_retries_exhausted do |msg, _exception|
ActiveRecord::Base.connection_pool.with_connection do
# Increment the total number of processed items, and bump the state of the import if needed
- bulk_import_id = BulkImportRow.where(id: msg['args'][0]).pick(:id)
+ bulk_import_id = BulkImportRow.where(id: msg['args'][0]).pick(:bulk_import_id)
BulkImport.progress!(bulk_import_id) unless bulk_import_id.nil?
end
end
From 7e7d6e695b5b7ef8d8c10b1d9ac79375ca1b8209 Mon Sep 17 00:00:00 2001
From: Claire
Date: Mon, 2 Oct 2023 16:42:52 +0200
Subject: [PATCH 36/73] Fix incorrectly keeping outdated update notices absent
from the API endpoint (#27021)
---
app/services/software_update_check_service.rb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/services/software_update_check_service.rb b/app/services/software_update_check_service.rb
index 49b92f104d..c8ce1753f5 100644
--- a/app/services/software_update_check_service.rb
+++ b/app/services/software_update_check_service.rb
@@ -35,11 +35,13 @@ class SoftwareUpdateCheckService < BaseService
end
def process_update_notices!(update_notices)
- return if update_notices.blank? || update_notices['updatesAvailable'].blank?
+ return if update_notices.blank? || update_notices['updatesAvailable'].nil?
# Clear notices that are not listed by the update server anymore
SoftwareUpdate.where.not(version: update_notices['updatesAvailable'].pluck('version')).delete_all
+ return if update_notices['updatesAvailable'].blank?
+
# Check if any of the notices is new, and issue notifications
known_versions = SoftwareUpdate.where(version: update_notices['updatesAvailable'].pluck('version')).pluck(:version)
new_update_notices = update_notices['updatesAvailable'].filter { |notice| known_versions.exclude?(notice['version']) }
From 5e56f3db654bc48ce86361db346a278a975022e2 Mon Sep 17 00:00:00 2001
From: Claire
Date: Tue, 3 Oct 2023 10:09:00 +0200
Subject: [PATCH 37/73] Change some worker lock TTLs (#27246)
---
app/workers/account_deletion_worker.rb | 2 +-
.../activitypub/synchronize_featured_collection_worker.rb | 2 +-
.../activitypub/synchronize_featured_tags_collection_worker.rb | 2 +-
app/workers/activitypub/update_distribution_worker.rb | 2 +-
app/workers/admin/account_deletion_worker.rb | 2 +-
app/workers/admin/domain_purge_worker.rb | 2 +-
app/workers/publish_scheduled_status_worker.rb | 2 +-
app/workers/resolve_account_worker.rb | 2 +-
app/workers/scheduler/indexing_scheduler.rb | 2 +-
app/workers/scheduler/scheduled_statuses_scheduler.rb | 2 +-
app/workers/verify_account_links_worker.rb | 2 +-
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/app/workers/account_deletion_worker.rb b/app/workers/account_deletion_worker.rb
index b501511728..e4f943fbd1 100644
--- a/app/workers/account_deletion_worker.rb
+++ b/app/workers/account_deletion_worker.rb
@@ -3,7 +3,7 @@
class AccountDeletionWorker
include Sidekiq::Worker
- sidekiq_options queue: 'pull', lock: :until_executed
+ sidekiq_options queue: 'pull', lock: :until_executed, lock_ttl: 1.week.to_i
def perform(account_id, options = {})
account = Account.find(account_id)
diff --git a/app/workers/activitypub/synchronize_featured_collection_worker.rb b/app/workers/activitypub/synchronize_featured_collection_worker.rb
index f67d693cb3..7a187d7f53 100644
--- a/app/workers/activitypub/synchronize_featured_collection_worker.rb
+++ b/app/workers/activitypub/synchronize_featured_collection_worker.rb
@@ -3,7 +3,7 @@
class ActivityPub::SynchronizeFeaturedCollectionWorker
include Sidekiq::Worker
- sidekiq_options queue: 'pull', lock: :until_executed
+ sidekiq_options queue: 'pull', lock: :until_executed, lock_ttl: 1.day.to_i
def perform(account_id, options = {})
options = { note: true, hashtag: false }.deep_merge(options.deep_symbolize_keys)
diff --git a/app/workers/activitypub/synchronize_featured_tags_collection_worker.rb b/app/workers/activitypub/synchronize_featured_tags_collection_worker.rb
index 14af4f725c..570415c821 100644
--- a/app/workers/activitypub/synchronize_featured_tags_collection_worker.rb
+++ b/app/workers/activitypub/synchronize_featured_tags_collection_worker.rb
@@ -3,7 +3,7 @@
class ActivityPub::SynchronizeFeaturedTagsCollectionWorker
include Sidekiq::Worker
- sidekiq_options queue: 'pull', lock: :until_executed
+ sidekiq_options queue: 'pull', lock: :until_executed, lock_ttl: 1.day.to_i
def perform(account_id, url)
ActivityPub::FetchFeaturedTagsCollectionService.new.call(Account.find(account_id), url)
diff --git a/app/workers/activitypub/update_distribution_worker.rb b/app/workers/activitypub/update_distribution_worker.rb
index d0391bb6f6..a04ac621f3 100644
--- a/app/workers/activitypub/update_distribution_worker.rb
+++ b/app/workers/activitypub/update_distribution_worker.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class ActivityPub::UpdateDistributionWorker < ActivityPub::RawDistributionWorker
- sidekiq_options queue: 'push', lock: :until_executed
+ sidekiq_options queue: 'push', lock: :until_executed, lock_ttl: 1.day.to_i
# Distribute an profile update to servers that might have a copy
# of the account in question
diff --git a/app/workers/admin/account_deletion_worker.rb b/app/workers/admin/account_deletion_worker.rb
index 6e0eb331be..5dfdfb6e73 100644
--- a/app/workers/admin/account_deletion_worker.rb
+++ b/app/workers/admin/account_deletion_worker.rb
@@ -3,7 +3,7 @@
class Admin::AccountDeletionWorker
include Sidekiq::Worker
- sidekiq_options queue: 'pull', lock: :until_executed
+ sidekiq_options queue: 'pull', lock: :until_executed, lock_ttl: 1.week.to_i
def perform(account_id)
DeleteAccountService.new.call(Account.find(account_id), reserve_username: true, reserve_email: true)
diff --git a/app/workers/admin/domain_purge_worker.rb b/app/workers/admin/domain_purge_worker.rb
index 095232a6d7..6c5250b660 100644
--- a/app/workers/admin/domain_purge_worker.rb
+++ b/app/workers/admin/domain_purge_worker.rb
@@ -3,7 +3,7 @@
class Admin::DomainPurgeWorker
include Sidekiq::Worker
- sidekiq_options queue: 'pull', lock: :until_executed
+ sidekiq_options queue: 'pull', lock: :until_executed, lock_ttl: 1.week.to_i
def perform(domain)
PurgeDomainService.new.call(domain)
diff --git a/app/workers/publish_scheduled_status_worker.rb b/app/workers/publish_scheduled_status_worker.rb
index ce42f7be7c..aa5c4a834a 100644
--- a/app/workers/publish_scheduled_status_worker.rb
+++ b/app/workers/publish_scheduled_status_worker.rb
@@ -3,7 +3,7 @@
class PublishScheduledStatusWorker
include Sidekiq::Worker
- sidekiq_options lock: :until_executed
+ sidekiq_options lock: :until_executed, lock_ttl: 1.hour.to_i
def perform(scheduled_status_id)
scheduled_status = ScheduledStatus.find(scheduled_status_id)
diff --git a/app/workers/resolve_account_worker.rb b/app/workers/resolve_account_worker.rb
index 2b5be6d1b2..4ae2442af5 100644
--- a/app/workers/resolve_account_worker.rb
+++ b/app/workers/resolve_account_worker.rb
@@ -3,7 +3,7 @@
class ResolveAccountWorker
include Sidekiq::Worker
- sidekiq_options queue: 'pull', lock: :until_executed
+ sidekiq_options queue: 'pull', lock: :until_executed, lock_ttl: 1.day.to_i
def perform(uri)
ResolveAccountService.new.call(uri)
diff --git a/app/workers/scheduler/indexing_scheduler.rb b/app/workers/scheduler/indexing_scheduler.rb
index ff1b744442..5c985e25a0 100644
--- a/app/workers/scheduler/indexing_scheduler.rb
+++ b/app/workers/scheduler/indexing_scheduler.rb
@@ -5,7 +5,7 @@ class Scheduler::IndexingScheduler
include Redisable
include DatabaseHelper
- sidekiq_options retry: 0, lock: :until_executed, lock_ttl: 1.day.to_i
+ sidekiq_options retry: 0, lock: :until_executed, lock_ttl: 30.minutes.to_i
IMPORT_BATCH_SIZE = 1000
SCAN_BATCH_SIZE = 10 * IMPORT_BATCH_SIZE
diff --git a/app/workers/scheduler/scheduled_statuses_scheduler.rb b/app/workers/scheduler/scheduled_statuses_scheduler.rb
index b5801248f2..fe60d5524e 100644
--- a/app/workers/scheduler/scheduled_statuses_scheduler.rb
+++ b/app/workers/scheduler/scheduled_statuses_scheduler.rb
@@ -3,7 +3,7 @@
class Scheduler::ScheduledStatusesScheduler
include Sidekiq::Worker
- sidekiq_options retry: 0, lock: :until_executed, lock_ttl: 1.day.to_i
+ sidekiq_options retry: 0, lock: :until_executed, lock_ttl: 1.hour.to_i
def perform
publish_scheduled_statuses!
diff --git a/app/workers/verify_account_links_worker.rb b/app/workers/verify_account_links_worker.rb
index f606e6c26f..ad27f450b7 100644
--- a/app/workers/verify_account_links_worker.rb
+++ b/app/workers/verify_account_links_worker.rb
@@ -3,7 +3,7 @@
class VerifyAccountLinksWorker
include Sidekiq::Worker
- sidekiq_options queue: 'default', retry: false, lock: :until_executed
+ sidekiq_options queue: 'default', retry: false, lock: :until_executed, lock_ttl: 1.hour.to_i
def perform(account_id)
account = Account.find(account_id)
From e95d25e1013b6328457b81bd98e8d6a841d45ec2 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 3 Oct 2023 10:47:28 +0200
Subject: [PATCH 38/73] New Crowdin Translations (automated) (#27260)
Co-authored-by: GitHub Actions
---
app/javascript/mastodon/locales/lv.json | 6 ++--
app/javascript/mastodon/locales/si.json | 35 ++++++++++------------
app/javascript/mastodon/locales/zh-TW.json | 2 +-
config/locales/activerecord.hr.yml | 13 ++++++++
config/locales/hr.yml | 5 ++++
config/locales/simple_form.cy.yml | 5 ++++
6 files changed, 42 insertions(+), 24 deletions(-)
diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json
index 3f2c74cbac..aab7b9a8fb 100644
--- a/app/javascript/mastodon/locales/lv.json
+++ b/app/javascript/mastodon/locales/lv.json
@@ -1,7 +1,7 @@
{
"about.blocks": "Moderētie serveri",
"about.contact": "Kontakts:",
- "about.disclaimer": "Mastodon ir bezmaksas atvērtā koda programmatūra un Mastodon gGmbH preču zīme.",
+ "about.disclaimer": "Mastodon ir bezmaksas atklātā pirmkoda programmatūra un Mastodon gGmbH preču zīme.",
"about.domain_blocks.no_reason_available": "Iemesls nav norādīts",
"about.domain_blocks.preamble": "Mastodon parasti ļauj apskatīt saturu un mijiedarboties ar lietotājiem no jebkura cita federācijas servera. Šie ir izņēmumi, kas veikti šajā konkrētajā serverī.",
"about.domain_blocks.silenced.explanation": "Parasti tu neredzēsi profilus un saturu no šī servera, ja vien tu nepārprotami izvēlēsies to pārskatīt vai sekot.",
@@ -9,7 +9,7 @@
"about.domain_blocks.suspended.explanation": "Nekādi dati no šī servera netiks apstrādāti, uzglabāti vai apmainīti, padarot neiespējamu mijiedarbību vai saziņu ar lietotājiem no šī servera.",
"about.domain_blocks.suspended.title": "Apturētie",
"about.not_available": "Šī informācija šajā serverī nav bijusi pieejama.",
- "about.powered_by": "Decentralizēto sociālo tīklu nodrošina {mastodon}",
+ "about.powered_by": "Decentralizētu sociālo tīklu nodrošina {mastodon}",
"about.rules": "Servera noteikumi",
"account.account_note_header": "Piezīme",
"account.add_or_remove_from_list": "Pievienot vai Noņemt no sarakstiem",
@@ -26,7 +26,7 @@
"account.domain_blocked": "Domēns ir bloķēts",
"account.edit_profile": "Rediģēt profilu",
"account.enable_notifications": "Paziņot man, kad @{name} publicē ierakstu",
- "account.endorse": "Izcelt profilā",
+ "account.endorse": "Izcelts profilā",
"account.featured_tags.last_status_at": "Beidzamā ziņa {date}",
"account.featured_tags.last_status_never": "Ierakstu nav",
"account.featured_tags.title": "{name} izceltie tēmturi",
diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json
index 27c19adf8e..2c6979b018 100644
--- a/app/javascript/mastodon/locales/si.json
+++ b/app/javascript/mastodon/locales/si.json
@@ -100,7 +100,7 @@
"compose_form.poll.switch_to_multiple": "තේරීම් කිහිපයක් ඉඩ දීම සඳහා මත විමසුම වෙනස් කරන්න",
"compose_form.poll.switch_to_single": "තනි තේරීමකට ඉඩ දීම සඳහා මත විමසුම වෙනස් කරන්න",
"compose_form.publish": "ප්රකාශනය",
- "compose_form.publish_form": "Publish",
+ "compose_form.publish_form": "නව ලිපිය",
"compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "වෙනස්කම් සුරකින්න",
"compose_form.sensitive.hide": "{count, plural, one {මාධ්ය සංවේදී ලෙස සලකුණු කරන්න} other {මාධ්ය සංවේදී ලෙස සලකුණු කරන්න}}",
@@ -160,7 +160,7 @@
"emoji_button.symbols": "සංකේත",
"emoji_button.travel": "චාරිකා සහ ස්ථාන",
"empty_column.account_suspended": "ගිණුම අත්හිටුවා ඇත",
- "empty_column.account_timeline": "මෙහි දත් නැත!",
+ "empty_column.account_timeline": "මෙහි ලිපි නැත!",
"empty_column.account_unavailable": "පැතිකඩ නොතිබේ",
"empty_column.blocks": "කිසිදු පරිශීලකයෙකු අවහිර කර නැත.",
"empty_column.bookmarked_statuses": "ඔබට තවමත් පිටු සලකුණු කළ මෙවලම් කිසිවක් නොමැත. ඔබ එකක් පිටු සලකුණු කළ විට, එය මෙහි පෙන්වනු ඇත.",
@@ -240,7 +240,7 @@
"keyboard_shortcuts.start": "\"පටන් ගන්න\" තීරුව අරින්න",
"keyboard_shortcuts.toggle_hidden": "CW පිටුපස පෙළ පෙන්වීමට/සැඟවීමට",
"keyboard_shortcuts.toggle_sensitivity": "මාධ්ය පෙන්වන්න/සඟවන්න",
- "keyboard_shortcuts.toot": "අලුත්ම ටූට් එකක් පටන් ගන්න",
+ "keyboard_shortcuts.toot": "නව ලිපියක් අරඹන්න",
"keyboard_shortcuts.unfocus": "අවධානය යොමු නොකිරීමට textarea/search රචනා කරන්න",
"keyboard_shortcuts.up": "ලැයිස්තුවේ ඉහළට යාමට",
"lightbox.close": "වසන්න",
@@ -253,7 +253,7 @@
"lists.account.remove": "ලේඛනයෙන් ඉවතලන්න",
"lists.delete": "ලේඛනය මකන්න",
"lists.edit": "ලේඛනය සංස්කරණය",
- "lists.edit.submit": "මාතෘකාව වෙනස් කරන්න",
+ "lists.edit.submit": "සිරැසිය සංශෝධනය",
"lists.new.create": "ලැයිස්තුව එකතු කරන්න",
"lists.new.title_placeholder": "නව ලැයිස්තු මාතෘකාව",
"lists.replies_policy.followed": "අනුගමනය කරන ඕනෑම පරිශීලකයෙක්",
@@ -346,14 +346,10 @@
"onboarding.steps.setup_profile.title": "Customize your profile",
"onboarding.steps.share_profile.body": "Let your friends know how to find you on Mastodon!",
"onboarding.steps.share_profile.title": "Share your profile",
- "picture_in_picture.restore": "ආපහු දාන්න",
"poll.closed": "වසා ඇත",
"poll.refresh": "නැවුම් කරන්න",
- "poll.total_people": "{count, plural, one {# පුද්ගලයා} other {# මහජන}}",
- "poll.total_votes": "{count, plural, one {# ඡන්දය} other {ඡන්ද #}}",
"poll.vote": "ඡන්දය",
- "poll.voted": "ඔබ මෙම පිළිතුරට ඡන්දය දුන්නා",
- "poll.votes": "{votes, plural, one {# ඡන්දය} other {ඡන්ද #}}",
+ "poll.voted": "ඔබ මෙම උත්තරයට ඡන්දය දී ඇත",
"poll_button.add_poll": "මත විමසුමක් යොදන්න",
"poll_button.remove_poll": "මත විමසුම ඉවතලන්න",
"privacy.change": "ලිපියේ රහස්යතාව සංශෝධනය",
@@ -363,13 +359,10 @@
"privacy.private.short": "අනුගාමිකයින් පමණි",
"privacy.public.long": "සැමට දිස්වෙයි",
"privacy.public.short": "ප්රසිද්ධ",
- "privacy.unlisted.long": "සැමට දෘශ්යමාන, නමුත් සොයාගැනීමේ විශේෂාංග වලින් ඉවත් විය",
- "privacy.unlisted.short": "ලැයිස්තුගත නොකළ",
+ "privacy_policy.title": "රහස්යතා ප්රතිපත්තිය",
"refresh": "නැවුම් කරන්න",
"regeneration_indicator.label": "පූරණය වෙමින්…",
- "regeneration_indicator.sublabel": "ඔබේ නිවසේ පෝෂණය සූදානම් වෙමින් පවතී!",
"relative_time.days": "ද. {number}",
- "relative_time.full.days": "{number, plural, one {# දින} other {# දින}} පෙර",
"relative_time.full.hours": "{number, plural, one {පැය #} other {පැය #}} කට පෙර",
"relative_time.full.just_now": "මේ දැන්",
"relative_time.full.minutes": "{number, plural, one {විනාඩි #} other {විනාඩි #}} කට පෙර",
@@ -381,10 +374,9 @@
"relative_time.today": "අද",
"reply_indicator.cancel": "අවලංගු කරන්න",
"report.block": "අවහිර",
- "report.block_explanation": "ඔබට ඔවුන්ගේ පෝස්ට් නොපෙනේ. ඔවුන්ට ඔබේ පළ කිරීම් බැලීමට හෝ ඔබව අනුගමනය කිරීමට නොහැකි වනු ඇත. ඔවුන් අවහිර කර ඇති බව ඔවුන්ට පැවසිය හැකිය.",
"report.categories.other": "වෙනත්",
"report.categories.spam": "ආයාචිත",
- "report.categories.violation": "අන්තර්ගතය සේවාදායක නීති එකක් හෝ කිහිපයක් උල්ලංඝනය කරයි",
+ "report.categories.violation": "අන්තර්ගතය නිසා සේවාදායකයේ නීතියක් හෝ කිහිපයක් කඩ වේ",
"report.category.subtitle": "හොඳම ගැලපීම තෝරන්න",
"report.category.title": "මෙම {type}සමඟ සිදුවන්නේ කුමක්දැයි අපට කියන්න",
"report.category.title_account": "පැතිකඩ",
@@ -426,8 +418,12 @@
"search_results.all": "සියල්ල",
"search_results.hashtags": "හැෂ් ටැග්",
"search_results.nothing_found": "මෙම සෙවුම් පද සඳහා කිසිවක් සොයාගත නොහැකි විය",
+ "search_results.see_all": "සියල්ල බලන්න",
"search_results.statuses": "ලිපි",
- "sign_in_banner.sign_in": "Sign in",
+ "search_results.title": "{q} සොයන්න",
+ "server_banner.learn_more": "තව දැනගන්න",
+ "sign_in_banner.create_account": "ගිණුමක් සාදන්න",
+ "sign_in_banner.sign_in": "පිවිසෙන්න",
"status.admin_account": "@{name}සඳහා මධ්යස්ථ අතුරුමුහුණත විවෘත කරන්න",
"status.admin_status": "මධ්යස්ථ අතුරුමුහුණතෙහි මෙම තත්ත්වය විවෘත කරන්න",
"status.block": "@{name} අවහිර",
@@ -455,12 +451,11 @@
"status.read_more": "තව කියවන්න",
"status.reblog": "බූස්ට් කරන්න",
"status.reblog_private": "මුල් දෘශ්යතාව සමඟ වැඩි කරන්න",
- "status.reblogged_by": "{name} වැඩි කරන ලදී",
"status.reblogs.empty": "තාම කවුරුත් මේ toot එක boost කරලා නැහැ. යමෙකු එසේ කළ විට, ඔවුන් මෙහි පෙන්වනු ඇත.",
"status.redraft": "මකන්න සහ නැවත කෙටුම්පත",
"status.remove_bookmark": "පොත්යොමුව ඉවතලන්න",
"status.reply": "පිළිතුරු",
- "status.replyAll": "ත්රෙඩ් එකට පිළිතුරු දෙන්න",
+ "status.replyAll": "නූලට පිළිතුරු දෙන්න",
"status.report": "@{name} වාර්තාව",
"status.sensitive_warning": "සංවේදී අන්තර්ගතයකි",
"status.share": "බෙදාගන්න",
@@ -508,10 +503,10 @@
"upload_modal.description_placeholder": "කඩිසර දුඹුරු හිවලෙක් කම්මැලි බල්ලා මතින් පනී",
"upload_modal.detect_text": "රූපයෙහි පෙළ අනාවරණය",
"upload_modal.edit_media": "මාධ්ය සංස්කරණය",
- "upload_modal.hint": "සියලුම සිඟිති රූ මත සැම විටම දර්ශනය වන නාභි ලක්ෂ්යය තේරීමට පෙරදසුනෙහි රවුම ක්ලික් කරන්න හෝ අදින්න.",
- "upload_modal.preparing_ocr": "OCR…සූදානම් කරමින්",
+ "upload_modal.preparing_ocr": "OCR සඳහා සැරසෙමින්…",
"upload_modal.preview_label": "පෙරදසුන ({ratio})",
"upload_progress.label": "උඩුගත වෙමින්...",
+ "upload_progress.processing": "සැකසෙමින්…",
"video.close": "දෘශ්යකය වසන්න",
"video.download": "ගොනුව බාගන්න",
"video.exit_fullscreen": "පූර්ණ තිරයෙන් පිටවන්න",
diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json
index a6694b21df..8b5f7de2f3 100644
--- a/app/javascript/mastodon/locales/zh-TW.json
+++ b/app/javascript/mastodon/locales/zh-TW.json
@@ -373,7 +373,7 @@
"lightbox.previous": "上一步",
"limited_account_hint.action": "一律顯示個人檔案",
"limited_account_hint.title": "此個人檔案已被 {domain} 的管理員隱藏。",
- "link_preview.author": "按照 {name}",
+ "link_preview.author": "由 {name} 提供",
"lists.account.add": "新增至列表",
"lists.account.remove": "從列表中移除",
"lists.delete": "刪除列表",
diff --git a/config/locales/activerecord.hr.yml b/config/locales/activerecord.hr.yml
index 98ca8155fd..b095244dd6 100644
--- a/config/locales/activerecord.hr.yml
+++ b/config/locales/activerecord.hr.yml
@@ -5,3 +5,16 @@ hr:
poll:
expires_at: Krajnji rok
options: Opcije
+ user:
+ email: E-mail adresa
+ password: Lozinka
+ user/account:
+ username: Korisničko ime
+ user/invite_request:
+ text: Razlog
+ errors:
+ models:
+ account:
+ attributes:
+ username:
+ invalid: mora sadržavati samo slova, brojeve i _
diff --git a/config/locales/hr.yml b/config/locales/hr.yml
index d1e6728d42..aa7ee760ba 100644
--- a/config/locales/hr.yml
+++ b/config/locales/hr.yml
@@ -27,12 +27,17 @@ hr:
new_email: Nova e-pošta
submit: Promijeni e-poštu
title: Promjena e-pošte za %{username}
+ change_role:
+ changed_msg: Uloga uspješno dodijeljena!
+ label: Promjeni ulogu
confirm: Potvrdi
confirmed: Potvrđeno
confirming: Potvrđivanje
custom: Prilagođeno
delete: Izbriši podatke
deleted: Izbrisano
+ disable: Zamrzni
+ disable_two_factor_authentication: Onemogući 2FA
display_name: Prikazano ime
domain: Domena
edit: Uredi
diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml
index 70194a1e0c..ddc1b1b935 100644
--- a/config/locales/simple_form.cy.yml
+++ b/config/locales/simple_form.cy.yml
@@ -292,7 +292,11 @@ cy:
reblog: Mae rhywun wedi hybu eich postiad
report: Cyflwynwyd adroddiad newydd
software_updates:
+ all: Rhoi gwybod am bob ddiweddariad
+ critical: Rhoi gwybod am ddiweddariadau critigol yn unig
label: Mae fersiwn Mastodon newydd ar gael
+ none: Byth rhoi gwybod am ddiweddariadau (nid argymhellir)
+ patch: Rhoi gwybod am ddiweddariadau trwsio byg
trending_tag: Mae pwnc llosg newydd angen adolygiad
rule:
text: Rheol
@@ -319,6 +323,7 @@ cy:
url: URL diweddbwynt
'no': Na
not_recommended: Heb ei argymell
+ overridden: Wedi'i gwrth-wneud
recommended: Argymhellwyd
required:
mark: "*"
From 770fd993ecaf2f35ea08fc7ad7a22711417fe3e5 Mon Sep 17 00:00:00 2001
From: Jakob Gillich
Date: Tue, 3 Oct 2023 10:47:50 +0200
Subject: [PATCH 39/73] Fix importer returning negative row estimates (#27258)
---
app/lib/importer/base_importer.rb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/lib/importer/base_importer.rb b/app/lib/importer/base_importer.rb
index a21557d303..7688426b48 100644
--- a/app/lib/importer/base_importer.rb
+++ b/app/lib/importer/base_importer.rb
@@ -34,7 +34,9 @@ class Importer::BaseImporter
# Estimate the amount of documents that would be indexed. Not exact!
# @returns [Integer]
def estimate!
- ActiveRecord::Base.connection_pool.with_connection { |connection| connection.select_one("SELECT reltuples AS estimate FROM pg_class WHERE relname = '#{index.adapter.target.table_name}'")['estimate'].to_i }
+ reltuples = ActiveRecord::Base.connection_pool.with_connection { |connection| connection.select_one("SELECT reltuples FROM pg_class WHERE relname = '#{index.adapter.target.table_name}'")['reltuples'].to_i }
+ # If the table has never yet been vacuumed or analyzed, reltuples contains -1
+ [reltuples, 0].max
end
# Import data from the database into the index
From e836d078bba90f2ba70ad385756d98745331ad47 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 3 Oct 2023 10:48:05 +0200
Subject: [PATCH 40/73] Update dependency haml_lint to v0.51.0 (#27250)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
Gemfile.lock | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/Gemfile.lock b/Gemfile.lock
index 0535d4ee45..33dc8cb9b4 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -324,7 +324,7 @@ GEM
ruby-progressbar (~> 1.4)
globalid (1.1.0)
activesupport (>= 5.0)
- haml (6.1.2)
+ haml (6.2.0)
temple (>= 0.8.2)
thor
tilt
@@ -333,8 +333,8 @@ GEM
activesupport (>= 5.1)
haml (>= 4.0.6)
railties (>= 5.1)
- haml_lint (0.50.0)
- haml (>= 4.0, < 6.2)
+ haml_lint (0.51.0)
+ haml (>= 4.0)
parallel (~> 1.10)
rainbow
rubocop (>= 1.0)
@@ -747,7 +747,7 @@ GEM
climate_control (>= 0.0.3, < 1.0)
test-prof (1.2.3)
thor (1.2.2)
- tilt (2.2.0)
+ tilt (2.3.0)
timeout (0.4.0)
tpm-key_attestation (0.12.0)
bindata (~> 2.4)
@@ -773,7 +773,7 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
- unicode-display_width (2.4.2)
+ unicode-display_width (2.5.0)
uri (0.12.2)
validate_email (0.1.6)
activemodel (>= 3.0)
From ad637eacd1155c37e78615bdab6deb7c520dba56 Mon Sep 17 00:00:00 2001
From: jsgoldstein
Date: Tue, 3 Oct 2023 04:48:32 -0400
Subject: [PATCH 41/73] Add a test case for ES8 (#27248)
---
.github/workflows/test-ruby.yml | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml
index 343dc36ca1..0d0215bc06 100644
--- a/.github/workflows/test-ruby.yml
+++ b/.github/workflows/test-ruby.yml
@@ -282,8 +282,8 @@ jobs:
ports:
- 6379:6379
- elasticsearch:
- image: docker.elastic.co/elasticsearch/elasticsearch:7.17.13
+ search:
+ image: ${{ matrix.search-image }}
env:
discovery.type: single-node
xpack.security.enabled: false
@@ -313,6 +313,11 @@ jobs:
- '3.0'
- '3.1'
- '.ruby-version'
+ search-image:
+ - docker.elastic.co/elasticsearch/elasticsearch:7.17.13
+ include:
+ - ruby-version: '.ruby-version'
+ search-image: docker.elastic.co/elasticsearch/elasticsearch:8.10.2
steps:
- uses: actions/checkout@v4
From 6320c52630cb0e669f25b860c514b745a0b0bdf8 Mon Sep 17 00:00:00 2001
From: David Aaron <1858430+suddjian@users.noreply.github.com>
Date: Tue, 3 Oct 2023 02:48:57 -0700
Subject: [PATCH 42/73] Change min age of backup policy from 1 week to 6 days
(#27200)
---
app/policies/backup_policy.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/policies/backup_policy.rb b/app/policies/backup_policy.rb
index 0ef89a8d0c..86b8efbe96 100644
--- a/app/policies/backup_policy.rb
+++ b/app/policies/backup_policy.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class BackupPolicy < ApplicationPolicy
- MIN_AGE = 1.week
+ MIN_AGE = 6.days
def create?
user_signed_in? && current_user.backups.where('created_at >= ?', MIN_AGE.ago).count.zero?
From 5a437edc7f22d5797e5af29d9b450a03eccec304 Mon Sep 17 00:00:00 2001
From: Michael Stanclift
Date: Tue, 3 Oct 2023 04:52:21 -0500
Subject: [PATCH 43/73] Keep version string displayed without breakpoints in UI
(#26986)
---
.../mastodon/features/ui/components/link_footer.jsx | 2 +-
app/javascript/styles/mastodon/components.scss | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/app/javascript/mastodon/features/ui/components/link_footer.jsx b/app/javascript/mastodon/features/ui/components/link_footer.jsx
index 7aaa887ac6..9585df2ec4 100644
--- a/app/javascript/mastodon/features/ui/components/link_footer.jsx
+++ b/app/javascript/mastodon/features/ui/components/link_footer.jsx
@@ -100,7 +100,7 @@ class LinkFooter extends PureComponent {
{DividingCircle}
{DividingCircle}
- v{version}
+ v{version}
);
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index aac49a389b..2e305ed759 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -9009,6 +9009,10 @@ noscript {
color: $dark-text-color;
margin-bottom: 20px;
+ .version {
+ white-space: nowrap;
+ }
+
strong {
font-weight: 500;
}
From 4e55001e65a10fc672a2a0a9520023f936d64dc7 Mon Sep 17 00:00:00 2001
From: Claire
Date: Tue, 3 Oct 2023 12:21:32 +0200
Subject: [PATCH 44/73] Add a short-lived lock to trend refresh scheduler
(#27253)
---
app/workers/scheduler/trends/refresh_scheduler.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/workers/scheduler/trends/refresh_scheduler.rb b/app/workers/scheduler/trends/refresh_scheduler.rb
index b559ba46b4..85c000deea 100644
--- a/app/workers/scheduler/trends/refresh_scheduler.rb
+++ b/app/workers/scheduler/trends/refresh_scheduler.rb
@@ -3,7 +3,7 @@
class Scheduler::Trends::RefreshScheduler
include Sidekiq::Worker
- sidekiq_options retry: 0
+ sidekiq_options retry: 0, lock: :until_executed, lock_ttl: 30.minutes.to_i
def perform
Trends.refresh!
From ceb365c41950283f601058e38e779565eca43b31 Mon Sep 17 00:00:00 2001
From: Claire
Date: Tue, 3 Oct 2023 12:21:42 +0200
Subject: [PATCH 45/73] Fix boosts of local users being filtered in account
timelines (#27204)
---
app/lib/account_statuses_filter.rb | 6 +++++-
.../account_statuses_filter_spec.rb | 16 +++++++++++++++-
2 files changed, 20 insertions(+), 2 deletions(-)
rename spec/{models => lib}/account_statuses_filter_spec.rb (91%)
diff --git a/app/lib/account_statuses_filter.rb b/app/lib/account_statuses_filter.rb
index a5aca96601..b34ebb4777 100644
--- a/app/lib/account_statuses_filter.rb
+++ b/app/lib/account_statuses_filter.rb
@@ -60,8 +60,12 @@ class AccountStatusesFilter
.where(reblog_of_id: nil)
.or(
scope
+ # This is basically `Status.not_domain_blocked_by_account(current_account)`
+ # and `Status.not_excluded_by_account(current_account)` but on the
+ # `reblog` association. Unfortunately, there seem to be no clean way
+ # to re-use those scopes in our case.
+ .where(reblog: { accounts: { domain: nil } }).or(scope.where.not(reblog: { accounts: { domain: current_account.excluded_from_timeline_domains } }))
.where.not(reblog: { account_id: current_account.excluded_from_timeline_account_ids })
- .where.not(reblog: { accounts: { domain: current_account.excluded_from_timeline_domains } })
)
end
diff --git a/spec/models/account_statuses_filter_spec.rb b/spec/lib/account_statuses_filter_spec.rb
similarity index 91%
rename from spec/models/account_statuses_filter_spec.rb
rename to spec/lib/account_statuses_filter_spec.rb
index 0cf6453fe3..c821eb4bac 100644
--- a/spec/models/account_statuses_filter_spec.rb
+++ b/spec/lib/account_statuses_filter_spec.rb
@@ -202,7 +202,7 @@ RSpec.describe AccountStatusesFilter do
context 'when blocking a reblogged domain' do
let(:other_account) { Fabricate(:account, domain: 'example.com') }
let(:reblogging_status) { Fabricate(:status, account: other_account) }
- let(:reblog) { Fabricate(:status, account: account, visibility: 'public', reblog: reblogging_status) }
+ let!(:reblog) { Fabricate(:status, account: account, visibility: 'public', reblog: reblogging_status) }
before do
current_account.block_domain!(other_account.domain)
@@ -213,6 +213,20 @@ RSpec.describe AccountStatusesFilter do
end
end
+ context 'when blocking an unrelated domain' do
+ let(:other_account) { Fabricate(:account, domain: nil) }
+ let(:reblogging_status) { Fabricate(:status, account: other_account, visibility: 'public') }
+ let!(:reblog) { Fabricate(:status, account: account, visibility: 'public', reblog: reblogging_status) }
+
+ before do
+ current_account.block_domain!('example.com')
+ end
+
+ it 'returns the reblog from the non-blocked domain' do
+ expect(subject.results.pluck(:id)).to include(reblog.id)
+ end
+ end
+
context 'when muting a reblogged account' do
let(:reblog) { status_with_reblog!('public') }
From 37bbd3c1064380a756b4e821655d7697105f99f5 Mon Sep 17 00:00:00 2001
From: Claire
Date: Tue, 3 Oct 2023 13:12:39 +0200
Subject: [PATCH 46/73] Fix double scroll bars in some columns in advanced
interface (#27187)
---
app/javascript/mastodon/components/column.jsx | 6 --
.../mastodon/features/explore/index.jsx | 72 +++++++++----------
.../mastodon/features/explore/links.jsx | 2 +-
.../mastodon/features/explore/results.jsx | 2 +-
.../mastodon/features/explore/suggestions.jsx | 2 +-
.../mastodon/features/explore/tags.jsx | 2 +-
.../mastodon/features/firehose/index.jsx | 42 ++++++-----
.../styles/mastodon/components.scss | 3 +
8 files changed, 62 insertions(+), 69 deletions(-)
diff --git a/app/javascript/mastodon/components/column.jsx b/app/javascript/mastodon/components/column.jsx
index d737bd347c..cf9df3ba27 100644
--- a/app/javascript/mastodon/components/column.jsx
+++ b/app/javascript/mastodon/components/column.jsx
@@ -22,12 +22,6 @@ export default class Column extends PureComponent {
scrollable = document.scrollingElement;
} else {
scrollable = this.node.querySelector('.scrollable');
-
- // Some columns have nested `.scrollable` containers, with the outer one
- // being a wrapper while the actual scrollable content is deeper.
- if (scrollable.classList.contains('scrollable--flex')) {
- scrollable = scrollable?.querySelector('.scrollable') || scrollable;
- }
}
if (!scrollable) {
diff --git a/app/javascript/mastodon/features/explore/index.jsx b/app/javascript/mastodon/features/explore/index.jsx
index 1a66adc87c..fefdc23fab 100644
--- a/app/javascript/mastodon/features/explore/index.jsx
+++ b/app/javascript/mastodon/features/explore/index.jsx
@@ -67,47 +67,45 @@ class Explore extends PureComponent {
-